.shop{--shop-line:color-mix(in srgb,currentColor 18%,transparent);max-width:1200px;margin:0 auto;padding:32px 24px 72px;width:100%;line-height:1.6;font-size:16px;color:inherit}.shop *,.shop-editor *{box-sizing:border-box}.shop h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15;margin:16px 0 24px;letter-spacing:-.025em}.shop h2{font-size:1.3rem;line-height:1.3;margin:12px 0}.shop h3{font-size:1.1rem;font-weight:650}.shop a{text-decoration:underline;text-underline-offset:3px}.shop p{margin:10px 0}.shop input,.shop select,.shop textarea{display:block;width:100%;border:1px solid var(--shop-line);background:transparent;color:inherit;padding:10px 12px;border-radius:6px;font:inherit;min-height:44px}.shop select option{color:#151515;background:white}.shop label{display:block;font-weight:550;margin:12px 0}.shop button,.shop-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid currentColor;border-radius:6px;background:transparent;color:inherit;font:inherit;cursor:pointer;text-decoration:none!important}.shop button:disabled{opacity:.5;cursor:not-allowed}.shop button:hover,.shop-button:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.shop :focus-visible{outline:2px solid currentColor;outline-offset:3px}.shop-bar,.shop-tabs,.shop-actions,.shop-pagination{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.shop-tabs{justify-content:flex-start;margin:16px 0 24px}.shop-tabs a{padding:10px 14px;border-bottom:2px solid transparent}.shop-tabs [aria-current]{border-color:currentColor;font-weight:700}.shop-currency{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:20px}.shop-currency label{display:flex;align-items:center;gap:8px;margin:0}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.shop-card{min-width:0;border-bottom:1px solid var(--shop-line);padding-bottom:24px}.shop-card a{text-decoration:none}.shop-card img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.shop-card p{overflow-wrap:anywhere}.shop-price{font-size:1.35rem;font-weight:650;font-variant-numeric:tabular-nums}.shop-muted{display:block;font-size:.88rem;opacity:.8}.shop-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.shop-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shop-gallery a:first-child{grid-column:1/-1}.shop-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.shop-intro{font-size:1.1rem}.shop-quantity{display:flex;align-items:center;max-width:260px;margin-top:6px}.shop-quantity input{min-width:0;text-align:center;border-radius:0;font-variant-numeric:tabular-nums}.shop-quantity button{flex:0 0 44px;padding:6px}.shop-option{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--shop-line)}.shop-option>img{object-fit:cover;flex:0 0 80px;width:80px;height:80px}.shop-option>div{min-width:0;flex:1}.shop-buy{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}.shop-buy output{font-size:1.25rem;font-weight:650}.shop-description{max-width:760px;margin-top:40px;overflow-wrap:anywhere}.shop .shop-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.8125rem;line-height:1.5;margin:0 0 24px;padding:0 0 12px;border-bottom:1px solid var(--shop-line)}.shop .shop-breadcrumb a{display:inline-flex;align-items:center;min-height:32px;text-decoration:none;font-weight:400}.shop .shop-breadcrumb a:hover{text-decoration:underline}.shop-breadcrumb-separator{opacity:.45}.shop-breadcrumb [aria-current="page"]{min-width:0;overflow-wrap:anywhere;font-weight:500}.shop details{border-top:1px solid var(--shop-line);padding:16px 0}.shop summary{cursor:pointer;min-height:32px}.shop-cart-line{padding:20px 0;border-top:1px solid var(--shop-line)}.shop-cart-line form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.shop-cart-line label{margin:0}.shop-summary{margin:24px 0;border-block:1px solid var(--shop-line);padding:16px 0}.shop-summary p{display:flex;justify-content:space-between;gap:20px}.shop-summary strong{white-space:nowrap}.shop-checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.shop .shop-check{font-weight:400}.shop .shop-check input{display:inline-block;width:20px;min-height:20px;margin-right:8px}.shop-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shop-repeat{border:1px solid #d9dce0;border-radius:8px;padding:16px;margin:16px 0;min-width:0}.shop-repeat legend{padding:0 6px;font-weight:650}.shop-checks{display:flex;flex-wrap:wrap;gap:12px 24px}.shop-editor details{margin-block:16px}.shop-editor summary{cursor:pointer;font-weight:600}.shop-editor .panel{min-width:0}.shop [role=alert]{border-left:3px solid currentColor;padding:12px}.shop-category{max-width:1200px;margin:24px auto;padding:0 24px}.shop-category .shop-grid{margin:20px 0}.shop-category h2{font-size:1.3rem}.shop-category .shop-card{border-color:currentColor}@media(max-width:800px){.shop-product,.shop-checkout{grid-template-columns:1fr;gap:24px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.shop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-gallery{max-width:600px}.shop-buy{position:sticky;bottom:0;background:var(--color-bg-page,#fff);color:var(--color-text-main,#161616);padding:12px 8px calc(12px + env(safe-area-inset-bottom));z-index:5;border-top:1px solid var(--shop-line)}}@media(max-width:480px){.shop{padding:20px 16px 64px}.shop-grid,.shop-fields{grid-template-columns:1fr}.shop-currency{justify-content:flex-start}.shop-summary p{gap:10px}.shop-summary .shop-price{font-size:1.12rem}.shop-checkout{gap:20px}.shop-tabs{gap:0}.shop-tabs a{padding:10px}.shop-option{gap:10px}.shop-option>img{width:60px;height:60px;flex-basis:60px}.shop-actions>*{width:100%}}@media print{header,footer,.shop-bar,.shop button{display:none!important}.shop{max-width:none;color:#374151;background:#fff}}
.shop-image-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-height:460px;overflow:auto}.shop-image-choice{border:1px solid #d9dce0;padding:8px;border-radius:6px;min-width:0}.shop-image-choice img{width:100%;height:100px;object-fit:contain}.shop-image-choice span{display:block;overflow-wrap:anywhere;font-size:.8rem}.shop-image-choice button{padding:5px 12px}.shop-image-choice label{cursor:pointer}
.shop h1,.shop h2,.shop h3,.shop-buy output{overflow-wrap:anywhere;min-width:0}.shop-summary p>span:first-child{min-width:0;overflow-wrap:anywhere}.shop-buy button{flex-shrink:0}

.shop-gallery > a { cursor: zoom-in; }
html.shop-lightbox-open { overflow: hidden; }
.shop .shop-lightbox { position: fixed; inset: 0; margin: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; padding: 0; border: 0; border-radius: 0; background: transparent; color: #fff; overflow: hidden; }
.shop .shop-lightbox[open] { display: grid; place-items: center; }
.shop-lightbox::backdrop { background: rgb(5 10 16 / 86%); backdrop-filter: blur(8px); }
.shop-lightbox-frame { width: fit-content; max-width: calc(100vw - 128px); }
.shop .shop-lightbox-frame img { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 112px); aspect-ratio: auto; object-fit: contain; border: 0; border-radius: 0; box-shadow: none; }
.shop .shop-lightbox button { position: absolute; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: rgb(255 255 255 / 10%); color: #fff; font-size: 32px; line-height: 1; }
.shop .shop-lightbox button:hover { background: rgb(255 255 255 / 20%); }
.shop .shop-lightbox button[hidden] { display: none; }
.shop-lightbox-close { top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); }
.shop-lightbox-prev { left: 16px; top: calc(50% - 24px); }
.shop-lightbox-next { right: 16px; top: calc(50% - 24px); }
.shop-lightbox-counter { position: absolute; bottom: max(26px, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); font-size: 14px; font-variant-numeric: tabular-nums; color: rgb(255 255 255 / 80%); }
@media (max-width: 600px) {
  .shop-lightbox-frame { max-width: calc(100vw - 24px); }
  .shop-lightbox-prev, .shop-lightbox-next { top: auto; bottom: max(16px, env(safe-area-inset-bottom)); }
  .shop-lightbox-prev { left: calc(50% - 100px); }
  .shop-lightbox-next { right: calc(50% - 100px); }
}

/* Storefront hierarchy and precise quantity controls. */
.shop-product > div { min-width: 0; }
.shop-product h1 { margin-top: 0; overflow-wrap: anywhere; }
.shop-intro { color: var(--color-text-muted,inherit); line-height: 1.65; }
.shop-price { line-height: 1.35; letter-spacing: -.015em; }
.shop-product .shop-price { font-size: clamp(1.6rem,3vw,2rem); margin-bottom: 4px; }
.shop-muted { color: var(--color-text-muted,inherit); opacity: 1; line-height: 1.5; }
.shop-quantity-field { margin: 16px 0 8px; }
.shop .shop-quantity-field label { margin: 0 0 6px; font-size: .95rem; }
.shop-quantity { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; gap: 0; width: 144px; max-width: 100%; margin: 0; border: 1px solid var(--shop-line); border-radius: 999px; background: var(--color-bg-input,transparent); }
.shop-quantity input { height: 44px; padding: 8px 0; border: 0; border-radius: 0; background: transparent; font-weight: 650; }
.shop-quantity button { width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 999px; font-size: 1.2rem; font-weight: 650; line-height: 1; touch-action: manipulation; }
.shop-quantity input:focus-visible { outline-offset: -3px; border-radius: 6px; }
.shop-option h3 { margin: 0 0 6px; line-height: 1.35; }
.shop-option p { margin: 6px 0; }
.shop-buy { margin-top: 20px; border-top: 1px solid var(--shop-line); }
.shop-buy-total { min-width: 0; }
.shop-buy output { display: block; line-height: 1.35; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.shop-buy > button { flex: none; background: var(--color-primary); color: var(--color-primary-fg); border-color: var(--color-primary); font-weight: 650; }
.shop-buy > button:hover { background: color-mix(in srgb,var(--color-primary) 90%,var(--color-text-main)); }
.shop-description { margin-top: 16px; line-height: 1.75; }
.shop-description > h2 { margin-top: 0; }
.shop-summary p > :first-child { min-width: 0; overflow-wrap: anywhere; }
@media(max-width:480px) { .shop-buy { gap: 12px; }.shop-buy output { font-size: 1.1rem; }.shop-buy > button { padding-inline: 14px; } }

.shop-option{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:start}.shop .shop-option>details{border:0;padding:0;min-width:0}.shop-option summary{display:flex;align-items:center;gap:8px;list-style:none}.shop-option summary::-webkit-details-marker{display:none}.shop-option summary::before{content:"›";flex:none;font-size:1.25rem}.shop-option details[open] summary::before{transform:rotate(90deg)}.shop-option summary img{width:48px;height:48px;flex:none;object-fit:cover}.shop-option-title{min-width:0;overflow-wrap:anywhere;line-height:1.35}.shop-option-title strong{display:block;font-size:.95rem}.shop-option-price{display:block;font-size:.8rem;margin-top:4px}.shop-option-description{overflow-wrap:anywhere}.shop-option-description p{white-space:normal}.shop-option .shop-quantity-field{min-width:0}.shop-option .shop-quantity-field>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shop-option .shop-quantity{margin:2px 0 0;max-width:120px}.shop-option .shop-quantity button{flex-basis:34px;min-height:44px;padding:4px}.shop-option .shop-quantity input{padding:4px 2px;font-size:.9rem}.shop-editor .shop-option-editor>summary{overflow-wrap:anywhere}.shop-option-editor[open]>summary{margin-bottom:16px}@media(max-width:480px){.shop-option{gap:8px;grid-template-columns:minmax(0,1fr) 108px}.shop-option summary{gap:6px}.shop-option summary img{width:36px;height:36px}.shop-option .shop-quantity button{flex-basis:30px}}

.shop-option-order{display:inline-flex;gap:6px;margin-left:12px;vertical-align:middle}.shop-option-order button{min-width:44px;min-height:44px}

.shop [hidden]{display:none!important}.shop-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 32px;padding:0}.shop-steps li{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:2px solid var(--shop-line);font-size:.9rem}.shop-steps li[aria-current]{border-color:currentColor;font-weight:650}.shop-steps li>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border:1px solid var(--shop-line);border-radius:50%;font-variant-numeric:tabular-nums}.shop-cart-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:32px}.shop-cart-bottom section{min-width:0}.shop-cart-bottom input[name=postal]{max-width:220px}.shop-cart-bottom form button{margin-top:12px}.shop-summary{margin-top:0}.shop-summary h3{margin:20px 0 8px}.shop-summary h3:first-child{margin-top:0}.shop-summary .shop-price{padding-top:16px;border-top:1px solid var(--shop-line)}.shop-summary p span:first-child{min-width:0;overflow-wrap:anywhere}.shop-summary p span:last-child{font-variant-numeric:tabular-nums}.shop-cart-blocked{border-left:3px solid currentColor;padding-left:16px;background:color-mix(in srgb,currentColor 4%,transparent)}.shop [aria-disabled=true]{opacity:.5;cursor:not-allowed}.shop-checkout form{min-width:0}.shop-checkout textarea{min-height:100px}.shop-checkout button{width:100%;margin-top:12px}.shop-check input{vertical-align:middle}.shop-steps a{color:inherit}@media(max-width:800px){.shop-cart-bottom{grid-template-columns:1fr;gap:24px}}@media(max-width:480px){.shop-steps{gap:8px}.shop-steps li{align-items:flex-start;flex-direction:column;font-size:.8rem;line-height:1.4}.shop-summary strong{white-space:normal;text-align:right}}

.shop-checkout-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.shop-checkout-heading h1{margin:6px 0}.shop-eyebrow{font-size:.75rem;letter-spacing:.12em;opacity:.7}.shop-checkout-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:56px;align-items:start}.shop-checkout-main{min-width:0}.shop-checkout-aside{min-width:0;position:sticky;top:24px;background:color-mix(in srgb,var(--color-text-main,currentColor) 4%,var(--color-bg-page,#fff));border:1px solid var(--shop-line);padding:28px;border-radius:12px}.shop-checkout-aside>h2{margin:0 0 24px;padding-bottom:18px;border-bottom:1px solid var(--shop-line)}.shop-checkout-aside .shop-summary{border:0;padding:0}.shop-customer-form>h2:first-of-type{margin-top:0}.shop-customer-form label{font-size:.92rem;margin:18px 0}.shop-customer-form input,.shop-customer-form select{margin-top:7px;min-height:52px;background:var(--color-bg-page,#fff)}.shop-customer-choice{padding:16px 0;border-block:1px solid var(--shop-line)}.shop-company-fields{min-width:0;margin:20px 0;padding:16px 20px;border:1px solid var(--shop-line);border-radius:8px}.shop-company-fields legend{font-weight:600;padding:0 8px;font-size:.9rem}.shop-form-section{margin-top:32px!important}.shop-address-row{display:grid;grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr);gap:18px}.shop-muted-inline{font-size:.82rem;font-weight:400;opacity:.7}.shop .shop-primary{background:var(--color-text-main,#161616);color:var(--color-bg-page,#fff);border-color:transparent;min-height:52px;font-weight:600}.shop .shop-primary:hover{opacity:.9}.shop-order-review{margin-top:32px;padding-top:24px;border-top:1px solid var(--shop-line)}@media(max-width:800px){.shop-checkout-layout{grid-template-columns:1fr;gap:28px}.shop-checkout-aside{position:static;padding:24px}.shop-checkout-heading{margin-bottom:24px}}@media(max-width:480px){.shop-checkout-heading{align-items:flex-start;gap:12px}.shop-checkout-heading>a{font-size:.85rem;padding-top:8px}.shop-address-row{grid-template-columns:1fr;gap:0}.shop-company-fields{padding:12px 16px}.shop-checkout-aside{padding:20px}}

.shop-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:28px;align-items:start}.shop-cart-items{display:grid;gap:12px;min-width:0}.shop-cart-items .shop-cart-line{padding:18px;border:1px solid var(--shop-line);border-radius:10px;background:color-mix(in srgb,currentColor 2%,transparent);min-width:0}.shop-cart-item-heading{display:flex;align-items:flex-start;gap:12px}.shop-cart-item-heading h2{flex:1;min-width:0;font-size:1.05rem;line-height:1.4;margin:0;overflow-wrap:anywhere}.shop-cart-item-number{flex:0 0 28px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:color-mix(in srgb,currentColor 8%,transparent);font-size:.8rem;font-weight:600}.shop-cart-item-price{font-size:1.05rem;white-space:nowrap;font-variant-numeric:tabular-nums}.shop .shop-cart-item-meta{font-size:.82rem;opacity:.75;margin:6px 0 12px 40px}.shop-cart-options{list-style:none;margin:10px 0 16px 40px;padding:0;display:grid;gap:5px;font-size:.85rem}.shop-cart-options li{display:flex;gap:12px;justify-content:space-between}.shop-cart-options li span:first-child{overflow-wrap:anywhere;min-width:0}.shop-cart-options li span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.shop-cart-line .shop-cart-controls{display:flex;align-items:end;gap:10px;padding-top:12px;border-top:1px solid var(--shop-line)}.shop-cart-controls .shop-quantity{max-width:170px;margin-top:4px}.shop-cart-controls .shop-quantity-field>label{font-size:.75rem;opacity:.8}.shop-cart-controls .shop-quantity button{border-color:var(--shop-line);border-radius:6px 0 0 6px}.shop-cart-controls .shop-quantity button:last-child{border-radius:0 6px 6px 0}.shop-cart-controls .shop-cart-update{border-color:var(--shop-line);background:color-mix(in srgb,currentColor 6%,transparent);font-size:.85rem;padding-inline:12px}.shop-cart-controls .shop-cart-remove{margin-left:auto;gap:6px;border-color:transparent;font-size:.85rem;padding-inline:10px;opacity:.8}.shop-cart-remove>span{font-size:1.35rem;line-height:1}.shop-cart-remove:hover{opacity:1}.shop-cart-aside{position:sticky;top:24px;min-width:0;border:1px solid var(--shop-line);border-radius:10px;padding:22px;background:color-mix(in srgb,var(--color-text-main,currentColor) 4%,var(--color-bg-page,#fff))}.shop-cart-aside>h2{font-size:1.1rem;margin:0}.shop-cart-total{border:0;margin:14px 0;padding:0}.shop-cart-total .shop-price{margin-bottom:6px;font-size:1.2rem}.shop-cart-aside>.shop-button{width:100%;font-size:.9rem}.shop-cart-aside .shop-muted{font-size:.8rem}.shop-cart-items .shop-cart-line:focus-within{border-color:currentColor}@media(max-width:900px) and (min-width:700px){.shop-cart-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.shop-cart-item-heading{flex-wrap:wrap}.shop-cart-item-heading h2{flex-basis:calc(100% - 40px)}.shop-cart-item-price{margin-left:40px}.shop-cart-controls .shop-cart-remove{margin-left:0}}@media(max-width:699px){.shop-cart-layout{grid-template-columns:1fr;gap:20px}.shop-cart-aside{position:static}.shop-cart-items .shop-cart-line{padding:16px}}@media(max-width:480px){.shop-cart-item-heading{flex-wrap:wrap}.shop-cart-item-heading h2{flex-basis:calc(100% - 40px)}.shop-cart-item-price{margin-left:40px}.shop-cart-options{margin-left:0}.shop-cart-controls .shop-quantity{max-width:150px}.shop-cart-controls .shop-cart-remove{margin-left:0}.shop-cart-controls .shop-cart-update,.shop-cart-controls .shop-cart-remove{padding-inline:8px}}

.shop-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.shop-steps li{align-items:flex-start;flex-direction:column;font-size:.78rem;line-height:1.4}.shop-checkout-back{display:inline-block;padding:16px 0;font-size:.9rem}.shop-review-card{padding:16px 20px;margin:16px 0;border:1px solid var(--shop-line);border-radius:8px}.shop-review-card h3{margin:0 0 8px}.shop-review-card p{overflow-wrap:anywhere}.shop-review-card a{font-size:.85rem}.shop-customer-form>.shop-check{font-size:.9rem}.shop-customer-form>.shop-check input{width:20px;min-height:20px;display:inline-block;margin:0 8px 0 0}@media(max-width:480px){.shop-steps li{font-size:.7rem}.shop-review-card{padding:14px}}

.shop-steps{--shop-complete:var(--color-green-700,#15803d)}.dark .shop-steps{--shop-complete:var(--color-green-400,#4ade80)}.shop-steps .shop-step-complete{color:var(--shop-complete);border-bottom-color:var(--shop-complete)}.shop-steps .shop-step-complete>span{color:var(--shop-complete);border-color:var(--shop-complete);background:color-mix(in srgb,var(--shop-complete) 12%,transparent)}.shop-steps .shop-step-complete a{color:inherit;font-weight:550}

/* Checkout controls and summary surfaces. */
.shop input[type=checkbox]{appearance:auto;display:inline-block;width:20px;height:20px;min-height:20px;padding:0;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--color-green-700,#15803d);flex-shrink:0;cursor:pointer}.dark .shop input[type=checkbox]{accent-color:var(--color-green-400,#4ade80)}
.shop .shop-check:has([role=switch]){display:flex;align-items:center;gap:12px;min-height:44px;line-height:1.5;cursor:pointer}.shop input[type=checkbox][role=switch]{appearance:none;position:relative;display:inline-block;flex:0 0 44px;width:44px;height:26px;min-height:26px;padding:0;margin:0;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;background:color-mix(in srgb,currentColor 12%,var(--color-bg-page,#fff));transition:background .18s,border-color .18s}.shop input[role=switch]::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--color-bg-page,#fff);box-shadow:0 1px 4px #0003;transition:transform .18s}.shop input[role=switch]:checked{background:var(--color-green-700,#15803d);border-color:var(--color-green-700,#15803d)}.shop input[role=switch]:checked::before{transform:translateX(18px)}.dark .shop input[role=switch]:checked{background:var(--color-green-400,#4ade80);border-color:var(--color-green-400,#4ade80)}
.shop-steps li>span{flex:0 0 auto;width:28px;min-width:28px;max-width:28px;height:28px;min-height:28px;max-height:28px;aspect-ratio:1;border-radius:50%;padding:0;line-height:1}
.shop .shop-primary{transition:background-color .18s,box-shadow .18s,transform .18s}.shop .shop-primary:not(:disabled):hover,.shop .shop-primary:not(:disabled):focus-visible{opacity:1;background:color-mix(in srgb,var(--color-text-main,#161616) 80%,var(--color-bg-page,#fff));box-shadow:0 4px 12px #0002;transform:translateY(-1px)}.shop .shop-primary:not(:disabled):active{transform:translateY(0);box-shadow:none}
.shop-cart-aside,.shop-checkout-aside{border-radius:6px;border-color:color-mix(in srgb,var(--color-text-main,currentColor) 9%,transparent);background:color-mix(in srgb,var(--color-text-main,currentColor) 1.5%,var(--color-bg-page,#fff));box-shadow:0 2px 4px #00000004,0 12px 32px -8px #00000014}.dark .shop-cart-aside,.dark .shop-checkout-aside{background:color-mix(in srgb,var(--color-text-main,currentColor) 4%,var(--color-bg-page,#161616));box-shadow:0 2px 4px #0002,0 12px 32px -8px #0005}
@media(prefers-reduced-motion:reduce){.shop .shop-primary,.shop input[role=switch],.shop input[role=switch]::before{transition:none}}

.shop-summary p:has(> :nth-child(2)){display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:12px;align-items:start}.shop-summary p>:first-child{min-width:0;overflow-wrap:anywhere}.shop-summary p:has(> :nth-child(2))>:last-child{white-space:nowrap;overflow-wrap:normal;text-align:right;font-variant-numeric:tabular-nums}

/* Scope both checkout switches above the shared site-body input styles. */
body.site-body .shop .shop-check{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;min-height:44px;font-weight:400;line-height:1.5;cursor:pointer}
body.site-body .shop .shop-check>span{min-width:0;overflow-wrap:anywhere}
body.site-body .shop .shop-check input[type=checkbox]{appearance:none;position:relative;display:block;flex:none;width:44px;min-width:44px;max-width:44px;height:26px;min-height:26px;max-height:26px;box-sizing:border-box;padding:0;margin:2px 0 0;border:1px solid color-mix(in srgb,var(--color-text-main,currentColor) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--color-text-main,currentColor) 16%,var(--color-bg-page,#fff));transition:background .18s,border-color .18s;cursor:pointer}
body.site-body .shop .shop-check input[type=checkbox]::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;padding:0;margin:0;border-radius:50%;background:var(--color-bg-page,#fff);box-shadow:0 1px 4px #0003;transform:translateX(0);transition:transform .18s}
body.site-body .shop .shop-check input[type=checkbox]:checked{background:var(--color-green-700,#15803d);border-color:var(--color-green-700,#15803d)}
body.site-body .shop .shop-check input[type=checkbox]:checked::before{transform:translateX(18px)}
html.dark body.site-body .shop .shop-check input[type=checkbox]:checked{background:var(--color-green-400,#4ade80);border-color:var(--color-green-400,#4ade80)}
body.site-body .shop .shop-check input[type=checkbox]:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(prefers-reduced-motion:reduce){body.site-body .shop .shop-check input[type=checkbox],body.site-body .shop .shop-check input[type=checkbox]::before{transition:none}}

/* Compact cart cards and purchase actions. */
.shop-cart-items{gap:16px}.shop-cart-items .shop-cart-line{border:0;padding:16px 18px;background:color-mix(in srgb,var(--color-text-main,currentColor) 1.5%,var(--color-bg-page,#fff));box-shadow:0 2px 4px #00000004,0 10px 28px -8px #00000018;border-radius:8px}.dark .shop-cart-items .shop-cart-line{background:color-mix(in srgb,var(--color-text-main,currentColor) 4%,var(--color-bg-page,#161616));box-shadow:0 2px 4px #0002,0 10px 28px -8px #0005}.shop-cart-items .shop-cart-line:focus-within{outline:1px solid var(--shop-line);outline-offset:2px}.shop-cart-options{margin-bottom:10px}.shop-cart-line .shop-cart-controls{border:0;padding-top:6px;gap:8px;align-items:center}.shop-cart-controls .shop-quantity-field{display:flex;align-items:center;gap:8px}.shop-cart-controls .shop-quantity{max-width:116px;margin:0}.shop-cart-controls .shop-quantity input{height:34px;min-height:34px;padding:4px;font-size:.85rem}.shop-cart-controls .shop-quantity button{flex-basis:32px;width:32px;min-height:34px;height:34px;padding:0;font-size:.95rem}.shop-cart-controls .shop-cart-update{min-height:34px;height:34px;padding:4px 10px;font-size:.78rem;background:transparent;border-color:transparent;border-radius:6px}.shop-cart-controls .shop-cart-update:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.shop-cart-controls .shop-cart-remove{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;opacity:1;color:var(--color-red-600,#dc2626);background:transparent;border:0}.shop-cart-controls .shop-cart-remove:hover{background:color-mix(in srgb,var(--color-red-600,#dc2626) 10%,transparent)}.dark .shop-cart-controls .shop-cart-remove{color:var(--color-red-400,#f87171)}
.shop .shop-primary{background:var(--color-green-700,#15803d);color:#fff;box-shadow:0 3px 10px color-mix(in srgb,var(--color-green-700,#15803d) 18%,transparent)}.shop .shop-primary:not(:disabled):hover,.shop .shop-primary:not(:disabled):focus-visible{background:var(--color-green-800,#166534);color:#fff;box-shadow:0 5px 16px color-mix(in srgb,var(--color-green-700,#15803d) 28%,transparent)}.dark .shop .shop-primary{background:var(--color-green-400,#4ade80);color:var(--color-green-950,#052e16)}.dark .shop .shop-primary:not(:disabled):hover,.dark .shop .shop-primary:not(:disabled):focus-visible{background:var(--color-green-300,#86efac);color:var(--color-green-950,#052e16)}
@media(max-width:699px){.shop-cart-controls .shop-quantity-field{gap:6px}.shop-cart-controls .shop-quantity-field>label{font-size:.7rem}.shop-cart-controls .shop-quantity{max-width:132px}.shop-cart-controls .shop-quantity input{min-height:44px;height:44px}.shop-cart-controls .shop-quantity button{flex-basis:44px;width:44px;min-height:44px;height:44px}.shop-cart-controls .shop-cart-update{min-height:44px;height:44px;padding:4px 8px}.shop-cart-controls .shop-cart-remove{width:44px;min-width:44px;height:44px;min-height:44px}.shop-cart-controls .shop-quantity-field{flex-wrap:wrap}.shop-cart-controls .shop-quantity-field>label{flex-basis:100%}.shop-cart-line .shop-cart-controls{align-items:end}.shop-cart-controls .shop-cart-remove{margin-left:auto}}

.shop .shop-primary:disabled{opacity:1;color:color-mix(in srgb,var(--color-text-main,#161616) 55%,var(--color-bg-page,#fff));background:#e0e3e7;border-color:transparent;box-shadow:none;transform:none;cursor:not-allowed}.dark .shop .shop-primary:disabled{color:#a4acb8;background:#303641;box-shadow:none}
.shop-summary-item{padding:12px 0;border-bottom:1px dashed var(--shop-line)}.shop-summary-item:first-child{padding-top:0}.shop-summary .shop-summary-product{font-weight:600;font-size:.92rem;margin:0 0 8px}.shop-summary .shop-summary-option{font-weight:400;font-size:.78rem;line-height:1.5;opacity:.78;margin:5px 0 5px 12px;padding-left:10px;border-left:2px solid var(--shop-line)}.shop-summary-totals,.shop-summary-shipping{padding:16px 0;border-bottom:1px solid var(--shop-line)}.shop-summary-totals h3,.shop-summary-shipping h3{margin:0 0 12px;font-size:.95rem}.shop-summary-shipping+.shop-price{border-top:0}.shop-summary-totals p,.shop-summary-shipping p{font-size:.88rem}

.shop-review-card{border:0;background:radial-gradient(ellipse at center,#fff 0%,#fff 35%,color-mix(in srgb,var(--color-text-main,#161616) 3%,#fff) 100%);box-shadow:0 2px 4px #00000004,0 10px 28px -8px #00000018}.dark .shop-review-card{background:radial-gradient(ellipse at center,var(--color-bg-page,#161616) 0%,var(--color-bg-page,#161616) 35%,color-mix(in srgb,var(--color-text-main,#eee) 5%,var(--color-bg-page,#161616)) 100%);box-shadow:0 2px 4px #0002,0 10px 28px -8px #0005}.shop-steps{--shop-current:#962fe9}.dark .shop-steps{--shop-current:#962fe9}.shop-steps li[aria-current=step]{color:var(--shop-current);border-bottom-color:var(--shop-current)}.shop-steps li[aria-current=step]>span{color:var(--shop-current);border-color:var(--shop-current);background:color-mix(in srgb,var(--shop-current) 12%,transparent)}

.shop-steps li[aria-current=step]>span{background:#f4eafb}.dark .shop-steps li[aria-current=step]>span{background:color-mix(in srgb,#962fe9 18%,transparent)}

.shop-service-fields{min-width:0;border:0;padding:16px 0;margin:12px 0;border-block:1px solid var(--shop-line)}.shop-service-fields legend{font-size:.95rem;font-weight:600;padding-right:10px}.shop-service-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shop-service-date-row label{margin:6px 0}.shop input[type=date],.shop input[type=time]{min-width:0;color-scheme:light}.dark .shop input[type=date],.dark .shop input[type=time]{color-scheme:dark}.shop-cart-controls>.shop-service-fields{flex:0 0 100%;padding:12px 0;border:0;margin:0}.shop-service-fields .shop-muted{font-size:.78rem}.shop-service-fields [data-service-status]:empty{display:none}.shop-summary .shop-summary-schedule{font-size:.8rem;opacity:.8;margin:8px 0 0;display:block}@media(max-width:480px){.shop-service-date-row{grid-template-columns:1fr;gap:0}}

/* Product editor: scoped to the admin form, using admin theme tokens. */
.shop-editor{padding-bottom:16px;--shop-editor-gap:18px}.shop-editor .panel{border:0;box-shadow:var(--shadow);padding:24px}.shop-editor .shop-editor-heading{margin-bottom:22px}.shop-editor .shop-editor-heading h2{margin:0 0 5px;font-size:20px;line-height:1.35;letter-spacing:-.02em}.shop-editor .shop-editor-heading p,.shop-editor .shop-editor-help{margin:6px 0;color:var(--muted);font-size:13px;line-height:1.6}.shop-editor .shop-basic-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);gap:var(--shop-editor-gap)}.shop-editor label{min-width:0}.shop-editor .shop-basic-grid>label,.shop-editor .shop-fields>label{margin:0}.shop-editor .shop-fields{gap:16px 20px}.shop-editor input,.shop-editor select,.shop-editor textarea{min-width:0;max-width:100%}.shop-editor [data-shop-service-settings]{margin:22px 0;background:var(--surface-soft);border:0;border-radius:12px;padding:18px 20px}.shop-editor [data-shop-service-settings] legend{font-size:14px;color:var(--ink);padding:0 4px}.shop-service-admin-grid{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:28px;align-items:start}.shop-editor .shop-service-admin-grid label{margin:0}.shop-weekend-settings{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}.shop-field-caption{display:block;flex:0 0 100%;font-size:13px;font-weight:650}.shop-editor .shop-weekend-settings .check{margin:0;min-height:44px}.shop-editor .shop-language-editor{padding:18px 0 0;border-top:1px solid var(--line);margin:22px 0 0}.shop-editor .shop-language-editor>summary{font-size:15px;margin-bottom:12px}.shop-editor .shop-seo-settings{background:var(--surface-soft);border-radius:10px;padding:14px 16px}.shop-editor .shop-seo-settings>summary{font-size:13px;color:var(--muted)}.shop-editor .shop-repeat.shop-option-editor{border-color:var(--line);background:var(--surface-soft)}.shop-editor .shop-editor-savebar{position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px;box-shadow:0 8px 28px rgb(15 23 42 / 12%);margin-top:20px}.shop-editor-savebar strong{display:block;font-size:13px}.shop-editor-savebar [data-shop-save-status]{display:block;font-size:12px;color:var(--muted);margin-top:3px}.shop-editor .shop-editor-savebar button{background:var(--brand);border-color:var(--brand);color:#fff;white-space:nowrap;min-height:44px}.shop-editor .shop-editor-savebar button:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.shop-editor .admin-section-tabs{gap:6px;padding-bottom:12px}.shop-editor .admin-section-tabs button{padding:10px 14px;min-height:44px}.shop-editor [hidden]{display:none!important}@media(max-width:800px){.shop-editor .shop-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-editor .shop-basic-grid>label:last-child{grid-column:1/-1}.shop-editor .panel{padding:18px}.shop-service-admin-grid{gap:18px}}@media(max-width:540px){.shop-editor .shop-basic-grid,.shop-service-admin-grid{grid-template-columns:1fr}.shop-editor .shop-basic-grid>label:last-child{grid-column:auto}.shop-editor [data-shop-service-settings]{padding:14px}.shop-editor .shop-editor-savebar{bottom:8px;padding:12px;gap:10px;flex-wrap:wrap}.shop-editor-savebar>div{flex:1 1 140px}.shop-editor .shop-editor-savebar button{flex:1 1 140px}.shop-editor .shop-editor-heading h2{font-size:18px}}
.shop-editor .shop-discount-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr) auto;gap:16px;align-items:end;border:0;background:var(--surface-soft);padding:14px}.shop-editor .shop-discount-row label{margin:0}.shop-editor .shop-discount-row button{min-height:44px}.shop-cart-discount{color:var(--color-green-700,#15803d)}.dark .shop-cart-discount{color:var(--color-green-400,#4ade80)}@media(max-width:540px){.shop-editor .shop-discount-row{grid-template-columns:1fr}.shop-editor .shop-discount-row button{justify-self:end}}
.shop-cart-controls .shop-cart-update[hidden]{display:none!important}
.shop .shop-discount-info{margin:18px 0;padding:14px 16px;background:color-mix(in srgb,var(--color-green-600,#16a34a) 7%,var(--color-bg-page,#fff));border-radius:8px}.shop-discount-info h3{margin:0 0 10px;font-size:.95rem}.shop-discount-info ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.shop-discount-info li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.88rem}.shop-product-discount{margin-top:6px;max-width:360px}.shop-cart-savings{padding-bottom:10px;border-bottom:1px solid var(--shop-line)}.shop-cart-savings strong{white-space:nowrap}.dark .shop-discount-info{background:color-mix(in srgb,var(--color-green-500,#22c55e) 9%,var(--color-bg-page,#161616))}

/* Product form headings: continue the caption with the service schedule divider. */
.shop-product form>h2,.shop-product form>.shop-quantity-field>label,.shop-product .shop-buy-total>.shop-muted:first-child{display:flex;align-items:center;gap:10px}
.shop-product form>h2::after,.shop-product form>.shop-quantity-field>label::after,.shop-product .shop-buy-total>.shop-muted:first-child::after{content:"";flex:1;min-width:16px;border-top:1px solid var(--shop-line)}
.shop-product .shop-buy-total{flex:1}

.shop-product form>.shop-service-fields{border-bottom:0}
.shop-product .shop-buy{border-top:0}
.shop-product .shop-buy-total>.shop-muted:first-child{font-weight:700}

.shop .shop-product-badge{display:flex;align-items:center;margin:12px 0;max-width:100%}.shop .shop-product-badge img{display:block;width:auto;height:auto;max-width:200px;max-height:76px;aspect-ratio:auto;object-fit:contain}.shop .shop-badge-anchor{position:relative;display:block;overflow:visible}.shop .shop-card-image>img{display:block}.shop .shop-badge-anchor>.shop-product-badge{position:absolute;top:0;right:-10px;transform:translateY(-25%);z-index:2;margin:0;width:52%;max-width:200px;justify-content:flex-end;pointer-events:none}.shop .shop-badge-anchor>.shop-product-badge img{max-width:100%;max-height:76px}.shop .shop-gallery .shop-badge-anchor>.shop-product-badge{width:46%;max-width:260px}.shop .shop-gallery .shop-product-badge img{max-height:100px}.shop-card:has(.shop-badge-anchor>.shop-product-badge),.shop-gallery:has(.shop-badge-anchor>.shop-product-badge){margin-top:26px}.shop-product>div>.shop-product-badge img{max-width:min(260px,80%);max-height:100px}.shop-badge-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.shop-editor .shop-badge-presets label{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid var(--shop-line,#aaa);border-radius:6px;padding:12px;cursor:pointer}.shop-badge-presets img{width:100%;height:70px;object-fit:contain}.shop-badge-presets input{width:20px;min-height:20px}.shop-badge-presets label:has(input:checked){outline:2px solid currentColor;outline-offset:2px}

.shop-order{--shop-line:color-mix(in srgb,var(--color-text-main,#374151) 16%,transparent);color:color-mix(in srgb,var(--color-text-main,#374151) 82%,var(--color-bg-page,#fff));max-width:860px;margin:auto;padding:clamp(20px,4vw,40px);border:1px solid var(--shop-line);border-radius:16px;background:var(--color-bg-page,#fff);box-shadow:0 8px 32px color-mix(in srgb,var(--color-text-main,#374151) 5%,transparent);overflow-wrap:anywhere}
.shop-order h1,.shop-order h2,.shop-order h3,.shop-order strong{color:inherit}.shop-order h1{font-size:clamp(1.3rem,4vw,2rem);font-weight:650}.shop-order-brand{display:flex;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--shop-line);font-size:1.3rem;font-weight:600}.shop-order-brand>span{min-width:0}.shop-order-brand img{object-fit:contain;max-width:96px}.shop-order .shop-summary-item{break-inside:avoid}.shop-order [data-shop-print]{margin-top:20px}
@media(max-width:480px){.shop:has(.shop-order){padding-inline:12px}.shop-order{padding:20px 14px;border-radius:12px}.shop-order-brand{gap:12px;font-size:1.1rem}}
@media print{@page{margin:16mm}body:has(.shop-order){background:#fff!important;color:#374151!important}body:has(.shop-order)>div:has(.shop-order){display:block!important;min-height:0!important}body:has(.shop-order) *:not(.shop-order):not(.shop-order *):not(:has(.shop-order)){display:none!important}.shop:has(.shop-order){display:block!important;margin:0!important;padding:0!important;max-width:none!important;width:100%!important}.shop-order{--shop-line:#d1d5db;color:#374151!important;background:#fff!important;padding:0;border:0;border-radius:0;box-shadow:none;max-width:none}.shop-order *{color:inherit!important}.shop-order-brand{display:flex!important;break-inside:avoid}.shop-order-brand img{display:block!important}.shop-order a[href]::after{content:none!important}.shop-order [data-shop-print]{display:none!important}}

/* Admin rendelési adatok: áttekinthető csoportok és mobil elrendezés. */
.shop-admin-order{--shop-line:color-mix(in srgb,currentColor 18%,transparent);line-height:1.55}.shop-admin-order .panel{margin-top:18px}.shop-order-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.shop-admin-order h2{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.shop-admin-order h3{margin:0 0 16px;font-size:1.05rem}.shop-order-caption{font-size:.85rem;opacity:.75;margin:6px 0}.shop-order-amount{display:flex;flex-direction:column;gap:6px;text-align:right;max-width:50%;overflow-wrap:anywhere}.shop-order-amount strong{font-size:1.6rem;font-variant-numeric:tabular-nums}.shop-order-badges{display:flex;flex-wrap:wrap;gap:8px}.shop-order-badges span{padding:5px 12px;border:1px solid var(--shop-line);border-radius:20px;font-size:.85rem}.shop-order-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:24px;align-items:start}.shop-order-layout>*{min-width:0}.shop-order-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.shop-order-data{margin:0}.shop-order-data>div{display:grid;grid-template-columns:minmax(90px,1fr) minmax(0,2fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--shop-line)}.shop-order-data>div:last-child{border:0}.shop-order-data dt{font-size:.85rem;opacity:.75}.shop-order-data dd{margin:0;overflow-wrap:anywhere}.shop-order-actions{display:flex;flex-direction:column;gap:10px}.shop-order-actions button{min-height:44px;width:100%;white-space:normal}.shop-order-actions .shop-order-cancel{margin-top:12px;background:transparent;color:inherit;border:1px solid currentColor}.shop-order-log{list-style:none;margin:0;padding:0}.shop-order-log li{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px solid var(--shop-line)}.shop-order-log li:last-child{border:0}.shop-order-log span,.shop-order-log time{font-size:.85rem;opacity:.75}.shop-orders-scroll{overflow-x:auto}.shop-orders-list table{min-width:620px;width:100%}.shop-orders-list td:nth-child(3){white-space:nowrap;font-variant-numeric:tabular-nums}.shop-orders-list td:first-child a{display:inline-block;padding:10px 0;font-weight:600}.shop-orders-list th{text-align:left}@media(max-width:950px){.shop-order-layout{grid-template-columns:1fr}}@media(max-width:600px){.shop-order-addresses{grid-template-columns:1fr;gap:0}.shop-order-heading{flex-direction:column;align-items:flex-start}.shop-order-amount{max-width:100%;text-align:left}.shop-order-data>div{grid-template-columns:1fr;gap:3px}}

.shop-order-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.shop-order-parties section{min-width:0;padding:16px 0}.shop-order-parties section+section{border-left:1px solid var(--shop-line);padding-left:24px}.shop-order-parties dl{margin:0}.shop-order-parties dl>div{margin:12px 0}.shop-order-parties dt{font-size:.8rem;opacity:.75}.shop-order-parties dd{margin:3px 0 0;overflow-wrap:anywhere}.shop-order-bank{margin:24px 0;padding:16px 0;border-block:1px solid var(--shop-line)}@media(max-width:600px){.shop-order-parties{grid-template-columns:1fr;gap:16px}.shop-order-parties section+section{border-left:0;border-top:1px solid var(--shop-line);padding-left:0;padding-top:24px}}@media print{.shop-order-parties{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-order-parties section+section{border-top:0;border-left:1px solid var(--shop-line);padding-left:24px;padding-top:16px}.shop-order-parties section,.shop-order-bank{break-inside:avoid}}

.shop-admin-order [hidden]{display:none!important}.shop-admin-order details>summary{cursor:pointer;font-weight:600;padding:8px 0}.shop-admin-order details[open]>summary{margin-bottom:18px}.shop-admin-order .shop-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.shop-admin-order .shop-repeat{margin:16px 0;padding:16px;border:1px solid var(--shop-line)}@media(max-width:600px){.shop-admin-order .shop-fields{grid-template-columns:1fr}}

/* Guest calculator: explicit blocks prevent labels and values running together. */
.shop .shop-calculator{margin:24px 0 16px;padding:20px;background:var(--color-bg-card,var(--color-bg-input,transparent));border:1px solid var(--shop-line);border-radius:12px;min-width:0;line-height:1.5}
.shop .shop-calculator h2{font-size:1.15rem;line-height:1.3;margin:0 0 20px;font-weight:700;letter-spacing:-.02em}
.shop .shop-calculator h3{font-size:1rem;line-height:1.4;margin:22px 0 6px;font-weight:650}
.shop .shop-calculator label{font-size:.9rem;line-height:1.45;margin:0}
.shop .shop-calculator-guests,.shop .shop-calculator-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.shop .shop-calculator-guests>div,.shop .shop-calculator-option>div{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:.85rem}
.shop .shop-calculator-guests input{width:112px;text-align:center;font-weight:650;font-variant-numeric:tabular-nums;margin:0;background:var(--color-bg-input,transparent)}
.shop .shop-calculator input[type=range]{border:0;padding:0;margin:8px 0 16px;accent-color:var(--color-primary);width:100%;cursor:pointer}
.shop .shop-calculator-portions{min-width:0;margin:0 0 18px;padding:0;border:0}
.shop .shop-calculator-portions legend{padding:0;margin-bottom:8px;font-size:.9rem;font-weight:550}
.shop .shop-calculator-portion-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:8px}
.shop :is(.shop-calculator,.shop-service-modes) label.shop-calculator-portion{display:flex;align-items:center;gap:10px;min-height:60px;padding:12px;border:1px solid var(--shop-line);border-radius:8px;background:var(--color-bg-input,transparent);cursor:pointer}
.shop .shop-calculator-portion:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 9%,var(--color-bg-card,transparent))}
.shop .shop-calculator-portion:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:3px}
.shop .shop-calculator-portion input[type=radio]{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--color-primary)}
.shop .shop-calculator-portion span{min-width:0;overflow-wrap:anywhere}
.shop .shop-calculator-portion strong{display:block;font-weight:650}
.shop .shop-calculator-portion small{display:block;margin-top:3px;font-size:.78rem;color:var(--color-text-muted,inherit)}
.shop .shop-calculator-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;font-variant-numeric:tabular-nums}
.shop .shop-calculator-results>div{min-width:0;padding:14px;border-radius:8px;background:color-mix(in srgb,currentColor 4%,transparent)}
.shop .shop-calculator-results dt{display:block;margin:0 0 6px;font-size:.78rem;line-height:1.4;font-weight:500;color:var(--color-text-muted,inherit)}
.shop .shop-calculator-results dd{display:block;margin:0}
.shop .shop-calculator-results output{display:block;margin:0;font-size:clamp(1.15rem,2.4vw,1.65rem);font-weight:700;line-height:1.3;overflow-wrap:anywhere;letter-spacing:-.025em}
.shop .shop-calculator-results>div:last-child{background:color-mix(in srgb,var(--color-primary) 9%,var(--color-bg-card,transparent));box-shadow:inset 0 3px 0 var(--color-primary)}
.shop .shop-calculator-results small{display:block;margin-top:6px;font-size:.78rem;color:var(--color-text-muted,inherit);font-weight:400;line-height:1.5}
.shop .shop-calculator .shop-muted{font-size:.82rem;margin:10px 0;line-height:1.6}
.shop .shop-calculator-options{margin-top:14px}
.shop .shop-calculator-option{padding:10px 0;border-bottom:1px solid var(--shop-line)}
.shop .shop-calculator-option:last-child{border-bottom:0}
.shop .shop-calculator-option label{min-width:0;overflow-wrap:anywhere;font-weight:600}
.shop .shop-calculator-option label span{display:block}
.shop .shop-calculator-option small{display:block;margin-top:3px;font-size:.76rem;font-weight:400;color:var(--color-text-muted,inherit)}
.shop .shop-calculator-option input{width:96px;text-align:right;font-variant-numeric:tabular-nums;margin:0;background:var(--color-bg-input,transparent)}
.shop .shop-calculator-progress{display:grid;gap:6px;margin-top:16px;padding:14px 16px;border-radius:8px;background:color-mix(in srgb,currentColor 4%,transparent);font-size:.85rem;line-height:1.5;font-variant-numeric:tabular-nums}
.shop .shop-calculator-progress p{display:block;margin:0;overflow-wrap:anywhere}
.shop .shop-calculator-progress strong{display:block;font-weight:700;font-size:.95rem}
.shop .shop-calculator-progress [data-calculator-breakdown]{font-size:.78rem;color:var(--color-text-muted,inherit)}
.shop .shop-calculator-progress [data-calculator-breakdown]:empty{display:none}
.shop .shop-calculator[data-quantity-state="missing"] .shop-calculator-progress{box-shadow:inset 3px 0 0 #d6a000;background:color-mix(in srgb,#facc15 16%,var(--color-bg-card,var(--color-bg-page,#fff)))}
.shop .shop-calculator:is([data-quantity-state="excess"],[data-quantity-state="invalid"]) .shop-calculator-progress{box-shadow:inset 3px 0 0 #dc4444;background:color-mix(in srgb,#ef4444 13%,var(--color-bg-card,var(--color-bg-page,#fff)))}
.shop .shop-calculator[data-complete="1"] .shop-calculator-progress{box-shadow:inset 3px 0 0 var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-bg-card,transparent))}
.shop-product form:has(>.shop-calculator)>.shop-buy{position:static;margin-top:16px;padding:18px 20px;border:1px solid var(--shop-line);border-radius:10px;background:var(--color-bg-card,transparent);gap:16px;align-items:center}
.shop-product form:has(>.shop-calculator) .shop-buy-total{display:grid;gap:6px;min-width:0}
.shop-product form:has(>.shop-calculator) [data-shop-total]{font-size:clamp(1.35rem,3vw,1.8rem);font-weight:700;letter-spacing:-.02em;line-height:1.3}
.shop-product form:has(>.shop-calculator) .shop-buy-total>.shop-muted:first-child{font-size:.8rem;font-weight:500}
.shop-product form:has(>.shop-calculator) .shop-product-discount:empty{display:none}
.shop-calculator-admin{margin-top:24px;padding-top:16px;border-top:1px solid var(--shop-line)}
.shop .shop-cart-controls .shop-calculator{flex-basis:100%;width:100%;margin:8px 0}
@media(max-width:400px){
.shop .shop-calculator{padding:16px}
.shop .shop-calculator-results{gap:8px}
.shop .shop-calculator-results>div{padding:12px 10px}
.shop .shop-calculator-option{gap:10px}
.shop .shop-calculator-option input{width:80px}
.shop .shop-calculator-progress{padding:12px}
.shop-product form:has(>.shop-calculator)>.shop-buy{padding:16px;flex-wrap:wrap}
}

/* Shared storefront cards: category blocks and catalog use identical surfaces. */
.shop .shop-grid{align-items:stretch}
.shop .shop-grid:has(.shop-product-badge){padding-top:8px}
.shop .shop-card{display:flex;flex-direction:column;margin:0;padding:16px;border:0;border-radius:16px;background:var(--color-bg-card,var(--color-bg-page,#fff));box-shadow:0 4px 20px rgb(0 0 0 / .08);min-width:0}
.shop .shop-card:has(.shop-badge-anchor>.shop-product-badge){margin-top:0}
.shop .shop-card>a{display:block;min-width:0}
.shop .shop-card .shop-card-image>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.shop .shop-card h2{margin:14px 0 0;min-height:2.6em;font-size:1.15rem;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}
.shop .shop-card>p:not(.shop-price){flex:1;margin:10px 0 0;font-size:.95rem;line-height:1.6}
.shop .shop-card>.shop-price{margin:16px 0 6px;line-height:1.4}
.shop .shop-card>.shop-muted{min-height:3em;font-size:.82rem;line-height:1.5}
.shop .shop-gallery>a>img{display:block;border-radius:12px}
.shop .shop-gallery{min-width:0}
.shop .shop-gallery>a{min-width:0;max-width:100%}
.shop .shop-gallery>a>img{max-width:100%;aspect-ratio:1;object-fit:cover}
.shop .shop-gallery>a:first-child>img{aspect-ratio:1;object-fit:cover}
.shop .shop-gallery .shop-badge-anchor>.shop-product-badge{right:0}
@media(max-width:480px){.shop .shop-card{padding:14px;border-radius:14px}.shop .shop-card h2{min-height:0}.shop .shop-card>.shop-muted{min-height:0}}

/* Compact product price and purchase controls, shared by all product types. */
.shop .shop-product .shop-price:has(>.shop-price-tax){line-height:1}
.shop .shop-price-tax{display:block;margin:0;font-size:.7rem;line-height:1;font-style:italic;font-weight:700;color:var(--color-text-muted,inherit);text-align:left;white-space:nowrap}
.shop .shop-product .shop-buy-slot{margin-top:16px}
.shop .shop-product .shop-buy-slot>.shop-buy{position:static;margin:0;display:flex;flex-wrap:wrap;gap:10px 16px;padding:14px 16px;border:0;border-radius:12px;background:var(--color-bg-card,var(--color-bg-page,#fff));box-shadow:inset 0 3px 0 var(--color-primary),0 3px 18px color-mix(in srgb,currentColor 9%,transparent);color:var(--color-text-main,inherit)}
.shop .shop-product .shop-buy-slot>.shop-buy.is-docked{position:fixed;bottom:0;z-index:30;border-radius:12px 12px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom));max-height:45dvh;overflow:auto}
.shop .shop-product .shop-buy-total{min-width:0;flex:1 1 140px;display:grid;gap:4px}
.shop [data-shop-selection]{font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}
.shop .shop-buy>.shop-buy-help{flex:1 0 100%;justify-content:flex-start;min-height:32px;padding:4px 0;background:transparent;color:inherit;border:0;border-radius:0;font-size:.8rem;font-weight:400;text-align:left;line-height:1.45;text-decoration:underline;text-underline-offset:3px;white-space:normal}
.shop .shop-buy>.shop-buy-help:disabled{opacity:1;cursor:default;text-decoration:none}
.shop .shop-buy>[hidden],.shop [data-shop-added][hidden]{display:none}
.shop .shop-added{margin-top:18px;padding:18px;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg-page,#fff));scroll-margin-bottom:180px}
.shop .shop-added>strong{display:block;font-size:1.05rem}.shop .shop-added p{font-size:.88rem}.shop .shop-added .shop-actions{justify-content:flex-start}
.shop .shop-choice-controls{display:flex!important;gap:0!important;align-items:center;min-width:0}
.shop .shop-choice-controls button{flex:0 0 36px;min-height:44px;padding:4px;border-radius:6px}
.shop .shop-calculator-option .shop-choice-controls input{width:70px;min-width:0;text-align:center;border-radius:0}
.shop input{scroll-margin-block:120px}
@media(max-width:380px){.shop .shop-calculator-option{gap:8px}.shop .shop-calculator-option .shop-choice-controls input{width:54px}.shop .shop-choice-controls button{flex-basis:32px}.shop .shop-product .shop-buy-slot>.shop-buy{padding-inline:12px}}
@media print{.shop .shop-product .shop-buy-slot>.shop-buy.is-docked{position:static}}

/* The composition stepper follows the product quantity capsule. */
.shop .shop-choice-controls{border:1px solid var(--shop-line);border-radius:999px;background:var(--color-bg-input,transparent)}
.shop .shop-choice-controls button{border:0;border-radius:999px;font-size:1.2rem;font-weight:650;line-height:1;touch-action:manipulation}
.shop .shop-calculator-option .shop-choice-controls input{height:44px;padding:8px 0;border:0;background:transparent;font-weight:650;font-variant-numeric:tabular-nums}
.shop .shop-choice-controls input:focus-visible{outline-offset:-3px;border-radius:6px}
@media(min-width:801px){
 .shop .shop-product>.shop-gallery{position:sticky;top:var(--shop-gallery-top,96px);align-self:start;max-height:calc(100dvh - var(--shop-gallery-top,96px) - 16px);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}
 .shop .shop-product>.shop-gallery:has(.shop-product-badge){margin-top:0;padding-top:26px}
}
@media print{.shop .shop-product>.shop-gallery{position:static;max-height:none;overflow:visible}}

html.shop-added-open{overflow:hidden}
dialog.shop.shop-added-dialog{width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--shop-line);border-radius:16px;background:var(--color-bg-page,#fff);color:var(--color-text-main,#151515);box-shadow:0 20px 70px rgb(0 0 0 / 25%);overflow:auto}
.shop-added-dialog::backdrop{background:rgb(0 0 0 / 45%)}
.shop.shop-added-dialog .shop-added{margin:0;padding:24px;background:transparent;border-radius:0}
.shop-added-dialog .shop-actions>*{flex:1 1 170px;text-align:center}

/* The shared editor's safe HTML classes also apply to product descriptions. */
.shop-rich-text{overflow-wrap:anywhere}
.shop .shop-card>.shop-card-intro{flex:1;margin:10px 0 0;font-size:.95rem;line-height:1.6}
.shop-rich-text>:first-child{margin-top:0}
.shop-rich-text>:last-child{margin-bottom:0}
.shop .shop-intro{margin:10px 0}
.shop-rich-text .align-left{text-align:left}.shop-rich-text .align-center{text-align:center}.shop-rich-text .align-right{text-align:right}.shop-rich-text .align-justify{text-align:justify}
.shop-rich-text .text-size-1{font-size:.75rem}.shop-rich-text .text-size-2{font-size:.875rem}.shop-rich-text .text-size-3{font-size:1rem}.shop-rich-text .text-size-4{font-size:1.125rem}.shop-rich-text .text-size-5{font-size:clamp(1.125rem, 1rem + .4375vw, 1.35rem)}.shop-rich-text .text-size-6{font-size:clamp(1.35rem, 1.2rem + .5625vw, 1.65rem)}.shop-rich-text .text-size-7{font-size:clamp(1.65rem, 1.4rem + .75vw, 2rem)}
.shop-rich-text .text-tone-main{color:var(--color-text-main,inherit)}.shop-rich-text .text-tone-muted{color:var(--color-text-muted,inherit)}.shop-rich-text .text-tone-primary{color:var(--color-primary,inherit)}

/* Restore rich-text typography suppressed by the site's base reset. */
.shop .shop-rich-text :is(b,strong){font-weight:700}
.shop .shop-rich-text :is(i,em){font-style:italic}
.shop .shop-rich-text u{text-decoration:underline}
.shop .shop-rich-text :is(ul,ol){margin:10px 0;padding-left:1.5em;list-style-position:outside}
.shop .shop-rich-text ul{list-style-type:disc}
.shop .shop-rich-text ol{list-style-type:decimal}
.shop .shop-rich-text li{display:list-item;margin:4px 0}
.shop .shop-rich-text :is(h2,h3,h4){margin:18px 0 8px;font-weight:700;line-height:1.35}
.shop .shop-rich-text h2{font-size:1.3rem}
.shop .shop-rich-text h3{font-size:1.15rem}
.shop .shop-rich-text h4{font-size:1rem}
.shop .shop-rich-text blockquote{margin:12px 0;padding-left:16px;border-left:3px solid var(--color-primary);color:var(--color-text-muted,inherit)}
.shop .shop-rich-text>:first-child{margin-top:0}
.shop .shop-rich-text>:last-child{margin-bottom:0}

.shop .shop-option-thumbnail{width:44px;height:44px;flex:none;object-fit:cover;border-radius:6px}
.shop .shop-calculator-option label:has(>.shop-option-thumbnail){display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:10px;align-items:center}
.shop .shop-calculator-option label>.shop-option-thumbnail{grid-row:1 / 3}
.shop .shop-calculator-option label>.shop-option-thumbnail~small{grid-column:2}

.shop .shop-calculator-option{row-gap:6px}
.shop .shop-calculator-option>.shop-calculator-option-details{grid-column:1 / -1;min-width:0;border:0;padding:0}
.shop .shop-calculator-option-details>summary{display:flex;align-items:center;gap:6px;min-height:32px;font-size:.78rem;font-weight:500;list-style:none;color:var(--color-text-muted,inherit)}
.shop .shop-calculator-option-details>summary::-webkit-details-marker{display:none}
.shop .shop-calculator-option-details>summary::before{content:"›";font-size:1.1rem}
.shop .shop-calculator-option-details[open]>summary::before{transform:rotate(90deg)}
.shop .shop-calculator-option-details>p{margin:4px 0 8px;font-size:.85rem;line-height:1.55;overflow-wrap:anywhere}

/* Shipping uses the same radio cards as portion selection. */
.shop .shop-service-fields{padding:12px 0;margin:12px 0}
.shop .shop-service-fields legend{font-size:.9rem;font-weight:650;margin-bottom:8px}
.shop .shop-service-modes{margin:0 0 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.shop .shop-service-modes label.shop-calculator-portion{margin:0;min-height:56px;padding:10px 12px;font-size:.875rem;line-height:1.35}
.shop .shop-service-modes .shop-calculator-portion small{font-size:.75rem;line-height:1.4}
.shop .shop-service-date-row{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.shop .shop-service-date-row label{margin:0;font-size:.8rem;line-height:1.4;font-weight:600}
.shop .shop-service-date-row input,.shop .shop-service-date-row select{margin-top:5px;font-size:.9rem;padding:8px 10px;min-height:44px}
.shop .shop-service-fields .shop-muted{margin:6px 0 0;font-size:.75rem;line-height:1.45}
.shop .shop-service-fields [data-service-status]{margin:6px 0 0;font-size:.8rem}
.shop .shop-service-date-row [hidden]{display:none!important}
.shop .shop-service-date-row:has([data-service-time-label][hidden]):not(:has([data-service-window-label]:not([hidden]))){grid-template-columns:minmax(0,1fr)}
@media(max-width:380px){.shop .shop-service-modes{grid-template-columns:1fr}}

.shop .shop-service-fields{--shop-service-error:var(--color-red-600,#dc2626)}
.dark .shop .shop-service-fields,.shop.dark .shop-service-fields{--shop-service-error:var(--color-red-400,#f87171)}
.shop .shop-service-fields input[name=service_time][aria-invalid=true]{border-color:var(--shop-service-error)}
.shop .shop-service-fields .shop-service-time-error{color:#7f1d36;background:#fff!important;border:0;border-left:2px solid var(--shop-service-error);border-radius:8px;padding:10px 12px;line-height:1.5;overflow-wrap:anywhere;opacity:1}

/* Keep the shared recommendation cards intact inside the shop typography. */
.shop .recommendation-card{text-decoration:none}
.shop .recommendations>h2{margin:0 0 .5rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.2}
.shop .recommendations-intro{margin:0 0 1.5rem}
.shop .recommendation-body h3{margin:0;font-size:1.125rem;font-weight:700;line-height:1.4}
.shop .recommendation-body p{margin:0 0 .5rem}

.shop .shop-description + .recommendations { margin-top: 1.25rem; padding-block: 1.25rem 0; border-top: 1px solid var(--color-border-base); }
.shop .recommendations .recommendation-button { margin-top: auto; text-decoration: none; }

/* Compact, distinct delivery settings in the product editor. */
.shop-editor .shop-service-mode-panel{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.shop-editor .shop-service-mode-panel--exact{border-inline-start:3px solid var(--brand);margin-top:18px}
.shop-editor .shop-service-mode-heading{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin-bottom:10px}
.shop-editor .shop-service-mode-heading .check{margin:0;min-height:44px;font-size:14px}
.shop-editor .shop-service-mode-heading>span{font-size:12px;color:var(--muted);font-weight:400}
.shop-editor .shop-service-mode-panel label{margin:0;font-size:12px;line-height:1.4}
.shop-editor .shop-service-mode-panel textarea{min-height:76px;height:76px;margin-top:5px;line-height:1.45;resize:vertical}
.shop-editor .shop-service-mode-panel .shop-editor-help{font-size:12px;line-height:1.45;margin:6px 0}
.shop-editor .shop-service-mode-panel .shop-service-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.shop-editor .shop-service-weekends{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.shop-editor .shop-service-weekends .check{min-height:44px;display:flex;align-items:center;gap:10px;margin:0}
.shop-editor [data-service-exact-settings]>.shop-service-weekends{grid-column:1/-1}
@media(max-width:540px){.shop-editor .shop-service-mode-panel{padding:10px 12px}.shop-editor .shop-service-mode-panel .shop-service-admin-grid{grid-template-columns:1fr}.shop-editor .shop-service-mode-heading{gap:0}.shop-editor .shop-service-mode-heading>span{flex-basis:100%;margin-bottom:4px}.shop-editor .shop-service-weekends{gap:4px 16px}}

.shop .shop-service-fields input[aria-invalid="true"],.shop .shop-service-fields select[aria-invalid="true"]{border-color:var(--shop-service-error);outline-color:var(--shop-service-error)}

/* Product rows also open the editor from their unused surface. */
.admin-shell [data-shop-product-row] { cursor: pointer; }
.admin-shell [data-shop-product-row]:hover, .admin-shell [data-shop-product-row]:focus-within { background: var(--surface-soft); }

/* Embedded catalogue blocks follow the page section spacing contract. */
.site-body .dynamic-page > :is(.shop-category,.shop-catalog) { margin-block: 0; padding-block: clamp(2rem, 4vw, 3.5rem); }

.shop .shop-quantity-hint{font-size:.75rem;line-height:1.5}

.shop-order-minimum{padding:18px;margin:18px 0;border:1px solid var(--shop-line);border-left:3px solid var(--color-primary,currentColor);border-radius:8px;background:color-mix(in srgb,currentColor 5%,transparent);overflow-wrap:anywhere}
.shop-order-minimum strong{display:block;font-size:1.05rem}.shop-order-minimum p{font-size:.9rem;margin:8px 0}.shop-order-minimum small{display:block;opacity:.8}.shop-order-minimum .shop-button{margin-top:14px;width:100%}
