/* Scoped additions preserve the menu, site shell, contacts and reservation design. */
.cp-selection-placement{display:flex;justify-content:flex-end;flex:0 0 auto;max-width:44%}
.site-topbar .cp-selection-open{position:static;width:auto;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;max-width:100%;padding:7px 10px;border:1px solid #ffffff45;border-radius:7px;background:#ffffff0d;color:white;font:500 13px/1.25 Arial,sans-serif;text-align:center;cursor:pointer}
.site-topbar .cp-selection-open:hover{background:#ffffff20}
.cp-selection-open b{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;border-radius:12px;background:#fff;color:#173f47;font-size:12px}
@media(max-width:650px){.site-topbar{gap:8px}.site-topbar .cp-selection-open{font-size:11px;padding:6px;gap:5px}.cp-selection-placement{max-width:43%}}
.cp-selection-dialog{width:min(720px,calc(100vw - 24px));max-width:none;max-height:88dvh;margin:auto;padding:24px;border:1px solid #d1dbd6;border-radius:18px;background:#fffdf8;color:#183f46;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #0005;font-family:inherit}.cp-selection-dialog::backdrop{background:#0d252bd0}
.cp-selection-dialog button{font:inherit;min-height:44px;min-width:44px;border:1px solid #c7d4cd;border-radius:8px;background:#fff;color:#173f47;cursor:pointer;padding:9px 12px;line-height:1.2}.cp-selection-dialog button:hover{background:#eff4ef}.cp-selection-dialog button:disabled{opacity:.4;cursor:default}.cp-selection-dialog button:focus-visible,.cp-selection-open:focus-visible{outline:3px solid #a66b1d;outline-offset:3px}
.cp-selection-head{padding:0;background:transparent;border:0;color:inherit;flex-wrap:nowrap;display:flex;gap:16px;align-items:center;justify-content:space-between}.cp-selection-head small{font-size:10px;letter-spacing:.16em}.cp-selection-head h2{font-size:28px;line-height:1.2;margin:5px 0}.cp-selection-head>button{font-size:26px}.cp-selection-note{font-size:12px;line-height:1.6;color:#526764;border-bottom:1px solid #dce3db;padding:0 0 17px;margin:13px 0}.cp-selection-list{padding:0;margin:0;list-style:none}.cp-selection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:18px 0;border-bottom:1px solid #dce3db;align-items:start}.cp-selection-product{min-width:0}.cp-selection-product small{font-size:10px;color:#5e746e}.cp-selection-product h3{font-size:18px;margin:4px 0 7px;line-height:1.3;overflow-wrap:anywhere}.cp-selection-product p{font-size:12px;line-height:1.4;margin:5px 0}.cp-selection-product .cp-selection-status{color:#8b571b}.cp-selection-controls{display:grid;justify-items:end;gap:5px}.cp-selection-quantity{display:flex;align-items:center;gap:8px}.cp-selection-quantity span{min-width:26px;text-align:center;font-weight:700}.cp-selection-dialog .cp-selection-remove{font-size:11px;border:0;background:transparent;min-height:36px;text-decoration:underline}.cp-selection-empty{font-size:14px;line-height:1.6;margin:30px 0}.cp-selection-warning{background:#fff0d9;padding:12px;border-radius:6px;font-size:13px;line-height:1.5;color:#77531f}.cp-selection-dialog .cp-selection-clear{display:block;margin:0 auto;background:none;border:0;font-size:12px;text-decoration:underline}.cp-selection-picker{background:#eef2e9;padding:16px;border-radius:10px;margin-bottom:10px}.cp-selection-picker h3{margin:0;font-size:20px}.cp-selection-picker p{margin:7px 0 12px;font-size:13px}.cp-selection-picker>div{display:grid;gap:8px}.cp-selection-picker>div button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.cp-selection-picker>button{margin-top:10px;font-size:12px}
@media(max-width:480px){.cp-selection-dialog{padding:17px 14px;max-height:90dvh}.cp-selection-head h2{font-size:24px}.cp-selection-row{gap:8px;grid-template-columns:minmax(0,1fr) 120px}.cp-selection-product h3{font-size:16px}.cp-selection-quantity{gap:2px}.cp-selection-dialog .cp-selection-quantity button{padding:6px;min-width:44px}.cp-selection-picker>div button{flex-wrap:wrap}}

@media print{.cp-selection-open{display:none!important}}

/* Languages and order stay adjacent, with language first at every viewport. */
.cp-language-order{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-left:auto;min-width:0}.cp-language-order .language{display:flex;align-items:center;gap:8px;margin:0;color:white}.cp-language-order select{min-height:44px;width:auto;max-width:170px;background:#fffdf8;color:#173f47;border:1px solid #ffffff66;border-radius:7px;padding:7px;font:500 13px/1.25 Arial,sans-serif}.cp-language-order .cp-selection-placement{max-width:none}.cp-dialog-language{display:flex;align-items:center;gap:12px;margin:14px 0}.cp-dialog-language select{min-height:44px;max-width:100%;border:1px solid #c7d4cd;border-radius:8px;padding:8px;color:#173f47;background:white;font:inherit}.cp-language-order select:focus-visible{outline:3px solid #dbb779;outline-offset:3px}
@media(max-width:850px){.site-topbar{flex-wrap:wrap}.site-top-wordmark{margin-left:auto}.cp-language-order{width:100%;margin:0}.cp-language-order .language{flex:1}.cp-language-order .cp-selection-placement{max-width:52%;flex:0 1 auto}}

/* Three real ice creams from the existing menu, not invented products. */
.icecream-product-composition{height:clamp(220px,29vw,340px);gap:clamp(4px,2vw,28px);padding:22px 12px;background:radial-gradient(ellipse at 50% 40%,#fff6de 0%,#e5f2ef 60%,#c9e1de 100%);border:1px solid #d9e7df;border-radius:18px}.icecream-product-composition img{width:29%;height:100%;max-width:260px;object-fit:contain;filter:drop-shadow(0 12px 10px #173f4725)}.icecream-product-composition img:nth-child(2){transform:translateY(-5px) rotate(5deg)}.icecream-product-composition img:first-child{transform:rotate(-7deg)}.icecream-product-composition img:last-child{transform:rotate(-4deg)}
@media(max-width:650px){.icecream-product-composition{height:225px;padding:18px 4px;gap:3px}.icecream-product-composition img{width:32%;max-width:none}}

/* Wine price aligned with the wine name; bottle and prices remain unchanged. */
.wine-name-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.wine-name-price h3{flex:1;min-width:0}.wine-name-price .wine-list-prices{flex:0 0 auto;text-align:right;margin:0;max-width:48%;line-height:1.5}.wine-list-copy{min-width:0;flex:1}.wine-list-card .wine-arrow{display:none}
@media(max-width:650px){.wine-name-price{gap:6px}.wine-name-price .wine-list-prices{font-size:12px;max-width:46%;white-space:normal}}

/* Correct left-biased source cards without cropping or altering the products. */
#dish-dialog[data-dish-key="icecream|Extreme Caramelo Salgado"] .dish-photo-slot,#dish-dialog[data-dish-key="icecream|Extreme Baunilha"] .dish-photo-slot{height:360px;box-sizing:border-box}
#dish-dialog[data-dish-key="icecream|Extreme Caramelo Salgado"] .dish-photo-slot img,#dish-dialog[data-dish-key="icecream|Extreme Baunilha"] .dish-photo-slot img{width:75%;height:300px;max-height:100%;object-fit:contain;object-position:center;transform:translateX(15%)}
.wine-watercolour-banner{display:block;width:100%;height:clamp(115px,19vw,230px);object-fit:cover;object-position:center;border-radius:12px;margin:12px 0 22px}
/* Two compact toolbar rows must not inherit the one-row 68/82px height. */
@media(max-width:850px){.site-topbar{height:108px;box-sizing:border-box;align-content:center;row-gap:4px;padding-block:8px}.cp-language-order{height:44px;flex-wrap:nowrap}.cp-language-order .language{flex-direction:row;min-width:0}.cp-language-order .language>span{display:none}.cp-language-order select{max-width:145px;box-sizing:border-box}.cp-language-order .cp-selection-open{max-height:44px;box-sizing:border-box}#nav,#wine-nav{top:108px}#menu,#wine-menu,#club-tour-opening{scroll-margin-top:126px}}

/* User correction: navigation/logo/reservations in header; language+order below shortcuts. */
.site-topbar{display:grid;grid-template-columns:1fr auto 1fr;height:82px;gap:12px;align-content:center}.site-topbar #site-nav-open{justify-self:start}.site-topbar #cp-top-booking{justify-self:end;width:auto;font:500 14px Arial,sans-serif;padding:10px 16px;min-height:44px;border:1px solid #ffffff66;border-radius:7px;gap:0}.site-top-wordmark{display:flex;align-items:center;justify-content:center;gap:9px;margin:0;min-width:0}.cp-top-logo{width:38px;height:48px;object-fit:contain;border-radius:4px}.site-top-wordmark .cp-top-name{display:block;margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;color:white}.cp-top-name small{display:block;font-size:8px;font-weight:400;letter-spacing:.3em;margin-top:3px;color:#bed0df}
header>.cp-language-order{width:calc(100% - 48px);max-width:1058px;margin:16px auto 0;padding:12px 0;display:flex;align-items:center;justify-content:space-between;height:auto;gap:16px}.cp-language-order .language{flex:0 1 auto;flex-direction:row;min-width:0;color:#173f47}.cp-language-order .language>span{display:inline}.cp-language-order select{border-color:#bed6e7;max-width:170px}.cp-language-order .cp-selection-placement{max-width:55%;flex:0 1 auto}.cp-language-order .cp-selection-open{position:static;display:flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;max-height:none;max-width:100%;padding:9px 13px;border:1px solid #173f47;border-radius:7px;background:#173f47;color:white;font:500 13px/1.25 Arial,sans-serif;cursor:pointer}.cp-language-order .cp-selection-open:hover{background:#245961}#nav,#wine-nav{top:82px}#menu,#wine-menu,#club-tour-opening{scroll-margin-top:100px}
@media(max-width:650px){.site-topbar{height:68px;padding:0 14px;grid-template-columns:1fr auto 1fr;gap:8px}.site-topbar #cp-top-booking{font-size:12px;padding:8px 10px}.cp-top-logo{width:32px;height:42px}.site-top-wordmark .cp-top-name{display:none}.site-top-wordmark{margin:0}.cp-language-order .language>span{display:none}header>.cp-language-order{width:calc(100% - 36px);margin-top:10px;gap:10px;padding:10px 0}.cp-language-order select{max-width:145px}.cp-language-order .cp-selection-open{font-size:12px;padding:8px 10px}#nav,#wine-nav{top:68px}#menu,#wine-menu,#club-tour-opening{scroll-margin-top:86px}}

/* Denser, lower ice-cream banner; retain the user-approved background. */
.icecream-product-composition{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;justify-items:center;gap:8px;height:180px;padding:12px 18px;box-sizing:border-box}.icecream-product-composition img{width:100%;height:148px;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none!important}.icecream-product-composition img:nth-child(2n){transform:rotate(3deg)!important}.icecream-product-composition img:nth-child(2n+1){transform:rotate(-3deg)!important}
@media(max-width:650px){.icecream-product-composition{height:166px;padding:9px 12px;gap:4px 8px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.icecream-product-composition img{height:70px}}
/* Override legacy category-photo specificity: fill each grid cell, never crop. */
.category-photo .icecream-product-composition img{width:100%;height:148px;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
@media(max-width:650px){.category-photo .icecream-product-composition img{width:100%;height:70px;max-width:100%}}

/* Wine rows: real cutout left, price then heart and reference at right. */
.wine-entry{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #caddea;padding:18px 0}
.wine-entry .wine-list-card{flex:1;align-items:flex-start;gap:12px;padding:0;border:0;height:auto;min-width:0}
.wine-entry .wine-thumb{width:62px;height:130px;padding:0;background:transparent;object-fit:contain;object-position:50% 0;flex:0 0 62px}
.wine-entry .wine-list-copy{padding-top:1px}.wine-entry .wine-list-copy h3{font-size:20px;line-height:1.3;margin:0 0 6px}
.wine-price-actions{flex:0 0 112px;min-width:0;text-align:right;padding-top:1px}
.wine-price-actions .wine-list-prices{font-size:17px;line-height:1.45;margin:0;font-weight:700;overflow-wrap:normal}
.wine-price-actions .item-reference-rail{padding-top:5px;align-items:flex-end;gap:1px}
.wine-price-actions .item-reference-number{width:44px;text-align:center}
@media(max-width:420px){.wine-entry{gap:7px}.wine-entry .wine-list-card{gap:9px}.wine-entry .wine-thumb{width:52px;height:120px;flex-basis:52px}.wine-entry .wine-list-copy h3{font-size:18px}.wine-price-actions{flex-basis:94px}.wine-price-actions .wine-list-prices{font-size:16px}.wine-entry .wine-region{font-size:13px}}

.wine-price-variant{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:5px}.wine-price-variant small{font-size:11px;font-weight:400;line-height:1.2}.wine-price-variant strong{font-size:inherit;white-space:nowrap}
