:root{--red:#b40f18;--red2:#8f0b12;--ink:#181512;--cream:#fff8ed;--paper:#fffdf8;--muted:#756c62;--green:#1f9d55;--line:#eadfd0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper)}a{text-decoration:none;color:inherit}.wrap{width:min(1120px,92%);margin:auto}
.header{height:88px;display:flex;align-items:center;gap:28px;padding:10px max(4%,calc((100% - 1120px)/2));position:sticky;top:0;background:#000;z-index:30;border-bottom:1px solid #242424}.brand img{width:235px;height:64px;object-fit:contain;object-position:left center;border-radius:0;background:#000;display:block}.nav{display:flex;gap:22px;margin-left:auto;font-size:14px;font-weight:700}.nav a{color:#fff}.nav a:hover{color:#e52a32}.menu-toggle{display:none;color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:14px 20px;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:white}.btn-whatsapp{background:var(--green);color:white}.btn-light{background:white;color:var(--red)}.top-cta{font-size:13px}
.hero{min-height:610px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 75% 35%,#c45c25 0,transparent 23%),linear-gradient(115deg,#23160e 10%,#5b2416 50%,#9d3d1d 100%);overflow:hidden}.hero:after{content:"🍛  🥢  🍤";position:absolute;right:6%;font-size:100px;filter:drop-shadow(0 18px 25px #0008);transform:rotate(-5deg)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0,#0007 48%,transparent 78%)}.hero-content{position:relative;z-index:2;width:min(1120px,92%);color:white}.hero h1{font:800 clamp(42px,6vw,72px)/1.03 "Playfair Display",serif;max-width:760px;margin:14px 0}.hero h1 em{color:#ffd47b;font-style:normal}.hero p{font-size:20px;max-width:650px;color:#f7eadc}.actions{display:flex;gap:12px;margin:28px 0}.hero-meta{font-size:14px;color:#f0d9c6}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--red)}.eyebrow.light{color:#ffd99b}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-38px;position:relative;z-index:4}.benefits article{background:white;padding:22px;border-radius:14px;box-shadow:0 10px 35px #3d261018;border:1px solid var(--line)}.benefits b,.benefits span{display:block}.benefits span{font-size:13px;color:var(--muted);margin-top:6px}
.section{padding:88px 0}.section-heading{text-align:center;max-width:700px;margin:0 auto 34px}.section h2,.daily h2,.cta h2{font:800 42px/1.05 "Playfair Display",serif;margin:8px 0 12px}.section-heading p,.about p{color:var(--muted)}.filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid var(--line);background:white;padding:10px 16px;border-radius:99px;font-weight:700;cursor:pointer}.filters .active{background:var(--red);color:white;border-color:var(--red)}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dish{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white;box-shadow:0 8px 28px #3d26100c}.dish-photo{height:190px;display:grid;place-items:center;font-size:76px;background:linear-gradient(145deg,#f5d8b0,#fff4df);overflow:hidden}.dish-photo img{width:100%;height:100%;object-fit:cover;display:block}.dish-body{padding:18px}.dish h3{margin:0 0 6px;font:700 23px "Playfair Display",serif}.dish p{color:var(--muted);font-size:14px;min-height:42px}.dish-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.dish .price{font-size:19px;font-weight:800;color:var(--red)}.dish .btn{padding:10px 12px;font-size:12px}
.daily{background:linear-gradient(120deg,var(--red2),var(--red));color:white;padding:80px 0}.daily-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.daily h3{font-size:25px;margin-bottom:5px}.daily p{color:#ffe4df;max-width:600px}.daily .price{font-size:18px;margin:22px 0}.daily .price strong{font-size:34px}.daily-card{min-height:300px;border:1px solid #ffffff44;border-radius:24px;background:#ffffff12;display:grid;place-items:center;text-align:center;padding:25px}.daily-photo-card{overflow:hidden;padding:0!important}.daily-photo-card img{width:100%;height:245px;object-fit:cover;display:block}.daily-photo-card span{display:block;color:#ffe9e6;padding:18px 22px}
.dessert{background:var(--cream)}.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.dessert-art{min-height:300px;border-radius:26px;background:linear-gradient(145deg,#fff,#f5dcc2);display:grid;place-items:center;font-size:120px;box-shadow:0 18px 50px #5b351012}.dessert-art span{font-size:55px}.dessert p{font-size:18px;color:var(--muted);line-height:1.7}
.corporate{background:#1e1c19;color:white;border-radius:24px;padding:48px;display:grid;grid-template-columns:1.5fr .7fr;gap:35px}.corporate p{color:#d9d0c6;line-height:1.7}.corp-points{display:grid;gap:12px;align-content:center}.corp-points span{background:#ffffff10;border:1px solid #ffffff18;padding:14px;border-radius:10px}
.about{background:#faf4ea}.storefront{width:100%;max-height:450px;object-fit:cover;border-radius:24px;box-shadow:0 18px 45px #5b35101c}.note{font-size:13px;font-style:italic}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.contact-card,.map-placeholder{border:1px solid var(--line);border-radius:18px;padding:30px;background:white}.map-placeholder{min-height:260px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#f3eadf,#fff)}.map-placeholder span{font-size:50px}.map-placeholder small{color:var(--muted)}
.cta{background:var(--red);color:white;padding:55px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta p{color:#ffe1dc}.btn-large{padding:18px 28px}
footer{background:#000;color:#eee;padding-top:50px;border-top:1px solid #1f1f1f}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding-bottom:38px}.footer-grid img{width:245px;max-width:100%;height:auto;object-fit:contain;border-radius:0;background:#000}.footer-grid div{display:grid;gap:8px;align-content:start}.footer-grid a,.footer-grid span{font-size:13px;color:#bfb7af}.copyright{text-align:center;border-top:1px solid #ffffff12;padding:18px;color:#8f8881;font-size:12px}.floating-wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font-size:29px;z-index:20;box-shadow:0 8px 24px #0004;cursor:pointer}
@media(max-width:850px){.nav,.top-cta{display:none}.menu-toggle{display:block;margin-left:auto;border:0;background:none;font-size:24px}.nav.open{display:flex;position:absolute;top:88px;left:0;right:0;background:#000;padding:22px;flex-direction:column;border-bottom:1px solid #242424}.hero{min-height:650px}.hero:after{opacity:.25;right:-12%;font-size:75px}.hero-overlay{background:#0009}.benefits{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr 1fr}.daily-grid,.split,.corporate,.contact-grid{grid-template-columns:1fr}.cta .wrap{display:block}.cta .btn{margin-top:15px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.header{height:76px}.brand img{width:195px;height:52px}.hero{min-height:610px}.hero h1{font-size:43px}.hero p{font-size:17px}.actions{flex-direction:column;align-items:stretch}.benefits{grid-template-columns:1fr;margin-top:-24px}.menu-grid{grid-template-columns:1fr}.section{padding:65px 0}.section h2,.daily h2,.cta h2{font-size:34px}.daily{padding:60px 0}.corporate{padding:30px 24px}.footer-grid{grid-template-columns:1fr}}

.map-embed{min-height:330px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#f3eadf}
.map-embed iframe{display:block;min-height:330px}
.contact-card .btn{margin-top:12px}

.service-section{background:linear-gradient(180deg,#fff8ed,#fffdf8)}
.service-intro{display:grid;grid-template-columns:.85fr 1.4fr;gap:34px;align-items:center}
.service-intro h2,.pf-section h2{font:800 42px/1.05 "Playfair Display",serif;margin:8px 0 18px}
.kg-price{display:inline-flex;align-items:flex-end;gap:10px;background:#fff0cf;border:1px solid #ebd4a3;border-radius:15px;padding:14px 22px;margin:6px 0 18px}
.kg-price span{font-size:24px}.kg-price strong{font-size:58px;color:var(--red);line-height:.9}.kg-price small{font-size:18px;font-weight:700}
.service-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.service-list li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--red);color:white;font-weight:900;margin-right:9px}
.buffet-main{width:100%;height:360px;object-fit:cover;border-radius:22px;box-shadow:0 18px 45px #5b351018}
.buffet-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.buffet-gallery img{width:100%;height:210px;object-fit:cover;border-radius:16px}
.pf-section{background:#faf4ea}.pf-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.pf-photo{width:100%;height:420px;object-fit:cover;border-radius:24px;box-shadow:0 18px 45px #5b351018}.pf-lead{font-size:19px;color:var(--muted)}
.pf-composition{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0}.pf-composition div{background:white;border:1px solid var(--line);border-radius:14px;padding:18px 10px;text-align:center}.pf-composition span,.pf-composition b,.pf-composition small{display:block}.pf-composition span{font-size:30px;margin-bottom:6px}.pf-composition .plus span{font-size:30px;color:var(--red);font-weight:900}
.salad-highlight{display:inline-block;background:var(--red);color:white;border-radius:10px;padding:12px 18px;margin-bottom:10px}.pf-note{color:var(--muted);margin-bottom:22px}
@media(max-width:850px){.service-intro,.pf-grid{grid-template-columns:1fr}.buffet-main{height:300px}.pf-photo{height:340px}.pf-composition{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.buffet-gallery{grid-template-columns:1fr}.service-intro h2,.pf-section h2{font-size:34px}.kg-price strong{font-size:48px}.pf-composition{grid-template-columns:1fr 1fr}.buffet-main{height:250px}}

.weekly-section{background:#fffdf8}
.weekly-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.weekly-card{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 28px #3d26100d;display:flex;flex-direction:column}
.weekly-card .day{background:var(--red);color:white;text-align:center;padding:11px;font-size:13px;font-weight:900;letter-spacing:.08em}
.weekly-card img{width:100%;height:155px;object-fit:cover;display:block}
.weekly-body{padding:16px;display:flex;flex-direction:column;flex:1}
.weekly-body h3{font:700 20px "Playfair Display",serif;margin:0 0 8px}
.weekly-body p{font-size:13px;color:var(--muted);line-height:1.5;flex:1}
.weekly-body .btn{font-size:11px;padding:10px 8px;margin-top:8px}
.weekly-note{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}
@media(max-width:1000px){.weekly-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.weekly-grid{grid-template-columns:1fr}.weekly-card img{height:210px}}

.footer-grid{background:#000}
.footer-grid b{color:#fff}
.footer-grid a,.footer-grid span{color:#c7c7c7}
.copyright{background:#000;border-top:1px solid #202020;color:#8f8f8f}

.pf-price{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 15px;margin:0 0 8px;color:var(--muted);font-weight:700}
.pf-price strong{display:block;color:var(--red);font-size:30px;margin-top:3px}
.reviews-section{background:#fff8ed}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 28px #3d26100c}
.review-card .stars{color:#e0a000;font-size:20px;letter-spacing:2px;margin-bottom:12px}
.review-card p{color:var(--muted);line-height:1.65;min-height:72px}
.review-card b{font-size:14px}
.review-note{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}
.admin-link{margin-top:8px;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid #444!important;border-radius:8px;padding:10px 12px!important;color:#fff!important;font-weight:700}
.admin-link:hover{border-color:#777!important;background:#111}
.footer-grid{grid-template-columns:1.2fr .8fr .9fr 1fr!important}
@media(max-width:850px){.reviews-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr!important}}

.wa-icon{width:20px;height:20px;display:inline-block;flex:0 0 auto;margin-right:8px}
.floating-wa .wa-icon{width:31px;height:31px;margin:0}
.floating-wa{font-size:0}
.btn-whatsapp{gap:2px}
.google-review-summary{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin:0 auto 22px;max-width:780px;box-shadow:0 6px 24px #3d26100a}
.google-badge{display:flex;align-items:center;gap:9px}.google-g,.mini-google{font-family:Arial,sans-serif;font-weight:900}
.google-g{font-size:30px;color:#4285f4}.google-review-summary>div:nth-child(2){display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center}
.google-review-summary strong{font-size:28px}.google-review-summary #googleStars{color:#e0a000;letter-spacing:1px}.google-review-summary small{grid-column:1/-1;color:var(--muted)}
.google-review-summary a{margin-left:auto;color:var(--red);font-weight:800;font-size:13px}
.review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mini-google{font-size:22px;color:#4285f4}
.review-card small{display:block;color:#999;margin-top:8px}.review-source{display:inline-block;margin-top:10px;color:var(--red);font-size:12px;font-weight:800}
.review-loading{opacity:.6}
@media(max-width:620px){.google-review-summary{align-items:flex-start;flex-wrap:wrap}.google-review-summary a{margin-left:0;width:100%}}

.google-cta-section{background:#fff8ed;padding:68px 0}
.google-cta-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 34px;box-shadow:0 12px 38px #3d26100d}
.google-cta-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e5e5e5;font:900 36px Arial,sans-serif;color:#4285f4;box-shadow:0 5px 18px #0000000c}
.google-cta-copy h2{font:800 32px/1.08 "Playfair Display",serif;margin:6px 0 8px}
.google-cta-copy p{margin:0;color:var(--muted);line-height:1.6;max-width:650px}
.google-cta-actions{display:grid;gap:9px;min-width:215px}
.google-outline{background:#fff;color:var(--red);border:1px solid var(--red)}
@media(max-width:850px){.google-cta-card{grid-template-columns:auto 1fr}.google-cta-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:560px){.google-cta-card{grid-template-columns:1fr;padding:25px}.google-cta-icon{width:58px;height:58px}.google-cta-actions{grid-column:auto;grid-template-columns:1fr}.google-cta-copy h2{font-size:28px}}

/* V12 - ícone WhatsApp autocontido e sem dependências externas */
.whatsapp-mark{
  display:inline-block;
  width:21px;
  height:21px;
  flex:0 0 21px;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='black' d='M16.02 3C8.84 3 3 8.78 3 15.9c0 2.27.6 4.49 1.75 6.43L3 29l6.86-1.79a13.08 13.08 0 0 0 6.15 1.54h.01C23.2 28.75 29 22.97 29 15.86 29 8.75 23.2 3 16.02 3Zm0 23.55h-.01a10.88 10.88 0 0 1-5.55-1.51l-.4-.24-4.07 1.06 1.09-3.95-.26-.41a10.67 10.67 0 0 1-1.65-5.6c0-5.91 4.86-10.72 10.85-10.72 5.98 0 10.84 4.8 10.84 10.7 0 5.9-4.86 10.67-10.84 10.67Zm5.95-8.01c-.33-.16-1.94-.95-2.24-1.06-.3-.11-.52-.16-.74.16-.22.32-.85 1.06-1.04 1.28-.19.21-.38.24-.71.08-.33-.16-1.38-.5-2.63-1.6-.97-.85-1.63-1.91-1.82-2.23-.19-.32-.02-.5.14-.66.15-.14.33-.37.49-.56.16-.19.22-.32.33-.53.11-.21.05-.4-.03-.56-.08-.16-.74-1.76-1.01-2.41-.27-.64-.54-.55-.74-.56h-.63c-.22 0-.57.08-.87.4-.3.32-1.14 1.11-1.14 2.7 0 1.59 1.17 3.13 1.33 3.35.16.21 2.29 3.47 5.55 4.87.78.33 1.38.53 1.86.68.78.24 1.49.21 2.05.13.63-.09 1.94-.78 2.21-1.54.27-.77.27-1.43.19-1.56-.08-.13-.3-.21-.63-.37Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='black' d='M16.02 3C8.84 3 3 8.78 3 15.9c0 2.27.6 4.49 1.75 6.43L3 29l6.86-1.79a13.08 13.08 0 0 0 6.15 1.54h.01C23.2 28.75 29 22.97 29 15.86 29 8.75 23.2 3 16.02 3Zm0 23.55h-.01a10.88 10.88 0 0 1-5.55-1.51l-.4-.24-4.07 1.06 1.09-3.95-.26-.41a10.67 10.67 0 0 1-1.65-5.6c0-5.91 4.86-10.72 10.85-10.72 5.98 0 10.84 4.8 10.84 10.7 0 5.9-4.86 10.67-10.84 10.67Zm5.95-8.01c-.33-.16-1.94-.95-2.24-1.06-.3-.11-.52-.16-.74.16-.22.32-.85 1.06-1.04 1.28-.19.21-.38.24-.71.08-.33-.16-1.38-.5-2.63-1.6-.97-.85-1.63-1.91-1.82-2.23-.19-.32-.02-.5.14-.66.15-.14.33-.37.49-.56.16-.19.22-.32.33-.53.11-.21.05-.4-.03-.56-.08-.16-.74-1.76-1.01-2.41-.27-.64-.54-.55-.74-.56h-.63c-.22 0-.57.08-.87.4-.3.32-1.14 1.11-1.14 2.7 0 1.59 1.17 3.13 1.33 3.35.16.21 2.29 3.47 5.55 4.87.78.33 1.38.53 1.86.68.78.24 1.49.21 2.05.13.63-.09 1.94-.78 2.21-1.54.27-.77.27-1.43.19-1.56-.08-.13-.3-.21-.63-.37Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.btn-whatsapp .whatsapp-mark{margin-right:7px}
.floating-wa .whatsapp-mark{width:32px;height:32px;flex-basis:32px;margin:0}
.floating-wa{display:flex!important;align-items:center;justify-content:center}

/* V13 - Botões de WhatsApp mais compactos */
.btn-whatsapp{
  width:auto!important;
  max-width:max-content;
  padding:12px 15px!important;
  gap:6px!important;
  white-space:nowrap;
}
.btn-whatsapp .whatsapp-mark{margin-right:4px!important}
.top-cta{padding:11px 14px!important}
.dish .btn-whatsapp,.weekly-body .btn-whatsapp{width:max-content!important;align-self:flex-start}
@media(max-width:560px){
  .actions .btn-whatsapp{width:100%!important;max-width:none}
}

/* V15 - Destaque especial para o Yakissoba */
.yakissoba-highlight{
  background:linear-gradient(135deg,#1a1714 0%,#251a13 55%,#3a1c13 100%);
  color:#fff;
  padding:82px 0;
}
.yakissoba-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:center;
}
.yakissoba-image-wrap{
  position:relative;
}
.yakissoba-image-wrap img{
  width:100%;
  height:430px;
  object-fit:cover;
  border-radius:24px;
  display:block;
  box-shadow:0 22px 60px #0006;
}
.fresh-badge{
  position:absolute;
  left:20px;
  top:20px;
  background:var(--red);
  color:#fff;
  padding:11px 15px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 8px 24px #0004;
}
.yakissoba-copy .eyebrow{color:#ffd27a}
.yakissoba-copy h2{
  font:800 44px/1.04 "Playfair Display",serif;
  margin:8px 0 6px;
}
.yakissoba-copy h3{
  font-size:28px;
  margin:0 0 16px;
  color:#ffd27a;
}
.yakissoba-copy p{
  color:#eadfd3;
  font-size:17px;
  line-height:1.7;
}
.yakissoba-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:24px 0 16px;
}
.yakissoba-options span{
  background:#ffffff10;
  border:1px solid #ffffff20;
  border-radius:12px;
  padding:13px 15px;
  font-weight:800;
}
.yakissoba-note{
  font-size:14px!important;
  color:#c9b9aa!important;
}
.yakissoba-cta{
  margin-top:8px;
  max-width:none!important;
  width:max-content!important;
}
@media(max-width:850px){
  .yakissoba-grid{grid-template-columns:1fr}
  .yakissoba-image-wrap img{height:340px}
}
@media(max-width:560px){
  .yakissoba-highlight{padding:60px 0}
  .yakissoba-copy h2{font-size:36px}
  .yakissoba-copy h3{font-size:24px}
  .yakissoba-options{grid-template-columns:1fr 1fr}
  .yakissoba-cta{width:100%!important;max-width:none!important}
}

/* V16 - alinhamento do menu superior */
.header{
  display:grid!important;
  grid-template-columns:240px minmax(0,1fr) auto;
  align-items:center!important;
  column-gap:24px!important;
  min-height:88px;
  height:auto!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.header .brand{
  display:flex;
  align-items:center;
  min-width:0;
}
.header .brand img{
  width:225px!important;
  height:62px!important;
}
.header .nav{
  margin:0!important;
  display:flex;
  align-items:center!important;
  justify-content:center;
  gap:24px!important;
  min-width:0;
  white-space:nowrap;
}
.header .nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0!important;
  line-height:1.15!important;
  text-align:center;
  font-size:14px;
}
.header .top-cta{
  justify-self:end;
  align-self:center;
  margin:0!important;
}
@media(max-width:1180px){
  .header{
    grid-template-columns:210px minmax(0,1fr) auto;
    column-gap:16px!important;
  }
  .header .brand img{width:195px!important}
  .header .nav{gap:16px!important}
  .header .nav a{font-size:13px}
}
@media(max-width:980px){
  .header{
    display:flex!important;
    min-height:76px;
  }
  .header .brand img{width:190px!important;height:52px!important}
  .header .nav{
    display:none;
  }
  .header .nav.open{
    display:flex!important;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    background:#000;
    padding:18px 22px;
    flex-direction:column;
    align-items:stretch!important;
    gap:4px!important;
  }
  .header .nav.open a{
    justify-content:flex-start;
    min-height:42px;
    width:100%;
  }
  .header .top-cta{display:none}
  .menu-toggle{display:block!important;margin-left:auto}
}

/* Cardápio V16: mantém bom equilíbrio com menos itens */
@media(min-width:851px){
  .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* V17 - cabeçalho com folga real entre logo, navegação e CTA */
.header{
  grid-template-columns:260px minmax(0,1fr) 210px!important;
  column-gap:28px!important;
}
.header .nav{
  justify-content:center!important;
  gap:20px!important;
  overflow:visible!important;
}
.header .nav a{
  white-space:nowrap!important;
}
.header .top-cta{
  width:210px!important;
  max-width:210px!important;
  padding-left:14px!important;
  padding-right:14px!important;
}
@media(max-width:1260px){
  .header{
    grid-template-columns:235px minmax(0,1fr) 190px!important;
    column-gap:18px!important;
  }
  .header .brand img{width:215px!important}
  .header .nav{gap:14px!important}
  .header .nav a{font-size:12.5px!important}
  .header .top-cta{
    width:190px!important;
    max-width:190px!important;
    font-size:12px!important;
  }
}
@media(max-width:1080px){
  .header{
    display:flex!important;
  }
  .header .nav{display:none!important}
  .header .nav.open{display:flex!important}
  .header .top-cta{display:none!important}
  .menu-toggle{display:block!important;margin-left:auto}
}

.weekly-card:nth-child(2) .weekly-body h3{color:var(--red)}
.weekly-card:nth-child(2) .weekly-body p strong{
  color:#8e1b15;
}
.yakissoba-copy strong{color:#ffd27a}
.yakissoba-note strong{
  color:#ffd27a;
  font-size:17px;
}

/* V18 - padronização dos cards de especiais */
.weekly-body h3{
  color:var(--ink)!important;
  text-align:center!important;
}
.weekly-body p{
  text-align:justify!important;
  text-justify:inter-word;
  line-height:1.6;
}
.weekly-card:nth-child(2) .weekly-body h3{
  color:var(--ink)!important;
}
.weekly-card:nth-child(2) .weekly-body p strong{
  color:var(--ink)!important;
}

/* V19 - especiais centralizados e cabeçalho corrigido */
.weekly-body p{
  text-align:center!important;
  text-justify:auto!important;
}
.weekly-body h3{
  text-align:center!important;
}

.header{
  grid-template-columns:280px minmax(0,1fr) 220px!important;
  column-gap:30px!important;
  padding-left:max(3%,calc((100% - 1280px)/2))!important;
  padding-right:max(3%,calc((100% - 1280px)/2))!important;
}
.header .brand{
  width:280px!important;
  min-width:280px!important;
}
.header .brand img{
  width:250px!important;
  max-width:250px!important;
  height:62px!important;
}
.header .nav{
  min-width:0!important;
  justify-content:center!important;
  gap:18px!important;
}
.header .nav a{
  flex:0 0 auto!important;
}
.header .top-cta{
  width:220px!important;
  max-width:220px!important;
  justify-self:end!important;
}
@media(max-width:1320px){
  .header{
    grid-template-columns:250px minmax(0,1fr) 205px!important;
    column-gap:18px!important;
  }
  .header .brand{
    width:250px!important;
    min-width:250px!important;
  }
  .header .brand img{
    width:225px!important;
    max-width:225px!important;
  }
  .header .nav{
    gap:12px!important;
  }
  .header .nav a{
    font-size:12.5px!important;
  }
  .header .top-cta{
    width:205px!important;
    max-width:205px!important;
    font-size:12px!important;
  }
}
@media(max-width:1160px){
  .header{
    display:flex!important;
    min-height:76px!important;
  }
  .header .brand{
    width:auto!important;
    min-width:0!important;
  }
  .header .brand img{
    width:205px!important;
    max-width:205px!important;
    height:54px!important;
  }
  .header .nav{
    display:none!important;
  }
  .header .nav.open{
    display:flex!important;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    background:#000;
    padding:18px 22px;
    flex-direction:column;
    align-items:stretch!important;
    gap:4px!important;
  }
  .header .nav.open a{
    width:100%;
    justify-content:flex-start!important;
    min-height:42px;
    font-size:14px!important;
  }
  .header .top-cta{
    display:none!important;
  }
  .menu-toggle{
    display:block!important;
    margin-left:auto!important;
  }
}

/* V20 - botão superior do WhatsApp mais compacto */
.header{
  grid-template-columns:280px minmax(0,1fr) 170px!important;
  column-gap:24px!important;
}
.header .top-cta{
  width:170px!important;
  max-width:170px!important;
  min-width:170px!important;
  padding:9px 9px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.header .top-cta .whatsapp-mark{
  width:16px!important;
  height:16px!important;
  flex-basis:16px!important;
  margin-right:2px!important;
}
@media(max-width:1320px){
  .header{
    grid-template-columns:250px minmax(0,1fr) 158px!important;
    column-gap:12px!important;
  }
  .header .top-cta{
    width:158px!important;
    max-width:158px!important;
    min-width:158px!important;
    padding:8px 7px!important;
    font-size:10.5px!important;
  }
}

/* V21 - ajustes em pratos feitos e entregas */
.pf-composition-v21{
  grid-template-columns:1fr 1fr!important;
  max-width:520px;
}
.pf-composition-v21 div{
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.delivery-section{
  background:#fff8ed;
}
.delivery-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:34px;
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:30px;
  align-items:center;
  box-shadow:0 12px 38px #3d26100d;
}
.delivery-copy h2{
  font:800 36px/1.08 "Playfair Display",serif;
  margin:7px 0 12px;
}
.delivery-copy p{
  color:var(--muted);
  line-height:1.65;
  margin:7px 0;
}
.delivery-actions{
  display:grid;
  gap:10px;
}
.ifood-btn{
  background:#ea1d2c;
  color:#fff;
}
@media(max-width:850px){
  .delivery-card{grid-template-columns:1fr}
}
@media(max-width:560px){
  .pf-composition-v21{grid-template-columns:1fr 1fr!important}
  .delivery-card{padding:24px}
}

/* V22 - entregas, prato do dia e especiais */
.delivery-section{scroll-margin-top:110px;background:#fff8ed;padding:80px 0!important}
.delivery-section .section-heading{margin-bottom:26px}
.delivery-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:34px;
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:30px;
  align-items:center;
  box-shadow:0 12px 38px #3d26100d;
}
.delivery-copy h3{font:700 26px "Playfair Display",serif;margin:0 0 10px}
.delivery-copy p{color:var(--muted);line-height:1.65}
.delivery-actions{display:grid;gap:10px}
.ifood-btn{background:#ea1d2c;color:#fff}
.daily-photo-card span{display:none!important}
.weekly-central-cta{
  display:flex;
  justify-content:center;
  margin-top:26px;
}
.weekly-central-cta .btn{
  min-width:220px;
  justify-content:center;
}
@media(max-width:850px){
  .delivery-card{grid-template-columns:1fr}
}

/* V23 - seção Entregas corrigida */
#entregas{scroll-margin-top:115px}
.delivery-section{display:block!important;visibility:visible!important;background:#fff8ed;padding:82px 0!important}
.delivery-section .section-heading{margin-bottom:28px}
.delivery-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:center;box-shadow:0 12px 38px #3d26100d}
.delivery-copy h3{font:700 27px "Playfair Display",serif;margin:0 0 12px}
.delivery-copy p{color:var(--muted);line-height:1.7;margin:9px 0}
.delivery-neighborhoods{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.delivery-neighborhoods span{background:#f8eee1;border:1px solid #ead7c0;border-radius:999px;padding:10px 14px;font-weight:800}
.delivery-actions{display:grid;gap:14px;align-content:center}
.delivery-actions .btn-whatsapp{width:100%!important;max-width:none!important;justify-content:center}
.delivery-ifood-note{background:#f7f7f7;border:1px solid var(--line);border-radius:12px;padding:15px;text-align:center}
.delivery-ifood-note strong,.delivery-ifood-note span{display:block}
.delivery-ifood-note span{margin-top:4px;color:var(--muted);font-size:13px}
@media(max-width:850px){.delivery-card{grid-template-columns:1fr}}

/* V24 - novo destaque principal */
.hero{
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.58) 45%,rgba(0,0,0,.25) 100%),
    url("assets/prato-comida-gerado.jpg")!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.hero-overlay{
  background:linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.05))!important;
}

/* V25 - cabeçalho sem CTA do WhatsApp */
.header{
  grid-template-columns:260px minmax(0,1fr)!important;
}
.header .nav{
  justify-content:flex-end!important;
}
.header .top-cta{display:none!important}
@media(max-width:1160px){
  .header{display:flex!important}
}
.home-menu-cta{background:#faf4ea}
.home-menu-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:30px 34px;
  box-shadow:0 12px 38px #3d26100d;
}
.home-menu-card h2{
  font:800 34px/1.08 "Playfair Display",serif;
  margin:6px 0 8px;
}
.home-menu-card p{color:var(--muted);margin:0}
@media(max-width:700px){
  .home-menu-card{display:block}
  .home-menu-card .btn{margin-top:18px;width:100%}
}

/* V25 - página de cardápio */
.menu-page{background:#fffdf8}
.menu-page-hero{
  background:linear-gradient(120deg,#15110f,#3d1b11);
  color:#fff;
  padding:72px 0;
}
.menu-page-hero h1{
  font:800 58px/1 "Playfair Display",serif;
  margin:8px 0 12px;
}
.menu-page-hero p{font-size:18px;color:#eadfd3}
.menu-list-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.menu-list-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:17px 18px;
}
.menu-list-card h3{
  margin:0 0 4px;
  font:700 20px "Playfair Display",serif;
}
.menu-list-card p{margin:0;color:var(--muted);font-size:12px}
.menu-list-card strong{color:var(--red);font-size:18px;white-space:nowrap}
.menu-info-box{
  margin-top:28px;
  background:#faf4ea;
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
}
.menu-info-box h3{font:700 25px "Playfair Display",serif;margin-top:0}
.accomp-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin:16px 0;
}
.accomp-grid span{
  background:#fff;
  border:1px solid var(--line);
  border-radius:9px;
  padding:11px 12px;
  font-weight:700;
}
.menu-yak-section{background:#171310;color:#fff}
.menu-yak-image{width:100%;height:420px;object-fit:cover;border-radius:22px}
.menu-yak-section h2{font:800 40px "Playfair Display",serif;margin:7px 0 18px}
.yak-menu-list{display:grid;gap:10px;margin:18px 0}
.yak-menu-list div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid #ffffff22;
}
.yak-menu-list strong{color:#ffd27a}
.menu-note{color:#c9b9aa}
@media(max-width:760px){
  .menu-list-grid{grid-template-columns:1fr}
  .accomp-grid{grid-template-columns:1fr 1fr}
  .menu-page-hero h1{font-size:46px}
}

/* V27 - remove ícones decorativos antigos do banner principal */
.hero::after,
.hero:after{
  content:none!important;
  display:none!important;
}

/* V27 - ícone do WhatsApp sempre visível */
.whatsapp-mark{
  display:inline-block!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  background:#fff!important;
  vertical-align:middle;
}
.floating-wa .whatsapp-mark{
  width:32px!important;
  height:32px!important;
  flex-basis:32px!important;
}

/* V28 - banners com imagens limpas de comida */

/* Página principal: remove a arte anterior com textos/logo e usa somente
   uma foto limpa do prato como imagem de fundo. */
.hero{
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.58) 43%,rgba(0,0,0,.20) 100%),
    url("assets/prato-feito.jpg")!important;
  background-size:cover!important;
  background-position:center 52%!important;
  background-repeat:no-repeat!important;
}
.hero::after,
.hero:after{
  content:none!important;
  display:none!important;
}

/* Página do cardápio: substitui a faixa marrom por foto de comida. */
.menu-page-hero{
  position:relative;
  overflow:hidden;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 55%,rgba(0,0,0,.18) 100%),
    url("assets/prato-feito.jpg")!important;
  background-size:cover!important;
  background-position:center 48%!important;
  background-repeat:no-repeat!important;
  min-height:310px;
  display:flex;
  align-items:center;
}
.menu-page-hero .wrap{
  position:relative;
  z-index:2;
}
.menu-page-hero h1,
.menu-page-hero p{
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}


/* =========================================================
   V31 — fotos reais + harmonização visual
   ========================================================= */

/* Self-service: o mural passa a ser o destaque visual */
#buffetMainImage{
  height:430px;
  object-fit:cover;
  object-position:center;
  border-radius:24px;
  box-shadow:0 20px 50px rgba(69,40,14,.16);
}
.service-intro{
  gap:48px;
}
.buffet-gallery{
  margin-top:20px;
}
.buffet-gallery img{
  border:1px solid rgba(107,74,43,.10);
  box-shadow:0 10px 28px rgba(69,40,14,.08);
}

/* Prato feito */
#pfImage{
  object-position:center;
  box-shadow:0 20px 48px rgba(69,40,14,.14);
}

/* Cards semanais com fotos mais valorizadas */
.weekly-card{
  transition:transform .22s ease, box-shadow .22s ease;
}
.weekly-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(61,38,16,.12);
}
.weekly-card img{
  height:175px;
  object-fit:cover;
}

/* Nova seção Entregas */
.delivery-section-v31{
  background:
    radial-gradient(circle at 12% 18%, rgba(190,16,27,.05), transparent 30%),
    #fff8ed !important;
}

.delivery-showcase{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(61,38,16,.10);
}

.delivery-image-wrap{
  position:relative;
  min-height:470px;
  background:#f2eadf;
}

.delivery-image-wrap img{
  width:100%;
  height:100%;
  min-height:470px;
  object-fit:cover;
  display:block;
}

.delivery-image-wrap:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.48));
  pointer-events:none;
}

.delivery-image-badge{
  position:absolute;
  left:26px;
  right:26px;
  bottom:24px;
  z-index:2;
  color:#fff;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.delivery-image-badge strong{
  font:700 24px "Playfair Display",serif;
}
.delivery-image-badge span{
  font-size:13px;
  opacity:.94;
}

.delivery-content-card{
  padding:48px 44px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.delivery-kicker{
  color:var(--red);
  font-size:12px;
  letter-spacing:.13em;
  font-weight:900;
}

.delivery-content-card h3{
  font:800 36px/1.08 "Playfair Display",serif;
  margin:8px 0 16px;
}

.delivery-content-card > p{
  color:var(--muted);
  line-height:1.72;
  margin:0 0 18px;
}

.delivery-section-v31 .delivery-neighborhoods{
  margin:8px 0 20px;
}
.delivery-section-v31 .delivery-neighborhoods span{
  background:#fff4e8;
  border:1px solid #edd9c2;
  color:#32251c;
  box-shadow:0 3px 10px rgba(61,38,16,.04);
}

.delivery-highlight{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 22px;
  padding:15px 17px;
  border-left:4px solid var(--red);
  background:#fbf3e8;
  border-radius:0 12px 12px 0;
}
.delivery-highlight b{
  color:#1b1612;
}
.delivery-highlight span{
  color:var(--muted);
  font-size:14px;
}

.delivery-main-btn{
  width:fit-content !important;
  max-width:100%;
  min-width:260px;
  justify-content:center;
}

@media(max-width:900px){
  .delivery-showcase{
    grid-template-columns:1fr;
  }
  .delivery-image-wrap,
  .delivery-image-wrap img{
    min-height:390px;
    height:390px;
  }
  .delivery-content-card{
    padding:36px 30px;
  }
  #buffetMainImage{
    height:360px;
  }
}

@media(max-width:560px){
  #buffetMainImage{
    height:280px;
    border-radius:18px;
  }
  .weekly-card img{
    height:220px;
  }
  .delivery-image-wrap,
  .delivery-image-wrap img{
    min-height:320px;
    height:320px;
  }
  .delivery-content-card{
    padding:30px 22px;
  }
  .delivery-content-card h3{
    font-size:30px;
  }
  .delivery-main-btn{
    width:100% !important;
    min-width:0;
  }
}


/* =========================================================
   V32 — Self-service sem menu duplicado + novos murais
   ========================================================= */
.service-section-v32{
  padding-top:58px;
  padding-bottom:64px;
  background:#fffaf3;
}
.buffet-feature-v32{
  max-width:900px;
  margin:0 auto 26px;
}
.buffet-mural-main-v32{
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  display:block;
  border-radius:24px;
  border:1px solid rgba(113,73,34,.10);
  box-shadow:0 20px 55px rgba(65,38,14,.14);
}
.buffet-gallery-v32{
  max-width:900px;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:22px;
}
.buffet-photo-card{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(113,73,34,.10);
  box-shadow:0 12px 34px rgba(65,38,14,.09);
}
.buffet-photo-card img{
  width:100%;
  height:240px !important;
  object-fit:cover;
  display:block;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.buffet-photo-card figcaption{
  padding:16px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:3px;
  text-align:center;
}
.buffet-photo-card figcaption strong{
  color:#24180f;
  font-size:15px;
}
.buffet-photo-card figcaption span{
  color:var(--muted);
  font-size:13px;
}

/* Entregas em formato de mural */
.delivery-section-v32{
  background:
    radial-gradient(circle at 10% 10%, rgba(190,16,27,.055), transparent 31%),
    #fff8ed !important;
}
.delivery-showcase-v32{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(61,38,16,.11);
}
.delivery-mural-v32{
  padding:16px;
  background:#f4eadc;
  display:grid;
  grid-template-columns:1.35fr .85fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
  min-height:520px;
}
.delivery-mural-v32 figure{
  margin:0;
  position:relative;
  overflow:hidden;
  border-radius:17px;
  background:#ddd;
}
.delivery-mural-v32 img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}
.delivery-mural-v32 figure:hover img{
  transform:scale(1.025);
}
.delivery-main-photo-v32{
  grid-row:1 / 3;
}
.delivery-main-photo-v32:after,
.delivery-small-photo-v32:after{
  content:"";
  position:absolute;
  inset:45% 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.62));
  pointer-events:none;
}
.delivery-main-photo-v32 figcaption,
.delivery-small-photo-v32 figcaption{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:15px;
  color:#fff;
  text-shadow:0 1px 5px rgba(0,0,0,.45);
}
.delivery-main-photo-v32 figcaption{
  display:flex;
  flex-direction:column;
}
.delivery-main-photo-v32 figcaption strong{
  font:700 24px "Playfair Display",serif;
}
.delivery-main-photo-v32 figcaption span{
  font-size:12px;
}
.delivery-small-photo-v32 figcaption{
  font-weight:800;
  font-size:14px;
}
.delivery-content-v32{
  padding:48px 42px;
  justify-content:center;
}
.delivery-content-v32 h3{
  margin-top:8px;
}

@media(max-width:900px){
  .buffet-feature-v32,
  .buffet-gallery-v32{
    max-width:760px;
  }
  .delivery-showcase-v32{
    grid-template-columns:1fr;
  }
  .delivery-mural-v32{
    min-height:480px;
  }
}
@media(max-width:620px){
  .service-section-v32{
    padding-top:36px;
  }
  .buffet-mural-main-v32{
    border-radius:16px;
  }
  .buffet-gallery-v32{
    grid-template-columns:1fr;
  }
  .buffet-photo-card img{
    height:220px !important;
  }
  .delivery-mural-v32{
    grid-template-columns:1fr 1fr;
    grid-template-rows:270px 180px;
    min-height:0;
    padding:10px;
    gap:9px;
  }
  .delivery-main-photo-v32{
    grid-column:1 / 3;
    grid-row:1;
  }
  .delivery-small-photo-v32{
    grid-row:2;
  }
  .delivery-content-v32{
    padding:30px 22px;
  }
}

/* =========================================================
   V34 — correções sobre a base estável V32
   ========================================================= */

/* Mantém a seção de buffet exatamente no desenho V32.
   O hotspot torna clicável apenas o botão que já faz parte da imagem. */
.buffet-feature-clickable{
  position:relative;
}
.buffet-wa-hotspot{
  position:absolute;
  left:42.2%;
  top:78.0%;
  width:15.8%;
  height:8.2%;
  z-index:4;
  display:block;
  cursor:pointer;
  border-radius:10px;
}
.buffet-wa-hotspot:focus-visible{
  outline:3px solid #1f9d55;
  outline-offset:3px;
}

/* Prato feito: respeita a proporção 3:2 da nova foto para não cortar o omelete. */
#pfImage.pf-photo{
  width:100%;
  height:auto !important;
  aspect-ratio:3 / 2;
  object-fit:cover !important;
  object-position:center center !important;
  display:block;
}

/* Sexta: enquadramento central da foto nova sem deformação. */
#fridayImage{
  object-position:center 53% !important;
}

/* Entregas: composição limpa, sem mural apertado nem texto cortado. */
.delivery-section-v34{
  background:
    radial-gradient(circle at 10% 12%, rgba(180,15,24,.055), transparent 30%),
    #fff8ed !important;
}
.delivery-showcase-v34{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);
  align-items:stretch;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(61,38,16,.10);
}
.delivery-photo-v34{
  background:#17110d;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.delivery-photo-v34 img{
  width:100%;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:contain;
  object-position:center;
  display:block;
}
.delivery-content-v34{
  padding:42px 34px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.delivery-content-v34 h3{
  font:800 34px/1.08 "Playfair Display",serif;
  margin:8px 0 14px;
}
.delivery-content-v34 > p{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.65;
}
.delivery-neighborhoods-v34{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  margin:6px 0 18px !important;
  width:100%;
}
.delivery-neighborhoods-v34 span{
  flex:1 1 0;
  min-width:0;
  white-space:nowrap;
  text-align:center;
  padding:10px 8px !important;
  font-size:13px;
}
.delivery-content-v34 .delivery-highlight{
  margin-bottom:20px;
}
.delivery-content-v34 .delivery-main-btn{
  max-width:100%;
}

@media(max-width:900px){
  .delivery-showcase-v34{
    grid-template-columns:1fr;
  }
  .delivery-photo-v34 img{
    aspect-ratio:3 / 2;
  }
  .delivery-content-v34{
    padding:34px 28px;
  }
  .buffet-wa-hotspot{
    left:42%;
    top:77.5%;
    width:16%;
    height:8.5%;
  }
}

@media(max-width:620px){
  #pfImage.pf-photo{
    aspect-ratio:3 / 2;
  }
  .delivery-content-v34{
    padding:28px 20px;
  }
  .delivery-content-v34 h3{
    font-size:29px;
  }
  .delivery-neighborhoods-v34{
    gap:5px !important;
  }
  .delivery-neighborhoods-v34 span{
    padding:9px 5px !important;
    font-size:11px;
  }
  .buffet-wa-hotspot{
    left:41.5%;
    top:77%;
    width:17%;
    height:9%;
  }
}


/* =========================================================
   V35 — novo banner principal + banner da página Cardápio
   ========================================================= */

/* Mesma fotografia nos dois banners; textos continuam em HTML
   para preservar legibilidade e responsividade. */
.hero{
  min-height:560px!important;
  background-image:
    linear-gradient(90deg,
      rgba(10,5,2,.90) 0%,
      rgba(20,9,4,.78) 31%,
      rgba(18,8,3,.42) 54%,
      rgba(0,0,0,.08) 100%),
    url("assets/banner-principal-v35.jpg")!important;
  background-size:cover!important;
  background-position:right center!important;
  background-repeat:no-repeat!important;
}

/* Título menor que nas versões anteriores. */
.hero-content{
  width:min(1120px,92%)!important;
}
.hero .eyebrow{
  color:#e9b34c!important;
}
.hero h1{
  font:800 clamp(34px,4vw,50px)/1.08 "Playfair Display",serif!important;
  max-width:570px!important;
  margin:12px 0 16px!important;
}
.hero h1 em{
  color:#f0bd59!important;
}
.hero p{
  max-width:540px!important;
  font-size:18px!important;
  line-height:1.55!important;
}
.hero-overlay{
  background:linear-gradient(90deg,rgba(0,0,0,.26),rgba(0,0,0,0))!important;
}

/* Página de cardápio: mesma imagem, com texto próprio. */
.menu-page-hero{
  min-height:360px!important;
  padding:70px 0!important;
  background-image:
    linear-gradient(90deg,
      rgba(10,5,2,.90) 0%,
      rgba(20,9,4,.74) 34%,
      rgba(18,8,3,.36) 58%,
      rgba(0,0,0,.08) 100%),
    url("assets/banner-principal-v35.jpg")!important;
  background-size:cover!important;
  background-position:right center!important;
  background-repeat:no-repeat!important;
}
.menu-page-hero .wrap{
  max-width:1120px!important;
}
.menu-page-hero .eyebrow{
  color:#f0bd59!important;
}
.menu-page-hero h1{
  font:800 clamp(44px,5vw,62px)/1 "Playfair Display",serif!important;
  margin:9px 0 14px!important;
  color:#fff!important;
}
.menu-page-hero p{
  max-width:560px!important;
  font-size:18px!important;
  line-height:1.55!important;
  color:#f4e7d9!important;
}

/* Mantém os textos confortáveis sobre a foto em telas menores. */
@media(max-width:850px){
  .hero{
    min-height:540px!important;
    background-position:64% center!important;
  }
  .hero{
    background-image:
      linear-gradient(90deg,rgba(5,2,1,.88),rgba(5,2,1,.62)),
      url("assets/banner-principal-v35.jpg")!important;
  }
  .menu-page-hero{
    background-position:64% center!important;
    background-image:
      linear-gradient(90deg,rgba(5,2,1,.88),rgba(5,2,1,.62)),
      url("assets/banner-principal-v35.jpg")!important;
  }
}
@media(max-width:560px){
  .hero{
    min-height:520px!important;
  }
  .hero h1{
    font-size:38px!important;
  }
  .hero p,
  .menu-page-hero p{
    font-size:16px!important;
  }
  .menu-page-hero{
    min-height:320px!important;
    padding:54px 0!important;
  }
}


/* =========================================================
   V36 — Banner final aprovado
   ========================================================= */

.hero-v36{
  position:relative;
  min-height:520px!important;
  display:flex;
  align-items:center;
  overflow:hidden;
  background-color:#1d0d05!important;
  background-image:
    linear-gradient(90deg,
      #170a04 0%,
      rgba(23,10,4,.98) 27%,
      rgba(23,10,4,.84) 39%,
      rgba(23,10,4,.34) 54%,
      rgba(23,10,4,.02) 72%),
    url("assets/banner-familia-nishimura-v36.jpg")!important;
  background-repeat:no-repeat!important;
  background-position:left top, right center!important;
  background-size:100% 100%, auto 100%!important;
}

.hero-v36 .hero-overlay{
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.02))!important;
}

.hero-v36 .hero-content{
  position:relative;
  z-index:2;
  width:min(1180px,92%)!important;
  margin:0 auto!important;
  padding:72px 0 62px!important;
}

.hero-v36 .eyebrow{
  color:#e2ad43!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
}

.hero-v36 h1{
  max-width:540px!important;
  margin:10px 0 16px!important;
  color:#fff!important;
  font:800 clamp(34px,3.55vw,49px)/1.08 "Playfair Display",serif!important;
  text-wrap:balance;
}

.hero-v36 h1 em{
  color:#f0bc56!important;
  font-style:normal!important;
}

.hero-v36 p{
  max-width:520px!important;
  margin:0 0 24px!important;
  color:#f8f0e8!important;
  font-size:17px!important;
  line-height:1.55!important;
  text-shadow:0 1px 3px rgba(0,0,0,.28);
}

.hero-v36 .actions{ margin-top:0!important; }

.hero-v36 .btn-primary{
  min-width:145px;
  justify-content:center;
  box-shadow:0 10px 24px rgba(190,16,27,.22);
}

.hero-v36 .hero-meta{
  margin-top:22px!important;
  color:#f2dfca!important;
  font-size:13px!important;
}

/* Cardápio — mesma foto, com a mensagem pedida */
.menu-page-hero-v36{
  position:relative;
  min-height:390px!important;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:0!important;
  background-color:#1d0d05!important;
  background-image:
    linear-gradient(90deg,
      #170a04 0%,
      rgba(23,10,4,.98) 28%,
      rgba(23,10,4,.82) 41%,
      rgba(23,10,4,.30) 57%,
      rgba(23,10,4,.02) 74%),
    url("assets/banner-familia-nishimura-v36.jpg")!important;
  background-repeat:no-repeat!important;
  background-position:left top, right center!important;
  background-size:100% 100%, auto 100%!important;
}

.menu-page-hero-v36 .wrap{
  width:min(1180px,92%)!important;
  margin:0 auto!important;
  padding:68px 0!important;
  position:relative;
  z-index:2;
}

.menu-page-hero-v36 .eyebrow{
  color:#e9b34a!important;
  font-size:12px!important;
  letter-spacing:.17em!important;
}

.menu-page-hero-v36 h1{
  color:#fff!important;
  margin:7px 0 13px!important;
  font:800 clamp(46px,5vw,64px)/1 "Playfair Display",serif!important;
}

.menu-page-hero-v36 p{
  max-width:560px!important;
  color:#f8eee4!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.55!important;
  text-shadow:0 1px 3px rgba(0,0,0,.28);
}

@media(max-width:1100px){
  .hero-v36{
    background-size:100% 100%, auto 93%!important;
    background-position:left top, 112% center!important;
  }
  .menu-page-hero-v36{
    background-size:100% 100%, auto 94%!important;
    background-position:left top, 112% center!important;
  }
  .hero-v36 h1{ max-width:500px!important; }
}

@media(max-width:850px){
  .hero-v36{
    min-height:500px!important;
    background-image:
      linear-gradient(90deg,rgba(15,6,2,.96),rgba(15,6,2,.86) 48%,rgba(15,6,2,.42)),
      url("assets/banner-familia-nishimura-v36.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 62% center!important;
  }
  .hero-v36 .hero-content{ padding:60px 0 52px!important; }
  .hero-v36 h1{ max-width:490px!important; font-size:42px!important; }

  .menu-page-hero-v36{
    min-height:350px!important;
    background-image:
      linear-gradient(90deg,rgba(15,6,2,.96),rgba(15,6,2,.85) 50%,rgba(15,6,2,.40)),
      url("assets/banner-familia-nishimura-v36.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 62% center!important;
  }
}

@media(max-width:560px){
  .hero-v36{
    min-height:500px!important;
    background-image:
      linear-gradient(180deg,rgba(12,5,2,.86),rgba(12,5,2,.82) 58%,rgba(12,5,2,.58)),
      url("assets/banner-familia-nishimura-v36.jpg")!important;
    background-position:center, 61% center!important;
    background-size:100% 100%, cover!important;
  }

  .hero-v36 .hero-content{
    width:90%!important;
    padding:50px 0 42px!important;
  }

  .hero-v36 h1{
    max-width:100%!important;
    font-size:35px!important;
  }

  .hero-v36 p{
    max-width:100%!important;
    font-size:16px!important;
  }

  .hero-v36 .hero-meta{ line-height:1.6!important; }

  .menu-page-hero-v36{
    min-height:330px!important;
    background-image:
      linear-gradient(180deg,rgba(12,5,2,.87),rgba(12,5,2,.82) 58%,rgba(12,5,2,.60)),
      url("assets/banner-familia-nishimura-v36.jpg")!important;
    background-position:center, 62% center!important;
    background-size:100% 100%, cover!important;
  }

  .menu-page-hero-v36 .wrap{
    width:90%!important;
    padding:52px 0!important;
  }

  .menu-page-hero-v36 h1{ font-size:48px!important; }
  .menu-page-hero-v36 p{ font-size:16px!important; max-width:100%!important; }
}


/* =========================================================
   V37 — remoção da frase duplicada do banner + título menor
   ========================================================= */

.hero-v36{
  background-image:
    linear-gradient(90deg,
      #170a04 0%,
      rgba(23,10,4,.98) 30%,
      rgba(23,10,4,.88) 41%,
      rgba(23,10,4,.42) 56%,
      rgba(23,10,4,.04) 74%),
    url("assets/banner-familia-nishimura-v37.jpg")!important;
  background-position:left top, right center!important;
  background-size:100% 100%, auto 100%!important;
}

.hero-v36 h1{
  max-width:520px!important;
  font-size:clamp(30px,3vw,40px)!important;
  line-height:1.12!important;
  margin:10px 0 16px!important;
}

/* Mantém a mesma imagem limpa também no topo do cardápio */
.menu-page-hero-v36{
  background-image:
    linear-gradient(90deg,
      #170a04 0%,
      rgba(23,10,4,.98) 30%,
      rgba(23,10,4,.86) 42%,
      rgba(23,10,4,.38) 58%,
      rgba(23,10,4,.04) 76%),
    url("assets/banner-familia-nishimura-v37.jpg")!important;
  background-position:left top, right center!important;
  background-size:100% 100%, auto 100%!important;
}

@media(max-width:850px){
  .hero-v36{
    background-image:
      linear-gradient(90deg,rgba(15,6,2,.96),rgba(15,6,2,.86) 50%,rgba(15,6,2,.43)),
      url("assets/banner-familia-nishimura-v37.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 68% center!important;
  }
  .hero-v36 h1{
    font-size:36px!important;
  }

  .menu-page-hero-v36{
    background-image:
      linear-gradient(90deg,rgba(15,6,2,.96),rgba(15,6,2,.85) 50%,rgba(15,6,2,.42)),
      url("assets/banner-familia-nishimura-v37.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 68% center!important;
  }
}

@media(max-width:560px){
  .hero-v36{
    background-image:
      linear-gradient(180deg,rgba(12,5,2,.88),rgba(12,5,2,.84) 60%,rgba(12,5,2,.60)),
      url("assets/banner-familia-nishimura-v37.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 66% center!important;
  }
  .hero-v36 h1{
    font-size:31px!important;
    line-height:1.13!important;
  }

  .menu-page-hero-v36{
    background-image:
      linear-gradient(180deg,rgba(12,5,2,.88),rgba(12,5,2,.84) 60%,rgba(12,5,2,.60)),
      url("assets/banner-familia-nishimura-v37.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 66% center!important;
  }
}


/* =========================================================
   V38 — Banner aprovado + cardápio padronizado + buffet limpo
   ========================================================= */

/* Usa exatamente o mesmo fundo nas duas páginas */
.hero-v36{
  background-image:
    linear-gradient(90deg,
      #170a04 0%,
      rgba(23,10,4,.98) 30%,
      rgba(23,10,4,.88) 41%,
      rgba(23,10,4,.42) 56%,
      rgba(23,10,4,.04) 74%),
    url("assets/banner-familia-nishimura-v38.jpg")!important;
  background-position:left top, right center!important;
  background-size:100% 100%, auto 100%!important;
}

.hero-v36 h1{
  font-size:clamp(30px,3vw,40px)!important;
  line-height:1.12!important;
  max-width:520px!important;
}

/* Cardápio no mesmo padrão visual do banner principal */
.menu-page-hero-v38{
  min-height:390px!important;
  background-image:
    linear-gradient(90deg,
      #170a04 0%,
      rgba(23,10,4,.98) 30%,
      rgba(23,10,4,.88) 41%,
      rgba(23,10,4,.42) 56%,
      rgba(23,10,4,.04) 74%),
    url("assets/banner-familia-nishimura-v38.jpg")!important;
  background-position:left top, right center!important;
  background-size:100% 100%, auto 100%!important;
}

.menu-page-hero-v38 .wrap{
  width:min(1180px,92%)!important;
  margin:0 auto!important;
  padding:66px 0!important;
}

.menu-page-hero-v38 .eyebrow{
  color:#e9b34a!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
}

.menu-page-hero-v38 h1{
  color:#fff!important;
  font:800 clamp(34px,3.4vw,46px)/1.08 "Playfair Display",serif!important;
  margin:8px 0 14px!important;
}

.menu-page-hero-v38 p{
  color:#f8eee4!important;
  max-width:560px!important;
  font-size:17px!important;
  line-height:1.55!important;
  margin:0!important;
}

/* Buffet sem as duas fotos inferiores de carnes */
.service-section-v32 .buffet-feature-v32{
  margin-bottom:0!important;
}
.service-section-v32{
  padding-bottom:58px!important;
}

@media(max-width:850px){
  .hero-v36,
  .menu-page-hero-v38{
    background-image:
      linear-gradient(90deg,rgba(15,6,2,.96),rgba(15,6,2,.86) 50%,rgba(15,6,2,.43)),
      url("assets/banner-familia-nishimura-v38.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 68% center!important;
  }
  .menu-page-hero-v38 h1{
    font-size:38px!important;
  }
}

@media(max-width:560px){
  .hero-v36,
  .menu-page-hero-v38{
    background-image:
      linear-gradient(180deg,rgba(12,5,2,.88),rgba(12,5,2,.84) 60%,rgba(12,5,2,.60)),
      url("assets/banner-familia-nishimura-v38.jpg")!important;
    background-size:100% 100%, cover!important;
    background-position:center, 66% center!important;
  }
  .menu-page-hero-v38{
    min-height:320px!important;
  }
  .menu-page-hero-v38 .wrap{
    width:90%!important;
    padding:50px 0!important;
  }
  .menu-page-hero-v38 h1{
    font-size:34px!important;
  }
  .menu-page-hero-v38 p{
    font-size:16px!important;
  }
}


/* =========================================================
   V39 — banner completo, exatamente como a imagem enviada
   ========================================================= */

/* Página principal: a imagem inteira aparece sem corte e sem texto sobreposto pelo site. */
.hero-v39{
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:none!important;
  background-image:none!important;
}

.hero-v39 .hero-v39-link{
  display:block!important;
  width:100%!important;
  line-height:0!important;
}

.hero-v39 img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
}

/* Cardápio: mesma imagem completa. 
   O texto do cardápio fica em uma faixa discreta abaixo da foto,
   sem cobrir nem cortar o banner. */
.menu-page-hero-v39{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  background:none!important;
  background-image:none!important;
  overflow:hidden!important;
}

.menu-page-hero-v39 > img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
}

.menu-page-hero-v39-overlay{
  background:#17100b!important;
  color:#fff!important;
  text-align:center!important;
  padding:28px 20px 32px!important;
}

.menu-page-hero-v39-overlay .eyebrow{
  color:#e9b34a!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
}

.menu-page-hero-v39-overlay h1{
  color:#fff!important;
  font:800 clamp(30px,3.3vw,42px)/1.05 "Playfair Display",serif!important;
  margin:7px 0 10px!important;
}

.menu-page-hero-v39-overlay p{
  color:#f4e8dc!important;
  max-width:640px!important;
  margin:0 auto!important;
  font-size:16px!important;
  line-height:1.5!important;
}

@media(max-width:700px){
  .menu-page-hero-v39-overlay{
    padding:22px 16px 26px!important;
  }
  .menu-page-hero-v39-overlay h1{
    font-size:32px!important;
  }
  .menu-page-hero-v39-overlay p{
    font-size:15px!important;
  }
}


/* =========================================================
   V40 — banner somente com os pratos
   ========================================================= */

.hero-v39 img,
.menu-page-hero-v39 > img{
  width:100%!important;
  height:auto!important;
  max-height:560px!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Desktop grande: valoriza o prato principal sem exagerar na altura */
@media(min-width:1200px){
  .hero-v39 img,
  .menu-page-hero-v39 > img{
    max-height:520px!important;
  }
}

/* Tablet */
@media(max-width:850px){
  .hero-v39 img,
  .menu-page-hero-v39 > img{
    max-height:460px!important;
  }
}

/* Celular */
@media(max-width:560px){
  .hero-v39 img,
  .menu-page-hero-v39 > img{
    max-height:360px!important;
    object-position:58% center!important;
  }
}


/* =========================================================
   V41 — correção de proporção e visibilidade do banner
   ========================================================= */

/* Página principal: mostra a imagem inteira sem cortes */
.hero-v39{
  background:#1a0f08!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  overflow:hidden!important;
}

.hero-v39 .hero-v39-link{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  background:#1a0f08!important;
}

.hero-v39 img{
  width:100%!important;
  height:auto!important;
  max-height:470px!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:0 auto!important;
}

/* Cardápio: mesma imagem inteira e sem corte */
.menu-page-hero-v39{
  background:#1a0f08!important;
  overflow:visible!important;
}

.menu-page-hero-v39 > img{
  width:100%!important;
  height:auto!important;
  max-height:420px!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:0 auto!important;
}

/* Faixa de informações do cardápio: sem corte e com bom espaçamento */
.menu-page-hero-v39-overlay{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:26px 22px 30px!important;
  overflow:visible!important;
}

.menu-page-hero-v39-overlay .eyebrow,
.menu-page-hero-v39-overlay h1,
.menu-page-hero-v39-overlay p{
  position:relative!important;
  z-index:4!important;
  white-space:normal!important;
  overflow:visible!important;
}

.menu-page-hero-v39-overlay h1{
  font-size:clamp(30px,3vw,40px)!important;
  line-height:1.08!important;
  margin:6px 0 10px!important;
}

.menu-page-hero-v39-overlay p{
  max-width:680px!important;
  margin:0 auto!important;
  line-height:1.55!important;
}

/* Desktop médio */
@media(max-width:1100px){
  .hero-v39 img{
    max-height:430px!important;
  }
  .menu-page-hero-v39 > img{
    max-height:390px!important;
  }
}

/* Tablet */
@media(max-width:850px){
  .hero-v39 img{
    max-height:380px!important;
  }
  .menu-page-hero-v39 > img{
    max-height:350px!important;
  }
}

/* Celular: continua mostrando a imagem inteira */
@media(max-width:560px){
  .hero-v39 img,
  .menu-page-hero-v39 > img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .menu-page-hero-v39-overlay{
    padding:22px 16px 26px!important;
  }

  .menu-page-hero-v39-overlay h1{
    font-size:30px!important;
  }

  .menu-page-hero-v39-overlay p{
    font-size:15px!important;
  }
}


/* =========================================================
   V43 — páginas institucionais e navegação reorganizada
   ========================================================= */
.internal-header .brand{ flex-shrink:0; }

.internal-hero{
  position:relative;
  min-height:360px;
  display:flex;
  align-items:center;
  color:#fff;
  background-color:#1b110c;
  background-size:cover;
  background-position:center;
}
.internal-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(18,8,3,.90),rgba(18,8,3,.60) 48%,rgba(18,8,3,.20));
}
.internal-hero-copy{
  position:relative;
  z-index:2;
  padding:66px 0;
}
.internal-hero-copy h1{
  max-width:650px;
  margin:8px 0 14px;
  font:800 clamp(38px,5vw,60px)/1.05 "Playfair Display",serif;
}
.internal-hero-copy p{
  max-width:610px;
  margin:0 0 24px;
  font-size:18px;
  line-height:1.6;
  color:#f7eadf;
}
.internal-hero-business{background-image:url("assets/entregas-marmitas-v34.jpg");}
.internal-hero-about{background-image:url("assets/fachada-restaurante.jpg"); background-position:center 48%;}
.internal-hero-location{background-image:url("assets/banner-somente-pratos-v40.jpg"); background-position:center;}

.corporate-page-grid,
.about-page-grid,
.location-page-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  align-items:center;
}
.corporate-page-card,
.about-page-copy,
.location-main-card{
  padding:38px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 16px 42px rgba(61,38,16,.08);
}
.corporate-page-card h2,
.about-page-copy h2,
.location-main-card h2{
  margin:8px 0 16px;
  font:800 clamp(30px,3vw,42px)/1.08 "Playfair Display",serif;
}
.corporate-page-card p,
.about-page-copy p,
.location-main-card p{
  color:var(--muted);
  line-height:1.7;
}
.corporate-page-image,
.about-page-image{
  width:100%;
  height:460px;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 16px 42px rgba(61,38,16,.10);
}
.corporate-page-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:24px;
}
.corporate-page-points span,
.about-highlights span{
  background:#fff7ed;
  border:1px solid #ead9c5;
  border-radius:14px;
  padding:13px 15px;
}
.company-cta-strip{
  background:#22160f;
  color:#fff;
}
.company-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.company-cta-inner h2{
  margin:7px 0 8px;
  font:800 clamp(28px,3vw,40px)/1.1 "Playfair Display",serif;
}
.company-cta-inner p{color:#eadfd7;margin:0;}
.about-highlights{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:24px;
}
.location-page-map{
  min-height:460px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 16px 42px rgba(61,38,16,.10);
}
.location-hours{
  display:grid;
  gap:12px;
  margin:22px 0 26px;
}
.location-hours div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.location-hours span{color:var(--red);font-weight:700;}

@media(max-width:900px){
  .corporate-page-grid,
  .about-page-grid,
  .location-page-grid{
    grid-template-columns:1fr;
  }
  .corporate-page-image,
  .about-page-image{height:380px;}
  .company-cta-inner{flex-direction:column;align-items:flex-start;}
}
@media(max-width:560px){
  .internal-hero{min-height:310px;}
  .internal-hero-copy{padding:48px 0;}
  .internal-hero-copy h1{font-size:38px;}
  .internal-hero-copy p{font-size:16px;}
  .corporate-page-card,
  .about-page-copy,
  .location-main-card{padding:26px 22px;}
  .corporate-page-points,
  .about-highlights{grid-template-columns:1fr;}
  .corporate-page-image,
  .about-page-image{height:300px;}
  .location-hours div{flex-direction:column;gap:4px;}
}


/* =========================================================
   V44 — apenas a home possui banner com imagem
   ========================================================= */

.simple-page-heading{
  background:#fff8ef;
  border-bottom:1px solid var(--line);
  padding:58px 0 52px;
  text-align:center;
}

.simple-page-heading .wrap{
  max-width:900px;
}

.simple-page-heading .eyebrow{
  color:var(--red);
  font-size:11px;
  letter-spacing:.16em;
}

.simple-page-heading h1{
  margin:8px 0 12px;
  color:#20150e;
  font:800 clamp(34px,4vw,48px)/1.06 "Playfair Display",serif;
}

.simple-page-heading p{
  max-width:680px;
  margin:0 auto;
  color:var(--muted);
  font-size:17px;
  line-height:1.6;
}

@media(max-width:560px){
  .simple-page-heading{
    padding:42px 0 38px;
  }
  .simple-page-heading h1{
    font-size:34px;
  }
  .simple-page-heading p{
    font-size:15px;
  }
}


/* V49 — página inicial sem banner */
.home-no-banner main{padding-top:34px;}
.home-no-banner .benefits{margin-top:0;}
@media(max-width:560px){
  .home-no-banner main{padding-top:22px;}
  .home-no-banner .benefits{margin-top:0;}
}
\n\n/* =========================================================\n   V50 — introdução limpa sem banner fotográfico\n   ========================================================= */\n.home-intro{\n  background:linear-gradient(135deg,#fffaf3 0%,#f7eadb 100%);\n  border-bottom:1px solid var(--line);\n  overflow:hidden;\n}\n.home-intro-inner{\n  min-height:320px;\n  display:grid;\n  grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr);\n  gap:42px;\n  align-items:center;\n  padding:54px 0 48px;\n}\n.home-intro-copy{max-width:720px;}\n.home-intro-copy h1{\n  margin:7px 0 8px;\n  color:#1d130e;\n  font:800 clamp(42px,5.3vw,72px)/.98 "Playfair Display",serif;\n  letter-spacing:-.03em;\n}\n.home-intro-tagline{\n  margin:0 0 10px;\n  color:#b80f1c;\n  font:700 clamp(20px,2.2vw,28px)/1.25 "Playfair Display",serif;\n}\n.home-intro-text{\n  max-width:660px;\n  margin:0;\n  color:var(--muted);\n  font-size:17px;\n  line-height:1.65;\n}\n.home-intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}\n.home-intro-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px;color:#6e5a49;font-size:13px;font-weight:600;}\n.home-intro-mark{display:flex;justify-content:center;align-items:center;}\n.home-intro-logo-ring{\n  width:170px;height:170px;border-radius:50%;\n  display:grid;place-items:center;\n  border:2px solid rgba(184,15,28,.20);\n  box-shadow:0 18px 50px rgba(99,55,20,.10), inset 0 0 0 16px rgba(255,255,255,.45);\n  color:#b80f1c;\n  background:rgba(255,255,255,.38);\n  font:800 64px/1 "Playfair Display",serif;\n}\n.home-no-banner .benefits{margin-top:0!important;padding-top:34px!important;}\n@media(max-width:780px){\n  .home-intro-inner{grid-template-columns:1fr;min-height:0;padding:42px 0 38px;}\n  .home-intro-mark{display:none;}\n  .home-intro-copy h1{font-size:48px;}\n}\n@media(max-width:560px){\n  .home-intro-copy h1{font-size:40px;}\n  .home-intro-tagline{font-size:21px;}\n  .home-intro-text{font-size:16px;}\n  .home-intro-actions .btn{width:100%;justify-content:center;}\n}\n

/* =========================================================
   V51 — Destaque dinâmico do prato do dia + Yakissoba separado
   ========================================================= */
.daily-hero{
  width:100%;
  background:#17100b;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.daily-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);
  gap:4px;
  background:#17100b;
}
.daily-hero-panel{
  position:relative;
  min-height:455px;
  overflow:hidden;
  isolation:isolate;
}
.daily-hero-panel img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:opacity .28s ease, transform .7s ease;
  z-index:-3;
}
.daily-hero-panel:hover img{transform:scale(1.018);}
.daily-hero-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(8,4,2,.88) 0%,rgba(8,4,2,.58) 44%,rgba(8,4,2,.12) 78%);
}
.daily-hero-yakissoba .daily-hero-shade{
  background:linear-gradient(180deg,rgba(8,4,2,.14) 5%,rgba(8,4,2,.68) 62%,rgba(8,4,2,.90) 100%);
}
.daily-hero-content{
  position:absolute;
  left:clamp(30px,5vw,82px);
  bottom:clamp(34px,5vw,70px);
  max-width:520px;
  color:#fff;
}
.daily-hero-yakissoba .daily-hero-content{
  left:32px;
  right:32px;
  bottom:34px;
  max-width:430px;
}
.daily-hero-kicker{
  display:inline-block;
  margin-bottom:11px;
  color:#f3c35a;
  font-size:12px;
  font-weight:800;
  letter-spacing:.17em;
}
.daily-hero-content h1,
.daily-hero-content h2{
  margin:0 0 11px;
  font-family:"Playfair Display",serif;
  font-weight:800;
  line-height:1.02;
  text-wrap:balance;
}
.daily-hero-content h1{font-size:clamp(42px,5.3vw,72px);}
.daily-hero-content h2{font-size:clamp(32px,3.2vw,46px);}
.daily-hero-content p{
  margin:0 0 20px;
  max-width:470px;
  color:rgba(255,255,255,.90);
  font-size:17px;
  line-height:1.55;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.daily-hero-link{
  display:inline-flex;
  gap:9px;
  align-items:center;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  border-bottom:2px solid #c5101b;
  padding-bottom:5px;
}
.daily-hero-link:hover{color:#f3c35a;}
.daily-hero-status{
  min-height:48px;
  padding:0 max(24px,5vw);
  display:flex;
  align-items:center;
  gap:10px;
  color:#f7eee6;
  font-size:13px;
  background:#17100b;
}
.status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c5101b;
  box-shadow:0 0 0 4px rgba(197,16,27,.14);
}
.daily-hero-hours{margin-left:auto;color:#d9c8bb;}

/* Os quatro benefícios agora funcionam como continuação do hero, não como topo solto. */
.daily-hero + .benefits{margin-top:28px;}

@media(max-width:900px){
  .daily-hero-grid{grid-template-columns:1fr;gap:3px;}
  .daily-hero-panel{min-height:390px;}
  .daily-hero-yakissoba{min-height:320px;}
  .daily-hero-content{left:34px;bottom:36px;right:30px;}
  .daily-hero-yakissoba .daily-hero-content{left:30px;bottom:30px;}
}
@media(max-width:560px){
  .daily-hero-panel{min-height:355px;}
  .daily-hero-yakissoba{min-height:285px;}
  .daily-hero-content{left:22px;right:22px;bottom:25px;}
  .daily-hero-yakissoba .daily-hero-content{left:22px;right:22px;bottom:24px;}
  .daily-hero-content h1{font-size:39px;}
  .daily-hero-content h2{font-size:31px;}
  .daily-hero-content p{font-size:15px;margin-bottom:16px;}
  .daily-hero-status{padding:11px 18px;flex-wrap:wrap;gap:8px;}
  .daily-hero-hours{width:100%;margin-left:18px;font-size:12px;}
}


/* =========================================================
   V52 — carrossel: 1 imagem por vez no banner
   ========================================================= */
.daily-hero-v52{
  width:100%;
  background:#17100b;
}

.daily-carousel{
  position:relative;
  width:100%;
  height:clamp(420px,46vw,600px);
  overflow:hidden;
  background:#17100b;
}

.daily-slide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .65s ease, visibility .65s ease;
  pointer-events:none;
}

.daily-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.daily-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.01);
}

.daily-slide-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(10,5,2,.88) 0%,
      rgba(10,5,2,.70) 28%,
      rgba(10,5,2,.32) 52%,
      rgba(10,5,2,.08) 75%,
      rgba(10,5,2,.04) 100%);
}

.daily-slide-content{
  position:absolute;
  z-index:2;
  left:max(6vw,60px);
  top:50%;
  transform:translateY(-50%);
  width:min(520px,40vw);
  color:#fff;
}

.daily-slide-kicker{
  display:inline-block;
  margin-bottom:12px;
  padding:7px 11px;
  border-radius:5px;
  background:#bf111b;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
}

.daily-slide h1,
.daily-slide h2{
  margin:0 0 14px;
  color:#fff;
  font:800 clamp(38px,4.4vw,64px)/1.02 "Playfair Display",serif;
  text-shadow:0 3px 20px rgba(0,0,0,.34);
}

.daily-slide p{
  max-width:500px;
  margin:0 0 22px;
  color:#f7eee6;
  font-size:18px;
  line-height:1.55;
  text-shadow:0 2px 12px rgba(0,0,0,.34);
}

.daily-slide-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 17px;
  border-radius:9px;
  background:#fff;
  color:#17100b;
  text-decoration:none;
  font-weight:800;
  transition:transform .2s ease, box-shadow .2s ease;
}

.daily-slide-link:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 24px rgba(0,0,0,.22);
}

.daily-carousel-arrow{
  position:absolute;
  z-index:5;
  top:50%;
  width:48px;
  height:48px;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.58);
  border-radius:50%;
  background:rgba(0,0,0,.34);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(4px);
}

.daily-carousel-prev{left:22px;}
.daily-carousel-next{right:22px;}

.daily-carousel-dots{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:19px;
  transform:translateX(-50%);
  display:flex;
  gap:9px;
}

.daily-carousel-dot{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  cursor:pointer;
}

.daily-carousel-dot.is-active{
  width:26px;
  border-radius:999px;
  background:#d3131f;
}

.daily-hero-status{
  background:#fff;
  border-bottom:1px solid var(--line);
}

@media(max-width:850px){
  .daily-carousel{
    height:500px;
  }
  .daily-slide-content{
    left:7%;
    width:min(480px,72vw);
  }
  .daily-slide-shade{
    background:linear-gradient(90deg,rgba(10,5,2,.88),rgba(10,5,2,.60) 58%,rgba(10,5,2,.22));
  }
}

@media(max-width:560px){
  .daily-carousel{
    height:520px;
  }
  .daily-slide img{
    object-position:60% center;
  }
  .daily-slide-shade{
    background:linear-gradient(180deg,rgba(10,5,2,.28),rgba(10,5,2,.78) 55%,rgba(10,5,2,.90));
  }
  .daily-slide-content{
    left:7%;
    right:7%;
    bottom:55px;
    top:auto;
    transform:none;
    width:auto;
  }
  .daily-slide h1,
  .daily-slide h2{
    font-size:40px;
  }
  .daily-slide p{
    font-size:16px;
  }
  .daily-carousel-arrow{
    width:42px;
    height:42px;
    font-size:30px;
  }
  .daily-carousel-prev{left:12px;}
  .daily-carousel-next{right:12px;}
}


/* =========================================================
   V53 — banner refinado: pratos e títulos menores
   ========================================================= */

.daily-carousel{
  height:clamp(370px,38vw,500px)!important;
  background:#17100b!important;
}

.daily-slide{
  background:#17100b!important;
}

/* Reduz visualmente o prato sem cortar o banner */
.daily-slide img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(.90)!important;
  transform-origin:center!important;
}

/* Faixa de leitura discreta */
.daily-slide-shade{
  background:
    linear-gradient(90deg,
      rgba(10,5,2,.84) 0%,
      rgba(10,5,2,.62) 27%,
      rgba(10,5,2,.22) 50%,
      rgba(10,5,2,.02) 74%)!important;
}

.daily-slide-content{
  left:max(5.5vw,58px)!important;
  width:min(410px,34vw)!important;
}

.daily-slide-kicker{
  font-size:11px!important;
  padding:6px 10px!important;
  margin-bottom:10px!important;
}

.daily-slide h1,
.daily-slide h2{
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.06!important;
  margin-bottom:10px!important;
}

.daily-slide p{
  max-width:390px!important;
  font-size:15px!important;
  line-height:1.5!important;
  margin-bottom:16px!important;
}

.daily-slide-link{
  font-size:13px!important;
  padding:9px 13px!important;
}

/* Yakissoba centralizado sem o texto antigo ao fundo */
#yakissobaSlide img{
  object-position:62% center!important;
  transform:scale(.88)!important;
}

.daily-carousel-arrow{
  width:42px!important;
  height:42px!important;
  font-size:29px!important;
}

.daily-carousel-dots{
  bottom:13px!important;
}

/* Tablet */
@media(max-width:850px){
  .daily-carousel{
    height:430px!important;
  }

  .daily-slide img{
    transform:scale(.94)!important;
  }

  .daily-slide-content{
    left:7%!important;
    width:min(400px,68vw)!important;
  }

  .daily-slide h1,
  .daily-slide h2{
    font-size:34px!important;
  }
}

/* Celular */
@media(max-width:560px){
  .daily-carousel{
    height:480px!important;
  }

  .daily-slide img,
  #yakissobaSlide img{
    transform:scale(1)!important;
  }

  .daily-slide img{
    object-position:60% center!important;
  }

  #yakissobaSlide img{
    object-position:68% center!important;
  }

  .daily-slide-content{
    left:7%!important;
    right:7%!important;
    bottom:52px!important;
    width:auto!important;
  }

  .daily-slide h1,
  .daily-slide h2{
    font-size:30px!important;
  }

  .daily-slide p{
    font-size:15px!important;
  }
}


/* =========================================================
   V54 — banner limpo, prato inteiro e menos CTAs
   ========================================================= */

/* Banner com proporção mais controlada */
.daily-carousel{
  height:clamp(380px,36vw,500px)!important;
  background:#160e09!important;
}

/*
  A foto passa a ocupar apenas a área direita do banner.
  Assim o prato cabe inteiro, sem precisar cortar as bordas.
*/
.daily-slide img{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:74%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  background:#160e09!important;
}

/* Yakissoba: mesma lógica, sem ampliar ou recortar */
#yakissobaSlide img{
  width:72%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}

/* Área esquerda limpa para leitura */
.daily-slide-shade{
  background:
    linear-gradient(90deg,
      #160e09 0%,
      rgba(22,14,9,.98) 22%,
      rgba(22,14,9,.90) 30%,
      rgba(22,14,9,.48) 46%,
      rgba(22,14,9,.06) 68%,
      rgba(22,14,9,0) 100%)!important;
}

/* Títulos mais proporcionais */
.daily-slide-content{
  left:max(5vw,54px)!important;
  width:min(390px,29vw)!important;
}

.daily-slide h1,
.daily-slide h2{
  font-size:clamp(27px,2.65vw,39px)!important;
  line-height:1.08!important;
  margin-bottom:10px!important;
}

.daily-slide-kicker{
  font-size:10px!important;
  letter-spacing:.11em!important;
}

.daily-slide p{
  max-width:360px!important;
  font-size:14px!important;
  line-height:1.48!important;
}

/* Linha abaixo do banner: alto contraste e leitura imediata */
.daily-hero-status{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px max(5vw,54px)!important;
  background:#fff8ef!important;
  border-bottom:1px solid #eadbc9!important;
  color:#23150d!important;
  font-size:14px!important;
  font-weight:700!important;
}

.daily-hero-status #weekdayHeroStatus{
  color:#23150d!important;
  opacity:1!important;
  font-weight:800!important;
}

.daily-hero-hours{
  margin-left:auto!important;
  color:#5b4030!important;
  opacity:1!important;
  font-weight:700!important;
}

.status-dot{
  width:9px!important;
  height:9px!important;
  background:#c41620!important;
  border-radius:50%!important;
  box-shadow:0 0 0 4px rgba(196,22,32,.12)!important;
}

/* Evita espaços vazios deixados por CTAs removidos */
.weekly-central-cta:empty{
  display:none!important;
}

/* Mantém apenas o WhatsApp flutuante como ação persistente */
.floating-wa{
  z-index:999!important;
}

/* Tablet */
@media(max-width:900px){
  .daily-carousel{
    height:430px!important;
  }

  .daily-slide img,
  #yakissobaSlide img{
    width:68%!important;
  }

  .daily-slide-content{
    left:5%!important;
    width:34%!important;
  }

  .daily-slide h1,
  .daily-slide h2{
    font-size:31px!important;
  }

  .daily-hero-status{
    padding:11px 5%!important;
  }
}

/* Celular: foto em cima, texto embaixo, sem cortar o prato */
@media(max-width:560px){
  .daily-carousel{
    height:590px!important;
  }

  .daily-slide img,
  #yakissobaSlide img{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:58%!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#160e09!important;
  }

  .daily-slide-shade{
    background:
      linear-gradient(180deg,
        rgba(22,14,9,0) 0%,
        rgba(22,14,9,.18) 48%,
        #160e09 60%,
        #160e09 100%)!important;
  }

  .daily-slide-content{
    left:7%!important;
    right:7%!important;
    bottom:50px!important;
    top:auto!important;
    width:auto!important;
    transform:none!important;
  }

  .daily-slide h1,
  .daily-slide h2{
    font-size:29px!important;
  }

  .daily-slide p{
    font-size:14px!important;
  }

  .daily-hero-status{
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    padding:12px 6%!important;
  }

  .daily-hero-hours{
    width:100%!important;
    margin-left:19px!important;
    font-size:13px!important;
  }
}


/* =========================================================
   V55 — banner full-width com prato inteiro centralizado
   ========================================================= */

.daily-hero-v52{
  width:100%!important;
  background:#140b07!important;
}

.daily-carousel{
  width:100%!important;
  height:clamp(430px,42vw,560px)!important;
  overflow:hidden!important;
  background:#140b07!important;
}

.daily-slide{
  overflow:hidden!important;
  background:#140b07!important;
}

/* Fundo usa a mesma foto ampliada e desfocada para preencher toda a tela */
.daily-slide-backdrop{
  position:absolute!important;
  inset:-5%!important;
  width:110%!important;
  height:110%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:blur(18px) brightness(.58) saturate(.92)!important;
  transform:scale(1.06)!important;
  opacity:.95!important;
  z-index:0!important;
}

/* Foto principal: inteira, centralizada e sem cortes */
.daily-slide-main-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  z-index:1!important;
  background:transparent!important;
}

/* camada escura leve, só para legibilidade do texto */
.daily-slide-shade{
  z-index:2!important;
  background:
    linear-gradient(90deg,
      rgba(13,7,4,.78) 0%,
      rgba(13,7,4,.60) 24%,
      rgba(13,7,4,.24) 43%,
      rgba(13,7,4,.08) 58%,
      rgba(13,7,4,.02) 100%)!important;
}

/* Texto menor e mais elegante */
.daily-slide-content{
  z-index:3!important;
  left:max(5vw,58px)!important;
  width:min(360px,28vw)!important;
}

.daily-slide-kicker{
  font-size:10px!important;
  padding:6px 9px!important;
  letter-spacing:.12em!important;
}

.daily-slide h1,
.daily-slide h2{
  font-size:clamp(27px,2.55vw,38px)!important;
  line-height:1.08!important;
  margin:8px 0 10px!important;
}

.daily-slide p{
  max-width:340px!important;
  font-size:14px!important;
  line-height:1.48!important;
}

/* Yakissoba também aparece inteiro */
#yakissobaSlide .daily-slide-main-image{
  object-fit:contain!important;
  object-position:center!important;
}

/* status abaixo do banner mais discreto e legível */
.daily-hero-status{
  background:#fffaf4!important;
  color:#24160f!important;
  border-bottom:1px solid #eadbc9!important;
  padding:11px max(5vw,58px)!important;
  font-size:14px!important;
  font-weight:700!important;
}
.daily-hero-status #weekdayHeroStatus{
  color:#24160f!important;
}
.daily-hero-hours{
  color:#604637!important;
}

/* Tablet */
@media(max-width:900px){
  .daily-carousel{
    height:470px!important;
  }
  .daily-slide-content{
    left:5%!important;
    width:34%!important;
  }
  .daily-slide h1,
  .daily-slide h2{
    font-size:31px!important;
  }
}

/* Celular: prato inteiro em cima e texto embaixo */
@media(max-width:560px){
  .daily-carousel{
    height:610px!important;
  }

  .daily-slide-backdrop{
    filter:blur(16px) brightness(.48) saturate(.9)!important;
  }

  .daily-slide-main-image{
    top:0!important;
    bottom:auto!important;
    width:100%!important;
    height:60%!important;
    object-fit:contain!important;
  }

  .daily-slide-shade{
    background:
      linear-gradient(180deg,
        rgba(13,7,4,.02) 0%,
        rgba(13,7,4,.18) 45%,
        rgba(13,7,4,.88) 63%,
        rgba(13,7,4,.98) 100%)!important;
  }

  .daily-slide-content{
    left:7%!important;
    right:7%!important;
    bottom:54px!important;
    top:auto!important;
    width:auto!important;
    transform:none!important;
  }

  .daily-slide h1,
  .daily-slide h2{
    font-size:29px!important;
  }

  .daily-hero-status{
    padding:11px 6%!important;
    flex-wrap:wrap!important;
  }

  .daily-hero-hours{
    width:100%!important;
    margin-left:19px!important;
  }
}


/* =========================================================
   V56 — banner horizontal em largura total, prato inteiro
   ========================================================= */

/* aproxima o banner do menu */
.daily-hero-v52{
  margin-top:0!important;
  padding-top:0!important;
}

/* banner horizontal ocupando toda a largura */
.daily-carousel{
  width:100%!important;
  height:clamp(360px,34vw,500px)!important;
  margin:0!important;
  background:#140b07!important;
  overflow:hidden!important;
}

/* fundo em tela cheia, sem faixas laterais visíveis */
.daily-slide-backdrop{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  filter:blur(10px) brightness(.52) saturate(.92)!important;
  transform:scale(1.08)!important;
  opacity:1!important;
}

/* imagem principal maior, mas inteira e centralizada */
.daily-slide-main-image{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:88%!important;
  height:88%!important;
  transform:translate(-50%,-50%)!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:transparent!important;
}

/* overlay de leitura discreto */
.daily-slide-shade{
  background:
    linear-gradient(90deg,
      rgba(12,6,3,.80) 0%,
      rgba(12,6,3,.58) 22%,
      rgba(12,6,3,.28) 38%,
      rgba(12,6,3,.08) 55%,
      rgba(12,6,3,0) 72%)!important;
}

/* texto menor, posicionado sem competir com o prato */
.daily-slide-content{
  left:max(4.5vw,52px)!important;
  width:min(340px,25vw)!important;
}

.daily-slide h1,
.daily-slide h2{
  font-size:clamp(25px,2.25vw,34px)!important;
  line-height:1.08!important;
  margin:7px 0 10px!important;
}

.daily-slide-kicker{
  font-size:9px!important;
  letter-spacing:.11em!important;
  padding:5px 8px!important;
}

.daily-slide p{
  max-width:320px!important;
  font-size:13px!important;
  line-height:1.46!important;
}

.daily-slide-link{
  font-size:12px!important;
  padding:8px 12px!important;
}

/* setas mais discretas */
.daily-carousel-arrow{
  width:40px!important;
  height:40px!important;
  font-size:27px!important;
  background:rgba(0,0,0,.30)!important;
}

/* reduz espaço visual entre menu e banner */
.header + main .daily-hero-v52,
main#inicio > .daily-hero-v52{
  margin-top:0!important;
}

/* status abaixo mais compacto */
.daily-hero-status{
  padding:9px max(4.5vw,52px)!important;
  font-size:13px!important;
}

/* tablet */
@media(max-width:900px){
  .daily-carousel{
    height:430px!important;
  }

  .daily-slide-main-image{
    width:92%!important;
    height:92%!important;
  }

  .daily-slide-content{
    left:5%!important;
    width:31%!important;
  }

  .daily-slide h1,
  .daily-slide h2{
    font-size:29px!important;
  }
}

/* celular */
@media(max-width:560px){
  .daily-carousel{
    height:560px!important;
  }

  .daily-slide-main-image{
    top:38%!important;
    width:100%!important;
    height:62%!important;
    transform:translate(-50%,-50%)!important;
  }

  .daily-slide-shade{
    background:
      linear-gradient(180deg,
        rgba(12,6,3,.02) 0%,
        rgba(12,6,3,.20) 42%,
        rgba(12,6,3,.86) 62%,
        rgba(12,6,3,.98) 100%)!important;
  }

  .daily-slide-content{
    left:7%!important;
    right:7%!important;
    bottom:48px!important;
    top:auto!important;
    width:auto!important;
    transform:none!important;
  }

  .daily-slide h1,
  .daily-slide h2{
    font-size:28px!important;
  }

  .daily-slide p{
    font-size:14px!important;
  }
}

/* =========================================================
   V57 — banners finais dos pratos enviados pelo usuário
   O banner é a própria arte completa: sem recorte, sem zoom,
   sem duplicação/blur e sem textos HTML sobre a fotografia.
   ========================================================= */
.banner-carousel-v57{width:100%;background:#120b08;overflow:hidden;position:relative;margin:0;padding:0}
.banner-track-v57{position:relative;width:100%;aspect-ratio:2048/682;min-height:260px;max-height:none;background:#120b08}
.banner-slide-v57{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease;display:flex;align-items:center;justify-content:center;background:#120b08}
.banner-slide-v57.is-active{opacity:1;visibility:visible;z-index:1}
.banner-slide-v57 img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center;background:#120b08}
.banner-arrow-v57{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(0,0,0,.34);color:#fff;font-size:34px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s}
.banner-arrow-v57:hover,.banner-arrow-v57:focus-visible{background:rgba(0,0,0,.7);outline:2px solid #fff;outline-offset:2px}
.banner-prev-v57{left:18px}.banner-next-v57{right:18px}
.banner-dots-v57{position:absolute;z-index:4;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.28)}
.banner-dots-v57 button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.62);cursor:pointer}
.banner-dots-v57 button.is-active{width:24px;border-radius:999px;background:#d71920}
@media(max-width:900px){.banner-track-v57{min-height:0;aspect-ratio:2048/682}.banner-arrow-v57{width:40px;height:40px;font-size:28px}.banner-prev-v57{left:8px}.banner-next-v57{right:8px}}
@media(max-width:600px){.banner-track-v57{aspect-ratio:2048/682}.banner-arrow-v57{width:34px;height:34px;font-size:24px}.banner-dots-v57{bottom:6px;gap:6px;padding:5px 8px}.banner-dots-v57 button{width:7px;height:7px}.banner-dots-v57 button.is-active{width:18px}}


/* =========================================================
   V60 — proteínas dos pratos feitos
   ========================================================= */
.pf-composition-v21 .protein-choice{
  gap:10px;
}
.pf-composition-v21 .protein-icons{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  min-height:auto!important;
}
.pf-composition-v21 .protein-icons span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#fff6f3;
  border:1px solid #f0d8d2;
  font-size:22px;
  line-height:1;
}
@media(max-width:560px){
  .pf-composition-v21 .protein-icons{
    gap:6px;
  }
  .pf-composition-v21 .protein-icons span{
    width:34px;
    height:34px;
    font-size:20px;
  }
}

/* V64 - foto real na seção Um mimo da casa */
.dessert-photo-v64{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:0;
  background:none;
}
.dessert-photo-v64 img{
  display:block;
  width:100%;
  max-width:560px;
  height:auto;
  border-radius:22px;
  object-fit:cover;
}


/* =========================================================
   V65 — Pratos Feitos mais compacto + contatos reais
   ========================================================= */
.pf-section{
  padding-top:68px!important;
  padding-bottom:68px!important;
}
.pf-grid{
  grid-template-columns:minmax(360px,.95fr) minmax(500px,1.05fr)!important;
  gap:48px!important;
  align-items:center!important;
}
#pfImage.pf-photo{
  height:360px!important;
  max-height:360px!important;
  border-radius:22px!important;
}
.pf-section h2{
  margin:6px 0 12px!important;
}
.pf-price{
  margin:0 0 12px!important;
  padding:9px 14px!important;
}
.pf-lead{
  margin:12px 0 16px!important;
  line-height:1.45!important;
}
.pf-composition-v21{
  width:100%!important;
  max-width:620px!important;
  grid-template-columns:minmax(0,1.35fr) minmax(190px,.8fr)!important;
  gap:12px!important;
  margin:14px 0 16px!important;
}
.pf-composition-v21 > div{
  min-height:128px!important;
  padding:16px 14px!important;
  border-radius:16px!important;
  box-shadow:0 8px 24px rgba(64,38,18,.05);
}
.pf-composition-v21 .protein-choice{
  gap:12px!important;
}
.pf-composition-v21 .protein-icons{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:100%!important;
}
.pf-composition-v21 .protein-icons span{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  margin:0!important;
  font-size:23px!important;
}
.pf-composition-v21 .protein-choice b{
  font-size:15px!important;
  margin-top:0!important;
}
.pf-composition-v21 .plus span{
  margin-bottom:2px!important;
  line-height:1!important;
}
.pf-composition-v21 .plus b{
  font-size:15px!important;
}
.pf-composition-v21 .plus small{
  margin-top:2px!important;
}
.salad-highlight{
  margin:6px 0 10px!important;
  padding:11px 18px!important;
}
.pf-note{
  max-width:650px;
  margin:0!important;
  line-height:1.55!important;
}
.footer-contact-link{
  font-size:13px!important;
  color:#e8e8e8!important;
  text-decoration:none;
  transition:.2s ease;
}
.footer-contact-link:hover{
  color:#fff!important;
  transform:translateX(2px);
}
.footer-whatsapp::before{content:"WhatsApp  ";font-size:0}
.footer-instagram::before{content:"Instagram  ";font-size:0}

@media(max-width:1050px){
  .pf-grid{
    grid-template-columns:.9fr 1.1fr!important;
    gap:32px!important;
  }
  #pfImage.pf-photo{height:330px!important;max-height:330px!important}
  .pf-composition-v21 .protein-icons{gap:6px!important}
  .pf-composition-v21 .protein-icons span{width:38px!important;height:38px!important;flex-basis:38px!important;font-size:21px!important}
}
@media(max-width:850px){
  .pf-section{padding-top:56px!important;padding-bottom:56px!important}
  .pf-grid{grid-template-columns:1fr!important;gap:28px!important}
  #pfImage.pf-photo{height:auto!important;max-height:420px!important;aspect-ratio:16/10}
  .pf-composition-v21{max-width:none!important}
}
@media(max-width:560px){
  .pf-composition-v21{grid-template-columns:1fr!important;gap:10px!important}
  .pf-composition-v21 > div{min-height:108px!important}
  .pf-composition-v21 .protein-icons{gap:6px!important}
  .pf-composition-v21 .protein-icons span{width:36px!important;height:36px!important;flex-basis:36px!important;font-size:20px!important}
}


/* V69 — galeria de fotos da página Sobre nós */
.about-photo-gallery-v69{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  height:460px;
}
.about-photo-gallery-v69 .about-page-image{
  width:100%;
  height:100%;
  min-width:0;
  border-radius:24px;
  object-fit:cover;
  box-shadow:0 16px 42px rgba(61,38,16,.10);
}
.about-photo-gallery-v69 .about-photo-main-v69{
  object-position:center center;
}
.about-photo-gallery-v69 .about-photo-secondary-v69{
  object-position:center center;
}
@media(max-width:900px){
  .about-photo-gallery-v69{height:380px;}
}
@media(max-width:560px){
  .about-photo-gallery-v69{
    grid-template-columns:1fr;
    height:auto;
  }
  .about-photo-gallery-v69 .about-page-image{
    height:280px;
  }
}

/* V71 — melhor leitura da história na página Sobre nós */
.about-story-v71 p{line-height:1.72;margin-bottom:15px}


/* V72 — Sobre nós em formato editorial: texto, fotos e continuação */
.about-story-section-v72{padding-top:64px}
.about-story-layout-v72{
  max-width:1080px;
}
.about-story-intro-v72,
.about-story-continuation-v72{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.about-story-intro-v72 h2{
  margin:8px 0 22px;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.08;
  max-width:760px;
}
.about-story-intro-v72 p,
.about-story-continuation-v72 p{
  font-size:1.04rem;
  line-height:1.8;
  margin:0 0 18px;
}
.about-photo-gallery-v72{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:38px 0 42px;
}
.about-photo-gallery-v72 figure{
  margin:0;
  overflow:hidden;
  border-radius:22px;
  background:#f4eee7;
  box-shadow:0 14px 34px rgba(61,38,16,.10);
}
.about-photo-gallery-v72 img{
  display:block;
  width:100%;
  height:410px;
  object-fit:cover;
}
.about-photo-gallery-v72 figure:first-child img{
  object-position:center 40%;
}
.about-photo-gallery-v72 figure:last-child img{
  object-position:center 52%;
}
.about-closing-v72{
  margin:30px 0 26px;
  padding:24px 28px;
  border-left:4px solid #b71c1c;
  background:#faf6f0;
  border-radius:0 14px 14px 0;
}
.about-closing-v72 p{
  margin:0;
  font-size:1.08rem;
}
.about-story-continuation-v72 .about-highlights{
  margin-top:28px;
}
@media(max-width:720px){
  .about-story-section-v72{padding-top:42px}
  .about-photo-gallery-v72{
    grid-template-columns:1fr;
    gap:14px;
    margin:30px 0 34px;
  }
  .about-photo-gallery-v72 img{height:320px}
  .about-story-intro-v72 p,
  .about-story-continuation-v72 p{font-size:1rem}
}
