/*
Theme Name: Fazio Atelier
Theme URI: https://www.casavinicolafazio.it/
Author: OpenAI
Description: Tema WordPress editoriale premium per Casa Vinicola Fazio, ispirato all'eleganza contemporanea delle grandi cantine italiane. Non replica il design di Marchesi Antinori.
Version: 1.6.0
Requires at least: 6.2
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: fazio-atelier
License: GPL-2.0-or-later
*/

:root{
  --fazio-ink:#171717;
  --fazio-paper:#f4f1eb;
  --fazio-cream:#fbfaf7;
  --fazio-wine:#6c1e26;
  --fazio-olive:#626950;
  --fazio-sand:#c9b79f;
  --fazio-line:rgba(23,23,23,.16);
  --fazio-white:#fff;
  --fazio-shadow:0 18px 50px rgba(0,0,0,.10);
  --fazio-serif:Georgia, 'Times New Roman', Times, serif;
  --fazio-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fazio-paper);color:var(--fazio-ink);font-family:var(--fazio-sans);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.narrow{width:min(820px,calc(100% - 48px));margin-inline:auto}
.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;opacity:.7}
.display{font-family:var(--fazio-serif);font-weight:400;letter-spacing:-.03em;line-height:.98}
.lead{font-size:clamp(1.08rem,1.6vw,1.35rem);max-width:760px}
.muted{opacity:.72}
.small{font-size:.82rem}
.section{padding:104px 0}
.section--dark{background:var(--fazio-ink);color:#fff}
.section--cream{background:var(--fazio-cream)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}
.section-head h2{font-size:clamp(2.7rem,6vw,5.6rem);margin:.1em 0 0}
.section-head p{max-width:620px;margin:0;opacity:.76}
.rule{height:1px;background:var(--fazio-line)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,241,235,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--fazio-line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:32px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:92px}
.brand-text{display:none}
.primary-nav ul{display:flex;align-items:center;gap:26px;list-style:none;padding:0;margin:0}
.primary-nav a{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.primary-nav a:hover{opacity:.6}
.header-actions{display:flex;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid currentColor;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn--dark{background:var(--fazio-ink);color:#fff;border-color:var(--fazio-ink)}
.btn--light{background:#fff;color:var(--fazio-ink);border-color:#fff}
.btn--wine{background:var(--fazio-wine);color:#fff;border-color:var(--fazio-wine)}
.menu-toggle{display:none;border:0;background:none;padding:8px;font-size:22px;cursor:pointer}

/* Hero */
.hero{min-height:78vh;position:relative;color:#fff;background:var(--fazio-ink);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.18))}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.hero--video::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(0,0,0,.58))}
.hero-inner{position:relative;z-index:2;min-height:78vh;display:flex;align-items:flex-end;padding:110px 0 72px}
.hero-copy{max-width:820px}
.hero h1{font-size:clamp(4.2rem,10vw,9.5rem);margin:14px 0 24px}
.hero p{max-width:660px;font-size:1.18rem;opacity:.9}
.hero-meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* Feature cards */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--fazio-line)}
.feature-card{background:var(--fazio-cream);padding:44px;min-height:420px;display:flex;flex-direction:column;justify-content:space-between}
.feature-card img{aspect-ratio:4/3;object-fit:cover;margin:-44px -44px 30px;width:calc(100% + 88px);max-width:none}
.feature-card h3{font:400 clamp(2rem,3.4vw,3.25rem)/1 var(--fazio-serif);margin:10px 0}
.feature-card p{max-width:420px}
.feature-card .link{margin-top:20px;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}

/* Editorial split */
.split{display:grid;grid-template-columns:1.04fr .96fr;min-height:620px}
.split > *{min-height:100%}
.split-media{background-size:cover;background-position:center}
.split-copy{padding:80px;display:flex;align-items:center}
.split-copy-inner{max-width:620px}
.split-copy h2{font:400 clamp(3rem,6vw,6rem)/.95 var(--fazio-serif);margin:14px 0 24px}
.split--reverse .split-media{order:2}
.split--reverse .split-copy{order:1}

/* Wine catalog */
.wine-groups{display:grid;gap:54px}
.wine-group{border-top:1px solid rgba(255,255,255,.2);padding-top:24px}
.wine-group h3{font:400 clamp(2rem,4vw,3.3rem)/1 var(--fazio-serif);margin:0 0 18px}
.wine-group p{max-width:760px;opacity:.78}
.wine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.wine-card{border:1px solid rgba(255,255,255,.14);min-height:220px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.035)}
.wine-card strong{font:400 1.5rem/1 var(--fazio-serif);display:block;margin-top:auto}
.wine-card span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.62}
.wine-card a{margin-top:20px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

/* Video */
.video-frame{position:relative;aspect-ratio:16/9;background:#000;border:1px solid rgba(255,255,255,.14);overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Experiences */
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.experience{background:#fff;border:1px solid var(--fazio-line);padding:32px;min-height:360px;display:flex;flex-direction:column}
.experience .price{font:400 2.2rem/1 var(--fazio-serif);margin:18px 0}
.experience h3{font:400 2rem/1 var(--fazio-serif);margin:0}
.experience ul{padding-left:18px;margin:12px 0 24px}
.experience .btn{margin-top:auto}

/* News */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.news-card{background:var(--fazio-cream);border:1px solid var(--fazio-line);padding:28px;min-height:250px;display:flex;flex-direction:column}
.news-card time{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;opacity:.6}
.news-card h3{font:400 2rem/1.05 var(--fazio-serif);margin:20px 0 24px}
.news-card a{margin-top:auto;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:20px}
.contact-card{background:var(--fazio-ink);color:#fff;padding:52px}
.contact-card h2{font:400 clamp(2.6rem,5vw,5rem)/.95 var(--fazio-serif);margin:12px 0 24px}
.contact-list{display:grid;gap:18px;margin-top:34px}
.contact-item span{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:5px}
.form-card{background:#fff;border:1px solid var(--fazio-line);padding:36px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-field{display:grid;gap:7px}
.form-field--full{grid-column:1/-1}
.form-field label{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.form-field input,.form-field textarea{width:100%;border:1px solid var(--fazio-line);background:var(--fazio-cream);padding:14px 16px;outline:none}
.privacy-field{align-content:start}.privacy-label{display:flex!important;align-items:flex-start;gap:10px;font-size:.82rem!important;line-height:1.45!important;letter-spacing:0!important;text-transform:none!important;font-weight:400!important;cursor:pointer}.privacy-label input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px;margin:2px 0 0 0;padding:0;accent-color:var(--fazio-ink);cursor:pointer}.privacy-label span{display:block;color:var(--fazio-ink);opacity:.9}
.form-field textarea{min-height:180px;resize:vertical}
.form-note{font-size:.78rem;opacity:.7}

/* Footer */
.site-footer{background:var(--fazio-ink);color:#fff;padding:72px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px}
.footer-brand img{width:140px;filter:invert(1);opacity:.9}
.footer-brand p{max-width:470px;opacity:.68;margin-top:24px}
.footer-col h4{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.52;margin:4px 0 16px}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-col li{opacity:.8}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;margin-top:52px;font-size:.76rem;opacity:.52}

/* Internal pages */
.page-hero{background:var(--fazio-ink);color:#fff;padding:110px 0 100px}
.page-hero h1{font:400 clamp(4rem,9vw,8rem)/.92 var(--fazio-serif);margin:12px 0 0}
.page-shell{padding:78px 0}
.editorial{max-width:840px}
.editorial h2{font:400 clamp(2.5rem,5vw,4.8rem)/.98 var(--fazio-serif);margin:58px 0 20px}
.editorial p{font-size:1.08rem}
.editorial .media-banner{margin:42px 0;aspect-ratio:16/7;object-fit:cover;width:100%}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.download-list{display:grid;gap:12px;margin-top:28px}
.download-list a{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid var(--fazio-line);background:#fff}
.download-list span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.65}

/* Cookie-safe note */
.notice{padding:18px 20px;border:1px solid var(--fazio-line);background:#fff7e8;font-size:.86rem}

@media(max-width:1050px){
    .header-inner{gap:18px}
  .primary-nav{display:block;min-width:0}
  .primary-nav ul{gap:16px;flex-wrap:wrap;justify-content:center}
  .primary-nav a{font-size:.68rem}
  .header-actions .btn{display:inline-flex}
  .feature-grid,.news-grid,.experience-grid{grid-template-columns:1fr 1fr}
  .wine-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:800px){
    .header-actions{order:2}

  .header-inner{position:relative;flex-wrap:wrap}
  .menu-toggle{display:block;margin-left:8px;order:3}
  .header-actions{order:4}
  .header-actions .btn{display:none}
  .primary-nav{display:none;order:5;width:100%;padding:10px 0 18px}
  .primary-nav.is-open{display:block}
  .primary-nav ul{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--fazio-line)}
  .primary-nav li{border-bottom:1px solid var(--fazio-line)}
  .primary-nav a{display:block;padding:12px 4px}
  .container,.narrow{width:min(100% - 28px,1240px)}
  .section{padding:72px 0}
  .hero,.hero-inner{min-height:72vh}
  .split{grid-template-columns:1fr}
  .split-media{min-height:360px}
  .split--reverse .split-media,.split--reverse .split-copy{order:initial}
  .split-copy{padding:48px 28px}
  .feature-grid,.news-grid,.experience-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .feature-card{min-height:unset;padding:28px}
  .feature-card img{margin:-28px -28px 24px;width:calc(100% + 56px)}
  .form-grid{grid-template-columns:1fr}
  .form-field--full{grid-column:auto}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column}
}
@media(max-width:520px){
  .header-inner{min-height:72px}
  .brand img{width:78px}
  .hero h1{font-size:4.2rem}
  .wine-grid,.gallery-grid{grid-template-columns:1fr}
}

/* Interactive brochure */
.brochure-shell{background:#0f1010;color:#fff;padding:30px;border-radius:2px;box-shadow:var(--fazio-shadow);margin-top:40px}
.flipbook-wrap{position:relative;background:#0b0c0c;min-height:720px;padding:20px 20px 26px;display:flex;flex-direction:column;gap:16px}
.flipbook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.flipbook-controls,.flipbook-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.flipbook-control{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.04);color:#fff;min-height:40px;padding:0 13px;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.flipbook-control:hover{background:rgba(255,255,255,.1)}
.flipbook-counter{font:400 1.05rem/1 var(--fazio-serif);white-space:nowrap}
.flipbook-caption{opacity:.62;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px}
.flipbook-progress-track{height:2px;background:rgba(255,255,255,.12)}
.flipbook-progress{height:2px;background:var(--fazio-sand);width:0;transition:width .3s ease}
.flipbook-stage{display:flex;justify-content:center;align-items:center;flex:1;min-height:0;padding:16px 0;overflow:auto}
.flipbook-page{position:relative;width:min(820px,92vw);aspect-ratio:1/1;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.5);overflow:hidden;transform-style:preserve-3d;transition:transform .18s ease,opacity .18s ease}
.flipbook-page.is-next{transform:perspective(1000px) rotateY(-5deg) translateX(12px);opacity:.82}
.flipbook-page.is-prev{transform:perspective(1000px) rotateY(5deg) translateX(-12px);opacity:.82}
.flipbook-page.is-ready{transform:none;opacity:1}
.flipbook-page img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .18s ease;user-select:none;-webkit-user-drag:none}
.flipbook-captionbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:2px}
.flipbook-thumbs{display:flex;gap:8px;overflow:auto;padding:6px 2px 2px;scrollbar-width:thin}
.flipbook-thumb{width:64px;height:64px;object-fit:cover;flex:none;border:1px solid rgba(255,255,255,.15);opacity:.45;cursor:pointer;transition:.18s ease}
.flipbook-thumb:hover{opacity:.8}
.flipbook-thumb.is-active{opacity:1;border-color:var(--fazio-sand);box-shadow:0 0 0 1px var(--fazio-sand)}
.flipbook-index{position:absolute;inset:70px 20px 110px auto;width:min(420px,calc(100% - 40px));background:rgba(18,18,18,.98);border:1px solid rgba(255,255,255,.16);padding:18px;z-index:8;transform:translateX(110%);transition:transform .25s ease;box-shadow:0 28px 70px rgba(0,0,0,.4)}
.flipbook-index.is-open{transform:none}
.flipbook-index-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.flipbook-index-head strong{font:400 2rem/1 var(--fazio-serif)}
.flipbook-index-close{border:1px solid rgba(255,255,255,.2);background:none;color:#fff;width:38px;height:38px;cursor:pointer}
.flipbook-index-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:100%;overflow:auto}
.flipbook-index-list button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#fff;text-align:left;padding:11px 12px;cursor:pointer;font-size:.78rem}
.flipbook-index-list button:hover{background:rgba(255,255,255,.08)}
.brochure-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:end}
.brochure-intro h2{font:400 clamp(2.6rem,6vw,5.5rem)/.95 var(--fazio-serif);margin:10px 0 18px}
.brochure-intro p{max-width:700px;opacity:.76}
.brochure-quicklinks{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.brochure-fallback{margin-top:20px;display:flex;gap:10px;flex-wrap:wrap}
.brochure-fallback .btn{border-color:var(--fazio-line)}
.press-materials{margin-top:70px;padding-top:34px;border-top:1px solid var(--fazio-line)}
.press-materials h3{font:400 2.5rem/1 var(--fazio-serif);margin:0 0 20px}

@media(max-width:800px){
  .brochure-shell{padding:12px}
  .flipbook-wrap{min-height:0;padding:12px 10px 18px}
  .flipbook-toolbar{align-items:flex-start}
  .flipbook-stage{padding:8px 0}
  .flipbook-page{width:min(94vw,680px)}
  .flipbook-index{inset:64px 10px 100px 10px;width:auto}
  .flipbook-index-list{grid-template-columns:1fr}
  .brochure-intro{grid-template-columns:1fr}
  .brochure-quicklinks{justify-content:flex-start}
  .flipbook-caption{max-width:220px}
}

/* Interactive wine collection */
.wine-hero-section{background:var(--fazio-ink);color:#fff;padding:96px 0 88px;position:relative;overflow:hidden}
.wine-hero-section:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-180px;top:-180px}
.wine-hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;position:relative;z-index:1}
.wine-hero-title{font-size:clamp(4rem,8vw,7.6rem);margin:12px 0 0}
.wine-hero-copy{max-width:520px;justify-self:end}
.wine-hero-copy p{font-size:1.08rem;line-height:1.75;opacity:.75;margin:0 0 26px}
.wine-toolbar{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:34px;padding-bottom:20px;border-bottom:1px solid var(--fazio-line)}
.wine-filters{display:flex;gap:7px;flex-wrap:wrap}
.wine-filter{border:1px solid var(--fazio-line);background:transparent;color:var(--fazio-ink);padding:11px 13px;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:.18s ease}
.wine-filter:hover,.wine-filter.is-active{background:var(--fazio-ink);color:#fff;border-color:var(--fazio-ink)}
.wine-search{display:flex;align-items:center;gap:9px;min-width:220px;border-bottom:1px solid var(--fazio-ink);padding:8px 2px}
.wine-search span{font-size:1.2rem}
.wine-search input{border:0;outline:0;background:transparent;width:100%;font:400 1rem/1.3 var(--fazio-sans);color:var(--fazio-ink)}
.wine-grid--interactive{grid-template-columns:repeat(3,1fr);align-items:stretch}
.wine-card--premium{border:1px solid var(--fazio-line);background:#fff;display:flex;flex-direction:column;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.wine-card--premium:hover{transform:translateY(-7px);box-shadow:0 25px 55px rgba(23,23,23,.11);border-color:rgba(23,23,23,.22)}
.wine-card--premium[hidden]{display:none!important}
.wine-bottle-art{min-height:310px;background:linear-gradient(145deg,#e8ded0,#f7f3ed 58%,#d8c9b7);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;position:relative;overflow:hidden}
.wine-bottle-art:before{content:"";width:62px;height:150px;border:2px solid rgba(35,42,35,.28);border-radius:20px 20px 13px 13px;position:absolute;top:52px;left:50%;transform:translateX(-50%);opacity:.65}
.wine-bottle-art:after{content:"";width:26px;height:22px;background:rgba(35,42,35,.18);border-radius:6px 6px 2px 2px;position:absolute;top:34px;left:50%;transform:translateX(-50%)}
.wine-bottle-art span,.wine-bottle-art b{position:relative;z-index:1;max-width:170px;pointer-events:none}
.wine-bottle-art span{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;margin-top:50px}
.wine-bottle-art b{font:400 1.08rem/1.12 var(--fazio-serif);margin-top:7px}
.wine-bottle-art--photo{background:#f8f7f3;padding:16px;min-height:330px}
.wine-bottle-art--photo:before,.wine-bottle-art--photo:after{display:none}
.wine-bottle-art--photo img{display:block;width:100%;height:290px;max-height:290px;object-fit:contain;object-position:center;margin:auto;transition:transform .35s ease}
.wine-card--premium:hover .wine-bottle-art--photo img{transform:scale(1.035)}
.wine-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.wine-tag{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;opacity:.55}
.wine-card--premium h3{font:400 1.7rem/1.03 var(--fazio-serif);margin:9px 0 13px}
.wine-card--premium p{font-size:.91rem;line-height:1.65;opacity:.68;margin:0}
.wine-actions{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:24px}
.btn--small{font-size:.67rem;padding:11px 14px;cursor:pointer}
.wine-shop-link{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.wine-empty{padding:40px;text-align:center;border:1px dashed var(--fazio-line);font:400 1.3rem/1.2 var(--fazio-serif);margin-top:24px}
.wine-callout-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}
.wine-callout-inner>div{max-width:760px}
.wine-callout-inner p{opacity:.68;max-width:620px}
.wine-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .2s ease}
.wine-modal.is-open{opacity:1;pointer-events:auto}
.wine-modal-backdrop{position:absolute;inset:0;background:rgba(7,9,9,.73);backdrop-filter:blur(6px)}
.wine-modal-panel{position:relative;width:min(860px,100%);background:#f6f2eb;padding:58px 56px 54px;box-shadow:0 30px 90px rgba(0,0,0,.28);transform:translateY(18px);transition:transform .22s ease;max-height:92vh;overflow:auto}
.wine-modal-media{background:#fff;display:flex;align-items:center;justify-content:center;min-height:260px;margin-bottom:28px;border:1px solid var(--fazio-line)}
.wine-modal-media img{display:block;width:100%;height:340px;object-fit:contain}
.wine-modal.is-open .wine-modal-panel{transform:none}
.wine-modal-close{position:absolute;right:18px;top:16px;width:42px;height:42px;border:1px solid var(--fazio-line);background:transparent;font-size:1.7rem;cursor:pointer}
.wine-modal-panel h2{font-size:clamp(3rem,7vw,5rem);margin:10px 0 20px}
.wine-modal-description{font-size:1.02rem;line-height:1.75;opacity:.72;max-width:560px;margin-bottom:30px}
body.wine-modal-open{overflow:hidden}
@media(max-width:1050px){
  .wine-grid--interactive{grid-template-columns:repeat(2,1fr)}
  .wine-hero-inner{grid-template-columns:1fr}
  .wine-hero-copy{justify-self:start}
}
@media(max-width:800px){
  .wine-grid--interactive{grid-template-columns:1fr}
  .wine-toolbar{align-items:stretch}
  .wine-search{width:100%}
  .wine-callout-inner{flex-direction:column;align-items:flex-start}
  .wine-modal-panel{padding:48px 28px 32px}
}

/* Native language switcher */
.fazio-language-switcher{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid rgba(35,35,35,.16);background:rgba(255,255,255,.9);font-size:.68rem;letter-spacing:.10em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.fazio-language-switcher a{opacity:.48;transition:opacity .2s ease}
.fazio-language-switcher a:hover,.fazio-language-switcher a.is-active{opacity:1}
.fazio-language-switcher span{opacity:.32}
@media(max-width:800px){
  .header-actions{gap:7px}
  .fazio-language-switcher{padding:0 8px}
}

/* Home popup banner */
.fazio-popup{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:22px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.fazio-popup.is-open{opacity:1;pointer-events:auto;visibility:visible}
.fazio-popup-backdrop{position:absolute;inset:0;background:rgba(7,9,9,.74);backdrop-filter:blur(7px)}
.fazio-popup-panel{position:relative;width:min(820px,96vw);max-height:92vh;overflow:auto;background:var(--fazio-cream);box-shadow:0 30px 90px rgba(0,0,0,.32);transform:translateY(18px) scale(.985);transition:transform .25s ease}
.fazio-popup.is-open .fazio-popup-panel{transform:none}
.fazio-popup-panel>a{display:block}
.fazio-popup-image{display:block;width:100%;height:auto;max-height:92vh;object-fit:contain}
.fazio-popup-close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:1px solid rgba(23,23,23,.18);background:rgba(255,255,255,.9);color:var(--fazio-ink);font-size:1.65rem;line-height:1;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.12)}
.fazio-popup-close:hover{transform:translateY(-1px)}
body.fazio-popup-open{overflow:hidden}
@media(max-width:620px){
  .fazio-popup{padding:12px}
  .fazio-popup-panel{width:100%;max-height:94vh}
  .fazio-popup-close{right:8px;top:8px;width:38px;height:38px}
}
