/* Store purchase surfaces: clear rows, readable forms, one visible next action. */
.commerce .coupon-gifts { margin: 28px 0; padding: 24px 0; border-top: 1px solid var(--commerce-line); scroll-margin-top: 140px; }
.commerce .coupon-gifts__heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 20px; }
.commerce .coupon-gifts__heading > svg { flex: none; color: var(--commerce-green); margin-top: 2px; }
.commerce .coupon-gifts h2 { font-size: 20px; }
.commerce .coupon-gifts__heading p { margin: 6px 0 0; font-size: 14px; color: var(--commerce-muted); }
.commerce .coupon-gifts fieldset { border: 0; padding: 0; margin: 0 0 20px; min-width: 0; }
.commerce .coupon-gifts__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.commerce .coupon-gift-option { display: grid; grid-template-columns: 20px 64px minmax(0, 1fr); align-items: center; gap: 10px; margin: 0; padding: 16px 12px; border: 1px solid var(--commerce-line); border-radius: 12px; cursor: pointer; }
.commerce .coupon-gift-option:has(input:checked) { border-color: var(--commerce-green); background: #f1faf4; }
.commerce .coupon-gift-option:focus-within { outline: 2px solid var(--commerce-link); outline-offset: 3px; }
.commerce .coupon-gift-option input { appearance: auto; -webkit-appearance: auto; display: block !important; position: static !important; opacity: 1 !important; width: 19px; height: 19px; margin: 0; accent-color: var(--commerce-green); }
.commerce .coupon-gift-option img { width: 64px; height: 64px; object-fit: contain; }
.commerce .coupon-gift-option > span { min-width: 0; overflow-wrap: anywhere; }
.commerce .coupon-gift-option strong { display: block; font-size: 14px; line-height: 1.45; }
.commerce .coupon-gift-option small { display: block; margin-top: 6px; font-size: 12px; color: var(--commerce-muted); }
.commerce .coupon-gift-option b { display: block; margin-top: 4px; font-size: 13px; color: var(--commerce-green); }
.commerce .coupon-gifts__note { margin: 12px 0 0; color: var(--commerce-muted); font-size: 12px; }
.commerce .coupon-gifts__error { color: #a51e26; }
.commerce .coupon-gift-label { color: var(--commerce-green); font-weight: 650; }
.shop-cart-drawer.commerce .coupon-gifts { margin: 16px 0; padding: 20px 0; }
.shop-cart-drawer.commerce .coupon-gifts__options { grid-template-columns: minmax(0, 1fr); }
.shop-cart-drawer.commerce .coupon-gifts h2 { font-size: 18px; }
.shop-cart-drawer.commerce .coupon-gifts .commerce-button { width: 100%; }
@media (max-width: 640px) { .commerce .coupon-gifts__options { grid-template-columns: minmax(0, 1fr); } }
.wrapper.wrapper--page:has(.commerce) { overflow: clip; }
.commerce { --commerce-ink: #17212b; --commerce-muted: #57636f; --commerce-line: #dfe4e8; --commerce-link: #145b94; --commerce-green: #137f3e; background: #fff; color: var(--commerce-ink); font-family: 'DM Sans', sans-serif; padding: 28px 0 80px; caret-color: var(--commerce-link); }
.commerce *, .commerce *::before, .commerce *::after { box-sizing: border-box; }
.commerce .commerce-wrap { max-width: 1240px; width: calc(100% - 48px); margin: 0 auto; }
.commerce a { color: var(--commerce-link); text-decoration: none; }
.commerce a:hover { text-decoration: underline; text-underline-offset: 3px; }
.commerce :focus-visible { outline: 2px solid var(--commerce-link); outline-offset: 4px; }
.commerce ::selection { color: #102e46; background: #d2e9f8; }
.commerce .commerce-back { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; min-height: 32px; margin-bottom: 12px; }
.commerce-back span { font-size: 24px; line-height: 1; }
.commerce .commerce-heading { margin: 0 0 32px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px 20px; }
.commerce h1 { margin: 0; font: 750 34px/1.18 'DM Sans', sans-serif; letter-spacing: -.025em; color: var(--commerce-ink); }
.commerce .commerce-heading p { margin: 0; color: var(--commerce-muted); font-size: 15px; }
.commerce h2 { margin: 0; font: 700 21px/1.3 'DM Sans', sans-serif; letter-spacing: -.015em; color: var(--commerce-ink); }
.commerce p { line-height: 1.6; }
.commerce .commerce-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; }
.commerce-items { min-width: 0; }
.commerce .commerce-item { display: grid; grid-template-columns: 144px minmax(0,1fr) auto; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--commerce-line); }
.commerce .commerce-item:first-child { padding-top: 8px; }
.commerce .commerce-item__image { display: flex; align-items: flex-start; justify-content: center; min-width: 0; }
.commerce .commerce-item__image img { display: block; width: 100%; height: 136px; object-fit: contain; }
.commerce .commerce-item__body { min-width: 0; }
.commerce .commerce-item h2 { font-size: 17px; line-height: 1.45; letter-spacing: 0; }
.commerce .commerce-item__quantity { margin: 8px 0 12px; color: var(--commerce-muted); font-size: 14px; }
.qty-stepper { display: inline-flex; align-items: stretch; min-height: 44px; border: 1px solid #9eaab4; border-radius: 6px; overflow: hidden; background: #fff; }
.qty-stepper form { display: flex; }
.qty-stepper button { width: 44px; min-height: 44px; border: 0; background: #f4f7f9; color: var(--commerce-ink); font: 600 20px/1 'DM Sans', sans-serif; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.qty-stepper button:hover:not(:disabled) { background: #e6eef3; }
.qty-stepper button:focus-visible { outline: 2px solid #145b94; outline-offset: -2px; }
.qty-stepper button:disabled { color: #9aa7b2; cursor: not-allowed; }
.qty-stepper span { display: grid; place-items: center; min-width: 36px; padding: 0 4px; color: var(--commerce-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.commerce .commerce-item__each { display: block; margin-top: 4px; color: var(--commerce-muted); font-size: 13px; font-weight: 500; }
.drawer-cart-lines .qty-stepper { margin: 4px 0 8px; }
.commerce .commerce-item__price { white-space: nowrap; font-size: 21px; line-height: 1.4; font-weight: 750; font-variant-numeric: tabular-nums; }
.commerce .commerce-configuration { margin: 12px 0; font-size: 14px; }
.commerce .commerce-configuration summary { cursor: pointer; color: var(--commerce-link); font-weight: 600; min-height: 32px; }
.commerce .commerce-configuration dl { margin: 12px 0 0; }
.commerce .commerce-configuration dl > div { padding: 8px 0; border-top: 1px solid #edf0f2; }
.commerce .commerce-configuration dt { font-size: 12px; font-weight: 600; color: var(--commerce-muted); }
.commerce .commerce-configuration dd { margin: 3px 0 0; font-size: 13px; line-height: 1.45; }
.commerce .commerce-change { display: inline-block; color: #53616c; font-size: 11px; padding: 2px 5px; background: #f1f5f8; border-radius: 3px; }
.cart-edit { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; font-weight: 600; }
.commerce .cart-edit { color: var(--commerce-link); margin-right: 16px; }
.shop-cart-drawer .cart-edit { display: flex; width: fit-content; }
.commerce .commerce-remove { margin: 12px 0 0; }
.commerce .commerce-remove button { display: flex; align-items: center; gap: 6px; min-height: 32px; padding: 0; border: 0; background: none; color: var(--commerce-link); font: 500 14px/1.3 'DM Sans',sans-serif; cursor: pointer; }
.commerce .commerce-remove button:hover { text-decoration: underline; text-underline-offset: 3px; }
.commerce .commerce-summary { position: sticky; top: 136px; padding: 24px; border: 1px solid var(--commerce-line); border-radius: 8px; background: #fff; }
.commerce .commerce-summary h2 { font-size: 20px; }
.commerce .commerce-summary__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.commerce .commerce-summary__heading > a { font-size: 13px; }
.commerce .commerce-totals { margin: 24px 0; }
.commerce .commerce-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 6px 0; font-size: 14px; }
.commerce .commerce-totals dt { font-weight: 400; }
.commerce .commerce-totals dd { margin: 0; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.commerce .commerce-totals small { display: block; margin-top: 4px; color: var(--commerce-muted); font-size: 12px; font-weight: 400; }
.commerce .commerce-totals .commerce-totals__final { margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--commerce-line); }
.commerce .commerce-totals__final dt { font-weight: 700; }
.commerce .commerce-totals__final dd { font-size: 23px; font-weight: 750; white-space: nowrap; }
.commerce .commerce-totals .commerce-muted { max-width: 140px; color: var(--commerce-muted); font-size: 12px; font-weight: 400; }
.commerce .commerce-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 6px; background: var(--commerce-green); color: #fff; font: 700 15px/1.4 'DM Sans',sans-serif; text-align: center; cursor: pointer; text-decoration: none; touch-action: manipulation; user-select: none; -webkit-tap-highlight-color: transparent; }
.commerce .commerce-paybar { margin-top: 16px; padding-top: 20px; border-top: 1px solid var(--commerce-line); }
.commerce .commerce-paybar__total { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 16px; font-size: 14px; font-weight: 700; }
.commerce .commerce-paybar__total small { display: block; margin-top: 4px; color: var(--commerce-muted); font-size: 12px; font-weight: 400; }
.commerce .commerce-paybar__total strong { font-size: 23px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.commerce .commerce-paybar .commerce-button { width: 100%; }
.commerce .commerce-button:hover { background: #0b6d31; color: #fff; text-decoration: none; }
.commerce .commerce-button--full { width: 100%; }
.commerce .commerce-summary__note { margin: 12px 0 0; font-size: 12px; color: var(--commerce-muted); }
.commerce .commerce-summary__support { display: flex; align-items: center; gap: 12px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--commerce-line); font-size: 13px; }
.commerce .commerce-summary__support a { display: block; margin-top: 4px; font-weight: 600; }
.commerce .commerce-help { margin-top: 32px; padding: 24px; background: #f1f5f8; border-radius: 8px; }
.commerce .commerce-help h2 { font-size: 17px; }
.commerce .commerce-help p { margin: 8px 0 12px; font-size: 14px; color: var(--commerce-muted); }
.commerce .commerce-help a { font-size: 14px; font-weight: 600; }
.commerce .commerce-empty { padding: 64px 24px 80px; text-align: center; }
.commerce .commerce-empty svg { color: #6d8190; }
.commerce .commerce-empty h2 { margin-top: 20px; font-size: 25px; }
.commerce .commerce-empty p { margin: 12px 0 24px; color: var(--commerce-muted); }
.commerce .commerce-progress { margin: 0 0 36px; }
.commerce .commerce-progress ol { display: flex; gap: 0; width: 100%; padding: 0; margin: 0; list-style: none; }
.commerce .commerce-progress li { flex: 1; min-width: 0; margin: 0; padding-bottom: 16px; border-bottom: 2px solid #dfe4e8; }
.commerce .commerce-progress a { display: flex; align-items: center; gap: 10px; min-height: 36px; color: var(--commerce-ink); font-size: 14px; font-weight: 600; }
.commerce .commerce-progress span { display: grid; place-items: center; width: 28px; height: 28px; flex: none; border: 1px solid #a9b9c5; border-radius: 50%; color: var(--commerce-link); font-size: 13px; }
.commerce .commerce-section { padding: 0 0 36px; margin-bottom: 36px; border-bottom: 1px solid var(--commerce-line); scroll-margin-top: 136px; }
.commerce .commerce-section:last-child { margin-bottom: 0; }
.commerce .commerce-section__intro { margin: 8px 0 24px; color: var(--commerce-muted); font-size: 14px; }
.commerce .commerce-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 16px; }
.commerce .commerce-field { display: grid; align-content: start; gap: 8px; }
.commerce .commerce-field--wide { grid-column: 1 / -1; }
.commerce .commerce-field label { margin: 0; font-size: 14px; font-weight: 600; color: var(--commerce-ink); }
.commerce .commerce-field input { display: block; width: 100%; height: 48px; padding: 10px 12px; margin: 0; border: 1px solid #9eaab4; border-radius: 5px; background: #fff; color: var(--commerce-ink); font: 400 16px/1.4 'DM Sans',sans-serif; }
.commerce .commerce-field input::placeholder { color: #626b73; }
.commerce .commerce-field input[aria-invalid="true"] { border-color: #bb252b; box-shadow: 0 0 0 3px #bb252b29; }
.commerce .commerce-field-error { margin: 0; color: #a51e26; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.commerce .commerce-choices { padding: 0; margin: 0; border: 0; min-width: 0; }
.commerce .commerce-choice { display: flex; align-items: flex-start; gap: 12px; min-height: 58px; padding: 16px; margin: 0 0 10px; border: 1px solid #cbd4db; border-radius: 6px; background: #fff; font-size: 14px; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.commerce .commerce-choice span { min-width: 0; flex: 1; }
.commerce .commerce-choice span small { display: block; margin-top: 2px; color: var(--commerce-muted); font-size: 12px; font-weight: 500; line-height: 1.4; }
.commerce .commerce-choice:has(input:checked) { border-color: #145b94; background: #f0f6fb; }
.commerce .commerce-choice input { appearance: auto; -webkit-appearance: auto; display: block !important; position: static !important; opacity: 1 !important; width: 18px; height: 18px; min-width: 18px; margin: 0; accent-color: #145b94; }
.commerce .commerce-choice strong { margin-left: auto; font-size: 13px; font-weight: 600; white-space: nowrap; }
.commerce .commerce-address { margin-top: 24px; }
.commerce [hidden] { display: none !important; }
.commerce .commerce-payment-note { margin: 16px 0 0; color: var(--commerce-muted); font-size: 13px; line-height: 1.6; }
.commerce .commerce-mini-items { list-style: none; padding: 0; margin: 24px 0; }
.commerce .commerce-mini-items li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 16px 0; border-bottom: 1px solid var(--commerce-line); }
.commerce .commerce-mini-items li:first-child { padding-top: 0; }
.commerce .commerce-mini-items img { width: 60px; height: 60px; flex: none; object-fit: contain; }
.commerce .commerce-mini-items div { min-width: 0; }
.commerce .commerce-mini-items strong { display: block; font-size: 13px; line-height: 1.5; }
.commerce .commerce-mini-items span { display: block; margin-top: 4px; font-size: 13px; font-variant-numeric: tabular-nums; }
.commerce .commerce-alert { margin-bottom: 28px; padding: 16px 20px; border: 1px solid #e2b5b8; border-radius: 6px; background: #fff5f5; color: #8e1d25; font-size: 14px; overflow-wrap: anywhere; }
.commerce .commerce-alert p { margin: 4px 0 0; }
.commerce .commerce-guest-note { margin: 0 0 28px; font-size: 14px; color: var(--commerce-muted); }
.commerce .commerce-guest-note a { font-weight: 600; }
.commerce .commerce-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1100px) {
 .commerce .commerce-grid { grid-template-columns: minmax(0,1fr) 320px; gap: 32px; }
 .commerce .commerce-item { grid-template-columns: 112px minmax(0,1fr); gap: 20px; }
 .commerce .commerce-item__price { grid-column: 2; grid-row: 2; font-size: 19px; }
 .commerce .commerce-item__image { grid-row: 1 / 3; }
 .commerce .commerce-item__image img { height: 112px; }
}
@media (max-width: 800px) {
 .commerce { padding-top: 20px; padding-bottom: calc(120px + env(safe-area-inset-bottom)); }
 .commerce .commerce-field, .commerce .commerce-choice, .commerce .commerce-check, .commerce .commerce-alert { scroll-margin-bottom: calc(112px + var(--compare-bar-height, 0px) + env(safe-area-inset-bottom)); }
 .commerce-checkout .commerce-heading { margin-bottom: 12px; }
 .commerce-checkout .commerce-progress { margin-bottom: 12px; }
 .commerce-checkout .commerce-guest-note { margin-bottom: 12px; }
 .commerce-checkout .commerce-section__intro { margin-bottom: 12px; }
 .commerce-checkout .commerce-back { margin-bottom: 4px; }
 .commerce .commerce-wrap { width: calc(100% - 32px); }
 .commerce .commerce-heading { margin-bottom: 28px; gap: 8px 16px; }
 .commerce h1 { font-size: 28px; }
 .commerce .commerce-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
 .commerce .commerce-summary { position: static; padding: 20px; }
 .commerce .commerce-paybar { position: fixed; z-index: 45; left: 0; right: 0; bottom: var(--compare-bar-height, 0px); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--commerce-line); border-radius: 0; background: #fff; box-shadow: 0 -8px 24px #17212b14; }
 html.compare-open .commerce { padding-bottom: calc(180px + var(--compare-bar-height, 0px) + env(safe-area-inset-bottom)); }
 .commerce .commerce-paybar__total { flex-direction: column; align-items: flex-start; gap: 2px; margin: 0; }
 .commerce .commerce-paybar__total strong { font-size: 20px; }
 .commerce .commerce-paybar .commerce-button { width: auto; min-height: 48px; padding-inline: 16px; }
 .commerce .commerce-summary__support { margin-top: 20px; }
 .commerce .commerce-progress { margin-bottom: 28px; }
 .commerce .commerce-progress a { font-size: 12px; gap: 7px; }
 .commerce .commerce-progress span { width: 24px; height: 24px; }
 .commerce .commerce-section { scroll-margin-top: 128px; margin-bottom: 28px; padding-bottom: 28px; }
 .commerce .commerce-section h2 { font-size: 20px; }
 .commerce .commerce-item { padding: 24px 0; grid-template-columns: 96px minmax(0,1fr); gap: 12px 16px; }
 .commerce .commerce-item__image img { height: 96px; }
 .commerce .commerce-form-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .commerce .commerce-field--wide { grid-column: auto; }
 .commerce .commerce-help { padding: 20px; }
}
@media (max-width: 420px) {
 .commerce .commerce-wrap { width: calc(100% - 24px); }
 .commerce .commerce-paybar { grid-template-columns: minmax(0, 1fr) auto; }
 .commerce .commerce-paybar__total { flex-direction: column; align-items: flex-start; gap: 0; }
 .commerce .commerce-paybar__total strong { margin-left: 0; font-size: 18px; text-align: left; }
 .commerce .commerce-paybar .commerce-button { width: auto; max-width: 58%; padding-inline: 12px; }
 .commerce .commerce-choice strong { white-space: normal; text-align: right; }
 .commerce .commerce-progress a { line-height: 1.3; }
}

@media (max-width: 800px) {
 :is(.commerce-cart, .commerce-checkout) { padding-bottom: calc(172px + env(safe-area-inset-bottom)); }
 .commerce-checkout .commerce-field, .commerce-checkout .commerce-choice, .commerce-checkout .commerce-check, .commerce-checkout .commerce-alert { scroll-margin-bottom: calc(172px + var(--compare-bar-height, 0px) + env(safe-area-inset-bottom)); }
 :is(.commerce-cart, .commerce-checkout) .commerce-paybar { grid-template-columns: minmax(0, 1fr); gap: 10px; }
 :is(.commerce-cart, .commerce-checkout) .commerce-paybar__total { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; }
 :is(.commerce-cart, .commerce-checkout) .commerce-paybar__total strong { margin-left: auto; font-size: 22px; text-align: right; }
 :is(.commerce-cart, .commerce-checkout) .commerce-paybar .commerce-button { width: 100%; max-width: none; min-height: 48px; }
}

.cart-suggestions { margin: 28px 0; padding-top: 24px; border-top: 1px solid var(--pc-line, #dfe3e8); }
.cart-suggestions > h2 { margin: 0 0 8px; font-size: 23px; }
.cart-suggestions > p { margin: 0 0 20px; color: var(--pc-muted, #526172); }
.cart-suggestions__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.cart-suggestion { min-width: 0; display: flex; flex-direction: column; padding: 16px; border: 1px solid var(--pc-line, #dfe3e8); border-radius: 12px; background: #fff; }
.cart-suggestion__reason { margin: 0 0 12px; font-size: 12px; line-height: 1.5; color: var(--pc-muted, #526172); }
.cart-suggestion__image { display: grid; place-items: center; height: 140px; }
.cart-suggestion__image img { max-width: 100%; height: 140px; object-fit: contain; }
.cart-suggestion h3 { margin: 16px 0; font-size: 15px; line-height: 1.5; min-height: calc(2 * 1.5em); max-height: calc(2 * 1.5em); overflow: hidden; }
.cart-suggestion h3 a { color: inherit; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.drawer-extra h4 a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.cart-suggestion > strong { margin-top: auto; margin-bottom: 16px; font-size: 19px; }
.cart-suggestion .commerce-button { width: 100%; justify-content: center; gap: 8px; padding-inline: 8px; font-size: 14px; }
@media (max-width: 600px) { .cart-suggestions__grid { grid-template-columns: 1fr; } .cart-suggestion { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: 16px; } .cart-suggestion__reason { grid-column: 1 / -1; } .cart-suggestion__image { grid-column: 1; grid-row: 2 / 5; height: 120px; } .cart-suggestion__image img { height: 110px; } .cart-suggestion h3 { margin-top: 0; min-height: calc(3 * 1.5em); max-height: calc(3 * 1.5em); } .cart-suggestion h3 a, .drawer-extra h4 a { -webkit-line-clamp: 3; line-clamp: 3; } .cart-suggestion > strong, .cart-suggestion form { grid-column: 2; } }

html.shop-cart-open { overflow: hidden; }
.shop-cart-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(480px, 100%); max-width: 100%; height: 100dvh; max-height: 100dvh; overflow: hidden; padding: 0; border: 0; background: #fff; color: var(--pc-ink, #17212b); box-shadow: -12px 0 48px #0003; }
.shop-cart-drawer::backdrop { background: #0008; }
.shop-cart-drawer[open] { display: flex; flex-direction: column; }
.shop-cart-drawer__head { flex: none; display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid #dfe3e8; }
.shop-cart-drawer__head h2 { font-size: 23px; margin: 0; }
.shop-cart-drawer__head button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #dfe3e8; border-radius: 8px; background: #fff; color: inherit; cursor: pointer; }
.shop-cart-drawer__notice { flex: none; margin: 0; padding: 10px 20px; background: #edf7f0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.drawer-offer-bar { margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; background: #eaf7ee; color: #116532; font-size: 14px; font-weight: 650; line-height: 1.4; }
.shop-cart-drawer [data-cart-content] { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.shop-cart-drawer__scroll { overflow: auto; overscroll-behavior: contain; min-height: 0; flex: 1; padding: 0 20px 20px; scroll-padding-block: 16px; scrollbar-width: thin; scrollbar-color: #a9b9c5 #f4f7f9; }
.drawer-cart-lines { list-style: none; margin: 0; padding: 0; }
.drawer-cart-lines > li { position: relative; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; padding: 20px 0; border-bottom: 1px solid #dfe3e8; }
.drawer-cart-lines > li > div { min-width: 0; padding-right: 32px; }
.drawer-cart-lines img, .drawer-extra img { width: 100%; height: 72px; object-fit: contain; }
.drawer-cart-lines strong { display: block; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.drawer-cart-lines p { margin: 8px 0; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
.drawer-cart-lines small { display: block; color: var(--pc-muted, #526172); }
.cart-coupon__remove { min-height: 44px; border: 0; padding: 4px 0; background: none; color: #245c76; text-decoration: underline; cursor: pointer; }
.drawer-cart-lines .drawer-remove-form { position: absolute; top: 8px; right: 0; margin: 0; }
.drawer-cart-lines .drawer-remove { display: grid; place-items: center; width: 44px; max-width: none; height: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #6b7784; cursor: pointer; }
.drawer-cart-lines .drawer-remove:hover { color: #17212b; }
.drawer-cart-lines .drawer-remove:focus-visible { outline: 2px solid #145b94; outline-offset: 2px; }
.drawer-extras { padding: 24px 0; }
.drawer-extras h3 { margin: 0 0 8px; font-size: 20px; line-height: 1.35; }
.drawer-extras > p { margin: 0 0 12px; color: var(--pc-muted, #526172); font-size: 14px; }
.drawer-extra { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; margin-bottom: 12px; padding: 14px; border: 1px solid #dfe3e8; border-radius: 12px; }
.drawer-extra small { font-size: 12px; color: var(--pc-muted, #526172); }
.drawer-extra h4 { margin: 6px 0; font-size: 15px; line-height: 1.5; }
.drawer-extra h4 a { color: inherit; }
.drawer-extra strong { display: block; margin: 8px 0; }
.drawer-extra .commerce-button { min-height: 44px; padding: 8px 14px; gap: 14px; }
.drawer-extra > a { align-self: center; }
.drawer-extra__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 12px; min-width: 0; }
.drawer-extra__body > small, .drawer-extra__body > h4 { grid-column: 1 / -1; margin: 0; }
.drawer-extra__body > strong { margin: 0; font-size: 16px; font-variant-numeric: tabular-nums; }
.drawer-extra__body > form { margin: 0; }
.drawer-ai { width: 100%; min-height: 48px; padding: 12px; border: 1px solid #b9cbd5; border-radius: 10px; color: #245c76; background: #f1f6fa; font: inherit; text-align: left; cursor: pointer; }
.shop-cart-drawer__advisor { margin-bottom: 16px; }
.shop-cart-drawer__advisor .drawer-ai { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 10px 12px; font-size: 14px; line-height: 1.4; }
.shop-cart-drawer__advisor .drawer-ai svg { flex: none; }
.shop-cart-drawer__advisor .drawer-ai svg:last-child { margin-left: auto; }
.drawer-ai-note { color: var(--pc-muted, #526172); font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
.drawer-ai:hover { background: #e6eff5; border-color: #7396a9; }
.drawer-ai:focus-visible { outline: 3px solid #245c76; outline-offset: 3px; }
.cart-advisor { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0; padding: 16px; border: 1px solid #b9cbd5; border-radius: 8px; background: #f1f6fa; }
.cart-advisor h2 { margin: 0 0 6px; font-size: 18px; line-height: 1.4; }
.cart-advisor p { margin: 0; color: #466273; font-size: 14px; line-height: 1.5; }
.cart-advisor .drawer-ai { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: auto; flex: none; }
.cart-advisor .drawer-ai svg { flex: none; }
@media (max-width: 600px) { .cart-advisor { align-items: stretch; flex-direction: column; gap: 14px; } .cart-advisor .drawer-ai { width: 100%; text-align: center; } }
.shop-cart-drawer__foot { flex: none; padding: 12px 20px max(8px, env(safe-area-inset-bottom)); border-top: 1px solid #dfe3e8; background: #fff; }
.shop-cart-drawer__total { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 14px; line-height: 1.4; }
.shop-cart-drawer__total strong { font-size: 23px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.shop-cart-drawer__total small { display: block; margin-top: 2px; color: var(--commerce-muted); font-size: 12px; }
.shop-cart-drawer__view { display: flex; align-items: center; justify-content: center; min-height: 44px; text-align: center; color: #245c76; font-size: 14px; }
.shop-cart-drawer__details > small { display: block; margin-top: 4px; color: var(--commerce-muted); font-size: 13px; }
.shop-cart-drawer .cart-coupon { margin-bottom: 12px; }
.shop-cart-drawer .commerce-vat { margin: 0 0 12px; font-size: 13px; }
.shop-cart-drawer .commerce-vat summary { min-height: 44px; }
.cart-coupon { border-bottom: 1px solid #dfe3e8; margin: 0 0 16px; padding-bottom: 12px; }
.cart-coupon summary { min-height: 44px; cursor: pointer; display: list-item; list-style: disclosure-closed inside; padding-block: 10px; }
details.cart-coupon[open] summary { list-style-type: disclosure-open; }
.cart-coupon--applied p { margin: 8px 0; }
details.cart-coupon:not([open]) > :not(summary) { display: none; }
.cart-coupon__form { gap: 8px; margin-top: 8px; }
details.cart-coupon[open] > .cart-coupon__form { display: flex; }
.cart-coupon input { width: 0; flex: 1; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid #aab6c0; border-radius: 8px; font-size: 16px; }
.cart-coupon__form .commerce-button { min-height: 44px; padding: 10px 14px; font-size: 14px; }
.cart-advisor-host > .catalog-advice > .advisor-launch { display: none; }
.shop-cart-drawer__loading { padding: 22px; }

.compare-page.commerce { background: #fff; }
.compare-page__intro { margin: -8px 0 28px; color: var(--pc-muted, #526172); max-width: 680px; }
.compare-page .compare-page__body { padding-top: 0; padding-bottom: 0; }
.compare-page__browse { display: block; margin-top: 18px; color: #245c76; }
.compare-page .compare-table { border: 1px solid #dfe3e8; border-radius: 12px; overflow: auto; }
.compare-page .compare-table__row { padding: 18px; }
.compare-page .compare-table__row:nth-child(even) { background: #f6f8fa; }
@media (max-width: 640px) { .compare-page .compare-table__row { grid-template-columns: repeat(var(--compare-n), 200px); width: max-content; min-width: 100%; gap: 14px; } .compare-page .compare-table__key { grid-column: 1 / -1; } .compare-page .compare-table__row--head > .compare-table__key { display: none; } .compare-page .compare-card { min-width: 0; padding: 12px; } .compare-page .compare-card__media { height: 140px; aspect-ratio: auto; background: #fff; padding: 0; } .compare-page .compare-card__media img { width: 100%; max-width: 100%; height: 140px; object-fit: contain; } }

.compare-page .compare-table { min-width: 0; max-width: 100%; }

.commerce .commerce-totals .commerce-shipping-free { color: var(--commerce-green); font-weight: 650; }

/* The comparison tray owns the bottom safe area; configurator controls sit above its measured height. */
html.compare-open .cfg .cfg-bar { bottom: var(--compare-bar-height, 0px); }
@media (max-width: 1023px) {
 html.compare-open .cfg .cfg-bar { padding-bottom: 10px; }
 html.compare-open .cfg .cfg-sum { bottom: var(--compare-bar-height, 0px); max-height: calc(100dvh - var(--cfg-head) - var(--compare-bar-height, 0px) - 12px); padding-bottom: 72px; }
 html.compare-open body:has(.cfg-bar) { padding-bottom: 72px; }
 html.compare-open .cfg .cfg-toast { bottom: calc(84px + var(--compare-bar-height, 0px)); }
}
.commerce-vat { margin: -8px 0 20px; font-size: 12px; color: #57636f; }
.commerce-vat summary { display: flex; align-items: center; gap: 6px; width: fit-content; padding: 8px 0; cursor: pointer; list-style: none; }
.commerce-vat summary::-webkit-details-marker { display: none; }
.commerce-vat summary:focus-visible { outline: 2px solid #145b94; outline-offset: 3px; border-radius: 2px; }
.commerce-vat[open] summary svg { transform: rotate(180deg); }
.commerce-vat dl { margin: 0; padding: 10px 12px; background: #f7f8fa; border-radius: 8px; }
.commerce-vat dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 3px 0; }
.commerce-vat dt { font-weight: 400; }
.commerce-vat dd { margin: 0; color: #17212b; font-variant-numeric: tabular-nums; white-space: nowrap; }
.commerce-preview { margin: 0 0 24px; padding: 16px 18px; border: 1px solid #b8cedd; border-radius: 10px; color: #164c70; background: #eef6fb; font-size: 14px; line-height: 1.6; }
.commerce-preview strong { display: block; font-size: 15px; }
.commerce-preview p { margin: 6px 0 0; }
