.product-page,.customer-page,.auth-page{ --customer-ink:#202420; --customer-line:#dce2da; --customer-muted:#626d5e; --customer-lime:#d7f05b; background:#fff; color:var(--customer-ink); }
.product-page,.customer-page{ padding-bottom:48px; }
.product-page h1,.customer-page h1,.auth-page h1,.customer-page h2,.product-information h2{ font-family:'Barlow Condensed',sans-serif; font-weight:600; letter-spacing:0; }
.product-page .btn,.customer-page .btn{ border-radius:3px; box-shadow:none; white-space:normal; text-align:center; }
.product-page .btn-primary,.customer-page .btn-primary{ background:var(--customer-ink); border-color:var(--customer-ink); color:#fff; }
.product-page .btn-primary:hover,.customer-page .btn-primary:hover{ background:#354630; transform:none; }
.product-page :focus-visible,.customer-page :focus-visible,.auth-page :focus-visible{ outline:2px solid #52723e; outline-offset:3px; }
.customer-back{ display:inline-flex; align-items:center; gap:10px; color:#626d5e; font-size:13px; margin-bottom:28px; }
.customer-back .icon{ transform:rotate(180deg); }
.customer-back:hover{ color:#202420; text-decoration:underline; text-underline-offset:4px; }
.customer-eyebrow{ display:block; font-size:12px; color:#626d5e; margin-bottom:8px; }
.auth-layout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; padding-block:56px; align-items:start; }
.auth-form{ width:100%; max-width:440px; margin:auto; padding:0 0 12px; }
.auth-form h1{ font-size:44px; line-height:1.1; margin:0 0 30px; overflow-wrap:anywhere; }
.auth-form form{ width:100%; }
.auth-form .mt-4{ margin-top:20px; }
.auth-form .mb-4{ margin-bottom:20px; }
.auth-form .mt-2{ margin-top:8px; }
.auth-form label{ display:block; font-size:14px; font-weight:500; margin-bottom:7px; color:#34402e; }
.auth-form input:not([type="checkbox"]):not([type="hidden"]){ width:100%; min-height:48px; border:1px solid #bbc6b6; border-radius:3px; padding:11px 13px; font:inherit; background:#fff; color:#202420; box-shadow:none; }
.auth-form input:focus{ outline:2px solid #52723e; outline-offset:2px; }
.auth-form input[type="checkbox"]{ width:18px; height:18px; accent-color:#354630; vertical-align:middle; margin:0 8px 0 0; }
.auth-form ul{ color:#a62d28; font-size:13px; }
.auth-form .text-green-600{ padding:12px 14px; background:#edf5e9; color:#315c25; border-left:3px solid #52723e; }
.auth-form .text-gray-600{ color:#626d5e; font-size:14px; }
.auth-form button[type="submit"],.auth-form button.inline-flex{ display:flex; width:100%; justify-content:center; align-items:center; min-height:48px; padding:12px 16px; background:#202420; color:#fff; border:1px solid #202420; border-radius:3px; font:600 15px 'Barlow',sans-serif; text-transform:none; letter-spacing:0; white-space:normal; margin:16px 0 0; }
.auth-form button[type="submit"]:hover,.auth-form button.inline-flex:hover{ background:#354630; }
.auth-form a:not(.customer-back){ text-decoration:underline; text-underline-offset:4px; }
.auth-actions{ display:flex; flex-direction:column; gap:4px; margin-top:20px; }
.auth-actions > a{ font-size:13px; align-self:flex-end; }
.auth-switch{ display:block; text-align:center; margin-top:26px; padding-top:24px; border-top:1px solid #dce2da; font-size:14px; color:#626d5e; }
.auth-switch a{ color:#202420; font-weight:600; }
.auth-password-field{ position:relative; }
.auth-form .auth-password-field input{ padding-right:52px !important; }
.auth-password-toggle{ position:absolute; top:2px; right:2px; width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:#fff; color:#626d5e; border:0; border-radius:3px; }
.auth-password-toggle[aria-pressed="true"]{ background:#edf5e9; color:#315c25; }
.auth-visual{ background:#edf0e9; min-width:0; overflow:hidden; }
.auth-visual img{ display:block; width:100%; height:auto; aspect-ratio:16 / 9; object-fit:contain; }
.auth-visual > div{ padding:30px; border-top:1px solid #dce2da; }
.auth-visual span{ display:block; font-size:12px; color:#626d5e; }
.auth-visual strong{ display:block; font-family:'Barlow Condensed',sans-serif; font-size:54px; line-height:1; margin-top:10px; font-weight:600; overflow-wrap:anywhere; }
.product-page .pd-layout{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:64px; padding:20px 0 52px; align-items:start; }
.product-page .pd-gallery-main{ aspect-ratio:1; height:auto; background:#f5f7f2; border:1px solid #e4e9df; border-radius:0; }
.product-page .pd-gallery-main::before,.product-page .pd-gallery-main::after{ display:none; }
.product-photo-link{ display:block; width:100%; height:100%; }
.product-page .pd-gallery-main img{ object-fit:contain; padding:28px; mix-blend-mode:multiply; }
.product-page .pd-gallery-main .icon{ filter:none; width:96px; height:96px; color:#84947d; }
.product-page .pd-brand-row{ margin:0 0 12px; }
.product-page .prod-brand{ color:#626d5e; letter-spacing:0; text-transform:none; font-weight:500; font-size:13px; }
.product-page .pd-title{ font-size:42px; line-height:1.1; margin-bottom:20px; overflow-wrap:anywhere; }
.product-page .pd-meta{ display:flex; flex-wrap:wrap; gap:12px; font-size:13px; margin-bottom:26px; }
.product-page .pd-stock{ display:flex; align-items:center; gap:6px; }
.product-page .pd-stock.is-unavailable{ color:#85614f; }
.product-page .pd-stock .dot{ background:currentColor; }
.product-page .pd-priceboard{ border:0; border-top:1px solid #dce2da; border-radius:0; background:#fff; padding:24px 0 0; }
.product-page .pd-price-main .now{ font-size:38px; font-weight:600; color:#202420; }
.product-page .pd-price-note{ font-size:13px; margin:8px 0 24px; color:#626d5e; }
.product-page .pd-qtybar{ display:flex; gap:16px; margin:0 0 24px; }
.product-page .qty-input{ display:flex; align-items:center; height:48px; border:1px solid #bbc6b6; border-radius:3px; flex-shrink:0; }
.product-page .qty-input button{ width:36px; height:44px; display:flex; align-items:center; justify-content:center; border:0; background:#fff; }
.product-page .qty-input input{ width:52px; min-width:0; height:44px; border:0; padding:0; text-align:center; font:inherit; }
.product-page .pd-perks{ display:grid; grid-template-columns:1fr; gap:16px; border-top:1px solid #dce2da; padding-top:20px; color:#626d5e; font-size:13px; }
.product-page .pd-perks > *{ display:flex; align-items:flex-start; gap:10px; }
.product-page .pd-perks a:hover{ text-decoration:underline; }
.product-information{ display:grid; grid-template-columns:1.1fr 1fr; gap:64px; border-block:1px solid #dce2da; padding-block:32px; }
.product-information h2{ font-size:28px; margin-bottom:18px; }
.product-description{ white-space:pre-line; line-height:1.8; color:#626d5e; overflow-wrap:anywhere; }
.product-information .spec-table td{ padding:12px 0; font-size:14px; background:none; border-bottom:1px solid #e7ece3; overflow-wrap:anywhere; }
.product-information .spec-table td:first-child{ width:48%; color:#626d5e; }
.product-page .prod-card{ border:0; border-radius:0; box-shadow:none; }
.product-page .prod-card:hover{ transform:none; box-shadow:none; }
.product-page .prod-thumb{ background:#f5f7f2; }
.product-page .prod-thumb::before,.product-page .prod-thumb::after{ display:none; }
.product-page .prod-thumb img{ object-fit:contain; padding:16px; mix-blend-mode:multiply; }
.product-page .prod-body{ padding:16px 0; }
.product-page .prod-name{ font-size:15px; overflow-wrap:anywhere; }
.product-page .prod-addbtn{ background:#202420; border-radius:3px; width:44px; height:44px; }
.product-page .prod-price{ font-size:22px; }
.customer-page .page-title-bar{ background:#f4f6f1; border-bottom:1px solid #dce2da; padding:0 0 28px; margin-bottom:0; }
.customer-page .page-title-bar h1{ font-size:42px; line-height:1.1; overflow-wrap:anywhere; }
.customer-page .page-title-bar p{ font-size:14px; margin-top:10px; color:#626d5e; }
.customer-page > .container{ padding-top:28px; }
.customer-account-nav{ display:flex; flex-wrap:wrap; gap:8px 28px; border-bottom:1px solid #dce2da; margin-bottom:32px; }
.customer-account-nav a{ display:flex; align-items:center; gap:8px; padding:12px 0 16px; border-bottom:2px solid transparent; font-size:14px; color:#626d5e; }
.customer-account-nav a[aria-current="page"]{ color:#202420; border-bottom-color:#52723e; font-weight:600; }
.customer-account-nav a:hover{ color:#202420; }
.customer-empty{ padding:56px 20px; display:flex; flex-direction:column; align-items:center; gap:24px; text-align:center; }
.customer-empty > .icon{ width:48px; height:48px; color:#84947d; }
.customer-empty h2{ font-size:30px; max-width:460px; line-height:1.2; }
.customer-checkout-layout{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:36px; align-items:start; }
.customer-table-wrap{ min-width:0; margin-bottom:28px; }
.customer-table{ width:100%; border-collapse:collapse; font-size:14px; }
.customer-table th{ font-size:11px; color:#626d5e; font-weight:500; text-align:left; padding:14px 10px; background:#f4f6f1; border-bottom:1px solid #dce2da; }
.customer-table td{ padding:20px 10px; vertical-align:middle; border-bottom:1px solid #dce2da; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.customer-table th:first-child,.customer-table td:first-child{ padding-left:0; }
.customer-table .cell-prod{ display:flex; align-items:center; gap:12px; min-width:0; }
.customer-table .cell-prod > div{ min-width:0; }
.customer-table .cell-prod strong{ display:block; font-size:14px; font-weight:600; }
.customer-table .cell-prod span{ display:block; font-size:11px; color:#626d5e; margin-top:4px; }
.cart-product-image{ display:flex; align-items:center; justify-content:center; width:64px; height:72px; background:#f4f6f1; flex-shrink:0; }
.cart-product-image img{ width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.cart-quantity-form{ display:flex; align-items:center; gap:6px; }
.cart-quantity-form input{ width:54px; height:44px; padding:6px; border:1px solid #bbc6b6; border-radius:3px; font:inherit; }
.customer-icon-button{ width:40px; height:44px; display:flex; align-items:center; justify-content:center; border:1px solid #dce2da; border-radius:3px; color:#34402e; background:#fff; flex-shrink:0; }
.customer-icon-button:hover{ background:#f0f4eb; }
.cart-remove-cell .customer-icon-button{ border:0; color:#956354; }
.customer-table-wrap > .customer-back{ margin-top:24px; }
.customer-summary{ padding:24px; border-top:3px solid #52723e; background:#f4f6f1; min-width:0; }
.customer-summary h2{ font-size:28px; margin-bottom:24px; }
.customer-summary strong{ font-variant-numeric:tabular-nums; }
.customer-summary p{ line-height:1.7; overflow-wrap:anywhere; }
.customer-selected-address{ font-size:12px; color:#626d5e; margin-top:8px; }
.customer-summary > .btn{ margin-top:20px; }
.customer-page .field{ margin-bottom:18px; }
.customer-page .field label{ display:block; font-size:13px; font-weight:500; margin-bottom:7px; color:#34402e; }
.customer-page .field input,.customer-page .field select,.customer-page .field textarea{ width:100%; min-width:0; min-height:46px; font:inherit; font-size:15px; background:#fff; border:1px solid #bbc6b6; border-radius:3px; padding:10px 12px; color:#202420; box-shadow:none; }
.customer-page input[type="checkbox"]{ accent-color:#52723e; width:18px; height:18px; }
.customer-order-status{ display:flex; align-items:center; gap:20px; padding:16px 20px; border-left:3px solid #52723e; background:#f4f6f1; margin-bottom:28px; font-size:14px; }
.customer-order-status > span{ color:#626d5e; }
.customer-address-layout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); gap:64px; align-items:start; }
.customer-address-list{ display:grid; gap:20px; }
.customer-address{ padding:24px; border:1px solid #dce2da; border-radius:4px; min-width:0; overflow-wrap:anywhere; }
.customer-address.is-default{ border-left:3px solid #52723e; }
.customer-address h2{ font-size:26px; margin:0; }
.customer-address-form{ border-left:1px solid #dce2da; padding-left:32px; }
.customer-address-form h2{ font-size:30px; margin-bottom:24px; }
.customer-address-layout > section{ min-width:0; }
.customer-sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.customer-pagination{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; font-size:13px; color:#626d5e; }
.customer-pagination > div{ display:flex; align-items:center; gap:16px; }
.customer-pagination [aria-disabled="true"]{ opacity:.4; }
@media(max-width:1000px){
  .customer-checkout-layout{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .customer-summary{ max-width:560px; width:100%; margin-left:auto; }
  .customer-address-layout{ gap:28px; grid-template-columns:1fr 1fr; }
  .auth-layout{ gap:40px; }
  .product-page .pd-layout,.product-information{ gap:32px; }
  .product-page .pd-title{ font-size:34px; }
  .product-page .pd-qtybar{ flex-wrap:wrap; }
}
@media(max-width:760px){
  .customer-page .page-title-bar h1{ font-size:34px; }
  .customer-page .page-title-bar{ padding-bottom:24px; }
  .customer-account-nav{ gap:0 18px; }
  .customer-account-nav a{ font-size:13px; }
  .customer-address-layout{ grid-template-columns:minmax(0,1fr); }
  .customer-address-form{ padding:28px 0 0; border-left:0; border-top:1px solid #dce2da; }
  .customer-summary{ max-width:none; padding:20px; }
  .customer-address{ padding:20px; }
  .customer-table,.customer-table tbody{ display:block; }
  .customer-table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .customer-table tr{ display:grid; grid-template-columns:1fr; border-bottom:1px solid #dce2da; padding:18px 0; gap:12px; position:relative; }
  .customer-table td{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0; border:0; }
  .customer-table td[data-label]::before{ content:attr(data-label); font-size:12px; color:#626d5e; }
  .customer-table .cart-product-cell{ padding-right:44px; margin-bottom:4px; }
  .customer-table .cart-remove-cell{ position:absolute; top:12px; right:0; }
  .customer-table .cell-prod{ align-items:flex-start; }
  .order-items-table td:first-child{ display:block; }
  .customer-empty{ padding:40px 12px; }
  .customer-empty h2{ font-size:27px; }
  .customer-page nav[role="navigation"] > div{ max-width:100%; }
  .auth-layout{ grid-template-columns:1fr; padding-block:30px 48px; }
  .auth-visual{ display:none; }
  .auth-form h1{ font-size:36px; margin-bottom:24px; }
  .product-page .pd-layout,.product-information{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .product-page .pd-layout{ padding-top:4px; padding-bottom:32px; }
  .product-page .pd-gallery-main{ max-width:540px; width:100%; margin:auto; }
  .product-page .pd-title{ font-size:32px; }
  .product-page .pd-price-main .now{ font-size:32px; }
  .product-page .pd-qtybar{ gap:12px; }
  .product-page .pd-qtybar > .btn{ min-width:150px; }
  .product-page .prod-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .product-page .prod-priceblock{ flex-wrap:wrap; }
  .product-page .prod-price{ font-size:18px; }
}