/*
Theme Name: The Factory Cosenza V4.1
Theme URI: https://thefactorycosenza.com
Author: The Factory
Description: Tema custom The Factory con nuovo logo ufficiale anche nella hero centrale, gestione foto, eventi, gallery, menu dinamico e prenotazioni WhatsApp.
Version: 4.1.0
Text Domain: the-factory
*/
:root{--bg:#080808;--panel:#101010;--soft:#171717;--text:#f4f4f2;--muted:#aaa;--accent:#c9c9c9;--silver:#e1e1df;--line:#292929;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(7,7,7,.9);backdrop-filter:blur(14px);border-bottom:1px solid #242424}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{height:76px;width:auto;max-width:310px;object-fit:contain;display:block}.menu{display:flex;align-items:center;gap:24px;font-size:12px;text-transform:uppercase;letter-spacing:.14em}.menu a:hover{color:#fff}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:1px solid var(--silver);color:#090909;background:var(--silver);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.btn.ghost{background:rgba(0,0,0,.22);color:#fff;border-color:#777}.mobile-toggle{display:none;background:none;border:0;color:#fff;font-size:28px}.hero{min-height:84vh;display:grid;align-items:end;position:relative;overflow:hidden;background-position:center 38%;background-size:cover;background-repeat:no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.70) 34%,rgba(0,0,0,.16) 72%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 48%)}.hero-inner{position:relative;z-index:2;padding:100px 0 75px;max-width:760px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.25em;font-size:11px;font-weight:700}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(55px,7.8vw,112px);font-weight:400;line-height:.78;margin:20px 0 28px;letter-spacing:-.045em;color:var(--silver);text-shadow:0 2px 30px rgba(0,0,0,.5)}.hero h1 span{color:#fff}.hero p{max-width:620px;color:#ddd;font-size:clamp(17px,1.7vw,22px)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.pillars{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d0d0d}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr)}.pillar-grid>div{padding:28px 34px;border-right:1px solid var(--line)}.pillar-grid>div:last-child{border:0}.pillar-grid b{font-family:Georgia,serif;font-size:27px;font-weight:400;color:var(--silver);display:block}.pillar-grid span{color:#858585;text-transform:uppercase;font-size:10px;letter-spacing:.16em}.section{padding:92px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section h2,.cta h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,5.4vw,72px);line-height:.94;margin:9px 0}.lead{max-width:470px;color:#aaa;font-size:17px}.muted{color:var(--muted)}.editorial-grid{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:300px 300px;gap:12px}.shot{margin:0;overflow:hidden;background:#111}.shot.tall{grid-row:1/3}.shot img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s transform,.5s filter}.shot:hover img{transform:scale(1.025);filter:brightness(1.07)}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{background:linear-gradient(145deg,#151515,#0d0d0d);border:1px solid var(--line);min-height:310px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.card:before{content:"";position:absolute;left:0;top:0;width:1px;height:70px;background:var(--silver)}.card>*{position:relative}.card .date{color:var(--accent);font-size:10px;letter-spacing:.18em;text-transform:uppercase}.card h3{font-family:Georgia,serif;font-weight:400;font-size:29px;margin:8px 0}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}.photo-frame{position:relative;min-height:500px;overflow:hidden;border:1px solid var(--line);background:#111}.photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-real{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-auto-rows:285px;gap:10px}.gallery-real a{display:block;overflow:hidden;background:#111}.gallery-real a:first-child{grid-row:span 2}.gallery-real a:nth-child(4){grid-column:span 2}.gallery-real img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}.gallery-real a:hover img{transform:scale(1.035);filter:brightness(1.08)}.cta{padding:85px 0;background:linear-gradient(125deg,#d8d8d6,#a8a8a8);color:#080808}.cta .eyebrow{color:#333}.cta h2{font-size:clamp(45px,6vw,82px)}.cta .btn{background:#0b0b0b;color:#fff;border-color:#0b0b0b}.footer{padding:50px 0;color:#999;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-logo{max-width:220px;opacity:.85;filter:grayscale(1) brightness(2)}.page-hero{padding:120px 0 65px;background:linear-gradient(145deg,#191919,#090909);border-bottom:1px solid var(--line)}.page-hero h1{font-family:Georgia,serif;font-size:clamp(50px,8vw,100px);font-weight:400;margin:0}.content{padding:65px 0}.notice{border:1px solid #777;padding:25px;background:#121212}
@media(max-width:800px){.wrap{width:calc(100% - 28px)}.nav{height:72px}.brand img{height:54px;max-width:205px}.mobile-toggle{display:block}.menu{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0b0b;padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.menu.open{display:flex}.nav-cta{display:none}.hero{min-height:76vh;background-position:58% center}.hero-inner{padding:80px 0 55px}.hero h1{font-size:53px}.pillar-grid,.grid3,.split,.footer-grid{grid-template-columns:1fr}.pillar-grid>div{border-right:0;border-bottom:1px solid var(--line);padding:20px}.section{padding:65px 0}.section-head{align-items:flex-start;flex-direction:column}.editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:310px 220px}.shot.tall{grid-column:1/3;grid-row:auto}.photo-frame{min-height:380px}.gallery-real{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-real a:first-child{grid-row:span 1;grid-column:span 2}.gallery-real a:nth-child(4){grid-column:span 1}}

.event-card{position:relative}.event-card .event-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.24;filter:grayscale(.2)}.event-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.1));pointer-events:none}.event-card>*:not(.event-bg){z-index:2}


/* ===== V1.6 – BLACK / CHROME HOMEPAGE ===== */
:root{--accent:#c8c8c8;--silver:#f0f0ef;--chrome:#b9b9b9}
.site-header{background:rgba(4,4,4,.96);border-bottom:1px solid #202020}
.nav{height:104px}
.brand{display:flex;align-items:center;width:285px;overflow:hidden}
.brand img{height:88px;width:100%;max-width:285px;object-fit:contain;object-position:center;background:#000}
.nav-cta,.btn{background:linear-gradient(180deg,#f2f2f2 0%,#bdbdbd 48%,#f5f5f5 100%);border-color:#d7d7d7;color:#070707;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.btn.ghost{background:rgba(0,0,0,.48);color:#fff;border-color:#8e8e8e;box-shadow:none}
.hero-poster-wrap{position:relative;background:#000;min-height:calc(100vh - 104px);display:flex;align-items:center;overflow:hidden}
.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.hero-poster-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),transparent 50%),linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.08) 42%,rgba(0,0,0,.05) 100%)}
.hero-poster-content{position:relative;z-index:2;align-self:flex-end;padding:0 0 58px}
.hero-poster-content .eyebrow{font-size:12px;color:#e5e5e5;text-shadow:0 2px 12px #000}
.hero-kicker{font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3vw,44px);letter-spacing:.08em;color:#fff;margin-top:7px;text-shadow:0 2px 20px #000}
.hero-poster-content .actions{margin-top:22px}
.pillars{background:#080808;border-color:#262626}
.pillar-grid b{background:linear-gradient(180deg,#fff,#8a8a8a 52%,#f5f5f5);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro-section{background:radial-gradient(circle at 50% 0,#151515 0,#090909 45%,#070707 100%)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feature-card{position:relative;min-height:500px;overflow:hidden;border:1px solid #292929;background:#111}
.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s transform,.6s filter}
.feature-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.05) 58%)}
.feature-card:hover img{transform:scale(1.035);filter:brightness(1.08)}
.feature-overlay{position:absolute;z-index:2;left:26px;right:26px;bottom:26px}
.feature-overlay span{display:block;font-size:10px;letter-spacing:.28em;color:#cfcfcf;margin-bottom:7px}
.feature-overlay strong{font-family:Georgia,serif;font-size:31px;font-weight:400;color:#fff}
.events-section{background:#050505}
.event-card{min-height:330px}
.experience-section{background:linear-gradient(120deg,#080808,#111)}
.gallery-section{background:#080808}
.cta{background:linear-gradient(120deg,#e5e5e5,#858585 48%,#dadada);position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.22),transparent 45%);pointer-events:none}
.cta .wrap{position:relative;z-index:2}
.footer-brand-logo{width:260px;max-width:100%;display:block;background:#000;margin-bottom:10px}
@media(max-width:900px){
  .nav{height:82px}.brand{width:205px}.brand img{height:68px;max-width:205px}
  .hero-poster-wrap{min-height:74vh}.hero-poster{object-position:center center}.hero-poster-content{padding-bottom:32px}
  .feature-grid{grid-template-columns:1fr}.feature-card{min-height:390px}
}
@media(max-width:560px){
  .hero-poster-wrap{min-height:72vh}.hero-poster{object-position:52% center}
  .hero-kicker{font-size:25px}.hero-poster-content .actions{gap:8px}.hero-poster-content .btn{padding:12px 14px;font-size:9px}
  .feature-card{min-height:340px}.brand{width:180px}.brand img{max-width:180px}
}


/* ===== V1.7 – REFINED HEADER / HERO / SILVER LOGO ===== */
.site-header{background:rgba(3,3,3,.985);border-bottom:1px solid #2f2f2f}
.nav{height:122px;gap:34px}
.brand{width:360px;overflow:visible;flex:0 0 360px}
.brand img{height:106px;width:360px;max-width:360px;object-fit:contain;object-position:left center;background:#000}
.menu{gap:28px;font-size:12px}
.nav-cta{padding:16px 28px;min-width:118px}
.hero-poster-wrap{min-height:calc(100vh - 122px)}
.hero-poster{object-position:center 43%}
.hero-poster-shade{background:linear-gradient(90deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.10) 46%,rgba(0,0,0,.03) 72%),linear-gradient(0deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.02) 50%,rgba(0,0,0,.02) 100%)}
.hero-poster-content{align-self:flex-start;padding-top:22vh;padding-bottom:0;max-width:780px;margin-left:0}
.hero-poster-content .eyebrow{font-size:12px;letter-spacing:.24em}
.hero-kicker{font-size:clamp(30px,3.6vw,56px);line-height:1.05;letter-spacing:.075em;max-width:920px}
.hero-poster-content .actions{margin-top:20px}
.hero-poster-content .btn{padding:15px 24px}
@media(max-width:1100px){
 .nav{height:104px}.brand{width:285px;flex-basis:285px}.brand img{height:88px;width:285px;max-width:285px}.menu{gap:18px}.hero-poster-wrap{min-height:calc(100vh - 104px)}
}
@media(max-width:900px){
 .nav{height:82px}.brand{width:215px;flex-basis:215px}.brand img{height:68px;width:215px;max-width:215px}.hero-poster-wrap{min-height:76vh}.hero-poster-content{padding-top:16vh}.hero-poster{object-position:52% center}
}
@media(max-width:560px){
 .brand{width:185px;flex-basis:185px}.brand img{width:185px;max-width:185px}.hero-poster-content{padding-top:14vh}.hero-kicker{font-size:28px;max-width:330px}.hero-poster-shade{background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.18)),linear-gradient(0deg,rgba(0,0,0,.48),transparent 50%)}
}


/* ===== V1.8 – LOGO CENTRATO / HEADER BILANCIATO ===== */
@media(min-width:1001px){
  .nav.nav-v18{
    height:128px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);
    align-items:center;
    gap:28px;
    position:relative;
  }
  .nav-v18 .menu-left{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:28px;
    white-space:nowrap;
  }
  .nav-v18 .brand{
    width:360px;
    height:116px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:visible;
    flex:none;
    margin:0 auto;
  }
  .nav-v18 .brand img{
    width:350px;
    height:112px;
    max-width:350px;
    object-fit:contain;
    object-position:center center;
    background:#000;
    display:block;
  }
  .nav-v18 .right-zone{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:28px;
    min-width:0;
  }
  .nav-v18 .menu-right{
    display:flex;
    align-items:center;
    gap:24px;
    white-space:nowrap;
  }
  .nav-v18 .nav-cta{flex:0 0 auto;padding:16px 28px;min-width:118px}
  .nav-v18 .mobile-toggle,.nav-v18 .mobile-menu{display:none!important}
  .hero-poster-wrap{min-height:calc(100vh - 128px)}
}
@media(min-width:1001px) and (max-width:1280px){
  .nav.nav-v18{grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);gap:20px}
  .nav-v18 .brand{width:300px;height:108px}
  .nav-v18 .brand img{width:295px;height:104px;max-width:295px}
  .nav-v18 .menu-left{gap:18px}
  .nav-v18 .menu-right{gap:16px}
  .nav-v18 .right-zone{gap:18px}
  .nav-v18 .nav-cta{padding:14px 20px;min-width:105px}
}
@media(max-width:1000px){
  .nav.nav-v18{height:82px;display:flex;align-items:center;justify-content:space-between;position:relative}
  .nav-v18 .brand{width:210px;height:70px;flex:0 0 210px;overflow:visible}
  .nav-v18 .brand img{width:210px;height:68px;max-width:210px;object-fit:contain;object-position:left center;background:#000}
  .nav-v18 .menu-left,.nav-v18 .right-zone{display:none}
  .nav-v18 .mobile-toggle{display:block;margin-left:auto}
  .nav-v18 .mobile-menu{display:none;position:absolute;top:82px;left:-14px;right:-14px;background:#070707;border-bottom:1px solid #2b2b2b;padding:24px;flex-direction:column;align-items:flex-start;gap:18px;z-index:50}
  .nav-v18 .mobile-menu.open{display:flex}
  .nav-v18 .mobile-menu .mobile-book{margin-top:6px;display:inline-flex;padding:12px 18px;background:linear-gradient(180deg,#f2f2f2,#bdbdbd 48%,#f5f5f5);color:#070707;border:1px solid #d7d7d7;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
  .hero-poster-wrap{min-height:76vh}
}
@media(max-width:560px){
  .nav-v18 .brand{width:185px;flex-basis:185px}
  .nav-v18 .brand img{width:185px;max-width:185px}
}


/* =========================
   V1.9 – HERO REFINEMENT
   ========================= */
@media (min-width: 1001px){
  .hero-poster-wrap{
    min-height:0 !important;
    height:auto !important;
    aspect-ratio:1672/941;
    background:#000;
    display:block;
    position:relative;
  }
  .hero-poster{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:contain !important;
    object-position:center center !important;
    background:#000;
  }
  .hero-poster-shade{display:none}
  .hero-poster-content{
    position:absolute !important;
    inset:0 !important;
    max-width:none !important;
    width:100% !important;
    padding:0 !important;
    margin:0 !important;
    z-index:3;
    pointer-events:none;
  }
  .hero-poster-content .eyebrow,
  .hero-poster-content .hero-kicker{display:none !important}
  .hero-poster-content .actions{
    position:absolute;
    left:2.35%;
    top:35.4%;
    width:22.5%;
    height:6.2%;
    margin:0 !important;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2.2%;
    pointer-events:auto;
  }
  .hero-poster-content .btn{
    padding:0 !important;
    min-width:0 !important;
    width:100%;
    height:100%;
    border:0 !important;
    background:transparent !important;
    color:transparent !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }
  .hero-poster-content .btn:focus-visible{
    outline:2px solid #fff;
    outline-offset:2px;
  }
}

@media (max-width:1000px){
  .hero-poster-wrap{
    min-height:0 !important;
    display:flex;
    flex-direction:column;
    background:#000;
    overflow:visible;
  }
  .hero-poster{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    aspect-ratio:1672/941;
    object-fit:contain !important;
    object-position:center center !important;
    display:block;
  }
  .hero-poster-shade{display:none}
  .hero-poster-content{
    position:relative !important;
    width:100%;
    max-width:none !important;
    padding:28px 22px 32px !important;
    margin:0 !important;
    align-self:auto !important;
    background:#050505;
  }
  .hero-poster-content .eyebrow{display:block !important;color:#d9d9d9}
  .hero-kicker{display:block !important;font-size:clamp(28px,7vw,42px) !important;line-height:1.05;margin-top:8px}
  .hero-poster-content .actions{margin-top:18px !important}
}

/* Pagina prenotazioni via WhatsApp – versione 2.0 */
.booking-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.booking-aside{padding:28px 0}.booking-aside h2{font:400 clamp(34px,4.3vw,58px)/1.02 Georgia,serif;margin:14px 0 22px}.booking-aside p{color:#bbb;max-width:420px}
.booking-aside .booking-number{display:inline-block;margin-top:14px;color:#e0e0e0;border-bottom:1px solid #777;padding-bottom:5px}
.booking-panel{border:1px solid #535353;background:linear-gradient(140deg,#1d1d1d,#0b0b0b);padding:clamp(22px,3vw,40px);box-shadow:0 24px 65px rgba(0,0,0,.23)}
.booking-panel h2{font:400 32px/1.1 Georgia,serif;margin:0 0 10px}.booking-panel .booking-sub{color:#aaa;font-size:14px;margin:0 0 25px}
.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-field{display:flex;flex-direction:column;gap:7px;min-width:0}.booking-field.full{grid-column:1/-1}
.booking-field label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#d8d8d8;font-weight:700}
.booking-field input,.booking-field select,.booking-field textarea{width:100%;min-width:0;border:1px solid #555;background:#111;color:#fff;padding:13px 14px;font:inherit;border-radius:0;color-scheme:dark}
.booking-field textarea{resize:vertical;min-height:96px}.booking-field input:focus,.booking-field select:focus,.booking-field textarea:focus{outline:2px solid #ddd;outline-offset:1px}
.booking-send{cursor:pointer;margin-top:24px;width:100%;font-size:12px}.booking-send:hover{filter:brightness(1.08)}
.booking-fineprint{font-size:12px;color:#aaa;line-height:1.5;margin:18px 0 0}.booking-fineprint strong{color:#ddd}
.booking-error{color:#ffd0d0;margin:12px 0 0;font-size:14px;min-height:0}
@media(max-width:800px){.booking-wrap{grid-template-columns:1fr;gap:12px}.booking-aside{padding:0 0 15px}.booking-fields{grid-template-columns:1fr}.booking-field.full{grid-column:auto}.booking-panel{padding:22px}}

/* IL LOCALE – V2.1; isolato dalle altre pagine */
.locale-page{background:#090909;color:#f5f5f5;overflow:hidden}
.locale-page .locale-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.locale-page .locale-kicker{font-size:11px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:#bcbcbc}
.locale-page h1,.locale-page h2,.locale-page h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.locale-page .locale-hero{position:relative;min-height:min(740px,80vh);display:flex;align-items:end;isolation:isolate;padding:115px 0 85px}
.locale-page .locale-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;z-index:-2}
.locale-page .locale-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.32) 70%),linear-gradient(0deg,#090909,transparent 65%);z-index:-1}
.locale-page .locale-hero-inner{max-width:780px}
.locale-page .locale-hero h1{font-size:clamp(54px,8vw,112px);line-height:.94;margin:16px 0 22px}
.locale-page .locale-hero p{font-size:clamp(16px,1.6vw,21px);line-height:1.55;max-width:540px;color:#e5e5e5}
.locale-page .locale-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.locale-page .locale-button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:14px 22px;border:1px solid #c9c9c9;background:linear-gradient(130deg,#f7f7f7,#bfbfbf);color:#141414;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:750;letter-spacing:.12em;transition:transform .2s ease,filter .2s ease}
.locale-page .locale-button.outline{background:rgba(0,0,0,.38);color:#eee}
.locale-page .locale-button:hover{transform:translateY(-2px);filter:brightness(1.13)}
.locale-page .locale-section{padding:clamp(58px,7vw,112px) 0}
.locale-page .locale-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,6vw,100px);align-items:center}
.locale-page .locale-intro h2,.locale-page .locale-split h2,.locale-page .locale-gallery-head h2{font-size:clamp(40px,5vw,76px);line-height:1.04;margin:15px 0 21px}
.locale-page .locale-copy{color:#c3c3c3;font-size:17px;line-height:1.75;max-width:530px}
.locale-page .locale-image{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;box-shadow:0 26px 80px #0006}
.locale-page .locale-intro .locale-image{aspect-ratio:5/4}
.locale-page .locale-divider{height:1px;background:linear-gradient(90deg,transparent,#666,transparent);margin:0 auto;width:min(1180px,calc(100% - 48px))}
.locale-page .locale-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.locale-page .locale-tile{position:relative;min-height:460px;isolation:isolate;display:flex;flex-direction:column;justify-content:end;padding:30px;overflow:hidden;background:#1b1b1b}
.locale-page .locale-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .45s ease}
.locale-page .locale-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000e,transparent 82%);z-index:-1}
.locale-page .locale-tile:hover img{transform:scale(1.04)}
.locale-page .locale-tile h3{font-size:clamp(30px,3vw,46px);margin:8px 0}
.locale-page .locale-tile p{color:#e0e0e0;margin:0;line-height:1.5}
.locale-page .locale-split{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(25px,7vw,110px)}
.locale-page .locale-split .locale-image{aspect-ratio:5/4}
.locale-page .locale-gallery-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.locale-page .locale-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.locale-page .locale-gallery figure{margin:0;grid-column:span 4;background:#191919;overflow:hidden}
.locale-page .locale-gallery figure:first-child,.locale-page .locale-gallery figure:nth-child(4){grid-column:span 6}
.locale-page .locale-gallery figure:nth-child(2),.locale-page .locale-gallery figure:nth-child(3){grid-column:span 3}
.locale-page .locale-gallery img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.locale-page .locale-gallery a{display:block;height:100%}
.locale-page .locale-gallery a:hover img{transform:scale(1.035)}
.locale-page .locale-cta{text-align:center;padding:90px 20px 105px;background:radial-gradient(ellipse at top,#303030,#090909 67%);border-top:1px solid #3e3e3e}
.locale-page .locale-cta h2{font-size:clamp(45px,6vw,78px);line-height:1.05;margin:18px 0}
.locale-page .locale-cta p{color:#c5c5c5;margin-bottom:27px}
@media(max-width:900px){.locale-page .locale-hero{min-height:650px}.locale-page .locale-intro,.locale-page .locale-split{grid-template-columns:1fr}.locale-page .locale-trio{grid-template-columns:1fr 1fr}.locale-page .locale-tile{min-height:380px}.locale-page .locale-gallery figure,.locale-page .locale-gallery figure:first-child,.locale-page .locale-gallery figure:nth-child(2),.locale-page .locale-gallery figure:nth-child(3),.locale-page .locale-gallery figure:nth-child(4){grid-column:span 6}}
@media(max-width:600px){.locale-page .locale-wrap{width:calc(100% - 36px)}.locale-page .locale-hero{min-height:630px;padding:105px 0 55px}.locale-page .locale-hero img{object-position:58% center}.locale-page .locale-trio{grid-template-columns:1fr}.locale-page .locale-tile{min-height:400px}.locale-page .locale-gallery{gap:8px}.locale-page .locale-gallery figure,.locale-page .locale-gallery figure:first-child,.locale-page .locale-gallery figure:nth-child(2),.locale-page .locale-gallery figure:nth-child(3),.locale-page .locale-gallery figure:nth-child(4){grid-column:span 6}.locale-page .locale-gallery-head{display:block}.locale-page .locale-image{aspect-ratio:4/3}.locale-page .locale-actions .locale-button{width:100%}}


/* V2.2 – rifiniture Il Locale */
.locale-page .locale-trio .locale-tile:after{background:linear-gradient(0deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.72) 27%,rgba(0,0,0,.12) 100%)}
.locale-page .locale-trio .locale-tile h3,.locale-page .locale-trio .locale-tile p,.locale-page .locale-trio .locale-tile .locale-kicker{text-shadow:0 2px 13px rgba(0,0,0,.85)}
.locale-page .locale-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.locale-page .locale-gallery figure,.locale-page .locale-gallery figure:first-child,.locale-page .locale-gallery figure:nth-child(2),.locale-page .locale-gallery figure:nth-child(3),.locale-page .locale-gallery figure:nth-child(4){grid-column:auto;aspect-ratio:4/3}
.locale-page .locale-gallery img{aspect-ratio:auto}
.footer-brand-logo{display:block;width:245px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:700px){.locale-page .locale-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

/* V2.2 – archivio eventi e pagine singole */
.tf-events-page{background:#080808;color:#f3f3f3;min-height:65vh}
.tf-events-container{width:min(1180px,calc(100% - 44px));margin:0 auto}
.tf-events-eyebrow{text-transform:uppercase;letter-spacing:.21em;font-size:11px;font-weight:700;color:#c8c8c8}
.tf-events-hero{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;padding:92px 0;background:#171717}
.tf-events-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/gallery/red-show.jpg') center 46%/cover no-repeat}
.tf-events-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.48) 78%),linear-gradient(0deg,#080808,transparent 55%)}
.tf-events-hero h1,.tf-events-single-head h1{font:400 clamp(68px,9vw,124px)/1 Georgia,serif;margin:16px 0 20px;letter-spacing:-.04em}
.tf-events-hero p{max-width:560px;font-size:19px;line-height:1.6;color:#dedede}
.tf-events-button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:15px 22px;margin-top:15px;background:linear-gradient(145deg,#f7f7f7,#bdbdbd);border:1px solid #dadada;color:#101010;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.tf-events-button.outline{background:transparent;color:#e5e5e5}
.tf-events-section{padding:85px 0 110px}
.tf-events-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:32px}.tf-events-heading h2{font:400 clamp(39px,5vw,72px)/1 Georgia,serif;margin:14px 0 0}.tf-events-heading p{max-width:320px;color:#aaa}
.tf-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tf-event-tile{display:block;background:#151515;border:1px solid #313131;overflow:hidden;color:#eee;transition:border-color .2s,transform .2s}.tf-event-tile:hover{border-color:#999;transform:translateY(-3px)}
.tf-event-photo{height:390px;background:#191919;overflow:hidden}.tf-event-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.tf-event-tile:hover img{transform:scale(1.035)}
.tf-event-info{padding:24px}.tf-event-info h3{font:400 32px/1.1 Georgia,serif;margin:14px 0 20px}.tf-event-info>span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;border-bottom:1px solid #999;padding-bottom:5px}
.tf-events-empty{border:1px solid #3a3a3a;background:linear-gradient(120deg,#202020,#0b0b0b);padding:55px;max-width:750px}.tf-events-empty h3{font:400 clamp(30px,4vw,53px)/1.1 Georgia,serif;margin:16px 0}.tf-events-empty p{color:#bcbcbc;line-height:1.7}
.tf-events-banner{text-align:center;padding:75px 15px 92px;border-top:1px solid #333;background:radial-gradient(ellipse at top,#292929,#090909 70%)}.tf-events-banner h2{font:400 clamp(35px,5vw,66px)/1 Georgia,serif;margin:15px 0 26px}
.tf-events-single-head{padding:95px 0 45px;background:linear-gradient(140deg,#202020,#090909)}.tf-events-single-head h1{font-size:clamp(48px,7vw,95px);max-width:900px}.tf-event-back{display:inline-block;color:#bbb;margin-bottom:36px;border-bottom:1px solid #666;padding-bottom:6px;font-size:12px}
.tf-event-single-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:60px}.tf-event-poster img{width:100%;height:auto;display:block}.tf-event-single-copy{font-size:18px;line-height:1.75;color:#ddd}.tf-event-single-copy p{margin:18px 0}.tf-event-single-copy .tf-event-confirm{font-size:13px;color:#bbb;margin-top:30px}
.tf-events-pages{margin-top:35px}.tf-events-pages .page-numbers{padding:8px;color:#ddd}
@media(max-width:900px){.tf-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tf-event-single-grid{grid-template-columns:1fr;gap:28px}.tf-event-poster{max-width:650px}}
@media(max-width:600px){.tf-events-container{width:calc(100% - 36px)}.tf-events-hero{min-height:450px;padding:65px 0}.tf-events-section{padding:60px 0 75px}.tf-events-heading{display:block}.tf-events-grid{grid-template-columns:1fr}.tf-event-photo{height:auto;aspect-ratio:4/4.5}.tf-events-empty{padding:27px}}

/* V2.3 – Menu digitale nero e argento */
.tfm-main{background:#090909;min-height:65vh}.tfm-hero{background:linear-gradient(125deg,#202020,#080808);padding:90px 0 64px;border-bottom:1px solid #303030}.tfm-hero h1{font:400 clamp(48px,7vw,94px)/1.05 Georgia,serif;margin:16px 0}.tfm-hero p{font-size:18px;color:#dedede;margin:0 0 16px}.tfm-note{font-size:12px;color:#bbb;letter-spacing:.04em}.tfm-container{padding-top:42px;padding-bottom:70px}.tfm-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:52px}.tfm-categories a{border:1px solid #626262;padding:10px 17px;letter-spacing:.09em;font-size:12px;text-transform:uppercase;transition:.2s}.tfm-categories a:hover,.tfm-categories a:focus-visible{background:#ddd;color:#090909}.tfm-section{padding:35px 0 40px;scroll-margin-top:135px;border-top:1px solid #303030}.tfm-section h2,.tfm-empty h2{font:400 clamp(36px,5vw,57px)/1.08 Georgia,serif;margin:0 0 30px}.tfm-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tfm-product{display:flex;gap:17px;background:#141414;border:1px solid #2d2d2d;padding:18px;min-width:0;align-items:flex-start}.tfm-product-photo{width:112px;height:112px;flex:0 0 112px;background:#222}.tfm-product-photo img{width:100%;height:100%;object-fit:cover;display:block}.tfm-product-info{min-width:0;flex:1}.tfm-product-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.tfm-product-title h3{font:400 25px/1.2 Georgia,serif;margin:0}.tfm-price{white-space:nowrap;font-weight:bold;color:#e4e4e4}.tfm-product-info p{font-size:14px;color:#bdbdbd;margin:11px 0 0}.tfm-soldout{opacity:.65}.tfm-unavailable{display:inline-block;margin-top:12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;border:1px solid #aaa;padding:5px 8px;color:#eee}.tfm-legal{font-size:13px;color:#999;border-top:1px solid #303030;margin-top:38px;padding-top:22px}.tfm-empty{border:1px solid #383838;padding:45px;background:#151515}.tfm-empty p{color:#bbb}
@media(max-width:700px){.tfm-hero{padding:60px 0 40px}.tfm-products{grid-template-columns:1fr}.tfm-product{padding:14px;gap:12px}.tfm-product-photo{width:88px;height:88px;flex-basis:88px}.tfm-product-title h3{font-size:21px}.tfm-price{font-size:14px}.tfm-section{scroll-margin-top:85px}.tfm-categories{margin-bottom:32px}.tfm-categories a{font-size:11px;padding:9px 12px}}

/* V2.5 — Prenotazioni WhatsApp */
.tf-wa-float{
  position:fixed; right:22px; bottom:22px; z-index:9999;
  display:flex; align-items:center; gap:10px;
  padding:13px 16px; border-radius:999px;
  background:#f1f1f1; color:#090909 !important;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 10px 30px rgba(0,0,0,.38);
  font-weight:700; letter-spacing:.02em; text-decoration:none;
}
.tf-wa-float:hover{transform:translateY(-1px);background:#fff}
.tf-wa-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#111;color:#fff;font-size:15px}
.tf-menu-wa-strip{background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.12)}
.tf-menu-wa-strip .wrap{display:flex;justify-content:center;align-items:center;gap:18px;padding:16px 20px}
.tf-menu-wa-strip span{color:#d7d7d7;font-weight:600}
.tf-wa-btn{background:#d7d7d7 !important;color:#080808 !important;border-color:#d7d7d7 !important}
@media(max-width:700px){
  .tf-wa-float{right:14px;bottom:14px;padding:12px}
  .tf-wa-label{display:none}
  .tf-menu-wa-strip .wrap{flex-direction:column;gap:10px;text-align:center}
}

/* V2.8 - nuovo logo ufficiale */
.brand{display:flex;align-items:center;justify-content:center;background:#fff;padding:5px 10px;line-height:0}
.brand img{height:68px;width:auto;max-width:360px;object-fit:contain;display:block}
.footer-brand-logo{background:#fff!important;padding:10px!important;width:270px!important;max-width:100%!important;object-fit:contain!important}
@media(max-width:820px){.brand{padding:4px 7px}.brand img{height:50px;max-width:250px}.footer-brand-logo{width:230px!important}}


/* V3.1 — menu editoriale */
.tfm-v31 .tfm-container{padding-top:34px}
.tfm-categories-v31{position:sticky;top:104px;z-index:12;background:rgba(8,8,8,.94);backdrop-filter:blur(12px);padding:14px 0 16px;border-bottom:1px solid #292929;display:flex;gap:10px;flex-wrap:wrap}
.tfm-categories-v31 a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #3a3a3a;padding:10px 15px;font-size:11px;text-transform:uppercase;letter-spacing:.13em;background:#101010;transition:.2s ease}
.tfm-categories-v31 a:hover{background:#e1e1df;color:#080808;border-color:#e1e1df}
.tfm-v31 .tfm-section{padding:56px 0 60px;border-bottom:1px solid #292929;scroll-margin-top:170px}
.tfm-v31 .tfm-section h2{margin:0 0 28px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(42px,5vw,68px);font-weight:400;line-height:1}
.tfm-v31 .tfm-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tfm-v31 .tfm-product{min-height:112px;padding:20px 18px;background:#121212;border:1px solid #2d2d2d}
.tfm-v31 .tfm-product-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.tfm-v31 .tfm-product h3{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:24px;font-weight:400;line-height:1.2}
.tfm-v31 .tfm-product p{margin:9px 0 0;color:#c5c5c5;font-size:14px;line-height:1.55}
.tfm-v31 .tfm-price{white-space:nowrap;font-weight:700;font-size:15px;padding-top:5px;color:#f1f1ef}
@media(max-width:800px){
  .tfm-categories-v31{top:72px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px;-webkit-overflow-scrolling:touch}
  .tfm-categories-v31 a{white-space:nowrap;flex:0 0 auto}
  .tfm-v31 .tfm-products{grid-template-columns:1fr}
  .tfm-v31 .tfm-section{scroll-margin-top:135px;padding:42px 0 46px}
}

/* V3.2 – sottosezioni Beverage */
.tfm-subsection-title{font:400 28px/1.15 Georgia,'Times New Roman',serif;margin:36px 0 16px;color:#e8e8e6;letter-spacing:.01em}.tfm-subsection-title:first-of-type{margin-top:8px}.tfm-v31 .tfm-section .tfm-products + .tfm-subsection-title{margin-top:42px}
@media(max-width:700px){.tfm-subsection-title{font-size:24px;margin-top:30px}}


/* V4.0 - servizio tavolo */
.tfm-service-charge{margin:44px 0 18px;padding:18px 20px;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:16px;letter-spacing:.03em;color:#f3f3f3}
.tfm-service-charge strong{font-family:Georgia,serif;font-size:20px;white-space:nowrap;color:#fff}
@media(max-width:640px){.tfm-service-charge{font-size:14px;padding:16px 4px}.tfm-service-charge strong{font-size:17px}}
