/*
Theme Name: Kodate Partners
Theme URI: https://kodatepartners.com
Author: Gianni Zanaria, Giovanni Polvani
Description: Tema a blocchi (Full Site Editing) per Kodate Partners — Management Consulting & Advisory. Interamente configurabile da Editor di sito e blocchi Gutenberg, con moduli specifici per la società.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kodate-partners
Tags: block-theme, full-site-editing, consulting, business
*/

/* Regole globali non esprimibili via theme.json */

ul.kp-marker-red li::marker {
  color: var(--wp--preset--color--brand-red);
}

.kp-eyebrow {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 600;
  color: var(--wp--preset--color--brand-red);
}

.kp-card {
  background: #fff;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--wp--custom--radius, 0.5rem);
  transition: border-color 0.2s ease;
}
.kp-card:hover {
  border-color: var(--wp--preset--color--brand-red);
}

.kp-number {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  color: var(--wp--preset--color--brand-red);
  line-height: 1;
}

.kp-badge-circle {
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  background: var(--wp--preset--color--brand-red);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-size: 1.5rem;
  flex-shrink: 0;
}

@media (max-width: 781px) {
  .kp-badge-circle { width: 3rem; height: 3rem; font-size: 1.1rem; }
}

/* Contact Form 7 — restyle coerente col brand */
.kp-cf7 {
  background: var(--wp--preset--color--secondary);
  border: 1px solid var(--wp--preset--color--border);
  border-radius: var(--wp--custom--radius, 0.5rem);
  padding: 2rem;
}
.kp-cf7-grid {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 600px) {
  .kp-cf7-grid { grid-template-columns: 1fr 1fr; }
}
.kp-cf7 label {
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1.25rem;
}
.kp-cf7 input[type="text"],
.kp-cf7 input[type="email"],
.kp-cf7 textarea {
  display: block;
  width: 100%;
  margin-top: 0.375rem;
  border-radius: 0.375rem;
  border: 1px solid var(--wp--preset--color--border);
  background: #fff;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-family: var(--wp--preset--font-family--sans);
}
.kp-cf7 input:focus,
.kp-cf7 textarea:focus {
  outline: 2px solid var(--wp--preset--color--brand-red);
  outline-offset: 1px;
}
.kp-cf7 input[type="submit"] {
  background: var(--wp--preset--color--brand-ink);
  color: #fff;
  border: none;
  border-radius: 0.375rem;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.kp-cf7 input[type="submit"]:hover { opacity: 0.9; }
.kp-cf7 .wpcf7-not-valid-tip { color: var(--wp--preset--color--brand-red); font-size: 0.8rem; margin-top: 0.25rem; }
.kp-cf7 .wpcf7-response-output { border-radius: 0.375rem; margin-top: 1rem; }

/* --------------------------------------------------------------
   FIX FORZATO larghezza piena (alignfull)
   Garantisce che qualunque blocco "a tutta larghezza" arrivi
   davvero ai bordi della finestra, indipendentemente da eventuali
   contenitori annidati che potrebbero limitarne la larghezza.
   -------------------------------------------------------------- */
body { overflow-x: hidden; }
.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Applica automaticamente il peso "Light" quando si sceglie una delle
   due famiglie "...Light" dal pannello Tipografia (Aspetto → Editor → Stili) */
[style*="--wp--preset--font-family--sans-light"],
[style*="--wp--preset--font-family--display-light"] {
  font-weight: 300;
}

/* Link nel footer: bianchi, senza sottolineatura (non ereditano il rosso globale) */
.kp-footer a,
footer.wp-block-group a {
  color: #ffffff !important;
  text-decoration: none;
}
.kp-footer a:hover,
footer.wp-block-group a:hover {
  color: #ffffffcc !important;
  text-decoration: underline;
}

/* Evidenzia in rosso la voce di menu della pagina corrente, nell'header */
.kp-header .current-menu-item > a,
.kp-header .current-menu-item a,
.kp-header a.current-menu-item,
.kp-header .current_page_item > a,
.kp-header .current_page_item a,
.kp-header a.current_page_item,
.kp-header .wp-block-navigation-item.current-menu-item > a {
  color: var(--wp--preset--color--brand-red) !important;
}

/* Fascia a piena larghezza: vedi regola .alignfull forzata più sotto nel file */
