/* Local commerce preview: shared cards, product details and native dialogs. */
.shop-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); border-radius:10px; background:var(--paper); overflow:hidden; }
.shop-card-media { position:relative; aspect-ratio:1 / 1.06; background:#eef1eb; }
.shop-card-media>a { display:block; width:100%; height:100%; }
.shop-card-media>a>img { width:100%; height:100%; padding:18px; object-fit:contain; transition:transform .2s ease; }
.shop-card-media>a:hover>img { transform:scale(1.025); }
.shop-card-tools { display:flex; flex-direction:column; position:absolute; top:10px; right:10px; gap:6px; }
.icon-button,.header-shop-action { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; min-width:44px; width:44px; height:44px; min-height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); cursor:pointer; }
.icon-button svg,.header-shop-action svg { width:19px; height:19px; }
.icon-button:hover,.header-shop-action:hover { border-color:#b0c4b4; background:#edf4eb; color:var(--green); }
.icon-button[aria-pressed=true] { background:#e9f2e7; border-color:#b5cdb1; color:var(--green); }
.icon-button[aria-pressed=true] svg { fill:currentColor; }
.shop-card-body { display:flex; flex-direction:column; flex:1; min-width:0; padding:17px 16px 14px; }
.shop-card-category { margin-bottom:8px; color:var(--muted); font-size:10px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.shop-card h3 { margin:0 0 13px; min-height:44px; font-size:16px; font-weight:650; line-height:1.4; letter-spacing:-.015em; }
.shop-card h3>a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.shop-card h3>a:hover { color:var(--green); }
.shop-card-pricing { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px; margin-top:auto; padding-bottom:15px; }
.shop-card-pricing strong { color:var(--green); font-size:23px; line-height:1.2; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.shop-card-pricing span { color:var(--muted); font-size:10px; }
.shop-card-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:13px; border-top:1px solid var(--line); }
.shop-card-actions>a,.shop-card-actions>button { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; padding:8px 7px; border:1px solid var(--line); border-radius:6px; background:transparent; color:var(--green); font-size:11px; font-weight:650; line-height:1.25; white-space:nowrap; }
.shop-card-actions>button { border-color:var(--green); background:var(--green); color:#fff; }
.shop-card-actions>button:hover { background:var(--green-hover); }
.shop-card-actions>a:hover { background:var(--soft-green); }
.shop-card-actions svg { width:15px; height:15px; }
.header-shop-tools { display:flex; gap:6px; align-items:center; }
.header-shop-action { position:relative; border-color:transparent; background:transparent; }
.shop-count { position:absolute; display:grid; place-items:center; top:-2px; right:-1px; min-width:18px; height:18px; padding:0 4px; border:2px solid var(--page); border-radius:12px; background:var(--green); color:#fff; font-size:9px; font-weight:700; line-height:1; }
.pdp-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,1fr); gap:64px; align-items:start; padding-top:14px; padding-bottom:56px; }
.pdp-gallery { position:sticky; top:112px; min-width:0; }
.pdp-main-image { display:block; position:relative; width:100%; aspect-ratio:1 / 1.02; margin:0; padding:28px; border:1px solid var(--line); border-radius:12px; background:#eef1eb; cursor:zoom-in; }
.pdp-main-image img { width:100%; height:100%; object-fit:contain; }
.pdp-zoom-label { display:inline-flex; align-items:center; gap:7px; position:absolute; right:16px; bottom:16px; min-height:36px; padding:7px 11px; border:1px solid var(--line); border-radius:6px; background:#ffffffeb; color:#43594c; font-size:10px; }
.pdp-zoom-label svg { width:15px; height:15px; }
.pdp-thumbs { display:flex; gap:10px; margin-top:13px; padding:2px 2px 7px; overflow-x:auto; }
.pdp-thumbs button { flex:0 0 74px; width:74px; height:74px; padding:5px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.pdp-thumbs button img { width:100%; height:100%; object-fit:contain; }
.pdp-thumbs button[aria-pressed=true] { border:2px solid var(--green); }
.pdp-details { min-width:0; padding-top:6px; }
.pdp-details>.eyebrow { margin-bottom:14px; }
.pdp-details h1 { margin:0 0 24px; font-size:clamp(30px,2.7vw,41px); line-height:1.17; letter-spacing:-.045em; overflow-wrap:anywhere; }
.pdp-pricing { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 18px; }
.pdp-pricing>strong { color:var(--green); font-size:35px; font-weight:700; line-height:1.2; letter-spacing:-.045em; font-variant-numeric:tabular-nums; }
.pdp-price-meta { color:var(--muted); font-size:12px; line-height:1.6; }
.pdp-pricing+p { margin:12px 0 0; color:var(--muted); font-size:12px; }
.pdp-utilities { display:flex; gap:12px; margin:19px 0 24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.pdp-utilities>button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 13px; border:1px solid var(--line); border-radius:6px; background:transparent; color:var(--ink); font-size:12px; }
.pdp-utilities>button:hover,.pdp-utilities>button[aria-pressed=true] { color:var(--green); border-color:#afc3ae; background:var(--soft-green); }
.pdp-utilities>button[aria-pressed=true] svg { fill:currentColor; }
.pdp-utilities svg { width:17px; height:17px; }
.pdp-options { margin-bottom:23px; }
.pdp-options fieldset { min-width:0; margin:0 0 17px; padding:0; border:0; }
.pdp-options legend { padding:0; margin-bottom:10px; color:var(--ink); font-size:12px; font-weight:650; }
.pdp-option-values { display:flex; flex-wrap:wrap; gap:8px; }
.pdp-option-values button { min-width:44px; min-height:44px; padding:10px 14px; border:1px solid #cdd8ca; border-radius:5px; background:#fff; color:#435447; font-size:12px; }
.pdp-option-values button[aria-pressed=true] { border-color:var(--green); background:var(--green); color:white; }
.pdp-option-values button:hover { border-color:var(--green); }
.pdp-order-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin-bottom:20px; }
.pdp-order-row>label,.pdp-order-row>span { color:#405344; font-size:12px; font-weight:650; }
.quantity-control { display:inline-flex; align-items:center; flex:0 0 auto; border:1px solid #ccd7c9; border-radius:6px; background:#fff; overflow:hidden; }
.quantity-control button { display:grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; border:0; background:transparent; color:var(--green); font-size:20px; }
.quantity-control button:hover { background:var(--soft-green); }
.quantity-control input { width:43px; min-width:0; height:44px; margin:0; padding:0 2px; border:0; border-inline:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); font-size:13px; font-weight:600; text-align:center; appearance:textfield; -moz-appearance:textfield; }
.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.pdp-note { margin-bottom:23px; }
.pdp-note label { display:block; margin-bottom:9px; color:#405344; font-size:12px; font-weight:650; }
.pdp-note textarea { display:block; width:100%; min-height:80px; max-height:240px; padding:12px 14px; resize:vertical; border:1px solid #ccd7c9; border-radius:6px; background:#fff; color:var(--ink); font-size:13px; line-height:1.65; }
.pdp-note textarea::placeholder { color:#74806f; opacity:1; }
.pdp-buy-actions { display:grid; grid-template-columns:1.18fr 1fr; gap:10px; }
.pdp-buy-actions>a,.pdp-buy-actions>button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:52px; padding:13px 16px; border:1px solid var(--green); border-radius:6px; background:var(--green); color:#fff; font-size:13px; font-weight:650; white-space:nowrap; }
.pdp-buy-actions>button { background:transparent; color:var(--green); }
.pdp-buy-actions>a:hover { background:var(--green-hover); }
.pdp-buy-actions>button:hover { background:var(--soft-green); }
.pdp-buy-actions svg { width:18px; height:18px; }
.pdp-agents { margin-top:17px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.pdp-agents>summary { min-height:48px; padding:13px 16px; color:#405344; font-size:12px; font-weight:600; cursor:pointer; }
.pdp-agent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:2px 13px 14px; }
.pdp-agent-grid>a { display:flex; align-items:center; gap:7px; min-height:44px; padding:8px; border:1px solid var(--line); border-radius:5px; font-size:10px; overflow-wrap:anywhere; }
.pdp-agent-grid>a:hover { border-color:#a9bda7; background:var(--soft-green); }
.pdp-agent-grid img { width:23px; height:23px; object-fit:contain; flex:0 0 23px; }
.pdp-source-link { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin-top:7px; color:var(--green); font-size:12px; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.pdp-source-link svg { width:15px; height:15px; }
.pdp-support { display:flex; flex-wrap:wrap; gap:0 19px; margin-top:3px; padding-top:13px; border-top:1px solid var(--line); }
.pdp-support a { display:inline-flex; align-items:center; min-height:44px; color:#526a56; font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.pdp-section-nav { display:flex; align-items:center; gap:30px; margin-bottom:32px; border-bottom:1px solid var(--line); overflow-x:auto; }
.pdp-section-nav>a { flex:0 0 auto; min-height:52px; padding:14px 0; color:#536454; font-size:13px; font-weight:650; white-space:nowrap; }
.pdp-section-nav>a:first-child { border-bottom:2px solid var(--green); color:var(--green); }
.pdp-information { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:70px; padding-bottom:38px; }
.pdp-information h2 { margin-bottom:20px; font-size:24px; }
.pdp-facts dl { margin:0; }
.pdp-facts dl>div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:16px; padding:13px 0; border-bottom:1px solid var(--line); font-size:13px; }
.pdp-facts dt { color:var(--muted); }
.pdp-facts dd { margin:0; overflow-wrap:anywhere; }
.pdp-information .prose { min-width:0; font-size:14px; }
.pdp-information .prose h2:first-child { margin-top:0; }
.commerce-dialog { position:fixed; inset:0 0 0 auto; width:480px; max-width:100vw; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-left:1px solid var(--line); background:var(--page); color:var(--ink); box-shadow:-12px 0 70px #14261b25; }
.commerce-dialog[open] { display:flex; flex-direction:column; }
.commerce-dialog::backdrop,.commerce-modal::backdrop { background:rgba(22,35,26,.53); }
.commerce-dialog-header { display:flex; align-items:center; justify-content:space-between; flex:0 0 auto; gap:15px; min-height:86px; padding:18px 22px; border-bottom:1px solid var(--line); background:var(--page); }
.commerce-dialog-header h2 { margin:0; font-size:25px; }
.commerce-dialog-header p { margin:5px 0 0; color:var(--muted); font-size:11px; }
.commerce-dialog-header>button { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); font-size:23px; }
.commerce-dialog-header>button:hover { background:var(--soft-green); }
.cart-content,.saved-list { flex:1 1 auto; min-height:90px; padding:0 22px; overflow-y:auto; overscroll-behavior:contain; }
.cart-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; min-height:64px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; }
.cart-toolbar>label { display:inline-flex; align-items:center; min-height:44px; gap:9px; color:#3a5041; font-size:12px; }
.cart-toolbar input,.cart-row>input { width:18px; height:18px; accent-color:var(--green); cursor:pointer; }
.cart-row { position:relative; display:grid; grid-template-columns:18px 74px minmax(0,1fr); gap:12px; align-items:start; padding:23px 0; border-bottom:1px solid var(--line); }
.cart-row>input { margin:10px 0 0; }
.cart-row-image { display:block; width:74px; height:87px; padding:5px; border:1px solid var(--line); border-radius:6px; background:white; object-fit:contain; }
.cart-row-image img { width:100%; height:100%; object-fit:contain; }
.cart-row-info { min-width:0; padding-right:35px; }
.cart-row-info h3 { margin:0 0 8px; font-size:13px; line-height:1.5; letter-spacing:-.01em; overflow-wrap:anywhere; }
.cart-row-options { margin:0 0 7px; color:var(--muted); font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.cart-row-price { margin:0 0 10px; color:var(--green); font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; }
.cart-row .quantity-control { margin-top:3px; }
.cart-row>.icon-button { position:absolute; top:15px; right:-9px; border-color:transparent; background:transparent; color:#6e796c; }
.cart-row>.icon-button:hover { background:#e9eee5; }
.cart-summary { flex:0 0 auto; max-height:48dvh; padding:19px 22px calc(20px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fff; overflow-y:auto; }
.cart-summary dl { margin:0 0 14px; }
.cart-summary dl>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:4px 0; font-size:13px; }
.cart-summary dt { color:var(--muted); }
.cart-summary dd { margin:0; color:var(--green); font-size:25px; font-weight:700; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.cart-buy-button,.cart-copy-button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; padding:12px 16px; border:1px solid var(--green); border-radius:6px; background:var(--green); color:#fff; font-size:13px; font-weight:650; }
.cart-buy-button:hover { background:var(--green-hover); }
.cart-copy-button { margin-top:9px; min-height:44px; background:#fff; color:var(--green); }
.cart-copy-button:hover { background:var(--soft-green); }
.cart-summary button:disabled { opacity:.45; cursor:not-allowed; }
.cart-note { margin:13px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }
.cart-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:240px; padding:35px 20px; text-align:center; }
.cart-empty>svg { width:36px; height:36px; margin-bottom:21px; color:#6b8666; }
.cart-empty h3 { margin:0 0 12px; font-size:22px; }
.cart-empty p { max-width:270px; margin:0 0 21px; color:var(--muted); font-size:13px; line-height:1.8; }
.cart-empty button,.cart-empty a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 17px; border:1px solid var(--green); border-radius:6px; background:var(--green); color:#fff; font-size:12px; font-weight:650; }
.cart-buy-list { display:flex; flex-direction:column; gap:8px; margin-top:15px; }
.cart-buy-list>a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:11px 13px; border:1px solid var(--line); border-radius:5px; color:var(--green); background:var(--soft-green); font-size:12px; line-height:1.5; }
.cart-buy-list>a>span { min-width:0; overflow-wrap:anywhere; }
.saved-row { display:grid; grid-template-columns:84px minmax(0,1fr); gap:17px; padding:24px 0; border-bottom:1px solid var(--line); }
.saved-row>img,.saved-row>a>img { width:84px; height:102px; padding:5px; border:1px solid var(--line); border-radius:6px; background:#fff; object-fit:contain; }
.saved-row>div { min-width:0; }
.saved-row h3 { margin:0 0 8px; font-size:14px; line-height:1.5; letter-spacing:-.015em; overflow-wrap:anywhere; }
.saved-row p { margin:0 0 10px; color:var(--green); font-size:15px; font-weight:650; }
.saved-row button:not(.icon-button) { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:9px 13px; border:1px solid var(--green); border-radius:6px; background:var(--green); color:#fff; font-size:11px; font-weight:600; }
.saved-row .icon-button { vertical-align:middle; margin-left:7px; }
.commerce-modal { position:fixed; inset:0; width:min(560px,calc(100% - 32px)); max-width:none; max-height:90dvh; margin:auto; padding:0; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); box-shadow:0 22px 80px #14261b35; }
.commerce-modal .commerce-dialog-header { min-height:76px; padding:13px 20px; }
.commerce-modal .commerce-dialog-header h2 { font-size:22px; }
.share-url { display:flex; gap:9px; padding:24px; }
.share-url input { flex:1; min-width:0; width:100%; min-height:46px; padding:10px 12px; border:1px solid #c8d4c4; border-radius:6px; color:#445746; font-size:12px; background:var(--page); }
.share-url button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; gap:7px; min-height:46px; padding:10px 16px; border:1px solid var(--green); border-radius:6px; background:var(--green); color:#fff; font-size:12px; font-weight:650; }
.commerce-modal>p { margin:0; padding:0 24px 24px; color:var(--muted); font-size:12px; }
#product-image-dialog { width:min(1020px,calc(100% - 32px)); }
.product-lightbox { padding:20px; background:#f0f2ec; }
.product-lightbox img { width:100%; height:min(72dvh,760px); object-fit:contain; }
#commerce-toast { position:fixed; z-index:100; bottom:24px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 100px); padding:12px 19px; border:1px solid #325d3e; border-radius:8px; background:#173e2d; color:#fff; box-shadow:0 8px 26px #14261b25; font-size:12px; line-height:1.6; text-align:center; }
body.commerce-open { overflow:hidden; }
@media (min-width:1024px) and (max-width:1350px) {
.header-inner { gap:16px; }.main-nav { gap:17px; }.header-actions { gap:6px; }.header-shop-tools { gap:2px; }.header-actions>a { padding-inline:12px; }
.pdp-grid { gap:40px; }.pdp-details h1 { font-size:34px; }
.shop-card-body { padding-inline:13px; }.shop-card-actions { gap:6px; }.shop-card-actions>a,.shop-card-actions>button { font-size:10px; padding-inline:4px; }
}
@media (min-width:768px) and (max-width:1023px) {
.pdp-grid { gap:28px; }.pdp-details h1 { font-size:30px; }.pdp-gallery { top:148px; }.pdp-main-image { padding:18px; }.pdp-buy-actions { grid-template-columns:1fr; }.pdp-information { gap:32px; }.pdp-agent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.shop-card-actions { grid-template-columns:1fr; }.shop-card-actions>a { border-color:transparent; }
}
@media (max-width:767px) {
.header-actions { gap:3px; }.header-actions>a { display:none; }.header-shop-tools { gap:1px; }.header-shop-action { width:44px; min-width:44px; }.header-actions .menu-toggle { margin-left:3px; }
.shop-card-media { aspect-ratio:1 / 1.12; }.shop-card-media>a>img { padding:10px; }.shop-card-tools { top:5px; right:5px; gap:4px; }.shop-card-tools .icon-button { background:#ffffffed; }
.shop-card-body { padding:13px 11px 11px; }.shop-card-category { margin-bottom:7px; font-size:9px; letter-spacing:.05em; }.shop-card h3 { min-height:40px; margin-bottom:12px; font-size:14px; line-height:1.45; }.shop-card-pricing { gap:4px 7px; padding-bottom:10px; }.shop-card-pricing strong { font-size:19px; }.shop-card-pricing span { font-size:10px; }.shop-card-actions { grid-template-columns:1fr; gap:3px; padding-top:9px; }.shop-card-actions>a,.shop-card-actions>button { min-height:44px; font-size:11px; }.shop-card-actions>a { order:2; border-color:transparent; }
.pdp-grid { grid-template-columns:1fr; gap:26px; padding-top:4px; padding-bottom:30px; }.pdp-gallery { position:static; }.pdp-main-image { aspect-ratio:1; padding:22px; border-radius:9px; }.pdp-zoom-label { right:11px; bottom:11px; min-height:32px; font-size:10px; }.pdp-thumbs { gap:8px; margin-top:10px; }.pdp-thumbs button { flex-basis:65px; width:65px; height:65px; }.pdp-details { padding-top:0; }.pdp-details>.eyebrow { margin-bottom:11px; font-size:10px; }.pdp-details h1 { margin-bottom:20px; font-size:29px; line-height:1.2; }.pdp-pricing { gap:7px 13px; }.pdp-pricing>strong { font-size:31px; }.pdp-price-meta { font-size:11px; }.pdp-utilities { margin:17px 0 22px; padding-bottom:19px; gap:9px; }.pdp-utilities>button { padding-inline:12px; font-size:12px; }.pdp-options { margin-bottom:21px; }.pdp-note { margin-bottom:19px; }.pdp-buy-actions { grid-template-columns:1.15fr 1fr; gap:8px; }.pdp-buy-actions>a,.pdp-buy-actions>button { padding-inline:10px; font-size:12px; }.pdp-agent-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.pdp-agent-grid>a { gap:5px; padding:7px; font-size:9px; }.pdp-agent-grid img { width:20px; height:20px; flex-basis:20px; }.pdp-support { gap:0 17px; }.pdp-section-nav { gap:24px; margin-bottom:25px; }.pdp-section-nav>a { font-size:12px; }.pdp-information { grid-template-columns:1fr; gap:29px; padding-bottom:15px; }.pdp-information h2 { font-size:23px; }.pdp-facts dl>div { grid-template-columns:110px minmax(0,1fr); font-size:12px; }.pdp-information .prose { font-size:13px; }
.commerce-dialog { width:100%; border-left:0; }.commerce-dialog-header { padding:15px 17px; min-height:78px; }.commerce-dialog-header h2 { font-size:24px; }.cart-content,.saved-list { padding-inline:17px; }.cart-summary { padding:17px 17px calc(17px + env(safe-area-inset-bottom)); }.cart-row { grid-template-columns:18px 65px minmax(0,1fr); gap:10px; padding-block:20px; }.cart-row-image { width:65px; height:80px; }.cart-row-info { padding-right:29px; }.cart-row-info h3 { font-size:12px; }.cart-row>.icon-button { right:-7px; }.cart-note { font-size:10px; }.saved-row { grid-template-columns:76px minmax(0,1fr); gap:14px; }.saved-row>img,.saved-row>a>img { width:76px; height:94px; }.saved-row h3 { font-size:13px; }.commerce-modal { width:calc(100% - 24px); }.commerce-modal .commerce-dialog-header { padding-inline:16px; }.share-url { gap:7px; padding:18px 16px; }.share-url button { padding-inline:12px; }.commerce-modal>p { padding:0 16px 20px; }.product-lightbox { padding:12px; }.product-lightbox img { height:65dvh; }#commerce-toast { bottom:18px; max-width:calc(100% - 90px); padding:11px 15px; font-size:11px; }
}
@media (max-width:359px) { .header-shop-tools { gap:0; }.header-actions { gap:0; }.shop-card-body { padding-inline:9px; }.shop-card-pricing strong { font-size:17px; }.pdp-agent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pdp-buy-actions { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .shop-card-media>a>img { transition:none; } }
@media print { .header-shop-tools,.shop-card-tools,.shop-card-actions,.pdp-utilities,.pdp-buy-actions,.pdp-note,.pdp-order-row,.pdp-options,.commerce-dialog,.commerce-modal,#commerce-toast { display:none!important; }.pdp-gallery { position:static; }.pdp-grid { gap:25px; } }
/* Match the rendered gallery, option groups and drawer contents. */
.pdp-pricing>span { color:var(--muted); font-size:12px; }
.pdp-details>.pdp-price-meta { margin-top:10px; line-height:1.8; }
.pdp-gallery-note,.pdp-option-note { margin:11px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }
.pdp-options>.pdp-option-note { padding:13px 15px; border-left:2px solid #b5c9aa; background:var(--soft-green); }
.pdp-thumbs { width:100%; min-width:0; scrollbar-width:thin; }
.pdp-option-values { max-height:280px; align-items:stretch; padding:4px 8px 4px 4px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-gutter:stable; }
.pdp-option-values button { display:inline-flex; align-items:center; justify-content:center; gap:7px; max-width:100%; }
.pdp-option-values button:has(img) { width:92px; flex-direction:column; padding:8px 6px; }
.pdp-option-values button img { width:46px; height:46px; border-radius:3px; background:#fff; object-fit:contain; }
.pdp-option-values button span { max-width:100%; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
.pdp-agents>summary>span { float:right; margin-left:10px; color:var(--muted); font-size:10px; }
.commerce-dialog-header .eyebrow { margin-bottom:6px; font-size:9px; }
.cart-content>.cart-summary { max-height:none; margin:0 -22px; overflow:visible; }
.cart-summary dl { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px 14px; align-items:baseline; }
.cart-summary dl>div { grid-column:1 / -1; }
.cart-summary dd { text-align:right; }
.saved-row { position:relative; }
.saved-row-info { padding-right:34px; }
.saved-row>.icon-button { position:absolute; top:17px; right:-9px; margin:0; border-color:transparent; background:transparent; color:#6e796c; }
.saved-row>.icon-button:hover { background:var(--soft-green); }
.saved-empty { display:grid; place-content:center; min-height:260px; padding:30px; color:var(--muted); font-size:14px; line-height:1.8; text-align:center; }
.cart-empty { color:var(--muted); font-size:14px; line-height:1.8; }
.share-content { padding:22px 24px 24px; }
.share-content>p { margin:0 0 18px; color:var(--muted); font-size:13px; line-height:1.8; }
.share-content>label { display:block; margin-bottom:8px; font-size:12px; font-weight:650; }
.share-content>.share-url { padding:0; }
.commerce-modal.product-lightbox { padding:0; }
.commerce-modal.product-lightbox>img { padding:20px; }
.quantity-control button:disabled { color:#a5afa0; cursor:not-allowed; }
@media (max-width:767px) {
.pdp-option-values { max-height:250px; }.pdp-option-values button:has(img) { width:84px; }.pdp-option-values button span { font-size:10px; }.pdp-gallery-note { font-size:10px; }.cart-content>.cart-summary { margin-inline:-17px; }.cart-summary dd { font-size:22px; }.saved-row-info { padding-right:24px; }.saved-row>.icon-button { right:-7px; }.share-content { padding:18px 16px 20px; }.commerce-modal.product-lightbox>img { padding:12px; }
}
.pdp-option-count { display:inline-block; margin-left:10px; color:var(--muted); font-size:10px; font-weight:400; line-height:1.6; }
/* A 44px label keeps the checkbox compact while enlarging its touch target. */
.cart-row { grid-template-columns:32px 74px minmax(0,1fr); }
.cart-row-select { display:flex; align-items:center; justify-content:center; width:44px; min-width:44px; height:44px; min-height:44px; margin-left:-6px; cursor:pointer; }
.cart-row-select>input { width:18px; height:18px; margin:0; accent-color:var(--green); cursor:pointer; }
@media (max-width:767px) { .cart-row { grid-template-columns:32px 65px minmax(0,1fr); } }

/* AGENT_DROPDOWN_PATCH: agent dropdown on PDP, agent selector + one-by-one list in cart */
.pdp-buy-actions>.agent-buy { position:relative; display:flex; min-width:0; }
.agent-buy-main { flex:1 1 auto; display:flex; align-items:center; justify-content:center; gap:9px; min-width:0; min-height:52px; padding:13px 12px; border:1px solid var(--green); border-radius:6px 0 0 6px; background:var(--green); color:#fff; font-size:13px; font-weight:650; line-height:1.3; text-align:center; }
.agent-buy-main img { width:20px; height:20px; border-radius:4px; background:#fff; object-fit:contain; flex:0 0 auto; }
.agent-buy-main b { font-weight:750; }
.agent-buy-main:hover { background:var(--green-hover); }
.agent-buy-toggle { flex:0 0 44px; display:grid; place-items:center; min-height:52px; padding:0; border:1px solid var(--green); border-left-color:rgb(255 255 255 / 35%); border-radius:0 6px 6px 0; background:var(--green); color:#fff; }
.agent-buy-toggle svg { width:18px; height:18px; transition:transform .15s; }
.agent-buy-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.agent-buy-toggle:hover,.agent-buy-toggle[aria-expanded="true"] { background:var(--green-hover); }
.agent-buy-menu { position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:20; max-height:330px; margin:0; padding:6px; overflow-y:auto; list-style:none; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:var(--shadow); }
.agent-buy-menu a { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 10px; border-radius:6px; color:var(--ink); font-size:13px; font-weight:600; }
.agent-buy-menu a:hover,.agent-buy-menu a:focus-visible { background:var(--soft-green); }
.agent-buy-menu a[aria-selected="true"] { color:var(--green); }
.agent-buy-menu img { width:20px; height:20px; border-radius:4px; object-fit:contain; flex:0 0 auto; }
.agent-buy-menu em { margin-left:auto; padding:2px 8px; border-radius:999px; background:var(--leaf); color:var(--green); font-size:10px; font-style:normal; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.cart-agent-row { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px; margin:0 0 10px; color:var(--muted); font-size:12px; }
.cart-agent-row select { min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); font-size:13px; }
.cart-open-list { flex:0 0 auto; padding:14px 22px; border-top:1px solid var(--line); background:var(--soft-green); }
.cart-open-list h3 { margin:0 0 4px; font-size:14px; }
.cart-open-list .cart-note { margin:0; }
.cart-open-list ol { margin:8px 0 0; padding-left:18px; font-size:12px; line-height:1.6; }
.cart-open-list li { margin:6px 0; overflow-wrap:anywhere; }
.cart-open-list a { color:var(--green); text-decoration:underline; text-underline-offset:3px; }
@media (max-width:600px) { .pdp-buy-actions { grid-template-columns:1fr; } .agent-buy-menu { max-height:260px; } }

/* CARD_TOOLS_PATCH: edge-to-edge image, share/save beside the category label without a white disc */
.shop-card-media { aspect-ratio:1 / 1; }
.shop-card-media>a>img { padding:0; object-fit:cover; }
.shop-card-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.shop-card-meta .shop-card-category { margin-bottom:0; }
.shop-card-tools { position:static; flex-direction:row; gap:0; margin:-8px -8px -8px 0; }
.shop-card-tools .icon-button { width:40px; height:40px; min-width:40px; min-height:40px; flex-basis:40px; border:0; border-radius:8px; background:transparent!important; color:#4a5a4f; }
.shop-card-tools .icon-button:hover,.shop-card-tools .icon-button:focus-visible { color:var(--green); }
.shop-card-tools .icon-button[aria-pressed=true] { color:var(--green); }
.shop-card-tools .icon-button svg { width:18px; height:18px; }
@media (max-width:767px) { .shop-card-media { aspect-ratio:1 / 1; } .shop-card-media>a>img { padding:0; } .shop-card-tools .icon-button { width:36px; height:36px; min-width:36px; min-height:36px; flex-basis:36px; } }

/* CARD_MEDIA_SQUARE: keep every media box square even for portrait photos */
.shop-card-media { overflow:hidden; }
.shop-card-media>a { position:absolute; inset:0; width:auto; height:auto; }
.shop-card-media>a>img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }  /* longest side touches the box, never crops, box never grows */

/* PDP_MEDIA_SQUARE: main photo fills the fixed square box, longest side touches the edge, no crop */
.pdp-main-image { aspect-ratio:1 / 1; padding:0; overflow:hidden; }
.pdp-main-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
@media (max-width:767px) { .pdp-main-image { padding:0; } }

/* QC_PATCH: QC photo grids on the PDP */
.qc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:10px; }
.pdp-qc [data-qc-stored] { margin-bottom:16px; }
.qc-thumb { display:block; width:100%; aspect-ratio:1; padding:0; border:1px solid var(--line); border-radius:8px; background:#fff; overflow:hidden; cursor:zoom-in; }
.qc-thumb img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.qc-thumb:hover img { transform:scale(1.03); }
.qc-status { margin:0 0 12px; color:var(--muted); font-size:12px; line-height:1.7; }
@media (max-width:767px) { .qc-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; } }

/* LIGHTBOX_NAV_PATCH: prev/next controls + counter inside the photo lightbox */
.product-lightbox { position:fixed; }
.lightbox-nav { position:absolute; top:50%; z-index:2; display:grid; place-items:center; width:44px; height:44px; padding:0 0 4px; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--ink); font-size:30px; line-height:1; cursor:pointer; transform:translateY(-50%); box-shadow:0 6px 18px rgb(28 66 44 / 12%); }
.lightbox-nav:hover { background:var(--soft-green); color:var(--green); }
.lightbox-prev { left:14px; }
.lightbox-next { right:14px; }
.lightbox-counter { position:absolute; bottom:16px; left:50%; z-index:2; padding:5px 12px; border-radius:999px; background:rgb(32 45 37 / 78%); color:#fff; font-size:12px; font-variant-numeric:tabular-nums; transform:translateX(-50%); }
@media (max-width:767px) { .lightbox-nav { width:40px; height:40px; font-size:26px; } .lightbox-prev { left:8px; } .lightbox-next { right:8px; } }
