/* ROOOLLS shop layer: brand type + palette on top of the drop-preview design. */
@font-face{font-family:'Archivo Condensed';font-weight:900;font-style:normal;font-display:swap;src:url(/assets/fonts/ArchivoCondensed-Black.ttf) format('truetype')}
@font-face{font-family:'Archivo';font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;src:url(/assets/fonts/Archivo.ttf) format('truetype')}
@font-face{font-family:'Instrument Serif';font-weight:400;font-style:normal;font-display:swap;src:url(/assets/fonts/InstrumentSerif-Regular.ttf) format('truetype')}
@font-face{font-family:'Instrument Serif';font-weight:400;font-style:italic;font-display:swap;src:url(/assets/fonts/InstrumentSerif-Italic.ttf) format('truetype')}
:root{--red:#DC2628;--paper:#FCF6EC;--ink:#24120A;--chocolate:#24120A;--butter:#F5CE76;--blue:#A9DCFF}
/* Display = Archivo Condensed Black. Instrument Serif is the accent (the <em> lines). */
h1,h2,.reference-home .hero h1,.reference-home h2{font-family:'Archivo Condensed','Archivo',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.92}
h1 em,h2 em,.reference-home .hero h1 em,.reference-home h2 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.02em}
.reference-home{--paper:#FCF6EC;--chocolate:#24120A}
.test-bar{background:var(--butter);color:var(--ink);font-size:12px;font-weight:600;text-align:center;padding:7px 18px;letter-spacing:.04em}
.drop-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.drop-form .hp{position:absolute;left:-9999px}
.drop-form input[type=text],.drop-form input[type=email]{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
.drop-form .wl-submit{width:100%;margin:6px 0 14px}
.shop{padding:48px var(--gutter) 90px;max-width:1180px;margin:0 auto}
.shop h1{font-size:clamp(52px,8vw,104px);color:var(--red);margin:14px 0 22px}
.shop-grid{display:grid;grid-template-columns:1fr;gap:34px}
@media(min-width:900px){.shop-grid{grid-template-columns:5fr 6fr;gap:64px;align-items:start}}
.shop-info{background:var(--red);color:#fff;padding:26px}
.shop-info dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15px}
.shop-info dt{font-size:11px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;padding-top:3px}
.shop-info dd{margin:0}
.shop-info .left{margin-top:20px;padding-top:16px;border-top:1px solid #ffffff55;font-family:'Archivo Condensed',sans-serif;font-weight:900;font-size:30px;text-transform:uppercase;line-height:1}
.shop-form fieldset{border:0;padding:0;margin:0 0 26px}
.shop-form legend{font-size:11px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;margin-bottom:12px;padding:0}
.fmt{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--sand)}
.fmt b{display:block;font-size:18px}.fmt small{font-size:14px;opacity:.75}
.stepper{display:flex;align-items:center;border:1px solid var(--ink)}
.stepper button{width:48px;height:48px;background:none;border:0;font-size:22px;color:var(--ink)}
.stepper button:disabled{opacity:.3}
.stepper output{min-width:34px;text-align:center;font-weight:700}
.shop-form label.field{display:block;font-size:13px;font-weight:600;margin-bottom:12px}
.shop-form label.field input{display:block;width:100%;min-height:52px;margin-top:6px;padding:12px 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
.pay{display:grid;gap:10px}
.pay label{display:flex;gap:12px;align-items:center;border:1px solid var(--ink);padding:14px;min-height:56px;background:#fff;cursor:pointer}
.pay label:has(input:checked){outline:3px solid var(--red);outline-offset:-3px}
.pay small{display:block;opacity:.7;font-size:13px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin-bottom:18px}
.check input{width:22px;height:22px;flex-shrink:0;margin-top:2px;accent-color:var(--red)}
.total{display:flex;justify-content:space-between;align-items:baseline;font-family:'Archivo Condensed',sans-serif;font-weight:900;font-size:34px;text-transform:uppercase;margin:6px 0 16px}
.shop-form .button{width:100%;justify-content:center;font-size:17px;min-height:60px}
.shop-form .button:disabled{opacity:.45;transform:none;cursor:not-allowed}
.shop-msg{font-weight:600;margin:14px 0;min-height:1.5em}
.shop-msg.err{color:var(--red)}
.shop-closed{background:var(--cream);padding:28px;border:1px solid var(--sand)}
.shop-closed .button{margin-top:18px}
.order{padding:60px var(--gutter) 90px;max-width:760px;min-height:65vh}
.order h1{font-size:clamp(48px,8vw,88px);color:var(--red);margin:14px 0 24px}
.order dl{display:grid;grid-template-columns:auto 1fr;gap:12px 22px;margin:26px 0;padding:24px;background:var(--cream);border:1px solid var(--sand)}
.order dt{font-size:11px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;padding-top:4px}.order dd{margin:0;font-weight:600}
.order .ref{font-family:ui-monospace,Menlo,monospace;letter-spacing:.04em}
.allergens table{border-collapse:collapse;width:100%;margin:24px 0;font-size:15px}
.allergens th,.allergens td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--sand)}
.allergens th{font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.allergens .tbc{color:var(--red);font-weight:600}
.notice{border-left:6px solid var(--butter);background:#fff;padding:16px 18px;margin:20px 0;max-width:none}
.policy p,.order p{max-width:62ch}
.policy h2{margin:38px 0 14px;font-size:clamp(34px,5vw,52px)}
.order .ref{white-space:nowrap;font-size:15px}
.allergens .st-c{font-weight:700;color:var(--red)}.allergens .st-t{font-weight:700}.allergens .st-n{opacity:.65}
/* Payment step (SumUp card form inside the page) */
.pay-panel{background:#fff;border:1px solid var(--ink);padding:22px}
.pay-panel #sumup-card{min-height:260px}
.pay-secure{font-size:13px;opacity:.75;margin-top:14px;max-width:none}
.pay-links{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;margin-top:14px;max-width:none}
[data-sumup-id="widget__container"]{font-family:'Archivo',Arial,sans-serif;color:var(--ink);padding:0;border:0;box-shadow:none;max-width:none}
[data-sumup-id="submit_button"]{background:var(--red)!important;border-color:var(--red)!important;border-radius:0!important;min-height:56px;font-weight:700}
.pay-wallets{margin-bottom:18px;text-align:center}
.pay-wallets .wallet{width:100%;justify-content:center;background:#000;border-color:#000;font-size:16px;min-height:56px}
.pay-wallets .wallet:hover{background:#222;border-color:#222}
.pay-wallets small{display:block;margin-top:8px;font-size:13px;opacity:.7}
.pay-or{max-width:none;margin:18px 0 0;font-size:11px;letter-spacing:.13em;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:12px}
.pay-or::before,.pay-or::after{content:"";flex:1;border-top:1px solid var(--sand)}
/* iPhone: keep symbols as plain text (not emoji) and stop Safari colouring buttons blue */
body{font-variant-emoji:text}
.menu-button,.stepper button,.language-switch button{color:var(--ink);-webkit-appearance:none;appearance:none}
.button,.button span,.spark,.hero-stamp span{font-variant-emoji:text}
/* ---- One-page reserve layout (15 Nov 2026) ---- */
.shop-photo{position:relative;margin:0;background:var(--cream)}
.shop-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.shop-photo figcaption{position:absolute;left:16px;bottom:14px;background:var(--red);color:#fff;padding:7px 12px;font-size:11px;letter-spacing:.13em;font-weight:600}
@media(max-width:899px){.shop-photo img{aspect-ratio:4/3}}
@media(min-width:900px){.shop-photo{position:sticky;top:24px}}
.shop-form .steps-edit{border:0;padding:0;margin:0;min-width:0}
.shop-form .steps-edit:disabled{opacity:.55}
.step{padding:22px 0;border-top:1px solid var(--ink)}
.shop-form .steps-edit .step:first-child{border-top:0;padding-top:0}
.shop .step-t{display:flex;align-items:center;gap:12px;font-size:26px;line-height:1;margin:0 0 14px;color:var(--ink);letter-spacing:0}
.step-t span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-size:16px;flex-shrink:0}
.prod-desc{margin:0 0 16px;max-width:none}
.prod-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.prod-price{font-family:'Archivo Condensed',sans-serif;font-weight:900;font-size:38px;line-height:1;color:var(--red);margin:0}
.prod-price small{font-family:'Archivo',sans-serif;font-weight:500;font-size:14px;color:var(--ink);opacity:.75}
.days{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}
.day{position:relative;cursor:pointer}
.day input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.day>span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--ink);background:#fff;padding:12px 12px 10px;min-height:92px}
.day b{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:600}
.day strong{font-family:'Archivo Condensed',sans-serif;font-weight:900;font-size:26px;line-height:1.05;text-transform:uppercase}
.day small{font-size:12px;opacity:.75}
.day input:checked+span{background:var(--red);border-color:var(--red);color:#fff}
.day input:checked+span small{opacity:1}
.day input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}
.steps-edit:not(:disabled) .day input:disabled+span{opacity:.4;text-decoration:line-through}
.step-note{font-size:14px;opacity:.8;margin:14px 0 0;max-width:none}
.step .check{margin:6px 0 0}
.step .total{margin:0 0 14px}
.pay-box{margin-top:4px;background:#fff;border:1px solid var(--ink);padding:18px}
.pay-box #sumup-card{min-height:240px}
.linklike{background:none;border:0;padding:8px 0;margin-top:8px;font:inherit;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
