/*
 * Theme Name:   Sunya Child — roxzone
 * Theme URI:    https://dadesign.it/themes/sunya-child
 * Description:  Child theme di Sunya per roxzonemedia.it. Stile Hyrox: nero + giallo acido, Oswald display uppercase / Inter corpo. I colori del brand sono dichiarati nel filtro sunya_brand_colors in functions.php, non qui.
 * Author:       Davide Arduini
 * Author URI:   https://dadesign.it
 * Template:     sunya
 * Version:      2.3.2
 * License:      GPL-2.0-or-later
 * License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain:  sunya-child
 * Tags:         custom
 * Requires at least: 6.0
 * Tested up to: 7.1
 * Requires PHP: 7.4
 *
 * NOTA SUL THEME NAME: dichiara il sito, non "Sunya Child" generico.
 * Tutti i child precedenti si chiamavano allo stesso modo ed erano
 * indistinguibili da FTP — caricare la cartella sbagliata ha rotto
 * roxzonemedia.it il 12/08/2026. Il nome per-sito toglie l'ambiguita'
 * anche nella schermata Aspetto > Temi.
 *
 * COSA STA QUI E COSA NO
 *   qui  -> tipografia, forme (radius, spaziature), blocchi specifici
 *           del sito, override di layout
 *   NON  -> colori del brand: stanno nel filtro in functions.php e il
 *           parent li deriva. Regola pratica: se scrivi un esadecimale
 *           in questo file, quasi sempre stai sbagliando posto.
 */


/* ==========================================================================
   1. FONT LOCALI — Oswald (display) + Inter (corpo)
   ========================================================================== */

@font-face {
    font-family: 'Oswald';
    src: url('fonts/Oswald-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Oswald';
    src: url('fonts/Oswald-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Oswald';
    src: url('fonts/Oswald-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('fonts/Inter-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


/* ==========================================================================
   2. TIPOGRAFIA — l'unico :root del child

   Solo token tipografici. I --sunya-color-* NON si dichiarano qui:
   arrivano dal filtro brand via PHP (vedi functions.php).
   ========================================================================== */

:root {
    --rxm-font-display: "Oswald", "Archivo", system-ui, sans-serif;
    --rxm-font-body:    "Inter", system-ui, -apple-system, sans-serif;

    --sunya-font-body:    var(--rxm-font-body);
    --sunya-font-heading: var(--rxm-font-display);
}

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.05;
}

/* Inter non ha italic ridistribuito: niente faux-italic (font-synthesis:
   none e' nel parent). La distinzione la fa il peso. */
em, i, cite, dfn, var,
blockquote cite {
    font-style: normal;
    font-weight: 500;
}

@media (max-width: 768px) {
    h1, .wp-block-heading.has-h-3-font-size { font-size: 2rem; }
    h2 { font-size: 1.6rem; }
}


/* ==========================================================================
   3. NAVIGAZIONE — solo forma

   v2.2.0: lo SCAMBIO per stato e' STATO RIMOSSO, non spostato. La nav
   ora resta chiara in tutti gli stati e si accende di giallo solo
   all'hover — e questo il parent >= 1.7.3 lo fa gia' da solo:

     sopra l'hero   -> #ffffff (header.css, blocco trasparente)
     scrolled       -> --sunya-header-color = text-on-dark
                       (Stile header = Scuro lo emette sulla .sunya-header)
     senza hero     -> --sunya-color-heading, che in Scuro e' text-on-dark
     hover / focus / voce corrente, in ogni stato -> --sunya-color-accent

   Tenere qui una coppia di regole avrebbe comprato solo #f4f4f4 al
   posto di #ffffff sopra l'hero, e avrebbe rotto la voce corrente:
   pesando (0,4,3) vinceva sulla regola current-menu-item del parent
   sopra l'hero (0,2,2) ma perdeva su quella dello stato scrolled
   (0,5,2) — voce attiva chiara ferma, gialla dopo lo scroll.

   Sparisce con esse anche il gate body.sunya-header-style-dark
   introdotto in v2.1.0: senza regole da vincolare non serve piu'.
   La body class resta nel parent, disponibile al primo child che
   dovra' davvero invertire l'inchiostro per superficie.

   Se un giorno si vuole l'inchiostro di brand (#f4f4f4) anche sopra
   l'hero, il posto giusto NON e' questo file: e' il #ffffff fisso in
   header.css del parent, ultimo residuo della bonifica v1.7.1.
   ========================================================================== */

.sunya-nav__menu > li > a {
    font-family: var(--rxm-font-display);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.03em;
}

/* Voce CTA nel menu → pill gialla squadrata */
.sunya-nav__menu > li.menu-button > a,
.sunya-nav__menu > li.sunya-nav__cta > a {
    background-color: var(--sunya-color-accent);
    color: var(--sunya-color-on-accent);
    border-radius: 0;
    padding: 0.5em 1.4em;
}


/* ==========================================================================
   4. BOTTONI — solo forma

   Colori e hover li dà il parent: on-accent sceglie l'inchiostro
   leggibile, e dalla v1.7.0 l'hover "conserva il lato" — con inchiostro
   scuro il giallo SCHIARISCE da solo. Sparita quindi la coppia di
   workaround della v1.1.2: --sunya-color-accent-hover forzato al giallo
   e filter: brightness(1.08). Tenerli oggi darebbe doppio schiarimento.
   ========================================================================== */

.sunya-btn,
.wp-block-button__link,
.wp-element-button {
    font-family: var(--rxm-font-display);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.05em;
    border-radius: 0;
    padding: 0.9em 2.2em;
    transition: transform 0.15s ease, background-color 0.15s ease;
}

.sunya-btn:hover,
.sunya-btn:focus,
.wp-block-button__link:hover,
.wp-element-button:hover {
    transform: translateY(-2px);
}

/* Variante outline: forma squadrata, colori dal parent (buttons.css) */
.sunya-btn--outline,
a.sunya-btn--outline,
.wp-block-button.is-style-outline .wp-block-button__link {
    border-radius: 0;
    border-width: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .sunya-btn,
    .wp-block-button__link,
    .wp-element-button { transition: none; }
}


/* ==========================================================================
   5. HERO — blocco .atlas-hero del plugin atlas-hero-slider

   Markup reale: il sito riusa .atlas-hero, NON .sunya-hero. Il blocco non
   eredita is-layout-constrained dal tema, quindi alignwide/full non
   ricevono larghezza in front-end: la diamo qui.

   Il fix colore del bottone hero della v1.1.2 (due !important per forzare
   ink scuro su fondo giallo) NON e' stato riportato: serviva perche' il
   link ereditava il giallo da theme.json finendo giallo-su-giallo, e ora
   on-accent risolve la stessa cosa a monte. Da confermare in verifica
   live; se ricomparisse, il problema e' il colore link ereditato, non il
   bottone.
   ========================================================================== */

.atlas-hero { --atlas-hero-overlay: 0.55; }

.atlas-hero__content {
    padding-inline: clamp(1.5rem, 6vw, 6rem);
    align-items: stretch;
    text-align: left;
}

.atlas-hero__content > .wp-block-group {
    width: 100%;
    max-width: var(--wp--style--global--wide-size, 1240px);
    margin-inline: auto;
    align-items: flex-start;
}

.atlas-hero__content :is(h1, h2, h3, p) { text-align: left; }
.atlas-hero__content .wp-block-buttons { justify-content: flex-start; }

.atlas-hero__content h1 {
    font-size: clamp(2.2rem, 5vw, 4.5rem);
    max-width: 22ch;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}

/* Page title "Home" sopra l'hero: nascosto, l'hero e' il vero header */
.home .sunya-page__header,
.page-id-162 .sunya-page__header {
    display: none;
}


/* ==========================================================================
   6. LISTE E UTILITY DI CONTENUTO

   La lista Servizi e' una ul.wp-block-list semplice dentro una colonna
   (niente classe dedicata nel markup): l'accento giallo a sinistra si
   applica per posizione. .rxm-list e .rxm-eyebrow restano come utility
   riutilizzabili sulle sezioni nuove.
   ========================================================================== */

.sunya-entry-content .wp-block-column .wp-block-list {
    list-style: none;
    padding-left: 0;
}

.sunya-entry-content .wp-block-column .wp-block-list li {
    border-left: 3px solid var(--sunya-color-accent);
    padding-left: 1rem;
    margin-block: 1rem;
}

.sunya-entry-content .wp-block-column .wp-block-list strong {
    font-family: var(--rxm-font-display);
    text-transform: uppercase;
}

/* Eyebrow: sopratitolo accentato */
.rxm-eyebrow {
    font-family: var(--rxm-font-display);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--sunya-color-accent);
    margin-bottom: 0.4rem;
    display: block;
}

/* Liste con accento a sinistra, applicabili ovunque */
.rxm-list .wp-block-list,
.rxm-list ul {
    list-style: none;
    padding-left: 0;
}

.rxm-list li {
    border-left: 3px solid var(--sunya-color-accent);
    padding-left: 1rem;
    margin-block: 1rem;
}


/* ==========================================================================
   7. FORM WPForms — RIMOSSO, passato al parent (v1.8.7)

   Questo blocco rincorreva i selettori del plugin, e due delle sue
   regole perdevano in silenzio: `.wpforms-container input[type="text"]`
   pesa (0,2,1), WPForms dichiara `div.wpforms-container-full
   input[type="text"]` a (0,2,2). I campi sembravano scuriti e restavano
   bianchi. Le etichette di radio, checkbox e GDPR non erano coperte
   affatto: 1.05 su carta scura, invisibili.

   Dal parent 1.8.7 c'e' `css/forms.css`, che mappa i token Sunya sulle
   VARIABILI del plugin invece che sui suoi selettori: vince senza
   !important, copre anche quello che qui mancava, e segue da solo il
   brand di questo child — i colori arrivano gia' dal filtro
   sunya_brand_colors.

   Sono spariti con esso i due !important che stavano qui.
   Se un giorno servisse un form diverso dagli altri su questo sito, il
   posto giusto e' ridefinire le variabili --wpforms-* in questo file,
   non riscrivere i selettori.

   Resta qui sotto la sola FORMA del pulsante di invio, che e' brand e
   non derivazione: squadrato e in maiuscolo come ogni altro pulsante
   del sito. I colori li da' il parent.
   ========================================================================== */

.wpforms-container {
    /* Il radius e' una variabile del plugin: si ridefinisce, non si
       sovrascrive con una regola piu' pesante. */
    --wpforms-button-border-radius: 0;
    --wpforms-field-border-radius: 0;
}

/* Tipografia del pulsante di invio.

   Qui il selettore e' inevitabile: WPForms non espone una variabile per
   il font, quindi e' l'unico punto di questo blocco che non passa dai
   token. Va pero' PESATO bene, ed e' la ragione della forma insolita.

   Il plugin dichiara `font-family: inherit` su
   `div.wpforms-container-full button[type="submit"]`, cioe' (0,2,2).
   La regola che stava qui prima — `.wpforms-container .wpforms-submit`,
   (0,2,0) — perdeva: verificato il 20/08 enumerando la CSSOM, il
   pulsante rendeva in Inter e non in Oswald. Difetto silenzioso mai
   notato, della stessa famiglia di quelli che il passaggio al parent ha
   appena chiuso.

   `.wpforms-container .wpforms-form button.wpforms-submit` pesa (0,3,1)
   e vince senza !important. */
.wpforms-container .wpforms-form button.wpforms-submit {
    font-family: var(--rxm-font-display);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 0.9em 2.5em;
}

