.commerce-cart-trigger { position:relative; display:flex; align-items:center; justify-content:center; gap:6px; min-width:54px; height:44px; padding:6px 9px; border:1px solid #075f55; border-radius:6px; color:#fff; background:#075f55; box-shadow:0 9px 20px rgba(7,95,85,.20); cursor:pointer; }
.commerce-cart-trigger:hover { background:#064e47; }
.commerce-cart-trigger img { filter:brightness(0) invert(1); }
.commerce-cart-trigger span { min-width:14px; font-size:12px; font-weight:800; }
html.commerce-cart-open,html.commerce-cart-open body { overflow:hidden; overscroll-behavior:none; }
body.commerce-checkout-open { position:fixed; inset:0; width:100%; height:100dvh; }
.commerce-cart { position:fixed; inset:0 0 0 auto; margin:0; padding:0; border:0; width:480px; max-width:100%; height:100dvh; max-height:100dvh; color:#172522; background:#fff; letter-spacing:0; }
.commerce-cart[open] { display:flex; flex-direction:column; }
.commerce-cart::backdrop { background:rgba(12,24,22,.45); }
.commerce-cart header { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; padding:24px; border-bottom:1px solid #dce4e2; }
.commerce-cart header small { color:#586762; font-size:12px; }
.commerce-cart h2 { margin:4px 0 0; font-size:24px; line-height:1.2; }
.commerce-icon-button { display:flex; justify-content:center; align-items:center; width:44px; height:44px; flex-shrink:0; padding:8px; border:1px solid #dce4e2; border-radius:4px; background:#fff; cursor:pointer; }
.commerce-cart-items { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:0 24px; }
.commerce-test-notice { flex-shrink:0; margin:0; padding:10px 24px; border-bottom:1px solid #c9ddd7; background:#edf6f2; color:#254c40; font-size:13px; line-height:1.5; }
.commerce-cart-feedback { margin:18px 0 0; border-left:3px solid #a33120; padding:4px 0 4px 12px; }
.commerce-cart-feedback p { margin:0 0 10px; font-size:14px; line-height:1.5; }
.commerce-cart-feedback .button { min-height:44px; padding:10px 18px; }
.commerce-cart-empty { display:grid; justify-items:center; align-content:center; gap:20px; min-height:280px; padding:20px 0; text-align:center; }
.commerce-cart-empty>img { width:48px; height:48px; }
.commerce-cart-empty h3 { font-size:20px; line-height:1.4; }
.commerce-cart-item { display:grid; grid-template-columns:88px minmax(0,1fr); gap:16px; padding:24px 0; border-bottom:1px solid #e1e7e5; }
.commerce-cart-photo { align-self:start; display:block; width:88px; aspect-ratio:1; }
.commerce-cart-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.commerce-cart-item h3 { margin:0; font-size:16px; font-weight:650; line-height:1.45; overflow-wrap:anywhere; }
.commerce-cart-item-copy>a { color:#174e47; text-decoration:underline; text-underline-offset:3px; }
.commerce-cart-item p { margin:5px 0 10px; color:#5b6863; font-size:12px; }
.commerce-line-price { font-size:14px; }
.commerce-unit-price { display:block; margin-bottom:5px; color:#586762; font-size:13px; line-height:1.4; }
.commerce-item-controls { display:flex; align-items:center; gap:12px; margin-top:16px; }
.commerce-stepper { display:grid; grid-template-columns:44px 44px 44px; height:44px; border:1px solid #b8c6c1; border-radius:4px; overflow:hidden; }
.commerce-stepper button { display:flex; align-items:center; justify-content:center; border:0; padding:0; background:#f2f6f4; cursor:pointer; }
.commerce-stepper button:disabled { opacity:.35; cursor:default; }
.commerce-stepper input { width:44px; min-width:0; padding:0; border:0; background:#fff; text-align:center; font-size:16px; -moz-appearance:textfield; }
.commerce-stepper input::-webkit-inner-spin-button { -webkit-appearance:none; }
.commerce-cart footer { flex-shrink:0; padding:20px 24px max(20px,env(safe-area-inset-bottom)); border-top:1px solid #dce4e2; background:#f8faf9; }
.commerce-cart-total { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:0 0 18px; font-size:16px; }
.commerce-cart-total[hidden] { display:none; }
.commerce-checkout { width:100%; min-height:48px; }
.commerce-checkout:disabled { background:#dce3df; color:#65726b; box-shadow:none; cursor:not-allowed; }
.commerce-continue { display:block; margin:10px auto 0; min-height:44px; padding:8px; border:0; background:transparent; color:#165b50; text-decoration:underline; cursor:pointer; }
.commerce-add img { filter:brightness(0) invert(1); }
.kit-card-actions:has(.commerce-add),.catalog-card-actions:has(.commerce-add) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:center; }
.kit-card-actions .commerce-add,.catalog-card-actions .commerce-add { grid-column:1/-1; min-height:52px; width:100%; white-space:normal; }
.kit-card-actions:has(.commerce-add) .button,.catalog-card-actions:has(.commerce-add) .button { min-width:0; min-height:42px; padding:9px 13px; line-height:1.3; white-space:normal; text-align:center; }
.kit-card-actions:has(.commerce-add) .button.secondary,.catalog-card-actions:has(.commerce-add) .button.secondary { width:100%; }
.kit-card-actions:has(.commerce-add) .kit-buy,.catalog-card-actions:has(.commerce-add) .catalog-buy-button { justify-self:end; width:auto; min-height:40px; padding:8px 12px; border:1px solid #d79a4a; background:#fff8ee; color:#704000; box-shadow:none; font-size:12px; font-weight:750; }
.kit-card-actions:has(.commerce-add) .kit-buy:hover,.catalog-card-actions:has(.commerce-add) .catalog-buy-button:hover { background:#ffedcf; color:#4d2b00; }
.commerce-add { display:inline-flex; align-items:center; justify-content:center; gap:8px; border-color:#075f55; background:#075f55; color:#fff; box-shadow:0 12px 24px rgba(7,95,85,.22); font-weight:850; }
.commerce-add:hover { background:#064e47; }
.commerce-add img { flex-shrink:0; }
.product-detail-actions:has(.commerce-add) { align-items:center; }
.product-detail-actions:has(.commerce-add) .commerce-add { flex:1 1 250px; min-height:54px; }
.product-detail-actions:has(.commerce-add) .button.amazon { flex:0 0 auto; min-height:40px; padding:8px 13px; border:1px solid #d79a4a; background:#fff8ee; color:#704000; box-shadow:none; font-size:12px; }
.commerce-delivery-entry { width:100%; min-height:48px; margin-bottom:10px; white-space:normal; }
.commerce-delivery-entry[hidden] { display:none; }
.commerce-delivery { inset:0; width:1100px; max-width:calc(100% - 40px); height:850px; max-height:calc(100dvh - 40px); margin:auto; padding:0; overflow:hidden; border:0; border-radius:6px; background:#fff; color:#172522; letter-spacing:0; }
.commerce-delivery[open] { display:flex; flex-direction:column; }
.commerce-delivery::backdrop { background:rgba(12,24,22,.5); }
.commerce-delivery header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 28px; flex-shrink:0; }
.commerce-delivery header small { font-size:12px; color:#586762; }
.commerce-delivery h2 { font-size:24px; line-height:1.25; margin:4px 0 0; overflow-wrap:anywhere; }
.commerce-delivery h3 { font-size:20px; line-height:1.35; margin:0 0 22px; }
.commerce-delivery h4 { font-size:15px; line-height:1.5; margin:0 0 8px; }
.commerce-fulfillment-note { margin:0 0 24px; padding:18px; border:1px solid #c8d9d3; border-radius:4px; background:#f3f8f6; }
.commerce-fulfillment-note strong { display:block; margin-bottom:6px; font-size:15px; }
.commerce-fulfillment-note p { margin:0; color:#455b55; font-size:14px; line-height:1.6; }
.commerce-privacy-consent { display:flex; align-items:flex-start; gap:12px; margin:4px 0 18px; color:#334b45; font-size:14px; line-height:1.55; cursor:pointer; }
.commerce-privacy-consent input { width:20px; height:20px; margin:1px 0 0; flex-shrink:0; accent-color:#145346; }
.commerce-privacy-consent a { color:#145346; font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.commerce-reference-total { display:grid; gap:5px; padding-top:16px; border-top:1px solid #dce4e2; }
.commerce-reference-total strong { font-size:17px; }
.commerce-reference-total span { color:#637069; font-size:13px; line-height:1.5; }
.delivery-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:16px 28px; margin:0; list-style:none; border-bottom:1px solid #dce4e2; flex-shrink:0; }
.delivery-steps li { display:flex; align-items:center; gap:8px; font-size:14px; color:#637069; overflow-wrap:anywhere; }
.delivery-steps li[aria-current] { color:#145346; font-weight:700; }
.delivery-steps span { width:26px; height:26px; flex-shrink:0; display:grid; place-items:center; border:1px solid #bbcfc6; border-radius:50%; font-size:12px; }
.delivery-steps li[aria-current] span { background:#145346; color:#fff; border-color:#145346; }
.delivery-scroll { overflow:auto; min-height:0; overscroll-behavior:contain; padding:28px; }
.delivery-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:40px; }
.delivery-main { min-width:0; }
.delivery-main fieldset { border:0; padding:0; margin:0; min-width:0; }
.commerce-delivery [hidden] { display:none !important; }
.delivery-main legend { font-size:15px; font-weight:650; margin:0 0 16px; padding:0; }
.delivery-billing { padding:22px 0; margin-bottom:24px; border-top:1px solid #dce4e2; border-bottom:1px solid #dce4e2; }
.delivery-billing-toggle { display:flex; gap:12px; align-items:center; min-height:48px; cursor:pointer; font-size:14px; line-height:1.5; }
.delivery-billing-toggle input { width:20px; height:20px; margin:0; flex-shrink:0; accent-color:#145346; }
.delivery-billing [data-billing-fields] { padding-top:18px; }
.delivery-billing .delivery-fields { margin-bottom:0; }
.delivery-review-addresses { display:grid; gap:22px; }
.delivery-review-addresses>div { min-width:0; }
.delivery-review-addresses p { margin:0; }
@media(min-width:1040px) { .delivery-review-addresses { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.delivery-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.delivery-fields label { display:grid; gap:7px; font-size:13px; line-height:1.4; font-weight:600; min-width:0; }
.delivery-wide { grid-column:1/-1; }
.delivery-fields input,.delivery-fields select { width:100%; min-width:0; min-height:46px; border:1px solid #b4c4bc; border-radius:4px; background:white; color:#172522; padding:10px 12px; font:inherit; font-size:16px; box-sizing:border-box; }
.delivery-notes { margin-bottom:20px !important; }
.delivery-notes textarea { display:block; width:100%; min-width:0; min-height:108px; resize:vertical; border:1px solid #b4c4bc; border-radius:4px; background:#fff; color:#172522; padding:12px; font:inherit; font-size:16px; line-height:1.5; box-sizing:border-box; }
.commerce-delivery .button { width:100%; min-height:48px; padding:12px 18px; white-space:normal; line-height:1.5; }
.commerce-delivery .commerce-checkout-copy { margin-top:10px; border:1px solid #145346; background:#fff; color:#145346; font-weight:700; }
.commerce-delivery .commerce-checkout-copy:hover { background:#edf6f2; }
.commerce-delivery button:disabled { cursor:not-allowed; opacity:.65; }
.commerce-delivery :is(button,input,select,textarea):focus-visible { outline:3px solid #c26c00; outline-offset:2px; }
.delivery-summary { padding-left:28px; border-left:1px solid #dce4e2; min-width:0; }
@media(min-width:761px) { .delivery-summary { position:sticky; top:0; align-self:start; } }
.delivery-summary article { display:grid; grid-template-columns:72px minmax(0,1fr); gap:14px; padding:0 0 20px; margin-bottom:20px; border-bottom:1px solid #e1e7e5; }
.delivery-summary article img { width:72px; height:72px; object-fit:contain; }
.delivery-summary article h4 { font-weight:600; overflow-wrap:anywhere; }
.delivery-summary article small { display:block; color:#637069; font-size:13px; margin:6px 0; }
.delivery-summary article strong { font-size:15px; }
.delivery-summary dl { margin:0; font-size:14px; }
.delivery-summary dl>div { display:flex; justify-content:space-between; gap:16px; margin:14px 0; }
.delivery-summary dd { margin:0; white-space:nowrap; font-weight:650; }
.delivery-summary .delivery-total { border-top:1px solid #dce4e2; padding-top:20px; font-size:18px; }
.delivery-feedback { margin-bottom:18px; padding:12px; border-left:3px solid #a33120; background:#fcf4f2; font-size:14px; line-height:1.5; }
.delivery-options { display:grid; gap:14px; margin-bottom:24px; }
.delivery-options label { display:flex; align-items:center; gap:12px; min-height:72px; border:1px solid #b4c4bc; border-radius:4px; padding:16px; cursor:pointer; font-size:15px; }
.delivery-options label:has(input:checked) { border-color:#145346; background:#eef7f2; box-shadow:inset 0 0 0 1px #145346; }
.delivery-options input { width:20px; height:20px; margin:0; flex-shrink:0; accent-color:#145346; }
.delivery-options strong { margin-left:auto; white-space:nowrap; }
.delivery-review address { font-style:normal; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.delivery-review .commerce-continue { margin:8px 0 22px; }
.delivery-review p { font-size:15px; line-height:1.5; }
.delivery-not-placed { color:#637069; text-align:center; }
.delivery-review-payment { grid-column:1/-1; padding-top:20px; border-top:1px solid #dce4e2; }
.delivery-review-payment .commerce-checkout { display:block; max-width:500px; margin:auto; }
.delivery-review-payment .delivery-not-placed { margin:10px 0 0; font-size:14px; }
@media(max-width:760px) {
  .commerce-delivery { width:100%; max-width:100%; height:100dvh; max-height:100dvh; overflow-y:auto; border-radius:0; }
  .commerce-delivery[open] { display:block; }
  .commerce-delivery header { position:sticky; top:0; z-index:2; padding:16px 18px; background:#fff; }
  .commerce-delivery h2 { font-size:21px; }
  .commerce-delivery .commerce-test-notice { padding:10px 18px; font-size:12px; }
  .delivery-steps { padding:14px 18px; gap:10px; }
  .delivery-steps li { font-size:12px; gap:6px; }
  .delivery-steps span { width:22px; height:22px; }
  .delivery-scroll { overflow:visible; padding:22px 18px max(22px,env(safe-area-inset-bottom)); }
  .delivery-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .delivery-summary { border-left:0; border-top:1px solid #dce4e2; padding:24px 0 0; }
  .delivery-fields { gap:14px 12px; }
  .delivery-fields label:has(select),.delivery-fields label:has(input[name="postalCode"]),.delivery-fields label:has(input[name="billing.postalCode"]) { grid-column:1/-1; }
}
.commerce-cart-item .commerce-quantity-error { color:#a33120; font-size:13px; line-height:1.4; margin:10px 0 0; }
.commerce-stepper input[aria-invalid="true"] { box-shadow:inset 0 0 0 2px #a33120; }
.commerce-cart button:focus-visible,.commerce-cart input:focus-visible,.commerce-cart a:focus-visible,.commerce-cart-trigger:focus-visible { outline:3px solid #c26c00; outline-offset:2px; }
@media(max-width:980px) { .nav-links:has(.commerce-cart-trigger) { grid-template-columns:repeat(3,minmax(0,1fr)) 44px; } }
@media(max-width:480px) { .commerce-cart header { padding:20px; } .commerce-cart-items { padding:0 18px; } .commerce-cart footer { padding:18px; } .commerce-cart-item { grid-template-columns:70px minmax(0,1fr); gap:12px; } .commerce-cart-photo { width:70px; } .commerce-item-controls { gap:8px; } .commerce-cart-trigger { min-width:44px; } .nav-links:has(.commerce-cart-trigger) { gap:4px; } .commerce-add { width:100%; } }
@media(max-width:700px) {
  .product-detail-actions:has(.commerce-add) { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; align-items:stretch; }
  .product-detail-actions:has(.commerce-add) .commerce-add { grid-column:1/-1; width:100%; min-height:54px; }
  .product-detail-actions:has(.commerce-add) .button.amazon { grid-column:1; width:auto; min-width:116px; min-height:42px; padding:9px 13px; }
  .product-detail-actions:has(.commerce-add) .button:not(.commerce-add):not(.amazon) { grid-column:2; width:100%; min-width:0; }
  .mobile-product-bar:has(.commerce-add) { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); }
  .mobile-product-bar-actions:has(.commerce-add) { grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr); gap:7px; }
  .mobile-product-bar-actions:has(.commerce-add) :is(.commerce-add,.mobile-buy-cta) { min-width:0; min-height:48px; padding:8px 6px; line-height:1.2; white-space:normal; }
  .mobile-product-bar-actions:has(.commerce-add) .commerce-add { font-size:12px; }
  .mobile-product-bar-actions:has(.commerce-add) .mobile-buy-cta { border:1px solid #d79a4a; background:#fff8ee; color:#704000; box-shadow:none; font-size:10px; }
  .mobile-product-bar-actions:has(.commerce-add) .commerce-add img { width:17px; height:17px; }
}
