/*
Theme Name: SDT Theme
Theme URI: https://strumentideltempo.com
Author: Anthilla System
Author URI: https://anthilla.com
Description: Tema custom per Strumenti del Tempo — Maestro Orologiaio Marco Spoldi. Luxury horological services. Mobile-first, PHP puro.
Version: 1.4.1
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sdt-theme
Tags: watches, luxury, horological, custom-theme, mobile-first
*/

/* ==========================================================================
   STRUMENTI DEL TEMPO — Design System
   "L'arte della precisione"
   ========================================================================== */

/* --------------------------------------------------------------------------
   MOBILE-FIRST — Tutto è progettato per 320px+, poi scale up
   -------------------------------------------------------------------------- */

:root {
    /* Colori — ispirati all'alta orologeria
       Rolex navy, Omega blue, gold caldo, argento, madreperla */
    --c-midnight: #1A2744;
    --c-gold: #D4AF5A;
    --c-gold-dim: #BF9A3E;
    --c-deep: #1C2333;
    --c-ivory: #FAFAF7;
    --c-pearl: #F0EDE8;
    --c-warm: #4A4643;
    --c-text: #18171A;
    --c-copper: #C17D3A;
    --c-emerald: #1B7A4A;
    --c-bordeaux: #8B1A1A;
    --c-white: #fff;
    --c-silver: #C5C5C8;

    /* Tipografia */
    --f-body: var(--sdt-font-body, 'Inter', sans-serif);
    --f-heading: var(--sdt-font-heading, 'Playfair Display', serif);
    --f-accent: var(--sdt-font-accent, 'Cormorant Garamond', serif);
    --f-mono: 'JetBrains Mono', monospace;

    /* Scale tipografica — mobile-first */
    --fs-xs: .75rem;
    --fs-sm: .875rem;
    --fs-base: 1rem;
    --fs-md: 1.125rem;
    --fs-lg: 1.25rem;
    --fs-xl: 1.5rem;
    --fs-2xl: 1.875rem;
    --fs-3xl: 2.25rem;
    --fs-4xl: 3rem;
    --fs-5xl: 3.5rem;

    /* Spaziatura */
    --s-1: .25rem;
    --s-2: .5rem;
    --s-3: .75rem;
    --s-4: 1rem;
    --s-5: 1.25rem;
    --s-6: 1.5rem;
    --s-8: 2rem;
    --s-10: 2.5rem;
    --s-12: 3rem;
    --s-16: 4rem;
    --s-20: 5rem;
    --s-24: 6rem;

    --container: 1180px;
    --container-sm: 860px;
    --header-h: 72px;
    --t: .3s ease;
    --t-slow: .5s ease;
}

@media(min-width:768px) {
    :root {
        --fs-base: 1.05rem;
        --fs-lg: 1.35rem;
        --fs-xl: 1.75rem;
        --fs-2xl: 2.25rem;
        --fs-3xl: 2.75rem;
        --fs-4xl: 3.5rem;
        --fs-5xl: 4.25rem;
        --header-h: 80px;
    }
}

/* ==================== RESET ==================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--f-body);font-size:var(--fs-base);line-height:1.7;color:var(--c-text);background:var(--c-ivory);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
/* Link: gold scuro per contrasto su bianco, con profondità */
a{color:#9A7B2F;text-decoration:none;transition:color var(--t)}
a:hover{color:#7A6020;text-shadow:0 0 8px rgba(212,175,90,.15)}
ul,ol{list-style:none}
button,input,textarea,select{font:inherit}

/* ==================== TYPOGRAPHY ==================== */

h1,h2,h3,h4,h5,h6{font-family:var(--f-heading);font-weight:700;line-height:1.15;color:var(--c-midnight);margin-bottom:var(--s-4)}
h1{font-size:var(--fs-4xl)}
h2{font-size:var(--fs-3xl)}
h3{font-size:var(--fs-2xl)}
h4{font-size:var(--fs-xl)}
p{margin-bottom:var(--s-4)}

.label{
    font-family:var(--f-accent);
    font-size:var(--fs-md);
    font-style:italic;
    color:#8A6E28;
    letter-spacing:.03em;
    margin-bottom:var(--s-2);
}
/* Label su sfondo scuro: gold chiaro */
.sec--deep .label,.sec--midnight .label,.hero .label{color:var(--c-gold)}

.mono{font-family:var(--f-mono);font-size:var(--fs-sm);letter-spacing:.04em}

/* ==================== LAYOUT ==================== */

.wrap{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--s-6)}
.wrap-sm{max-width:var(--container-sm)}
.sec{padding:var(--s-16) 0}
@media(min-width:768px){.sec{padding:var(--s-24) 0}}

.sec--deep{background:var(--c-deep);color:var(--c-ivory)}
.sec--deep h2,.sec--deep h3,.sec--deep h4,.sec--deep .label{color:var(--c-ivory)}
.sec--deep .label{color:var(--c-gold)}

.sec--midnight{background:var(--c-midnight);color:var(--c-ivory)}
.sec--midnight h2,.sec--midnight h3{color:var(--c-ivory)}

.sec--pearl{background:var(--c-pearl);color:var(--c-text)}
.sec--ivory{background:var(--c-ivory);color:var(--c-text)}

/* Sezione bianca dopo page-header: linea gold sottile */
.page-header + .sec,
.page-header + section{
    border-top:1px solid rgba(212,175,90,.2);
}

.sec--gold{background:var(--c-gold);color:var(--c-deep)}
.sec--gold h2,.sec--gold h3,.sec--gold a{color:var(--c-deep)}

.text-center{text-align:center}

/* Section header — label + title + line */
.sec-header{text-align:center;margin-bottom:var(--s-12)}
.sec-header h2{position:relative;display:inline-block;padding-bottom:var(--s-4)}
.sec-header h2::after{
    content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
    width:48px;height:2px;background:var(--c-gold);
}

/* ==================== BUTTONS ==================== */

.btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:var(--s-4) var(--s-8);
    font-family:var(--f-body);font-size:var(--fs-sm);font-weight:600;
    text-transform:uppercase;letter-spacing:.12em;
    border:2px solid transparent;cursor:pointer;
    transition:all var(--t);min-width:160px;
}

/* Gold primario: sfondo gold scuro, testo bianco per massimo contrasto */
.btn--gold{
    background:linear-gradient(135deg,#9A7B2F,#B8943A,#9A7B2F);
    color:var(--c-white);border-color:#9A7B2F;
    text-shadow:0 1px 2px rgba(0,0,0,.2);
}
.btn--gold:hover{
    background:linear-gradient(135deg,#7A6020,#9A7B2F,#7A6020);
    color:var(--c-white);border-color:#7A6020;
    box-shadow:0 4px 16px rgba(154,123,47,.3);
    transform:translateY(-1px);
}

/* Outline: effetto vetro zaffiro */
.btn--outline{
    background: rgba(255,255,255,.12);
    color: #E8D5A3 !important;
    text-shadow: 0 1px 10px rgba(11,28,45,.26);
    border: 1px solid #C9A227;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.24),
        0 0 12px rgba(201,162,39,.18),
        0 0 24px rgba(201,162,39,.10),
        0 8px 20px rgba(11,28,45,.14);
    transition: all 0.3s ease;
}
.btn--outline:link,
.btn--outline:visited,
.btn--outline:active {
    color: #E8D5A3 !important;
}
.btn--outline:hover{
    background: rgba(255,255,255,.22);
    color: #F5E6B8 !important;
    border-color: #D4B030;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.36),
        0 0 16px rgba(201,162,39,.24),
        0 0 30px rgba(201,162,39,.14),
        0 12px 28px rgba(11,28,45,.18);
    transform:translateY(-2px);
}
/* Outline su sfondo scuro: bordo e testo gold chiaro */
.sec--deep .btn--outline,
.sec--midnight .btn--outline{
    color:var(--c-gold);border-color:var(--c-gold);
}
.sec--deep .btn--outline:hover,
.sec--midnight .btn--outline:hover{
    background:var(--c-gold);color:var(--c-deep);
    border-color:var(--c-gold);
}
/* Outline su sfondo chiaro (pearl/ocra) - alto contrasto */
.sec--pearl .btn--outline,
.sec--light .btn--outline{
    background: rgba(26,39,68,0.85);
    color: #F5E6B8 !important;
    border: 1px solid #9A7B2F;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    box-shadow: 0 2px 8px rgba(26,39,68,0.15);
}
.sec--pearl .btn--outline:hover,
.sec--light .btn--outline:hover{
    background: var(--c-midnight);
    color: #fff !important;
    border-color: #C9A227;
    box-shadow: 0 4px 16px rgba(26,39,68,0.25);
}

/* Ivory: bianco con testo scuro */
.btn--ivory{background:var(--c-white);color:var(--c-midnight);border-color:var(--c-white)}
.btn--ivory:hover{background:var(--c-midnight);color:var(--c-white);border-color:var(--c-midnight)}

/* Deep: scuro con testo bianco */
.btn--deep{background:var(--c-deep);color:var(--c-ivory);border-color:var(--c-deep)}
.btn--deep:hover{
    background:var(--c-midnight);color:var(--c-white);
    border-color:var(--c-midnight);
    box-shadow:0 4px 16px rgba(26,39,68,.2);
}

.btn-row{display:flex;gap:var(--s-4);justify-content:center;flex-wrap:wrap;margin-top:var(--s-8)}

/* ==================== HEADER ==================== */

.site-header{
    position:fixed;top:0;left:0;right:0;height:var(--header-h);
    background:rgba(13,17,23,0.08) !important;z-index:1000;
    transition:background var(--t),box-shadow var(--t);
}
.site-header.scrolled{
    background:rgba(28,35,51,.92);
    backdrop-filter:blur(12px) saturate(1.3);
    -webkit-backdrop-filter:blur(12px) saturate(1.3);
    box-shadow:0 1px 0 rgba(212,175,90,.08),0 4px 20px rgba(0,0,0,.25);
}

.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:100%}

.site-logo a{color:var(--c-ivory);text-decoration:none}
.logo-text{
    font-family:var(--f-heading);font-size:1.15rem;font-weight:700;
    color:var(--c-ivory);letter-spacing:.03em;white-space:nowrap;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 0 8px rgba(0,0,0,0.3);
}
@media(min-width:768px){.logo-text{font-size:1.25rem}}

.main-nav ul,.main-nav .nav-list{display:flex;gap:var(--s-6)}
.main-nav a{
    color:rgba(250,250,247,.92);font-size:var(--fs-sm);font-weight:500;
    text-transform:uppercase;letter-spacing:.06em;position:relative;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5), 0 0 8px rgba(0,0,0,0.3);
}
.main-nav a::after{
    content:'';position:absolute;bottom:-4px;left:0;width:0;height:1.5px;
    background:var(--c-gold);transition:width var(--t);
}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--c-ivory)}
.main-nav a:hover::after,.main-nav .current-menu-item>a::after{width:100%}

.header-cta{display:flex;align-items:center;gap:var(--s-4)}
.header-btn{padding:var(--s-3) var(--s-6);font-size:var(--fs-xs);min-width:auto}

/* Lang */
/* Language flags — SEMPRE visibili, grandi, accessibili */
.lang-flags{
    display:flex;align-items:center;gap:6px;
    list-style:none;margin:0;padding:0;
}
.lang-flags .lang-item{list-style:none;display:inline-flex}
.lang-flags .lang-item a{
    display:inline-flex;align-items:center;justify-content:center;
    opacity:.6;transition:all var(--t);
    padding:5px 7px;border-radius:3px;
    min-width:36px;min-height:36px;
}
.lang-flags .lang-item a:hover{opacity:1;background:rgba(250,250,247,.15)}
.lang-flags .lang-item.current-lang a{
    opacity:1;background:rgba(200,169,110,.18);
}
.lang-flags .lang-item img{
    width:26px!important;height:18px!important;object-fit:cover;
    border:1.5px solid rgba(250,250,247,.3);border-radius:2px;display:block;
}
.lang-flags .lang-item.current-lang img{border-color:var(--c-gold)}
.lang-flags .lang-item a:hover img{border-color:rgba(250,250,247,.8)}

/* Mobile nav */
.mobile-nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:var(--s-2)}
.mobile-nav-toggle span{display:block;width:22px;height:1.5px;background:var(--c-ivory);margin:5px 0;transition:all var(--t)}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(4px,5px)}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(4px,-5px)}

@media(max-width:991px){
    .mobile-nav-toggle{display:block}
    .header-btn{display:none}
    .header-cta{gap:var(--s-3)}
    .main-nav{
        position:fixed;top:var(--header-h);right:-280px;width:280px;bottom:0;
        background:var(--c-deep);padding:var(--s-8) var(--s-6);
        transition:right var(--t);overflow-y:auto;z-index:999;
    }
    .main-nav.is-open{right:0;box-shadow:-8px 0 30px rgba(0,0,0,.5)}
    .main-nav ul,.main-nav .nav-list{flex-direction:column;gap:var(--s-4)}
    .main-nav a{font-size:var(--fs-base);padding:var(--s-2) 0;display:block}
}

.nav-overlay{display:none;position:fixed;inset:0;background:rgba(13,17,23,.5);z-index:998}
.nav-overlay.is-visible{display:block}

/* ==================== HERO ==================== */

.hero{
    position:relative;min-height:100svh;
    display:flex;align-items:flex-end;justify-content:center;
    background-size:cover;background-position:center;
    padding-bottom:var(--s-16);
}
@media(min-width:768px){.hero{align-items:center;padding-bottom:0}}

.hero-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg,
        rgba(13,17,23,.3) 0%,
        rgba(27,42,74,.2) 30%,
        rgba(13,17,23,.75) 100%
    );
}

.hero-content{position:relative;z-index:2;text-align:center;padding:0 var(--s-6);max-width:780px}

.hero .label{
    font-size:var(--fs-sm);letter-spacing:.2em;text-transform:uppercase;
    color:var(--c-gold);font-style:normal;font-family:var(--f-body);font-weight:500;
}
@media(min-width:768px){.hero .label{font-size:var(--fs-base)}}

.hero-title{
    font-family:var(--f-heading);font-size:var(--fs-4xl);font-weight:700;
    color:var(--c-ivory);line-height:1.08;margin-bottom:var(--s-6);
}
@media(min-width:768px){.hero-title{font-size:var(--fs-5xl)}}

.hero-subtitle{
    font-family:var(--f-accent);font-size:var(--fs-lg);font-style:italic;
    color:rgba(250,250,247,.9);line-height:1.5;margin-bottom:var(--s-10);
}
@media(min-width:768px){.hero-subtitle{font-size:var(--fs-xl)}}

.hero .btn-row{margin-top:0}

@media(max-width:479px){
    .hero .btn-row{flex-direction:column;align-items:center}
    .hero .btn{width:100%}
}

/* ==================== PAGE HEADER (inner pages) ==================== */

.page-header{
    position:relative;padding:calc(var(--header-h) + var(--s-16)) 0 var(--s-12);
    background-size:cover;background-position:center;background-color:var(--c-midnight);
    text-align:center;
}
.page-header-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,17,23,.5),rgba(27,42,74,.75))}
.page-header-content{position:relative;z-index:2}
.page-header-title{font-size:var(--fs-3xl);color:var(--c-ivory);margin-bottom:var(--s-2)}
@media(min-width:768px){.page-header-title{font-size:var(--fs-4xl)}}
.page-header-subtitle{font-family:var(--f-accent);font-size:var(--fs-lg);font-style:italic;color:var(--c-gold)}
.breadcrumb{font-size:var(--fs-xs);color:rgba(250,250,247,.7);margin-top:var(--s-4)}
.breadcrumb a{color:rgba(250,250,247,.7)}.breadcrumb a:hover{color:var(--c-gold)}
.breadcrumb .separator{margin:0 var(--s-2);opacity:.4}

/* ==================== SERVICE CARDS ==================== */

.svc-grid{
    display:grid;grid-template-columns:1fr;gap:var(--s-6);
}
@media(min-width:640px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.svc-grid{grid-template-columns:repeat(3,1fr)}}

.svc-card{
    background:var(--c-white);padding:var(--s-8) var(--s-6);
    border-top:3px solid var(--c-pearl);
    transition:all var(--t);position:relative;overflow:hidden;
}
.svc-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--c-gold);transform:scaleX(0);transform-origin:left;
    transition:transform var(--t-slow);
}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(27,42,74,.12)}
.svc-card:hover::before{transform:scaleX(1)}

.svc-icon{width:48px;height:48px;margin-bottom:var(--s-6);color:#8A6E28}
.sec--deep .svc-icon,.sec--midnight .svc-icon{color:var(--c-gold)}
.svc-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.5;fill:none}
.svc-card:hover .svc-icon{color:var(--c-midnight)}

.svc-card h3{font-size:var(--fs-lg);margin-bottom:var(--s-3)}
.svc-card p{font-size:var(--fs-sm);color:var(--c-warm);line-height:1.65}
.svc-card .svc-link{
    display:inline-flex;align-items:center;gap:var(--s-2);margin-top:var(--s-4);
    font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;
    color:#7A6020;
}
.sec--deep .svc-card .svc-link,.sec--midnight .svc-card .svc-link{color:var(--c-gold)}
.svc-card .svc-link::after{content:'→';transition:transform var(--t)}
.svc-card:hover .svc-link::after{transform:translateX(4px)}

/* ==================== BRAND SHOWCASE ==================== */

.brands{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-8) var(--s-10);align-items:center}

.brand-item{
    font-family:var(--f-heading);font-size:var(--fs-md);
    color:rgba(250,250,247,.45);letter-spacing:.1em;
    text-transform:uppercase;transition:all .3s ease;cursor:default;
    white-space:nowrap;
    padding:var(--s-2) var(--s-4);
    border:1px solid transparent;border-radius:2px;
}
.brand-item:hover{
    color:var(--c-gold);
    border-color:rgba(212,175,90,.2);
    background:rgba(212,175,90,.06);
    text-shadow:0 0 12px rgba(212,175,90,.2);
}

@media(min-width:768px){.brand-item{font-size:var(--fs-lg)}}

/* ==================== PROCESS / METODO ==================== */

.process{display:grid;grid-template-columns:1fr;gap:var(--s-8);counter-reset:step}
@media(min-width:640px){.process{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.process{grid-template-columns:repeat(4,1fr);gap:var(--s-6)}}

.process-step{
    text-align:center;counter-increment:step;position:relative;
    background:var(--c-white);padding:var(--s-8) var(--s-6);
    border:1px solid rgba(26,39,68,.05);box-shadow:0 1px 4px rgba(0,0,0,.03);
}
.process-step::before{
    content:counter(step,decimal-leading-zero);
    display:flex;align-items:center;justify-content:center;
    width:52px;height:52px;margin:0 auto var(--s-4);
    font-family:var(--f-mono);font-size:var(--fs-xl);
    font-weight:700;color:var(--c-gold);
    border:2px solid rgba(212,175,90,.3);border-radius:50%;
    background:linear-gradient(135deg,rgba(212,175,90,.06),transparent);
    line-height:1;
}
.process-step h3{font-size:var(--fs-md);margin-bottom:var(--s-2)}
.process-step p{font-size:var(--fs-sm);color:var(--c-warm);line-height:1.6}

/* Connector line between steps (desktop) */
@media(min-width:1024px){
    .process-step:not(:last-child)::after{
        content:'';position:absolute;top:18px;right:-15%;width:30%;height:1px;
        background:linear-gradient(90deg,var(--c-gold),transparent);
    }
}

/* ==================== SHOWCASE / GALLERY ==================== */

.showcase{display:grid;grid-template-columns:1fr;gap:var(--s-4)}
@media(min-width:640px){.showcase{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.showcase{grid-template-columns:repeat(3,1fr)}}

.showcase-item{position:relative;overflow:hidden;aspect-ratio:4/3}
.showcase-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}
.showcase-item:hover img{transform:scale(1.06)}

.showcase-over{
    position:absolute;inset:0;
    background:linear-gradient(0deg,rgba(13,17,23,.85) 0%,transparent 55%);
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:var(--s-6);opacity:0;transition:opacity var(--t);
}
.showcase-item:hover .showcase-over{opacity:1}
.showcase-brand{font-size:var(--fs-xs);color:var(--c-gold);text-transform:uppercase;letter-spacing:.12em}
.showcase-title{font-family:var(--f-heading);font-size:var(--fs-lg);color:var(--c-ivory)}

/* ==================== COUNTERS ==================== */

.counters{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-4);text-align:center}
@media(min-width:768px){.counters{grid-template-columns:repeat(4,1fr);gap:var(--s-6)}}

.counter{
    padding:var(--s-8) var(--s-4);
    background:var(--c-white);
    border:1px solid rgba(26,39,68,.05);
    box-shadow:0 1px 4px rgba(0,0,0,.03);
    position:relative;
}
.counter::after{
    content:'';position:absolute;bottom:0;left:20%;right:20%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(212,175,90,.3),transparent);
}
.counter-num{
    font-family:var(--f-mono);font-size:var(--fs-4xl);font-weight:700;
    color:var(--c-gold);line-height:1;letter-spacing:-.02em;
}
.counter-suffix{font-family:var(--f-mono);font-size:var(--fs-xl);color:var(--c-gold)}
.counter-label{
    font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;
    color:var(--c-text);margin-top:var(--s-2);
    opacity:.7;
}

/* ==================== TESTIMONIALS ==================== */

.testimonial-wrap{max-width:720px;margin:0 auto;text-align:center;padding:var(--s-8) 0}

.testi-quote{
    font-family:var(--f-accent);font-size:var(--fs-2xl);font-style:italic;
    color:var(--c-midnight);line-height:1.45;margin-bottom:var(--s-6);
    position:relative;
}
@media(min-width:768px){.testi-quote{font-size:var(--fs-3xl)}}

.testi-quote::before{
    content:'\201C';position:absolute;top:-.5em;left:50%;transform:translateX(-50%);
    font-size:6rem;color:var(--c-gold);opacity:.15;line-height:1;font-style:normal;
}

.testi-author{font-weight:600;color:var(--c-midnight);font-size:var(--fs-base)}
.testi-detail{font-size:var(--fs-sm);color:var(--c-gold);text-transform:uppercase;letter-spacing:.06em}

/* ==================== CONTACT / FORM ==================== */

.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--s-12)}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1.4fr}}

.contact-item{margin-bottom:var(--s-6)}
.contact-lbl{font-size:var(--fs-xs);color:var(--c-warm);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--s-1)}
.contact-val{font-size:var(--fs-base);font-weight:500;color:var(--c-midnight)}
.contact-val a{color:var(--c-midnight)}.contact-val a:hover{color:var(--c-gold)}

.form-group{margin-bottom:var(--s-5)}
.form-label{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--c-midnight);margin-bottom:var(--s-2)}
.form-input,.form-textarea,.form-select{
    width:100%;padding:var(--s-4);border:1px solid var(--c-pearl);
    background:var(--c-white);color:var(--c-text);font-size:var(--fs-base);
    transition:border-color var(--t);border-radius:0;
}
.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--c-gold)}
.form-textarea{min-height:120px;resize:vertical}
.form-select{
    appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath fill='%239B9590' d='M5 7L0 2h10z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right var(--s-4) center;padding-right:var(--s-10);
}
.form-check{display:flex;align-items:flex-start;gap:var(--s-2);font-size:var(--fs-sm);color:var(--c-warm)}
.form-check input{margin-top:3px;accent-color:var(--c-gold)}
.honeypot{display:none!important}

/* ==================== FOOTER ==================== */

.site-footer{background:var(--c-deep);color:var(--c-ivory);padding:var(--s-16) 0 var(--s-6)}

.ft-grid{
    display:grid;grid-template-columns:1fr;gap:var(--s-8);
    margin-bottom:var(--s-10);
}
@media(min-width:640px){.ft-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.ft-grid{grid-template-columns:2fr 1fr 1fr 1fr}}

.ft-brand p{color:rgba(250,250,247,.8);font-size:var(--fs-sm);margin-top:var(--s-4);line-height:1.65}

.footer-title{
    font-family:var(--f-body);font-size:var(--fs-xs);color:var(--c-gold);
    text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--s-5);
}

.ft-links li{margin-bottom:var(--s-2)}
.ft-links a{color:rgba(250,250,247,.8);font-size:var(--fs-sm);transition:color var(--t)}
.ft-links a:hover{color:var(--c-gold)}

/* Trust badges */
.trust-row{
    display:flex;justify-content:center;gap:var(--s-8);flex-wrap:wrap;
    padding:var(--s-6) 0;margin-bottom:var(--s-6);
    border-top:1px solid rgba(250,250,247,.12);border-bottom:1px solid rgba(250,250,247,.12);
}
.trust-row span{font-size:var(--fs-xs);color:rgba(250,250,247,.8);text-transform:uppercase;letter-spacing:.06em}
.trust-row strong{color:var(--c-gold);font-weight:600}

/* Legal */
.ft-legal{display:flex;justify-content:center;gap:var(--s-6);flex-wrap:wrap;margin-bottom:var(--s-4)}
.ft-legal a{color:rgba(250,250,247,.3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}
.ft-legal a:hover{color:var(--c-gold)}

/* Bottom */
.ft-bottom{
    border-top:1px solid rgba(250,250,247,.12);padding-top:var(--s-5);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-4);
}
.ft-copy{font-size:var(--fs-xs);color:rgba(250,250,247,.3)}

.social a{
    width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid rgba(250,250,247,.18);color:rgba(250,250,247,.6);transition:all var(--t);
}
.social a:hover{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-deep)}
.social a svg{width:16px;height:16px;fill:currentColor}
.social{display:flex;gap:var(--s-3)}

/* FABs */
.fab-whatsapp{
    position:fixed;bottom:80px;right:20px;width:52px;height:52px;
    background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 14px rgba(37,211,102,.35);z-index:900;transition:transform var(--t);
}
.fab-whatsapp:hover{transform:scale(1.1)}

.fab-backtop{
    position:fixed;bottom:20px;right:20px;width:44px;height:44px;
    background:var(--c-gold);border-radius:50%;border:none;
    display:flex;align-items:center;justify-content:center;
    z-index:900;opacity:0;transform:translateY(16px);pointer-events:none;
    transition:all var(--t);cursor:pointer;
}
.fab-backtop.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
.fab-backtop:hover{background:var(--c-copper)}

/* ==================== ANIMATIONS ==================== */

@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
[data-animate]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
[data-animate].animated{opacity:1;transform:translateY(0)}
.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}

/* Preloader gear */
.preloader{position:fixed;inset:0;background:var(--c-deep);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .4s}
.preloader.hidden{opacity:0;pointer-events:none}
.preloader-gear{
    width:48px;height:48px;border:2px solid var(--c-gold);border-radius:50%;position:relative;
    animation:spin 2.5s linear infinite;
}
.preloader-gear::before{
    content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:16px;height:16px;border:2px solid var(--c-gold);border-radius:50%;
}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ==================== UTILITIES ==================== */

.skip-link{
    position:absolute;top:-100px;left:0;background:var(--c-gold);color:var(--c-deep);
    padding:var(--s-2) var(--s-4);z-index:10000;font-weight:600;
}
.skip-link:focus{top:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Entry content */
.entry-content h2,.entry-content h3{margin-top:var(--s-8)}
.entry-content ul,.entry-content ol{margin:var(--s-4) 0 var(--s-4) var(--s-6)}
.entry-content ul{list-style:disc}.entry-content ol{list-style:decimal}
.entry-content a{color:#7A6020;text-decoration:underline;text-decoration-color:rgba(154,123,47,.3);text-underline-offset:3px;font-weight:500}
.entry-content a:hover{color:#5A4510;text-decoration-color:#9A7B2F;text-shadow:0 0 6px rgba(212,175,90,.1)}
.entry-content blockquote{
    font-family:var(--f-accent);font-size:var(--fs-lg);font-style:italic;
    border-left:3px solid var(--c-gold);padding:var(--s-4) var(--s-6);
    margin:var(--s-8) 0;color:var(--c-midnight);background:rgba(200,169,110,.04);
}

/* Showcase filters */
.filters{display:flex;justify-content:center;gap:var(--s-3);margin-bottom:var(--s-8);flex-wrap:wrap}
.filter-btn{
    padding:var(--s-2) var(--s-5);background:none;
    border:1px solid var(--c-warm);color:var(--c-text);
    font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:all var(--t);
}
.filter-btn:hover,.filter-btn.active{background:var(--c-gold);border-color:var(--c-gold);color:var(--c-deep)}

/* WooCommerce base */
.woocommerce .products{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-6)}
@media(min-width:768px){.woocommerce .products{grid-template-columns:repeat(3,1fr)}}

/* ==========================================================================
   REFINEMENT — Polish visivo, spaziature, contrasti, bottoni
   v1.2.0
   ========================================================================== */

/* --- Bottoni: bordo arrotondato leggero, padding più generoso, shadow --- */
.btn{
    border-radius:2px;
    padding:14px 32px;
    font-size:.8rem;
    letter-spacing:.14em;
    position:relative;
    overflow:hidden;
}
@media(min-width:768px){
    .btn{padding:16px 40px;font-size:.82rem}
}
.btn--gold{box-shadow:0 2px 12px rgba(200,169,110,.25)}
.btn--gold:hover{box-shadow:0 4px 20px rgba(200,169,110,.35);transform:translateY(-1px)}
.btn--outline:hover{box-shadow:0 2px 12px rgba(200,169,110,.2)}
.btn--deep{box-shadow:0 2px 10px rgba(13,17,23,.2)}
.btn--deep:hover{box-shadow:0 4px 16px rgba(200,169,110,.3);transform:translateY(-1px)}
.btn--ivory:hover{transform:translateY(-1px)}

/* --- Section spacing più generoso su desktop --- */
@media(min-width:1024px){
    .sec{padding:7rem 0}
    .sec-header{margin-bottom:4rem}
}

/* --- Hero: più drammatico --- */
.hero{padding-bottom:var(--s-20)}
@media(min-width:768px){.hero{padding-bottom:0;min-height:100vh}}
.hero-title{letter-spacing:-.02em}
.hero-subtitle{max-width:620px;margin-left:auto;margin-right:auto}

/* --- Service cards: shadow migliore, padding più generoso, hover più evidente --- */
.svc-card{
    padding:2.5rem 2rem;
    box-shadow:0 1px 4px rgba(27,42,74,.06);
    border-top:3px solid transparent;
}
.svc-card::before{height:3px}
.svc-card:hover{
    transform:translateY(-8px);
    box-shadow:0 16px 48px rgba(27,42,74,.12);
}
.svc-card h3{
    font-size:1.2rem;
    margin-bottom:var(--s-3);
    letter-spacing:-.01em;
}
.svc-card p{
    color:var(--c-warm);
    line-height:1.7;
}
.svc-card:hover p{color:var(--c-text)}

/* --- Brand items: più leggibili --- */
.brand-item{
    font-size:1rem;
    font-weight:600;
    letter-spacing:.1em;
    padding:var(--s-2) var(--s-4);
}
@media(min-width:768px){.brand-item{font-size:1.1rem}}
.brand-item:hover{color:var(--c-gold);text-shadow:0 0 20px rgba(200,169,110,.3)}

/* --- Process steps: più spaziatura, numeri più visibili --- */
.process-step::before{
    font-size:2.5rem;
    margin-bottom:var(--s-5);
    opacity:.9;
}
.process-step h3{
    font-size:1.1rem;
    margin-bottom:var(--s-3);
}
.process-step p{
    font-size:.9rem;
    max-width:260px;
    margin:0 auto;
}

/* --- Counters: più drammatici --- */
.counter{padding:var(--s-8) var(--s-4)}
.counter-num{
    font-size:3rem;
    line-height:1;
}
@media(min-width:768px){.counter-num{font-size:3.75rem}}
.counter-suffix{font-size:1.5rem;margin-left:2px;vertical-align:super}
.counter-label{
    margin-top:var(--s-3);
    font-size:.7rem;
    letter-spacing:.15em;
    font-weight:500;
}

/* --- Testimonials: più elegante --- */
.testi-quote{
    padding:0 var(--s-4);
    font-size:1.5rem;
    line-height:1.5;
}
@media(min-width:768px){.testi-quote{font-size:2rem;line-height:1.45;padding:0}}
.testi-quote::before{font-size:8rem;opacity:.1;top:-.6em}
.testi-author{
    font-size:1rem;
    margin-bottom:var(--s-1);
}
.testi-detail{
    font-size:.8rem;
    letter-spacing:.08em;
}

/* --- Page header interno: più generoso --- */
.page-header{
    padding:calc(var(--header-h) + 5rem) 0 4rem;
}
@media(min-width:768px){
    .page-header{padding:calc(var(--header-h) + 7rem) 0 5rem}
}

/* --- Entry content: migliore formattazione --- */
.entry-content{
    font-size:1.05rem;
    line-height:1.8;
    color:var(--c-text);
}
.entry-content h2{
    font-size:1.75rem;
    margin-top:3rem;
    margin-bottom:1.25rem;
    color:var(--c-midnight);
}
.entry-content h3{
    font-size:1.35rem;
    margin-top:2.5rem;
    margin-bottom:1rem;
    color:var(--c-midnight);
}
.entry-content p{
    margin-bottom:1.25rem;
}
.entry-content ul,.entry-content ol{
    margin:1.25rem 0 1.25rem 1.5rem;
}
.entry-content li{
    margin-bottom:.5rem;
    line-height:1.7;
}
.entry-content strong{
    color:var(--c-midnight);
    font-weight:600;
}
.entry-content table{
    width:100%;
    border-collapse:collapse;
    margin:1.5rem 0;
    font-size:.95rem;
}
.entry-content th{
    background:var(--c-midnight);
    color:var(--c-ivory);
    padding:.75rem 1rem;
    text-align:left;
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.entry-content td{
    padding:.75rem 1rem;
    border-bottom:1px solid var(--c-pearl);
}
.entry-content tr:hover td{
    background:rgba(200,169,110,.04);
}

/* --- Contact form: migliore spaziatura e stile --- */
.contact-grid{gap:4rem}
@media(min-width:768px){.contact-grid{gap:5rem}}

.contact-item{margin-bottom:1.75rem}
.contact-lbl{
    font-size:.7rem;
    letter-spacing:.15em;
    font-weight:600;
    margin-bottom:.35rem;
}
.contact-val{font-size:1.05rem}

.form-group{margin-bottom:1.25rem}
.form-label{
    font-size:.85rem;
    font-weight:600;
    margin-bottom:.4rem;
    color:var(--c-midnight);
}
.form-input,.form-textarea,.form-select{
    padding:.85rem 1rem;
    border:1.5px solid var(--c-pearl);
    font-size:.95rem;
    transition:border-color var(--t),box-shadow var(--t);
}
.form-input:focus,.form-textarea:focus,.form-select:focus{
    border-color:var(--c-gold);
    box-shadow:0 0 0 3px rgba(200,169,110,.12);
}
.form-textarea{min-height:140px}

/* --- Trust cards (homepage) --- */
.trust-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:var(--s-4);
}
@media(min-width:768px){.trust-grid{grid-template-columns:repeat(4,1fr)}}

.trust-card{
    text-align:center;
    padding:var(--s-6) var(--s-4);
    background:rgba(200,169,110,.04);
    border:1px solid rgba(200,169,110,.12);
}
.trust-card-icon{
    width:36px;height:36px;
    margin:0 auto var(--s-3);
    color:#8A6E28;
}
.trust-card-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.5;fill:none}
.trust-card-title{
    font-family:var(--f-heading);
    font-size:.95rem;
    font-weight:600;
    color:var(--c-midnight);
    margin-bottom:var(--s-1);
}
.trust-card-desc{
    font-size:.8rem;
    color:var(--c-warm);
    line-height:1.5;
}

/* --- Footer: più spaziatura --- */
.site-footer{padding:5rem 0 1.5rem}
@media(min-width:768px){.site-footer{padding:6rem 0 1.5rem}}
.ft-grid{margin-bottom:3.5rem}
.ft-brand p{line-height:1.7;margin-top:var(--s-5)}

/* --- Header logo: più visibile --- */
.site-logo span{
    font-size:1.15rem;
    letter-spacing:.04em;
}
@media(min-width:768px){
    .site-logo span{font-size:1.25rem}
}

/* --- Scroll indicator hero (sottile linea gold) --- */
.hero::after{
    content:'';
    position:absolute;
    bottom:24px;left:50%;
    transform:translateX(-50%);
    width:1px;height:40px;
    background:linear-gradient(180deg,var(--c-gold),transparent);
    animation:scrollHint 2s ease infinite;
    z-index:2;
}
@keyframes scrollHint{
    0%,100%{opacity:0;transform:translateX(-50%) translateY(-10px)}
    50%{opacity:.6;transform:translateX(-50%) translateY(0)}
}

/* --- Dark section links visibilità --- */
.sec--deep a:not(.btn),.sec--midnight a:not(.btn){color:var(--c-gold)}
.sec--deep a:not(.btn):hover,.sec--midnight a:not(.btn):hover{color:#dfc48e}

/* --- Selection color --- */
::selection{background:rgba(200,169,110,.2);color:var(--c-midnight)}

/* ==========================================================================
   v1.3.0 — POLISH MOBILE + INNER PAGES + DETTAGLI
   Elegante, sofisticato, ingranaggioso, alto contrasto
   ========================================================================== */

/* --- MOBILE GLOBAL --- */
@media(max-width:767px){
    body{font-size:.95rem}
    h1{font-size:1.75rem}
    h2{font-size:1.5rem}
    h3{font-size:1.25rem}
    .wrap{padding:0 1.25rem}

    /* Hero mobile: più impatto */
    .hero{min-height:90vh;padding-bottom:3rem}
    .hero-title{font-size:2rem;letter-spacing:-.01em}
    .hero-subtitle{font-size:1rem;line-height:1.6}
    .hero .label{font-size:.8rem;letter-spacing:.15em}

    /* Service cards: full width su mobile */
    .svc-grid{gap:1rem}
    .svc-card{padding:1.75rem 1.5rem}
    .svc-card h3{font-size:1.05rem}

    /* Brand items: più piccoli su mobile */
    .brands{gap:1rem 1.5rem}
    .brand-item{font-size:.85rem}

    /* Process steps: verticale con linea laterale */
    .process{gap:2rem}
    .process-step{text-align:left;padding-left:4.5rem;position:relative}
    .process-step::before{
        position:absolute;left:0;top:0;margin:0;
        width:48px;height:48px;font-size:1.75rem;
    }
    .process-step h3{font-size:1rem}
    .process-step p{max-width:none;font-size:.85rem}

    /* Counters: 2 colonne con separatori */
    .counters{gap:1rem}
    .counter{padding:1.25rem .75rem}
    .counter-num{font-size:2.25rem}
    .counter-suffix{font-size:1.1rem}
    .counter-label{font-size:.65rem;letter-spacing:.12em}

    /* Trust cards */
    .trust-grid{gap:.75rem}
    .trust-card{padding:1.25rem 1rem}
    .trust-card-title{font-size:.85rem}
    .trust-card-desc{font-size:.75rem}

    /* Testimonial */
    .testi-quote{font-size:1.15rem;line-height:1.5}
    .testi-quote::before{font-size:4rem;top:-.4em}

    /* Page header inner pages */
    .page-header{padding:calc(var(--header-h) + 3rem) 0 2.5rem}
    .page-header-title{font-size:1.5rem}
    .page-header-subtitle{font-size:1rem}

    /* Footer */
    .ft-grid{gap:2rem}
    .trust-row{gap:1rem 2rem}
    .trust-row span{font-size:.65rem}

    /* Contact */
    .contact-grid{gap:2.5rem}

    /* Section buttons */
    .btn-row{flex-direction:column;align-items:stretch}
    .btn-row .btn{width:100%;text-align:center}

    /* CTA section */
    .sec--gold h2,.sec--midnight h2{font-size:1.5rem}
}

/* --- INNER PAGES: content più curato --- */
.sec--ivory .entry-content,
.sec--pearl .entry-content{
    max-width:var(--container-sm);
    margin-left:auto;
    margin-right:auto;
}

/* Service detail pages: scheda con bordo gold a sinistra */
.entry-content h2{
    padding-left:1rem;
    border-left:3px solid var(--c-gold);
    margin-bottom:1.5rem;
}

.entry-content h3{
    color:var(--c-midnight);
    font-size:1.2rem;
    margin-bottom:1rem;
}

/* Lists con markers personalizzati */
.entry-content ul{
    list-style:none;
    padding-left:0;
}

.entry-content ul li{
    position:relative;
    padding-left:1.5rem;
    margin-bottom:.65rem;
}

.entry-content ul li::before{
    content:'';
    position:absolute;
    left:0;top:.65em;
    width:6px;height:6px;
    background:var(--c-gold);
    border-radius:50%;
}

.entry-content ol{
    counter-reset:item;
    list-style:none;
    padding-left:0;
}

.entry-content ol li{
    counter-increment:item;
    position:relative;
    padding-left:2.5rem;
    margin-bottom:.75rem;
}

.entry-content ol li::before{
    content:counter(item, decimal-leading-zero);
    position:absolute;left:0;top:0;
    font-family:var(--f-mono);font-size:.85rem;font-weight:600;
    color:var(--c-gold);
}

/* Details/Summary per FAQ inline */
.entry-content details{
    border:1px solid var(--c-pearl);
    margin-bottom:.75rem;
    background:var(--c-white);
}

.entry-content summary{
    padding:1rem 1.25rem;
    cursor:pointer;
    font-weight:600;
    color:var(--c-midnight);
    font-size:.95rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.entry-content summary::after{
    content:'+';
    font-size:1.2rem;
    color:var(--c-gold);
    font-weight:400;
    transition:transform var(--t);
}

.entry-content details[open] summary::after{
    content:'−';
}

.entry-content details > p,
.entry-content details > div{
    padding:0 1.25rem 1rem;
    font-size:.9rem;
    color:var(--c-text);
    line-height:1.7;
}

/* --- Servizi grid: cards più eleganti --- */
.svc-grid .svc-card{
    display:flex;
    flex-direction:column;
}

.svc-grid .svc-card .svc-link{
    margin-top:auto;
    padding-top:var(--s-4);
}

/* --- Contact form: responsive migliorato --- */
@media(max-width:767px){
    #preventivo h2{font-size:1.35rem}
    .form-label{font-size:.8rem}
    .form-input,.form-textarea,.form-select{
        font-size:.9rem;
        padding:.75rem .85rem;
    }
}

/* --- Page Marchi: brand grid curata --- */
.page-template-page-marchi .brands,
.page-template-templates\/page-marchi-php .brands{
    padding:var(--s-8) 0;
}

/* --- Smooth hover per tutti i link --- */
a{transition:color .2s ease,opacity .2s ease}

/* --- Focus visible per accessibilità --- */
:focus-visible{
    outline:2px solid var(--c-gold);
    outline-offset:3px;
}

/* --- Print styles --- */
@media print{
    .site-header,.site-footer,.fab-whatsapp,.fab-backtop,.preloader,
    .nav-overlay,.mobile-nav-toggle{display:none!important}
    body{background:#fff;color:#000;font-size:11pt}
    .hero{min-height:auto;padding:2rem 0;background:#1B2A4A!important;-webkit-print-color-adjust:exact}
    .sec{padding:1.5rem 0}
    a{color:#1B2A4A;text-decoration:underline}
    a[href]::after{content:" (" attr(href) ")";font-size:.8em;color:#666}
}

/* --- Separator decorativo con ingranaggio --- */
.gear-separator{
    text-align:center;
    padding:var(--s-8) 0;
    position:relative;
}
.gear-separator::before{
    content:'⚙';
    font-size:1.5rem;
    color:var(--c-gold);
    opacity:.3;
}
.gear-separator::after{
    content:'';
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:120px;height:1px;
    background:linear-gradient(90deg,transparent,var(--c-gold),transparent);
    z-index:-1;
}

/* --- Badge "Artigiano Italiano" --- */
.badge-artigiano{
    display:inline-flex;
    align-items:center;
    gap:var(--s-2);
    padding:var(--s-2) var(--s-4);
    border:1px solid var(--c-gold);
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--c-gold);
    font-weight:600;
}

/* --- Smooth page transitions --- */
main{animation:fadeIn .4s ease}

/* --- Complianz cookie banner styling --- */
.cmplz-cookiebanner{font-family:var(--f-body)!important}
.cmplz-cookiebanner .cmplz-btn{border-radius:0!important;font-weight:600!important;letter-spacing:.05em!important;text-transform:uppercase!important;font-size:.8rem!important}

/* ==========================================================================
   HOROLOGICAL EFFECTS — Glass, Metal, Micro-Mechanics
   Vetro zaffiro, metallo satinato, finiture microlavoratem riflessi, trasparenze
   ========================================================================== */

/* --- Glass effect (vetro zaffiro) — per card, form wrapper, badge --- */
.glass{
    background:rgba(250,250,247,.06);
    backdrop-filter:blur(16px) saturate(1.4);
    -webkit-backdrop-filter:blur(16px) saturate(1.4);
    border:1px solid rgba(250,250,247,.1);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 4px 24px rgba(0,0,0,.12);
}

/* --- Metal brushed (metallo satinato) — per bottoni, header --- */
.metal{
    background:linear-gradient(135deg,rgba(250,250,247,.08) 0%,rgba(250,250,247,.03) 50%,rgba(250,250,247,.08) 100%);
    border:1px solid rgba(250,250,247,.12);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        inset 0 -1px 0 rgba(0,0,0,.1),
        0 2px 8px rgba(0,0,0,.15);
}

/* --- Apply glass to service cards on dark/pearl backgrounds --- */
.sec--deep .svc-card,
.sec--midnight .svc-card{
    background:rgba(250,250,247,.05);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(250,250,247,.08);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 4px 20px rgba(0,0,0,.15);
    color:var(--c-ivory);
}
.sec--deep .svc-card h3,.sec--midnight .svc-card h3{color:var(--c-ivory)}
.sec--deep .svc-card p,.sec--midnight .svc-card p{color:rgba(250,250,247,.75)}
.sec--deep .svc-card:hover,.sec--midnight .svc-card:hover{
    background:rgba(250,250,247,.09);
    border-color:rgba(212,175,90,.3);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 32px rgba(0,0,0,.2);
}

/* --- Service cards su pearl/bianco: ombre marcate, bordo gold, effetto "scheda tecnica" --- */
.sec--pearl .svc-card,
.svc-card{
    background:var(--c-white);
    box-shadow:0 1px 2px rgba(0,0,0,.06),0 4px 20px rgba(26,39,68,.06);
    border:1px solid rgba(26,39,68,.06);
    border-top:3px solid transparent;
    position:relative;
}
.sec--pearl .svc-card::after,
.svc-card::after{
    content:'';position:absolute;top:-3px;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--c-gold),#E8C96D,var(--c-gold));
    opacity:0;transition:opacity .3s ease;
}
.sec--pearl .svc-card:hover,
.svc-card:hover{
    transform:translateY(-6px);
    box-shadow:0 4px 8px rgba(0,0,0,.08),0 16px 48px rgba(26,39,68,.1);
    border-color:rgba(212,175,90,.2);
}
.sec--pearl .svc-card:hover::after,
.svc-card:hover::after{opacity:1}

/* --- Contatti: form glass wrapper --- */
.contact-glass{
    background:rgba(250,250,247,.04);
    backdrop-filter:blur(20px) saturate(1.5);
    -webkit-backdrop-filter:blur(20px) saturate(1.5);
    border:1px solid rgba(250,250,247,.1);
    border-radius:6px;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 8px 32px rgba(0,0,0,.2);
    padding:2.5rem;
}
@media(max-width:767px){.contact-glass{padding:1.75rem}}

/* --- Contact form inputs: metal-feel --- */
.contact-glass .form-input,
.contact-glass .form-textarea,
.contact-glass .form-select{
    background:rgba(250,250,247,.05);
    border:1px solid rgba(250,250,247,.12);
    color:var(--c-ivory);
    border-radius:3px;
    transition:all var(--t);
}
.contact-glass .form-input:focus,
.contact-glass .form-textarea:focus,
.contact-glass .form-select:focus{
    border-color:var(--c-gold);
    box-shadow:0 0 0 3px rgba(212,175,90,.15);
    background:rgba(250,250,247,.08);
}
.contact-glass .form-input::placeholder,
.contact-glass .form-textarea::placeholder{
    color:rgba(250,250,247,.35);
}
.contact-glass .form-label{color:rgba(250,250,247,.85)}
.contact-glass .form-select option{background:var(--c-deep);color:var(--c-ivory)}

/* --- Bottoni: gold scuro metallico contrastato --- */
.btn--gold{
    background:linear-gradient(135deg,#9A7B2F 0%,#B8943A 50%,#9A7B2F 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 8px rgba(154,123,47,.25);
    text-shadow:0 1px 2px rgba(0,0,0,.2);
    color:var(--c-white);
}
.btn--gold:hover{
    background:linear-gradient(135deg,#7A6020 0%,#9A7B2F 50%,#7A6020 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 4px 16px rgba(122,96,32,.35);
    transform:translateY(-1px);
    color:var(--c-white);
}

/* --- Trust cards: finitura metallo spazzolato su sfondo chiaro --- */
.trust-card{
    background:var(--c-white);
    border:1px solid rgba(26,39,68,.06);
    box-shadow:0 1px 4px rgba(0,0,0,.04);
    transition:all .3s ease;
    position:relative;
    overflow:hidden;
}
.trust-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,transparent,var(--c-gold),transparent);
    opacity:.3;
}
.trust-card:hover{
    border-color:rgba(212,175,90,.25);
    box-shadow:0 4px 20px rgba(212,175,90,.1);
    transform:translateY(-3px);
}
.trust-card:hover::before{opacity:.7}

/* --- Counter section: cifre con riflesso metallico --- */
.counter-num{
    background:linear-gradient(180deg,var(--c-gold) 0%,#BF9A3E 100%);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));
}

/* --- Page header content --- */
.page-header-content{
    position:relative;z-index:2;
}

/* --- Testimonial quote: bordo gold sottile meccanico --- */
.testi-quote{
    position:relative;
    padding:var(--s-8) var(--s-6);
}
.testi-quote::after{
    content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);
    width:60px;height:1px;
    background:linear-gradient(90deg,transparent,var(--c-gold),transparent);
}

/* --- Section label: linea sottile come incisione --- */
.label::before{
    content:'';display:inline-block;
    width:20px;height:1px;
    background:var(--c-gold);
    margin-right:10px;
    vertical-align:middle;
}

/* --- Footer: effetto metallo spazzolato --- */
.site-footer{
    background:linear-gradient(180deg,#1C2333 0%,#151B28 100%);
}

/* --- Separatori meccanici --- */
.sec--pearl + .sec--midnight::before,
.sec--ivory + .sec--midnight::before{
    content:'';display:block;height:1px;
    background:linear-gradient(90deg,transparent 10%,var(--c-gold) 50%,transparent 90%);
    opacity:.3;
}

/* --- Hero overlay: riflesso vetro --- */
.hero-overlay{
    background:
        linear-gradient(180deg,
            rgba(28,35,51,.35) 0%,
            rgba(26,39,68,.25) 30%,
            rgba(28,35,51,.7) 100%
        ),
        radial-gradient(ellipse at 30% 20%,rgba(212,175,90,.05) 0%,transparent 60%);
}

/* --- Scrollbar personalizzata (desktop) --- */
@media(min-width:768px){
    ::-webkit-scrollbar{width:8px}
    ::-webkit-scrollbar-track{background:var(--c-deep)}
    ::-webkit-scrollbar-thumb{background:var(--c-gold);border-radius:4px}
    ::-webkit-scrollbar-thumb:hover{background:#E8C96D}
    html{scrollbar-width:thin;scrollbar-color:var(--c-gold) var(--c-deep)}
}

/* --- LEITMOTIV: applicazione globale stilemi horological --- */

/* Ogni section header h2: incisione sottile come su fondello */
.sec-header h2::after{
    background:linear-gradient(90deg,transparent,var(--c-gold),transparent);
    height:1px;
    opacity:.6;
}

/* Entry content: pulito, nessun bordo laterale che rompe il layout */
.entry-content{
    position:relative;
}

/* Blockquote: vetro smerigliato */
.entry-content blockquote{
    background:rgba(212,175,90,.04);
    backdrop-filter:blur(4px);
    border-left:3px solid var(--c-gold);
    border-radius:0 6px 6px 0;
    box-shadow:inset 0 0 0 1px rgba(212,175,90,.06);
}

/* Details/Summary FAQ: finitura metallo */
.entry-content details{
    border:1px solid rgba(0,0,0,.06);
    background:var(--c-white);
    box-shadow:0 1px 3px rgba(0,0,0,.03);
    border-radius:3px;
    overflow:hidden;
}
.entry-content details[open]{
    border-color:rgba(212,175,90,.15);
    box-shadow:0 2px 8px rgba(212,175,90,.06);
}
.entry-content summary{
    background:linear-gradient(135deg,rgba(250,250,247,.5),rgba(240,237,232,.8));
    border-bottom:1px solid rgba(0,0,0,.04);
}

/* H2 nelle inner pages: barra gold sottile a sinistra */
.entry-content h2{
    border-left:3px solid var(--c-gold);
    padding-left:var(--s-4);
    background:linear-gradient(90deg,rgba(212,175,90,.04),transparent 40%);
}

/* H3: punto gold con glow + leggero sfondo */
.entry-content h3{
    padding:var(--s-2) 0;
}
.entry-content h3::before{
    content:'';display:inline-block;
    width:7px;height:7px;border-radius:50%;
    background:var(--c-gold);
    box-shadow:0 0 6px rgba(212,175,90,.4);
    margin-right:12px;
    vertical-align:middle;
}

/* Liste: marker gold con glow */
.entry-content ul li::before{
    width:7px;height:7px;
    background:var(--c-gold);
    box-shadow:0 0 6px rgba(212,175,90,.4);
    border-radius:50%;
}
.entry-content ul li{
    padding-left:1.75rem;
    margin-bottom:.75rem;
}

/* Tabelle: header metallo scuro */
.entry-content th{
    background:linear-gradient(135deg,var(--c-midnight),#223052);
    border-bottom:2px solid var(--c-gold);
}
.entry-content td{
    border-bottom:1px solid rgba(212,175,90,.1);
}
.entry-content tr:hover td{
    background:rgba(212,175,90,.04);
}

/* Page header: overflow contenuto */
.page-header{
    overflow:hidden;
}

/* Breadcrumb: pill glass */
.breadcrumb{
    display:inline-flex;align-items:center;
    background:rgba(250,250,247,.06);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    padding:6px 16px;
    border-radius:999px;
    border:1px solid rgba(250,250,247,.08);
}

/* Process steps: connettore come asse di un meccanismo */
.process-step::before{
    border:2px solid var(--c-gold);
    box-shadow:0 0 8px rgba(212,175,90,.15);
}

/* Brand items nella homepage: hover con glow */
.brand-item:hover{
    text-shadow:0 0 12px rgba(212,175,90,.25);
}

/* Showcase items: bordo gold sottile al hover */
.showcase-item:hover{
    box-shadow:inset 0 0 0 2px rgba(212,175,90,.3);
}

/* Footer trust row: bordi gold sfumati */
.trust-row{
    border-top:1px solid rgba(212,175,90,.12);
    border-bottom:1px solid rgba(212,175,90,.12);
}

/* Footer title: incisione doppia */
.footer-title::after{
    content:'';display:block;
    width:24px;height:1px;
    background:var(--c-gold);
    margin-top:var(--s-3);
    opacity:.4;
}

/* Social links: bordo metallico */
.social a{
    border:1px solid rgba(212,175,90,.15);
}
.social a:hover{
    background:linear-gradient(135deg,var(--c-gold),#E8C96D);
    border-color:var(--c-gold);
    box-shadow:0 2px 8px rgba(212,175,90,.3);
}

/* CTA sections midnight: riflesso sottile */
.sec--midnight{
    position:relative;overflow:hidden;
}
.sec--midnight::before{
    content:'';position:absolute;top:0;left:0;right:0;
    height:1px;
    background:linear-gradient(90deg,transparent 20%,rgba(212,175,90,.2) 50%,transparent 80%);
}

/* Preloader: gear più dettagliato */
.preloader-gear{
    border:2px solid var(--c-gold);
    box-shadow:0 0 20px rgba(212,175,90,.15),inset 0 0 10px rgba(212,175,90,.1);
}

/* Form submit button: tutta larghezza, gold metallico */
#sdt-quote-form .btn--gold,
form .btn--gold{
    width:100%;justify-content:center;
    font-size:.85rem;
    padding:1rem;
}

/* WhatsApp FAB: glass ring */
.fab-whatsapp{
    box-shadow:0 4px 16px rgba(37,211,102,.3),inset 0 1px 0 rgba(255,255,255,.15);
}

/* Back to top: metal finish */
.fab-backtop{
    background:linear-gradient(135deg,var(--c-gold),#BF9A3E);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 2px 8px rgba(212,175,90,.3);
}
.fab-backtop:hover{
    background:linear-gradient(135deg,#E8C96D,var(--c-gold));
}
