:root{font-family:Arial,sans-serif;color:#be1726;background:#ffffff;font-synthesis:none;--accent:#be1726}*{box-sizing:border-box}body{margin:0}button,a,select,input{font:inherit}button,a,select{touch-action:manipulation}button,select{color:inherit;background:transparent;border:1px solid #e3b8bc;border-radius:5px;min-height:44px;padding:8px 12px}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d82031;outline-offset:3px}[hidden]{display:none!important}.topbar{max-width:1120px;margin:auto;min-height:72px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar img{display:block;max-width:140px;height:auto;max-height:48px;object-fit:contain}.topbar>a{display:flex;align-items:center;min-height:44px}main{max-width:1080px;margin:auto;padding:0 16px}.hero{position:relative;margin:0 0 24px}.tour-frame{height:clamp(330px,50vw,580px);border:4px solid var(--accent);border-radius:8px;overflow:hidden;background:#fff5f5}.tour-frame iframe{border:0;display:block;width:100%;height:100%}.tour-pending{height:100%;display:grid;place-items:center;text-align:center;padding:24px;margin:0;color:#65484a}.hero:has(.hero-logo){margin-bottom:110px}.hero-logo{position:absolute;bottom:0;left:50%;transform:translate(-50%,50%);pointer-events:none;width:120px;height:180px}.hero-logo img{width:100%;height:100%;object-fit:contain;pointer-events:none}.hero.plain .hero-logo{position:static;transform:none;margin:16px auto}.hero.plain{margin-bottom:24px}.intro{text-align:center}h1{font-size:clamp(24px,4vw,36px);margin:20px 0}h2{font-size:24px}h3{font-size:17px;margin:0 0 7px}p{line-height:1.5}.contacts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:12px auto}.contacts>a,.contacts>button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;text-decoration:none;border:0}.toolbar{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:460px;margin:16px auto}.language-wrap{min-width:0;max-width:48%}.language-wrap select{width:100%;max-width:180px}#order-button{max-width:52%;overflow-wrap:anywhere}#status{font-size:14px}#status:empty{display:none}#copy-url{width:min(100%,460px);padding:10px;min-height:44px}#menu{padding-top:16px}.category{padding:12px 0 28px}.category>h2{border-bottom:1px solid #e7c9cc;padding-bottom:12px}.dish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px 0;border-bottom:1px solid #efdddd;align-items:start}.dish-copy{min-width:0}.dish-copy p{margin:0;color:#65484a;font-size:14px}.dish-end{display:flex;align-items:center;gap:4px}.price{font-size:16px;font-variant-numeric:tabular-nums;text-align:right;max-width:110px;overflow-wrap:anywhere}.heart{border:0;border-radius:0;min-width:44px;width:44px;min-height:44px;padding:0;background:transparent;display:grid;place-items:center}.heart span{font-size:21px}.heart[aria-pressed=true]{color:#b95060}.variant{font-size:13px;display:block;margin-top:5px}.dish:has(.dish-image){grid-template-columns:88px minmax(0,1fr) auto}.dish-image{width:88px;height:88px;object-fit:contain;background:transparent}.sofeel-footer{margin-top:28px;padding:20px 16px;background:#be1726;color:#fff;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px}.sofeel-footer strong{font-size:19px;letter-spacing:2px}.sofeel-footer strong::first-letter{color:#62ded2}dialog{width:min(680px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:1px solid #e7c9cc;border-radius:12px;padding:20px;color:inherit}dialog::backdrop{background:#3d101999}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-heading h2{margin:0}.notice{background:#fff1f2;padding:10px;font-size:13px}.order-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px 0;border-bottom:1px solid #efdddd}.order-copy{min-width:0}.order-copy p{font-size:13px;margin:4px 0}.original-name{color:#70575a}.line-price{text-align:right;margin:0;max-width:130px}.quantity{display:flex;align-items:center;gap:10px}.quantity button{min-width:44px}.quantity output{min-width:20px;text-align:center}#order-total{font-weight:bold}#order-excluded,#storage-notice{font-size:13px}#clear-confirm{padding-top:12px}#clear-confirm button{margin-right:8px}@media(max-width:380px){main{padding:0 12px}.topbar{padding-inline:12px}.toolbar{gap:8px}.toolbar button,.toolbar select{font-size:13px;padding:8px}.dish{gap:8px}.dish:has(.dish-image){grid-template-columns:60px minmax(0,1fr) auto}.dish-image{width:60px;height:60px}.price{font-size:14px;max-width:82px}dialog{padding:14px}.hero-logo{width:100px;height:150px}.hero:has(.hero-logo){margin-bottom:94px}}
/* v1 approved navigation/reservations and compact branded footer. */
.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px}.topbar>button:first-child{justify-self:start}.topbar>button:last-child{justify-self:end;font-weight:bold;border-color:var(--accent);text-transform:uppercase}.topbar>button{font-size:12px;padding:8px;overflow-wrap:anywhere;max-width:100%}.topbar>strong{font-size:14px;max-width:120px;text-align:center}.topbar img{max-width:var(--top-width,140px)}.hero-logo{width:var(--hero-width,120px);height:var(--hero-height,180px)}.hero:has(.hero-logo){margin-bottom:calc(var(--hero-height,180px)/2 + 20px)}.tour-frame{overflow:visible}.tour-frame iframe{border-radius:4px}.primary-bar{position:sticky;top:0;z-index:10;background:#be1726;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:4px;border-radius:5px;margin-top:20px}.primary-bar button{border:0;color:#fff;font-size:12px;padding:6px 3px;text-transform:uppercase;overflow-wrap:anywhere;min-height:44px}.primary-bar button[aria-pressed=true]{background:#ffffff22}.primary-bar button:focus-visible{outline-offset:-3px}#menu{scroll-margin-top:68px}#navigation>button{display:block;width:100%;margin-top:12px;text-align:left}#reservation-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}#reservation-form label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px}#reservation-form input{width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #e3b8bc;border-radius:5px}#reservation-form #reservation-status,#reservation-send{grid-column:1/-1}.sofeel-footer{padding-block:var(--footer-padding,16px);gap:var(--footer-gap,4px)}.sofeel-footer strong{font-size:19px;letter-spacing:normal}.agency-lines{display:flex;flex-direction:column;align-items:center;gap:var(--footer-gap,4px)}.agency-lines:empty{display:none}.agency-lines address{font-style:normal}.secondary-brand{font-size:var(--secondary-font,20px);line-height:1.25;margin-top:8px;transform:translateY(var(--secondary-offset,-8px));letter-spacing:normal;text-decoration:none}.sofeel-footer a{min-height:44px;display:flex;align-items:center}.sofeel-footer .secondary-brand{min-height:32px}@media(max-width:600px){.hero-logo{width:var(--mobile-hero-width,100px);height:var(--mobile-hero-height,150px)}.hero:has(.hero-logo){margin-bottom:calc(var(--mobile-hero-height,150px)/2 + 20px)}.topbar img{max-width:min(var(--top-width,140px),90px)}.topbar{gap:6px}.topbar>button{font-size:10px}.primary-bar button{font-size:10px}}@media(max-width:360px){#reservation-form{grid-template-columns:1fr}.primary-bar button{font-size:9px}}
.image-open{padding:0;border:0;background:transparent;min-width:60px;display:block}.dish:has(.image-open){grid-template-columns:88px minmax(0,1fr) auto}.image-pending{font-style:italic;color:#75694e!important;margin-top:8px!important}.large-bottle{display:block;width:min(100%,540px);height:min(62dvh,540px);object-fit:contain;margin:auto;background:transparent}#image-detail{max-width:600px}#image-detail>button{display:block;margin-left:auto}.wine-grapes,.wine-abv{font-size:12px!important;margin-top:5px!important}@media(max-width:380px){.dish:has(.image-open){grid-template-columns:60px minmax(0,1fr) auto}}
/* Protected apron keeps artwork away from the provider's controls/attribution. */
.tour-frame{height:auto;background:#be1726}.tour-view{height:clamp(330px,50vw,580px);background:#fff5f5}.hero:has(.hero-logo) .tour-frame{padding-bottom:calc(var(--hero-height,180px)/2)}.tour-view iframe{display:block;width:100%;height:100%;border:0}.tour-pending{min-height:330px}@media(max-width:600px){.hero:has(.hero-logo) .tour-frame{padding-bottom:calc(var(--mobile-hero-height,150px)/2)}}
/* v1.0.1: one continuous frame and symmetric primary actions. */
.opening-frame{max-width:1080px;width:calc(100% - 24px);margin:0 auto 24px;border:2px solid var(--accent);border-radius:8px;background:#ffffff}.opening-frame:has(.hero-logo){margin-bottom:calc(var(--hero-height,180px)/2 + 20px)}.opening-frame .topbar{max-width:none;width:100%;margin:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:12px;gap:8px;border-radius:6px 6px 0 0}.opening-frame .topbar>button{width:min(100%,132px);height:48px;min-height:44px;padding:8px;border:1px solid var(--accent);border-radius:5px;background:transparent;color:var(--accent);font:600 12px/1.2 Arial,sans-serif;letter-spacing:.02em;text-align:center;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}.opening-frame .topbar>button:first-child{justify-self:start}.opening-frame .topbar>button:last-child{justify-self:end}.opening-frame .hero,.opening-frame .hero:has(.hero-logo){margin:0}.opening-frame .tour-frame{width:100%;border:0;border-radius:0 0 6px 6px}.opening-frame .tour-view{width:100%}.opening-frame .tour-view iframe{border-radius:0}.opening-frame .topbar img{width:var(--top-width,140px);max-width:140px;max-height:48px;object-fit:contain;justify-self:center}.opening-frame .topbar strong{width:100px;max-width:100px;overflow-wrap:anywhere;justify-self:center}
.toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:12px;width:100%;max-width:460px}.toolbar .language-wrap{width:100%;min-width:0;max-width:none}.toolbar select,.toolbar #order-button{width:100%;max-width:none;height:52px;min-height:44px;margin:0;padding:8px 30px 8px 12px;border:1px solid var(--accent);border-radius:5px;background:transparent;color:var(--accent);font:600 13px/1.2 Arial,sans-serif;letter-spacing:.02em;box-sizing:border-box}.toolbar #order-button{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal}.order-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;max-width:100%}.order-count{position:absolute;right:7px;top:50%;transform:translateY(-50%);font:600 11px/1 Arial,sans-serif;letter-spacing:0;min-width:18px;max-width:25px;overflow:hidden;text-align:center}
@media(max-width:600px){.opening-frame:has(.hero-logo){margin-bottom:calc(var(--mobile-hero-height,150px)/2 + 20px)}.opening-frame .topbar img{width:min(var(--top-width,140px),86px);max-width:86px}.opening-frame .topbar>button{font-size:11px;padding:7px}.toolbar{gap:10px}}@media(max-width:360px){.opening-frame .topbar{padding:10px;gap:6px}.opening-frame .topbar img{width:76px;max-width:76px}.opening-frame .topbar strong{width:76px;max-width:76px}.opening-frame .topbar>button{font-size:10px}.toolbar{gap:8px}.toolbar select,.toolbar #order-button{font-size:12px}}
/* v1.0.2 category imagery and client/agency separation. */
.category-banner{position:relative;width:100%;height:80px;margin:0 0 14px;overflow:hidden;border-radius:4px}.category-banner img{display:block;width:100%;height:100%;object-fit:cover}.category-banner figcaption{position:absolute;right:4px;bottom:3px;background:#fffE;color:#be1726;padding:2px 5px;font-size:10px}.category-banner-pending{margin:0 0 12px;min-height:44px;display:flex;align-items:center;color:#70575a;font-size:12px;border-block:1px solid #efdddd}.restaurant-footer{max-width:700px;margin:20px auto 0;padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.restaurant-footer h2,.restaurant-footer p{margin:0}.restaurant-footer address{font-style:normal}.restaurant-footer a{min-height:44px;display:flex;align-items:center}.allergy-warning{text-align:center;padding:12px 20px;font-size:12px;line-height:1.5;background:#fff1f2}.allergy-warning+.sofeel-footer{margin-top:0}.availability-warning,#unavailable-subtotal{color:#83521d;font-size:13px;font-weight:600}@media(max-width:600px){.category-banner{height:60px}}

/* Franguinho review: original brand, no simulated 3D or invented restaurant photo. */
.review-notice{margin:0;padding:12px 20px;text-align:center;background:#fff2d7;color:#563c19;font-size:14px;line-height:1.5}.tour-pending{background:radial-gradient(circle at 50% 100%,#b4483828,transparent 60%),repeating-linear-gradient(135deg,#a30f1e 0,#a30f1e 22px,#b71525 23px,#b71525 24px);color:#ffffff;font-family:Georgia,serif;font-size:clamp(24px,5vw,44px);letter-spacing:.03em}.hero-logo img{object-fit:contain}.category-banner img{object-position:center}.category-banner figcaption{font-size:11px}.dish{min-height:110px}

/* 2026-10-25: banner navigation below the image area; square contact actions. */
.opening-frame .topbar.brand-only{display:flex;justify-content:center}
.banner-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:460px;width:calc(100% - 32px);margin:0 auto 24px}
.banner-actions>button{height:52px;border:1px solid var(--accent);font:600 13px/1.2 Arial,sans-serif;text-transform:uppercase;background:#ffffff}
.contacts{display:flex;justify-content:center;gap:10px;margin:16px auto;max-width:400px}
.contacts>.contact-action{flex:0 1 96px;width:96px;height:96px;min-width:0;padding:8px 5px;border:1px solid #e3b8bc;border-radius:10px;background:#ffffff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font:13px/1.2 Arial,sans-serif;text-decoration:none;overflow-wrap:anywhere}
.contact-symbol{font-size:24px;line-height:26px}
.contacts>.contact-action:hover{background:#fff1f2}
@media(max-width:380px){.contacts{gap:8px}.contacts>.contact-action{flex-basis:88px;width:88px;height:88px;font-size:12px}}

/* Explicit Franguinho identity: one full-width horizontal logo, red and white. */
.opening-frame .topbar.brand-only{padding:0;background:#fff}
.opening-frame .topbar.brand-only img{display:block;width:100%;max-width:none;height:auto;max-height:none;object-fit:contain}
.opening-frame .hero.plain{margin-bottom:0}
.primary-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
.tour-pending{background:linear-gradient(135deg,#a30f1e,#cd1d2d);color:#fff}
.category-banner{height:clamp(88px,16vw,160px)}
.category-banner img{object-fit:cover}

.primary-bar{grid-template-columns:repeat(5,minmax(0,1fr))}

.sofeel-footer .agency-logo-bailote{display:block;width:240px;max-width:100%;height:auto;margin:0 auto}.sofeel-footer{background:#981320}

/* 2026-10-25: Sérgio requested black lettering, with red/white graphic identity. */
:root{color:#111111}
body :is(h1,h2,h3,h4,p,span,a,button,select,input,label,address,strong,small,output,figcaption,aside,dialog){color:#111111}
.opening-frame .topbar>button,.toolbar select,.toolbar #order-button{color:#111111}
.primary-bar{background:#fff;border:1px solid var(--accent)}
.primary-bar button{color:#111111;background:#fff}
.primary-bar button[aria-pressed=true]{background:#ffe8eb;box-shadow:inset 0 -3px var(--accent)}
.tour-pending{color:#111111;background:linear-gradient(135deg,#ffffff,#fff0f2);border-block:5px solid var(--accent)}
.sofeel-footer{background:#ffffff;color:#111111;border-top:2px solid var(--accent)}
.sofeel-footer .agency-logo-bailote{background:#981320;border-radius:5px;box-sizing:content-box;padding:12px}
.heart[aria-pressed=true],.availability-warning,#unavailable-subtotal{color:#111111}

.category>h2{color:var(--accent)}
.dish-copy h3,.dish-copy p,.dish-end .price{color:#111111}

/* Separate, swipeable card buttons. No automatic movement or wrapped labels. */
.primary-bar{display:flex;gap:10px;padding:10px 2px;background:#fff;border:0;border-radius:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scroll-padding:2px;max-width:100%;touch-action:pan-x pan-y}
.primary-bar button{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:normal;scroll-snap-align:start;border:2px solid var(--accent);border-radius:7px;padding:12px 18px;min-height:48px;background:var(--accent);color:#fff;font-size:13px;font-weight:700}
.primary-bar button[aria-pressed=true]{background:#fff;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.dish{cursor:pointer}.dish-detail-open{border:0;border-radius:0;background:transparent;text-align:left;font:inherit;font-weight:inherit;line-height:inherit;padding:0;min-height:0;color:#111}
.dish-detail-open:hover{text-decoration:underline}.dish-detail-description{line-height:1.6}.dish-detail-price{font-weight:700}.dish-detail-media{min-height:120px;border:1px dashed #d3b7ba;border-radius:8px;padding:12px;margin-top:16px;background:#fffafa;text-align:center}.dish-detail-media img{max-width:100%;height:auto;max-height:420px;object-fit:contain}.detail-photo-pending{font-size:14px;color:#444}
@media(max-width:600px){.primary-bar button{font-size:13px;padding:11px 16px}}

/* Complete agency credit composition follows Bailote, not only its logo. */
.sofeel-footer.sf-credit{display:block;max-width:1440px;margin:0 auto;background:var(--accent);color:#fff;font:400 14px/1.5 Arial,Helvetica,sans-serif;text-align:center;padding:24px 18px;border:0;gap:0}
.sf-credit>p{margin:0 0 7px}.sf-produced-by{display:block;margin-bottom:4px}.sf-credit .agency-logo{display:block;width:240px;max-width:100%;height:auto;margin:0 auto;overflow:hidden}
.sf-footer-lines{display:inline-grid;grid-template-columns:minmax(0,max-content);max-width:100%;text-align:justify;text-align-last:justify}
.sf-footer-lines>.sf-contacts{display:block;margin:1px 0;min-width:0}.sf-footer-lines>.sf-contacts>a{display:block;white-space:normal;overflow-wrap:anywhere;border:0;padding:3px 4px;min-height:30px;font-weight:400;color:inherit}
.sf-footer-lines>address,.sf-footer-lines>.agency-secondary{width:0;min-width:100%;box-sizing:border-box}.sf-footer-lines>address{font-size:13px;font-style:normal;padding-inline:4px}
.sf-footer-lines>.agency-secondary{display:block;font-size:12px;padding:3px 4px;min-height:30px;overflow-wrap:anywhere;text-align:justify;text-align-last:justify;word-spacing:normal;letter-spacing:normal;color:inherit;transform:none}
@media(max-width:700px){.sofeel-footer.sf-credit{padding:20px 16px}}

.sf-credit :is(p,span,address,a){color:#fff}.sf-credit .agency-logo{padding:0;border-radius:0;background:none;box-sizing:border-box}

.tour-view:has(.hero-photo){height:auto;min-height:0;background:#fff}.hero-photo{display:block;width:100%;height:auto;object-fit:contain}.opening-frame .tour-frame:has(.hero-photo){padding-bottom:0}

/* Compact restaurant details; agency credit below is deliberately unchanged. */
.restaurant-footer.restaurant-footer-compact{display:block;max-width:620px;width:calc(100% - 32px);padding:12px 0;margin:12px auto 8px;text-align:left}
.restaurant-footer-compact>h2,.restaurant-footer-compact>address{display:block;width:100%;margin:0;text-align:left;letter-spacing:normal;word-spacing:normal;color:#111}
.restaurant-footer-compact>h2{font-size:clamp(24px,3vw,30px);line-height:1.2;margin-bottom:4px}
.restaurant-footer-compact>address{font-size:17px;line-height:1.35}
.restaurant-contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.restaurant-contact-actions>.restaurant-contact-button{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;height:48px;min-height:48px;padding:8px;border:1px solid var(--accent);border-radius:5px;background:#fff;color:#111;text-align:center;text-decoration:none;font:600 14px/1.2 Arial,sans-serif;overflow-wrap:anywhere}
.restaurant-contact-actions>.restaurant-contact-button:hover{background:#fff0f2}
@media(max-width:380px){.restaurant-footer-compact>address{font-size:16px}.restaurant-contact-actions{gap:8px}.restaurant-contact-actions>.restaurant-contact-button{font-size:13px}}

/* Original rooster only, softly behind lists and the local order. */
#menu,#order{position:relative;isolation:isolate}
#menu::before,#order::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.12;background-image:url('assets/franguinho-galo.svg');background-repeat:no-repeat;background-position:center 140px;background-size:min(70vw,440px) auto}
#order::before{background-position:center 90px;background-size:70% auto}

#menu::before{background-position:center 260px}
/* Keep the requested foam, coffee, pouring water and barrel fully visible. */
.category[data-category-id="cervejas"] .category-banner,.category[data-category-id="cafeteria"] .category-banner,.category[data-category-id="refrigerantes"] .category-banner,.category[data-category-id="vinho-casa"] .category-banner{height:clamp(110px,20vw,200px);background:#faf6e9}
.category[data-category-id="cervejas"] .category-banner img,.category[data-category-id="cafeteria"] .category-banner img,.category[data-category-id="refrigerantes"] .category-banner img,.category[data-category-id="vinho-casa"] .category-banner img{object-fit:contain;object-position:center}
#menu::before{background-position:center 300px}

.restaurant-footer-compact>.restaurant-hours{white-space:pre-line;margin:7px 0 0;font-size:14px;line-height:1.45;color:#111}

.sf-footer-lines>address>a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Separate demonstration route; room selection remains unchanged. */
.banner-actions #takeaway-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:8px;background:#a21228;color:#fff;text-decoration:none;font-weight:700}.banner-actions{flex-wrap:wrap}

.official-photo{display:block;width:88px;max-width:100%;background-repeat:no-repeat;border-radius:9px}.official-photo-large{width:min(70vw,288px);margin:0 auto}.dish-detail-media .official-photo-large{height:auto}@media(max-width:380px){.official-photo:not(.official-photo-large){width:60px}}

.dish-detail-media .large-bottle{height:min(40dvh,320px);max-width:100%;object-fit:contain}

/* Larger original wine photography, without changing non-wine rows. */
.wine-dish:has(.image-open){grid-template-columns:180px minmax(0,1fr) auto;align-items:center}
.wine-dish .image-open{width:180px;min-height:220px;cursor:zoom-in}
.wine-dish .dish-image{display:block;width:180px;height:220px;max-width:100%;object-fit:contain;background:transparent}
.dish-detail-media .wine-bottle-large{height:min(65dvh,620px);width:min(100%,620px);object-fit:contain}
@media(max-width:600px){.wine-dish:has(.image-open){grid-template-columns:110px minmax(0,1fr) auto;gap:10px}.wine-dish .image-open{width:110px;min-height:180px}.wine-dish .dish-image{width:110px;height:180px}}
@media(max-width:380px){.wine-dish:has(.image-open){grid-template-columns:90px minmax(0,1fr);gap:10px}.wine-dish .image-open{grid-row:1 / span 2;width:90px}.wine-dish .dish-image{width:90px;height:170px}.wine-dish .dish-end{grid-column:2;justify-self:end}}

.takeaway-service-bar{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;margin:10px 0 16px;padding:14px 18px;border-radius:5px;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;letter-spacing:.04em;text-align:center}
.takeaway-service-bar:hover{background:#9e1420}
#menu::before{background-size:min(92vw,640px) auto;opacity:.075;background-position:85% 310px}
#menu[data-active-group="wines"]::before{background-position:18% 430px;background-size:min(95vw,700px) auto}
#menu[data-active-group="desserts"]::before{background-position:80% 250px}
#menu[data-active-group="drinks"]::before{background-position:15% 380px}
#menu[data-active-group="groupMenus"]::before{background-position:center 20px;background-size:min(80vw,550px) auto}
#image-detail .dish-detail>h2{margin:12px 0 8px}#image-detail .dish-detail>p{margin:6px 0}
.dish-detail-media .wine-bottle-large{height:min(50dvh,460px)}
#image-detail .dish-detail-media:has(.wine-bottle-large){padding:8px;background:#fff;border:0}

/* Oversized, deliberately cropped rooster: stable compositions, never layout overflow. */
#menu::before{content:none}
#menu .category,.group-menu-information{position:relative;isolation:isolate}
#menu .category::before,.group-menu-information::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('assets/franguinho-galo.svg');background-repeat:no-repeat;background-size:175% auto;background-position:62% 120px;opacity:.055}
#menu .category:nth-child(2n)::before{background-size:190% auto;background-position:24% 70px}
#menu .category:nth-child(3n)::before{background-size:165% auto;background-position:88% 160px}
#menu[data-active-group="wines"] .category::before{background-size:185% auto;background-position:78% 200px}
#menu[data-active-group="wines"] .category:nth-child(2n)::before{background-size:205% auto;background-position:22% 140px}
#menu[data-active-group="desserts"] .category::before{background-size:195% auto;background-position:28% 130px}
#menu[data-active-group="drinks"] .category::before{background-size:180% auto;background-position:82% 100px}
#menu[data-active-group="drinks"] .category:nth-child(2n)::before{background-position:18% 80px}
.group-menu-information::before{background-size:180% auto;background-position:65% 15px}
@media(max-width:600px){#menu .category::before{background-size:190% auto;background-position:65% 120px}#menu[data-active-group="wines"] .category::before{background-size:210% auto;background-position:80% 130px}#menu[data-active-group="desserts"] .category::before{background-size:205% auto;background-position:25% 120px}}
/* Visible language invitation while retaining the native accessible selector. */
.toolbar{align-items:end}.language-caption{display:block;margin:0 0 6px;font-size:12px;font-weight:700;color:var(--accent);text-align:left;line-height:1.3}.toolbar select{background:#fff8f8;border-width:2px;cursor:pointer}.toolbar .language-wrap{position:relative}

/* Canonical menu QR, separate from unchanged restaurant and agency footers. */
.menu-qr{display:grid;justify-items:center;gap:16px;padding:40px 16px;background:#fff;text-align:center}.menu-qr-logo{display:block;width:240px;max-width:80vw;height:auto;object-fit:contain}.menu-qr-code{display:block;width:240px;height:240px;max-width:80vw;object-fit:contain;image-rendering:pixelated}.menu-qr a{display:block;background:#fff}
.menu-qr{position:relative;isolation:isolate;overflow:hidden;border-top:1px solid #ead8d8;border-bottom:1px solid #ead8d8;margin-top:24px;gap:20px}.menu-qr::before{content:"";position:absolute;z-index:-1;inset:0 0 auto;height:170px;background:url('assets/franguinho-galo.svg') no-repeat 72% 18%;background-size:600px;opacity:.055;pointer-events:none}.menu-qr-logo{position:relative}.menu-qr a{position:relative;border:8px solid white;border-radius:8px;line-height:0}
/* Existing partner mark and a tighter, aligned agency signature. */
.sf-credit .takeaway-partner-logo{display:block;width:264px;max-width:100%;height:auto;margin:0 auto 14px;padding:10px;background:#fff;border-radius:6px}.sf-credit>p{margin-bottom:2px}.sf-footer-lines{width:300px;max-width:100%;line-height:1.2}.sf-footer-lines>address{font-size:15px;padding-inline:4px}.sf-footer-lines>address>a{display:block;min-height:0;padding:5px 0}.sf-footer-lines>.sf-contacts{margin:0}.sf-footer-lines>.sf-contacts>a{min-height:0;padding:5px 4px}.sf-footer-lines>.agency-secondary{min-height:0;padding:5px 4px}
.sf-footer-lines{grid-template-columns:minmax(0,1fr)}.sf-footer-lines>address,.sf-footer-lines>.agency-secondary{width:100%;min-width:0}.sf-footer-lines>address>a{white-space:normal}
