*{box-sizing:border-box} :root{font-family:Arial,Helvetica,sans-serif;color:#202723;background:#fff;font-synthesis:none}body{margin:0}button,input,a{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}header{height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:700;letter-spacing:-1px}.mark{position:relative;width:33px;height:37px;border-radius:11px;background:#176e4c;color:white;display:grid;place-items:center;font-size:29px}.mark span{font-size:18px;position:absolute;top:-4px;right:-5px;background:white;color:#176e4c;border-radius:50%}.beta{font-size:10px;letter-spacing:1px;color:#67736a;border:1px solid #e0e5e1;padding:4px 6px;border-radius:5px;margin-left:4px}.header-actions{display:flex;align-items:center;gap:28px;font-size:14px}.region{color:#737a76}.plain{padding:10px}.off{font-size:12px;background:#f0f2f1;color:#6b736d;padding:4px 7px;border-radius:5px;margin-left:7px}main{max-width:1050px;margin:auto;padding:70px 28px 90px;min-height:calc(100vh - 161px)}.intro{text-align:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#687c70}.intro h1{font-size:clamp(36px,5vw,56px);font-weight:500;letter-spacing:-2.5px;margin:21px 0 15px}.intro h1 span{color:#18744f}.intro p{font-size:17px;color:#78817b;margin:0}.search-wrap{max-width:740px;margin:38px auto 0;border:1px solid #dce3de;box-shadow:0 7px 28px #17352608;border-radius:19px;padding:17px 18px 13px;transition:.2s}.search-wrap:focus-within{border-color:#4d9976;box-shadow:0 5px 25px #17352610}.search-line{display:flex;align-items:center;gap:15px;color:#738078}.search-line input{flex:1;min-width:0;outline:none;border:0;color:#25352b;font-size:17px;padding:10px 0;background:transparent}.search-line input::placeholder{color:#959e98}.search-button,.primary{background:#196e4d;color:#fff;border-radius:10px;padding:13px 19px;font-size:14px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:20px;line-height:1.4}.search-button:hover,.primary:hover{background:#105338}.search-button span{font-size:20px}.search-options{display:flex;justify-content:space-between;font-size:12px;color:#8a948d;margin-top:16px;padding-top:13px;border-top:1px solid #eff1ef}.suggestions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px;font-size:12px;color:#7b867e;align-items:center}.suggestions>span{margin-right:5px}.suggestions button{border:1px solid #e7ebe8;border-radius:20px;padding:8px 12px;color:#56675c;font-size:12px}.suggestions button:hover{background:#f1f7f3}.steps{display:grid;grid-template-columns:repeat(3,1fr);max-width:760px;margin:74px auto 0;gap:40px}.steps>div{border-top:1px solid #e3e9e4;padding-top:20px}.steps span{font-size:12px;color:#85988b;display:block;margin-bottom:17px}.steps b{font-size:15px;font-weight:500}.steps p{font-size:13px;color:#8a928c;line-height:1.6;margin-top:9px}.example-link{display:block;margin:42px auto 0;font-size:13px;color:#226d4e}.example-link span{margin-left:14px}.demo-note{text-align:center;font-size:12px;color:#849087;margin-top:22px;line-height:1.6}footer{display:flex;justify-content:space-between;border-top:1px solid #eff1ef;padding:24px 5%;font-size:12px;color:#8a948e}#results{margin-top:45px}.result-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:15px}h2{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:12px 0}.sample-badge{font-size:12px;color:#857345;background:#faf5e7;padding:7px 11px;border-radius:6px;white-space:nowrap}.product-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}.product{border:1px solid #e4e9e5;border-radius:16px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center}.product-photo{position:relative;background:#fafbf9;height:100%;min-height:290px;display:flex;align-items:center}.product-photo img{width:100%;height:auto;mix-blend-mode:multiply}.match-tag{position:absolute;top:18px;left:16px;color:#58856a;font-size:11px;padding:6px 8px;border:1px solid #dae8de;border-radius:5px}.product-copy{padding:24px}.product-copy .eyebrow{font-size:10px;line-height:1.8;letter-spacing:1px}.product-copy h3{font-size:25px;letter-spacing:-1px;font-weight:500;margin:15px 0 8px}.product-copy p{font-size:14px;color:#7a827c;line-height:1.6}.specs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.specs span{font-size:11px;border:1px solid #e3e7e4;padding:5px 7px;border-radius:5px}.specs i{display:inline-block;width:8px;height:8px;background:#252525;border-radius:50%;margin-right:4px}.product-copy a{font-size:12px;color:#247651;line-height:1.7}.best-offer{background:#f4f8f5;border:1px solid #dce9df;border-radius:16px;padding:25px}.big-price{font-size:43px;letter-spacing:-2px;margin-top:18px}.best-offer>p{font-size:13px;color:#748379;margin:5px 0 15px}.saving{font-size:12px;color:#1d754c}.receipt{margin:20px 0;display:grid;gap:12px;font-size:13px}.receipt>div{display:flex;justify-content:space-between;gap:18px}.receipt span{color:#78827b}.receipt b{font-weight:500}.receipt .total{border-top:1px solid #dce5df;padding-top:14px;font-size:15px}.primary{width:100%}.best-offer small{display:block;text-align:center;font-size:10px;color:#7b8b80;margin-top:12px}.compare-top{margin:35px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.compare-top h3{font-size:17px;font-weight:500}.compare-top h3 span{color:#8b958f;font-size:12px;margin-left:8px}.compare-top label{font-size:12px;color:#69766e}input[type=checkbox]{accent-color:#196e4d;vertical-align:middle}.table-scroll{overflow:auto;border:1px solid #e4e9e5;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left;white-space:nowrap}th{font-size:11px;color:#859087;font-weight:400;background:#fafbf9;padding:14px 18px}td{padding:20px 18px;border-top:1px solid #eef1ee}td:first-child{font-weight:500}td small{display:block;font-size:10px;color:#839187;margin-top:5px}.coupon{border:1px dashed #b2cdbb;color:#397a52;padding:4px 6px;border-radius:4px;font-size:11px}.cashback-note{display:flex;gap:16px;align-items:center;background:#fafbf9;border-radius:10px;padding:20px;margin-top:18px}.cash-icon{font-size:21px;color:#7b8e7f}.cashback-note b{font-size:12px;font-weight:500}.cashback-note p{font-size:12px;color:#7a867d;line-height:1.6;margin:5px 0 0}.cashback-note a{white-space:nowrap;font-size:12px;color:#397a52}.empty{border:1px solid #e4e9e5;border-radius:16px;padding:35px;text-align:center}.empty p{line-height:1.8;color:#7a827c;font-size:14px;max-width:550px;margin:15px auto 25px}.empty .primary{width:auto}.empty .plain{display:block;margin:15px auto 0;font-size:13px}dialog{border:1px solid #dde6df;border-radius:20px;max-width:460px;width:calc(100% - 32px);padding:32px;color:#25352b;box-shadow:0 20px 100px #172a2430}dialog::backdrop{background:#152a2355;backdrop-filter:blur(4px)}dialog h2{font-size:28px;margin-top:17px}dialog>p{font-size:14px;line-height:1.7;color:#7a857d}.close{position:absolute;right:15px;top:10px;font-size:28px;color:#849087}dialog label{display:block;font-size:14px;margin:22px 0 10px}.money-input{border:1px solid #d9e3dc;padding:12px;display:flex;gap:10px;border-radius:8px}.money-input input{min-width:0;width:100%;border:0;outline:none}dialog small{font-size:11px;color:#7b887f;line-height:1.5;display:block;margin-top:8px}.connection{background:#f4f6f4;border-radius:10px;padding:16px;margin:22px 0;font-size:13px}.connection p{color:#7b847e;line-height:1.7;margin-bottom:0;font-size:12px}.review-product{display:flex;gap:15px;align-items:center;margin-top:20px;font-size:14px}.review-product p{font-size:12px;color:#879087}#saved{font-size:13px;line-height:1.6;color:#246e4d}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:2px solid #328459;outline-offset:4px}[hidden]{display:none!important}body.has-results main{padding-top:25px}body.has-results .intro .eyebrow,body.has-results .intro p,body.has-results .suggestions{display:none}body.has-results .intro h1{font-size:32px;letter-spacing:-1px}body.has-results .search-wrap{margin-top:22px}@media(max-width:760px){header{height:80px;padding:0 22px}.region{display:none}.header-actions{gap:10px}.brand{font-size:22px}main{padding:56px 20px 65px}.intro h1{letter-spacing:-1.6px}.intro p{font-size:14px;line-height:1.7}.search-line{gap:10px}.search-line input{font-size:16px}.search-button{padding:10px 13px;gap:8px}.search-options{font-size:10px}.search-wrap{padding:12px}.steps{gap:17px;margin-top:55px}.steps b{font-size:13px}.steps p{font-size:12px}.product-layout{grid-template-columns:1fr}.product-photo{min-height:235px}.compare-top{align-items:flex-start}.compare-top label{margin-top:20px}.cashback-note{flex-wrap:wrap}.cashback-note>div{flex:1}.cashback-note a{margin-left:34px}.result-heading h2{font-size:20px}.sample-badge{font-size:10px}footer{font-size:10px;gap:20px}.best-offer small{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:26px 0 20px}.filters label{font-size:12px;color:#69776e;display:grid;gap:8px;flex:1;min-width:120px}.filters select,.filters input{background:white;border:1px solid #dfe6e1;border-radius:8px;padding:11px;font-size:14px;color:#31473a;min-width:0;width:100%}.result-meta{display:flex;justify-content:space-between;font-size:13px;color:#738177;margin-bottom:22px}.status-message{font-size:14px;color:#748177;line-height:1.7}.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.product-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.listing-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #e4e9e5;border-radius:14px;padding:15px;min-width:0;transition:border-color .15s}.listing-card:hover{border-color:#76a58a}.listing-card.selected{border-color:#32865b;box-shadow:0 0 0 1px #32865b}.listing-image{width:100%;height:155px;display:flex;align-items:center;justify-content:center;background:#fafbf9;border-radius:8px;overflow:hidden;margin-bottom:14px}.listing-image img{max-width:100%;height:140px;object-fit:contain;mix-blend-mode:multiply}.listing-store{color:#7b8a7f;font-size:12px}.listing-card h3{font-size:14px;line-height:1.6;font-weight:500;margin:8px 0 12px;overflow-wrap:anywhere}.listing-price{font-weight:500;font-size:21px;letter-spacing:-.5px;margin-top:auto}.condition{font-size:12px;color:#78877c;margin-top:8px}.lowest-tag{font-size:11px;color:#28784d;background:#eff7f1;padding:5px 7px;border-radius:4px;margin-top:10px}.selection{position:sticky;top:25px;border:1px solid #dce8df;border-radius:14px;background:#f5f8f5;padding:23px}.selection h3{font-size:19px;font-weight:500;line-height:1.5;letter-spacing:-.3px;margin:14px 0 8px;overflow-wrap:anywhere}.selection>p{font-size:13px;line-height:1.6;color:#76837a}.selection .big-price{font-size:36px}.minor{font-size:12px;color:#78847c;line-height:1.7}.green-note{color:#33825b!important}.text-button{font-size:13px;color:#28764e;display:inline-block;padding:8px 0}.secondary{border:1px solid #c8dbce;border-radius:8px;padding:11px 14px;background:white;width:100%;font-size:14px;color:#286d49}.discount-section{border-top:1px solid #dfe8e1;margin-top:22px;padding-top:5px}.discount-section h4{font-weight:500;font-size:15px}.discount-result{border-top:1px solid #dfe8e1;padding-top:12px;margin-top:14px}.discount-result a{font-size:13px;color:#266e49;line-height:1.6}.compact{width:auto}.filters .plain{font-size:12px}.header-actions .plain{font-size:13px}button:disabled{opacity:.5;cursor:wait}.intro .eyebrow{font-size:12px}.search-options,.suggestions,.suggestions button{font-size:12px}.steps p{font-size:14px}.beta{font-size:11px}#no-matches{font-size:15px;line-height:1.7;color:#78847c;padding:30px;background:#f5f8f5;border-radius:12px}@media(max-width:860px){.shopping-layout{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.product-cards{gap:10px}.listing-card{padding:12px}.selection{padding:18px}.header-actions{gap:10px}}@media(max-width:640px){.shopping-layout{grid-template-columns:1fr}.selection{position:static;order:-1}.selection .discount-section{margin-top:14px}.product-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions{gap:0}.header-actions .plain{font-size:12px;padding:7px}.brand .beta{display:none}.filters label{min-width:40%;flex:1}.filters .plain{margin-left:auto}.search-options{gap:8px;font-size:11px}.search-line input{font-size:16px}.listing-card h3{font-size:14px}.selection>h3{font-size:18px}header{padding:0 16px}.steps{gap:12px}.steps p{font-size:13px}dialog{padding:26px}.result-meta{gap:10px;align-items:center}}
#checkout-dialog{max-width:560px;max-height:90vh;overflow-y:auto}#checkout-dialog input:not([type=checkbox]){width:100%;min-width:0;border:1px solid #d8e2db;border-radius:8px;padding:11px;font-size:15px}#checkout-dialog h3{font-size:20px;line-height:1.5;font-weight:500}#checkout-dialog section>p{font-size:14px;line-height:1.7;color:#738178}.sandbox-notice{padding:13px 15px;background:#fff7e7;border:1px solid #f0e3c4;border-radius:8px;color:#79623b;font-size:13px;line-height:1.6;margin:15px 0}.checkout-two{display:flex;gap:15px;justify-content:space-between}.checkout-two>label{flex:1;min-width:0}#checkout-product a{font-size:14px;color:#26724d}#checkout-message{font-size:14px;line-height:1.7;color:#6c785f}#checkout-dialog .check-row{font-size:14px;line-height:1.7}#checkout-connect-button{margin-top:14px}.header-actions{gap:13px}.header-actions #autopay{white-space:nowrap}@media(max-width:760px){header{height:auto;min-height:85px;gap:12px;flex-wrap:wrap;padding-top:17px;padding-bottom:10px}.header-actions{gap:2px;flex-wrap:wrap}.header-actions .plain{font-size:12px;padding:6px}#checkout-dialog{max-height:90dvh}.checkout-two{gap:10px}}
#offers-dialog{max-width:690px;max-height:90vh;overflow:auto}#offers-title{font-size:23px;line-height:1.5}.store-offer{border:1px solid #e0e9e3;border-radius:12px;padding:18px;margin-top:15px}.store-offer h3{font-size:18px;font-weight:500;margin:0}.store-offer .receipt{margin:14px 0}.store-offer .secondary{margin-top:10px}#offers-message{font-size:14px;line-height:1.7;color:#718076}#compare-stores{margin-top:7px}

#google-research{margin:1.5rem 0;padding:1.5rem;border:1px solid #dce2eb;border-radius:16px}.research-text{white-space:pre-wrap;line-height:1.7}#google-suggestions{width:100%;height:120px;border:0;margin-top:1rem}
/* Results stay readable in narrow mobile browsers, including long source labels. */
main,#results,#search-content,.shopping-layout,.selection,#google-research{min-width:0;max-width:100%}
.result-heading,.result-meta,.search-options{flex-wrap:wrap}
h2,.status-message,.minor,.research-text,.discount-result,.selection,.source-chip{overflow-wrap:anywhere;word-break:normal}
.shopping-layout{display:flex;flex-direction:column;align-items:stretch}
.product-cards{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.selection{position:static;order:initial;width:100%;margin-top:10px}
.listing-card{cursor:default}.card-actions{width:100%;margin-top:16px}.card-actions .primary{font-size:13px;overflow-wrap:anywhere;text-align:center}.card-actions .text-button{width:100%}
.filter-options{margin:18px 0;color:#54665b;font-size:14px}.filter-options summary{cursor:pointer;padding:10px 0}.filters{margin:12px 0}
#google-research{padding:16px;margin-top:24px}#google-research h3{font-size:15px;margin:0 0 8px}#research-blocks{display:flex;flex-wrap:wrap;gap:8px}.source-chip{font-size:12px;padding:7px 10px;border:1px solid #dce8df;border-radius:8px;color:#286d49;max-width:100%}
iframe{display:block;width:100%;max-width:100%;border:0}.sample-badge{white-space:normal}.result-meta{gap:8px;align-items:center}
@media(max-width:640px){main{padding-left:16px;padding-right:16px}.product-cards{grid-template-columns:minmax(0,1fr);gap:14px}.listing-card{padding:18px}.listing-image{height:150px}.listing-card h3{font-size:16px;line-height:1.45}.listing-price{font-size:26px}.selection{order:initial;padding:18px}.search-line input{font-size:16px}.result-heading{align-items:flex-start}#results{margin-top:26px}.result-heading{margin-bottom:12px}}

.product-facts{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.product-facts span{font-size:12px;background:#eef3ef;color:#425b49;padding:5px 7px;border-radius:5px}.listing-card>.text-button{font-size:12px;text-decoration:underline;margin-top:8px}

.search-context{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #e7ece9}.search-context[hidden]{display:none}.search-context>div{min-width:0}.search-context strong{display:block;overflow-wrap:anywhere;margin-top:5px}.search-context button{flex-shrink:0;width:auto;padding:10px 14px}

/* Minimal search surface; supporting information opens on demand. */
header{height:80px}.beta,.search-options,.quiet-welcome,.suggestions,footer{display:none}
.header-menu{position:relative}.header-menu>summary{list-style:none;cursor:pointer;font-size:22px;color:#718177;padding:10px}.header-menu>summary::-webkit-details-marker{display:none}.header-menu .header-actions{position:absolute;right:0;top:45px;z-index:5;background:white;border:1px solid #e4e9e5;border-radius:12px;padding:15px;min-width:220px;box-shadow:0 8px 30px #17352612;display:flex;flex-direction:column;align-items:flex-start}
main{max-width:1050px;padding-top:100px}.intro h1{font-size:42px}body.has-results .intro{display:none}body.has-results main{padding-top:24px}.search-wrap{margin-top:28px;padding:12px 16px;box-shadow:none;border-radius:16px}.search-context{padding:10px 0 0;margin-top:10px}.search-context strong{font-size:14px;font-weight:500;margin:0}.search-context button{padding:8px 12px;font-size:13px}
#results{margin-top:24px}.status-message:empty{display:none}.filter-options{margin:0;font-size:12px}.filter-options summary{padding:8px 0}.result-meta{margin:0 0 16px;font-size:12px}.product-cards{gap:18px}.listing-card.selected{border-color:#e4e9e5;box-shadow:none}.listing-card{padding:16px}.listing-image{height:190px;background:#fafbf9}.listing-image img{height:170px}.listing-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;margin:8px 0 16px;font-size:14px;min-height:42px}.listing-price{font-size:25px}.lowest-tag{font-size:10px;margin-top:8px}.card-actions{margin-top:16px}.card-more{width:100%;margin-top:12px;font-size:12px;color:#78847c}.card-more summary{cursor:pointer}.card-more .text-button{font-size:12px;display:block}.price-note{font-size:11px;color:#829086;text-align:center;margin:22px 0}.search-details,#google-research{border:0;padding:0;margin:12px 0;font-size:12px;color:#78847c}.search-details summary,#google-research summary,#search-actions summary{cursor:pointer}.search-details .demo-note{text-align:left}.selection{margin-top:16px}.search-details:has(+p){margin-top:0}
@media(max-width:640px){header{min-height:70px;padding:12px 20px;flex-wrap:nowrap}.intro h1{font-size:33px}.search-line input{font-size:16px}.listing-image{height:180px}.listing-card{padding:16px}.listing-card h3{font-size:14px}.header-menu .region{display:block}main{padding-top:90px}.search-button{padding:11px 13px}.search-context strong{max-width:220px}body.has-results main{padding-top:5px}}

.brand{font-size:22px;letter-spacing:-.7px}@media(max-width:640px){.brand{font-size:19px;gap:8px}.brand .mark{width:30px;height:34px;font-size:26px}}

.listing-card{padding:22px}.listing-card h3{min-height:62px;-webkit-line-clamp:3}.listing-store{font-size:13px}.listing-price{margin-top:14px}

#variant-panel{max-width:740px;margin:24px auto}#variant-panel h2{font-size:20px}#variant-fields{display:grid;gap:16px;margin:20px 0}#variant-fields label{display:grid;gap:8px;font-size:14px}#variant-fields input{padding:13px;border:1px solid #dce3de;border-radius:8px;font-size:16px}#variant-form>.primary{width:auto}.verification-note{font-size:11px;color:#7a837d;margin-top:8px}#variant-error{font-size:13px;color:#984734}

.search-progress{height:4px;overflow:hidden;border-radius:999px;background:#e8f1ed;margin:12px 0 24px}.search-progress>span{display:block;width:35%;height:100%;border-radius:inherit;background:#197052;animation:search-sweep 1.4s ease-in-out infinite}@keyframes search-sweep{from{transform:translateX(-110%)}to{transform:translateX(390%)}}@media(prefers-reduced-motion:reduce){.search-progress>span{animation:none;width:100%;background:linear-gradient(90deg,#e8f1ed,#197052,#e8f1ed)}}

/* Designer-first catalog */
.view-tabs{display:flex;align-items:center;gap:4px;padding:4px;background:#f3f5f3;border-radius:10px}.view-tabs button{padding:8px 14px;border-radius:7px;color:#6d7871;font-size:14px}.view-tabs button.active{background:#fff;color:#1e2c23;box-shadow:0 1px 4px #14291f12}.catalog-mode main{max-width:1440px;padding:38px 5% 80px}.catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:28px;border-bottom:1px solid #e8ece9}.catalog-heading h1{font-size:clamp(32px,4vw,50px);line-height:1;letter-spacing:-2px;font-weight:500;margin:11px 0 0}.catalog-controls{display:flex;gap:10px;align-items:center}.catalog-search{height:44px;min-width:260px;border:1px solid #dde4df;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 13px;color:#738078}.catalog-search input{border:0;outline:0;min-width:0;width:100%;font-size:15px;background:transparent}.catalog-controls select{height:44px;border:1px solid #dde4df;border-radius:10px;padding:0 34px 0 12px;background:#fff;color:#34463a;font-size:14px}.catalog-loading{padding:60px 0;color:#77837b}.catalog-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:42px;padding-top:30px}.catalog-layout aside{min-width:0}.designer-list{position:sticky;top:24px;max-height:calc(100vh - 50px);overflow:auto;padding-right:12px}.designer-list button{width:100%;display:flex;justify-content:space-between;gap:14px;text-align:left;padding:9px 10px;border-radius:7px;color:#657168;font-size:14px}.designer-list button:hover{background:#f6f8f6}.designer-list button.active{background:#edf4ef;color:#176e4c;font-weight:600}.designer-list small{font-size:12px;color:#9aa29c;font-weight:400}.catalog-result-head{display:flex;justify-content:space-between;color:#78837b;font-size:13px;padding:8px 0 18px}.catalog-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}.catalog-card{min-width:0}.catalog-image{display:block;aspect-ratio:1/1.18;background:#f6f7f5;border-radius:12px;overflow:hidden}.catalog-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.catalog-image:hover img{transform:scale(1.015)}.catalog-card-meta{padding:13px 2px 0}.catalog-identity{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.catalog-identity strong{font-size:13px;font-weight:600}.catalog-identity span{color:#8a938d}.catalog-card h3{font-size:14px;line-height:1.45;font-weight:500;margin:7px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:41px}.catalog-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.catalog-prices{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.catalog-card-footer strong{font-size:14px;font-weight:600}.catalog-prices span{font-size:12px;color:#68766d}.catalog-card-footer a{font-size:13px;color:#19704e;white-space:nowrap}.catalog-more{display:block;margin:38px auto 0;border:1px solid #cad9cf;border-radius:9px;padding:11px 22px;color:#216f4e;font-size:14px}.catalog-empty{text-align:center;color:#78837b;padding:60px 0}.catalog-view .eyebrow{font-size:11px}
@media(max-width:1050px){.catalog-products{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-layout{grid-template-columns:190px minmax(0,1fr);gap:28px}}
@media(max-width:760px){header{display:grid;grid-template-columns:1fr auto auto}.view-tabs button{padding:7px 10px;font-size:13px}.catalog-mode main{padding:24px 16px 60px}.catalog-heading{display:block}.catalog-controls{margin-top:22px}.catalog-search{min-width:0;flex:1}.catalog-controls select{max-width:145px}.catalog-layout{display:block;padding-top:18px}.designer-list{position:static;display:flex;overflow-x:auto;max-height:none;padding:0 0 14px;gap:6px;scrollbar-width:none}.designer-list::-webkit-scrollbar{display:none}.designer-list button{width:auto;flex:none;border:1px solid #e2e7e3;padding:8px 11px}.designer-list button small{margin-left:8px}.catalog-result-head{padding-top:4px}.catalog-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}.catalog-card h3{font-size:13px}.catalog-card-footer{display:block}.catalog-card-footer a{display:block;margin-top:8px}.header-menu{justify-self:end}}
@media(max-width:480px){header{grid-template-columns:1fr auto}.header-menu{display:none}.brand{font-size:17px}.brand .mark{width:28px;height:31px}.view-tabs button{padding:7px 9px}.catalog-heading h1{font-size:32px}.catalog-controls{display:grid;grid-template-columns:1fr}.catalog-controls select{width:100%;max-width:none}.catalog-search{width:100%}.catalog-image{border-radius:9px}}
.catalog-title:hover h3{text-decoration:underline;text-decoration-color:#c4cec7;text-underline-offset:3px}
.catalog-card h3{margin-bottom:5px;min-height:0}.catalog-card-footer{align-items:center}.catalog-prices{display:grid;gap:2px}.catalog-buy{margin-left:auto}@media(max-width:760px){.catalog-card-footer{display:flex}.catalog-card-footer a.catalog-buy{display:inline-block;margin:0 0 0 auto}}
.product-types{display:flex;gap:7px;overflow-x:auto;padding:0 0 16px;scrollbar-width:none}.product-types::-webkit-scrollbar{display:none}.product-types button{flex:none;border:1px solid #dfe6e1;border-radius:999px;padding:8px 12px;color:#637168;font-size:13px}.product-types button:hover{border-color:#a9bdb0}.product-types button.active{border-color:#267651;background:#edf5f0;color:#176e4c;font-weight:600}
.catalog-result-head{justify-content:flex-end}.catalog-card-meta{padding-top:10px}.catalog-card-footer{margin-top:5px}
.catalog-original{display:grid;gap:2px;text-align:right;margin-left:auto;color:#7f8982}.catalog-original span{font-size:10px;text-transform:uppercase;letter-spacing:.5px}.catalog-original .catalog-original-value{font-size:12px;letter-spacing:0}
.catalog-heading{padding-bottom:20px}.catalog-title-block{flex:1;min-width:0}.catalog-kicker{display:flex;align-items:center;gap:16px}.catalog-disclaimer{margin:0;color:#77827b;font-size:11px;line-height:1.3}.catalog-heading h1{font-size:clamp(30px,3.4vw,44px);margin-top:7px}.catalog-controls{flex-direction:row;align-items:center}@media(max-width:760px){.catalog-heading h1{font-size:29px;margin-top:6px}.catalog-kicker{gap:10px}.catalog-disclaimer{margin-left:auto;text-align:right;font-size:10px}.catalog-controls{margin-top:14px;align-items:stretch}.catalog-layout{padding-top:14px}}
#cart-open{display:flex;align-items:center;gap:5px}#cart-count{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#176e4c;color:#fff;display:inline-grid;place-items:center;font-size:10px}#cart-count[hidden]{display:none}.catalog-add{width:100%;margin-top:10px;border:1px solid #cad9cf;border-radius:7px;padding:8px;color:#176e4c;font-size:12px}.catalog-add:hover{background:#edf5f0}.catalog-add:disabled{visibility:hidden}#catalog-cart{width:min(560px,calc(100% - 28px));max-height:86dvh;overflow:auto}.cart-note,.cart-storage-note{color:#77827b;font-size:12px;line-height:1.5}.cart-items{display:grid;gap:0;margin-top:18px}.cart-item{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #e6ebe7}.cart-item>a{width:68px;height:78px;border-radius:8px;overflow:hidden;background:#f6f7f5}.cart-item img{width:100%;height:100%;object-fit:cover}.cart-item-details{display:grid;gap:4px;min-width:0}.cart-item-details strong{font-size:14px}.cart-item-details span{font-size:11px;color:#89938c}.cart-item-details b{font-size:13px}.cart-quantity{display:grid;grid-template-columns:28px 24px 28px;align-items:center;text-align:center}.cart-quantity button{height:28px;border:1px solid #dbe3dd;border-radius:6px}.cart-remove{grid-column:1/4;border:0!important;color:#7d8880;font-size:10px;margin-top:5px}.cart-empty{padding:30px 0;color:#78837b}.cart-summary{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dfe6e1;padding-top:18px;margin-top:8px}.cart-summary strong{font-size:22px}.cart-storage-note{text-align:right}@media(max-width:480px){.brand{font-size:15px;gap:5px;white-space:nowrap}.brand .mark{width:26px;height:29px}.view-tabs{gap:1px}.view-tabs button{padding-left:6px;padding-right:6px}.cart-item{grid-template-columns:58px minmax(0,1fr) auto}.cart-item>a{width:58px;height:68px}}
.catalog-image{width:100%;padding:0;border:0;cursor:pointer;color:inherit}.cart-item>button{width:68px;height:78px;padding:0;border:0;border-radius:8px;overflow:hidden;background:#f6f7f5;cursor:pointer}#product-gallery{width:min(880px,calc(100% - 28px));max-height:92dvh;overflow:auto;padding:28px}.gallery-product-id{margin:4px 0 18px;color:#829087;font-size:12px}.gallery-loading{padding:70px 0;text-align:center;color:#78837b}.gallery-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-photo{display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;background:#f6f7f5;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.gallery-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}@media(max-width:480px){.cart-item>button{width:58px;height:68px}#product-gallery{padding:22px 14px}.gallery-photos{gap:7px}.gallery-photo{border-radius:7px}}
.gallery-purchase{position:sticky;bottom:-28px;margin:18px -28px -28px;padding:18px 28px 22px;background:#fff;border-top:1px solid #e3ebe5;box-shadow:0 -12px 30px #14291f0a}.gallery-options{border:0;margin:0 0 12px;padding:0}.gallery-options legend{font-size:12px;font-weight:600;color:#51675a;margin-bottom:8px}.gallery-choice-row{display:flex;gap:7px;flex-wrap:wrap}.gallery-choice-row label{display:inline-flex;align-items:center;justify-content:center;min-width:46px;margin:0;border:1px solid #d6e2db;border-radius:999px;padding:8px 12px;background:#fff;color:#3a4d42;font-size:13px;line-height:1;cursor:pointer}.gallery-choice-row label:has(input:checked){border-color:#196e4d;background:#edf5f0;color:#176e4c;font-weight:600}.gallery-choice-row input{position:absolute;opacity:0;pointer-events:none}.gallery-note{display:block;width:100%;min-height:78px;margin:12px 0 10px;padding:11px 12px;border:1px solid #d6e2db;border-radius:9px;resize:vertical;color:#2e4035;font:inherit;font-size:13px;line-height:1.45}.gallery-note::placeholder{color:#8b968f}.gallery-add{margin-top:4px}.gallery-cart-status{min-height:18px;margin:10px 0 0;color:#176e4c;font-size:13px;line-height:1.4}@media(max-width:480px){.gallery-purchase{bottom:-22px;margin:14px -14px -22px;padding:15px 14px 18px}.gallery-choice-row{gap:6px}.gallery-choice-row label{min-width:42px;padding:8px 10px}.gallery-note{min-height:72px}}

/* Keep the primary shopping action at the right edge and open it as a drawer. */
.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:5px}.header-tools #cart-open{position:relative;width:42px;height:42px;padding:0;display:grid;place-items:center;border:1px solid #dde4df;border-radius:8px;background:#fff;color:#26352c}.header-tools #cart-open:hover{background:#f3f7f4;border-color:#bed1c4}.header-tools #cart-open svg{width:21px;height:21px}.header-tools #cart-count{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border:2px solid #fff;padding:0 4px}.header-tools .header-menu{position:relative}#catalog-cart{box-sizing:border-box;height:100dvh;max-height:100dvh;width:min(440px,100%);margin:0 0 0 auto;border-width:0 0 0 1px;border-radius:0;padding:32px 28px}#catalog-cart::backdrop{background:#152a2344;backdrop-filter:none}
@media(max-width:760px){header{grid-template-columns:minmax(0,1fr) auto auto}.header-tools{justify-self:end}.header-tools #cart-open{width:38px;height:38px}#catalog-cart{width:min(420px,100%);padding:28px 20px}}
@media(max-width:480px){header{grid-template-columns:minmax(0,1fr) auto auto}.header-tools .header-menu{display:none}.header-tools #cart-open{width:36px;height:36px}.header-tools #cart-open svg{width:19px;height:19px}#catalog-cart{width:100%;padding:26px 18px}}

/* Private archive presentation */
:root{font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;color:#181512;background:#f7f3ec}
body{background:#f7f3ec;color:#181512}
header{height:86px;background:#f7f3ec;border-bottom:1px solid #ded5c9}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:#181512}
.mark{width:28px;height:32px;border-radius:0;background:#181512;color:#f7f3ec;font-family:Georgia,"Times New Roman",serif;font-size:23px}
.mark span,.beta{display:none}
.view-tabs{background:transparent;border:1px solid #d8cec0;border-radius:0;padding:0;gap:0}
.view-tabs button{border-radius:0;padding:10px 16px;color:#625a50;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.view-tabs button+button{border-left:1px solid #d8cec0}
.view-tabs button.active{background:#181512;color:#f7f3ec;box-shadow:none}
.header-tools #cart-open{border-color:#d8cec0;border-radius:0;background:transparent;color:#181512}
.header-tools #cart-open:hover{background:#eee7dd;border-color:#b8aa99}
#cart-count{background:#181512}
.header-tools #cart-count{border-color:#f7f3ec}
.header-menu>summary{color:#4f463c}
.header-menu .header-actions{background:#fffaf2;border-color:#d8cec0;border-radius:0;box-shadow:0 18px 42px #1815121c}
.catalog-mode main{max-width:1480px;padding:42px 4% 92px;background:#f7f3ec}
.catalog-heading{padding:16px 0 14px;border-color:#d8cec0}
.catalog-kicker{align-items:baseline}
.catalog-view .eyebrow,.eyebrow{color:#7b623d;font-size:10px;font-weight:600;letter-spacing:.16em}
.catalog-disclaimer{color:#6f675d;font-size:12px}
.catalog-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4.6vw,64px);font-weight:400;line-height:.98;letter-spacing:0;margin-top:12px}
.catalog-search{height:48px;min-width:300px;background:#fffaf2;border-color:#d8cec0;border-radius:0;color:#6f675d}
.catalog-search input{color:#181512}
.catalog-search input::placeholder,.gallery-note::placeholder{color:#968b7d}
.catalog-layout{grid-template-columns:210px minmax(0,1fr);gap:48px;padding-top:34px}
.designer-list{padding-right:22px}
.designer-list button{position:relative;border-radius:0;border-bottom:1px solid #e2d9ce;padding:12px 0;background:transparent;color:#655d53}
.designer-list button:hover{background:transparent;color:#181512}
.designer-list button.active{background:transparent;color:#181512;font-weight:400}
.designer-list button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#181512}
.designer-list small{color:#9b9185}
.product-types{gap:0;padding-bottom:22px}
.product-types button{border-width:0 0 1px;border-color:#d8cec0;border-radius:0;padding:10px 18px;background:transparent;color:#6b6258;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
.product-types button:hover{border-color:#181512;color:#181512}
.product-types button.active{border-color:#181512;background:transparent;color:#181512;font-weight:500}
.catalog-result-head{color:#7a7167;padding-bottom:22px}
.catalog-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 26px}
.catalog-image{aspect-ratio:0.82;background:#ede5da;border-radius:0}
.catalog-image img{transition:transform .35s ease,filter .35s ease}
.catalog-image:hover img{transform:scale(1.02);filter:saturate(.94)}
.catalog-card-meta{padding-top:14px}
.catalog-identity{font-size:12px;color:#5d544a}
.catalog-identity strong{font-family:Georgia,"Times New Roman",serif;font-size:14px;font-weight:400;letter-spacing:.03em;text-transform:uppercase}
.catalog-identity span,.catalog-prices span,.catalog-original{color:#857b70}
.catalog-card h3{font-size:15px;line-height:1.45;font-weight:400;color:#25211d}
.catalog-card-footer strong{font-size:15px;font-weight:500}
.catalog-card-footer a,.text-button{color:#5d4424}
.catalog-add,.catalog-more,.secondary{border-color:#bfb2a2;border-radius:0;background:transparent;color:#181512}
.catalog-add:hover,.catalog-more:hover,.secondary:hover{background:#eee7dd}
.search-button,.primary{background:#181512;color:#fffaf2;border-radius:0;font-weight:500}
.search-button:hover,.primary:hover{background:#3a3128}
dialog{background:#fffaf2;border-color:#d2c7b9;border-radius:0;color:#181512;box-shadow:0 32px 90px #18151236}
dialog::backdrop{background:#18151266;backdrop-filter:blur(2px)}
dialog h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:0}
.close{color:#5b5147}
#product-gallery{width:min(960px,calc(100% - 28px))}
.gallery-product-id,.gallery-fine-print,.cart-note,.cart-storage-note,.cart-item-details span{color:#756c61}
.gallery-photo,.cart-item>a,.cart-item>button{background:#ede5da;border-radius:0}
.gallery-purchase{background:#fffaf2;border-color:#d2c7b9;box-shadow:0 -18px 38px #18151214}
.gallery-options legend{color:#4f463c;font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.gallery-choice-row label{min-width:48px;border-color:#cdbfad;border-radius:0;background:#fffaf2;color:#3f372f}
.gallery-choice-row label:has(input:checked){border-color:#181512;background:#181512;color:#fffaf2;font-weight:400}
.gallery-note{border-color:#cdbfad;border-radius:0;background:#fffaf2;color:#181512}
.gallery-cart-status{color:#5d4424}
#catalog-cart{background:#fffaf2;border-color:#d2c7b9}
.cart-item{border-color:#e2d9ce}
.cart-quantity button{border-color:#cdbfad;border-radius:0}
:focus-visible{outline-color:#7b623d}
@media(max-width:1050px){.catalog-products{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{grid-template-columns:180px minmax(0,1fr);gap:34px}}
@media(max-width:760px){header{min-height:78px;background:#f7f3ec}.brand{font-size:16px;letter-spacing:.09em}.view-tabs button{padding:9px 11px;font-size:11px}.catalog-mode main{padding:28px 18px 70px}.catalog-heading{padding-top:24px}.catalog-heading h1{font-size:36px}.catalog-disclaimer{text-align:left;margin-left:0}.catalog-controls{margin-top:18px}.catalog-layout{padding-top:20px}.designer-list{padding-bottom:16px}.designer-list button{border:1px solid #d8cec0;padding:9px 12px}.designer-list button.active:after{display:none}.catalog-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 12px}.product-types button{padding:9px 13px}.catalog-search{min-width:0;width:100%}}
@media(max-width:480px){header{padding-left:14px;padding-right:14px}.brand{font-size:14px;letter-spacing:.07em}.brand .mark{width:25px;height:29px;font-size:20px}.catalog-heading h1{font-size:32px}.catalog-kicker{display:grid;gap:8px}.catalog-products{grid-template-columns:1fr;gap:36px}.catalog-image{aspect-ratio:.9}.gallery-photos{grid-template-columns:1fr}.gallery-purchase{bottom:-22px}}
.header-tools .header-menu{display:none!important}

.added-cart{box-sizing:border-box;height:100dvh;max-height:100dvh;width:min(480px,100%);margin:0 0 0 auto;border-width:0 0 0 1px;border-radius:0;padding:74px 28px 32px;background:#fffaf2;border-color:#d2c7b9}
.added-cart::backdrop{background:#18151299;backdrop-filter:none}
.added-cart h2{font-size:28px;margin:0 0 70px}
.added-cart-product{display:grid;grid-template-columns:128px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:36px}
.added-cart-product img{width:128px;height:150px;object-fit:cover;background:#ede5da}
.added-cart-details{display:grid;gap:9px;min-width:0;color:#181512}
.added-cart-id,.added-cart-details span{font-size:13px;color:#756c61}
.added-cart-details strong{font-size:17px;font-weight:400;line-height:1.45}
.added-cart-details b{font-size:17px;font-weight:400;margin-top:2px}
.added-cart-actions{display:grid;gap:12px}
.added-cart .primary{border-radius:999px;background:#181512;color:#fffaf2;font-size:17px;padding:18px 24px}
.added-cart .primary:hover{background:#332b22}
.added-cart .secondary{border-color:#181512;border-radius:999px;color:#181512;background:#fffaf2;font-size:17px;padding:17px 24px}
.added-cart .secondary:hover{background:#eee7dd}
@media(max-width:480px){.added-cart{padding:64px 20px 26px}.added-cart h2{margin-bottom:44px}.added-cart-product{grid-template-columns:108px minmax(0,1fr);gap:16px}.added-cart-product img{width:108px;height:128px}.added-cart .primary,.added-cart .secondary{font-size:16px;padding:16px 20px}}
.account-status{display:grid;gap:2px;text-align:right;font-size:11px;color:#756c61;line-height:1.25}
.account-status button{font-size:12px;text-decoration:underline;text-underline-offset:3px;color:#181512;padding:0;text-align:right}
.account-status.signed-in span{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#account-dialog{width:min(430px,calc(100% - 28px))}
.account-intro{margin-bottom:20px}
.account-form{display:grid;gap:14px}
.account-mode{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cdbfad;margin-bottom:4px}
.account-mode button{padding:12px;border-right:1px solid #cdbfad;color:#4f463c}
.account-mode button:last-child{border-right:0}
.account-mode button.active{background:#181512;color:#fffaf2}
.account-form label{display:grid;gap:8px;margin:0;color:#4f463c}
.account-form input{width:100%;border:1px solid #cdbfad;background:#fffaf2;color:#181512;padding:12px;font-size:15px}
.account-message{min-height:20px;margin:2px 0 0;color:#756c61;font-size:13px;line-height:1.45}
.browse-gate{text-align:center;color:#6f685c;font-size:13px;line-height:1.5;margin:18px auto -18px;max-width:420px}
@media(max-width:760px){.account-status{display:block;text-align:right}.account-status span{display:none}.account-status button{font-size:12px;white-space:nowrap}}

.product-types{display:grid;gap:9px;padding-bottom:16px}.filter-parent-row,.filter-child-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.filter-parent-row::-webkit-scrollbar,.filter-child-row::-webkit-scrollbar{display:none}.filter-child-row{padding-left:4px}.filter-child-row button{padding:6px 10px;font-size:12px}

/* Mobile input zoom and sideways drift.
   iOS Safari zooms the page whenever a focused form control is under 16px, and
   once zoomed the viewport becomes pannable, which reads as the screen sliding
   left and right. Raising every control to 16px removes the cause rather than
   suppressing the symptom; maximum-scale would stop the pan too, but it also
   takes pinch-zoom away from anyone who needs it. */
@media(max-width:760px){
  input,select,textarea,button{font-size:16px}
  .catalog-search input,.filters select,.filters input,#checkout-dialog input:not([type=checkbox]),
  #checkout-dialog select,#checkout-dialog textarea,.account-form input,
  .gallery-note,.suggestions button{font-size:16px}
  /* Horizontal strips scroll on purpose; stop that gesture chaining to the page. */
  .designer-list,.product-types,.filter-parent-row,.filter-child-row{overscroll-behavior-x:contain}
  html,body{overflow-x:hidden;max-width:100%}
}

/* The product dialog was pinned to the base dialog's 460px max-width, so the
   min(960px,...) width above never applied. Desktop gets close to the full
   viewport, keeping a margin wide enough to click out and close. */
@media(min-width:761px){
  #product-gallery{width:calc(100vw - 96px);max-width:none;max-height:calc(100dvh - 96px)}
  .gallery-photos{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* The fine print now sits after the purchase form, so the form can no longer
   pull the dialog's bottom padding over it. */
.gallery-purchase{margin-bottom:0}
.gallery-fine-print{margin:14px 0 0;color:#829087;font-size:12px;line-height:1.6}
/* The box takes the image's own shape: the photo is scaled down only if it
   exceeds the viewport, and the dialog shrink-wraps whatever that leaves, so
   there is no letterboxing around tall or square product shots. */
/* fit-content rather than auto: a dialog is absolutely positioned and, with a
   max-width set, auto resolves to that max rather than to the photo, which
   left the box the width of the screen with the image in one corner. The
   background is transparent too, so any width the box does keep is the page
   behind it rather than a cream margin. */
#photo-zoom{width:fit-content;max-width:calc(100vw - 48px);height:fit-content;max-height:calc(100dvh - 48px);padding:0;overflow:hidden;line-height:0;background:transparent;border:0;box-shadow:none}
#photo-zoom img{display:block;width:auto;height:auto;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px)}
#photo-zoom .close{top:6px;right:8px;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:#fffaf2d9;color:#181512;font-size:24px;line-height:1}
@media(max-width:480px){
  #photo-zoom{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  #photo-zoom img{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
}

/* Clicking a thumbnail opens the full view rather than magnifying in place,
   so it reads as a hand, and lifts on hover to say it is clickable. */
.gallery-photo:hover,.gallery-photo:focus-visible{transform:translateY(-3px);box-shadow:0 14px 30px #1815121f}
/* Magnifying happens in the zoom layer, where the pointer becomes a grab
   handle once there is something to drag. */
#photo-zoom img{cursor:zoom-in;transform-origin:center center}
#photo-zoom img.zoomed{cursor:grab}
#photo-zoom img.dragging{cursor:grabbing}

/* Read off the supplier size chart, shown so nobody has to open a chart image
   printed in Chinese to find a chest measurement. */



/* Admin editing. Only rendered for an admin session, so these never apply to a
   shopper: the field itself is the control, clicked in place. */
.admin-editable{cursor:text;border-bottom:1px dashed #b8aa99}
.admin-editable:hover{background:#fff3dd}
.admin-edit-input{font:inherit;color:inherit;border:1px solid #181512;border-radius:0;padding:1px 4px;background:#fff;max-width:160px}


/* The purchase panel is sticky over the photographs, so every line it takes is
   a line of product the shopper cannot see. Kept to a tenth of the dialog: one
   detail line, and a note box that is a single row until it is being written
   in. */
@media(min-width:761px){
  .gallery-purchase{max-height:22vh;overflow-y:auto;padding:12px 28px 14px;margin-top:10px}
  .gallery-options{margin-bottom:8px}
  .gallery-options legend{margin-bottom:5px}
  .gallery-detail{margin:6px 0 0;font-size:12px;line-height:1.45;color:#5d5346}
  .gallery-note{min-height:38px;margin:8px 0 6px;transition:min-height .15s ease}
  .gallery-note:focus{min-height:96px}
  .gallery-add{padding:10px 19px}
  .gallery-cart-status{min-height:0;margin-top:6px}
}
.gallery-detail{margin:8px 0 0;font-size:12px;line-height:1.5;color:#5d5346}

/* The search sits on the filter row rather than under a heading, so the
   designers and categories start at the top of the view. align-items keeps it
   level with the first row of filters however many rows follow. */
.catalog-filter-bar{display:flex;align-items:flex-start;gap:14px}
.catalog-filter-bar .product-types{flex:1;min-width:0}
.catalog-filter-bar .catalog-search{flex:none;margin:0}
@media(max-width:760px){
  .catalog-filter-bar{flex-direction:column;gap:10px}
  .catalog-filter-bar .catalog-search{width:100%}
}

/* The headline this made room for is gone; the products start the page now.
   These target .catalog-mode main, which sets 42px of top padding and outranks
   a bare main selector, so the earlier attempt at this changed nothing. */
@media(min-width:761px){
  .catalog-mode main{padding-top:14px}
  .catalog-heading{padding:6px 0 10px}
  .catalog-result-head{padding:0 0 10px}
  .catalog-filter-bar{margin-top:2px}
}

/* The note and the button share a row: full width, the note pushed the button
   off the panel, and the id and terms sat after every photograph where nobody
   scrolled to find them. */
.gallery-commit-row{display:flex;gap:16px;align-items:stretch;margin-top:8px}
.gallery-commit-row .gallery-note{flex:1 1 50%;min-width:0;margin:0}
.gallery-commit{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px}
.gallery-commit .gallery-fine-print{margin:0;font-size:11px;line-height:1.45}
.gallery-commit .gallery-add{margin-top:6px;width:100%}
.gallery-commit .gallery-cart-status{margin:4px 0 0}
@media(max-width:760px){
  .gallery-commit-row{flex-direction:column;gap:10px}
  .gallery-commit-row .gallery-note,.gallery-commit{flex:1 1 auto}
}

/* Admin deletion. Two clicks: the second is on a button that has changed to
   name the product it will remove. */
.admin-delete{align-self:flex-start;margin-top:6px;border:1px solid #cdbfad;border-radius:0;padding:3px 8px;font-size:11px;color:#8a7f72;background:transparent}
.admin-delete:hover{border-color:#8c2f2f;color:#8c2f2f}
.admin-delete.armed{border-color:#8c2f2f;background:#8c2f2f;color:#fffaf2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Said rather than left blank, so a shopper knows why a product is in no
   category filter and an admin has something to click. */
.catalog-uncategorised{color:#a2988b;font-style:italic}

/* Colour, size and sort as menus. Two rows of chips ran off the page at 18
   colours and 40 sizes and pushed the products below the fold. */
.catalog-refine{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 8px}
.refine-menu{position:relative}
.refine-menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border:1px solid #d8cec0;padding:6px 12px;font-size:12px;color:#5f564c;white-space:nowrap}
.refine-menu>summary::-webkit-details-marker{display:none}
.refine-menu>summary::after{content:;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.refine-menu>summary:hover{border-color:#181512;color:#181512}
.refine-menu>summary.chosen{border-color:#181512;background:#181512;color:#fffaf2}
.refine-menu>summary small{font-size:11px;opacity:.75}
.refine-panel{position:absolute;z-index:6;top:calc(100% + 4px);left:0;min-width:180px;max-height:280px;overflow-y:auto;background:#fffaf2;border:1px solid #d8cec0;box-shadow:0 18px 40px #1815121f;padding:4px}
.refine-panel button{display:flex;width:100%;justify-content:space-between;gap:12px;padding:6px 10px;font-size:12px;color:#5f564c;text-align:left}
.refine-panel button:hover{background:#f1e9dd;color:#181512}
.refine-panel button.active{background:#181512;color:#fffaf2}
.refine-panel button small{opacity:.6;font-size:11px}
.catalog-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 10px}
.catalog-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #cdbfad;background:#f1e9dd;padding:4px 9px;font-size:12px;color:#4f463c}
.catalog-chip:hover{border-color:#181512}
.catalog-chip small{font-size:13px;line-height:1}
