:root{--black:#070707;--cream:#f4efe6;--paper:#fbf7ef;--copper:#c87955;--muted:#6b625a;--line:rgba(200,121,85,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#111;font-family:Montserrat,Arial,sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:rgba(8,8,8,.92);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem}.brand-logo{height:58px;width:auto}.brand-sub{color:var(--copper);font-size:.62rem;letter-spacing:.25em}.nav{display:flex;gap:24px;color:#fff;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.nav a:hover{color:var(--copper)}.nav-cta{border:1px solid var(--copper);padding:10px 16px;color:var(--copper)}
.hero{position:relative;min-height:640px;display:grid;align-items:center;color:#fff;background:#070707;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.55)),url('../img/hero-partner.jpg') center/cover no-repeat}.hero .container{position:relative;z-index:1}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.25em;color:var(--copper);font-weight:700;margin:0 0 18px}h1,h2,h3{font-family:'Cormorant Garamond',serif;line-height:1.02;margin:0}h1{font-size:clamp(3rem,6vw,6.2rem);max-width:780px}h2{font-size:clamp(2.2rem,4vw,4.1rem)}h3{font-size:1.55rem}.lead{font-size:1.16rem;max-width:700px;color:rgba(255,255,255,.82);margin:24px 0 0}.hero-actions,.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:.78rem;border:1px solid transparent}.btn-primary{background:var(--copper);color:#fff}.btn-dark{background:#080808;color:#fff}.btn-outline{border-color:var(--copper);color:var(--copper);background:transparent}.section{padding:92px 0}.section-cream{background:var(--cream)}.section-dark{background:#070707;color:#fff}.section-title{text-align:center;max-width:860px;margin:0 auto 34px}.section-title p{color:var(--muted)}.section-intro{max-width:760px;margin:18px auto 0;color:var(--muted);font-size:1rem}
.filters{background:#fff;border:1px solid rgba(0,0,0,.08);padding:26px;box-shadow:0 16px 40px rgba(0,0,0,.08);display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:14px;align-items:end;margin:44px auto 58px;position:relative;z-index:5}.filters label{display:grid;gap:7px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--muted);font-weight:700}.filters input,.filters select{padding:14px;border:1px solid rgba(0,0,0,.14);font:inherit;background:#fff}
.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.partner-card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 16px 40px rgba(0,0,0,.07);overflow:hidden;display:flex;flex-direction:column}.partner-image{width:100%;height:260px;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden}.partner-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.partner-placeholder{color:var(--copper);font-family:'Cormorant Garamond',serif;font-size:2.1rem}.partner-body{padding:26px;display:grid;gap:12px;flex:1}.partner-top{display:flex;gap:14px;align-items:center}.partner-logo{width:58px;height:58px;border-radius:50%;border:1px solid var(--line);background:#050505;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.partner-logo img{width:100%;height:100%;object-fit:cover}.badge{display:inline-flex;width:max-content;padding:7px 10px;border:1px solid var(--line);color:var(--copper);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.meta{font-size:.92rem;color:var(--muted);margin:0}.partner-body p{margin:0;color:#4c443d}.partner-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:26px}.feature{padding:34px;border:1px solid var(--line);background:rgba(255,255,255,.04)}.feature p{color:rgba(255,255,255,.72)}.cta{background:linear-gradient(120deg,#070707,#17100d);color:#fff;text-align:center}.cta p{max-width:720px;margin:18px auto 0;color:rgba(255,255,255,.72)}
.footer{background:#050505;color:#fff;padding:42px 0;text-align:center;border-top:1px solid var(--line)}.footer-logo{width:260px;max-width:80%;height:auto;margin:0 auto 14px;display:block;filter:none;opacity:1}.footer-brand{font-family:'Cormorant Garamond',serif;text-transform:uppercase;letter-spacing:.22em;color:#fff;font-size:1.45rem;line-height:1.05;margin:0 auto 18px;display:grid;gap:2px}.footer-brand:after{content:'Partner';font-family:Montserrat,Arial,sans-serif;color:var(--copper);font-size:.62rem;letter-spacing:.28em;margin-top:12px}.footer p{margin:0 0 10px;color:rgba(255,255,255,.72);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.footer a{color:var(--copper)}.footer-links{display:flex;justify-content:center;gap:10px;font-size:12px;opacity:.72;margin-top:10px}.footer small{display:block;margin-top:14px;color:rgba(255,255,255,.45)}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:1000;display:none;grid-template-columns:1fr auto;gap:18px;background:rgba(8,8,8,.96);color:#fff;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.45);padding:18px;max-width:980px;margin:auto}.cookie-banner.is-visible{display:grid}.cookie-banner p{margin:4px 0 0;color:rgba(255,255,255,.75);font-size:.9rem}.cookie-actions{display:flex;gap:10px}.cookie-actions button{border:1px solid var(--line);background:transparent;color:#fff;padding:10px 13px;text-transform:uppercase;font-size:.72rem;font-weight:700;cursor:pointer}.cookie-actions .accept{background:var(--copper);border-color:var(--copper)}
@media(max-width:980px){.nav{display:none}.site-header{padding:12px 20px}.brand-logo{height:48px}.hero{min-height:auto;padding:110px 0 76px}.filters{background:#fff;border:1px solid rgba(0,0,0,.08);padding:26px;box-shadow:0 16px 40px rgba(0,0,0,.08);display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:14px;align-items:end;margin:44px auto 58px;position:relative;z-index:5}.partner-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}}@media(max-width:640px){.partner-image{height:220px}.container{width:min(100% - 28px,1160px)}.section{padding:66px 0}h1{font-size:3.05rem}.lead{font-size:1rem}.partner-grid{grid-template-columns:1fr}.hero-actions,.actions{display:grid}.btn{width:100%}.cookie-banner{grid-template-columns:1fr;left:12px;right:12px}.cookie-actions{display:grid}}


/* Correzione definitiva: filtri sempre sotto al testo introduttivo */
#trova .section-title{
    margin-bottom:0 !important;
}

#trova .filters{
    margin-top:44px !important;
    margin-bottom:58px !important;
    transform:none !important;
    top:auto !important;
}


/* FIX DEFINITIVO FILTRI */
#trova .section-title{
    margin-bottom:40px !important;
}

#trova .filters{
    position:static !important;
    margin:0 auto 60px !important;
    z-index:1 !important;
}

/* RIPRISTINA LOGO HEADER */
.site-header .brand-logo{
    height:58px !important;
    width:auto !important;
    max-width:none !important;
}


/* LOGO TRASPARENTE UFFICIALE + MONOGRAMMA FAVICON */
.site-header{
    min-height:96px !important;
}

.brand{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    text-align:center !important;
    flex:0 0 auto !important;
}

.site-header .brand-logo{
    display:block !important;
    width:220px !important;
    max-width:220px !important;
    height:auto !important;
    object-fit:contain !important;
}

.brand-sub{
    display:block !important;
    width:100% !important;
    text-align:center !important;
    color:var(--copper) !important;
    font-size:.68rem !important;
    line-height:1 !important;
    letter-spacing:.32em !important;
    margin:0 !important;
    padding:0 !important;
}

.footer-logo{
    display:block !important;
    width:300px !important;
    max-width:80% !important;
    height:auto !important;
    object-fit:contain !important;
    margin:0 auto 18px !important;
}

.footer-brand{
    display:none !important;
}

@media(max-width:980px){
    .site-header{
        min-height:82px !important;
    }

    .site-header .brand-logo{
        width:170px !important;
        max-width:170px !important;
    }

    .brand-sub{
        font-size:.58rem !important;
    }
}


/* === FIX DEFINITIVO 19 GIUGNO === */

/* Header: logo trasparente ufficiale e scritta Partner centrata */
.site-header{
    min-height:104px !important;
    padding:14px 32px !important;
    align-items:center !important;
}

.site-header .brand{
    width:230px !important;
    min-width:230px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:4px !important;
    line-height:1 !important;
}

.site-header .brand-logo{
    display:block !important;
    width:220px !important;
    max-width:220px !important;
    height:auto !important;
    object-fit:contain !important;
    margin:0 auto !important;
}

.site-header .brand-sub{
    display:block !important;
    width:220px !important;
    text-align:center !important;
    color:var(--copper) !important;
    font-size:.66rem !important;
    letter-spacing:.35em !important;
    line-height:1 !important;
    margin:2px auto 0 !important;
    padding:0 0 0 .35em !important;
}

/* Sezione trova: il testo non deve mai essere coperto dai filtri */
#trova{
    padding-top:96px !important;
}

#trova .section-title{
    position:relative !important;
    z-index:1 !important;
    margin:0 auto 46px !important;
    padding:0 !important;
}

#trova .section-intro{
    margin:22px auto 0 !important;
}

#trova .filters{
    position:relative !important;
    z-index:1 !important;
    top:auto !important;
    transform:none !important;
    margin:0 auto 64px !important;
    clear:both !important;
}

#trova .partner-grid{
    margin-top:0 !important;
}

/* Footer: logo ufficiale visibile */
.footer .footer-logo,
.footer-logo{
    display:block !important;
    width:300px !important;
    max-width:80% !important;
    height:auto !important;
    object-fit:contain !important;
    margin:0 auto 18px !important;
    opacity:1 !important;
    filter:none !important;
}

.footer-brand{
    display:none !important;
}

@media(max-width:980px){
    .site-header{
        min-height:88px !important;
        padding:12px 20px !important;
    }

    .site-header .brand{
        width:180px !important;
        min-width:180px !important;
    }

    .site-header .brand-logo{
        width:175px !important;
        max-width:175px !important;
    }

    .site-header .brand-sub{
        width:175px !important;
        font-size:.56rem !important;
    }

    #trova{
        padding-top:72px !important;
    }
}
