/*
Theme Name: Kanelitonttu Tilauspalvelu
Theme URI: https://kanelitonttu.fi/
Author: Kanelitonttu
Description: Kanelitontun jouluruokien ohjattu tilauspalvelu.
Version: 0.4.2
Requires PHP: 8.0
Text Domain: kanelitonttu
*/
:root{--wine:#481616;--wine-2:#6c2925;--paper:#faf5ea;--cream:#f5eddf;--sand:#e9dcc8;--gold:#d4aa71;--ink:#30221e;--muted:#6c5d53;--line:#dfd1bd;--green:#344b3b;--shadow:0 22px 70px rgba(48,16,13,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400}em{font-weight:400;color:var(--gold)}.preview{background:#e2c99f;color:#41150f;text-align:center;padding:7px 15px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);gap:20px;background:#f9f2e7}.logo{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:28px;letter-spacing:-.045em;line-height:1;color:var(--wine)}.logo>span:first-child{font-size:35px;color:#b1804f}.logo small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:.29em;font-weight:800;margin-top:7px}.header nav{display:flex;gap:35px;font-size:12px;font-weight:800}.header nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-cta{background:var(--wine);color:#fff;padding:15px 19px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.header-cta span{margin-left:13px}.hero{position:relative;min-height:620px;background:linear-gradient(90deg,rgba(43,5,10,.34) 0%,rgba(43,5,10,.13) 50%,transparent 75%),url('assets/hero.png') center/cover no-repeat;display:flex;align-items:center;color:#fff}.hero-inner{padding:70px 0;margin-left:max(6vw,25px);max-width:565px}.kicker,.eyebrow{font-size:11px;letter-spacing:.25em;font-weight:800;color:#a96744;margin-bottom:18px}.kicker{color:#f3c990}.hero h1{font-size:clamp(58px,7vw,100px);line-height:.94;letter-spacing:-.057em;margin-bottom:27px}.hero h1 em{color:#f3d9a6}.hero p:not(.kicker){max-width:410px;font-size:15px;line-height:1.75;color:#fff1e5}.hero-note{position:absolute;bottom:16px;right:24px;font-size:10px;color:#f4ddc5}.ribbon{background:#e8dac3;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:28px;padding:18px 20px;font-family:Georgia,serif;color:var(--wine);font-size:15px}.ribbon b{font-size:10px;color:#ad7b4c}.story{text-align:center;padding:108px 25px 117px;max-width:940px;margin:auto}.story-deco{font-size:43px;color:#ad7b4c;margin-bottom:20px}.story h2,.order-heading h2,.delivery-info h2{font-size:clamp(44px,5vw,70px);letter-spacing:-.055em;line-height:1.04;margin-bottom:24px}.story h2 em,.order-heading h2 em,.delivery-info h2 em{color:#a86b42}.story>p:last-child{max-width:635px;margin:0 auto;color:#67584e;line-height:1.85;font-size:15px}.ordering{background:#f2eadf;padding:100px max(5vw,24px) 110px}.order-heading{text-align:center;max-width:720px;margin:0 auto 48px}.order-heading>p:last-child{color:var(--muted);font-size:14px;line-height:1.7;max-width:590px;margin:auto}.stepper{display:flex;align-items:center;max-width:820px;margin:0 auto 48px}.step{display:flex;align-items:center;gap:11px;color:#8c7a6e;white-space:nowrap}.step span{width:34px;height:34px;border-radius:50%;border:1px solid #b6a18e;display:grid;place-items:center;font-size:12px;font-weight:800}.step strong{font-size:12px}.step.active{color:var(--wine)}.step.active span,.step.done span{background:var(--wine);border-color:var(--wine);color:#fff}.step.done{color:var(--wine)}.step-line{height:1px;background:#cbb9a5;flex:1;margin:0 18px}.order-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,.6fr);gap:24px;max-width:1240px;margin:auto;align-items:start}.order-main{min-width:0}.step-panel{background:#fffbf5;border:1px solid #e8ddcf;padding:40px;min-height:540px;box-shadow:0 8px 30px rgba(58,25,20,.035)}[hidden]{display:none!important}.step-title>span{font-size:10px;font-weight:800;letter-spacing:.2em;color:#aa6848}.step-title h3{font-size:clamp(31px,3vw,43px);line-height:1.07;letter-spacing:-.04em;color:var(--wine);margin:10px 0 12px}.step-title p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:28px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.method{position:relative;text-align:left;border:1px solid #d8c4a9;background:#faf4e9;padding:23px;display:flex;flex-direction:column;min-height:155px;color:var(--wine);transition:background .2s,border-color .2s,box-shadow .2s}.method:hover,.method.selected{background:#f3e6d0;border-color:var(--wine);box-shadow:0 7px 20px rgba(72,22,22,.08)}.method-icon{font-size:25px;margin-bottom:13px}.method strong{font-family:Georgia,serif;font-size:23px;font-weight:400}.method small{font-size:12px;color:var(--muted);margin-top:7px}.method-arrow{position:absolute;right:20px;top:19px}.choice-area{padding-top:32px}.choice-area h4{font-size:25px;color:var(--wine);margin-bottom:17px}.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.slot{border:1px solid #d5c4af;background:#fff;text-align:left;padding:15px;color:var(--wine);font-size:13px;font-weight:800}.slot.selected,.slot:hover{border-color:var(--wine);background:#f0e4d2}.hint{font-size:12px;line-height:1.6;color:var(--muted);margin:15px 0 0}.field-label{display:block;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--wine);margin-bottom:9px}.choice-area select{width:min(410px,100%);padding:14px;background:#fff;border:1px solid #cdbba7;color:var(--ink)}.step-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:35px}.step-actions.split{justify-content:space-between;gap:16px}.back{background:none;border:0;color:var(--wine);font-size:12px;font-weight:800;padding:10px 0}.back:hover{text-decoration:underline;text-underline-offset:4px}.summary{background:var(--wine);color:#fff;position:sticky;top:22px;box-shadow:var(--shadow)}.summary-head{padding:28px 27px 19px;border-bottom:1px solid rgba(255,255,255,.19)}.summary-head .eyebrow{color:#d6b789}.summary-head h3{font-size:32px;margin:0}.summary-body{padding:23px 27px}.summary-empty{font-size:13px;line-height:1.65;color:#ecd7c9}.summary-method{font-size:12px;color:#f5e2d1;line-height:1.65;margin-bottom:18px}.summary-method strong{display:block;color:#fff;font-size:13px}.summary-item{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:12px;line-height:1.4}.summary-item small{display:block;color:#d8bdb0;font-size:11px;margin-top:3px}.summary-totals{border-top:1px solid rgba(255,255,255,.25);margin-top:22px;padding-top:15px;font-size:12px}.summary-totals>div{display:flex;justify-content:space-between;margin:9px 0}.summary-totals .total{font-size:19px;border-top:1px solid rgba(255,255,255,.25);padding-top:15px;margin-top:15px}.summary-message{font-size:12px;color:#f5d499;line-height:1.5;min-height:18px;margin:17px 0 0}.summary-foot{background:#3b1012;padding:15px 27px;color:#f0d7ba;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;display:flex;justify-content:space-between}.menu-section{margin-top:28px}.menu-section:first-child{margin-top:0}.menu-section>h4{font-size:29px;color:var(--wine);padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:4px}.menu-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:21px 0;border-bottom:1px solid #e7dacb}.menu-symbol{width:48px;height:48px;background:var(--item-color,#ead9c6);display:grid;place-items:center;color:var(--wine);font-size:24px}.menu-item h5{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0 0 5px;color:var(--wine)}.menu-item p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 10px}.item-tag{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#a46847}.variant-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:7px 0}.variant-row .variant-name{font-size:12px;font-weight:700}.variant-row .variant-price{font-size:13px;color:var(--wine);font-weight:800;margin-left:auto}.quantity{display:flex;align-items:center;gap:6px;margin-left:8px}.quantity button{border:1px solid #c9b7a3;background:#fff;color:var(--wine);width:29px;height:29px;display:grid;place-items:center;font-size:18px}.quantity button:hover{background:var(--wine);color:#fff}.quantity span{min-width:19px;text-align:center;font-size:13px;font-weight:800}.coming-soon{font-size:12px;color:#9b7656}.allergen-note{font-size:11px;color:var(--muted);line-height:1.6;margin:20px 0}.review-card{border:1px solid var(--line);background:#fcf7ed;padding:25px}.review-card h4{font-size:23px;color:var(--wine);margin:0 0 9px}.review-card p{font-size:13px;line-height:1.6;color:var(--muted)}.review-line,.review-total{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.review-total{border-bottom:0;font-size:20px;color:var(--wine);font-weight:800}.preview-payment{display:flex;gap:15px;padding:18px 0;color:var(--wine)}.preview-payment>span{font-size:25px}.preview-payment strong{font-size:13px}.preview-payment p{color:var(--muted);font-size:12px;line-height:1.6;margin:4px 0 0}.delivery-info{background:#e8dac4;padding:105px max(6vw,25px)}.delivery-info h2{margin-bottom:45px}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1190px}.info-grid article{border-top:1px solid #c7b298;padding-top:22px}.info-grid article>span{font-size:11px;font-weight:800;color:#a15b3d}.info-grid h3{font-size:28px;color:var(--wine);margin:20px 0 12px}.info-grid p{color:#615148;font-size:13px;line-height:1.75}footer{display:flex;justify-content:space-between;align-items:start;gap:30px;padding:53px max(6vw,25px);background:#2e1112;color:#e9d9c7}footer p{font-size:12px;line-height:1.7;color:#cdb9a8}.footer-logo{font-family:Georgia,serif;font-size:25px}
.quick-picks{background:#f4e8d6;border:1px solid #e5d0b7;padding:21px;margin-bottom:27px}.quick-picks .eyebrow{font-size:9px;margin-bottom:12px}.quick-pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.quick-pick-grid button{text-align:left;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #cfb69a;background:#fffbf3;color:var(--wine);padding:16px;min-height:128px}.quick-pick-grid button:hover,.quick-pick-grid button:focus-visible{border-color:var(--wine);box-shadow:0 5px 15px rgba(72,22,22,.1)}.quick-pick-grid strong{font-family:Georgia,serif;font-size:21px;font-weight:400}.quick-pick-grid small{font-size:11px;line-height:1.5;color:var(--muted);margin:8px 0 auto}.quick-pick-grid span{font-size:13px;font-weight:800;margin-top:10px;width:100%;display:flex;justify-content:space-between}.quick-picks .hint{margin-top:11px}.mobile-bar{display:none}
@media(max-width:980px){.order-layout{grid-template-columns:minmax(0,1fr) 285px}.step-panel{padding:30px}.hero{background-position:58% center}.header nav{gap:17px}}
@media(max-width:760px){.header{height:70px;padding:0 18px}.header nav{display:none}.logo{font-size:23px}.logo>span:first-child{font-size:28px}.header-cta{padding:13px 10px;font-size:9px}.hero{min-height:650px;align-items:start;background-image:linear-gradient(180deg,rgba(39,5,9,.73) 0%,rgba(39,5,9,.4) 53%,transparent 100%),url('assets/hero.png');background-position:61% bottom}.hero-inner{margin:0;padding:56px 24px}.hero h1{font-size:65px}.hero p:not(.kicker){font-size:14px;max-width:355px}.hero-note{font-size:8px}.ribbon{font-size:12px;gap:10px}.story{padding:76px 22px}.story h2,.order-heading h2,.delivery-info h2{font-size:45px}.ordering{padding:75px 17px 100px}.stepper{margin-bottom:24px;justify-content:center}.step{gap:0;flex-direction:column}.step strong{display:none}.step-line{max-width:70px;margin:0 10px}.order-layout{display:flex;flex-direction:column;gap:18px}.order-main,.summary{width:100%}.summary{position:static;order:2}.step-panel{padding:25px;min-height:0}.method-grid{grid-template-columns:1fr}.method{min-height:0;padding:17px}.method-icon{margin-bottom:7px}.slot-grid{grid-template-columns:1fr}.quick-pick-grid{grid-template-columns:1fr}.quick-pick-grid button{min-height:104px}.step-actions.split{flex-wrap:wrap}.info-grid{grid-template-columns:1fr}.delivery-info{padding:75px 22px}footer{display:block}footer p{margin-top:20px}.mobile-bar.visible{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--wine);color:#fff;padding:13px 18px;box-shadow:0 -5px 25px rgba(40,8,8,.22)}.mobile-bar small{display:block;font-size:10px;color:#d9c0ab}.mobile-bar strong{font-size:20px}.mobile-bar button{background:#f4e4c8;color:var(--wine);border:0;padding:14px 15px;min-width:138px;text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.mobile-bar button:disabled{opacity:.5;cursor:not-allowed}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.method{transition:none}}

/* Jouluinen, selkeämpi väritys ja luettavampi teksti */
:root{--wine:#8d1830;--wine-2:#b52a43;--paper:#fffdf7;--cream:#f5faf5;--sand:#e6f0e7;--gold:#f4ca70;--ink:#18372b;--muted:#41584c;--line:#c5d7c7;--green:#0d4b38;--shadow:0 22px 70px rgba(26,55,42,.14)}
body{font-size:16px}.preview{background:#0d4b38;color:#fffdf4;font-size:12px;letter-spacing:.11em;padding:9px 15px}.header{background:#fffdf7}.logo{color:var(--wine)}.logo>span:first-child{color:#a91d37}.logo small{font-size:10px;letter-spacing:.23em}.header nav{font-size:15px}.header-cta{background:var(--wine);font-size:12px}.header-cta:hover{background:#b92b45}
.pickup-banner{background:#0d4b38;color:#fff;display:grid;grid-template-columns:minmax(240px,1fr) minmax(430px,1.8fr) auto;align-items:center;gap:24px;padding:20px max(5vw,24px);border-top:3px solid #b7213d}.pickup-place span{display:block;color:#f4ca70;font-size:13px;font-weight:800;letter-spacing:.15em;margin-bottom:6px}.pickup-place strong{font-family:Georgia,serif;font-size:24px;line-height:1.15;font-weight:400}.pickup-dates{display:flex;flex-wrap:wrap;gap:9px}.pickup-dates span{background:#f8fff9;color:#164b39;padding:11px 13px;font-size:15px;white-space:nowrap}.pickup-dates b{color:#8d1830}.pickup-banner>a{color:#fff;border:2px solid #fff;padding:12px 15px;font-size:13px;font-weight:800;white-space:nowrap}.pickup-banner>a:hover{background:#fff;color:#0d4b38}
.hero{background-image:linear-gradient(90deg,rgba(0,28,18,.24) 0%,rgba(0,28,18,.08) 52%,transparent 80%),url('assets/hero.png');min-height:590px}.hero-inner{max-width:620px}.hero h1{font-size:clamp(58px,6.8vw,96px)}.hero h1 em{color:#ffdf91}.hero p:not(.kicker){font-size:17px;line-height:1.7;color:#fff}.kicker{font-size:13px;color:#ffe097}.eyebrow{font-size:13px;color:#9b2038}.hero-note{font-size:11px}.ribbon{background:#a51d37;color:#fff;padding:20px;font-size:17px}.ribbon b{color:#f9cf76}.story{background:#fffdf7}.story-deco{color:#a51d37}.story h2 em,.order-heading h2 em{color:#a51d37}.story>p:last-child{font-size:17px;color:#405448}.ordering{background:#edf5ee}.order-heading>p:last-child{font-size:17px;color:#405448}.step{color:#506858}.step strong{font-size:15px}.step span{font-size:14px}.step-line{background:#b9d0bd}.step-panel{background:#fffefa;border-color:#d4e2d5}.step-title>span{font-size:12px;color:#a21b35}.step-title h3{color:#173f31}.step-title p{font-size:16px;color:#3e5547}.method{background:#f6faf4;border-color:#bad0bb;color:#143f30}.method:hover,.method.selected{background:#e5f2e6;border-color:#176044}.method strong{font-size:25px}.method small{font-size:15px;color:#3d5647}.choice-area h4{color:#173f31}.slot{font-size:15px;border-color:#bad0bb;color:#173f31}.slot.selected,.slot:hover{border-color:#176044;background:#e5f2e6}.hint{font-size:14px;color:#465b4d}.field-label{font-size:14px;color:#183e30}.choice-area select{font-size:16px;border-color:#a9c5ae}.back{font-size:14px}.summary{background:#8d1830}.summary-head .eyebrow{color:#ffd98b}.summary-head h3{font-size:35px}.summary-empty,.summary-method{font-size:15px}.summary-method strong{font-size:16px}.summary-item{font-size:14px}.summary-item small{font-size:13px}.summary-totals{font-size:14px}.summary-message{font-size:14px;color:#ffe0a5}.summary-foot{background:#670e23;font-size:12px}.menu-section>h4,.menu-item h5{color:#183f31}.menu-symbol{background:#e6f1e8;color:#a51d37}.menu-item p{font-size:15px;color:#41594a}.item-tag{font-size:12px;color:#a21b35}.variant-row .variant-name{font-size:15px}.variant-row .variant-price{font-size:15px}.variant-row{gap:12px}.quantity button{width:34px;height:34px;border-color:#a9bfae;color:#16513a}.quantity button:hover{background:#176044}.quantity span{font-size:15px}.coming-soon{font-size:14px}.allergen-note{font-size:13px;color:#465b4d}.quick-picks{background:#e4f0e5;border-color:#b9d2bd}.quick-picks .eyebrow{font-size:12px}.quick-pick-grid button{border-color:#acc7b1;background:#fffefa;color:#174331}.quick-pick-grid button:hover,.quick-pick-grid button:focus-visible{border-color:#176044}.quick-pick-grid small{font-size:14px;color:#41594a}.quick-pick-grid span{font-size:15px}.review-card{background:#f4faf4;border-color:#c5d7c7}.review-card h4{color:#173f31}.review-card p,.review-line{font-size:15px}.review-total{color:#8d1830}.preview-payment strong{font-size:15px}.preview-payment p{font-size:14px}.delivery-info{background:#0d4b38;color:#fff}.delivery-info .eyebrow{color:#f4ca70}.delivery-info h2 em{color:#f4ca70}.info-grid article{border-color:rgba(255,255,255,.4)}.info-grid article>span{color:#f4ca70;font-size:13px}.info-grid h3{color:#fff;font-size:31px}.info-grid p{color:#f1f8f2;font-size:16px}footer{background:#082d23;color:#fff}footer p{color:#e3efe6;font-size:14px}
@media(max-width:1180px){.pickup-banner{grid-template-columns:1fr}.pickup-dates{gap:8px}.pickup-banner>a{justify-self:start}}
@media(max-width:760px){.header-cta{font-size:11px}.pickup-banner{padding:17px 20px;gap:13px}.pickup-place span{font-size:11px}.pickup-place strong{font-size:21px}.pickup-dates{display:grid;grid-template-columns:1fr 1fr;width:100%}.pickup-dates span{font-size:14px;padding:8px 10px;white-space:normal}.pickup-dates span:last-child{grid-column:1/-1}.pickup-banner>a{display:none}.hero{min-height:600px;background-image:linear-gradient(180deg,rgba(1,26,17,.67) 0%,rgba(1,26,17,.31) 56%,transparent 100%),url('assets/hero.png');background-position:59% bottom}.hero-inner{padding:51px 24px}.hero h1{font-size:60px}.hero p:not(.kicker){font-size:16px}.ribbon{font-size:14px;gap:9px}.story h2,.order-heading h2,.delivery-info h2{font-size:43px}.summary{position:static}.mobile-bar.visible{background:#8d1830}.mobile-bar small{font-size:12px}.mobile-bar button{font-size:12px}}

/* Joulutunnelma ensin, käytännön tiedot omassa pienessä reseptikortissa. */
.header{height:86px}
.cookie-button,.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;text-align:center;background:transparent url('assets/pipari.svg') center / 100% 100% no-repeat;color:#fff5dd;border:0;text-decoration:none;font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:800;letter-spacing:.015em;text-transform:none;padding:20px 34px;min-width:244px;min-height:78px;filter:drop-shadow(0 4px 3px rgba(35,13,5,.16));transition:transform .18s ease,filter .18s ease}
.cookie-button:hover,.btn:hover:not(:disabled){background-color:transparent;transform:translateY(-2px) rotate(-1deg);filter:drop-shadow(0 6px 5px rgba(35,13,5,.24))}
.cookie-button:focus-visible,.btn:focus-visible{outline:3px solid #f4ca70;outline-offset:5px}
.header-cta.cookie-button{min-width:164px;min-height:58px;font-size:13px;padding:16px 24px;background-color:transparent;letter-spacing:.025em;white-space:nowrap}
.hero{min-height:590px;background-color:#0b2117;background-position:center;align-items:center;background-image:linear-gradient(90deg,rgba(0,24,15,.45),rgba(0,24,15,.12) 51%,transparent 73%),url('assets/hero.png')}
.hero-inner{width:560px;max-width:calc(100% - 12vw);margin-left:6vw;padding:40px 0 65px}
.hero h1{font-size:clamp(80px,8vw,114px);line-height:.88;letter-spacing:-.06em;margin-bottom:24px}
.hero h1 em{color:#ffe1a1}
.hero .kicker{font-size:12px;letter-spacing:.2em;margin-bottom:20px;color:#ffe6b2}
.hero p.hero-intro{max-width:420px;font-size:17px;line-height:1.65;margin-bottom:16px}
.hero p.hero-fulfilment{max-width:420px;color:#ffe4ab;font-size:17px;line-height:1.5;font-weight:700;margin-bottom:16px}
.hero-cookie{min-width:260px;min-height:78px}
.hero-limited{display:block;color:#fff6df;font-size:13px;line-height:1.5;margin-top:13px;max-width:370px}
.hero-note{bottom:44px}
.arrival-card{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1fr;max-width:1160px;width:calc(100% - 10vw);margin:-25px auto 30px;background:#fffdf5;border:1px solid #e0cda8;outline:1px solid #eadfc9;outline-offset:-8px;box-shadow:0 12px 35px rgba(25,50,35,.12);color:#193e30;scroll-margin-top:25px}
.arrival-card article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:15px;padding:30px 30px 25px;min-width:0}
.arrival-card article+article{border-left:1px solid #e0d8c6}
.arrival-icon{color:#9e2539;padding-top:2px}
.arrival-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.arrival-label{font-size:12px;font-weight:800;letter-spacing:.13em;color:#64735e;margin:0 0 7px}
.arrival-card h2{font-size:26px;letter-spacing:-.035em;line-height:1.15;margin:0 0 10px}
.arrival-dates{display:flex;flex-wrap:wrap;gap:2px 19px;font-size:16px;line-height:1.65;max-width:440px}
.arrival-dates span{white-space:nowrap}.arrival-dates b{color:#962439}
.arrival-areas{font-size:16px;line-height:1.6;margin:0}
.arrival-areas strong{color:#9c2337}
.arrival-card a{display:inline-block;color:#962439;font-size:15px;font-weight:800;line-height:1.4;text-decoration:underline;text-underline-offset:4px;padding:10px 0 6px}
.arrival-card a:hover{text-decoration-thickness:2px}
.arrival-card small{display:block;color:#536650;font-size:13px;line-height:1.5}
.ribbon{background:#0d4b38;color:#fff4d9;font-size:16px;padding:16px 20px;gap:25px}.ribbon b{color:#f4ca70}
.btn{background:transparent url('assets/pipari-punainen.svg') center / 100% 100% no-repeat;min-height:66px;min-width:185px;font-size:15px;padding:19px 30px;gap:0}
.btn-wine:hover:not(:disabled){background-color:transparent}
.btn:disabled{background:transparent url('assets/pipari-harmaa.svg') center / 100% 100% no-repeat;color:#fff;opacity:1;filter:none;cursor:not-allowed}
.method{border-radius:10px;min-height:145px}.method.selected{box-shadow:inset 0 0 0 1px #176044,0 7px 20px rgba(23,70,45,.08)}
.method-icon{display:block;height:34px;margin-bottom:12px}.method-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.quick-pick-grid button{border-radius:9px}.quick-pick-grid span{justify-content:flex-start}
.back{font-size:15px;text-decoration:underline;text-underline-offset:4px}
.mobile-bar button{border-radius:20px;background:#fff1d2;color:#7e1730;font-size:13px;text-transform:none}
@media(max-width:1050px){.hero-inner{width:480px}.hero h1{font-size:86px}.arrival-card{width:calc(100% - 6vw)}.arrival-card article{padding:27px 23px 22px;gap:11px;grid-template-columns:32px minmax(0,1fr)}.arrival-icon svg{width:31px;height:31px}.arrival-card h2{font-size:24px}}
@media(max-width:760px){.header{height:78px;padding:0 16px;gap:10px}.header-cta.cookie-button{min-width:137px;min-height:51px;padding:12px 19px;font-size:12px}.logo{font-size:24px}.logo>span:first-child{font-size:27px}.logo small{font-size:9px}.hero{min-height:620px;align-items:flex-start;background-position:62% bottom;background-image:linear-gradient(180deg,rgba(1,25,16,.78),rgba(1,25,16,.48) 58%,rgba(1,25,16,.08)),url('assets/hero.png')}.hero-inner{width:100%;max-width:460px;margin:0;padding:36px 24px 72px}.hero h1{font-size:82px;margin-bottom:21px}.hero .kicker{font-size:11px;line-height:1.6;max-width:260px;margin-bottom:16px}.hero p.hero-intro{font-size:16px;line-height:1.6;max-width:355px}.hero p.hero-fulfilment{font-size:16px;line-height:1.5;max-width:335px}.hero-cookie{min-width:245px;min-height:73px;font-size:15px}.hero-limited{font-size:13px;max-width:310px}.hero-note{font-size:10px;bottom:35px;right:18px}.arrival-card{grid-template-columns:1fr;width:calc(100% - 28px);margin-top:-21px;margin-bottom:24px}.arrival-card article{padding:25px 23px 21px;gap:13px}.arrival-card article+article{border-left:0;border-top:1px solid #e0d8c6}.arrival-card h2{font-size:24px}.arrival-label{font-size:11px;line-height:1.5}.arrival-dates{font-size:16px;display:block}.arrival-dates span{display:block}.arrival-areas{font-size:16px}.arrival-card a{font-size:15px}.arrival-card small{font-size:13px}.ribbon{font-size:14px;gap:10px 17px;padding:17px}.btn{font-size:14px;min-height:63px;min-width:170px;padding:18px 25px}.step-actions.split{align-items:flex-start}.method{min-height:135px}.mobile-bar button{min-width:140px}}
@media(max-width:360px){.header{padding:0 11px;gap:7px}.logo{font-size:21px}.logo>span:first-child{font-size:23px}.logo small{font-size:8px}.header-cta.cookie-button{min-width:120px;min-height:47px;font-size:11px;padding:11px 16px}.hero-inner{padding:32px 20px 65px}.hero h1{font-size:72px}.hero{min-height:650px}.arrival-card article{padding:24px 17px 20px;grid-template-columns:27px minmax(0,1fr);gap:10px}.arrival-icon svg{width:27px;height:27px}.arrival-card h2{font-size:22px}.arrival-card small{font-size:13px}.arrival-dates,.arrival-areas{font-size:15px}.step-panel{padding:22px}}
@media(prefers-reduced-motion:reduce){.cookie-button,.btn{transition:none}}

/* Toimitusvaiheen päivämäärä, hinta ja painikkeiden tilat. */
.delivery-schedule{border-left:4px solid #98203a;background:#fff5e4;padding:20px 24px;margin-bottom:26px;color:#173d30}
.delivery-schedule>span{font-size:13px;letter-spacing:.13em;font-weight:800;color:#872037}
.delivery-schedule h4{font-size:34px;line-height:1.1;letter-spacing:-.035em;color:#173d30;margin:9px 0}
.delivery-schedule p{font-size:19px;line-height:1.4;margin:0}
.delivery-schedule strong{font-size:27px;color:#872037;white-space:nowrap}
.delivery-address-note{font-size:16px;line-height:1.65;color:#344e3f;margin:0 0 18px}
.delivery-address-note strong{display:block;color:#173d30}
.choice-area select{width:100%;max-width:580px;min-height:54px;font-size:17px;font-weight:600;background-color:#fff;color:#173d30;border:2px solid #6c8874;border-radius:5px;padding:13px 12px}
.choice-area option,.choice-area optgroup{background:#fff;color:#173d30;font-weight:600}
.delivery-price{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 20px;background:#edf6ed;border:1px solid #abc4ad;border-radius:7px;padding:18px 20px;margin-top:18px}
.delivery-price>span{font-size:17px;font-weight:700;color:#173d30}
.delivery-price>strong{font-size:28px;line-height:1.15;color:#8d1830;white-space:nowrap}
.delivery-price p{grid-column:1/-1;font-size:15px;line-height:1.5;color:#344e3f;margin:0}
#delivery-minimum{font-size:16px;color:#173d30;margin-top:17px}
.action-help{font-size:15px;line-height:1.5;color:#344e3f;text-align:right;margin:25px 0 0}
.action-help+.step-actions{margin-top:12px}
.arrival-time{font-size:18px;font-weight:800;color:#872037;margin:0 0 10px}
.mobile-bar button:disabled{opacity:1;background:#e8ebe5;color:#344e3f;cursor:not-allowed}
@media(max-width:760px){.delivery-schedule{padding:18px;margin-bottom:23px}.delivery-schedule h4{font-size:30px}.delivery-schedule p{font-size:17px}.delivery-schedule strong{font-size:25px}.delivery-price{padding:16px;grid-template-columns:1fr}.delivery-price>strong{font-size:27px}.delivery-price>span{font-size:16px}.delivery-price p{font-size:15px}.choice-area select{font-size:16px;padding:13px 9px}.action-help{text-align:left}.action-help+.step-actions{justify-content:flex-start}}
