:root{
  --ink:#18221b;--green:#0d2a1d;--green-deep:#092117;--green-soft:#193c29;
  --cream:#f8f5ee;--paper:#fffdf9;--white:#fff;--gold:#c9a44c;--gold-light:#e0c477;
  --muted:#687169;--line:#e8dfd0;--danger:#a63d38;--shadow:0 20px 55px rgba(18,42,28,.11);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input{font:inherit}.wrap{width:min(1210px,calc(100% - 46px));margin:auto}h1,h2,h3{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:500}.kicker{font-size:10px;text-transform:uppercase;letter-spacing:2.1px;font-weight:700;color:#a37e2e}

/* CABEÇALHO */
.top{position:sticky;top:0;z-index:80;background:rgba(8,31,21,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(201,164,76,.25)}
.nav{height:76px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.monogram{width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:"Playfair Display",Georgia,serif;color:var(--gold-light);font-size:16px;letter-spacing:-1px}.brand-copy strong{display:block;color:#e5c774;font:600 17px "Playfair Display",Georgia,serif;letter-spacing:.25px}.brand-copy span{display:block;color:#cabd96;font-size:8px;letter-spacing:1.8px;text-transform:uppercase;margin-top:2px}.links{margin-left:auto;display:flex;align-items:center;justify-content:center;gap:31px;color:#f7f4e9;font-size:12px}.links a{height:76px;display:flex;align-items:center;border-bottom:1px solid transparent;transition:.18s}.links a:hover,.links a.active{color:var(--gold-light);border-color:var(--gold)}.nav-right{display:flex;align-items:center;gap:8px}.social-mini{width:34px;height:34px;border:1px solid rgba(201,164,76,.55);border-radius:8px;color:#d8b65d;display:grid;place-items:center;font-size:9px;font-weight:800;letter-spacing:.3px}.mobile-toggle{display:none;color:#fff;font-size:23px;background:none;border:0;width:38px;height:38px;cursor:pointer}

/* HOME HERO — proporção próxima do mockup aprovado */
.hero{background:var(--green-deep)}.hero-shell{padding:0}.hero-grid{display:grid;grid-template-columns:44% 56%;min-height:350px;max-height:390px}.hero-copy{padding:44px 38px 43px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--gold-light);font-size:9px;text-transform:uppercase;letter-spacing:1.85px;font-weight:800}.eyebrow:before{content:"";width:25px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(40px,4.4vw,61px);line-height:1.02;color:white;margin:14px 0 15px;letter-spacing:-1.5px;max-width:590px}.hero h1 em{font-style:normal;color:var(--gold-light)}.hero p{color:#d5ddd7;line-height:1.6;font-size:13px;max-width:525px;margin:0}.actions{display:flex;gap:12px;margin-top:23px;flex-wrap:wrap}.btn{min-height:43px;padding:0 18px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:11px;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-gold{background:linear-gradient(135deg,#e1bd5e,#bc8f2d);color:#10251a;box-shadow:0 10px 22px rgba(183,137,40,.18)}.btn-line{border:1px solid rgba(224,196,119,.66);color:#f5efdc;background:rgba(255,255,255,.01)}.hero-media{position:relative;overflow:hidden;background:#13271c}.hero-media img{height:100%;object-fit:cover;object-position:center}.hero-media:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,var(--green-deep) 0%,rgba(9,33,23,.55) 10%,rgba(9,33,23,.04) 42%,rgba(0,0,0,.04) 100%)}.hero-media:after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:30%;background:linear-gradient(0deg,rgba(0,0,0,.18),transparent)}.hero-seal{position:absolute;z-index:3;right:23px;bottom:21px;border:1px solid rgba(225,196,119,.72);border-radius:999px;background:rgba(8,31,21,.75);backdrop-filter:blur(7px);display:flex;align-items:center;gap:9px;padding:8px 13px;color:#f1d47d}.hero-seal span{font:600 15px "Playfair Display",serif}.hero-seal small{text-transform:uppercase;font-size:7px;letter-spacing:1.4px;color:#d6c99f}

/* CATEGORIAS */
.trust{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:14px 45px 15px}.trust-card{min-height:89px;border:1px solid var(--line);border-radius:12px;padding:15px 18px;display:flex;align-items:center;gap:14px;background:#fffdfa}.trust-icon{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#f7f2e7;color:#9a762b;display:grid;place-items:center;font:500 22px "Playfair Display",serif}.trust-card h3{font-size:17px;margin:0 0 2px}.trust-card p{font-size:10px;line-height:1.45;color:var(--muted);margin:0;max-width:245px}

/* SEÇÕES */
.section{padding:49px 0}.highlights{background:#fff}.title-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px;text-align:center}.title-row span{width:48px;height:1px;background:#caa44e}.title-row h2{font-size:25px;margin:0;letter-spacing:.1px}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.product-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 5px 18px rgba(21,43,30,.035);transition:.22s}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-image{position:relative;overflow:hidden}.product-image img{height:148px;object-fit:cover;transition:.35s}.product-card:hover .product-image img{transform:scale(1.025)}.product-tag{position:absolute;left:10px;top:10px;background:rgba(9,33,23,.88);color:#edcf78;border:1px solid rgba(225,196,119,.35);border-radius:999px;padding:5px 8px;font-size:7px;text-transform:uppercase;letter-spacing:1px}.product-body{padding:14px 15px 15px}.product-body h3{font-size:17px;margin:0 0 5px}.product-body p{font-size:10px;color:var(--muted);line-height:1.5;margin:0;min-height:30px}.text-link{display:inline-flex;gap:5px;margin-top:10px;color:#9b7425;font-size:10px;font-weight:800}

.about-section{background:#fbfaf6;border-top:1px solid #eee8db;border-bottom:1px solid #eee8db}.about-editorial{display:grid;grid-template-columns:1.02fr .98fr;gap:24px;align-items:stretch}.about-card{display:grid;grid-template-columns:128px 1fr;gap:26px;align-items:center;padding:26px 28px;border:1px solid var(--line);border-radius:14px;background:#fff}.about-mark{height:128px;border-radius:10px;background:linear-gradient(145deg,#123a27,#0b2418);display:grid;place-items:center;color:#dfc06e;border:1px solid rgba(201,164,76,.5);font:600 38px "Playfair Display",serif;position:relative}.about-mark:after{content:"Confeitaria Gourmet";position:absolute;bottom:17px;font:600 6px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:1.4px;color:#cdbb8c}.about-card h2{font-size:24px;line-height:1.15;margin:7px 0 9px}.about-card p{font-size:10px;color:var(--muted);line-height:1.62;margin:0}.signature-line{margin-top:13px;padding-top:11px;border-top:1px solid var(--line);font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#8b732f}.festival-banner{min-height:215px;border-radius:14px;overflow:hidden;position:relative;background:#0c281a;color:#fff;display:grid;grid-template-columns:53% 47%;border:1px solid rgba(201,164,76,.25)}.festival-banner-copy{padding:28px 18px 25px 28px;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center}.festival-banner-copy>span{font-size:8px;text-transform:uppercase;letter-spacing:1.7px;color:#d4b964}.festival-banner h2{font-size:27px;color:#e4c874;margin:5px 0 7px}.festival-banner p{font-size:10px;color:#ced8d1;line-height:1.5;margin:0}.festival-banner b{font-size:9px;color:#f0d27a;margin-top:14px}.festival-banner img{height:100%;object-fit:cover}.festival-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,40,26,0) 48%,rgba(12,40,26,.12) 70%)}

.experience-section{background:#fff}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.experience-grid article{padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:#fffdfa}.experience-grid strong{font:500 22px "Playfair Display",serif;color:#c9a44c}.experience-grid h3{font-size:17px;margin:8px 0 5px}.experience-grid p{font-size:10px;line-height:1.55;color:var(--muted);margin:0}

/* FOOTER */
.footer{background:#092117;color:#e8eee9;padding:32px 0 18px;border-top:1px solid rgba(201,164,76,.28)}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr 1.1fr;gap:35px;align-items:start}.footer-brand p{max-width:250px}.footer h4{color:#d6b85f;margin:2px 0 9px;font:500 13px "Playfair Display",serif}.footer p,.footer a{color:#b9c6be;font-size:9px;line-height:1.8}.footer-phrase{text-align:right;color:#c9a44c;font:500 13px/1.45 "Playfair Display",serif;font-style:italic}.footer-phrase em{font-size:18px;color:#e0c477}.fine{border-top:1px solid rgba(255,255,255,.08);margin-top:22px;padding-top:13px;display:flex;justify-content:space-between;gap:12px;color:#75897d;font-size:8px}.fine a{color:#9aab9f}

/* FESTIVAL */
.festival-hero{background:var(--green-deep);color:white}.festival-hero-grid{display:grid;grid-template-columns:46% 54%;min-height:390px}.festival-hero-copy{padding:52px 42px 50px 0;display:flex;flex-direction:column;justify-content:center}.festival-hero h1{font-size:clamp(46px,5vw,66px);line-height:.98;margin:14px 0 16px;color:#fff}.festival-hero p{color:#d1ddd4;line-height:1.65;font-size:13px;max-width:520px}.festival-hero strong{color:#f2d47a}.festival-frame{position:relative;overflow:hidden;background:#183424}.festival-frame img{height:100%;object-fit:cover}.festival-frame:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--green-deep),transparent 24%)}.festival-frame .festival-badge{position:absolute;z-index:2;right:22px;bottom:20px;padding:10px 13px;border-radius:999px;border:1px solid rgba(225,196,119,.55);background:rgba(8,31,21,.78);color:#efcf72;font-size:8px;text-transform:uppercase;letter-spacing:1.3px}.hero-mini{display:flex;gap:15px;flex-wrap:wrap;margin-top:21px;color:#d4dfd7;font-size:9px}.live-strip{background:#102f20;color:white;border-top:1px solid rgba(201,164,76,.24);border-bottom:1px solid rgba(201,164,76,.24)}.live-inner{min-height:47px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;color:#d9e3dc}.dot{width:7px;height:7px;border-radius:50%;background:#49b66d;box-shadow:0 0 0 4px rgba(73,182,109,.12)}
.festival-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-20px;position:relative;z-index:3}.festival-intro article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px;box-shadow:0 10px 30px rgba(17,43,28,.08)}.festival-intro b{display:block;font:500 15px "Playfair Display",serif;margin-bottom:3px}.festival-intro span{font-size:9px;color:var(--muted);line-height:1.4}
.flavor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.flavor{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 5px 18px rgba(21,43,30,.03)}.flavor-visual{height:110px;background-position:center;background-size:cover;position:relative}.flavor-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,28,18,.72),rgba(7,28,18,.03) 70%)}.flavor-visual span{position:absolute;z-index:2;bottom:11px;left:14px;color:#f0d27a;font:600 15px "Playfair Display",serif}.flavor-content{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}.flavor-top{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:25px}.flavor h3{font-size:18px;line-height:1.15;margin:5px 0 6px}.flavor-price{color:#997226;font-weight:800;font-size:12px}.flavor p{color:var(--muted);font-size:10px;line-height:1.48;margin:8px 0 0;flex:1}.availability{display:inline-flex;width:max-content;align-items:center;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;padding:5px 7px;border-radius:999px}.availability.available{background:#e9f6ed;color:#21743c}.availability.low{background:#fff1dc;color:#9b6410}.availability.soldout{background:#fbe9e7;color:#a63d38}.flavor-soldout{opacity:.66}.flavor-reserve{margin-top:13px;min-height:38px;border-radius:8px;border:1px solid #cdb477;background:#143a25;color:#f2d47a;font-weight:800;font-size:10px;cursor:pointer;transition:.2s}.flavor-reserve:hover:not(:disabled){background:#0d2d1e;transform:translateY(-1px)}.flavor-reserve:disabled{cursor:not-allowed;background:#f3f1eb;color:#9a9a92;border-color:#e3dfd5}.festival-note{background:#f5efe0;border:1px solid #e3d4aa;border-radius:12px;padding:15px 18px;color:#574b2b;font-size:9px;line-height:1.55;margin-top:18px}

/* RESERVA */
.white{background:#fff}.reserve-shell{display:grid;grid-template-columns:.82fr 1.18fr;gap:45px;align-items:start}.reserve-copy{padding:20px 6px 0 0}.reserve-copy h2{font-size:36px;line-height:1.08;margin:8px 0 13px}.reserve-copy>p{color:var(--muted);line-height:1.7;font-size:11px}.reserve-rules{display:grid;gap:8px;margin-top:21px}.reserve-rules span{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:0 0 8px;color:#59665e;font-size:10px}.reserve-rules b{color:#9a7428;min-width:52px}.reserve-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 14px 40px rgba(18,47,31,.08)}.reserve-empty{text-align:center;padding:33px 20px}.reserve-empty>span{font-size:29px}.reserve-empty h3{font-size:21px;margin:9px 0 6px}.reserve-empty p{color:var(--muted);font-size:10px}.reserve-items{display:grid;gap:3px}.reserve-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.reserve-item>div:first-child{display:flex;flex-direction:column;gap:2px}.reserve-item b{font:500 14px "Playfair Display",serif}.reserve-item span{color:var(--muted);font-size:8px}.reserve-qty{display:flex;align-items:center;gap:8px}.reserve-qty button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:15px;color:#183b28}.reserve-total{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:17px 0 12px}.reserve-total span,.reserve-payment span{color:var(--muted);font-size:9px}.reserve-total strong{font:500 24px "Playfair Display",serif}.reserve-payment{display:flex;justify-content:space-between;gap:12px;background:#f6f1e5;border-radius:9px;padding:11px 12px;margin-bottom:11px}.reserve-payment b{font-size:9px;color:#8c6823}.reserve-card label{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.7px;font-weight:800;margin:11px 0 5px;color:#536158}.reserve-card input{width:100%;padding:11px 12px;border:1px solid #dad5c8;border-radius:8px;outline:none;font-size:11px}.reserve-card input:focus{border-color:#c29a45;box-shadow:0 0 0 3px rgba(201,162,78,.12)}.reserve-submit{width:100%;border:0;border-radius:9px;padding:12px;background:linear-gradient(135deg,#ddb859,#b98d31);color:#13261a;font-weight:900;margin-top:13px;font-size:10px;cursor:pointer}.reserve-submit:disabled{opacity:.45;cursor:not-allowed}.reserve-hint{font-size:8px!important;text-align:center;color:var(--muted)!important;margin:8px 0 0!important}.reservation-success{text-align:center}.success-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#e6f4ea;color:#1d7540;font-size:22px;font-weight:900;margin:0 auto 11px}.reservation-success h3{font-size:23px;margin:7px 0 8px}.reservation-success>p{color:var(--muted);line-height:1.6;font-size:10px}.pix-box{text-align:left;background:#102e1f;color:#fff;border-radius:12px;padding:16px;margin:16px 0}.pix-box span{display:block;text-transform:uppercase;letter-spacing:1.3px;color:#d4bc79;font-size:8px;font-weight:800}.pix-box strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;word-break:break-all;margin:6px 0 4px}.pix-box small{color:#bbc9c0;font-size:9px}.pix-box button{width:100%;margin-top:12px;padding:9px;border:1px solid rgba(232,202,125,.5);border-radius:8px;background:transparent;color:#f0d27e;font-weight:800;font-size:9px;cursor:pointer}.reservation-warning{background:#fff5df;border:1px solid #ead7aa;border-radius:9px;padding:11px;color:#72551c!important}.whatsapp-proof{display:flex;justify-content:center;align-items:center;min-height:42px;border-radius:9px;background:#1e6b43;color:#fff;font-weight:800;font-size:10px;margin-top:10px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.step{padding:21px;border:1px solid var(--line);background:#fff;border-radius:12px}.step-num{width:33px;height:33px;border-radius:50%;background:#143a25;color:#e9cb76;display:grid;place-items:center;font:500 14px "Playfair Display",serif;margin-bottom:12px}.step h3{font-size:17px;margin:0 0 5px}.step p{color:var(--muted);font-size:9px;line-height:1.55;margin:0}

/* bloco festival reutilizado */
.festival-callout{display:grid;grid-template-columns:1fr 1.2fr;min-height:260px;background:var(--green);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.festival-copy{padding:35px;color:white;display:flex;flex-direction:column;justify-content:center}.festival-copy h2{font-size:31px;margin:8px 0 10px;color:#f4d77f}.festival-copy p{color:#d3ddd5;line-height:1.6;margin:0;font-size:10px}.festival-photo img{height:100%;object-fit:cover}.section-head{text-align:center;max-width:650px;margin:0 auto 25px}.section-head .kicker{font-size:9px}.section-head h2{font-size:29px;margin:7px 0 9px}.section-head p{color:var(--muted);line-height:1.6;margin:0;font-size:10px}

@media(max-width:950px){.links{position:absolute;left:0;right:0;top:76px;background:#0b261a;border-bottom:1px solid rgba(201,164,76,.25);display:none;padding:12px 23px 19px;flex-direction:column;gap:0}.links.open{display:flex}.links a{width:100%;height:auto;padding:12px 0}.mobile-toggle{display:block}.social-mini{display:none}.nav{justify-content:space-between}.links{margin-left:0}.hero-grid,.festival-hero-grid{grid-template-columns:1fr;max-height:none}.hero-copy,.festival-hero-copy{padding:50px 4px}.hero-media{height:340px}.festival-frame{height:330px}.trust-grid{padding:15px 0}.products{grid-template-columns:repeat(2,1fr)}.about-editorial{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-phrase{text-align:left}.festival-intro{margin-top:15px}.flavor-grid{grid-template-columns:repeat(2,1fr)}.reserve-shell{grid-template-columns:1fr}.reserve-rules{grid-template-columns:repeat(3,1fr);gap:8px}.reserve-rules span{display:block;border:1px solid var(--line);border-radius:9px;padding:10px}.reserve-rules b{display:block;margin-bottom:3px}.festival-callout{grid-template-columns:1fr}.festival-photo{height:250px}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1210px)}.nav{height:68px}.links{top:68px}.brand-copy strong{font-size:15px}.brand-copy span{font-size:7px}.monogram{width:39px;height:39px}.hero-copy{padding:40px 0 38px}.hero h1{font-size:43px}.hero p{font-size:12px}.hero-media{height:265px}.hero-seal{right:12px;bottom:12px}.trust-grid{grid-template-columns:1fr;padding:13px 0}.trust-card{min-height:auto}.section{padding:42px 0}.products,.experience-grid,.flavor-grid,.steps{grid-template-columns:1fr}.product-image img{height:210px}.about-card{grid-template-columns:1fr;padding:21px}.about-mark{height:145px}.festival-banner{grid-template-columns:1fr}.festival-banner img{height:160px}.footer-grid{grid-template-columns:1fr}.fine{flex-direction:column}.festival-hero-copy{padding:42px 0 35px}.festival-hero h1{font-size:45px}.festival-frame{height:260px}.festival-intro{grid-template-columns:1fr}.reserve-rules{grid-template-columns:1fr}.reserve-card{padding:18px}.festival-copy{padding:28px}.section-head h2{font-size:26px}}


/* V2.1 VISUAL — correção de composição do hero em desktop */
@media (min-width:951px){
  .home-hero{overflow:hidden}
  .home-hero .hero-grid{
    grid-template-columns:44% 56%;
    grid-template-rows:390px;
    height:390px;
    min-height:390px;
    max-height:390px;
    overflow:hidden;
  }
  .home-hero .hero-copy{
    height:390px;
    min-height:0;
    overflow:hidden;
    padding:34px 40px 30px 0;
    justify-content:center;
  }
  .home-hero .hero-copy .eyebrow{margin:0 0 13px}
  .home-hero .hero-copy h1{
    margin:0 0 14px;
    font-size:52px;
    line-height:.99;
    letter-spacing:-1.4px;
    max-width:535px;
  }
  .home-hero .hero-line{display:block}
  .home-hero .hero-copy p{
    font-size:12px;
    line-height:1.55;
    max-width:500px;
  }
  .home-hero .actions{margin-top:18px}
  .home-hero .btn{min-height:41px;padding:0 18px}
  .home-hero .btn-line{background:rgba(255,255,255,.025);color:#f7f0dd}
  .home-hero .hero-media{
    height:390px;
    min-height:0;
    align-self:stretch;
    overflow:hidden;
  }
  .home-hero .hero-media img{
    height:390px;
    min-height:390px;
    object-fit:cover;
    object-position:50% 48%;
  }
  .trust{position:relative;z-index:2}
  .trust-grid{padding-top:14px;padding-bottom:15px}

  .festival-hero-grid{
    grid-template-rows:390px;
    height:390px;
    min-height:390px;
    max-height:390px;
    overflow:hidden;
  }
  .festival-hero-copy,.festival-frame{height:390px;min-height:0;overflow:hidden}
  .festival-frame img{height:390px;min-height:390px;object-fit:cover}
}

@media (max-width:620px){
  .home-hero .hero-line{display:block}
  .home-hero .hero-copy h1{font-size:40px;line-height:1.02;letter-spacing:-1px}
}

/* =========================================================
   V2.2 PREMIUM — acabamento visual aprovado em 02/09/2026
   Mantém toda a lógica do sistema e refina somente interface.
   ========================================================= */
@media (min-width:901px){
  .wrap{width:min(1260px,calc(100% - 72px))}
  .nav{height:92px;gap:42px}
  .monogram{width:58px;height:58px;font-size:22px;border-width:1.5px;box-shadow:inset 0 0 0 4px rgba(201,164,76,.035)}
  .brand{gap:16px}
  .brand-copy strong{font-size:24px;line-height:1;color:#e8c968;letter-spacing:.15px}
  .brand-copy span{font-size:9px;letter-spacing:2px;margin-top:6px;color:#cfbd87}
  .links{gap:38px;font-size:13px}
  .links a{height:92px;position:relative;border:0}
  .links a:after{content:"";position:absolute;left:50%;bottom:25px;width:0;height:1px;background:var(--gold);transition:.2s;transform:translateX(-50%)}
  .links a:hover:after,.links a.active:after{width:42px}
  .social-mini{width:48px;height:42px;border-radius:9px;font-size:10px;color:#e2c46d;border-color:rgba(213,177,75,.68);background:rgba(255,255,255,.015)}

  .home-hero{position:relative;overflow:hidden}
  .home-hero:before{content:"";position:absolute;left:max(0px,calc((100vw - 1260px)/2 - 28px));top:66px;width:110px;height:300px;opacity:.22;pointer-events:none;background:
    radial-gradient(circle at 10% 20%,transparent 0 47%,rgba(201,164,76,.55) 48% 49%,transparent 50%),
    radial-gradient(circle at 8% 70%,transparent 0 40%,rgba(201,164,76,.38) 41% 42%,transparent 43%)}
  .hero-grid{grid-template-columns:47% 53%;min-height:458px;max-height:none}
  .hero-copy{padding:56px 42px 54px 0}
  .eyebrow{font-size:10px;letter-spacing:2.35px;gap:14px}
  .eyebrow:before{width:32px}
  .hero h1{font-size:clamp(52px,4.65vw,70px);line-height:1.01;letter-spacing:-1.7px;margin:18px 0 20px;max-width:650px}
  .hero p{font-size:14px;line-height:1.7;max-width:590px;color:#e2e7e3}
  .actions{margin-top:28px;gap:16px}
  .btn{min-height:50px;padding:0 23px;border-radius:8px;font-size:12px;letter-spacing:.1px}
  .btn-gold{background:linear-gradient(135deg,#e8c76f 0%,#c99c38 80%);box-shadow:0 14px 34px rgba(183,137,40,.19)}
  .btn-line{min-width:170px;border-color:rgba(224,196,119,.76)}
  .btn-icon{font-size:16px;line-height:1;color:#fff}
  .hero-media:before{background:linear-gradient(90deg,var(--green-deep) 0%,rgba(9,33,23,.95) 5%,rgba(9,33,23,.62) 14%,rgba(9,33,23,.24) 27%,rgba(9,33,23,.04) 48%,rgba(0,0,0,.02) 100%)}
  .hero-media:after{height:40%;background:linear-gradient(0deg,rgba(0,0,0,.24),transparent)}
  .hero-media img{object-position:center 45%;filter:saturate(.94) contrast(1.03)}
  .hero-seal{right:26px;bottom:25px;padding:10px 17px;gap:11px;border-color:rgba(232,199,111,.8);background:rgba(8,31,21,.84);box-shadow:0 12px 28px rgba(0,0,0,.14)}
  .hero-seal span{font-size:18px}.hero-seal small{font-size:7.5px;letter-spacing:1.55px}

  .trust{padding:0;background:#fffdf9}
  .trust-grid{gap:22px;padding:27px 10px 29px}
  .trust-card{min-height:122px;padding:23px 24px 22px;border-radius:14px;gap:20px;position:relative;background:linear-gradient(180deg,#fffefa,#fffaf3);border-color:#e5d6b8;box-shadow:0 8px 24px rgba(32,49,38,.055);transition:.2s}
  .trust-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(32,49,38,.09)}
  .trust-icon{width:70px;height:70px;flex:0 0 70px;background:#fbf6e9;border:1px solid #e3c984;color:#74571e}
  .trust-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .trust-copy{padding-right:25px}
  .trust-card h3{font-size:22px;margin:0 0 7px;color:#251f16}
  .trust-card p{font-size:11.5px;line-height:1.58;max-width:320px;color:#5e625e}
  .trust-arrow{position:absolute;right:22px;bottom:18px;color:#c4932e;font-size:24px;font-family:Georgia,serif}
}

/* Refinamento das seções internas para acompanhar o novo topo */
@media (min-width:901px){
  .section{padding:58px 0}
  .title-row{margin-bottom:28px}.title-row h2{font-size:29px}.title-row span{width:62px}
  .product-card{border-radius:14px}.product-image img{height:165px}.product-body{padding:17px 18px 18px}.product-body h3{font-size:19px}.product-body p{font-size:10.5px}.text-link{font-size:10.5px}
  .about-editorial{gap:28px}.about-card,.festival-banner{border-radius:16px}.about-card{padding:30px}.festival-banner-copy{padding:32px}
}

/* Festival V2.2 recebe o mesmo acabamento do header/hero */
@media (min-width:901px){
  .festival-hero-grid{min-height:440px;grid-template-columns:47% 53%}
  .festival-hero-copy{padding:58px 44px 54px 0}
  .festival-hero h1{font-size:clamp(54px,5vw,72px)}
  .festival-frame:before{background:linear-gradient(90deg,var(--green-deep) 0%,rgba(9,33,23,.85) 10%,rgba(9,33,23,.25) 30%,transparent 52%)}
}

@media (max-width:900px){
  .brand-copy strong{font-size:16px}
  .home-hero .hero-copy{padding-top:38px}
  .trust-card{position:relative}
  .trust-arrow{margin-left:auto;color:#b58b32;font-size:20px}
  .trust-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
}

/* =========================================================
   V2.3 FESTIVAL PREMIUM — página pública do Festival
   Mantém estoque/reservas/PIX e refina somente apresentação.
   ========================================================= */
.festival-premium-hero{overflow:hidden;background:#082117}
.festival-premium-hero .festival-hero-grid{min-height:0}
.festival-premium-hero .festival-hero-copy{position:relative;z-index:3}
.festival-premium-hero h1 em{font-style:normal;color:var(--gold-light)}
.festival-subtitle{font-size:10px;text-transform:uppercase;letter-spacing:2.4px;font-weight:800;color:#e1c36b;margin:-5px 0 13px}
.btn-pix{font-size:17px;transform:rotate(45deg);display:inline-block;line-height:1}
.festival-premium-hero .hero-mini span{position:relative;padding-left:12px}
.festival-premium-hero .hero-mini span:before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:#d6b457;transform:translateY(-50%)}

.festival-flavors-section{background:#fffdf9;padding-top:36px}
.festival-title{display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;margin-bottom:8px}
.festival-title>span{width:86px;height:1px;background:linear-gradient(90deg,transparent,#caa44e)}
.festival-title>span:last-child{background:linear-gradient(90deg,#caa44e,transparent)}
.festival-title h2{font-size:36px;line-height:1.05;margin:4px 0 0;color:#2a2118}
.festival-lead{max-width:760px;margin:0 auto 26px;text-align:center;color:#687169;font-size:11px;line-height:1.65}
.flavor-grid-premium{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.flavor-premium{border-color:#e4d7bd;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(35,49,39,.055)}
.flavor-premium:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(35,49,39,.09)}
.flavor-photo{height:145px;overflow:hidden;background:#e9e0cf}
.flavor-photo img{width:100%;height:100%;object-fit:cover;transition:.35s;filter:saturate(.96) contrast(1.02)}
.flavor-premium:hover .flavor-photo img{transform:scale(1.025)}
.flavor-premium .flavor-content{padding:14px 14px 15px}
.flavor-premium h3{font-size:18px;line-height:1.08;margin:0 0 7px;color:#2c2117;min-height:39px}
.flavor-premium p{font-size:9.5px;line-height:1.48;margin:0 0 12px;min-height:56px;color:#616861}
.flavor-meta{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:auto}
.flavor-premium .flavor-price{font-size:12px;color:#76541b;line-height:1.2}
.flavor-premium .availability{font-size:6.8px;padding:5px 6px;white-space:nowrap}
.flavor-premium .flavor-reserve{margin-top:12px;min-height:38px;border-radius:6px;background:#082c1d;border-color:#143f2b;color:#f6e5b2;font-size:9.5px}
.flavor-premium .flavor-reserve:hover:not(:disabled){background:#061f15}
.flavor-premium .flavor-reserve:disabled{background:#d7d8d4;border-color:#d7d8d4;color:#757872}

.festival-reservation-band{background:#082c1d;padding:36px 0;border-top:1px solid rgba(201,164,76,.35);border-bottom:1px solid rgba(201,164,76,.35)}
.reserve-premium-shell{display:grid;grid-template-columns:1.07fr .93fr;gap:42px;align-items:center}
.reserve-premium-copy{display:grid;grid-template-columns:82px 1fr;gap:22px;align-items:start;color:white}
.pix-medallion{width:76px;height:76px;border-radius:50%;border:1px solid #c9a44c;color:#e7c768;display:grid;place-items:center;font-size:38px;line-height:1;transform:none}
.gold-kicker{color:#e5c569}
.reserve-premium-copy h2{font-size:34px;line-height:1.08;color:#e6c768;margin:5px 0 9px}
.reserve-premium-copy p{font-size:11px;line-height:1.65;color:#c7d1ca;margin:0;max-width:590px}
.reserve-points{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(225,196,119,.25)}
.reserve-points span{font-size:8.5px;color:#d9e0dc;line-height:1.35}
.reserve-points b{display:block;color:#e4c46c;font:500 16px "Playfair Display",serif;margin-bottom:3px}
.reserve-card-premium{border-color:#d9c997;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.reserve-card-premium .reserve-empty>span{width:48px;height:48px;border-radius:50%;border:1px solid #c9a44c;color:#9b7525;display:grid;place-items:center;margin:0 auto;font:500 16px "Playfair Display",serif}
.reserve-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reserve-fields label{margin-top:8px}
.reserve-fields input{margin-top:5px}

.festival-benefits{background:#fffdf9;border-bottom:1px solid #e8dfd0;padding:18px 0}
.festival-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #e5d8bd;border-radius:13px;background:#fff;overflow:hidden}
.festival-benefit-grid article{padding:17px 22px;display:flex;gap:13px;align-items:center;min-height:92px;border-right:1px solid #eadfca}
.festival-benefit-grid article:last-child{border-right:0}
.benefit-icon{width:40px;flex:0 0 40px;text-align:center;font-size:25px;color:#a67f2f;font-family:Georgia,serif}
.festival-benefit-grid h3{font-size:15px;margin:0 0 3px}
.festival-benefit-grid p{font-size:8.7px;line-height:1.4;color:#687169;margin:0}

.festival-security{background:#f6f0e2;padding:13px 0;border-bottom:1px solid #e6d8b8}
.security-inner{display:flex;align-items:center;gap:10px;color:#5c5032;font-size:9px;line-height:1.45}
.security-inner>span:nth-child(2){flex:1}
.security-rules{display:flex;align-items:center;gap:8px;padding-left:20px;border-left:1px solid #d8c59a;color:#7a6128}
.security-rules b{font-size:11px}.security-rules small{font-size:7.5px;color:#7d776a}

@media(min-width:951px){
  .festival-premium-hero .festival-hero-grid{height:390px;grid-template-columns:42% 58%;grid-template-rows:390px}
  .festival-premium-hero .festival-hero-copy{height:390px;padding:44px 38px 40px 0;overflow:visible}
  .festival-premium-hero h1{font-size:62px;line-height:.98;margin:12px 0 12px;letter-spacing:-1.6px}
  .festival-premium-hero .festival-frame{height:390px}
  .festival-premium-hero .festival-frame img{height:390px;object-fit:cover;object-position:center center}
  .festival-premium-hero .festival-frame:before{background:linear-gradient(90deg,#082117 0%,rgba(8,33,23,.92) 5%,rgba(8,33,23,.52) 16%,rgba(8,33,23,.16) 30%,transparent 48%)}
  .festival-premium-hero .festival-frame:after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(0deg,rgba(0,0,0,.2),transparent);z-index:1}
}
@media(max-width:1120px) and (min-width:701px){.flavor-grid-premium{grid-template-columns:repeat(3,1fr)}.flavor-photo{height:160px}.festival-benefit-grid{grid-template-columns:repeat(2,1fr)}.festival-benefit-grid article:nth-child(2){border-right:0}.festival-benefit-grid article:nth-child(-n+2){border-bottom:1px solid #eadfca}}
@media(max-width:950px){
  .festival-premium-hero .festival-hero-grid{grid-template-columns:1fr;height:auto;max-height:none}
  .festival-premium-hero .festival-hero-copy{height:auto;padding:44px 0 38px}
  .festival-premium-hero .festival-frame{height:330px}
  .festival-premium-hero .festival-frame img{height:330px;object-fit:cover}
  .reserve-premium-shell{grid-template-columns:1fr}
  .reserve-premium-copy{grid-template-columns:68px 1fr}
  .pix-medallion{width:62px;height:62px;font-size:30px}
  .reserve-premium-copy h2{font-size:30px}
}
@media(max-width:700px){
  .festival-title>span{width:35px}.festival-title h2{font-size:29px}.festival-lead{font-size:10px}
  .flavor-grid-premium{grid-template-columns:1fr}.flavor-photo{height:220px}.flavor-premium h3{min-height:0;font-size:21px}.flavor-premium p{min-height:0;font-size:10.5px}
  .reserve-premium-copy{grid-template-columns:1fr}.pix-medallion{margin-bottom:2px}.reserve-points{grid-template-columns:repeat(2,1fr)}.reserve-fields{grid-template-columns:1fr}
  .festival-benefit-grid{grid-template-columns:1fr}.festival-benefit-grid article{border-right:0;border-bottom:1px solid #eadfca}.festival-benefit-grid article:last-child{border-bottom:0}
  .security-inner{align-items:flex-start;flex-wrap:wrap}.security-rules{width:100%;padding:10px 0 0;border-left:0;border-top:1px solid #d8c59a}
}

/* V2.3.1 — configuração pendente do Festival */
.availability.pending{background:#f3eee3;color:#8a6d38;border-color:#dbc99f}

/* V2.5 — Reserva com retirada/entrega + PIX automático */
.fulfillment-title{margin:15px 0 8px;font-size:9px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;color:#536158}
.fulfillment-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.fulfillment-option{border:1px solid #d9d4c8;background:#fff;border-radius:11px;padding:12px;text-align:left;cursor:pointer;transition:.2s ease;color:#183b28}
.fulfillment-option strong,.fulfillment-option span{display:block}.fulfillment-option strong{font:600 14px "Playfair Display",serif}.fulfillment-option span{font-size:9px;color:#7a857e;margin-top:3px}.fulfillment-option.active{border-color:#b99037;background:#f8f2e4;box-shadow:0 0 0 2px rgba(185,144,55,.08)}.fulfillment-option.active span{color:#8a6823}.fulfillment-option:disabled{opacity:.4;cursor:not-allowed}
.delivery-fields{margin:9px 0 12px;padding:12px;border-radius:11px;background:#f7f4ed;border:1px solid #e2dccf}.delivery-fields label{margin-top:0}.delivery-fields textarea{width:100%;resize:vertical;min-height:74px;padding:11px 12px;border:1px solid #dad5c8;border-radius:8px;outline:none;font:inherit;font-size:11px;background:#fff}.delivery-fields textarea:focus{border-color:#c29a45;box-shadow:0 0 0 3px rgba(201,162,78,.12)}.delivery-fields small{display:block;margin-top:6px;color:#7c857f;font-size:8px;line-height:1.45}
.reserve-summary{margin-top:8px;border-top:1px solid var(--line)}.reserve-summary>div:not(.reserve-total){display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:9px;color:#6d786f}.reserve-summary>div:not(.reserve-total) b{font-size:10px;color:#263f31}.reserve-email{grid-column:1/-1}
.pix-qr{display:block;width:180px;height:180px;max-width:72%;object-fit:contain;background:#fff;border-radius:10px;padding:8px;margin:2px auto 14px}.pix-code{max-height:78px;overflow:auto;font-size:9px!important;line-height:1.45;white-space:normal}
.order-price-breakdown{display:grid;gap:6px;padding:11px 12px;margin:12px 0;border:1px solid #e0dbce;border-radius:10px;background:#fbfaf6;text-align:left}.order-price-breakdown span,.order-price-breakdown>strong{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#647067}.order-price-breakdown>strong{padding-top:7px;border-top:1px solid #e2ded3;color:#173a27;font-size:11px}.order-price-breakdown b{color:inherit}
.auto-payment-status{display:flex;align-items:center;gap:11px;text-align:left;border-radius:10px;padding:12px 13px;margin:11px 0}.auto-payment-status>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 32px;font-weight:900}.auto-payment-status div{display:grid;gap:2px}.auto-payment-status b{font-size:10px}.auto-payment-status small{font-size:8px;line-height:1.45}.auto-payment-status.waiting{background:#f7f2e5;border:1px solid #e3d6ae;color:#654e1f}.auto-payment-status.paid{background:#eaf5ed;border:1px solid #bcd9c4;color:#1b693c}.auto-payment-status.review{background:#fff2da;border:1px solid #e8c98e;color:#7d5819}.auto-payment-status.expired{background:#f8eded;border:1px solid #e4c0c0;color:#8a3434}.payment-pulse{background:#d3aa4b;position:relative}.payment-pulse:after{content:"";position:absolute;inset:-5px;border:1px solid #d3aa4b;border-radius:50%;animation:paymentPulse 1.3s infinite}.paid-check{background:#2d8550;color:#fff}@keyframes paymentPulse{0%{transform:scale(.75);opacity:.8}100%{transform:scale(1.45);opacity:0}}
.secondary-whatsapp{background:#254b37}
@media(max-width:640px){.fulfillment-options{grid-template-columns:1fr 1fr}.pix-qr{width:165px;height:165px}.reserve-email{grid-column:auto}}

/* V2.7.1 — respeitar o atributo hidden no resumo da reserva */
#deliveryFeeRow[hidden]{display:none!important}
