/* Crazy Bubble — lekki arkusz wspólny dla konfiguratora, menu i koszyka. */
:root{--ink:#242b28;--muted:#68726d;--line:#dfe5df;--paper:#fff;--background:#f7f8f5;--mint:#e8f3ec;--green:#244d3c;--radius:18px}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;padding:28px 24px 60px;background:var(--background);color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body>header,main,body>p{max-width:1120px;margin-left:auto;margin-right:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px;min-height:44px}
.brand-link{color:var(--ink);font-size:18px;font-weight:750;letter-spacing:-.04em;text-decoration:none}
.cart-link{display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:99px;background:var(--paper);font-size:14px;color:var(--green);text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.cart-link:hover{background:var(--mint);border-color:#90ad9e}
.cart-link[aria-current="page"]{background:var(--ink);border-color:var(--ink);color:#fff}
#nav-cart{margin-left:auto}
h1{font-size:clamp(26px,4vw,38px);letter-spacing:-.045em;line-height:1.15;margin:0 0 12px}
h2{font-size:21px;letter-spacing:-.025em;margin:24px 0 16px;line-height:1.3}
h3{font-size:16px;margin:20px 0 10px}
p{margin:12px 0}main>p{color:var(--muted)}
a{color:var(--green)}
button,input,select{font:inherit}
button{border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:10px 14px;cursor:pointer;transition:background .15s,border-color .15s}
button:hover:not(:disabled){background:#f0f5f1;border-color:#90ad9e}
button[aria-pressed="true"],button.selected{background:var(--mint);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #709b84;outline-offset:3px}
select,input[type="search"]{max-width:100%;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}
input[type="checkbox"]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}
label{font-size:14px}
/* Pierwszy ekran — wybór ścieżki zamawiania. */
.choice-stage{max-width:900px;margin-top:36px}
.choice-kicker{margin:0 0 10px;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.choice-stage h1{max-width:680px}
.choice-lead{max-width:600px;margin:12px 0 0;font-size:16px;line-height:1.6}
.mode-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.mode-tile{display:grid;grid-template-rows:auto auto 1fr auto;align-content:start;gap:14px;min-width:0;min-height:280px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);text-decoration:none;transition:background .18s,border-color .18s,transform .18s}
.mode-tile:hover{background:#fafcf9;border-color:#90ad9e;transform:translateY(-2px)}
.mode-tile[aria-current="page"]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.mode-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--mint);color:var(--green)}
.mode-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mode-title{display:block;font-size:23px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.mode-description{display:block;color:var(--muted);font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.mode-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line);color:var(--green);font-size:14px;font-weight:650}
.mode-action>span{font-size:20px;line-height:1}
.steps{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin-top:28px}
.steps>.step{min-width:0;background:white;border:1px solid var(--line);border-radius:var(--radius)}
.step-toggle{display:block;min-height:88px;padding:20px 24px;border-radius:inherit;list-style:none;cursor:pointer;touch-action:manipulation;transition:background .15s;scroll-margin-top:16px}
.step-toggle::-webkit-details-marker{display:none}
.step-toggle::marker{content:""}
.step-toggle:hover{background:#f6faf7}
.step-toggle:focus-visible{outline:3px solid #709b84;outline-offset:3px}
.step-title{display:flex;gap:12px;align-items:center;margin:0;font-size:19px}
.step-heading{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.step-name{display:block}
.step-preview{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:normal}
.step-chevron{display:block;flex:0 0 10px;width:10px;height:10px;margin:0 3px;border-right:2px solid var(--green);border-bottom:2px solid var(--green);transform:rotate(45deg);transition:transform .18s ease}
.step[open]{border-color:#cbded1}
.step[open]>.step-toggle{border-radius:var(--radius) var(--radius) 0 0;background:#f6faf7}
.step[open] .step-chevron{transform:rotate(225deg)}
.step-body{padding:20px 24px 24px;border-top:1px solid var(--line)}
.step-body>.panel>h3:first-child{margin-top:0}
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.step-actions>button{flex:1;min-width:0;max-width:220px;min-height:48px;padding:12px 20px;font-weight:650}
.step-next{margin-left:auto;background:var(--green);border-color:var(--green);color:#fff}
.step-next:hover:not(:disabled){background:#183c2b;border-color:#183c2b}
.step-back{background:transparent;color:var(--ink)}
.step-back:hover:not(:disabled){background:var(--mint);border-color:#90ad9e}
.summary-back{color:var(--muted);border-color:transparent}
.step-status{margin:16px 0 0;padding:10px 12px;border-left:3px solid var(--green);border-radius:8px;background:#f0f6ef;color:var(--ink);font-size:13px}
.step-status:empty{display:none}
.number{display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:var(--mint);border-radius:50%;font-size:14px;color:var(--green)}
.sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.size{min-width:0;padding:24px 12px}.size strong{display:block;font-size:20px}.size small{display:block;margin-top:12px;color:var(--muted)}
.cup{display:none}
.drink-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.drink{text-align:left;flex:1 1 135px;min-width:0}.drink strong{font-size:14px}.drink small{font-size:11px;color:var(--muted);line-height:1.4;display:block;margin-top:4px}.drink br{display:none}
.panel>div:has(>select){margin-top:12px}.panel>div>label:has(+select){display:block;margin-bottom:6px}
/* Dyskretne suwaki z opisanymi pozycjami i natywną obsługą klawiatury. */
.preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
.preference-control{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#f8faf7}
.preference-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.preference-heading>label{font-weight:600;color:var(--ink)}
.preference-value{display:block;min-width:76px;padding:4px 10px;border-radius:99px;background:var(--mint);color:var(--green);font-size:13px;font-weight:650;text-align:center;white-space:nowrap}
.preference-range{appearance:none;-webkit-appearance:none;display:block;width:100%;height:44px;min-height:44px;margin:5px 0 0;padding:0;border:0;background:transparent;accent-color:var(--green);cursor:pointer;touch-action:pan-y}
.preference-range::-webkit-slider-runnable-track{height:7px;border-radius:99px;background:linear-gradient(to right,var(--green) 0%,var(--green) var(--range-progress,0%),#dce7df var(--range-progress,0%),#dce7df 100%)}
.preference-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:26px;height:26px;margin-top:-9.5px;border:4px solid var(--green);border-radius:50%;background:var(--paper);box-shadow:0 2px 7px #244d3c25;transition:box-shadow .15s,transform .15s}
.preference-range::-moz-range-track{height:7px;border-radius:99px;background:#dce7df}
.preference-range::-moz-range-progress{height:7px;border-radius:99px;background:var(--green)}
.preference-range::-moz-range-thumb{box-sizing:border-box;width:26px;height:26px;border:4px solid var(--green);border-radius:50%;background:var(--paper);box-shadow:0 2px 7px #244d3c25;transition:box-shadow .15s,transform .15s}
.preference-range:active::-webkit-slider-thumb{transform:scale(1.08);box-shadow:0 0 0 5px #244d3c10}
.preference-range:active::-moz-range-thumb{transform:scale(1.08);box-shadow:0 0 0 5px #244d3c10}
.preference-range:focus-visible{outline:3px solid #709b84;outline-offset:3px;border-radius:9px}
.range-labels{display:grid;grid-template-columns:repeat(var(--range-options,3),minmax(0,1fr));gap:8px}
.range-labels .range-label{min-width:0;min-height:44px;padding:6px 8px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;font-weight:500;line-height:1.3;box-shadow:none}
.range-labels .range-label:hover:not(:disabled){background:#edf4ee;color:var(--green)}
.range-labels .range-label.is-active,.range-labels .range-label[aria-pressed="true"]{border:0;background:var(--mint);color:var(--green);font-weight:650;box-shadow:none}
.hint{color:var(--muted);font-size:13px;margin:0 0 14px}
.flavors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.flavor-group-heading{grid-column:1/-1;margin:14px 0 2px;padding:12px 0 4px;border-top:1px solid var(--line);color:var(--green);font-size:13px;font-weight:650;line-height:1.4}
.flavor-group-heading:first-child{margin-top:0;padding-top:0;border-top:0}
.flavors>br,.addons>br{display:none}
.choice{display:flex;align-items:center;gap:7px;padding:7px 3px;border-radius:7px;cursor:pointer;font-size:13px}
.choice:has(input:checked){background:var(--mint)}
.extras{margin-top:24px;padding-top:4px;border-top:1px solid var(--line)}
#addons>div{margin-bottom:10px}#addons label{display:block;margin-bottom:4px}
#extras>div{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;margin-top:12px}
#extras>div select{grid-column:1/-1}#extras>div input{margin:0}
.addon-emoji{display:inline-block;min-width:1.25em;margin-inline-end:.3em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:1.08em;font-weight:400;line-height:1.2;text-align:center;vertical-align:-.03em}
#addons select,#extras select{min-width:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
/* Wspólna karta obu podsumowań. */
.summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:30px 32px;margin-top:28px;border:1px solid #cbded1;border-radius:22px;background:linear-gradient(115deg,#eff7f0,#fafcf9);box-shadow:0 7px 24px #243e2e08;scroll-margin-top:16px}
.summary:focus-visible{outline:3px solid #709b84;outline-offset:3px}
.summary>div{min-width:0}
.summary-kicker{display:block;font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin-bottom:6px}
.summary h2{margin:0 0 18px;font-size:27px;letter-spacing:-.035em}
.summary-intro{font-size:17px;font-weight:650;padding:0 0 14px;margin-bottom:4px;border-bottom:1px solid #d5e3d8;overflow-wrap:anywhere}
.summary-row{display:grid;grid-template-columns:105px minmax(0,1fr);gap:14px;padding:8px 0;border-bottom:1px solid #dce8df;font-size:14px}
.summary-row:last-child{border-bottom:0}.summary-label{color:var(--muted)}.summary-value{font-weight:500;overflow-wrap:anywhere}
#add-custom-cart,#add-ready-cart{background:var(--green);color:white;border-color:var(--green);padding:16px 24px;border-radius:12px;font-weight:650;min-height:52px}
#add-custom-cart:hover,#add-ready-cart:hover{background:#183c2b;border-color:#183c2b}
[role="status"]{font-size:13px;color:var(--green)}[role="status"]:empty{display:none}
#ready-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
#ready-form .step-body>p:has(input),#ready-form .step-body>p:has(select){max-width:480px}
#ready-form .step-body>p>label{display:block;margin-bottom:6px;color:var(--muted)}
#ready-count{color:var(--muted);font-size:12px}
#ready-menu{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 32px}
#ready-menu fieldset{min-width:0;margin:0;border:1px solid var(--line);background:white;border-radius:var(--radius);padding:18px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px}
#ready-menu legend{padding:0 6px;font-size:15px;font-weight:650}
#ready-menu button{flex:1 1 145px;min-width:0;max-width:100%;text-align:left;min-height:85px;padding:14px;overflow-wrap:anywhere}
#ready-menu button strong{font-size:14px}#ready-menu button small{font-size:11px;color:var(--muted)}
#ready-menu button .ready-action{display:inline-block;margin-top:9px;font-size:12px;color:var(--green)}
/* Szybki powrót do tworzenia napoju, ponad zawartością koszyka. */
.cart-add-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 30px}
.cart-add-button{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:14px;min-width:0;min-height:76px;padding:16px 18px;border:1px solid transparent;border-radius:16px;font-size:16px;font-weight:650;line-height:1.35;text-decoration:none;touch-action:manipulation;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s}
.cart-add-button>span:not(.cart-add-icon):not(.cart-add-arrow){min-width:0;overflow-wrap:break-word}
.cart-add-custom{border-color:var(--green);background:var(--green);color:white;box-shadow:0 4px 12px #244d3c12}
.cart-add-ready{border-color:#c8ddce;background:var(--mint);color:var(--green)}
.cart-add-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#ffffff1f}
.cart-add-ready .cart-add-icon{background:#fff9}
.cart-add-icon svg{display:block;width:24px;height:24px}
.cart-add-arrow{justify-self:end;font-size:22px;font-weight:400;line-height:1}
.cart-add-button:focus-visible{outline:3px solid #709b84;outline-offset:4px}
.cart-add-button:active{transform:translateY(1px);box-shadow:none}
@media(hover:hover){.cart-add-custom:hover{background:#1b3d2f;border-color:#1b3d2f;box-shadow:0 5px 16px #244d3c20}.cart-add-ready:hover{background:#ddecdf;border-color:#90ad9e}}
#cart-items{display:grid;gap:16px}#cart-items section{border:1px solid var(--line);background:white;border-radius:var(--radius);padding:22px}
#cart-items h2{margin:0 0 12px}#cart-items section>div{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
#cart-items hr{display:none}#cart-items button{min-width:42px}#cart-items p{margin-bottom:0}
#cart-clear{background:transparent;color:var(--muted)}
/* Dopasowanie składników oraz poprawianie zapisanej kompozycji. */
.pairing-note{margin:0 0 18px;padding:12px 14px;border:1px solid #d2e2d7;border-radius:12px;background:var(--mint);color:var(--green);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.pairing-note:empty{display:none}
.edit-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 0;padding:14px 16px;border:1px solid #cbded1;border-radius:12px;background:var(--mint);color:var(--green);font-size:13px;line-height:1.6}
.edit-banner>span{flex:1 1 300px;min-width:0;overflow-wrap:anywhere}
.edit-banner>button{flex:0 0 auto;max-width:100%;min-height:44px;background:var(--paper);color:var(--green)}
#cart-items section.needs-review{border-color:#dcc9a3;background:#fffdf8}
#cart-items .cart-compatibility-note{margin:14px 0;padding:12px 14px;border:1px solid #e6d5ae;border-radius:10px;background:#fff4dd;color:#71552c;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
#cart-items section>p:has(>button){display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#cart-items section>p:has(>button)>span{white-space:nowrap}
#cart-items section>p:has(>button)>button{flex-shrink:0;max-width:100%}
#cart-items .cart-edit-button{min-height:44px;padding:10px 14px;border-color:#90ad9e;background:var(--mint);color:var(--green);font-weight:650}
#cart-items .cart-edit-button:hover:not(:disabled){background:#d9eade;border-color:var(--green)}
/* Pola cen pozostają widoczne również przed wczytaniem cennika lokalizacji. */
#pricing-location.pricing-note{margin-top:-14px;margin-bottom:24px;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.price-field{color:var(--green);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.price-field.is-pending{color:var(--muted);font-weight:500}
.price-caption{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.price-caption:empty,.price-breakdown:empty{display:none}
.size-price{display:block;margin-top:14px;font-size:22px;line-height:1.3}
.drink-price{display:block;margin-top:10px;font-size:15px;line-height:1.3}
.base-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;margin:8px 0 0;font-size:12px;color:var(--muted)}
#extras>label.choice{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:6px;padding:8px 0}
#extras>label.choice input{margin:0}
#extras>label.choice>span:not(.extra-price),#extras>div>label{min-width:0;overflow-wrap:anywhere}
#extras .extra-price{justify-self:end;font-size:13px;line-height:1.4}
.price-breakdown{margin-top:16px;padding-top:12px;border-top:1px solid #cbded1}
.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:5px 0;font-size:14px}
.price-row>:first-child{min-width:0;color:var(--muted);overflow-wrap:anywhere}
.price-row>strong:first-child{color:var(--ink)}
.price-row>.price-field{justify-self:end}
.summary-actions{width:240px;max-width:100%}
.summary-price>span{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}
.total-price{display:block;font-size:clamp(26px,3vw,34px);line-height:1.2;letter-spacing:-.025em;font-weight:700}
.summary-actions .price-caption{margin:8px 0 16px}
.summary-actions button{width:100%;margin-top:8px}
.menu-prices{display:grid;gap:4px;margin-top:12px;padding-top:9px;border-top:1px solid var(--line)}
.menu-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px}
.menu-price-row>span:first-child{color:var(--muted);white-space:nowrap}
.menu-price-row .price-field{font-size:13px}
#cart-items .cart-item-prices{display:grid;gap:2px;max-width:460px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);color:var(--ink)}
.cart-item-prices .price-row{padding:3px 0}
.cart-price-summary{margin:20px 0 8px;padding:22px 24px;border:1px solid #cbded1;border-radius:var(--radius);background:var(--mint)}
.cart-price-summary .price-row>strong{font-size:17px}
.cart-price-summary .price-caption{margin:6px 0 0}
@media(max-width:760px){body{padding:20px 16px 40px}.topbar{gap:12px;margin-bottom:26px}.brand-link{font-size:17px}.cart-link{padding:9px 13px;font-size:13px}.choice-stage{margin-top:14px}.choice-lead{font-size:14px}.mode-tiles{grid-template-columns:minmax(0,1fr);gap:12px;margin-top:22px}.mode-tile{grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto auto;gap:7px 14px;min-height:0;padding:20px;border-radius:18px}.mode-icon{grid-column:1;grid-row:1/3;width:44px;height:44px;border-radius:13px}.mode-icon svg{width:26px;height:26px}.mode-title{grid-column:2;font-size:20px}.mode-description{grid-column:2;font-size:13px;line-height:1.5}.mode-action{grid-column:2;margin-top:3px;padding-top:4px;border:0;font-size:13px}.mode-tile:hover{transform:none}.steps,#ready-menu{grid-template-columns:1fr}.steps{gap:12px;margin-top:22px}.step-toggle{min-height:84px;padding:18px 20px}.step-title{gap:10px;font-size:18px}.step-body{padding:18px 20px 20px}.step-actions{gap:10px;margin-top:20px;padding-top:16px}.step-actions>button{padding:12px 14px}.preference-grid{grid-template-columns:minmax(0,1fr);margin-top:16px}.preference-control{padding:14px}.preference-value{font-size:12px;padding:4px 9px}.range-labels{gap:4px}.range-labels .range-label{padding:6px 4px;font-size:12px}.summary{grid-template-columns:1fr;padding:24px;gap:20px}.summary button{width:100%}.summary h2{font-size:25px}.flavors{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-actions{width:100%;padding-top:18px;border-top:1px solid #cbded1}.summary-price{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.summary-price>span{min-width:0;margin-bottom:0}.summary-actions .price-caption{margin-bottom:14px}}
@media(max-width:400px){.size{padding:18px 8px}.size strong{font-size:17px}.size-price{font-size:21px}.summary{padding:20px}.summary-row{grid-template-columns:95px minmax(0,1fr);gap:12px}.price-row{gap:8px}.cart-price-summary{padding:18px}.cart-price-summary .price-row>strong{font-size:15px}.flavors .choice{min-width:0;align-items:flex-start}.flavors .choice>span{min-width:0;overflow-wrap:anywhere}}
@media(max-width:760px){.cart-add-actions{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:24px}.cart-add-button{grid-template-columns:36px minmax(0,1fr) 18px;gap:12px;min-height:68px;padding:13px 15px;border-radius:14px;font-size:15px}.cart-add-icon{width:36px;height:36px;border-radius:11px}.cart-add-icon svg{width:22px;height:22px}.cart-add-arrow{font-size:21px}#addons select,#extras select{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
