/* Happy Bark 1.3.11 — readable catalogue and checkout, preserving the brand. */
html { scroll-padding-top:100px; }
section[id], aside[id] { scroll-margin-top:100px; }
.hero-shop { padding:28px 0 38px; }
.hero-shop-grid { display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;overflow:hidden;border:3px solid var(--ink);border-radius:30px;background:var(--paper);box-shadow:var(--sh); }
.hero-shop-copy { padding:38px 34px 34px;position:relative;z-index:1; }
.hero-shop .eyebrow { margin:0 0 16px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#503174; }
.hero-shop h1 { margin:0 0 20px;font-size:clamp(32px,4.4vw,56px);line-height:1.13;letter-spacing:-.04em;color:#36214f; }
.hero-shop h1 span { color:var(--tom-d); }
.hero-shop .lead { max-width:480px;margin:0 0 22px;font-size:17px;line-height:1.7; }
.hero-shop-chips { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px; }
.hero-shop-chips span { padding:7px 10px;border:1.5px solid #e1d4bf;border-radius:9px;background:var(--cream);font-size:12px;font-weight:800; }
.hero-shop-actions { display:flex;align-items:center;flex-wrap:wrap;gap:16px; }
.hero-secondary { font-size:14px;font-weight:800;color:#36214f;text-underline-offset:4px;padding:10px 0; }
.hero-shop-grid { position:relative;z-index:1; }
.hero-shop::before { display:none; }
.hero-shop-price { margin:20px 0 12px;font-size:15px;line-height:1.6; }
.hero-shop-price b { white-space:nowrap; }
.hero-delivery { max-width:470px;margin:0;font-size:13px;line-height:1.7;color:#645244; }
.hero-delivery a { font-weight:800;text-underline-offset:3px; }
.hero-shop-art { position:relative;overflow:hidden;min-height:460px;background:#392152; }
.hero-shop-art img { position:absolute;left:-100%;top:0;width:200%;max-width:none;height:100%;object-fit:cover; }
.hero-art-sticker { position:absolute;right:18px;bottom:22px;max-width:240px;padding:13px 17px;border:2.5px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);background:var(--sun);font-weight:800;font-size:14px;transform:rotate(-4deg); }
.card-top { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px; }
.card-top .tag { margin-bottom:0; }
.card-kind { font-size:12px;font-weight:800;color:#645244; }
.card .card-perks { gap:10px;font-size:14px!important;line-height:1.6; }
.card .card-perks li { line-height:1.6!important; }
.card .card-features { font-size:14px;line-height:1.7; }
.card-delivery { margin:18px 0 15px;padding:13px 14px;background:var(--cream);border-radius:12px;font-size:13px;line-height:1.65; }
.card-delivery b, .card-delivery span { display:block; }
.card-delivery small { display:block;margin-top:3px;font-size:12px; }
.catalog-availability { max-width:850px;margin:26px auto 0;text-align:center;font-size:14px;line-height:1.7;color:#645244; }
footer .f-brand .logo { background:var(--sun);border-radius:14px;width:max-content;padding:4px 10px; }
.page-order .checkout-intro { max-width:680px;font-size:16px;line-height:1.7; }
.checkout-availability { margin:16px 0 22px;padding:14px 17px;border:2px solid #d9a71c;background:#fff0bc;border-radius:14px;font-size:14px;line-height:1.65; }
.checkout-availability a { font-weight:800; }
.page-order .cols { align-items:start;gap:28px; }
.page-order .panel { padding:24px; }
.page-order .panel h2 { font-size:21px;line-height:1.45; }
.page-order .panel .sub { font-size:14px;line-height:1.65; }
.page-order .field { min-width:0; }
.page-order .field label { font-size:14px;line-height:1.5; }
.page-order .field input, .page-order .field select, .page-order .field textarea { min-height:46px; }
.page-order .delivery-guide { margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.6; }
.delivery-guide span { padding:7px 10px;border:1.5px solid #e1d4bf;border-radius:9px;background:var(--cream); }
.delivery-guide small { flex-basis:100%;font-size:13px; }
.page-order .sum { padding:23px;background:#fff0b5; }
.page-order .sum h2 { font-size:22px; }
.page-order .sum .sub { font-size:13px;line-height:1.65; }
.checkout-dispatch, .checkout-price-note { font-size:13px;line-height:1.7; }
.page-order .sum .total { align-items:center;gap:12px;padding:16px 0; }
.page-order .sum .total b { font-size:28px;white-space:nowrap; }
.checkout-merchant-details { margin-top:18px;padding-top:16px;border-top:1.5px solid #d9bb68;font-size:12px;line-height:1.7;overflow-wrap:anywhere; }
.checkout-merchant-details a { font-weight:700; }
.checkout-legal { margin-top:16px;border-top:1.5px solid #d9bb68;padding-top:14px;font-size:13px;line-height:1.7; }
.checkout-legal summary { padding:4px 0;font-weight:800;cursor:pointer; }
.checkout-legal summary:focus-visible { outline:3px solid var(--ink);outline-offset:4px; }
.checkout-legal p { margin:12px 0; }
.checkout-mobile-total { display:none; }
.page-order .sticky { display:none; }
.menu-toggle, .mobile-menu-close { min-width:44px;min-height:44px; }
@media(min-width:1000px) and (min-height:1000px) { .page-order .sum { position:sticky;top:98px; } }
@media(max-width:920px) {
  .hero-shop-copy { padding:28px 24px; }
  .hero-shop-art { min-height:460px; }
  .hero-shop h1 { font-size:38px; }
  .hero-shop .lead { font-size:16px; }
}
@media(max-width:760px) {
  .hero-shop { padding:18px 0 28px; }
  .hero-shop-grid { grid-template-columns:1fr;border-radius:22px; }
  .hero-shop-copy { padding:26px 22px; }
  .hero-shop h1 { font-size:clamp(29px,7.5vw,43px);margin-bottom:16px; }
  .hero-shop .lead { margin-bottom:18px; }
  .hero-shop-chips { margin-bottom:20px;gap:6px; }
  .hero-shop-chips span { font-size:11px;padding:6px 8px; }
  .hero-shop-art { min-height:260px;border-top:3px solid var(--ink); }
  .hero-shop-art img { height:100%;object-fit:cover;object-position:center 42%; }
  .hero-art-sticker { font-size:13px;bottom:15px;right:16px;padding:10px 14px; }
  .hero-shop-actions .btn { font-size:14px;min-height:48px; }
  .card .card-perks { grid-template-columns:1fr;font-size:14px!important; }
  .card h3 { font-size:25px; }
  .catalog-availability { text-align:left;margin-top:22px; }
  .page-order { padding-bottom:60px; }
  .page-order .panel { padding:20px 17px; }
  .page-order .cols { gap:22px; }
  .page-order .sum { padding:22px 19px; }
  .page-order .order-tabs { display:flex;gap:8px; }
  .page-order .order-tabs a { flex:1;justify-content:center;padding:12px 8px;font-size:13px; }
  .checkout-mobile-total { display:block;position:fixed;bottom:0;left:0;right:0;z-index:45;background:var(--sun);border-top:2.5px solid var(--ink);padding-bottom:env(safe-area-inset-bottom); }
  .checkout-mobile-total a { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;color:var(--ink);text-decoration:none;min-height:55px;font-size:14px;font-weight:800; }
  .checkout-mobile-total b { margin-left:6px;font-family:var(--mono);font-size:17px; }
  .page-order .cookie-consent, .page-order .cookie-manage { bottom:calc(66px + env(safe-area-inset-bottom)); }
}
@media(max-width:390px) {
  .hero-shop-copy { padding:24px 18px; }
  .hero-shop-actions { gap:10px; }
  .hero-shop-actions .btn { width:100%; }
  .hero-shop-art { min-height:230px; }
  .page-order .grid2 { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hero-art-sticker { transform:none; } }

/* Progressive checkout: one open step, a persistent order summary. */
.page-order .checkout-head{padding-top:26px;padding-bottom:20px}
.page-order .checkout-head h1{font-size:clamp(27px,3.4vw,41px);line-height:1.15;max-width:820px;margin:0 0 20px}
.page-order .checkout-head .eyebrow{margin-bottom:8px}
.page-order .order-tabs{max-width:580px;margin:0 0 18px;padding:6px;border-radius:18px;box-shadow:none}
.page-order .order-tabs .btn{border:0;box-shadow:none;min-height:46px;padding:11px 15px;font-size:14px}
.page-order .checkout-progress{display:flex;gap:8px;list-style:none;padding:0;margin:0;max-width:580px}
.page-order .checkout-progress li{flex:1;padding:9px 7px;text-align:center;border:1.5px solid #d9ccb6;border-radius:12px;background:#fff;font-size:12px;font-weight:800;white-space:nowrap}
.page-order .checkout-progress .is-current{background:var(--sun);border-color:var(--ink)}
.page-order .checkout-progress .is-complete{background:#dcf2e7;border-color:#a6cbb6}
.page-order .checkout-cols{grid-template-columns:minmax(0,1fr) 370px;gap:26px;padding-bottom:50px}
.page-order .checkout-step{margin-bottom:14px;padding:0;overflow:hidden;background:#fffdf7;box-shadow:4px 4px 0 var(--ink);border-radius:22px}
.page-order .checkout-step h2{margin:0}
.page-order .checkout-step-toggle{display:flex;align-items:center;gap:10px;width:100%;border:0;background:#fff3c4;color:var(--ink);padding:18px 20px;text-align:left;cursor:pointer;font:800 19px/1.3 var(--display)}
.page-order .checkout-step-toggle .num{margin:0;flex-shrink:0;width:31px;height:31px;font-size:16px;line-height:31px}
.page-order .checkout-step-toggle .step-edit{margin-left:auto;font:700 12px/1.4 var(--body);text-decoration:underline;text-underline-offset:3px}
.page-order .checkout-step.is-current .step-edit{display:none}
.page-order .checkout-step.is-complete .checkout-step-toggle{background:#e6f4ec;padding-top:13px;padding-bottom:13px;font-size:16px}
.page-order .checkout-step-content{padding:20px}
.page-order .checkout-step-content>.hint:first-child{margin-top:0}
.page-order .checkout-step-toggle:focus-visible,.page-order .invoice-close:focus-visible{outline:3px solid var(--tom);outline-offset:-5px}
.page-order .checkout-step-content .pick{padding:12px;gap:10px;box-shadow:none;margin-bottom:9px}
.page-order .checkout-step-content .pick b{font-size:15px}
.page-order .checkout-step-content .pick span{font-size:12px}
.page-order .checkout-step-content .pick .p{font-size:15px}
.page-order .checkout-step-content .grid2{gap:12px}
.page-order .checkout-step-content .field{margin-bottom:11px}
.page-order .checkout-step-content .field>label{font-size:13px}
.page-order .checkout-step-content input,.page-order .checkout-step-content select,.page-order .checkout-step-content textarea{font-size:16px;min-height:44px;border-width:2px;padding:10px 12px}
.page-order .checkout-step-content textarea{min-height:66px}
.page-order .checkout-step-content .pick input,.page-order .checkout-step-content .check input{min-height:20px;padding:0}
.page-order .checkout-step-content .hint{font-size:13px;line-height:1.55;margin-bottom:14px}
.page-order .checkout-subheading{font-size:17px;margin:15px 0 10px}
.page-order .checkout-continue,.page-order .checkout-review{font-size:14px;min-height:46px;margin-top:10px;box-shadow:3px 3px 0 var(--ink);padding:12px 18px}
.page-order .checkout-review{display:flex;justify-content:center;text-align:center}
.page-order .account-existing-note{font-size:12px;line-height:1.55;margin:7px 0 0}
.page-order .account-existing-check{margin:10px 0 0;font-size:12px;align-items:center}
.page-order .breed-other{margin-top:11px}
.page-order .breed-other label{display:block;font-size:12px;margin-bottom:5px;font-weight:700}
.page-order #planPreview{display:none}
.page-order .delivery-type-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.page-order .delivery-type-options .pick{align-items:flex-start;margin-bottom:0;padding:10px}
.page-order .delivery-type-options .pick small{display:block;margin-top:3px;font-size:11px;line-height:1.4}
.page-order .delivery-type-options .pick input{margin-top:2px}
.page-order .courier-mini-help{font-size:12px;line-height:1.5;margin-top:6px}
.page-order .courier-picker-btn{padding:9px 10px;font-size:12px;min-height:44px;white-space:nowrap}
.page-order .pet{padding:15px;border-width:2px;margin-bottom:12px;background:#f0f8f4}
.page-order .pet-head h3{font-size:17px;margin:0}
.page-order .add{font-size:13px;padding:12px;min-height:44px}
.page-order .checkout-summary-column{position:sticky;top:104px;min-width:0}
.page-order .sum{position:static;padding:21px;max-height:calc(100dvh - 124px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;box-shadow:5px 5px 0 var(--ink)}
.page-order .sum h2{font-size:22px;margin:0 0 11px}
.page-order .sum .line{font-size:13px;padding:8px 0;line-height:1.45}
.page-order .sum .line span{min-width:0}
.page-order .sum .line small{display:block;font-size:11px;color:#66543f}
.page-order .sum .line b{white-space:normal;flex-shrink:0;max-width:45%;text-align:right}
.page-order .sum .total{margin-top:6px;padding:12px 0 3px}
.page-order .sum .total b{font-size:29px;white-space:normal;text-align:right}
.page-order .checkout-price-note{font-size:11px;margin:5px 0 12px;line-height:1.5;color:#66543f}
.page-order .checkout-dispatch{font-size:12px;line-height:1.55;margin:0 0 12px}
.page-order .sum .after{font-size:12px;line-height:1.5;margin:0 0 12px}
.page-order .sum .after:empty{display:none}
.page-order .checkout-promo,.page-order .checkout-promo[open]{margin:3px 0 14px;padding:0;border:0;border-top:1px solid #d8c68e;border-radius:0;background:transparent;box-shadow:none}
.page-order .checkout-promo>summary{min-height:0;padding:10px 24px 8px 0;font:700 12px/1.5 var(--body);color:#655238}
.page-order .checkout-promo>summary::after{right:2px;top:7px;font-size:20px;color:#655238}
.page-order .checkout-promo>summary:focus-visible{outline:2px solid var(--tom);outline-offset:3px;border-radius:4px}
.page-order .checkout-promo-content{padding:2px 0 3px;max-width:320px}
.page-order .checkout-promo-content>label{font:700 11px/1.5 var(--body);margin:0 0 5px;color:#655238}
.page-order .checkout-promo-row{display:flex;align-items:center;gap:7px;min-width:0}
.page-order #hbPromoCode{width:0;min-width:0;flex:1;height:38px;padding:8px 10px;border:1px solid #bca987;border-radius:8px;background:#fffdf7;font:400 14px/1.4 var(--body);text-transform:uppercase;box-shadow:none}
.page-order #hbPromoCode:focus{border-color:var(--tom);outline:2px solid #b3291240;outline-offset:1px}
.page-order #hbPromoCode[aria-invalid=true]{border-color:#a52a1b}
.page-order .checkout-promo-apply{flex:0 0 auto;width:auto;min-width:70px;height:38px;padding:0 10px;border:1px solid #bca987;border-radius:8px;background:#fffaf0;color:#493822;font:800 12px/1.4 var(--body);cursor:pointer;box-shadow:none}
.page-order .checkout-promo-apply:hover{background:#fff4d5}
.page-order .checkout-promo-apply:disabled{opacity:.6;cursor:wait}
.page-order .checkout-promo-apply:focus-visible,.page-order .checkout-promo-remove:focus-visible{outline:2px solid var(--tom);outline-offset:3px}
.page-order #hbPromoResult{margin:7px 0 0;padding:0;font:400 11px/1.65 var(--body);color:#655238;overflow-wrap:anywhere}
.page-order #hbPromoResult:empty{display:none}
.page-order #hbPromoResult[data-state=bad]{color:#a52a1b}
.page-order #hbPromoResult[data-state=ok]{color:#306329}
.page-order .checkout-promo-remove{display:block;margin:3px 0 0;padding:6px 0;border:0;background:none;color:#655238;font:700 11px/1.4 var(--body);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.page-order .checkout-promo-remove[hidden]{display:none}
.page-order .cookie-manage{left:auto;right:12px;width:44px;height:44px;padding:0;justify-content:center;border-radius:50%}
.page-order .cookie-manage>span:last-child{display:none}
@media(max-width:840px){.page-order .checkout-promo>summary{min-height:44px;padding-top:12px;padding-bottom:12px}.page-order .checkout-promo>summary::after{top:10px}.page-order #hbPromoCode{height:44px;font-size:16px}.page-order .checkout-promo-apply{height:44px}.page-order .checkout-promo-remove{min-height:44px;padding-top:10px;padding-bottom:10px}}
.page-order .checkout-consents{padding-top:12px;border-top:1.5px dashed #bb9a4a}
.page-order .checkout-consents .check{gap:8px;font-size:12px;line-height:1.5;margin-bottom:11px}
.page-order .checkout-consents .check input{width:18px;height:18px;min-height:18px;margin-top:1px}
.page-order .checkout-consents .check a{text-underline-offset:2px;font-weight:700}
.page-order .invoice-edit{font:700 12px var(--body);color:var(--ink);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;margin:0 0 12px 26px;padding:3px 0;min-height:32px}
.page-order .checkout-ready-note{font-size:11px;line-height:1.5;color:#66543f;margin:7px 0 10px}
.page-order .sum .payment-unavailable{font-size:12px;line-height:1.5;padding:10px;margin:8px 0;background:#fff4d8;border-radius:10px}
.page-order #placeOrder{margin:0;font-size:17px;min-height:48px;box-shadow:3px 3px 0 var(--ink)}
.page-order #placeOrder:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}
.page-order .checkout-brand{display:block;max-width:145px;width:42%;height:auto;max-height:48px;object-fit:contain;margin:15px auto 0}
.page-order .checkout-summary-close{display:none}
.page-order .invoice-modal{width:min(600px,calc(100% - 28px));padding:24px;border:3px solid var(--ink);border-radius:24px;box-shadow:6px 6px 0 var(--ink);background:#fffdf7;color:var(--ink);max-height:calc(100dvh - 40px);overflow:auto}
.page-order .invoice-modal::backdrop{background:rgba(37,24,53,.6)}
.page-order .invoice-modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.page-order .invoice-modal-head h2{font-size:24px;margin:0}
.page-order .invoice-close{width:44px;height:44px;flex-shrink:0;border:2px solid var(--ink);border-radius:12px;background:var(--sun);font:28px var(--body);cursor:pointer}
.page-order .invoice-cancel{font:700 13px var(--body);border:0;background:none;color:var(--ink);text-decoration:underline;min-height:44px;margin-left:15px;cursor:pointer}
.page-order #saveInvoice{font-size:14px;min-height:46px;padding:11px 16px}
@media(max-width:980px){
  .page-order .checkout-cols{grid-template-columns:minmax(0,1fr) 340px;gap:18px}
  .page-order .checkout-step-content{padding:16px}
  .page-order .sum{padding:18px}
}
@media(max-width:840px){
  .page-order{padding-bottom:70px}
  .page-order .checkout-cols{grid-template-columns:1fr;gap:18px;padding-bottom:24px}
  .page-order .checkout-head{padding-top:20px;padding-bottom:18px}
  .page-order .checkout-head h1{font-size:29px;margin-bottom:16px}
  .page-order .order-tabs{max-width:none;display:flex;gap:5px}
  .page-order .order-tabs .btn{padding:11px 7px;flex:1;justify-content:center;font-size:13px}
  .page-order .checkout-progress{max-width:none;gap:6px}
  .page-order .checkout-progress li{font-size:11px;padding:8px 3px}
  .page-order .checkout-summary-column{position:static}
  .page-order .sum{max-height:none;overflow:visible;padding:20px}
  .page-order .checkout-step-toggle{font-size:17px;padding:15px}
  .page-order .checkout-step-toggle .num{width:28px;height:28px;line-height:28px;font-size:14px}
  .page-order .checkout-step-content{padding:16px}
  .page-order .checkout-step-content .grid2{grid-template-columns:1fr 1fr;gap:10px}
  .page-order .checkout-step-content .field input,.page-order .checkout-step-content .field select{padding-left:9px;padding-right:9px}
  .page-order .checkout-continue,.page-order .checkout-review{width:100%;justify-content:center;text-align:center;padding-left:10px;padding-right:10px;font-size:13px}
  .page-order .checkout-mobile-total{display:block}
  .page-order .checkout-mobile-total a{padding:12px 17px;min-height:58px}
  .page-order .checkout-mobile-total span:first-child{font-size:13px}
  .page-order .cookie-consent,.page-order .cookie-manage{bottom:calc(68px + env(safe-area-inset-bottom))}
  .page-order.summary-mobile-open{overflow:hidden}
  .page-order.summary-mobile-open .checkout-summary-column{position:fixed;inset:78px 12px calc(74px + env(safe-area-inset-bottom));z-index:100}
  .page-order.summary-mobile-open .sum{height:100%;overflow:auto;overscroll-behavior:contain;box-shadow:none}
  .page-order.summary-mobile-open .checkout-summary-close{display:flex;position:sticky;float:right;top:0;align-items:center;justify-content:center;width:38px;height:38px;background:#fff;border:2px solid var(--ink);border-radius:11px;font-size:24px;cursor:pointer;z-index:1}
  .page-order.summary-mobile-open .checkout-summary-backdrop{position:fixed;inset:0;background:rgba(37,24,53,.6);z-index:99}
}
@media(max-width:370px){
  .page-order .checkout-step-content .grid2{grid-template-columns:1fr}
  .page-order .checkout-step-content{padding:13px}
  .page-order .checkout-step-toggle{font-size:16px;padding:13px}
  .page-order .delivery-type-options .pick{gap:7px;padding:8px}
  .page-order .checkout-progress li{font-size:10px}
  .page-order .invoice-modal{padding:18px}
  .page-order .invoice-modal .grid2{grid-template-columns:1fr}
}
.page-order #officeCodeField{display:none}
.page-order .delivery-terms-link{margin-top:15px}
.page-order .checkout-note{border:0;border-bottom:1.5px dashed #d9ccb6;margin:0 0 12px}
.page-order .checkout-note summary{padding:8px 25px 8px 0;font-size:12px;font-family:var(--body)}
.page-order .checkout-note summary::after{top:2px;font-size:23px}
.page-order .checkout-note .field{margin-top:7px}
@media(max-width:840px){
  .page-order.checkout-ready .checkout-summary-column{display:none}
  .page-order.summary-mobile-open .checkout-summary-column{display:block}
}

/* Saved accounts, typed breed/city suggestions and an explicit puppy box choice. */
.page-order .checkout-account-access{margin:0 0 13px}
.page-order .checkout-login{border:0;padding:0 0 4px;background:none;color:var(--ink);font:700 14px var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:38px}
.page-order .checkout-account-state{display:flex;align-items:center;gap:10px;background:#e7f4df;border:2px solid var(--ink);border-radius:12px;padding:12px;margin:0 0 13px;font-size:13px}
.page-order .checkout-account-state[hidden],.page-order .checkout-account-access[hidden],.page-order .checkout-new-passwords[hidden],.page-order .checkout-saved-pets[hidden],.page-order .checkout-pet-use[hidden]{display:none}
.page-order .checkout-account-state>span{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1.5px solid var(--ink);border-radius:50%;background:#badd97;font-weight:900}
.page-order .checkout-account-state>div{min-width:0;flex:1;overflow-wrap:anywhere}
.page-order .checkout-account-state small{display:block;margin-top:3px;font-size:11px}
.page-order .checkout-account-state a{font-size:12px;white-space:nowrap;text-underline-offset:3px}
.page-order .checkout-saved-pets{margin:0 0 16px;padding:13px;background:#fff9e6;border:2px solid var(--ink);border-radius:12px}
.page-order .checkout-saved-pets>label{display:block;font-weight:700;font-size:13px;margin:0 0 7px}
.page-order .checkout-saved-pets select{width:100%;padding:10px 12px;font:400 16px var(--body);min-height:44px;border:2px solid var(--ink);border-radius:10px;background:#fff;max-width:100%}
.page-order .checkout-saved-pets .hint{font-size:12px;margin:9px 0 0}
.page-order .checkout-pet-use{margin:9px 0 0;background:var(--ink);color:#fff;border:0;border-radius:8px;padding:10px 12px;font:700 12px var(--body);min-height:42px;cursor:pointer}
.page-order .puppy-choice-modal{width:min(545px,calc(100% - 24px));max-height:calc(100dvh - 28px);overflow:auto;border:3px solid var(--ink);border-radius:24px;padding:24px;background:#fff9e9;box-shadow:6px 6px 0 var(--ink);color:var(--ink);text-align:center}
.page-order .puppy-choice-modal::backdrop{background:rgba(37,24,53,.64)}
.page-order .puppy-choice-modal h2{font-size:clamp(20px,4.8vw,27px);line-height:1.2;margin:12px 0 14px;overflow-wrap:anywhere}
.page-order .puppy-choice-modal p{font-size:14px;line-height:1.65;margin:0 0 18px}
.page-order .puppy-choice-modal .hint{font-size:12px;margin:17px 0 0}
.page-order .puppy-choice-icon{display:grid;place-items:center;font-size:36px;width:66px;height:66px;margin:auto;border-radius:50%;background:#dcebc8;border:2px solid var(--ink)}
.page-order .puppy-choice-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.page-order .puppy-choice-buttons .btn{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:66px;font-size:17px;padding:12px;box-shadow:3px 3px 0 var(--ink)}
.page-order .puppy-choice-buttons small{font:400 12px var(--body)}
.page-order .pet-box-fallback{border:2px solid var(--ink);border-radius:10px;margin:10px 0;padding:12px;font-size:12px}
.page-order .pet-box-fallback label{display:block;margin:10px 0}
.page-order .pet-box-fallback input{min-height:16px;margin-right:5px}
@media(max-width:480px){
  .page-order .checkout-account-state{align-items:flex-start;flex-wrap:wrap}
  .page-order .checkout-account-state a{margin-left:35px;width:100%}
  .page-order .puppy-choice-modal{padding:20px 15px;border-radius:20px}
  .page-order .puppy-choice-buttons{gap:9px}
  .page-order .puppy-choice-buttons .btn{font-size:16px;padding:11px 7px}
}

.page-order .puppy-choice-icon svg{display:block;width:37px;height:37px;fill:var(--ink)}

/* Searchable courier offices and lockers, kept within the visible viewport. */
.page-order .courier-search-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.page-order .courier-picker-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border:2px solid var(--ink);border-radius:11px;box-shadow:2px 2px 0 var(--ink);background:#e7f2da;color:var(--ink);font:800 12px/1.25 var(--body);min-height:46px;white-space:nowrap}
.page-order .courier-picker-btn:hover{background:#d9eac5;transform:none;box-shadow:2px 2px 0 var(--ink)}
.page-order .courier-picker-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.page-order .courier-picker-btn[hidden],.page-order .courier-selected[hidden],.page-order .courier-picker-status[hidden],.page-order .courier-picker-fallback[hidden],.page-order .courier-picker-fallback button[hidden],.courier-office-popup[hidden]{display:none!important}
.page-order .courier-picker-btn:focus-visible,.page-order .courier-picker-fallback button:focus-visible,.page-order .courier-picker-fallback a:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}
.page-order .courier-selected{margin-top:10px;padding:11px 12px;border-width:1.5px;border-color:#75a58b;background:#eef7ef}
.page-order .courier-selected>div{min-width:0;overflow-wrap:anywhere}
.page-order .courier-selected>span{flex-shrink:0;background:#397854}
.page-order .courier-selected b{font-size:12px}
.page-order .courier-selected small{font-size:12px;margin-top:3px;line-height:1.5}
.page-order .courier-picker-status{font-size:12px;line-height:1.55;color:#685743;margin:7px 0 0;overflow-wrap:anywhere}
.page-order .courier-picker-status[data-state="loading"]{display:flex;align-items:center;gap:7px}
.page-order .courier-picker-status[data-state="loading"]::before{content:"";width:12px;height:12px;border:2px solid #dacbab;border-top-color:#4e7554;border-radius:50%;animation:courier-list-loading .8s linear infinite;flex-shrink:0}
.page-order .courier-picker-status[data-state="error"]{color:#9b3535}
.page-order .courier-picker-fallback{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:8px;padding:9px 0;border-top:1px dashed #d5c5ad}
.page-order .courier-picker-fallback button,.page-order .courier-picker-fallback a{border:0;background:none;padding:5px 0;min-height:34px;font:700 12px/1.4 var(--body);color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-align:left}
.page-order #officeCodeField.is-postal{display:block}
.page-order #officeCodeField[hidden]{display:none!important}
.courier-office-popup{position:fixed;inset:auto;z-index:150;margin:0;padding:6px;max-width:calc(100vw - 16px);border:2px solid #6b5e47;border-radius:15px;background:#fffdf7;box-shadow:0 12px 34px rgba(36,27,20,.2),0 3px 0 rgba(36,27,20,.11);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;animation:courier-list-appear .15s ease-out;font-family:var(--body);color:var(--ink)}
.courier-office-popup .courier-suggest-message{position:sticky;top:-6px;z-index:1;background:#fffdf7;padding:9px 9px 10px;margin:-1px 0 4px;border-bottom:1px solid #e9ddcb;font-size:11px;line-height:1.45;color:#6d604b;overflow-wrap:anywhere}
.courier-office-popup .courier-suggest-item{display:flex;align-items:flex-start;gap:9px;padding:10px 8px;min-height:61px;margin:2px 0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink);width:100%;text-align:left;font:inherit;cursor:pointer}
.courier-office-popup .courier-suggest-item:hover,.courier-office-popup .courier-suggest-item[aria-selected="true"]{background:#fff0bb;border-color:#e2c676}
.courier-office-popup .courier-option-icon{display:grid;place-items:center;flex-shrink:0;width:31px;height:31px;border-radius:8px;background:#edf1e5;color:#48774d}
.courier-office-popup .courier-option-icon svg{display:block;width:20px;height:20px;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.courier-office-popup .courier-option-copy{display:block;min-width:0;flex:1;overflow-wrap:anywhere}
.courier-office-popup .courier-option-copy b{font-size:12px;line-height:1.4;font-weight:800}
.courier-office-popup .courier-option-copy small{display:block;font-size:11px;line-height:1.5;margin-top:3px;color:#62553f}
.courier-office-popup .courier-option-type{display:inline-block;font-size:9px;font-weight:700;line-height:1.4;background:#edf3e4;color:#4b6547;padding:2px 6px;border-radius:5px;margin-top:5px}
@keyframes courier-list-appear{from{opacity:0}to{opacity:1}}
@keyframes courier-list-loading{to{transform:rotate(360deg)}}
@media(max-width:390px){.page-order .courier-search-wrap{grid-template-columns:minmax(0,1fr) 44px}.page-order .courier-picker-btn{padding:10px 8px}.page-order .courier-picker-btn>span{display:none}.courier-office-popup .courier-suggest-item{padding-left:5px;padding-right:5px;gap:7px}}
@media(prefers-reduced-motion:reduce){.courier-office-popup,.page-order .courier-picker-status[data-state="loading"]::before{animation:none}}
