@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url("/fonts/nunito-latin.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url("/fonts/playfair-latin.woff2") format("woff2")}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:400;font-display:swap;src:url("/fonts/playfair-latin-italic.woff2") format("woff2")}
:root{--ink:#1c1c1c;--soft:#5d5a55;--paper:#faf8f5;--card:#fff;--line:#e6e1d9;--gold:#8b6f4c;--gold2:#6f593d;--in:#1f7a3a;--lim:#a35a00;--out:#b3261e;--r:10px;--sh:0 1px 2px rgba(0,0,0,.05),0 6px 18px rgba(0,0,0,.06)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 Nunito,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--paper)}
a{color:inherit}img{display:block;max-width:100%}
h1,h2,.serif{font-family:Nunito,system-ui,sans-serif;font-weight:600;letter-spacing:.01em}
button,input,select{font:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:999px;padding:10px 18px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;letter-spacing:.02em}
.btn:hover{background:#000}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:#f1ede6}
.btn.gold{background:var(--gold);border-color:var(--gold)}.btn.gold:hover{background:var(--gold2)}
.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.big{width:100%;padding:14px 18px;font-size:15px}
input,select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin:12px 0 6px}
.fine{font-size:12.5px;color:var(--soft)}.todo{color:var(--out);font-size:13px}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);font-weight:700;margin:0 0 4px}
/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.top .in{max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:6px;padding:10px 16px;height:56px}
.brand{font-family:Nunito,system-ui,sans-serif;font-weight:600;font-size:28px;letter-spacing:.12em;text-decoration:none;line-height:1}
.brand small{display:block;font:600 8.5px Nunito,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);margin-top:2px}
.top .sp{flex:1}.top nav{display:flex;gap:2px;align-items:center}
.top nav a{font-size:13px;font-weight:600;text-decoration:none;padding:8px 10px;border-radius:999px;white-space:nowrap}
.top nav a:hover{background:#f1ede6}.top nav a.qbtn{background:var(--ink);color:#fff}
.top nav a.qbtn b{display:inline-block;min-width:18px;margin-left:4px;padding:0 5px;border-radius:9px;background:var(--gold);font-size:11px;text-align:center}
@media(max-width:560px){.top nav a.hide-s{display:none}}
.wrap{max-width:1280px;margin:0 auto;padding:0 16px}
/* ---------- home ---------- */
.intro{padding:14px 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.intro h1{margin:0;font-size:26px;line-height:1.1}.intro p{margin:0;color:var(--soft);font-size:13px}
.albums{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding-bottom:18px}
.alb{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:#ddd;aspect-ratio:1/0.82;box-shadow:var(--sh);text-decoration:none}
.alb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.alb:hover img{transform:scale(1.05)}
.alb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.72))}
.alb span{position:absolute;left:10px;right:10px;bottom:8px;z-index:1;color:#fff;font-weight:600;font-size:13px;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.alb span small{display:block;font-weight:500;font-size:10.5px;opacity:.85;letter-spacing:.04em}
@media(max-width:560px) and (max-height:760px){.alb{aspect-ratio:1/0.72}}
@media(min-width:700px){.albums{grid-template-columns:repeat(4,1fr);gap:14px}.alb{aspect-ratio:4/5}.alb span{font-size:16px;left:14px;bottom:12px}.alb span small{font-size:12px}.intro{padding:26px 0 18px}.intro h1{font-size:38px}}
@media(min-width:1100px){.albums{gap:20px}.alb span{font-size:19px}}
/* ---------- album ---------- */
.crumb{font-size:12.5px;color:var(--soft);padding:12px 0 0;overflow-wrap:break-word}.crumb a{text-decoration:none;font-weight:600}
.ahead{padding:6px 0 4px}.ahead h1{margin:0;font-size:30px}
@media(min-width:700px){.ahead h1{font-size:44px}}
.sec{margin:16px 0 26px}
.sech{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}
.sech h2{margin:0;font:700 12.5px Nunito,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.price{display:inline-block;background:#f3ede3;color:var(--gold2);font-weight:700;font-size:12.5px;padding:2px 9px;border-radius:999px;letter-spacing:0;text-transform:none}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:700px){.grid{grid-template-columns:repeat(4,1fr);gap:16px}}
@media(min-width:1100px){.grid{grid-template-columns:repeat(5,1fr)}}
.p{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.p .im{aspect-ratio:1;background:#eee;overflow:hidden}.p .im img{width:100%;height:100%;object-fit:cover}
.p .bd{padding:9px 10px 10px;display:flex;flex-direction:column;gap:6px;flex:1}
.p .n{font-weight:600;font-size:13.5px;line-height:1.25}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:#bbb;flex:none}
.chip.in{color:var(--in)}.chip.in::before{background:var(--in)}.chip.limited{color:var(--lim)}.chip.limited::before{background:var(--lim)}
.chip.out{color:var(--out)}.chip.out::before{background:var(--out)}.chip.unknown{color:var(--soft)}
.chip em{font-style:normal;font-weight:500;color:var(--soft)}
.p .acts{margin-top:auto;display:grid;grid-template-columns:1fr;gap:6px}
.p .acts .btn{padding:8px 10px;font-size:13px}
.p .acts a.lnk{font-size:12.5px;font-weight:600;text-align:center;text-decoration:underline;text-underline-offset:3px;padding:2px}
/* ---------- stock page ---------- */
.stk{display:grid;gap:18px;padding:10px 0 30px}
@media(min-width:800px){.stk{grid-template-columns:minmax(280px,420px) 1fr;gap:34px;padding-top:20px}}
.stk .ph{border-radius:var(--r);overflow:hidden;background:#eee;aspect-ratio:1;box-shadow:var(--sh)}.stk .ph img{width:100%;height:100%;object-fit:cover}
.stk h1{margin:0;font-size:32px;line-height:1.1}
.status{font-size:22px;font-weight:700;margin:14px 0 2px}.status.in{color:var(--in)}.status.limited{color:var(--lim)}.status.out{color:var(--out)}.status.unknown{color:var(--soft)}
.regions{display:grid;gap:10px;margin:14px 0}@media(min-width:560px){.regions{grid-template-columns:1fr 1fr}}
.reg{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px}
.reg h3{margin:0 0 6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.reg .lv{font-weight:700;font-size:17px}.reg .lv.in{color:var(--in)}.reg .lv.limited{color:var(--lim)}.reg .lv.out{color:var(--out)}
.reg .q{font-size:14px;margin-top:2px}.reg .soon{margin-top:8px;font-size:13px;font-weight:600;color:#1d4f91}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13.5px;margin:8px 0}.kv dt{color:var(--soft)}.kv dd{margin:0;font-weight:600}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
/* ---------- quote ---------- */
.qpage{max-width:860px;margin:0 auto;padding:10px 16px 40px}
.qpage h1{font-size:34px;margin:12px 0}
.qi{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;margin:8px 0}
.qi img{width:64px;height:64px;object-fit:cover;border-radius:6px;flex:none}.qi .d{flex:1;min-width:0}.qi small{color:var(--soft)}
.qi .x{background:none;border:0;color:var(--out);font-weight:600;cursor:pointer;font-size:13px}
.sum{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;margin:12px 0}
.sum div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14.5px}.sum .g{border-top:1px solid var(--line);margin-top:4px;padding-top:9px;font-size:18px;font-weight:700}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:600;cursor:pointer;font-size:13.5px}
.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.chips input{width:140px}
.link{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#f3ede3;border-radius:8px;padding:10px 12px;margin:10px 0;font-weight:600;overflow-wrap:anywhere}
/* ---------- sheet ---------- */
.sheet{position:fixed;inset:0;background:rgba(20,18,15,.45);display:none;z-index:50;align-items:flex-end;justify-content:center}
.sheet.on{display:flex}
.sheet>div{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:16px 16px 0 0;padding:18px 18px 22px;box-shadow:0 -10px 40px rgba(0,0,0,.2)}
@media(min-width:700px){.sheet{align-items:center}.sheet>div{border-radius:16px}}
.sheet h2{margin:0 0 4px;font-size:26px}.sheet h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:16px 0 8px}
.close{float:right;background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:var(--soft)}
.calc{background:#f7f4ef;border-radius:8px;padding:10px 12px;font-size:13.5px;margin:10px 0}
/* ---------- login ---------- */
/* LOGIN_BG is set in login.html (:root --login-bg-url). Swap that one constant to change the photo. */
body.login{margin:0;min-height:100vh;max-width:100%;overflow-x:hidden;display:flex;flex-direction:column;color:#282520;background:#2a2723}
body.login #hbfab,body.login #hbmx{display:none!important}
.lg-bg{position:fixed;inset:0;z-index:0;background-color:#2a2723;background-image:var(--login-bg-url);background-position:center center;background-size:cover;background-repeat:no-repeat}
.lg-bg::after{content:"";position:absolute;inset:0;background:rgba(28,22,16,.22)}
.lg-wrap{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;padding:28px 16px 16px;width:100%}
.lg-card{width:100%;max-width:400px;background:#f6f1eb;border:1px solid #c9b496;border-radius:32px;padding:36px 32px 28px;box-shadow:0 18px 50px rgba(28,22,16,.28);text-align:center}
.lg-crown{display:flex;justify-content:center;margin:0 0 6px}
h1.lg-name{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:600;font-size:32px;line-height:1.15;letter-spacing:0;color:#282520;margin:2px 0 0}
.lg-tag{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;font-size:14.5px;line-height:1.35;color:#89691E;margin:8px 0 0}
.lg-points{font-family:Nunito,system-ui,sans-serif;font-weight:700;font-size:12px;line-height:1.3;color:#89691E;margin:16px 0 22px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.lg-points .lg-pt{white-space:nowrap}
.lg-card label{text-align:left;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600;color:#5a544c;margin:0 0 6px}
.lg-card input{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid #e0d8cc;border-radius:10px;background:#fff;color:#282520;font-size:16px}
.lg-card input:focus{outline:3px solid #1B2A4A;outline-offset:2px;border-color:#1B2A4A}
.lg-btn:focus,.lg-btn:focus-visible,.lg-card a:focus,.lg-foot a:focus{outline:3px solid #1B2A4A;outline-offset:2px}
.lg-actions{margin:16px 0 0}
.lg-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:12px 18px;border:0;border-radius:10px;background:#8A6A1F;color:#fff;font-family:Nunito,system-ui,sans-serif;font-weight:700;font-size:16px;letter-spacing:.02em;cursor:pointer}
.lg-btn:hover{background:#6F5519}.lg-btn[disabled]{opacity:.55;cursor:not-allowed}
.lg-new{margin:18px 0 0;font-size:14px;color:#3a3530}
.lg-new a{color:#89691E;font-weight:700;text-decoration:none}
.lg-new a:hover{text-decoration:underline;text-underline-offset:3px}
.lg-alt{text-align:center;margin-top:14px}
.lg-alt a{color:#8e8781;font-weight:600;text-decoration:none}
.lg-alt a:hover{text-decoration:underline}
.lg-panel{text-align:left}
.lg-panel h2{font-family:Nunito,system-ui,sans-serif;font-size:24px;line-height:1.2;margin:0 0 8px;text-align:left}
.lg-panel .lead{margin:0 0 10px;color:#5a544c;font-size:14.5px}
.lg-panel ul{padding-left:18px;margin:10px 0;color:#5a544c;font-size:13.5px}
.lg-panel .ok{width:46px;height:46px;border-radius:50%;background:#e8f3ec;color:#1f7a3a;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:10px}
.lg-foot{position:relative;z-index:1;flex:none;display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 16px;padding:8px 16px;width:max-content;max-width:calc(100% - 32px);border-radius:999px;background:rgba(28,22,16,.78);font-size:14px;line-height:1.3;color:#f6f1eb}
.lg-foot a{color:#f6f1eb;text-decoration:none}
.lg-foot a:hover{text-decoration:underline;text-underline-offset:2px}
#ask-title.lg-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#ask-title.lg-sr:has(+ .ended),#ask-title.lg-sr:has(+ #ended){position:static;width:auto;height:auto;margin:0 0 10px;clip:auto;overflow:visible;white-space:normal;font-family:Nunito,system-ui,sans-serif;font-size:20px;font-weight:700;line-height:1.25;color:#282520}
#ask .ended{margin:0 0 14px;font-size:14.5px;line-height:1.4;color:#5a544c;text-align:left}
@media(max-width:400px){.lg-card{padding:28px 20px 22px;border-radius:28px}h1.lg-name{font-size:28px}.lg-points{font-size:12px;letter-spacing:.02em;margin:14px 0 18px;white-space:nowrap}.lg-wrap{padding:20px 12px 12px}}
@media(max-width:380px){.lg-points{font-size:12px;letter-spacing:.02em}}
@media(max-width:360px){.lg-points{white-space:normal}}
@media(min-width:820px){.lg-card{max-width:420px;padding:42px 36px 32px}h1.lg-name{font-size:34px}.lg-tag{font-size:15.5px}.lg-points{font-size:12px;letter-spacing:.08em;white-space:nowrap}}
/* kept for any leftover references to the old split-pane login */
.auth{min-height:100vh;display:grid;grid-template-rows:auto 1fr}
@media(min-width:900px){.auth{grid-template-columns:1.15fr 1fr;grid-template-rows:none}}
.auth .art{position:relative;min-height:38vh;background:#2a2723 center/cover no-repeat;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.auth .art::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.6))}
.auth .art>*{position:relative}.auth .art .brand{font-size:44px;color:#fff}.auth .art .brand small{color:#e9d9bf;font-size:10px}
.auth .art p{max-width:440px;margin:8px 0 0;font-size:14px;opacity:.92}
.auth .art .credit{font-size:11px;opacity:.75;margin-top:10px}
.auth .pane{display:flex;align-items:center;justify-content:center;padding:26px 18px 40px}
.auth .card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;box-shadow:var(--sh);margin-top:-46px}
@media(min-width:900px){.auth .art{min-height:100vh;padding:48px}.auth .art .brand{font-size:64px}.auth .card{margin-top:0;padding:34px 30px}}
.auth h1{margin:0 0 6px;font-size:32px;line-height:1.1}.auth .lead{color:var(--soft);margin:0 0 14px;font-size:14px}
.sent{text-align:left}.sent .ok{width:46px;height:46px;border-radius:50%;background:#e8f3ec;color:var(--in);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:10px}
.sent ul{padding-left:18px;margin:10px 0;color:var(--soft);font-size:13.5px}
.timer{font-size:13px;color:var(--soft);margin-top:10px;text-align:center}
.trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--soft)}
/* ---------- client quote ---------- */
body.client{background:var(--paper)}
.cq-h{background:var(--ink);color:#fff;padding:16px 20px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.cq-h .brand{font-size:30px;letter-spacing:.14em}.cq-h .tag{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#e9d9bf}
.cq{max-width:820px;margin:0 auto;padding:22px 16px 50px}.cq h1{font-size:34px;margin:0 0 2px}
.cq-i{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;margin:10px 0}
.cq-i img{width:76px;height:76px;object-fit:cover;border-radius:8px;flex:none}.cq-d{flex:1;display:flex;flex-direction:column;gap:2px;font-size:13.5px}.cq-d small{color:var(--soft)}
.cq-t{font-weight:700;font-size:16px;white-space:nowrap}
.cq-sum{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin:16px 0 8px}
.cq-sum div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:15px}.cq-sum .cq-grand{border-top:1px solid var(--line);margin-top:6px;padding-top:10px;font-size:20px}
.empty{padding:40px 0;text-align:center;color:var(--soft)}
footer.ft{border-top:1px solid var(--line);margin-top:20px;padding:18px 16px;text-align:center;font-size:12px;color:var(--soft)}
/* t165 polish */
.chip{flex-wrap:wrap}.chip em{flex-basis:100%;padding-left:14px;font-size:11.5px}
.sech .ln{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;width:100%}
@media(min-width:1100px){.alb{aspect-ratio:1/1.04}}
@media(max-width:799px){.stk .ph{aspect-ratio:16/10}}
/* t166: version chooser */
.p button.im{border:0;padding:0;cursor:pointer;display:block;width:100%}
.p .acts button.lnk{background:none;border:0;cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:2px;color:var(--ink)}
.vtag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--gold2);background:#f3ede3;border-radius:999px;padding:2px 9px}
.sheet>div:has(.choose){max-width:760px}
.choose{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.opt{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;background:#fff;transition:box-shadow .2s,border-color .2s}
a.opt:hover{border-color:var(--gold);box-shadow:var(--sh)}
.opt .oim{aspect-ratio:16/10;background:#eee;overflow:hidden}.opt .oim img{width:100%;height:100%;object-fit:cover}
.opt .ob{padding:10px;display:flex;flex-direction:column;gap:6px;flex:1}.opt b{font-size:12.5px;line-height:1.3;letter-spacing:.03em}.opt small{color:var(--soft);font-size:12px}
.opt .price{align-self:flex-start}.opt .btn.small{margin-top:auto;padding:8px 10px;font-size:12.5px}
.opt.na{background:#f6f4f1;cursor:not-allowed}.opt.na .oim{filter:grayscale(1);opacity:.45}.opt.na b{color:var(--soft)}
.nanote{margin-top:auto;font-size:12.5px;font-weight:700;color:var(--soft);border:1px dashed #cfc8bd;border-radius:8px;padding:8px;text-align:center}
@media(min-width:700px){.opt .ob{padding:14px}.opt b{font-size:13.5px}}
/* t167: balanced two-line version titles, sized to fit (no third line at any width) */
.opt{container-type:inline-size}
.opt b.t2{display:flex;flex-direction:column;gap:1px;font-size:min(15px,calc((100cqi - 24px) / (var(--n) * 0.64)));letter-spacing:.01em;line-height:1.25}
.opt b.t2 span{white-space:nowrap;overflow:hidden;text-overflow:clip}.opt b.t2 span+span{font-weight:600;color:var(--soft)}
.sheet h2{margin-bottom:8px}.choose{margin-top:6px}

/* ---------- t170 ---------- */
/* brand: MSI logo in MSI's exact logo color (#8b6f4c from msisurfaces.com) + refined small-caps tagline */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.brand .logo{height:24px;width:auto;display:block}
.brand small{font:500 12px/1 Nunito,system-ui,sans-serif;font-variant:small-caps;text-transform:lowercase;letter-spacing:.2em;color:#6f593d;margin:0;padding-top:4px;border-top:1px solid rgba(139,111,76,.45);white-space:nowrap}
@media(max-width:380px){.brand small{font-size:10.5px;letter-spacing:.14em}}
.auth .art .brand .logo{height:56px;filter:drop-shadow(0 0 10px rgba(255,255,255,.55))}
.auth .art .brand small{font-size:15px;color:#efe3cf;border-top-color:rgba(239,227,207,.5);padding-top:7px}
@media(min-width:900px){.auth .art .brand .logo{height:84px}.auth .art .brand small{font-size:19px}}
.cq-h{align-items:center}.cq-h .logo{height:30px;width:auto}
.cq-h .tag{font:500 14px Nunito,system-ui,sans-serif;font-variant:small-caps;text-transform:lowercase;letter-spacing:.2em;color:#e9d9bf}
/* sub-album tiles reuse the home tile grid */
.albums.subs{padding-top:6px}
.ahead .sub{margin:4px 0 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--soft);font-weight:600;font-size:13px;letter-spacing:.06em}
/* true-shape thumbnails: the image box takes the tile's real proportion (long side across) */
.grid{align-items:start}
.p a.im{display:block;aspect-ratio:1;background:#eee;overflow:hidden}.p a.im img{width:100%;height:100%;object-fit:cover}
.stk .ph{aspect-ratio:1}
@media(max-width:799px){.stk .ph{max-height:none}}
/* stock chips: green / yellow / red */
:root{--low:#8a6a00;--lowdot:#e2b100}
.chip.low{color:var(--low)}.chip.low::before{background:var(--lowdot)}.chip.vlow{color:var(--out)}.chip.vlow::before{background:var(--out)}
.status.low{color:var(--low)}.status.vlow{color:var(--out)}
.reg .lv.low{color:var(--low)}.reg .lv.vlow{color:var(--out)}
.reg h3 small{font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--soft);margin-left:4px}
.fine.two{line-height:1.6}
/* quote breakdown */
.bk{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:6px 14px;margin:12px 0}
.bk .ln2{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14.5px;border-bottom:1px solid #f0ebe3}
.bk .ln2:last-child{border-bottom:0}.bk .ln2 span{display:flex;flex-direction:column;min-width:0}.bk .ln2 small{color:var(--soft);font-size:12.5px}
.bk .ln2 b{white-space:nowrap}.bk .ln2.g{font-size:18px;font-weight:700;border-top:1px solid var(--line);border-bottom:0}
.qpage .bh{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:18px 0 0}
.lw{margin:8px 0 0;font-size:13px}.lw summary{cursor:pointer;color:var(--gold2);font-weight:600}
.lwr{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-top:8px}
label.chk{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--ink);font-weight:500}
label.chk input{width:18px;height:18px;margin:0}
.chips.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.chips.three button{padding:10px 4px;white-space:nowrap}
.chips.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chips.two input{width:100%}
@media(min-width:700px){.brand .logo{height:30px}.brand small{font-size:13px}}
/* ---------- t182 ---------- */
.top .in{height:68px}
.top .brand{flex-direction:row;align-items:center;gap:12px}
.top .brand .logo{height:40px}
.top .brand .tag2{display:flex;flex-direction:column;justify-content:center;gap:3px;padding-left:12px;border-left:1px solid rgba(139,111,76,.45);font:500 13px/1 Nunito,system-ui,sans-serif;font-variant:small-caps;text-transform:lowercase;letter-spacing:.18em;color:#6f593d;white-space:nowrap}
@media(min-width:700px){.top .brand .logo{height:46px}.top .brand .tag2{font-size:15px}}
@media(max-width:360px){.top .brand .logo{height:34px}.top .brand .tag2{font-size:11.5px;letter-spacing:.12em}}
.albums.tiles .alb.tile{aspect-ratio:1/1!important;background:var(--f);border:3px solid var(--b);border-radius:22.5%;box-shadow:0 1px 2px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;padding:10px;transition:transform .2s,box-shadow .2s}
.albums.tiles .alb.tile::after{display:none}
.albums.tiles .alb.tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.albums.tiles .alb.tile .tn{position:static;color:var(--t);text-shadow:none;text-align:center;font:800 clamp(17px,5.2vw,30px)/1.15 Nunito,sans-serif;letter-spacing:-.01em}
.albums.tiles .alb.tile .tn small{display:block;font-weight:700;font-size:.62em;opacity:1;margin-top:5px;letter-spacing:.02em}
@media(min-width:700px){.albums.tiles .alb.tile .tn{font-size:clamp(20px,2.3vw,30px)}}
@media(max-width:560px){.top nav a.hide-s{display:none!important}.top .in{gap:8px}
 .intro{padding:8px 0 6px}.intro h1{font-size:24px}
 .albums.tiles{gap:10px;max-width:min(100%,calc((100svh - 170px) / 2 + 10px));margin:0 auto}}
/* ---------- t183: photo tiles back, tighter side gutters on phone ---------- */
@media(max-width:560px){.wrap.home{padding:0 6px}.wrap.home .intro{padding:8px 4px 6px}.wrap.home .albums{gap:6px}}
/* ---------- t184 ---------- */
/* logo lockup: MSI on top, tagline on one line under it, same width as the logo */
.top .brand{flex-direction:column;align-items:center;gap:4px}
.top .brand .logo{height:34px}
.top .brand .tag1{display:block;font:600 9.2px/1 Nunito,system-ui,sans-serif;font-variant:small-caps;text-transform:lowercase;letter-spacing:.06em;color:#6f593d;white-space:nowrap}
@media(min-width:700px){.top .brand .logo{height:40px}.top .brand .tag1{font-size:10.6px}}
/* tile labels: exactly two lines, each on one line */
.alb span .l1,.alb span .l2{display:block;white-space:nowrap;overflow:hidden;text-overflow:clip}
.alb span .l1{font-weight:700}
@media(max-width:560px){.alb span{left:8px;right:8px}.alb span .l1{font-size:13.5px}.alb span .l2{font-size:11px;letter-spacing:.01em}}
.top .in{height:72px}.top .brand .logo{height:50px}.top .brand{gap:3px}.top .brand .tag1{font-size:8.7px;letter-spacing:.04em}
@media(min-width:700px){.top .brand .logo{height:54px}.top .brand .tag1{font-size:9.4px}}
/* ---- t186 ---- */
*,*::before,*::after{font-variant-numeric:lining-nums}   /* body font: shorthand resets it, so set it on every element */
h1,h2{text-wrap:balance}
.albums{row-gap:24px}                                       /* home: vertical gap 3x (8 -> 24) */
.wrap.home .albums{row-gap:18px}                           /* phone home: 6 -> 18 */
@media(min-width:700px){.albums{row-gap:42px}}             /* 14 -> 42 */
@media(min-width:1100px){.albums{row-gap:60px}}            /* 20 -> 60 */
.albums.subs{gap:12px;row-gap:12px}                        /* album grid: +50% (8 -> 12) */
@media(min-width:700px){.albums.subs{gap:21px;row-gap:21px}}
@media(min-width:1100px){.albums.subs{gap:30px;row-gap:30px}}
.albums.subs .alb{aspect-ratio:1/1.04}                      /* taller, near-square covers */
.grid{grid-template-columns:1fr;gap:14px}                   /* product photos ~2x: one card per row on phones */
@media(min-width:560px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.p .im,.p a.im{aspect-ratio:4/3!important}
.p .bd{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;row-gap:2px;padding:10px 12px 12px}
.p .bd .n{grid-column:1}.p .bd .st{grid-column:1}.p .bd .acts{grid-column:2;grid-row:1/span 2;margin:0}
.p .acts .btn{padding:5px 11px;font-size:8px;letter-spacing:.06em;text-transform:uppercase;width:auto}   /* card button ~40% smaller */
.stk .ph{aspect-ratio:4/3}
.stk .ph.two{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#fff}
.stk .ph.two img{aspect-ratio:1;height:100%}
.opt .oim.two{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#fff}
.stk figure.msi{margin:10px 0 0;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--soft)}
.stk figure.msi img{width:84px;height:84px;object-fit:cover;border-radius:8px}

/* ---- t187b ---- */
.grid{grid-template-columns:repeat(2,1fr);gap:10px}          /* back to 2 across on phones */
@media(min-width:700px){.grid{grid-template-columns:repeat(3,1fr);gap:16px}}
@media(min-width:1100px){.grid{grid-template-columns:repeat(4,1fr);gap:20px}}
.p .im,.p a.im{aspect-ratio:1/1.08!important;background:#f4f2ee}  /* a bit taller, MSI-style square swatch */
.p .bd{grid-template-columns:1fr;padding:8px 9px 10px}
.p .bd .acts{grid-column:1;grid-row:auto;margin-top:6px}
.top .brand .logo{height:42px}.top .brand .tag1{font-size:10.4px;letter-spacing:.035em}
@media(min-width:700px){.top .brand .logo{height:46px}.top .brand .tag1{font-size:11.4px}}

/* ---- t190 ---- */
#sd .tl{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#sd .tl h1{margin:0}
#sd .tl .price{white-space:nowrap;flex:none;margin-top:18px}
.stk .ph.flip{position:relative;cursor:pointer;aspect-ratio:1}
.stk .ph.flip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .25s}
.stk .ph.flip img.dg{opacity:0}.stk .ph.flip.d img.dg{opacity:1}
.ph.flip .dtog{position:absolute;right:10px;bottom:10px;display:flex;background:rgba(20,20,20,.78);border-radius:999px;padding:3px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ph.flip .dtog b{font-weight:600;font-size:12px;line-height:1;letter-spacing:.04em;color:#fff;padding:9px 14px;border-radius:999px}
.ph.flip .dtog b.on{background:#fff;color:#111}
.also{margin-top:14px;font-size:13px;line-height:1.5}.also a{white-space:nowrap}

/* ---- t191 ---- */
.stk .ph,.stk .ph.flip{aspect-ratio:auto!important;background:#fff}
.stk .ph img{height:auto!important;object-fit:contain!important;display:block}
.stk .ph.flip{position:relative}.stk .ph.flip img:first-child{position:relative}
.stk .ph.flip img.dg{position:absolute;inset:0;width:100%;height:100%!important}
@media(min-width:800px){.stk{grid-template-columns:minmax(320px,530px) 1fr}}
#sd .tl .rt{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;margin-top:14px}
#sd .tl .rt .price{margin-top:0}
.dtog{display:inline-flex;background:#eee;border-radius:999px;padding:2px;cursor:pointer;user-select:none}
.dtog b{font-weight:600;font-size:10px;line-height:1;letter-spacing:.04em;color:#555;padding:5px 9px;border-radius:999px}
.dtog b.on{background:#1a1a1a;color:#fff}
.also{margin-top:14px;font-size:13px;line-height:1.5}
.also .al{margin:0 0 4px;font-weight:600}
.also ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.also li a{white-space:normal}

/* ---- t192 ---- */
.top nav a.qbtn{display:inline-flex;align-items:center;gap:6px;position:relative;padding-right:14px}
.qbtn .ci{width:22px;height:22px;flex:none}
.top nav a.qbtn b.cnt{margin-left:0;min-width:19px;height:19px;line-height:19px;padding:0 5px;font-size:11px;font-weight:700;color:#111;font-variant-numeric:tabular-nums}
.price{display:inline-flex;align-items:center;line-height:1.35;vertical-align:middle}
.ahead .sub{align-items:center;line-height:1.35}
#sd .tl{align-items:flex-end}#sd .tl .rt{margin-top:0;padding-bottom:4px}
p,li,label,.n,small,.fine{text-wrap:pretty}
.qh{margin:0 0 4px}
.qn{margin:0;color:var(--soft);font-size:14px}.qn b{color:var(--ink)}
.qp{margin:4px 0 14px;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums lining-nums}
.bk,.bk *{font-variant-numeric:tabular-nums lining-nums}
.bk .ln2.it{display:block}
.bk .ln2.it .l1{font-size:14.5px}.bk .ln2.it .l1 span{color:var(--soft)}
.bk .ln2.it .l2{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:2px;color:var(--soft);font-size:13.5px}
.bk .ln2.it .l2 b{color:var(--ink);font-size:14.5px}
.bk .ln2 b{text-align:right}
.btn.two{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.2}
.btn.two small{font-weight:500;font-size:12px;opacity:.85;text-transform:none;letter-spacing:0}
.bk .ln2.it .l1 span{display:inline}.bk .ln2.it .l2 span{display:inline}
.nw{white-space:nowrap}.qi small,.bk .ln2.it .l1{text-wrap:balance}@media(max-width:420px){.bk .ln2.it .l1{font-size:14px}}
/* overnight p1 (2026-10-21): cart rows + cost lines: name, then spec, then qty, each on its own line (no orphan words or dangling dots) */
.qi .d small{display:block;line-height:1.35}.qi .d small.sp{margin-top:2px;white-space:nowrap;overflow:hidden}
.bk .ln2.it .l1 span.sz{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden}
.albums.subs .alb span .l2{opacity:.9}
.alb span .l1.wr,.alb span .l2.wr{white-space:normal;text-wrap:balance}

/* overnight p2: client quote rows = photo + name/series, then the math straight across on one line with the total (like the cart) */
.cq-i{display:grid;grid-template-columns:76px 1fr;gap:6px 12px;align-items:center}
.cq-d{min-width:0}.cq-d b{font-size:15px}.cq-d small{font-size:12.5px;text-wrap:balance}
.cq-m{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-top:1px solid var(--line);padding-top:8px;margin-top:2px;font-size:14.5px;white-space:nowrap}
.cq-m b{font-size:16px}
@media(max-width:360px){.cq-m{font-size:13px}.cq-m b{font-size:14.5px}}
/* overnight p2: on PC the toggle + price sit right beside the size/name (Home Depot keeps price next to the title), not 400px away */
@media(min-width:800px){#sd .tl{justify-content:flex-start;gap:28px}}

/* ---- overnight p3 ---- */
.crumb .nw,.crumb a{white-space:nowrap}                     /* crumbs wrap between steps, never inside a name ("Eden / Calacatta") */
.p .n{text-wrap:balance}                                    /* card names: "Calacatta / Venosa Gold", no lone last word */
.p .bd{grid-template-rows:auto auto 1fr}.p .bd .acts{align-self:end}   /* Get Quote buttons line up across a row */
.grid{align-items:stretch}                                  /* equal-height cards in a row (all swatches are 1/1.08 now) */

/* overnight p4: bigger invisible tap area on the small card Get Quote button (looks the same); empty cart gets a way back */
.p .acts .btn{position:relative}.p .acts .btn::after{content:'';position:absolute;inset:0 -6px -9px}   /* t201: no tap area above (12px dead gap) */
.empty .btn{margin-top:14px}
.p .acts .btn{white-space:nowrap}                         /* t193: "Free Quote \/ Cart" stays on one line on every device */
/* t195 sign-in page: two tagline lines, one-line heading + lead that scale instead of wrapping */
.auth .art p.l1{white-space:nowrap;font-size:clamp(13px,3.9vw,17px);font-weight:600;opacity:.95}
.auth .art p.l2{margin-top:3px;white-space:nowrap;font-size:clamp(11px,3.2vw,14px);letter-spacing:.12em;text-transform:uppercase;color:#efe3cf;opacity:.95}
.auth h1.one{white-space:nowrap;font-size:clamp(20px,7.2vw,32px)}
.auth .lead.one{white-space:nowrap;font-size:clamp(11px,3.55vw,14px)}
@media(min-width:900px){.auth h1.one{font-size:clamp(24px,2.5vw,32px)}}
/* t196 sign-in page: smaller logo with a softer glow; premium palette = charcoal heading, warm-grey secondary, MSI gold only on the label, white on the photo with a soft shadow */
.auth .art .brand .logo{height:45px;filter:drop-shadow(0 0 10px rgba(255,255,255,.28))}
@media(min-width:900px){.auth .art .brand .logo{height:67px}}
.auth .art p.l1{color:#fff;opacity:1;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.auth .art p.l2{color:rgba(255,255,255,.86);opacity:1;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.auth #ask .eyebrow{font-size:13px;color:#8b6f4e;white-space:nowrap;margin:0 0 8px}
.auth h1.one{color:#1a1a1a;font-size:clamp(20px,6.4vw,28px);margin:0 0 22px}
@media(min-width:900px){.auth h1.one{font-size:28px}}
.auth #ask label{color:#5f5a53}
.auth #ask input::placeholder{color:#9a948b}
.auth #ask .trust{color:#77716a}
.auth #ask .btn.big{background:#1a1a1a;border-color:#1a1a1a;white-space:nowrap}
.chip.none{color:var(--out)}.chip.none::before{background:var(--out)}.reg .lv.none{color:var(--out)}   /* t197 No Stock */
/* ===== t197 ===== */
.auth #ask .eyebrow{font-size:17px;letter-spacing:.16em}
#sd .tl .price{font-size:17px;padding:3px 12px}                       /* product page price ~35% bigger (12.5 -> 17) */
.cq-m .cq-pp{font-style:normal;font-weight:700;color:var(--ink);font-size:1.35em}   /* client page price per sq ft ~35% bigger */
.cq-m{font-size:clamp(12px,3.5vw,14.5px)}.cq-m b{font-size:clamp(14px,4vw,16px)}
/* quantity panel: no heading, roomier controls, 44px tap targets */
.qtop{margin-top:2px}.qtop b{font-size:17px}
.qlab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:22px 0 8px}.qlab label{margin:0}
#need{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
#sq{min-height:48px}
.lw{margin:22px 0 0}
.lw summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid var(--gold);border-radius:999px;color:var(--gold2);font-weight:600;font-size:14px;background:#fff;cursor:pointer}
.lw summary::-webkit-details-marker{display:none}.lw summary:hover{background:#f7f2ea}.lw[open] summary{background:#f3ede3}
.lwr input{min-height:44px}
label.chk{margin:26px 0 6px;min-height:44px;font-size:15px;cursor:pointer}label.chk input{width:22px;height:22px}
#calc{margin-top:14px}
/* cart: name, spec and math ~40% bigger; math stays on one line */
.qpage .qi .d b{font-size:21px}.qpage .qi .d small.sp{font-size:17.5px}
.qpage .bk .ln2.it .l1,.qpage .bk .ln2.it .l1 b{font-size:20px}
.qpage .bk .ln2.it .l1 span.sz{font-size:clamp(14px,4.3vw,18.5px)}
.qpage .bk .ln2.it .l2{font-size:clamp(12.5px,4.1vw,19px);white-space:nowrap}.qpage .bk .ln2.it .l2 b{font-size:clamp(14px,4.5vw,20px)}
@media(max-width:420px){.qpage .bk .ln2.it .l1{font-size:19px}}
/* share sheet: Client Price / Your Cost toggle beside the heading */
.seeh{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 8px}.seeh h3{margin:0}
.vtog b{font-size:12px;padding:9px 13px;min-height:0;white-space:nowrap}
.qpage .bk .ln2.it .l2{font-size:clamp(11.5px,3.55vw,19px)}.qpage .bk .ln2.it .l2 b{font-size:clamp(13px,4vw,20px)}.qpage .bk .ln2.it .l2 span{min-width:0}
/* ===== t199 ===== */
.s2>span{display:block;text-wrap:balance}                       /* two sentences, two lines (site-wide) */
.lw{margin:20px 0 0}label.chk{margin:9px 0 0}                   /* calculator pill centered: ~20px above and below (the 44px check row adds ~11px) */
#sheetc.small{max-width:420px}.kb h2{margin:4px 40px 16px 0}.kb .btn{margin-top:10px;white-space:nowrap;font-size:clamp(13px,3.9vw,15px)}
/* ===== t200 quote builder: big targets, plain words ===== */
.tiph{white-space:nowrap;font-size:clamp(21px,6.3vw,26px)!important;margin-right:34px!important}
.chips.three button,.chips.two .affix{min-height:46px;font-size:15px}
.chips.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.affix{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:48px;padding:0 12px;gap:4px;cursor:text}
.affix:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(139,111,78,.15)}
.affix input{border:0!important;outline:0;box-shadow:none!important;padding:0!important;margin:0!important;min-height:44px;font-size:17px;background:transparent;width:100%;min-width:0;font-variant-numeric:tabular-nums}
.affix .pre,.affix .suf{color:var(--soft);font-size:17px;font-weight:600;flex:none}
.affix.pct input{width:2.6ch;flex:none;text-align:right}.affix.pct .suf{font-weight:500;font-size:15px}
.seeh{flex-wrap:wrap;align-items:flex-start}.togs{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.stog b,.vtog b{font-size:12.5px;padding:10px 13px;white-space:nowrap}
@media(max-width:420px){.seeh{flex-direction:column;align-items:stretch}.togs{align-items:stretch}.togs .dtog{display:grid;grid-template-columns:1fr 1fr;text-align:center}}
.instq{border:1px solid var(--line);border-radius:12px;padding:6px 14px 12px;margin:4px 0 12px;background:#fcfaf7}
.q3{padding:12px 0;border-bottom:1px solid #eee6da}.q3:last-of-type{border-bottom:0}
.qq{margin:0 0 10px;font-weight:600;font-size:15.5px;text-wrap:balance}
.yn{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.yn button,.dchips button{min-height:48px;border:1.5px solid var(--line);background:#fff;border-radius:12px;font-weight:700;font-size:16px;cursor:pointer;color:var(--ink)}
.yn button.on,.dchips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.qx label,.more label,.dl label{display:block;margin:12px 0 6px}
.dchips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.dchips button{font-size:15px;font-weight:600}
.dl .dcn{margin-bottom:8px;min-height:46px}
details.more{margin:10px 0}details.more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;font-weight:600;font-size:14px;color:var(--gold2);background:#fff}
details.more>summary::-webkit-details-marker{display:none}details.more>summary::before{content:'+';margin-right:8px;font-size:18px}details.more[open]>summary::before{content:'–'}
details.more input{margin-top:8px;min-height:46px}
.cq-note{margin:10px 0 0;font-size:14.5px;color:var(--ink)}.cq-note span{display:block}
.cq-addr{margin:-4px 0 6px;color:var(--soft);font-size:14px}
#go,#np{min-height:52px}
/* client quote viewer: full-screen on phone, centered sheet on tablet/PC */
.qview{position:fixed;inset:0;background:rgba(20,18,15,.5);z-index:60;display:none;align-items:flex-end;justify-content:center}.qview.on{display:flex}
.qvb{background:#fff;width:100%;height:100%;display:flex;flex-direction:column}
.qvh{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.qvh b{flex:1;font-size:17px}.qvh .btn{min-height:44px;padding:0 20px}.qvh .close{font-size:30px;min-width:44px;min-height:44px}
.qvb iframe{flex:1;border:0;width:100%}
@media(min-width:700px){.qview{align-items:center}.qvb{max-width:680px;height:90vh;border-radius:16px;overflow:hidden}}
.tiph{font-size:clamp(20px,5.85vw,26px)!important;margin-right:30px!important}
/* ===== t201 ===== */
/* cards: name + stock also open the product; 12px dead gap above the button; subtle 1s hint every 5s */
.p .bd{display:flex!important;flex-direction:column;gap:0}
.p .bd .stl{display:block;flex:1;color:inherit;text-decoration:none;padding-bottom:4px}
.p .bd .stl .st{margin-top:3px}
.p .bd .acts{margin:12px 0 0!important;align-self:stretch}.p .bd .acts .btn{width:100%}
.p a.im{position:relative;display:block}
.p .hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);white-space:nowrap;pointer-events:none;background:rgba(20,18,15,.55);color:#fff;font-size:11.5px;font-weight:600;letter-spacing:.04em;padding:6px 12px;border-radius:999px;backdrop-filter:blur(2px);opacity:0;animation:hint 5s ease-in-out infinite}
@keyframes hint{0%,72%{opacity:0}80%,92%{opacity:.92}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.p .hint{animation:none;display:none}}
@media(hover:hover){.p a.im:hover .hint{opacity:.92;animation:none}}
.p .albn,.albn{margin:2px 0 0;color:var(--soft);font-size:15px;font-weight:500;text-wrap:balance}
#sd .tl h1{font-weight:700}
/* header quote button */
.qbtn .cl{white-space:nowrap}
@media(max-width:420px){.top nav a.qbtn{font-size:12.5px;padding:7px 10px;gap:5px}.qbtn .ci{width:19px;height:19px}}
/* qty panel: adjusted figure inside the input row */
.sqrow{padding:0 14px}.sqrow input{flex:1}.sqrow #need{flex:none;font-size:15px;color:var(--ink);font-weight:700}
/* quote page: quantity stands out */
.qpage .bk .ln2.it .l2,.qpage .bk .ln2.it .l2 span{color:#1a1a1a;font-weight:600}
/* iOS: no zoom on focus (16px+ inputs); user zoom stays on */
input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
.affix input,#sq{font-size:17px!important}
/* margin sheet */
.tips{margin:-2px 0 6px;color:var(--soft);font-size:14px}
.gol{margin:16px 0 8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);font-weight:700}
.gob{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gob .btn{min-height:56px;padding:8px 10px;white-space:normal;line-height:1.2;text-wrap:balance;font-size:clamp(14px,4vw,16px)}
.gob .btn.on{box-shadow:0 0 0 3px rgba(139,111,78,.3)}
#sheetc.small .kb .btn{display:block;overflow:hidden;text-overflow:clip;white-space:nowrap;max-width:100%;box-sizing:border-box;text-align:center}
.gob .btn{white-space:nowrap}@media(max-width:420px){.gob{grid-template-columns:1fr}}
@media(max-width:600px){.p .hint{font-size:clamp(9px,2.6vw,11px);padding:4px 9px;bottom:8px;letter-spacing:.02em}}
@media(max-width:400px){#sd .tl{flex-wrap:wrap;row-gap:8px}#sd .tl>div:first-child{flex:1 1 100%}#sd .tl h1{white-space:nowrap;font-size:clamp(26px,8.4vw,34px)}}
@media(max-width:400px){#sd .tl h1{white-space:normal;text-wrap:balance}}
@media(max-width:380px){.top nav a.qbtn{font-size:12px;padding:6px 9px;margin-right:2px}}
/* ===== t202 ===== */
.chips.four{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.chips.four button{min-height:46px;padding:8px 2px;white-space:nowrap;font-size:clamp(13.5px,3.9vw,15px)}
.cust{margin-top:10px}.cust .affix{max-width:260px}
#inst .instq{margin-top:14px}#vcq{margin-top:14px;width:100%;min-height:52px}
/* ===== t203 ===== */
#sd .tl .rt{display:flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
#sd .tl .rt .btn.fq{white-space:nowrap;padding:9px 18px;font-size:14px;min-height:42px;margin-left:auto}
@media(max-width:400px){#sd .tl .rt{flex:1 1 100%;justify-content:space-between}#sd .tl .rt .dtog{order:3;flex-basis:100%}}
@media(min-width:401px){#sd .tl .rt{margin-left:auto}}
.cq-notes{list-style:none;margin:22px 0 6px;padding:18px 18px 8px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.cq-notes li{position:relative;padding-left:28px;margin:0 0 15px;font-weight:700;font-size:15.5px;line-height:1.55;color:#1a1a1a}
.cq-notes li::before{content:'';position:absolute;left:2px;top:.38em;width:13px;height:13px;border-radius:50%;background:var(--gold)}
.cq-notes li span{display:block;text-wrap:pretty}
.gob{margin-top:14px}
/* ===== t204 ===== */
.top .brand .tag1{font-size:14.6px!important;letter-spacing:.03em!important;white-space:nowrap}
/* t204: on phones the 40%-bigger tagline is allowed to run past the logo (under the header button row) without widening the header */
@media(max-width:699px){.top .in{height:auto;min-height:72px;padding-top:6px;padding-bottom:8px;align-items:flex-start}.top .brand{align-items:flex-start;min-width:0}.top .brand .tag1{width:0;overflow:visible;font-size:min(14.6px,3.9vw)!important}.top nav{margin-top:8px}}
@media(min-width:700px){.top .brand .tag1{font-size:16px!important}}
.qhd{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}
.qhd b{font-size:19px;line-height:1.2}.qhd span{font-size:14px;color:var(--mut,#6b6257);line-height:1.3}
.qact{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.btn.two{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.15;padding-top:12px;padding-bottom:12px;height:auto}
.btn.two small{font-size:12.5px;font-weight:500;opacity:.85;letter-spacing:0;text-transform:none}
.pinc{margin:4px 0 0;font-size:12px;color:#7a6f62;font-style:italic}
.cq-pinc{grid-column:1/-1;margin:2px 0 0;font-size:12px;color:#7a6f62;font-style:italic}
.cq-inst{grid-column:1/-1;justify-self:center;text-align:center;margin:0 0 4px;font:600 11.5px/1 Nunito,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--gold2,#8b6f4c);display:flex;align-items:center;gap:12px}
.cq-inst::before,.cq-inst::after{content:'';width:28px;height:1px;background:currentColor;opacity:.55}
.cq-notes{background:none!important;border:0!important;padding:6px 2px 0!important;margin-top:18px!important}
.cq-notes li{font-size:13.5px!important;line-height:1.5!important;padding-left:22px!important;margin-bottom:12px!important}
.cq-notes li::before{top:calc(.75em - 5px)!important;width:10px!important;height:10px!important}
@media(max-width:380px){.cq-notes li{font-size:12.6px!important}}
/* ===== t205: bigger type for older clients ===== */
.p .hint{animation-name:hint7!important;animation-duration:7s!important}
@keyframes hint7{0%,67%{opacity:0}70%,97%{opacity:.92}100%{opacity:0}} /* t233: ~2s visible every 7s */
/* warm amber primary CTA (Home Depot / Amazon style energy, tuned to MSI gold): #F2A93B on dark ink = ~9.5:1 contrast */
:root{--cta:#F2A93B;--cta2:#E3962A;--ctaink:#1c140a}
.btn.fq{background:var(--cta)!important;color:var(--ctaink)!important;border-color:var(--cta)!important;box-shadow:0 2px 8px rgba(226,150,42,.35)}
.btn.fq:hover,.btn.fq:active{background:var(--cta2)!important;border-color:var(--cta2)!important}
#sd .tl.t5{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:6px;align-items:center;margin:0 0 12px}
#sd .tl.t5 h1{grid-column:1;grid-row:1;margin:0;font-size:clamp(25px,7vw,36px);line-height:1.1}
#sd .tl.t5 .rt{grid-column:2;grid-row:1;display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:0;justify-self:end;flex-wrap:nowrap}
#sd .tl.t5 .price{font-size:clamp(17px,4.6vw,20px);white-space:nowrap}
#sd .tl.t5 .albn{grid-column:1;grid-row:2;margin:0;font-size:clamp(14px,4vw,16.5px);font-weight:600;color:#3d352c;line-height:1.3}
#sd .tl.t5 .btn.fq{grid-column:2;grid-row:2;justify-self:end;font-size:clamp(14px,4vw,16px);padding:8px 16px;min-height:40px;white-space:nowrap;margin:0}
#sd .tl.t5 .dtog{font-size:12px}
@media(max-width:400px){#sd .tl.t5 .dtog{display:none}}
.stk{gap:16px!important}
.kvrow{display:flex;align-items:stretch;gap:12px;margin:12px 0 6px}
.kvrow .kv{flex:1;margin:0;font-size:15px}
.msib{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:112px;padding:10px 14px;border:1.5px solid var(--ink,#1a1a1a);border-radius:14px;text-decoration:none;color:var(--ink,#1a1a1a);background:#fff;text-align:center}
.msib b{font-size:15px;white-space:nowrap}.msib small{font-size:13px;color:#6b6257}
.msib:active{background:#f3ece1}
#sd .regions{margin-top:0}
/* Free Quote sheet: 3 compact header rows, all text +20% */
.z5{zoom:1.2}
.q5{display:block;margin:0 30px 8px 0}
.q5 .r1{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.q5 .r1 b{font-size:18px;line-height:1.2}.q5 .qpr{font-weight:700;font-size:15.5px;white-space:nowrap}
.q5 .r2{font-size:13.5px;color:#4a4238;margin-top:2px;line-height:1.3}
.q5 .r3{font-size:12px;color:#6b6257;margin-top:3px;line-height:1.3}
@media(max-width:380px){.z5{zoom:1.12}}
/* Quote page client view +30% */
#prev.cv5 .bk{zoom:1.3}
@media(max-width:400px){#prev.cv5 .bk{zoom:1.18}}
/* client quote page */
.cq .cq-inst{font-size:13.8px!important}
.cq-i{grid-template-columns:110px 1fr!important}
.cq-i img{width:110px!important;height:110px!important;object-fit:cover;border-radius:10px}
.cq-d b{font-size:19.5px!important}.cq-d small{font-size:15.5px!important}
.cq-m{font-size:clamp(14px,4.2vw,17.4px)!important}.cq-m b{font-size:clamp(16px,4.7vw,19.2px)!important}
.cq-pinc{font-size:14.4px!important}
.cq-ref{margin:26px 0 8px;font-size:11.5px;color:#8a8073;letter-spacing:.08em;text-align:center}
@media(max-width:380px){.cq-i{grid-template-columns:92px 1fr!important}.cq-i img{width:92px!important;height:92px!important}}
.q5{margin-right:0!important}.q5 .r1{padding-right:30px}
.q5 .r3{white-space:nowrap;font-size:clamp(9.5px,2.82vw,12px)}
.kvrow .kv dd{white-space:nowrap}.kvrow .kv{font-size:clamp(12.5px,3.7vw,15px)}
.msib{min-width:0;padding:10px 12px}
.q5 .r1 b{white-space:nowrap;font-size:clamp(15px,4.6vw,18px)}
.kvrow .kv dt{white-space:nowrap}
.z5 .ln2 span,.z5 .ln2 b{white-space:nowrap}
@media(max-width:380px){.z5 .bk{font-size:.92em}.z5 .bk .ln2.it .l2 span{font-size:13px}}
#prev.cv5 .ln2 span,#prev.cv5 .ln2 b{white-space:nowrap}
@media(max-width:400px){#prev.cv5 .bk{zoom:1.22}#prev.cv5 .l2 span{font-size:12.4px}}
@media(max-width:400px){#prev.cv5 .bk .ln2.it .l2{font-size:clamp(11px,3.15vw,13px)!important;white-space:nowrap}#prev.cv5 .bk .ln2.it .l2 b{font-size:clamp(12.5px,3.6vw,14.5px)!important}}
#prev.cv5 .bk .ln2.it .l2 span{white-space:nowrap!important}
@media(max-width:400px){#prev.cv5 .bk .ln2.it .l2{font-size:10.3px!important;gap:6px}#prev.cv5 .bk .ln2.it .l2 b{font-size:11.6px!important}}
@media(min-width:381px) and (max-width:400px){#prev.cv5 .bk .ln2.it .l2{font-size:11px!important}#prev.cv5 .bk .ln2.it .l2 b{font-size:12.4px!important}}
@media(max-width:380px){#prev.cv5 .bk{zoom:1.15}#prev.cv5 .bk .ln2.it .l2{font-size:10.6px!important}#prev.cv5 .bk .ln2.it .l2 span{flex:none}#prev.cv5 .bk .ln2.it .l2 b{font-size:11.8px!important}}
@media(max-width:380px){#prev.cv5 .bk{zoom:1.12}#prev.cv5 .bk .ln2.it .l2{font-size:10.4px!important;gap:10px;letter-spacing:-.01em}#prev.cv5 .bk .ln2.it .l2 b{font-size:11.6px!important}}
.kv dd{overflow-wrap:anywhere;min-width:0}.kvrow>.kv{min-width:0}   /* t206: long MSI item codes (pebbles) no longer widen the page on phones */

/* t207 */
.btn.fq{background:#e9dcc6!important;color:#3a2f22!important;border-color:#dccaa9!important;box-shadow:none}   /* subtle: one step stronger than the price pill #f3ede3 */
.btn.fq:hover,.btn.fq:active{background:#e0d0b5!important;border-color:#d2bd98!important}
.msib{background:#f3ede3;border-color:#f3ede3;color:var(--gold2)}.msib small{color:var(--gold2);opacity:.85}.msib:active{background:#ebe2d3}   /* same as the price pill */
.z5{zoom:1.08}@media(max-width:380px){.z5{zoom:1}}   /* sheet text ~10% smaller than t205 */
.bk .ln2.it .l2,#prev.cv5 .bk .ln2.it .l2,.qpage .bk .ln2.it .l2{flex-wrap:wrap;row-gap:2px}.bk .ln2.it .l2 b{margin-left:auto}   /* big totals drop to their own line instead of overlapping */
.cq-m{flex-wrap:wrap;row-gap:2px}.cq-m b{margin-left:auto}
.stk>*{min-width:0}.kvrow{flex-wrap:wrap}.kvrow .kv{flex:1 1 230px}.kvrow .kv dd{white-space:normal}   /* t207: tablet two-column pages no longer widen with long item codes */
@media(min-width:800px) and (max-width:1099px){.stk{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}   /* t207: tablets give the info column half the width */
.kvrow .kv dd.ic{white-space:nowrap;overflow-wrap:normal;font-size:min(1em,3.6vw)}@media(min-width:800px) and (max-width:1099px){.kvrow .kv dd.ic{font-size:13px}}

/* t215 */
#sd .tl.t5 .btn.fq,.btn.fq{background:#f3ede3!important;border:0!important;color:var(--gold2)!important;font-weight:700;border-radius:999px!important;min-height:0!important;line-height:1.35!important;box-shadow:none}   /* Free Quote = same pill as the $/sq ft price */
.btn.fq:hover,.btn.fq:active{background:#ebe2d3!important}
.rmh{font-family:inherit;font-weight:800;font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold2);margin:16px 0 4px;padding-bottom:4px;border-bottom:2px solid #e9dcc6}
.bk .ln2.rms{font-weight:700;color:var(--ink);border-bottom:1px solid var(--line)}
.rmnow{font-size:16px;margin:4px 0 10px;color:#4a4238}.rmnow b{color:var(--gold2)}
.rmsh h2{font-size:24px;margin:0 0 4px}.rmsh h3{font-size:16px;margin:18px 0 8px}.rmsh .s2{font-size:16px;color:#4a4238}
.chips.rmc{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.chips.rmc button{font-size:17px;min-height:50px}
.rmin{width:100%;font-size:17px;padding:12px;margin-top:8px;border:1.5px solid var(--line);border-radius:12px}
.rmdone{font-size:16px;margin:12px 0}.rmsh #rgo{width:100%;margin-top:20px}
.cq-room h2{font-size:19px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold2);margin:22px 0 6px;padding-bottom:4px;border-bottom:2px solid #e9dcc6}
.cq-rsub{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;font-weight:700;font-size:17px;padding:10px 0 4px}.cq-rsub b{margin-left:auto}
.cq-more{margin:28px 0 10px;padding:20px 16px;border-radius:16px;background:#f3ede3;text-align:center}
.cq-mq{font-size:22px;font-weight:800;margin:0 0 6px}.cq-ms{font-size:16px;color:#4a4238;margin:0 0 14px;line-height:1.4}
.cq-mb{font:inherit;font-size:18px;font-weight:700;width:100%;max-width:360px;min-height:54px;border:0;border-radius:999px;background:#1a1a1a;color:#fff;cursor:pointer}
#sd .tl.t5 .btn.fq{font-size:clamp(17px,4.6vw,20px)!important;padding:3px 12px!important;letter-spacing:0;font-family:inherit}
.btn.fq{position:relative}.btn.fq::after{content:"";position:absolute;inset:-8px -6px}   /* bigger tap area, same look */
.cq-ap{margin:26px 0 8px;padding:20px 16px;border:2px solid #1f6b3a;border-radius:16px;text-align:center;background:#fff}
.cq-apq{font-size:22px;font-weight:800;margin:0 0 10px}.cq-apl{display:block;text-align:left;font-size:15px;font-weight:700;margin:0 0 6px}
.cq-api{width:100%;font-size:18px;padding:12px;border:1.5px solid #cfc5b6;border-radius:12px;margin-bottom:12px}
.cq-apb{font:inherit;font-size:19px;font-weight:800;width:100%;min-height:56px;border:0;border-radius:999px;background:#1f6b3a;color:#fff;cursor:pointer}
.cq-aps{font-size:15px;color:#4a4238;margin:10px 0 0;line-height:1.4}.cq-apok{font-size:24px;font-weight:800;color:#1f6b3a;margin:0}

/* t216 */
.btn.fq,#sd .tl.t5 .btn.fq{background:#ebe2d3!important}.btn.fq:hover,.btn.fq:active{background:#e3d8c5!important}   /* one slight shade darker than the price pill */
.dchips.rmc{grid-template-columns:repeat(2,1fr)}.dchips.rmc button{font-size:16px;min-height:52px;padding:6px 8px;line-height:1.2}
.cq-re{display:inline-block;background:#fff4d6;color:#7a5200;font-weight:800;font-size:15px;padding:6px 14px;border-radius:999px;margin:0 0 12px}
.cq-ap.done{border-color:#1f6b3a;background:#f1f8f3}.cq-aperr{color:#a3261b;font-weight:700;font-size:15px;margin:10px 0 0}
.cq-apb:disabled,.cq-api:disabled{opacity:.55;cursor:default}
.apcur{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:14px;margin:6px 0 14px;font-size:16px}.apcur b{font-size:18px}
.apcur.ok{background:#f1f8f3;color:#1f6b3a;border:1.5px solid #1f6b3a}.apcur.re{background:#fff4d6;color:#7a5200;border:1.5px solid #e3b44a}
.myq{display:grid;gap:8px}.mq{display:block;width:100%;text-align:left;font:inherit;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;color:var(--ink)}
.mq1,.mq2{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px 10px}.mq1 b{font-size:16px}.mq2{margin-top:4px;font-size:14.5px;color:var(--soft)}.mq2 b{color:var(--ink);font-size:16px;margin-left:auto}
.apb{font-size:13px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap;margin-left:auto}.apb.ok{background:#e3f1e7;color:#1f6b3a}.apb.re{background:#fff4d6;color:#7a5200}
/* t217: sq ft editable in View / Edit Quote; Undo after Remove; date on Your Recent Quotes */
.qi .sqed{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;color:var(--soft);font-size:16px;font-weight:500;letter-spacing:normal;text-transform:none;white-space:nowrap}
.qi .sqin{width:96px;font:inherit;font-size:17px;font-weight:600;color:var(--ink);background:#fff;border:1.5px solid #d9cbb3;border-radius:10px;padding:6px 8px;min-height:40px;-moz-appearance:textfield;appearance:textfield}
.qi .sqin::-webkit-outer-spin-button,.qi .sqin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qi .sqin:focus{outline:none;border-color:var(--gold2);box-shadow:0 0 0 3px rgba(139,111,78,.18)}
.undo{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3ede3;border:1px solid #e9dcc6;border-radius:var(--r);padding:10px 12px;margin:8px 0;font-size:16px;color:var(--ink)}
.undo .btn{background:#fff;color:var(--ink);border-color:var(--ink);font-size:15px;padding:8px 18px;min-height:40px}

/* t219 */
#sd .tl.t5{grid-template-columns:minmax(0,1fr) max-content!important}
#sd .tl.t5 .rt{justify-self:stretch!important;justify-content:center}
#sd .tl.t5 .rt .price{flex:1 1 auto;justify-content:center;text-align:center}
#sd .tl.t5 .btn.fq{justify-self:stretch!important;width:auto!important;text-align:center;justify-content:center;display:inline-flex;align-items:center}   /* Free Quote = same width as the price pill, same column, centered */
#sd .tl.t5 h1{font-size:clamp(28px,8vw,42px)!important}
#sd .tl.t5 .albn{font-size:clamp(17px,4.7vw,21px)!important;line-height:1.25}
.kvrow{flex-wrap:nowrap!important;margin:8px 0 4px!important;gap:10px!important;align-items:stretch}.kvrow .kv{flex:1 1 0!important;min-width:0}.kvrow .msib{flex:none;align-self:stretch}
@media(max-width:400px){.kvrow .kv{font-size:12.5px!important;gap:3px 10px}.kvrow .msib{min-width:0;padding:8px 12px}.kvrow .msib b{font-size:14px}.kvrow .msib small{font-size:12px}}
.stk{gap:12px!important}#sd .tl.t5{margin-bottom:8px!important}
/* quote lines: one size, price bold on the name row */
.bk .ln2.it.t9{display:block}
.ln2.t9 .lt{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ln2.t9 .ld{flex:1 1 auto;min-width:0;display:block}
.ln2.t9 .ld>div{display:block;font-size:1em;line-height:1.35;color:var(--ink);font-weight:500;white-space:normal}
.ln2.t9 .ld .sz,.ln2.t9 .ld .qx{color:#4a4238;font-weight:400}
.ln2.t9 i{font-style:normal}
.ln2.t9 .lp{flex:none;font-weight:800;color:#1a1a1a;white-space:nowrap;text-align:right;font-size:1em!important;margin:0!important}
.bk .ln2.t9{font-size:15px}#prev.cv5 .bk .ln2.t9{font-size:14px}
@media(max-width:400px){.bk .ln2.t9{font-size:14.5px}#prev.cv5 .bk .ln2.t9{font-size:13px}}
.rmh{font-size:1em!important;letter-spacing:.02em}
.cq-d{display:block!important}.cq-t{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.cq-nm,.cq-sp,.cq-q{display:block;font-size:16px;line-height:1.35;color:#1a1a1a;font-weight:500}.cq-sp,.cq-q{color:#4a4238;font-weight:400}.cq-q i{font-style:normal}
.cq-lt{flex:none;font-size:16px!important;font-weight:800;color:#1a1a1a;white-space:nowrap}
.cq .cq-inst{font:500 16px/1.3 Nunito,sans-serif!important;letter-spacing:0!important;text-transform:none!important;color:#4a4238}.cq-inst::before,.cq-inst::after{display:none!important}
.cq-room h2{font-size:16px!important;letter-spacing:.02em}
.cq-i{align-items:start!important}
@media(max-width:400px){.cq-nm,.cq-sp,.cq-q,.cq-lt{font-size:14.5px!important}.cq-i{grid-template-columns:76px 1fr!important}.cq-i img{width:76px!important;height:76px!important}}
.cq-eo{margin-top:12px;background:#ebe2d3!important;color:#3a2f22!important}
.osh h2{font-size:22px;margin:0 0 6px}.osh .s2{font-size:16px;margin:0 0 12px;overflow-wrap:anywhere}.oprev{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 16px;background:#fff}
.oi{display:flex;flex-direction:column;gap:1px;padding:8px 0;border-bottom:1px solid #f0ebe3;font-size:15.5px}.oi:last-of-type{border-bottom:0}.oi span{color:#4a4238}
.osh .btn{width:100%;display:flex;justify-content:center}.osh #oml{margin-top:6px}
/* t221 */
main.qpage{zoom:.9}main.qpage input{font-size:17.8px}   /* View / Edit Quote ~10% smaller (inputs stay >=16px on iPhone) */
.srow{max-width:1280px;margin:0 auto;padding:0 16px 12px;position:relative}
.sbox{position:relative;display:flex;align-items:center;height:50px;background:#fff;border:1.5px solid #2b2724;border-radius:12px;box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 18px -10px rgba(43,39,36,.35);transition:box-shadow .15s,border-color .15s}
.sbox:focus-within{border-color:#8b6f4e;box-shadow:0 0 0 3px rgba(139,111,78,.22)}
.sbox .sic{width:22px;height:22px;margin:0 10px 0 14px;color:#8b6f4e;flex:none}
.sbox input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:500 17px/1.2 Nunito,system-ui,sans-serif;color:#1a1a1a;padding:0 6px 0 0;-webkit-appearance:none;appearance:none}
.sbox input::placeholder{color:#8a8073;font-weight:400}.sbox input::-webkit-search-cancel-button{display:none}
.sbox .sx{flex:none;width:44px;height:44px;border:0;background:transparent;font-size:26px;line-height:1;color:#6b6257;cursor:pointer}
.sres{position:absolute;left:16px;right:16px;top:56px;max-height:min(70vh,620px);overflow:auto;background:#fff;border:1px solid #e3dbcf;border-radius:14px;box-shadow:0 18px 40px -12px rgba(0,0,0,.35);z-index:40;padding:6px 0;-webkit-overflow-scrolling:touch}
.sres .sct{margin:4px 14px 6px;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#8b6f4e;font-weight:700}
.sres .sno{margin:14px;font-size:16px;color:#4a4238;line-height:1.45}
.sr{display:flex;align-items:center;gap:12px;padding:9px 14px;text-decoration:none;color:#1a1a1a;border-top:1px solid #f2ede5}.sr:active,.sr:hover{background:#f8f4ee}
.sr img{width:60px;height:60px;border-radius:8px;object-fit:cover;flex:none;background:#eee}
.srt{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srt b{font-size:16px;font-weight:700;line-height:1.25}.srt small{font-size:14px;color:#4a4238;line-height:1.3}.srt .src{font-size:12.5px;color:#8a8073;letter-spacing:.02em}
.srp{flex:none;align-self:flex-start;margin-top:2px;font-weight:700;font-size:14px;color:#6f593d;background:#f3ede3;border-radius:999px;padding:3px 10px;white-space:nowrap}
@media(min-width:820px){.srow{padding:2px 24px 14px}.sbox{height:54px;max-width:760px;margin:0 auto}.sres{left:50%;right:auto;width:min(760px,calc(100% - 48px));transform:translateX(-50%);top:60px}}
@media(max-width:380px){.sbox input{font-size:16px}.sr img{width:52px;height:52px}.srt b{font-size:15px}.srp{font-size:13px;padding:2px 8px}}
/* t222: slim search bar on every page (Home Depot style) */
.srow{padding:0 12px 8px}.sbox{height:42px;border-width:1px;border-radius:10px;box-shadow:none}
.sbox .sic{width:18px;height:18px;margin:0 8px 0 12px}.sbox input{font-size:16px}.sbox .sx{width:40px;height:40px;font-size:22px}
.sres{left:12px;right:12px;top:48px}
@media(min-width:820px){.srow{padding:0 24px 10px}.sbox{height:44px;max-width:680px}.sres{top:50px;width:min(680px,calc(100% - 48px))}}
/* t227: delete X on Your Recent Quotes + confirm dialog */
.mqw{position:relative}.mqw .mq{padding-right:44px}
.mqx{position:absolute;top:4px;right:4px;width:36px;height:36px;border:0;background:none;color:#8a8178;font-size:22px;line-height:1;border-radius:50%;cursor:pointer}
.mqx:hover,.mqx:focus-visible{background:#f1ece4;color:var(--ink)}
.dq{position:fixed;inset:0;background:rgba(20,16,12,.45);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}
.dqb{background:#fff;border-radius:16px;padding:22px 20px 18px;max-width:340px;width:100%;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.dqb p{margin:0 0 18px;font-size:18px;line-height:1.35;font-weight:600;color:var(--ink)}
.dqa{display:flex;gap:10px}.dqa button{flex:1;height:46px;border-radius:12px;font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.dqc{background:#fff;border:1.5px solid var(--line);color:var(--ink)}.dqd{background:#b42318;border:0;color:#fff}
/* t227: product header — plain price above the photo's top-right, name/specs left + Free Quote centered right (the only pill) */
.phcol{min-width:0}
.phtop{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:0 0 6px;min-height:24px}
.phtop .pplain{font-size:clamp(18px,4.8vw,21px);font-weight:700;color:var(--ink);white-space:nowrap;line-height:1.2;margin-left:auto}
.phtop .dtog{font-size:12px}
#sd .tl.t227{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
#sd .tl.t227 .hl{min-width:0;flex:1 1 auto}
#sd .tl.t227 h1{margin:0;font-size:clamp(28px,8vw,42px);line-height:1.1}
#sd .tl.t227 .albn{margin:4px 0 0;font-size:clamp(17px,4.7vw,21px);font-weight:600;color:#3d352c;line-height:1.25}
#sd .tl.t227 .btn.fq{flex:none;align-self:center;font-size:clamp(17px,4.6vw,20px)!important;padding:6px 14px!important;white-space:nowrap;margin:0}
/* t227: swipeable room scene gallery (slide 1 = the tile swatch) */
.gal{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);background:#f3efe9}
.gtrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.gtrack::-webkit-scrollbar{display:none}
.gs{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;min-width:0}
.gal .gs .ph{box-shadow:none;border-radius:0;margin:0}
.gal .ph.gr{aspect-ratio:1;background:#f3efe9;display:flex;align-items:center;justify-content:center}
.gal .ph.gr img{width:100%;height:100%!important;object-fit:contain!important}
.gcnt{position:absolute;right:10px;bottom:10px;background:rgba(20,20,20,.72);color:#fff;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;pointer-events:none}
.gnav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#222;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2);display:none}
.gp{left:10px}.gn{right:10px}
@media(hover:hover) and (pointer:fine){.gnav{display:block}}
.gsrc{margin:6px 2px 0;font-size:12px;color:var(--soft)}
/* t227: quantity × rate on one line with the line total right-aligned and vertically centered across from it (wraps by phrase on small phones) */
.cq-qr,.ln2.t9 .qxr{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cq-qr .cq-q,.ln2.t9 .qxr .qx{flex:1 1 auto;min-width:0}
.cq-qr .cq-lt,.ln2.t9 .qxr .lp{flex:none;align-self:center;text-align:right}
.ln2.t9 .lt.t227{display:block}
/* t227: Add Labor field + '+$1 /sq ft' chips (small /sq ft) */
.labh{margin:-4px 0 8px;font-size:14px;color:var(--soft)}
.chips button .psf{font-size:.62em;font-weight:600;margin-left:2px;opacity:.8;letter-spacing:0}
/* t227: Email Order = MSI sales order look */
.so{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;color:#1a1a1a}
.soh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid #1a1a1a;padding-bottom:10px}
.soh .sot{display:block;font-size:18px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.soh span{font-size:14px;color:var(--soft)}
.sor{text-align:right;font-size:12px;color:var(--soft)}.sor b{display:block;font-size:17px;color:#1a1a1a}
.sost{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.sost>div{border:1px solid #d9d2c7;border-radius:8px;padding:8px 10px;min-height:76px}
.sost small,.soi small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b6f4e}
.sost i{display:block;border-bottom:1px solid #e3ddd3;height:22px}.sost span{display:block;font-size:14px;padding-top:4px}
.soi{display:flex;gap:24px;margin:0 0 12px}.soi b{font-size:16px}
.sotw{overflow-x:auto}.sotb{width:100%;border-collapse:collapse;font-size:14px}
.sotb th{background:#1a1a1a;color:#fff;font-weight:700;font-size:12px;text-align:left;padding:8px;white-space:nowrap}
.sotb td{padding:8px;border-bottom:1px solid #e3ddd3;vertical-align:top}.sotb td.n{text-align:right;white-space:nowrap}.sotb td small{display:block;color:var(--soft)}
.sotb td.ic{white-space:nowrap}
.sotot{margin:10px 0 0 auto;max-width:320px}.sotot>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:15px}
.sotot .net{border-top:2px solid #1a1a1a;margin-top:4px;padding-top:8px;font-size:18px;font-weight:800}
@media(max-width:700px){.sotb thead{display:none}.sotb,.sotb tbody,.sotb tr,.sotb td{display:block;width:100%}
  .sotb tr{border:1px solid #e3ddd3;border-radius:10px;padding:6px 10px;margin:0 0 10px}
  .sotb td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;text-align:right!important}
  .sotb td::before{content:attr(data-l);font-size:13px;color:var(--soft);text-align:left;flex:none}
  .sotb td.d{display:block;text-align:left!important;font-size:15px;padding-bottom:6px;border-bottom:1px solid #eee;margin-bottom:4px}.sotb td.d::before{display:none}
  .sotb td.am{font-size:16px}}
/* t227: Email Order button now first in the pro block, above Build Another Quote */
.cq-eo1{margin:0 0 18px!important}
.ln2.t9 .ld>div.qxr{display:flex}.ln2.t9 .qxr .lp{margin-left:auto!important}
/* t227 fix: never shrink the qty text under the total; if it can't fit, the total drops to its own line (right-aligned) */
.cq-qr,.ln2.t9 .ld>div.qxr{flex-wrap:wrap;row-gap:2px}
.cq-qr .cq-q,.ln2.t9 .qxr .qx{min-width:auto!important}
.cq-qr .cq-lt{margin-left:auto}
.gal .ph.gr img{object-fit:cover!important}
.gal .ph.gr{position:relative}.gal .ph.gr img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}
.cq-eo1{text-wrap:balance;line-height:1.25;padding:10px 18px}
.gal .gs{display:flex;flex-direction:column}.gal .gs>.ph{flex:1 1 auto}.gal .ph.gr{aspect-ratio:auto!important;min-height:200px;height:auto!important}
/* t228: enterprise sales order fields */
.sopo{display:block;text-align:right;min-width:120px}.sopo small,.sost small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b6f4e;margin-bottom:4px}
.sopo input{width:140px;max-width:100%;height:40px;font-size:16px;text-align:right;padding:0 10px;border:1px solid #d9d2c7;border-radius:8px}
.sost{grid-template-columns:1fr 1fr}@media(max-width:560px){.sost{grid-template-columns:1fr}}
.sost label{display:block;border:1px solid #d9d2c7;border-radius:8px;padding:8px 10px}
.sost input,.sost textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;border:0;border-bottom:1px solid #e3ddd3;padding:6px 0;background:transparent;resize:vertical}
.sost input:focus,.sost textarea:focus{outline:none;border-bottom-color:#8b6f4e}
.oshl{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.oshl:empty{display:none}.oshh{flex:1 1 100%;font-size:12px;color:var(--soft)}
.osc{display:inline-flex;align-items:center;max-width:100%;background:#f3ede3;border-radius:999px}
.oscp{border:0;background:none;font:inherit;font-size:14px;padding:6px 4px 6px 12px;cursor:pointer;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.oscx{border:0;background:none;width:32px;height:32px;font-size:20px;color:#8a8178;cursor:pointer;border-radius:50%}
.sotb td.ln{color:var(--soft)}
/* t228 round */
.top .tag1{display:none!important}
.empty .emh{margin:0;font-size:22px;font-weight:700;color:var(--ink,#1a1a1a)}.empty .ems{margin:6px 0 0;font-size:17px;color:var(--soft)}
.mqall{display:block;margin:18px auto 8px;padding:11px 22px;border:1.5px solid #b3261e;border-radius:999px;background:#fff;color:#b3261e;font:inherit;font-size:16px;font-weight:700;cursor:pointer}.mqall:active{background:#fbeceb}
.labw{display:flex;align-items:center;gap:10px}.labw>*:first-child{flex:1 1 auto;min-width:0}
.labx{flex:none;padding:9px 14px;border:1.5px solid #d8cdbb;border-radius:999px;background:#fff;color:#3a2f22;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.kvrow .kv dd.ic{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word;font-size:min(1em,3.4vw)}
.kvrow .msib{max-width:34%;min-width:0}.kvrow .msib b,.kvrow .msib small{white-space:normal;text-align:center}
#sd .tl.t227{flex-wrap:nowrap!important}#sd .tl.t227 .hl{min-width:0;flex:1 1 0}
#sd .tl.t227 .btn.fq{font-size:clamp(15.3px,4.15vw,18px)!important;flex:none!important;margin-left:auto}
.cq-eow{margin:16px 0 0;text-align:center}.cq-eo2{margin:0!important;border-radius:999px!important;text-wrap:balance;line-height:1.25;padding:12px 22px!important;max-width:100%}
.cq-more.cq-more2{margin:18px 0 10px;background:#fff;border:1.5px solid #e3d8c5;border-radius:10px}
/* t228: order sheet fits its own width (sheet is narrow on desktop too); saved-address chips keep the × on the same line */
.so{container-type:inline-size}
.oshw{min-width:0}.oshw>label{display:block}
.oshl .osc{display:flex!important;flex-wrap:nowrap!important;width:100%;box-sizing:border-box}.oshl .oscp{flex:1 1 auto;min-width:0;max-width:none;text-align:left}.oshl .oscx{flex:none}
@container (max-width:700px){.sotb thead{display:none}.sotb,.sotb tbody,.sotb tr,.sotb td{display:block;width:100%}
  .sotb tr{border:1px solid #e3ddd3;border-radius:10px;padding:6px 10px;margin:0 0 10px;box-sizing:border-box}
  .sotb td{display:flex;justify-content:space-between;gap:12px;border:0;padding:4px 0;text-align:right!important;box-sizing:border-box}
  .sotb td::before{content:attr(data-l);font-size:13px;color:var(--soft);text-align:left;flex:none}
  .sotb td.d{display:block;text-align:left!important;font-size:15px;padding-bottom:6px;border-bottom:1px solid #eee;margin-bottom:4px}.sotb td.d::before{display:none}
  .sotb td.am{font-size:16px}.sost{grid-template-columns:1fr}}
.crumb a{display:inline-block;max-width:100%;white-space:normal;vertical-align:top;text-wrap:balance} /* t231: long line names wrap inside their own box instead of widening the page */
#cua{margin-top:0}#cua .affix{max-width:none} /* t233: $ per sq ft box matches Add Labor */
.poer{color:#b3261e;font-weight:600;margin:6px 0 0}.osh #otx{margin-top:10px} /* t235 */
.sopo input{width:190px;font-variant-numeric:tabular-nums} @media(max-width:600px){.soh{flex-wrap:wrap}.sopo{flex:1 1 100%;text-align:left}.sopo input{width:100%;text-align:left}} /* t235: full PO # always visible */
.labl{font-weight:700;color:#1a1a1a;font-size:16px;line-height:1.3;margin:16px 0 8px;text-wrap:balance}.labl:first-of-type{margin-top:4px} /* t236 */
/* t237 */
.soh{border-bottom:1px solid #8f8576;padding-bottom:14px}.soi{margin-top:19px} /* t237: 1px divider, darker than the PO box (#d9d2c7), centered between PO box and Shipping method */
.sotb .lnn{color:var(--soft);font-weight:600;margin-right:2px}
.osh .btn.big{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;text-align:center}.osh .btn.big small{display:block;font-size:13px;font-weight:500;opacity:.85;margin-top:2px;text-wrap:balance}
.osh2{display:block;margin:10px auto 0;border-radius:999px}.vcf{text-align:center;margin:12px 0 0;font-size:15px}.vcf a{color:#8b6f4e;font-weight:700}
.fzs h2{margin-bottom:4px}.fzk{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b6f4e;margin:14px 0 6px}
.fzl{list-style:none;margin:0 0 12px;padding:0;border:1px solid #d9d2c7;border-radius:12px;background:#fff}
.fzl li{display:flex;align-items:flex-start;gap:8px;padding:12px 10px 12px 14px;border-top:1px solid #eee7dc;font-size:17px;line-height:1.35}.fzl li:first-child{border-top:0}
.fzn{font-weight:800;min-width:1.6em}.fzt{flex:1;text-wrap:pretty}.fze{color:var(--soft)}
.fzx{flex:none;width:36px;height:36px;margin:-6px 0;border:0;border-radius:50%;background:#f2ede5;font-size:22px;line-height:1;color:#5a5147;cursor:pointer}
.fza{display:flex;gap:8px;margin:0 0 14px}.fza input{flex:1;min-width:0;height:46px;font-size:16px;padding:0 12px;border:1px solid #d9d2c7;border-radius:10px}.fza .btn{flex:none}
.fzs .btn.big{display:block;width:100%;margin-top:10px}
.cq-scope{margin:22px 0 6px;padding:16px 18px 10px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}.cq-scope h2{font-size:18px;margin:0 0 8px}
.cq-scope ol{margin:0;padding-left:1.5em}.cq-scope li{font-size:16px;line-height:1.4;margin:0 0 8px;text-wrap:pretty}
.cq-fz{background:#1a1a1a!important;color:#fff!important}
#sheetc .labl{padding-right:34px} /* t237: clear of the close × */
/* t239: inline scope + notes editing on the pro view; screenshot-ready client view */
.cq-ed ol{list-style:none;padding:0;counter-reset:st}.cq-ed ol li{counter-increment:st;display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #eee7dc;margin:0}.cq-ed ol li:first-child{border-top:0}
.cq-ed ol li::before{content:counter(st) '.';font-weight:800;min-width:1.6em}.cq-st{flex:1;text-wrap:pretty}
.cq-x{flex:none;width:36px;height:36px;border:0;border-radius:50%;background:#f2ede5;font-size:22px;line-height:1;color:#5a5147;cursor:pointer}
.cq-add{display:flex;gap:8px;margin:10px 0 4px}.cq-add input{flex:1;min-width:0;height:44px;font-size:16px;padding:0 12px;border:1px solid #d9d2c7;border-radius:10px}.cq-add button{flex:none;height:44px;padding:0 18px;border:1px solid #1a1a1a;border-radius:999px;background:#fff;font:inherit;font-weight:700}
.cq-notes.cq-ed li{display:flex;align-items:center;gap:10px}.cq-notes.cq-ed li>div{flex:1}.cq-notes.cq-ed li[hidden]{display:none}
.cq-rs{display:block;margin:4px auto 14px;background:none;border:0;color:#8b6f4e;font:inherit;font-weight:700;font-size:15px;text-decoration:underline;cursor:pointer}
.cq-rnd{font-weight:500!important;color:var(--soft)!important}.cq-rnd::before{background:#cfc6b8!important}
.cview{position:fixed;inset:0;z-index:80;background:var(--paper,#faf8f4);display:none}.cview.on{display:block}.cview iframe{width:100%;height:100%;border:0;display:block}
body.shot .cv-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;padding:8px 10px;background:#fff;border-bottom:1px solid #e3ddd3}
.cv-b{height:46px;padding:0 18px;border:1px solid #1a1a1a;border-radius:999px;background:#fff;font:inherit;font-size:18px;font-weight:700;color:#1a1a1a;cursor:pointer}.cv-e{border-color:#d9d2c7}
body.shot .cq-h{justify-content:space-between}.cv-q{color:#fff;font-size:22px;font-weight:700;letter-spacing:.04em}
.cv{max-width:560px;padding:18px 16px 18px}.cv h1{font-size:30px!important}.cv-date{color:var(--soft);font-size:16px;margin:2px 0 8px}
body.shot .cq-addr{font-size:17px}body.shot .cq-nm{font-size:19px}body.shot .cq-sp,body.shot .cq-q{font-size:16px}body.shot .cq-lt{font-size:19px}
body.shot .cq-scope li{font-size:18px}body.shot .cq-sum div{font-size:17px}body.shot .cq-sum .cq-grand{font-size:24px}
body.shot .cq-notes li{font-size:16px!important}body.shot .cq-notes li.cq-rnd{font-size:15px!important}
.cv-under{padding-top:40px;min-height:60vh;border-top:1px dashed #d9d2c7}.cv-tip{text-align:center;color:var(--soft);font-size:16px;margin:0 0 12px}
.cv-a{display:flex;align-items:center;justify-content:center;width:100%;height:54px;margin:0 0 10px;border:1px solid #1a1a1a;border-radius:999px;background:#fff;color:#1a1a1a;font:inherit;font-size:18px;font-weight:700;text-decoration:none;cursor:pointer}.cv-p{background:#8b6f4e;border-color:#8b6f4e;color:#fff}
body.shot .cq-nm{font-size:20px!important;font-weight:700}body.shot .cq-sp,body.shot .cq-q{font-size:17px!important}body.shot .cq-lt{font-size:21px!important}body.shot .cq-pinc{font-size:15px!important}body.shot .cq-inst{font-size:16px!important}
/* t249: quote issue date under the client name */
.cq-date{margin:0 0 12px;color:var(--soft);font-size:14px}body.shot .cq-date{font-size:16px}
/* t261 */
#cum .affix{cursor:text}
.lsq{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.lsq>span{flex:1 1 220px;text-wrap:balance}
.sqb{flex:none;display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:#f2ede5;border:1px solid #d9d2c7;color:#5a4632;font-size:14.5px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.sqw{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.sqw .affix{flex:1 1 140px;max-width:220px!important}
.matl{flex:none;font-size:15.5px;font-weight:700;color:#1a1a1a;white-space:nowrap}.matl small{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b6f4e;line-height:1.1}
.sqres{margin:6px 0 0;font-size:15px;color:var(--soft);min-height:1.2em}.sqres b{color:#1a1a1a}
@media(max-width:420px){.togs .dtog.vtog{grid-template-columns:1fr auto 1fr!important}}
.vtog b.sbs{padding-left:9px!important;padding-right:9px!important;font-size:15px!important;line-height:.9!important}
.sbx{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 14px 12px}
.sbr{display:grid;grid-template-columns:1fr auto auto;gap:4px 14px;align-items:baseline;padding:9px 0;border-top:1px solid #eee7dc;font-size:16px}.sbr b{text-align:right;font-variant-numeric:tabular-nums;min-width:5.6em}
.sbr .sbn{min-width:0;overflow-wrap:anywhere}.sbr i{font-style:normal;color:var(--soft);font-weight:500}
.sbh{border-top:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8b6f4e;padding-bottom:4px}.sbh b{font-weight:800}
.sbr b:nth-child(3){color:#6b6257}.sbt{border-top:2px solid #1a1a1a;font-size:18px}.sbt .sbn{font-weight:800}.sbt b:nth-child(3){color:#1a1a1a}
.sbp{display:flex;align-items:baseline;gap:10px;margin-top:8px;padding:10px 12px;border-radius:10px;background:#eef5ee;color:#1f5e33;font-size:17px}.sbp b{margin-left:auto;font-size:20px}.sbp small{font-size:14px;font-weight:700}
.cq-inst-e{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.cq-loc{width:9.5em;max-width:60vw;height:34px;font:inherit;font-size:15px;padding:0 8px;border:1px dashed #b9ad9c;border-radius:8px;background:#fffdf9;vertical-align:middle}
.cq-loc:focus{border-style:solid;border-color:#8b6f4e;outline:none}
.cq-dh{flex:none;width:30px;height:36px;display:flex;align-items:center;justify-content:center;color:#9b8f80;font-size:16px;letter-spacing:-3px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.cq-ed ol li{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cq-ed ol li.drg{background:#fbf6ee;box-shadow:0 6px 18px rgba(0,0,0,.18);border-radius:10px;position:relative;z-index:2}.cq-ed ol li.drg .cq-dh{cursor:grabbing;color:#8b6f4e}
.cv-brand{background:#fff;border:1px solid #e3ddd3;border-radius:14px;padding:14px;margin:0 0 18px}.cv-bt{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8b6f4e;margin:0 0 8px}
.cv-brand input:not([type=file]){display:block;width:100%;box-sizing:border-box;height:48px;font:inherit;font-size:17px;padding:0 12px;border:1px solid #d9d2c7;border-radius:10px;margin:0 0 8px}
.cv-logo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cv-logo img{max-height:48px;max-width:140px;object-fit:contain}.cv-l{width:auto!important;flex:1;margin:0!important;height:48px!important}.cv-x{background:none;border:0;color:#8b6f4e;font:inherit;font-weight:700;text-decoration:underline}
.cv-d{border-color:#d9d2c7!important}.cv-sm{font-size:15px!important;color:#1f5e33!important}
.cv-logo{flex-direction:column;align-items:stretch}.cv-logo img{align-self:flex-start;max-height:56px;max-width:200px}.cv-l{width:100%!important;flex:none!important;font-size:17px!important}.cv-x{align-self:center}
.lsq{flex-wrap:nowrap!important;align-items:center}.lsq>span{flex:1 1 auto;min-width:0}
/* t262 */
.cq-amt{flex:none;display:flex;align-items:center;gap:2px;height:38px;width:84px;padding:0 6px;border:1px dashed #b9ad9c;border-radius:8px;background:#fffdf9;font-weight:700;color:#5a4632}.cq-amt input{width:100%;min-width:0;border:0;background:none;font:inherit;font-size:16px;text-align:right;outline:none}
.cq-amt:focus-within{border-style:solid;border-color:#8b6f4e}.cq-ip{flex:none;font-size:16px;font-weight:800;white-space:nowrap}
.cq-scope li.cq-sl{display:flex;justify-content:space-between;gap:10px}.cq-scope li.cq-sl b{white-space:nowrap}
.cq-war{margin:10px 2px 4px;font-size:15px;font-style:italic;line-height:1.45;color:#3b2f25;text-wrap:pretty}
.cv-fl{display:block;font-size:14px;font-weight:700;color:#5a4632;margin:6px 0 4px}.cv-sv{margin:8px 0 0;font-size:14px;color:var(--soft);text-align:center}
@media(max-width:600px){.cq-ed ol li{display:grid;grid-template-columns:1.6em 28px 1fr 40px;column-gap:6px;row-gap:6px;align-items:center}
.cq-ed ol li::before{grid-column:1;grid-row:1/span 2}.cq-ed ol li .cq-dh{grid-column:2;grid-row:1/span 2}.cq-ed ol li .cq-st{grid-column:3;grid-row:1}
.cq-ed ol li .cq-amt,.cq-ed ol li .cq-ip{grid-column:3;grid-row:2;justify-self:start}.cq-ed ol li .cq-x{grid-column:4;grid-row:1/span 2}}
/* t264: editable scope text + Approve & Sign */
.cq-ed .cq-st[contenteditable]{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;cursor:text;min-height:44px;padding:9px 10px;border:1.5px dashed #d8cdbd;border-radius:10px;background:#fff;outline:none;line-height:1.35;font-size:17px;display:block}
.cq-ed .cq-st[contenteditable]:focus{border-style:solid;border-color:#8b6f4c;box-shadow:0 0 0 3px rgba(139,111,76,.18)}
.cq-ed ol li{background:#fdfbf7;border:1px solid #eee7dc;border-radius:12px;padding:8px 8px;margin:0 0 8px}.cq-ed ol li:first-child{border-top:1px solid #eee7dc}
.cq-ed .cq-amt input{font-size:17px;min-height:40px}
.cq-war{text-align:left}
.cq-aph{font-size:22px;font-weight:800;margin:6px 0 12px}
.cq-sgw{position:relative;margin:0 0 6px}.cq-sgc{display:block;width:100%;height:170px;background:#fff;border:1.5px solid #cfc5b6;border-radius:12px;touch-action:none;cursor:crosshair}
.cq-sgx{position:absolute;left:14px;bottom:14px;color:#a89b88;font-size:16px;pointer-events:none;border-top:1.5px solid #d8cdbd;right:14px;text-align:left;padding-top:4px}
.cq-sgcl{font:inherit;font-size:15px;background:none;border:0;color:#8b6f4c;text-decoration:underline;padding:6px;cursor:pointer;min-height:40px}
.cq-apd{font-size:17px;margin:6px 0 4px}.cq-apc{font-size:16px;margin:0 0 14px;color:#3b2f25}
.cq-sgi{display:block;max-width:260px;width:80%;margin:8px auto;background:#fff;border-radius:8px}
.cq-sgd{margin:16px 0 4px}.cq-sgdl{background:#2b241e}.cq-valid{margin-top:-2px}
/* t266: Material + Labor row, symmetric */
.lsr{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);align-items:end;column-gap:6px;max-width:460px}
.lsr.nomat{grid-template-columns:minmax(0,1fr)}
.sqc{min-width:0;display:flex;flex-direction:column;gap:4px}.sqc small{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8b6f4e;line-height:1.1}
.sqv{box-sizing:border-box;height:50px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:18px;font-weight:800;color:#1a1a1a;font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 8px}
.sqro{background:#f5f1ea;border:1.5px solid #e4ddd2}
.lsr .sqin.affix{max-width:none!important;width:100%;background:#fff;border:1.5px solid #cfc5b6;margin:0;padding:0 8px;gap:0}
.lsr .sqin .pre,.lsr .sqin .suf{position:static;font-size:18px;font-weight:800;color:#1a1a1a;flex:none;transform:none}
.lsr .sqin input{font:inherit;font-size:18px;font-weight:800;border:0;outline:0;background:transparent;padding:0 2px;width:4.2ch;min-width:3ch;text-align:right;height:100%;flex:0 1 auto}
.lsr .sqin:focus-within{border-color:#8b6f4c;box-shadow:0 0 0 3px rgba(139,111,76,.18)}
.sqp{align-self:end;height:50px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;color:#5a4632}
.sqres{text-align:left;font-size:15.5px}
@media(max-width:380px){.sqv,.lsr .sqin .pre,.lsr .sqin .suf,.lsr .sqin input{font-size:16.5px}}
.lsr .sqin input{font-size:18px!important;min-height:0!important;width:4.2ch!important;flex:0 1 auto!important}
@media(max-width:380px){.lsr .sqin input{font-size:16.5px!important}}
.sqc label{display:block;margin:0!important;padding:0!important;font:inherit;line-height:1.1}
.lsr .sqin .pre{margin-right:1px}
.lsr .sqin:focus-within{box-shadow:none}

/* t268: panel top sq ft, calm margin chips */
.sqtop{text-align:center;font-size:19px;font-weight:800;margin:2px 0 14px;padding:0 0 10px;border-bottom:1px solid #d9d2c7;letter-spacing:.01em}
.chips.four button{color:#1a1a1a;font-weight:600}.chips.four button.on{background:#f2ede5;color:#1a1a1a;border-color:#1a1a1a}
.affix.sqrow #sq{flex:1 1 auto;width:100%;min-width:0}.affix.sqrow #need{pointer-events:none;flex:none}.affix.sqrow #need:empty{display:none}
/* t269: free quote header = two rows (name | price, specs | per box under the price) */
.qhd.q6{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:2px;align-items:baseline}
.qhd.q6 .g1{grid-column:1;font-size:clamp(19px,5.2vw,22px);line-height:1.2;text-wrap:balance}.qhd.q6 .g2{grid-column:2;text-align:center;white-space:nowrap}
.qhd.q6 .g3{grid-column:1;color:var(--soft)}.qhd.q6 .g4{grid-column:2;text-align:center;color:var(--soft);font-size:14px}
/* t269: order sheet top = PO # only */
.soh.soh2{display:block;padding-top:4px}.soh.soh2 .sopo{display:block;width:100%}.soh.soh2 .sopo input{width:100%}.vcf2{margin-top:6px}
/* t269: labor input fits $100.00+ at 360 */
.lsr .sqin.affix{padding:0 6px!important}.lsr .sqin .pre{margin-right:0}.lsr .sqin input{width:6.2ch!important;min-width:4ch!important;padding:0!important;flex:1 1 auto!important;text-align:right}
/* t269: tappable margin + prompt */
.sbm{font:inherit;font-size:14px;font-weight:700;background:none;border:0;padding:4px 2px;color:#1f6b3a;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer;white-space:nowrap}
.mgp{margin-top:10px;padding:12px;border:1px solid #d9d2c7;border-radius:12px;background:#fff}.mgp b{display:block;font-size:17px;margin-bottom:8px}.mgp .affix{max-width:160px}
.mgb{display:flex;gap:8px;margin-top:10px}.mgb .btn{flex:1;min-height:44px}
/* t269: bold key quote facts */
.qi .d>b,.qi .sp{font-weight:800!important;color:#1a1a1a}
.ln2.t9 .ld .nm,.ln2.t9 .ld .sz,.ln2.t9 .ld .qx{font-weight:700!important;color:#1a1a1a!important}
.qhd.q6{column-gap:8px}.qhd.q6 .g1{text-wrap:pretty;font-size:clamp(18px,4.9vw,22px)}.qhd.q6 .g4{font-size:13px}
/* t270 */
.also ul{display:grid!important;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:4px}
.sqtop{color:#1d4f8c;background:#eef4fb;border:1px solid #d3e2f3;border-radius:10px;padding:10px 8px!important;border-bottom:1px solid #d3e2f3!important}
.sqres{display:none!important}.lsr{margin-bottom:14px}
.sbx{padding:14px 14px 10px}.sbx .sbr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(6.6em,auto) minmax(6.6em,auto);column-gap:16px;align-items:baseline;padding:10px 0;border-top:1px solid #eee7dc}
.sbx .sbr>span{min-width:0}.sbx .sbr>b{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sbx .sbr.sbh{border-top:0;padding-top:0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8b6f4e}.sbx .sbr.sbh b{color:#8b6f4e}
.sbx .sbr.sbt{border-top:2px solid #1a1a1a}
.sbx .sbr>b:last-child{padding-left:12px;border-left:1px solid #eee7dc}
@media(max-width:380px){.sbx .sbr{column-gap:10px;grid-template-columns:minmax(0,1fr) minmax(5.9em,auto) minmax(5.9em,auto)}}
.cq-scope li.cq-sl{display:list-item!important}.cq-slr{display:flex;justify-content:space-between;gap:10px}.cq-slr b{white-space:nowrap}
.cq-ph{list-style:none;border:2px dashed #c9b89f;border-radius:12px;background:#fbf6ee;margin:0 0 8px!important;padding:0!important;counter-increment:none!important}.cq-ph::before{content:none!important}
.cq-ed ol li.drg{box-shadow:0 10px 28px rgba(0,0,0,.22);opacity:.97}
.cq-amt{width:auto!important;min-width:84px}.cq-ed .cq-amt input{width:9.6ch!important;min-width:9.6ch;font-variant-numeric:tabular-nums}
.cv-v{background:#fff;border:2px solid #1a1a1a;color:#1a1a1a;font-weight:800}
.cq-ed .cq-amt input{width:11.5ch!important;min-width:11.5ch!important}
/* t271 */
.sbp{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center!important}.sbp>span{justify-self:start}.sbp>b{margin:0!important;justify-self:center;text-align:center}.sbp>.sbm{justify-self:end;text-align:center}
.cv-bar .cv-t{flex:1;text-align:center;font-size:17px;white-space:nowrap}
.cq-warx{display:flex;align-items:flex-start;gap:8px}.cq-warx span{flex:1}.cq-warx[hidden]{display:none!important}
.cq-wx{flex:none;width:32px;height:32px}
.cq-jp{white-space:nowrap}
.pdfv{position:fixed;inset:0;z-index:100;background:#fff;display:flex;flex-direction:column}
.pdfv-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid #ddd}
.pdfv iframe{flex:1;border:0;width:100%}.pdfv-o{display:block;text-align:center;padding:14px;font-size:18px;font-weight:700}
.cv-bar{align-items:center!important}.cv-bar a.cv-b{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:inherit}
.sbx .sbr>*:first-child{word-break:normal!important;overflow-wrap:normal!important;hyphens:none}
/* t272 */
.fqtop .qlab{margin-top:0}.fqtop .q6{margin-top:14px}
.fqc .nm,.fqc .sz{display:none!important}
.sqtop{white-space:nowrap;font-size:clamp(14px,4.4vw,17px)!important;letter-spacing:0!important}.sqtop .boxc{font-weight:700}
.sqro{background:#faf7f2!important;border-color:#ece6dc!important}
.seeh2{margin:10px 0 8px!important}.seeh2 h3:empty{display:none}
.sbx .sbr{column-gap:0!important}.sbx .sbr>:nth-child(2){padding:0 12px 0 8px;background:#f4f4f2;text-align:right}.sbx .sbr>:nth-child(3){padding:0 8px 0 12px;background:#eef6ef;border-left:2px solid #9aa79c;text-align:right}
.sbx .sbr{padding:0!important}.sbx .sbr>*{padding-top:10px!important;padding-bottom:10px!important}.sbx .sbr .sbn{padding-right:10px}
.osh{zoom:1.1}
body.paper{background:#e9e6e1}body.paper .cv-shot{max-width:720px;margin:14px auto;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.12);border-radius:4px}
@media(max-width:600px){body.paper .cv-shot{margin:8px}}
a.cv-a{display:flex;align-items:center;justify-content:center;text-decoration:none}
#sheetc:has(.osh){padding-top:4px!important}.osh .so{margin-top:0!important;padding-top:8px!important}.osh .sopo{margin-top:0!important}.osh .soh.soh2{padding-top:0!important;padding-bottom:10px!important}.osh .soi{margin-top:10px!important}
.osh .sotb td,.osh .sotb th{padding-top:2px!important;padding-bottom:2px!important}.osh .sotot>div{padding-top:3px!important;padding-bottom:3px!important;min-height:0!important}
.sbx .sbr{grid-template-columns:minmax(4.6em,1fr) auto auto!important}.sbx .sbr .sbn{overflow-wrap:normal;word-break:normal}
@media(max-width:400px){.sbx{padding-left:10px!important;padding-right:10px!important}.sbx .sbr>:nth-child(2){padding:0 8px 0 6px}.sbx .sbr>:nth-child(3){padding:0 6px 0 8px}.sbx .sbr b{font-size:15px}.sbx .sbr.sbt b{font-size:16px}}
/* t274 cols */
.sbx .sbr{grid-template-columns:minmax(4.6rem,1fr) 7.6rem 7.6rem!important}.sbx .sbr>:nth-child(2),.sbx .sbr>:nth-child(3){text-align:right!important;justify-self:stretch;box-sizing:border-box;margin:0!important}
@media(max-width:400px){.sbx .sbr{grid-template-columns:minmax(4.2rem,1fr) 6.7rem 6.7rem!important}}
.cv-hint{margin:0;padding:8px 12px;background:#eef4fb;color:#1d4f8c;font-size:15px;text-align:center;border-bottom:1px solid #d3e2f3;text-wrap:balance}
.sbx .sbh b{white-space:nowrap;overflow:visible}
.cv-hint .nw{white-space:nowrap}

/* d1024: sticky total + Review & Sign on the client link; heading wraps evenly (no orphan word) */
.cq-apq,.cq-aph{text-wrap:balance}
.cq-stk{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e4dccf;box-shadow:0 -4px 14px rgba(0,0,0,.08)}
.cq-stk[hidden]{display:none}
.cq-stt{display:flex;flex-direction:column;line-height:1.15}.cq-stt span{font-size:14px;color:#4a4238}.cq-stt b{font-size:21px;font-weight:800;white-space:nowrap}
.cq-stb{font:inherit;font-size:17px;font-weight:800;min-height:48px;padding:0 22px;border:0;border-radius:999px;background:#1f6b3a;color:#fff;cursor:pointer;white-space:nowrap}
body.stk-on .cq{padding-bottom:84px}
@media (min-width:821px){.cq-stk{justify-content:center;gap:32px}}
@media print{.cq-stk{display:none!important}}
/* t275: Create Client Quote = the PDF page (Helvetica, beige header, gold accents, dark total pill) */
body.pqbody{background:#e9e6e1}
.pqp{padding:14px 0 0}
.pq{position:relative;max-width:816px;margin:0 auto;background:#fff;box-shadow:0 2px 16px rgba(0,0,0,.14);font-family:Helvetica,Arial,sans-serif;color:#2b241e;font-size:15px;line-height:1.35}
@media(max-width:860px){.pq{margin:0 10px}}
.pq-h{display:flex;justify-content:space-between;gap:12px;background:#f4efe6;padding:26px 40px 20px}
.pq-hl{min-width:0;flex:1}.pq-biz{font-size:26px;font-weight:700;line-height:1.15;overflow-wrap:anywhere;text-wrap:balance}.pq-ct{margin-top:6px;font-size:13px;color:#6e6256;overflow-wrap:anywhere}.pq-dot{margin:0 6px}
.pq-hr{text-align:right;font-size:13px;color:#6e6256;flex:none}.pq-q{font-size:30px;font-weight:700;color:#8b6f4e;letter-spacing:.02em;line-height:1;margin-bottom:6px}
.pq-e{outline:none;border-radius:4px;padding:0 2px;margin:0 -2px;cursor:text}.pq-e:focus{background:#fffbe9;box-shadow:0 0 0 2px #e8d9b8}.pq-e:empty:before{content:attr(data-ph);color:#b4a998;font-weight:400}
.pq-b{padding:22px 40px 30px}
.pq-for{margin:0 0 18px}.pq-for small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8b6f4e;font-weight:700}.pq-for b{display:block;font-size:17px}.pq-for span{color:#6e6256;font-size:13px}
.pq-sh{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:6px}.pq-sh span{font-size:17px;font-weight:700;padding-bottom:4px;border-bottom:2px solid #8b6f4e}.pq-sh small{font-size:11px;font-weight:700;color:#8b6f4e;letter-spacing:.06em}
.pq .cq-scope.cq-ed{margin:0;padding:0;border:0;background:none;box-shadow:none}.pq .cq-scope h2{display:none}
.pq .cq-ed ol{counter-reset:pq;list-style:none;margin:0;padding:0}
.pq .cq-ed ol li{counter-increment:pq;position:relative;display:grid!important;grid-template-columns:28px 1fr auto;grid-template-areas:"n t p" "n s p";column-gap:8px;align-items:start;background:none!important;border:0!important;border-bottom:1px solid #e2dace!important;border-radius:0!important;margin:0!important;padding:12px 30px 12px 0!important;box-shadow:none!important}
.pq .cq-ed ol li:before{content:counter(pq) ".";grid-area:n;color:#8b6f4e;font-weight:700;font-size:15px}
.pq .cq-ed ol li .cq-dh{position:absolute;left:-26px;top:10px;color:#cfc6b8;font-size:13px;opacity:.8;touch-action:none;cursor:grab}
.pq .cq-ed .cq-st{grid-area:t;font-size:15px;line-height:1.35;min-height:0;padding:0 2px!important;margin:0 -2px;border:0!important;background:none!important;border-radius:4px;outline:none}
.pq .cq-ed .cq-st[contenteditable]:focus{background:#fffbe9!important;box-shadow:0 0 0 2px #e8d9b8}
.pq .cq-ed li:has(.cq-ip:not(.cq-jp)) .cq-st{font-weight:700}
.pq-sub{grid-area:s;font-size:12px;color:#6e6256}
.pq .cq-ed .cq-ip{grid-area:p;font-size:15px;font-weight:700;white-space:nowrap;text-align:right}
.pq .cq-ed .cq-amt{grid-area:p;display:flex;align-items:baseline;justify-content:flex-end;border:0!important;background:none!important;padding:0!important;min-width:0;width:auto}
.pq .cq-ed .cq-amt span{font-weight:700;font-size:15px;color:#2b241e}
.pq .cq-ed .cq-amt input{width:6.6em!important;min-width:0!important;border:0!important;border-bottom:1px dashed #cdbfa8!important;border-radius:0!important;background:none!important;padding:0 0 0 2px!important;font:700 15px Helvetica,Arial,sans-serif!important;text-align:right;color:#2b241e;height:auto!important;min-height:0!important}
.pq .cq-ed .cq-amt input::placeholder{color:#c9bfb0;font-weight:400}
.pq .cq-x,.pq-x{position:absolute;top:8px;right:0;width:22px!important;height:22px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f1ece4!important;color:#8a7e70!important;font-size:15px!important;line-height:22px!important;display:flex;align-items:center;justify-content:center;cursor:pointer}
.pq .cq-x:hover,.pq-x:hover{background:#e8dfd2!important;color:#2b241e!important}
.pq .cq-ed ol li.drg{background:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.18)!important;border-radius:6px!important;padding-left:8px!important}
.pq .cq-ph{list-style:none;border:1.5px dashed #d8ccb8;border-radius:6px;background:#faf7f2;margin:4px 0}
.pq .cq-add{display:flex;gap:8px;margin:12px 0 0}.pq .cq-add input{flex:1;font:15px Helvetica,Arial,sans-serif;border:1px dashed #d8ccb8;border-radius:6px;padding:8px 10px;background:#fdfbf7}.pq .cq-add button{font:700 14px Helvetica,Arial,sans-serif;border:1px solid #d8ccb8;background:#fff;border-radius:6px;padding:0 14px}
.pq .cq-notes.cq-ed{margin:10px 0 0;padding:0;font-size:13px;color:#6e6256}.pq .cq-notes.cq-ed:not(:has(li:not([hidden]))){display:none}
.pq .cq-rs{display:block;margin:8px 0 0 auto;background:none;border:0;color:#8b6f4e;font:600 13px Helvetica,Arial,sans-serif;text-decoration:underline;cursor:pointer}
.pq-totw{display:flex;justify-content:flex-end;margin:22px -14px 0 0}.pq-tot{display:flex;align-items:center;gap:28px;background:#2b241e;color:#fff;border-radius:8px;padding:10px 16px}.pq-tot span{font-size:13px;font-weight:700}.pq-tot b{font-size:22px;font-weight:700}
.pq-war{position:relative;margin:12px 0 0;padding-right:30px;max-width:420px;font-size:13px;line-height:1.35}.pq-war[hidden]{display:none}.pq-war,.pq-war i{text-wrap:balance}.pq-war .pq-x{top:0}
.pq-acc{display:grid;grid-template-columns:auto 1fr auto .7fr;gap:10px;align-items:end;margin:34px 0 0;font-size:13px;color:#6e6256}.pq-acc i{border-bottom:1px solid #6e6256;height:14px}
.pq-ty{margin:10px 0 0;color:#8b6f4e;font-weight:700;font-size:15px}
.pq-f{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e2dace;margin:0 40px;padding:14px 0 20px;font-size:11px;color:#6e6256}.pq-f>span:first-child{overflow-wrap:anywhere}
.pq-f [data-bm]:empty{display:none}
.pq-under{max-width:816px;margin:0 auto!important}.pq-under .cv-brand{display:none!important}
.pq-tip{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:90;width:min(92vw,380px);box-sizing:border-box;background:#2b241e;color:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:grid;gap:6px;text-align:center;font-family:Helvetica,Arial,sans-serif;transition:opacity .4s,transform .4s}
.pq-tip b{font-size:16px}.pq-tip span{font-size:15px;color:#efe7da}.pq-tip button{justify-self:center;margin-top:4px;background:#c9a774;color:#1d1813;border:0;border-radius:999px;padding:8px 22px;font:700 15px Helvetica,Arial,sans-serif;cursor:pointer}
.pq-tip.out{opacity:0;transform:translate(-50%,-10px)}
@media(max-width:600px){.pq-h{padding:16px 16px 12px;gap:8px}.pq-hr{font-size:11px}.pq-q{font-size:22px}.pq-biz{font-size:19px}.pq-ct{font-size:12px}.pq-b{padding:16px 18px 22px}.pq-f{margin:0 18px;flex-direction:column;gap:4px}.pq-totw{margin-right:-6px}.pq .cq-ed ol li .cq-dh{left:-15px}.pq-acc{grid-template-columns:auto 1fr;row-gap:16px}}
.pq .cq-ed ol li{grid-template-columns:28px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;row-gap:2px!important;min-height:0!important;height:auto!important}
.pq .cq-ed .cq-amt,.pq .cq-ed .cq-ip{margin:0!important;height:auto!important;min-height:0!important;align-self:start!important;grid-row:1!important}
.pq .cq-ed .cq-amt input{margin:0!important;line-height:1.35!important}.pq .cq-ed .cq-amt:has(input:placeholder-shown) span{color:#d2c8b8}
.pq .cq-ed .cq-st{grid-row:1!important;grid-column:2!important}.pq-sub{grid-row:2!important;grid-column:2!important}
.pq .cq-ed ol li>.cq-x,.pq-war>.pq-x{position:absolute!important;top:11px!important;right:0!important;margin:0!important;grid-area:auto!important}
.pq-war>.pq-x{top:0!important}
.pq .cq-ed ol li>.cq-dh{position:absolute!important;left:-16px!important;top:13px!important;margin:0!important;width:auto!important;height:auto!important;padding:0!important}
.pq-ct .pq-e{white-space:nowrap}
/* t276: approved mockup — continuous column tints, faded row dividers, no header divider, thick line above Total, bigger pencil */
.sbx .sbr{border-top:1px solid rgba(60,45,30,.09)!important;row-gap:0!important;margin:0!important}
.sbx .sbr.sbh{border-top:0!important;border-bottom:0!important}.sbx .sbr.sbh+.sbr{border-top:0!important}
.sbx .sbr.sbh>*{padding-bottom:8px!important}
.sbx .sbr>b:last-child{border-left:2px solid #9aa79c!important}
.sbx .sbr.sbt{border-top:2px solid #1a1a1a!important}
.sbx .sbm span{font-size:22px!important;line-height:1;vertical-align:-3px;margin-left:2px}
.sbx .sbr{align-items:stretch!important}.sbx .sbr>*{align-self:stretch!important}
.sbx .sbr:not(.sbh):not(.sbh+.sbr):not(.sbt){border-top:0!important}.sbx .sbr:not(.sbh):not(.sbh+.sbr):not(.sbt)>*{box-shadow:inset 0 1px 0 rgba(60,45,30,.12)}
/* t277: 20% thinner (2px -> 1.6px) Total line and Your Cost|Client divider */
.sbx .sbr.sbt{border-top:1.6px solid #1a1a1a!important}.sbx .sbr>b:last-child{border-left:1.6px solid #9aa79c!important}
/* t278: subtle neutral sq ft band, text 20% smaller; Your Cost / Client columns on page background (only the profit box stays green) */
.sqtop{background:#f8f6f2!important;border:1px solid #ece7df!important;color:#5a4f44!important;font-size:clamp(11.5px,3.5vw,13.6px)!important}
.sbx .sbr>:nth-child(2),.sbx .sbr>:nth-child(3){background:transparent!important}
/* t279: sq ft line = plain text + strong underline; sheet X sits above it in the corner; one-line product names in the side-by-side */
#sheetc:has(.sqtop)>.close{top:6px!important;right:8px!important}
.sqtop{background:none!important;border:0!important;border-radius:0!important;border-bottom:1.6px solid #1a1a1a!important;padding:4px 0 8px!important;margin-top:30px!important}
.sbx .sbr .sbn{font-size:13.6px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sbx .sbr>*{padding-top:7px!important;padding-bottom:7px!important}
@media(max-width:400px){.sbx .sbr{grid-template-columns:minmax(0,1fr) 5.9rem 5.9rem!important}.sbx .sbr>:nth-child(2){padding:0 6px 0 4px}.sbx .sbr>:nth-child(3){padding:0 4px 0 6px}}
@media(max-width:400px){.sbx .sbr{grid-template-columns:minmax(0,1fr) 5.35rem 5.35rem!important}.sbx .sbr b{font-size:14px!important}.sbx .sbr.sbt b{font-size:15px!important}.sbx .sbr>:nth-child(2){padding:0 5px 0 2px}.sbx .sbr>:nth-child(3){padding:0 2px 0 5px}.sbx{padding-left:8px!important;padding-right:8px!important}}
@media(max-width:400px){.sbx .sbr .sbn{padding-right:4px!important}}
/* t279: one shared grid for the whole table (columns sized to the widest amount, always aligned) */
.sbx{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important}
.sbx .sbr{display:contents!important}
.sbx>:not(.sbr){grid-column:1/-1}
.sbx .sbr.sbt>*{box-shadow:inset 0 1.6px 0 #1a1a1a!important}
.sbx .sbr>:nth-child(2){padding-left:10px!important;padding-right:8px!important}.sbx .sbr>:nth-child(3){padding-left:8px!important;padding-right:2px!important}
@media(max-width:400px){.sbx .sbr>:nth-child(2){padding-left:6px!important;padding-right:6px!important}.sbx .sbr>:nth-child(3){padding-left:6px!important;padding-right:0!important}.sbx .sbr b{font-size:13.6px!important}.sbx .sbr.sbt b{font-size:14.6px!important}.sbx{padding-left:6px!important;padding-right:6px!important}}

/* d1025: Questions about this quote? Call / Text the pro (client link only) */
.cq-ask{margin:22px 0 8px;padding:16px;border:1px solid #e4dccf;border-radius:16px;background:#fff;text-align:center}
.cq-askq{font-size:17px;font-weight:800;margin:0 0 4px;color:#2b241e}
.cq-askn{font-size:15px;color:#4a4238;margin:0 0 12px;line-height:1.4}
.cq-askb{display:flex;gap:12px;justify-content:center}
.cq-askl{flex:1 1 0;max-width:180px;display:flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid #2b241e;border-radius:999px;font-size:17px;font-weight:700;color:#2b241e;text-decoration:none;background:#fff}
.cq-askl:active{background:#f3eee6}
@media print{.cq-ask{display:none!important}}

/* h0224: a price range (mixed cart, e.g. $1.59–$9.99/sq ft) fits inside the Material box on phones */
@media(max-width:600px){.sqv.sqro.rng{font-size:15px;padding:0 5px;letter-spacing:-.01em}}@media(max-width:380px){.sqv.sqro.rng{font-size:13.5px}}

/* d1026: Share this quote (client link) - lets the client send the same link to a spouse or partner */
.cq-shr{text-align:center;margin:14px 0 4px}
.cq-shb{background:none;border:0;padding:10px 16px;min-height:44px;font-family:inherit;font-size:16px;font-weight:700;color:#2b241e;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cq-shbs{display:flex;flex-wrap:wrap;justify-content:center;column-gap:4px}.cq-shbs .cq-shb{white-space:nowrap}   /* d1028 */
.cq-shm{margin:0;min-height:18px;font-size:14px;color:#4a4238}
@media print{.cq-shr{display:none!important}}
/* share1: Share Your Catalog With Clients (pro) */
.shr{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px auto 22px;max-width:560px;text-align:center}
.shbtn{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 20px;border:0;border-radius:18px;background:#1f1a15;color:#fff;cursor:pointer;box-shadow:0 6px 18px rgba(31,26,21,.22);font:inherit}
.shbtn b{font-size:clamp(19px,5vw,23px);font-weight:800;text-wrap:balance}.shbtn small{font-size:clamp(15px,4vw,17px);color:#e9dcc6;text-wrap:balance}
.shbtn:hover{background:#2c251e}.shmine{background:none;border:0;color:#8b6f4e;font:700 16px inherit;font-family:inherit;text-decoration:underline;cursor:pointer;padding:6px}
.shx{font-size:17px}.shx .labl{margin-top:18px}
.sh-q{font-size:clamp(22px,6vw,27px);line-height:1.25;margin:26px 0 10px;text-align:center;text-wrap:balance}.sh-l{font-size:17px;color:#5d5348;text-align:center;text-wrap:balance;margin:0 0 18px}
.sh-yn{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sh-yn .btn{font-size:20px}
.sh-st{margin:22px 0 2px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b6f4e}.sh-h{font-size:clamp(22px,6vw,26px);margin:0 0 6px;text-wrap:balance}
.sh-ch button{font-size:18px}.sh-row{margin-top:14px}.sh-row .sqin.on{border-color:#1a1a1a}
.sh-ex{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#f6f3ee;font-size:16px;line-height:1.5}.sh-ex small{display:block;margin-top:4px;color:#6b6257;font-size:14px}
.sh-nav{display:flex;flex-direction:column;gap:10px;margin:22px 0 6px}
.sh-how{display:grid;gap:10px}.sh-how button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:14px 16px;border:2px solid #e3ddd3;border-radius:14px;background:#fff;font:700 19px inherit;font-family:inherit;cursor:pointer;color:inherit}
.sh-how button small{font-size:15px;font-weight:500;color:#6b6257}.sh-how button.on{border-color:#1f1a15;background:#faf7f2;box-shadow:inset 0 0 0 1px #1f1a15}
.sh-al{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sh-ai{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #e3ddd3;border-radius:12px;background:#fff;font-size:15px;font-weight:600;cursor:pointer}
.sh-ai input{width:22px;height:22px;flex:none}.sh-ai img{width:40px;height:40px;object-fit:cover;border-radius:8px;flex:none}
.sh-cc{display:flex;flex-wrap:wrap;gap:8px}.sh-cc button{padding:10px 14px;border:1.5px solid #ddd5c8;border-radius:999px;background:#fff;font:600 16px inherit;font-family:inherit;color:inherit;cursor:pointer}.sh-cc button small{color:#8a7f72;font-weight:500}.sh-cc button.on{background:#1f1a15;color:#fff;border-color:#1f1a15}.sh-cc button.on small{color:#d8ccb8}
.sh-opt{font-weight:500;color:#8a7f72;text-transform:none;letter-spacing:0}
.sh-cnt{margin:16px 0 0;font-size:18px;text-align:center}.sh-in{width:100%;box-sizing:border-box;font-size:18px;padding:12px;border:1px solid #d9d2c7;border-radius:12px;background:#fff}
.sh-sum{margin:18px 0 10px;text-align:center;font-size:17px;color:#5d5348}.sh-pv{margin-bottom:10px}.shx .btn.big{width:100%;margin-top:8px}
.sh-link input{width:100%;box-sizing:border-box;font-size:16px;padding:12px;border:1px solid #d9d2c7;border-radius:12px;background:#faf8f4}
.sh-it{border:1px solid #e3ddd3;border-radius:14px;padding:12px 14px;margin:10px 0;background:#fff}.sh-it.off{opacity:.6}.sh-it>b{display:block;font-size:18px}.sh-it small,.sh-vw{display:block;font-size:15px;color:#6b6257;margin-top:2px}.sh-pk{color:#1f5e33}
.sh-ia{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.sh-ia button,.sh-ia a{padding:8px 12px;border:1px solid #d9d2c7;border-radius:999px;background:#fff;font:600 15px inherit;font-family:inherit;color:inherit;text-decoration:none;cursor:pointer}.sh-ia .sh-del{color:#a33}
.sh-pi{border-top:1px solid #eee7dc;margin-top:10px;padding-top:10px;font-size:16px}.sh-pi p{margin:4px 0;font-style:italic}.sh-pi ul{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px}.sh-pi li a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.sh-pi img{width:44px;height:44px;object-fit:cover;border-radius:8px}.sh-pi li small{display:block;color:#6b6257}
.pk-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 34px 10px 0}.pk-top b{font-size:18px}
.pk-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.pk-tabs button{padding:11px;border:1.5px solid #ddd5c8;border-radius:12px;background:#fff;font:700 16px inherit;font-family:inherit;color:inherit}.pk-tabs button.on{background:#1f1a15;color:#fff;border-color:#1f1a15}
#pkq{width:100%;box-sizing:border-box;font-size:17px;padding:11px 12px;border:1px solid #d9d2c7;border-radius:12px;margin-bottom:8px}
.pk-al{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:6px}.pk-al button{flex:none;padding:8px 12px;border:1px solid #ddd5c8;border-radius:999px;background:#fff;font:600 15px inherit;font-family:inherit;color:inherit;white-space:nowrap}.pk-al button.on{background:#8b6f4e;color:#fff;border-color:#8b6f4e}
.pk-cc{margin-bottom:10px}.pk-cc button{padding:7px 11px;font-size:14px}
.pk-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.pk-c{display:flex;flex-direction:column;gap:2px;font-size:15px}.pk-c b{font-size:15px;line-height:1.2}.pk-c small{color:#6b6257;font-size:13px}
.pk-h{position:relative;padding:0;border:3px solid transparent;border-radius:12px;overflow:hidden;background:#eee;aspect-ratio:1;cursor:pointer}.pk-h img{width:100%;height:100%;object-fit:cover;display:block}
.pk-h i{position:absolute;top:6px;right:6px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.92);color:#bbb;font-style:normal;font-size:20px;line-height:32px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.pk-c.on .pk-h{border-color:#c0392b}.pk-c.on .pk-h i{background:#c0392b;color:#fff}
.pk-tg{align-self:flex-start;background:none;border:0;padding:2px 0;color:#8b6f4e;font:600 13px inherit;font-family:inherit;text-decoration:underline;cursor:pointer;text-align:left}
.pk-nm{display:block;font-weight:700;margin:4px 0}#pkt{width:100%;box-sizing:border-box;font-size:17px;padding:11px;border:1px solid #d9d2c7;border-radius:12px}
.pk-l{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.pk-l li{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid #e3ddd3;border-radius:12px;background:#fff}.pk-l img{width:52px;height:52px;object-fit:cover;border-radius:8px;flex:none}.pk-l span{flex:1;min-width:0}.pk-l b{display:block;font-size:16px}.pk-l small{color:#6b6257;font-size:14px}
.pk-l button{flex:none;width:40px;height:40px;border:1px solid #ddd5c8;border-radius:10px;background:#fff;font-size:15px;cursor:pointer}.pk-l button:disabled{opacity:.3}.pk-l .pk-x{font-size:22px;color:#a33}
.pk-te{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:16px}.pk-tec{background:#fff;border-radius:16px;padding:18px;width:min(380px,100%);font-size:17px;display:grid;gap:4px}.pk-tec>b{font-size:19px}.pk-tr{background:none;border:0;color:#8b6f4e;text-decoration:underline;font:600 15px inherit;font-family:inherit;margin-top:6px}
/* share1: client catalog page */
body.scb{background:#f6f3ee}.sc{font-size:17px;color:#221c16}
.sc-h{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:#1f1a15;color:#fff}
.sc-hb{min-width:0}.sc-biz{display:block;font-size:19px;line-height:1.2;overflow-wrap:anywhere}.sc-ph{font-size:14px;color:#d8ccb8}
.sc-ha{display:flex;gap:6px;flex:none}.sc-btn{padding:9px 13px;border-radius:999px;background:#c9a774;color:#1d1813;font-weight:700;font-size:15px;text-decoration:none}
.sc-m{max-width:1180px;margin:0 auto;padding:18px 14px 110px}.sc-m h1{font-size:clamp(26px,7vw,34px);margin:6px 0 4px;text-wrap:balance}.sc-for{margin:0;color:#6b6257;font-size:17px}.sc-sub{margin:6px 0 14px;font-size:17px;color:#4f463c;text-wrap:balance}
.sc-f{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;position:sticky;top:62px;z-index:10;background:#f6f3ee}.sc-f button{flex:none;padding:10px 15px;border:1.5px solid #ddd5c8;border-radius:999px;background:#fff;font:600 16px inherit;font-family:inherit;color:inherit;cursor:pointer;white-space:nowrap}.sc-f button.on{background:#1f1a15;color:#fff;border-color:#1f1a15}
.sc-g h2{font-size:22px;margin:22px 0 10px}.sc-g[hidden]{display:none}
.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}@media(min-width:800px){.sc-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}}
.sc-c{position:relative;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.08);display:flex;flex-direction:column}.sc-c[hidden]{display:none}
.sc-im{padding:0;border:0;background:#eee;aspect-ratio:1;cursor:zoom-in}.sc-im img{width:100%;height:100%;object-fit:cover;display:block}
.sc-d{padding:10px 12px 12px;display:flex;flex-direction:column;gap:2px}.sc-n{font-size:17px;line-height:1.2}.sc-s{font-size:14px;color:#6b6257}
.sc-p{margin-top:6px;font-size:15px;color:#4f463c}.sc-p b{font-size:20px;color:#221c16}.sc-call{font-weight:700}.sc-bx{font-size:14px;color:#6b6257}.sc-bx small{font-size:13px}
.sc-hrt{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 1px 5px rgba(0,0,0,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.sc-hrt svg{width:24px;height:24px;fill:none;stroke:#7a6f63;stroke-width:1.9}.sc-hrt[aria-pressed=true]{background:#c0392b}.sc-hrt[aria-pressed=true] svg{fill:#fff;stroke:#fff}
.sc-none{text-align:center;font-size:18px;margin:30px 0}.sc-fine{margin:30px 0 0;font-size:14px;color:#7a6f63;text-align:center;text-wrap:balance}
.sc-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 16px rgba(0,0,0,.12);font-size:17px;font-weight:700}
.sc-bar button,.sc-go{border:0;border-radius:999px;background:#c0392b;color:#fff;font:700 17px inherit;font-family:inherit;padding:13px 20px;cursor:pointer}
.sc-sh,.sc-lb{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center}.sc-sh[hidden],.sc-lb[hidden],.sc-bar[hidden]{display:none}
.sc-shc{position:relative;background:#fff;width:min(560px,100%);border-radius:20px 20px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));display:grid;gap:6px;max-height:92vh;overflow:auto}
@media(min-width:700px){.sc-sh{align-items:center}.sc-shc{border-radius:20px}}
.sc-shc h2{font-size:22px;margin:0 36px 2px 0;text-wrap:balance}.sc-shc label{font-weight:700;margin-top:6px}.sc-shc input,.sc-shc textarea{font:17px inherit;font-family:inherit;padding:12px;border:1px solid #d9d2c7;border-radius:12px}.sc-go{margin-top:12px}
.sc-msg{margin:6px 0 0;font-size:16px;color:#a33}.sc-msg.ok{color:#1f5e33;font-weight:700}
.sc-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:50%;background:#f1ece4;font-size:24px;cursor:pointer}
.sc-lb{align-items:center;padding:16px}.sc-lb img{max-width:100%;max-height:88vh;border-radius:10px;background:#fff}
.sc-pvb{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#fff4d6;font-size:16px;border-bottom:1px solid #ecd9a6}.sc-pvx{flex:none;border:0;border-radius:999px;background:#1f1a15;color:#fff;font:700 15px inherit;font-family:inherit;padding:10px 14px;cursor:pointer}
.sc-pv .sc-h{top:58px}.sc-pv .sc-f{top:120px}
.sc-dead{max-width:560px;margin:60px auto;padding:0 18px;text-align:center}.sc-dead h1{font-size:26px;text-wrap:balance}
/* share2: all-in freight note, grouped color chips, big search + facet chips (pro picker and client page), share button under the albums */
.home .shr{margin:28px 0 8px}
.sh-inc{margin:10px 0 14px;padding:12px 14px;border-radius:12px;background:#f3efe7;font-size:15px;line-height:1.45}.sh-bd{font-size:14px;color:#5f564b}
.chips.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sh-ccg{display:block}.sh-cg{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.sh-cgl{flex:0 0 100%;font-size:14px;font-weight:700;color:#6f665b;text-transform:uppercase;letter-spacing:.04em}
.pk-sr input,.sc-srch input{width:100%;box-sizing:border-box;min-height:54px;padding:12px 16px;font:500 18px inherit;font-family:inherit;border:2px solid #cfc5b6;border-radius:14px;background:#fff}
.pk-sr input:focus,.sc-srch input:focus{outline:none;border-color:#1f1a15}
.pk-fb,.sc-fb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 12px;font-size:16px;font-weight:600}
.pk-clr,.sc-clr{margin-left:auto;padding:9px 14px;border:1.5px solid #1f1a15;border-radius:999px;background:#fff;font:700 15px inherit;font-family:inherit;cursor:pointer}
.sc-srch{position:sticky;top:62px;z-index:10;background:#f6f3ee;padding:6px 0 10px;display:flex;align-items:center}.sc-srch button{position:absolute;right:8px;width:44px;height:44px;border:0;background:none;font-size:28px;cursor:pointer;color:#6f665b}
.sc-pv .sc-srch{top:120px}
.sc-fs .sc-f{position:static;flex-wrap:wrap;overflow:visible;padding:0 0 10px;background:none;align-items:center}.sc-fl{flex:0 0 100%;font-size:14px;font-weight:700;color:#6f665b;text-transform:uppercase;letter-spacing:.04em}
.sc-f button[aria-pressed=true]{background:#1f1a15;color:#fff;border-color:#1f1a15}
.sc-fav{padding:10px 15px;border:1.5px solid #c0392b;border-radius:999px;background:#fff;color:#c0392b;font:700 16px inherit;font-family:inherit;cursor:pointer}.sc-fav.on{background:#c0392b;color:#fff}
.sc-cnt{color:#5f564b}
.pk-teg{margin:10px 0 4px;font-weight:700;font-size:14px;text-transform:uppercase;color:#6f665b}.pk-tew{display:flex;flex-wrap:wrap;gap:4px 14px}
.pk-tec{max-height:86vh;overflow:auto}
.sc-fs .sc-ft{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -14px 4px;padding:0 14px 10px}.sc-fs .sc-ft::-webkit-scrollbar{display:none}@media(min-width:760px){.sc-fs .sc-ft{flex-wrap:wrap;margin:0;padding:0 0 10px}}
.sc-srch input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.sc-srch input{padding-right:52px}
/* share3: HD / Floor & Decor style client filters: sticky search + Filters (n) + Sort, drawer with round swatches and live counts, applied chips; favorites estimate */
.sc-tb{position:sticky;top:62px;z-index:20;background:#f6f3ee;padding:6px 0 8px;margin:0 0 6px}.sc-pv .sc-tb{top:120px}
.sc-tb .sc-srch{position:relative;top:auto;padding:0 0 8px}
.sc-tr{display:flex;gap:8px;align-items:stretch}
.sc-fbtn{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:2px solid #1f1a15;border-radius:12px;background:#fff;font:700 17px inherit;font-family:inherit;color:#1f1a15;cursor:pointer}.sc-fbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.sc-fbtn.on{background:#1f1a15;color:#fff}
.sc-sort{flex:1;min-width:0;display:flex;align-items:center;border:2px solid #cfc5b6;border-radius:12px;background:#fff;padding:0 4px 0 12px}.sc-sort span{font-size:14px;font-weight:700;color:#6f665b;margin-right:4px}.sc-sort select{flex:1;min-width:0;border:0;background:none;font:600 16px inherit;font-family:inherit;min-height:44px;color:#1f1a15}
.sc-tr .sc-fav{padding:0 14px;border-radius:12px;min-height:48px;white-space:nowrap}
@media(max-width:420px){.sc-tr .sc-fav span{display:none}.sc-fbtn{padding:0 12px}}
.sc-ap{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-top:8px}.sc-ap::-webkit-scrollbar{display:none}
.sc-apc{flex:none;padding:8px 12px;border:0;border-radius:999px;background:#1f1a15;color:#fff;font:600 15px inherit;font-family:inherit;cursor:pointer}.sc-apc b{margin-left:4px;font-size:18px;line-height:1}
.sc-apx{flex:none;padding:8px 12px;border:0;background:none;font:700 15px inherit;font-family:inherit;text-decoration:underline;cursor:pointer;color:#1f1a15}
.sc-fd{position:fixed;inset:0;z-index:60;background:rgba(20,16,12,.45);opacity:0;pointer-events:none;transition:opacity .2s}.sc-fd.on{opacity:1;pointer-events:auto}
.sc-fdc{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:#fff;border-radius:20px 20px 0 0;padding:16px 16px 0;transform:translateY(100%);transition:transform .25s}.sc-fd.on .sc-fdc{transform:none}
.sc-fdt{display:flex;align-items:center;justify-content:space-between}.sc-fdt h2{margin:0;font-size:24px}.sc-fdt .sc-x{position:static}
.sc-fg{border:0;margin:0;padding:12px 0;border-bottom:1px solid #eee7dc}.sc-fg legend{font-size:18px;font-weight:700;padding:0 0 10px}
.sc-sws{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px}
.sc-sw{display:flex;flex-direction:column;align-items:center;gap:4px;border:0;background:none;padding:4px 0;font:600 14px inherit;font-family:inherit;color:#1f1a15;cursor:pointer;text-align:center}
.sc-sw i{width:48px;height:48px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18);transition:transform .15s}.sc-sw small{color:#8a7f72;font-weight:500;font-size:13px}
.sc-sw.on i{box-shadow:0 0 0 3px #fff,0 0 0 5px #1f1a15;transform:scale(1.06)}.sc-sw.on span{font-weight:800}.sc-sw:disabled{opacity:.35;cursor:default}
.sc-tys{display:flex;flex-direction:column;gap:8px}.sc-ty{display:flex;justify-content:space-between;align-items:center;min-height:50px;padding:0 14px;border:1.5px solid #ddd5c8;border-radius:12px;background:#fff;font:600 17px inherit;font-family:inherit;color:#1f1a15;cursor:pointer;text-align:left}.sc-ty small{color:#8a7f72}.sc-ty.on{border-color:#1f1a15;background:#1f1a15;color:#fff}.sc-ty.on small{color:#d8ccb8}.sc-ty:disabled{opacity:.4}
.sc-fdb{position:sticky;bottom:0;display:flex;gap:10px;background:#fff;padding:12px 0 16px;margin-top:6px}.sc-fdb .sc-clr{margin:0;flex:1;min-height:54px;font-size:17px;border-radius:12px}.sc-show{flex:2;min-height:54px;border:0;border-radius:12px;background:#1f1a15;color:#fff;font:700 18px inherit;font-family:inherit;cursor:pointer}
@media(min-width:900px){.sc-fd{position:static;background:none;opacity:1;pointer-events:auto;display:none}.sc-fd.open{display:block}.sc-fdc{position:static;transform:none;max-height:none;border-radius:16px;border:1.5px solid #e6dfd3;padding:8px 18px 0;margin:0 0 10px;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:0 28px}.sc-fdt{display:none}.sc-fg{border:0}.sc-fg:nth-of-type(2){grid-column:3;grid-row:1/span 2}.sc-fdb{grid-column:1/-1;position:static;justify-content:flex-end}.sc-fdb .sc-clr{flex:none;padding:0 20px}.sc-show{display:none}.sc-sws{grid-template-columns:repeat(4,minmax(64px,1fr))}}
.sc-cnt{margin:4px 0 8px;font-size:16px;font-weight:600;color:#5f564b}
.sc-hrt.pop svg{animation:scpop .35s}@keyframes scpop{40%{transform:scale(1.35)}}
.sc-bt{display:flex;flex-direction:column;line-height:1.2}.sc-bt small{font-size:13px;color:#5f564b;font-weight:600}
.sc-est h3{margin:14px 0 2px;font-size:20px}.sc-eh{margin:4px 0;font-size:15px;color:#5f564b}
.sc-er{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 0;border-bottom:1px solid #eee7dc;align-items:center}.sc-en b{display:block;font-size:16px}.sc-en small,.sc-el small{color:#6f665b;font-size:14px}
.sc-eq{display:flex;align-items:center;gap:6px;grid-row:span 2}.sc-eq input{width:84px;min-height:46px;padding:0 10px;border:2px solid #cfc5b6;border-radius:10px;font:600 18px inherit;font-family:inherit;text-align:right;margin:0}.sc-eq span{font-size:14px;color:#6f665b}
.sc-el b{font-size:16px;margin-right:6px}
.sc-et{margin:10px 0 4px;font-size:17px}.sc-et>div{display:flex;justify-content:space-between;padding:6px 0}.sc-et small{display:block;font-size:13px;color:#6f665b}.sc-eg{border-top:2px solid #1f1a15;font-size:20px;font-weight:800;margin-top:4px}
.sc-ebig{margin:10px 0;padding:12px 14px;border-radius:12px;background:#eaf4e6;color:#24401f;font-weight:700;font-size:16px}
.sw{display:inline-block;width:18px;height:18px;border-radius:50%;margin-right:7px;vertical-align:-3px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.sw-beige{background:#dcc7a1}.sw-gray{background:#9b9a97}.sw-white{background:#fff}.sw-black{background:#1e1d1b}.sw-brown{background:#7b5435}.sw-blue{background:#4c79ad}.sw-green{background:#5d8c59}.sw-multi{background:conic-gradient(#c9a477,#7b5435,#9b9a97,#4c79ad,#5d8c59,#dcc7a1,#c9a477)}.sw-warm{background:linear-gradient(135deg,#f2c58b,#c97b3f)}.sw-cool{background:linear-gradient(135deg,#d7e3ee,#7f97ad)}.sw-neutral{background:linear-gradient(135deg,#ece6dc,#b3aa9c)}.sw-light{background:#f7f3ea}.sw-dark{background:#2f2b27}
.sh-cc button.on .sw{box-shadow:0 0 0 2px #fff}
.sc-ap[hidden]{display:none}@media(max-width:480px){.sc-sort span{display:none}.sc-sort{padding-left:8px}}
/* share4 (t243u): calm, premium filter + card polish (MSI / Home Depot / Wayfair / Baymard patterns). One ink color, warm paper, hairlines, soft shadows. */
.scb{--ink:#1f1a15;--mute:#6b6257;--line:#e7e0d5;--paper:#f7f4ef;--card:#fff;--ease:cubic-bezier(.22,.8,.24,1);background:var(--paper)}
.scb .sc-tb{background:linear-gradient(var(--paper) 86%,rgba(247,244,239,0));padding:8px 0 10px}
.scb .sc-srch input{border:1px solid #d9d0c2;border-radius:14px;box-shadow:0 1px 2px rgba(31,26,21,.05),inset 0 1px 0 #fff;padding-left:48px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6257' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 16px 50%/22px no-repeat;transition:border-color .2s,box-shadow .2s}
.scb .sc-srch input:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(31,26,21,.08)}
.scb .sc-fbtn{border:1px solid #d9d0c2;border-radius:12px;box-shadow:0 1px 2px rgba(31,26,21,.05);font-weight:700;transition:background .2s,border-color .2s}.scb .sc-fbtn.on{background:#fff;color:var(--ink);border-color:var(--ink)}
.scb .sc-fbtn #scfn:not(:empty){display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--ink);color:#fff;font-size:14px;margin-left:2px}
.scb .sc-sort{border:1px solid #d9d0c2;box-shadow:0 1px 2px rgba(31,26,21,.05)}.scb .sc-tr .sc-fav{border:1px solid #e3c2bd;box-shadow:0 1px 2px rgba(31,26,21,.05);font-weight:700}
.scb .sc-ap{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:24px}
.scb .sc-apc{background:#fff;color:var(--ink);border:1px solid var(--ink);font-weight:600;padding:8px 10px 8px 14px;transition:background .15s}.scb .sc-apc b{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#efe9df;font-size:15px;margin-left:6px}.scb .sc-apc:hover{background:#f3eee6}
/* drawer */
.scb .sc-fd{background:rgba(20,16,12,.38);backdrop-filter:blur(2px);transition:opacity .28s var(--ease)}
.scb .sc-fdc{border-radius:22px 22px 0 0;box-shadow:0 -10px 40px rgba(20,16,12,.18);padding:10px 20px 0;transition:transform .34s var(--ease)}
.scb .sc-fdc::before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:#d9d0c2;margin:0 auto 10px}
.scb .sc-fdt{padding-bottom:6px;border-bottom:1px solid var(--line)}.scb .sc-fdt h2{font-size:24px;letter-spacing:.01em}
.scb .sc-fg{padding:0;border-bottom:1px solid var(--line)}.scb .sc-fg legend{padding:0;width:100%;float:left}.scb .sc-fgb{clear:both;padding:2px 0 16px}
.sc-fgh{display:flex;align-items:center;gap:10px;width:100%;min-height:58px;border:0;background:none;padding:0;font:700 18px inherit;font-family:inherit;color:var(--ink);cursor:pointer;text-align:left}
.sc-fgh em{font-style:normal;font-weight:600;font-size:14px;color:var(--mute)}.sc-fgh i{margin-left:auto;width:10px;height:10px;border-right:2px solid var(--mute);border-bottom:2px solid var(--mute);transform:rotate(-135deg) translate(-2px,-2px);transition:transform .25s var(--ease)}
.sc-fg.shut .sc-fgh i{transform:rotate(45deg)}.sc-fg.shut .sc-fgb{display:none}
.sc-fgc{margin-top:10px;border:0;background:none;padding:6px 0;font:600 15px inherit;font-family:inherit;color:var(--ink);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.scb .sc-sws{gap:14px 6px}.scb .sc-sw{gap:6px;font-weight:600;font-size:15px;line-height:1.2;transition:opacity .2s}.scb .sc-sw span{color:var(--ink)}.scb .sc-sw small{font-size:13px;color:var(--mute)}
.scb .sc-sw i{position:relative;width:46px;height:46px;box-shadow:inset 0 0 0 1px rgba(31,26,21,.16),0 1px 3px rgba(31,26,21,.12);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.scb .sc-sw:hover i{transform:translateY(-1px)}
.scb .sc-sw.on i{transform:none;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink),0 2px 6px rgba(31,26,21,.18)}
.scb .sc-sw.on i::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:16px;margin:-10px 0 0 -5px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg);filter:drop-shadow(0 0 1px rgba(0,0,0,.6))}
.scb .sc-sw[data-c=white].on i::after,.scb .sc-sw[data-c=light].on i::after,.scb .sc-sw[data-c=beige].on i::after,.scb .sc-sw[data-c=neutral].on i::after,.scb .sc-sw[data-c=cool].on i::after{border-color:var(--ink);filter:none}
.scb .sc-sw.on span{font-weight:700}.scb .sc-sw:disabled{opacity:.3}
.scb .sc-ty{border:1px solid var(--line);border-radius:12px;min-height:52px;font-weight:600;transition:border-color .15s,background .15s}.scb .sc-ty small{font-size:14px}
.scb .sc-ty.on{background:#fff;color:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.scb .sc-ty.on small{color:var(--mute)}.scb .sc-ty.on span::before{content:"✓ ";font-weight:800}
.scb .sc-fdb{border-top:1px solid var(--line);box-shadow:0 -6px 16px rgba(255,255,255,.9);padding:14px 0 calc(16px + env(safe-area-inset-bottom))}
.scb .sc-fdb .sc-clr{border:1px solid #cfc5b6;background:#fff;font-weight:700}.scb .sc-show{border-radius:12px;letter-spacing:.01em;box-shadow:0 2px 8px rgba(31,26,21,.22)}
@media(min-width:900px){.scb .sc-fdc{border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 3px rgba(31,26,21,.05);padding:6px 24px 0}.scb .sc-fdc::before{display:none}.scb .sc-fg{border-bottom:0}.scb .sc-fdb{border-top:1px solid var(--line);box-shadow:none}}
/* cards */
.scb .sc-grid{gap:14px}@media(min-width:800px){.scb .sc-grid{gap:22px}}
.scb .sc-c{border-radius:14px;border:1px solid #ece6dc;box-shadow:0 1px 2px rgba(31,26,21,.04);transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
@media(hover:hover){.scb .sc-c:hover{box-shadow:0 10px 28px rgba(31,26,21,.10);transform:translateY(-2px)}}
.scb .sc-im{background:#efebe4}.scb .sc-d{padding:12px 14px 14px;gap:3px}.scb .sc-n{font-size:17px;font-weight:700;letter-spacing:.005em;color:var(--ink)}.scb .sc-s{font-size:14px;color:var(--mute)}
.scb .sc-p{margin-top:8px;color:var(--mute)}.scb .sc-p b{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.scb .sc-hrt{width:42px;height:42px;background:rgba(255,255,255,.96);box-shadow:0 1px 3px rgba(0,0,0,.16);transition:transform .15s}
.scb .sc-g h2{font-size:24px;margin:30px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.scb .sc-cnt{font-size:15px;color:var(--mute)}
.scb .sc-bar{box-shadow:0 -1px 0 var(--line),0 -8px 24px rgba(31,26,21,.08)}
/* share4: pro picker polish to match the client page */
.pk-sr input{border:1px solid #d9d0c2;border-radius:14px;box-shadow:0 1px 2px rgba(31,26,21,.05);padding-left:48px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6257' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") 16px 50%/22px no-repeat}
.pk-sr input:focus{border-color:#1f1a15;box-shadow:0 0 0 4px rgba(31,26,21,.08)}
.sh-cc .sh-cg button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px 8px 10px;border:1px solid #ddd5c8;box-shadow:0 1px 2px rgba(31,26,21,.04);font-weight:600;transition:border-color .15s,box-shadow .15s}
.sh-cc .sh-cg button .sw{width:22px;height:22px;margin-right:8px;box-shadow:inset 0 0 0 1px rgba(31,26,21,.16),0 1px 2px rgba(31,26,21,.12)}
.sh-cc .sh-cg button.on{background:#fff;color:#1f1a15;border-color:#1f1a15;box-shadow:inset 0 0 0 1px #1f1a15}.sh-cc .sh-cg button.on small{color:#6b6257}
.sh-cc .sh-cg button.on .sw{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #1f1a15}
.sh-cgl{font-size:13px;letter-spacing:.06em;color:#6b6257;margin-top:4px}
.pk-al button{border:1px solid #ddd5c8;box-shadow:0 1px 2px rgba(31,26,21,.04)}
.pk-c .pk-h{border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(31,26,21,.06);transition:box-shadow .2s}.pk-c b{font-size:16px;font-weight:700;margin-top:4px}
.pk-fb{border-top:1px solid #e7e0d5;padding-top:10px}
@media(min-width:900px){.scb .sc-fd{background:none;backdrop-filter:none}}
#pka .pk-sr input#pkq{padding-left:50px}
.pk-sr input,.sc-srch input{-webkit-appearance:none;appearance:none}

/* d1027: 10% extra for cuts toggle on the favorites estimate; box count on its own line (no orphaned "sq ft)") */
.sc-el small{display:block;white-space:nowrap;margin-top:1px}
.sc-ex{display:flex;align-items:flex-start;gap:12px;margin:10px 0 4px;text-transform:none;letter-spacing:normal;padding:12px 14px;border:1px solid #e4dccf;border-radius:12px;background:#faf7f2;cursor:pointer;font-size:16px;font-weight:700;color:#1f1a15;line-height:1.3}
.sc-ex input{flex:none;width:22px;height:22px;margin:0;accent-color:#1f1a15;cursor:pointer}
.sc-ex small{display:block;font-weight:400;font-size:14px;color:#6f665b;margin-top:2px}
/* share5 (t244u): designer-grade client catalog (Material Bank boards, Clé/Fireclay imagery, Houzz/Pinterest boards). Serif display + clean sans, big text kept. */
.scb .sc-m h1{font-family:Nunito,system-ui,sans-serif;font-weight:500;font-size:clamp(34px,8.5vw,56px);line-height:1.02;letter-spacing:-.005em;margin:18px 0 8px}
.scb .sc-for{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#8a7f72;font-weight:600;margin-top:2px}
.scb .sc-sub{font-size:18px;line-height:1.5;color:#4f463c;max-width:40em;margin:10px 0 22px}
.scb .sc-g h2{font-family:Nunito,system-ui,sans-serif;font-weight:500;font-size:clamp(28px,6vw,36px);letter-spacing:0;margin:40px 0 16px}
.sc-cr{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sc-vw{display:inline-flex;border:1px solid #d9d0c2;border-radius:10px;overflow:hidden;background:#fff}.sc-vw button{min-height:40px;padding:0 14px;border:0;background:none;font:600 15px inherit;font-family:inherit;color:#6b6257;cursor:pointer}.sc-vw button[aria-pressed=true]{background:#1f1a15;color:#fff}
/* cards: edge-to-edge photo, quiet type */
.scb .sc-c{border:0;border-radius:4px;background:transparent;box-shadow:none;overflow:visible}
.scb .sc-im{border-radius:4px;overflow:hidden;aspect-ratio:4/5;background:#ebe6de}.scb .sc-im img{transition:transform .6s var(--ease)}
@media(hover:hover){.scb .sc-c:hover{transform:none;box-shadow:none}.scb .sc-c:hover .sc-im img{transform:scale(1.04)}}
.scb .sc-d{padding:12px 2px 8px}.scb .sc-n{font-size:18px;font-weight:600}.scb .sc-p{margin-top:6px}.scb .sc-p b{font-size:20px;font-weight:700}
.scb .sc-hrt{top:10px;right:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
.scb .sc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
@media(min-width:700px){.scb .sc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px}}@media(min-width:1100px){.scb .sc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.scb .sc-lg .sc-grid{grid-template-columns:1fr;gap:34px}.scb .sc-lg .sc-im{aspect-ratio:1}@media(min-width:700px){.scb .sc-lg .sc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.scb .sc-lg .sc-n{font-size:21px}
/* full-screen photo viewer */
.scb .sc-lb{background:#0f0d0b;padding:0;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto;align-items:center;animation:scfade .25s var(--ease)}
@keyframes scfade{from{opacity:0}}
.sc-lbt{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#cfc6b9;font-size:15px;font-weight:600}
.scb .sc-lbx{position:static;background:rgba(255,255,255,.12);color:#fff;width:46px;height:46px}
.sc-lbf{grid-column:2;margin:0;height:100%;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}
.scb .sc-lb img{max-width:100%;max-height:calc(100vh - 190px);border-radius:2px;background:none;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.sc-lbp,.sc-lbn{width:52px;height:52px;margin:0 6px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:34px;line-height:1;cursor:pointer}.sc-lbp[hidden],.sc-lbn[hidden]{visibility:hidden;display:block}
@media(max-width:600px){.sc-lbp,.sc-lbn{position:absolute;top:50%;z-index:2}.sc-lbp{left:4px}.sc-lbn{right:4px}.sc-lbf{grid-column:1/-1;padding:0 8px}}
.sc-lbc{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px calc(16px + env(safe-area-inset-bottom));color:#fff}.sc-lbc>div{flex:1;min-width:160px}.sc-lbc b{display:block;font-family:Nunito,system-ui,sans-serif;font-weight:500;font-size:28px;line-height:1.1}.sc-lbc span{color:#cfc6b9;font-size:15px}
.sc-lbpr{font-size:19px!important;font-weight:700;color:#fff!important}
.sc-lbh{min-height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:none;color:#fff;font:700 16px inherit;font-family:inherit;cursor:pointer}.sc-lbh[aria-pressed=true]{background:#fff;color:#b3332a;border-color:#fff}
/* bar */
.scb .sc-bar{gap:8px}.sc-brd{min-height:52px;padding:0 16px;border:1px solid #1f1a15;border-radius:999px;background:#fff;font:700 16px inherit;font-family:inherit;color:#1f1a15;cursor:pointer;white-space:nowrap}
@media(max-width:420px){.scb .sc-bar .sc-bt small{display:none}.scb .sc-bar #scsend{padding:0 14px;font-size:15px;min-height:52px}.sc-brd{padding:0 12px;font-size:15px}}
/* board + compare */
.sc-bd{position:fixed;inset:0;z-index:55;background:#f7f4ef;overflow:auto;animation:scfade .25s var(--ease)}.sc-bd[hidden]{display:none}
.sc-bdc{max-width:1180px;margin:0 auto;padding:16px 16px 110px}
.sc-bdt{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0 14px}.sc-bdt .sc-x{position:static}
.sc-kick{margin:0;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:#8a7f72;font-weight:700}.sc-bdt h2{margin:2px 0 0;font-family:Nunito,system-ui,sans-serif;font-weight:500;font-size:clamp(34px,8vw,48px)}
.sc-seg{display:inline-flex;border:1px solid #d9d0c2;border-radius:12px;background:#fff;padding:3px;margin-bottom:12px}.sc-seg button{min-height:46px;padding:0 18px;border:0;border-radius:9px;background:none;font:700 16px inherit;font-family:inherit;color:#6b6257;cursor:pointer}.sc-seg button[aria-selected=true]{background:#1f1a15;color:#fff}
.sc-bdh,.sc-bde{font-size:16px;color:#5f564b}
.sc-mood{columns:2;column-gap:12px}@media(min-width:700px){.sc-mood{columns:3;column-gap:18px}}@media(min-width:1100px){.sc-mood{columns:4}}
.sc-mt{break-inside:avoid;margin:0 0 14px;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 2px rgba(31,26,21,.06);transition:box-shadow .2s}
.sc-mt:nth-child(3n+1) img{aspect-ratio:3/4}.sc-mt:nth-child(3n+2) img{aspect-ratio:1}.sc-mt:nth-child(3n) img{aspect-ratio:4/5}
.sc-mt img{display:block;width:100%;object-fit:cover}.sc-mt.on{box-shadow:0 0 0 3px #1f1a15}
.sc-mt figcaption{padding:10px 12px 4px}.sc-mt figcaption b{display:block;font-size:17px}.sc-mt figcaption span{font-size:15px;color:#6b6257}
.sc-mta{display:flex;gap:6px;padding:6px 10px 12px;flex-wrap:wrap}.sc-mta button{min-height:40px;padding:0 12px;border:1px solid #d9d0c2;border-radius:999px;background:#fff;font:600 14px inherit;font-family:inherit;cursor:pointer;color:#1f1a15}.sc-mta [aria-pressed=true]{background:#1f1a15;color:#fff;border-color:#1f1a15}.sc-mta [data-rm]{border:0;text-decoration:underline;color:#6b6257}
.sc-cg{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:12px}.sc-cc img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;display:block}.sc-cc b{display:block;margin-top:8px;font-size:17px}.sc-cc span{font-size:14px;color:#6b6257}
.sc-cd{margin:18px 0 0}.sc-cdr{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px 12px;padding:12px 0;border-top:1px solid #e7e0d5}.sc-cdr dt{grid-column:1/-1;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#8a7f72;font-weight:700}.sc-cdr dd{margin:0;font-size:17px;font-weight:600}
.sc-bdb{position:fixed;left:0;right:0;bottom:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(247,244,239,.96);border-top:1px solid #e7e0d5;display:flex;justify-content:center}.sc-bdb .sc-go{max-width:520px;width:100%;margin:0}
.scb .sc-lb[hidden]{display:none}
.scb .sc-hrt[aria-pressed=true]{background:#c0392b}
.scb .sc-bar .sc-brd{background:#fff;color:#1f1a15;border:1px solid #1f1a15;box-shadow:none}
@media(max-width:420px){.scb .sc-bar .sc-bt{display:none}.scb .sc-bar{justify-content:center}.scb .sc-bar button{flex:1}}
/* share6 (t245u): client album flow, album tiles like the pro home page */
.scb .sc-tiles .sc-cr,.scb .sc-tiles .sc-g,.scb .sc-tiles #scsorted,.scb .sc-tiles #scn{display:none!important}
.scb #scal{margin:6px 0 10px}.scb .sc-alh{font:500 30px/1.15 Nunito,system-ui,sans-serif;margin:4px 0 14px}
.scb .sc-alv .albums{padding-bottom:8px}
.scb .alb span{left:12px;right:12px;bottom:10px}
.scb .alb span .l1{white-space:normal;font-size:17px;line-height:1.2;text-wrap:balance;overflow-wrap:normal}
.scb .alb span .l2{white-space:normal;font-size:13px;line-height:1.3;margin-top:3px;text-wrap:balance}
@media(min-width:700px){.scb .alb span .l1{font-size:20px}.scb .alb span .l2{font-size:14px}}
@media(min-width:1100px){.scb .alb span .l1{font-size:22px}}
.scb .sc-crumb{margin:6px 0 4px}.scb .sc-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin:8px 0 0;padding:0;font-size:16px;color:#6b6257}
.scb .sc-crumb li+li::before{content:"/";margin-right:8px;color:#b9ae9f}.scb .sc-crumb li button{background:none;border:0;padding:4px 0;font:inherit;color:#8b6f4e;text-decoration:underline;cursor:pointer}
.scb .sc-crumb li[aria-current]{color:#1f1a15;font-weight:600}
.scb .sc-bk{min-height:48px;padding:10px 18px;border:1.5px solid #1f1a15;border-radius:999px;background:#fff;color:#1f1a15;font:700 17px inherit;font-family:inherit;cursor:pointer;max-width:100%;text-align:left}
.scb .sc-pt{font:500 32px/1.15 Nunito,system-ui,sans-serif;margin:10px 0 6px;text-wrap:balance}
/* share6: Select Albums boxes (no bleed) + picker album tiles */
.sh-al{grid-template-columns:1fr}
@media(min-width:600px){.sh-al{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sh-ai{min-width:0;padding:10px 12px;gap:12px;text-transform:none;letter-spacing:0}
.sh-ai img{width:52px;height:52px}
.sh-ai span{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px;font-size:17px;line-height:1.25;text-transform:none;letter-spacing:0;text-wrap:balance;overflow-wrap:break-word}
.sh-ai span b{font-weight:700}.sh-ai span small{font-weight:500;font-size:14px;color:#6b6257}
.pk-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:4px 0 12px}
.pk-bk{min-height:48px;padding:10px 18px;border:1.5px solid #1f1a15;border-radius:999px;background:#fff;color:#1f1a15;font:700 17px inherit;font-family:inherit;cursor:pointer;max-width:100%;text-align:left}
.pk-ttl{margin:0;font:600 26px/1.2 Nunito,system-ui,sans-serif;text-wrap:balance}
.pk-als{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media(min-width:700px){.pk-als{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.pk-alb{border:0;padding:0;cursor:pointer;width:100%;font:inherit;text-align:left;aspect-ratio:1/0.9!important}
.pk-alb span .l1{white-space:normal!important;font-size:16px!important;line-height:1.2;text-wrap:balance}
.pk-alb span .l2{white-space:normal!important;font-size:13px!important;margin-top:3px}
.pk-bdg{position:absolute;top:8px;right:8px;z-index:2;background:#c0392b;color:#fff;font:700 14px/1 inherit;font-family:inherit;font-style:normal;padding:7px 10px;border-radius:999px}
.pk-all{padding:9px 14px;border:1.5px solid #c0392b;color:#c0392b;border-radius:999px;background:#fff;font:700 15px inherit;font-family:inherit;cursor:pointer}
.pk .pk-nav h3.pk-ttl{font:600 28px/1.2 Nunito,system-ui,sans-serif;text-transform:none;letter-spacing:0;color:#1f1a15}
/* share7 (t246u): album price pill (Floor & Decor "Starting at $1.19/sqft" style), solid sticky client toolbar */
.alb .arow{display:flex;flex-wrap:wrap;align-items:flex-end;gap:5px 8px;font-style:normal;margin-top:2px}
.alb .arow .l2{flex:1 1 auto;min-width:0}
.apill{flex:none;margin-left:auto;display:inline-flex;align-items:baseline;gap:2px;padding:5px 10px;border-radius:999px;background:#fff;color:#1f1a15;font:800 15px/1.1 Nunito,system-ui,sans-serif;font-style:normal;letter-spacing:0;text-shadow:none;white-space:nowrap;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.apill small{font-size:12px;font-weight:700;color:#5d554b;letter-spacing:0;opacity:1;display:inline}
@media(min-width:700px){.apill{font-size:16px;padding:6px 12px}.apill small{font-size:13px}}
@media(min-width:1100px){.apill{font-size:18px}.apill small{font-size:14px}}
.sh-ai .apill{margin-left:auto;background:#1f1a15;color:#fff;box-shadow:none;font-size:15px}.sh-ai .apill small{color:#e9e2d6}
@media(max-width:420px){.sh-ai{flex-wrap:wrap}.sh-ai span{flex:1 1 0}.sh-ai .apill{margin-left:calc(22px + 52px + 24px)}}
.scb .sc-tb{background:var(--paper,#f7f4ef);box-shadow:0 6px 10px -8px rgba(31,26,21,.25);z-index:30;padding:8px 0 10px;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
.scb .sc-h{z-index:31}
.scb .sc-tr>*{box-sizing:border-box;height:52px;min-height:52px}
.scb .sc-tr .sc-fbtn,.scb .sc-tr .sc-fav{border-width:1px;padding-top:0;padding-bottom:0}
.scb .sc-sort select{height:100%}
.sh-ai span .apill{margin:4px 0 0;align-self:flex-start;font-size:15px}
@media(max-width:420px){.sh-ai{flex-wrap:nowrap}.sh-ai span .apill{margin-left:0}}
.sh-ai span .apill{white-space:normal;flex-wrap:wrap;max-width:100%;font-size:14px;padding:4px 9px}
.sh-ai span .apill{display:block;background:none;color:#1f1a15;padding:0;box-shadow:none;border-radius:0;font-size:16px;font-weight:800;white-space:normal;margin-top:2px}.sh-ai span .apill small{color:#6b6257;font-size:14px;font-weight:600}
/* share8 (t247u): price as clean text on the color-count line. No pill, no box; title stays where it was before share7. */
.alb .arow{display:flex;flex-wrap:nowrap;align-items:baseline;gap:8px;margin-top:0;font-style:normal;line-height:inherit}
.alb .arow .l2{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.alb .apill{flex:none;margin-left:auto;display:inline;padding:0;border-radius:0;background:none;box-shadow:none;color:#fff;font-family:inherit;font-weight:700;font-size:inherit;line-height:inherit;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,.45);white-space:nowrap}
.alb .apill small{display:inline;font-size:inherit;font-weight:500;color:#fff;opacity:.88;letter-spacing:inherit}
.alb .arow small.l2,.alb .arow .apill{font-size:10.5px}
@media(max-width:560px){.alb .arow small.l2,.alb .arow .apill{font-size:11px}}
@media(min-width:700px){.alb .arow small.l2,.alb .arow .apill{font-size:12px}}
.scb .alb .arow small.l2,.scb .alb .arow .apill,.pk-alb .arow small.l2,.pk-alb .arow .apill{font-size:13px!important}
@media(min-width:700px){.scb .alb .arow small.l2,.scb .alb .arow .apill{font-size:14px!important}}
@media(max-width:400px){.alb .apill.fr .u{display:none}}
.alb .apill .f{font-weight:500}
.scb .alb span .arow .l2,.pk-alb span .arow .l2{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
@media(max-width:400px){.scb .alb .arow small.l2,.scb .alb .arow .apill,.pk-alb .arow small.l2,.pk-alb .arow .apill{font-size:12.5px!important}}
@media(max-width:400px){.scb .alb .arow small.l2,.scb .alb .arow .apill{font-size:12px!important;letter-spacing:0}.scb .alb .arow{gap:6px}.scb .alb span{left:10px;right:10px}}
/* share9 (t248u): refined "Share Your Catalog" button: ~15% smaller, ivory + espresso + thin brass rule, serif title */
.shr{gap:6px;max-width:500px}
.shbtn{gap:3px;padding:14px 18px;border:1px solid #c9b48f;border-radius:14px;background:linear-gradient(180deg,#fbf8f2,#f4eee3);color:#2a231c;box-shadow:0 1px 2px rgba(42,35,28,.06),0 6px 16px -8px rgba(42,35,28,.18);transition:border-color .2s,box-shadow .2s,transform .2s}
.shbtn b{font:600 clamp(19px,5vw,22px)/1.15 Nunito,system-ui,sans-serif;letter-spacing:.01em;color:#2a231c}
.shbtn small{font-size:clamp(14px,3.6vw,15px);font-weight:500;color:#7a6a55;letter-spacing:.01em;line-height:1.35}
.shbtn:hover{background:linear-gradient(180deg,#fdfbf7,#f6f1e8);border-color:#a88d5f;box-shadow:0 1px 2px rgba(42,35,28,.06),0 10px 22px -10px rgba(42,35,28,.25);transform:translateY(-1px)}
.shbtn:focus-visible{outline:2px solid #8b6f4e;outline-offset:3px}
.shmine{font-weight:600;font-size:15px;color:#8b6f4e;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;letter-spacing:.01em;min-height:44px}
/* share9: taller collection photos on phones (1:0.82 -> 1:0.96, +17%), builder tiles match album pages (1:1.04) */
@media(max-width:699px){.alb{aspect-ratio:1/0.96}}
@media(max-width:560px) and (max-height:760px){.alb{aspect-ratio:1/0.86}}
.albums.subs .alb{aspect-ratio:1/1.04}
.pk-alb{aspect-ratio:1/1.04!important}
/* share9: clean-text pass, same quiet type as the tiles (sizes unchanged for big-text readability) */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}
p,li,.fine{text-wrap:pretty}
.crumb{letter-spacing:.01em}.crumb a{text-decoration:none;font-weight:600}
.sh-st{letter-spacing:.14em;font-weight:600}
.labl{font-weight:600;letter-spacing:.01em}
.scb .sc-sub,.scb .sc-fine{color:#5d554b;text-wrap:pretty}
.scb .sc-kick{letter-spacing:.14em;font-weight:600}
/* share10 (t249u): lining numerals everywhere (Cormorant's old-style 4 dropped below the line in "12X24") */
body,h1,h2,h3,.alb,.sc-pt,.sc-alh,.pk-ttl{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
/* estimate: remove (X) per line + confirm; helper lines stacked */
.scb .sc-er{position:relative;padding-right:4px}
.scb .sc-erx{position:absolute;top:-6px;right:-6px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:#7a6f63;font-size:26px;line-height:1;cursor:pointer;z-index:2}
.scb .sc-erx:hover,.scb .sc-erx:focus-visible{background:#efe9df;color:#1f1a15}
.scb .sc-er .sc-eq{margin-top:22px}
.scb .sc-eh1{margin:2px 0 0}.scb .sc-eh2{margin:0 0 10px}
.scb .sc-shc{position:relative}
.scb .sc-cf{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(31,26,21,.42);border-radius:inherit}
.scb .sc-cfc{width:min(100%,380px);background:#fff;border-radius:16px;padding:22px 20px 18px;box-shadow:0 18px 40px rgba(0,0,0,.25);text-align:center}
.scb .sc-cft{margin:0 0 6px;font-size:19px;font-weight:600;line-height:1.35;color:#1f1a15;text-wrap:balance}
.scb .sc-cfs{margin:0 0 16px;font-size:15px;color:#6b6257}
.scb .sc-cfb{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.scb .sc-cfb button{min-height:52px;border-radius:12px;font:700 17px inherit;font-family:inherit;cursor:pointer}
.scb .sc-cfk{background:#fff;border:1.5px solid #1f1a15;color:#1f1a15}.scb .sc-cfr{background:#c0392b;border:1.5px solid #c0392b;color:#fff}
/* Featured sort: same height/top/baseline as Filters and heart (iOS Safari draws its own select otherwise) */
.scb .sc-tr{align-items:stretch}
.scb .sc-tr .sc-sort{margin:0;align-self:stretch;display:flex;align-items:center;padding:0 0 0 12px;position:relative}
.scb .sc-sort select{-webkit-appearance:none;appearance:none;margin:0;border:0;background:transparent;height:100%;min-height:0;line-height:1.2;padding:0 36px 0 2px;font:600 17px inherit;font-family:inherit;color:#1f1a15;border-radius:12px}
.scb .sc-sort::after{content:"";position:absolute;right:14px;top:50%;width:9px;height:9px;border-right:2px solid #1f1a15;border-bottom:2px solid #1f1a15;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.num{font-family:Nunito,system-ui,sans-serif;font-weight:600;font-size:.86em;letter-spacing:-.01em;font-variant-numeric:lining-nums}
.num{font-weight:500;font-size:.8em;letter-spacing:0}
.num.dm{white-space:nowrap;font-size:.8em;font-weight:500}   /* r49: sink dimension stays on one line, one font/size; X same size as digits */
/* share11 (t250u): stacked tile text, uniform on every tile: series / type / specs, then "N colors" + price pinned to the bottom line */
.alb span .l1b{display:block;font-weight:600;font-size:.86em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.alb span .l3{display:block;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.88;letter-spacing:.01em;margin-top:1px;font-size:10.5px}
@media(max-width:560px){.alb span .l3{font-size:11px}}
@media(min-width:700px){.alb span .l3{font-size:12px}}
.scb .alb span .l1b,.pk-alb span .l1b{font-size:14px;white-space:nowrap}
.scb .alb span .l3,.pk-alb span .l3{font-size:12.5px!important}
@media(min-width:700px){.scb .alb span .l1b{font-size:16px}.scb .alb span .l3{font-size:13px!important}}
.alb span .arow{margin-top:4px}
/* share ask + pricing copy: each sentence fits on two lines max, 360-1280 */
.sh-q.sh-q2{font-size:clamp(18px,5vw,25px);line-height:1.25;text-wrap:balance;margin-bottom:8px}
.sh-l.sh-l2{font-size:clamp(14px,3.9vw,16.5px);line-height:1.45;text-wrap:balance}
.sh-inc{font-size:16px;line-height:1.5;text-wrap:pretty}
.sh-ex{display:flex;flex-direction:column;gap:4px;line-height:1.4}.sh-ex .sh-exn{font-size:17px}.sh-ex .sh-exl{display:block;text-wrap:pretty}
.alb span .l3{white-space:normal!important;text-wrap:balance;overflow:visible}
.scb .alb span .l1b,.pk-alb span .l1b{font-size:13px}
@media(min-width:700px){.scb .alb span .l1b{font-size:14px}}
.alb span .l1b{white-space:normal!important;text-wrap:balance;overflow:visible}
.sh-ex .sh-exl{text-wrap:balance}
@media(max-width:400px){.scb .alb span .l3,.pk-alb span .l3{font-size:10.5px!important}.scb .alb span .l1b,.pk-alb span .l1b{font-size:12px}}/* subtitle2: wrap between · groups only; NBSP inside groups; 2.0 cards match other B cards */
.alb span .l1{overflow:hidden;text-overflow:ellipsis}/* titles stay one line (verGlue keeps Cyrus/Ashton 2.0) */
.sh-l.sh-l2{font-size:clamp(13.5px,3.6vw,16.5px)}

/* r12: flat labor row mirrors the $/sq ft row; switcher sits under the entry sections */
.labw1{display:flex;justify-content:flex-end;margin:-6px 0 8px}.labw1:has(.labx[hidden]){display:none}
.lsr1:not(:has(.sqro)) .sqc{flex:1 1 auto}
.seeh2{margin-top:6px}
/* r13: several products -> each series with its own price, stacked (never a range) */
.lsr .sqro.sqml{flex-direction:column;align-items:stretch;justify-content:center;gap:2px;height:auto!important;min-height:50px;padding:6px 10px!important;white-space:normal}
.sqml .mlr{display:flex;justify-content:space-between;align-items:baseline;gap:8px;line-height:1.25}.sqml .mlr small{font-size:13px;font-weight:600;color:#5a4d3c;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sqml .mlr b{font-size:15px;white-space:nowrap}
.lsr:has(.sqml){grid-template-columns:22px minmax(0,1fr);row-gap:8px}.lsr:has(.sqml)>.sqc:first-child{grid-column:1/-1}
.sqml .mlr small{overflow:visible;text-overflow:clip}.lsr .sqro.sqml{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));column-gap:24px;box-sizing:border-box;max-width:100%}.sqml .mlr b{flex:none}
/* r14: profit box under the entry boxes */
.pbx{margin:2px 0 12px}.pbx[hidden]{display:none}.pbx .sbp{margin-top:0}
.dup h2{margin:0 0 8px;font-size:24px}.dupb{font-size:18px;line-height:1.4;margin:0 0 18px;color:#2a241c}.dup .btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:58px;margin:0 0 10px;font-size:18px}.dup .btn small{font-size:14px;font-weight:600;opacity:.85;margin-top:2px}.dup .dupc{border:0;background:none;text-decoration:underline;min-height:48px}
/* r14 part 5: adjustment line + removable accepted/thank-you lines */
.pq-totw{flex-direction:column;align-items:flex-end;gap:8px}
.pq-adj{position:relative;display:flex;justify-content:flex-end;gap:18px;align-items:baseline;padding:0 30px 0 0;font-size:14px;color:#3a2f24}.pq-adj b{font-weight:700}.pq-adj[hidden]{display:none}.pq-adj .pq-x{top:0!important}
.pq-acc,.pq-ty{position:relative}.pq-acc{padding-right:30px}.pq-ty{padding-right:30px}.pq-ty .pq-x{top:0!important}
.pq-acc[hidden],.pq-ty[hidden]{display:none}
.cq-ipe{cursor:text;border-bottom:1px dashed #d4c6b0;outline:0;min-width:3ch}.cq-ipe:focus{background:#fbf6ec}
#cqg[contenteditable]{outline:0;cursor:text}#cqg[contenteditable]:focus{box-shadow:0 0 0 2px #c7a978;border-radius:4px}
.cq-adj{display:flex;justify-content:space-between}
/* r14 p7: Cash & Carry paper page */
.pq-po{display:block;margin-top:4px;font-size:15px}
.pq-cc{list-style:none;margin:0;padding:0}.pq-cc li{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #e6ddd0}
.pq-ccd{display:flex;flex-direction:column;gap:2px;min-width:0}.pq-ccd b{font-size:16px;color:#2b241e}.pq-ccd small{font-size:14px;color:#5c4e3f}
.pq-cc .cq-ipe{font-size:16px;white-space:nowrap}
.pq-ful{display:flex;gap:8px;margin:16px 0 8px}.pq-ful button{flex:1;min-height:48px;border:2px solid #8b6f4e;background:#fff;color:#5c4e3f;border-radius:8px;font:700 16px/1.2 inherit}.pq-ful button[aria-pressed="true"]{background:#8b6f4e;color:#fff}
.pq-pk{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.pq-pk[hidden]{display:none}.pq-pk div{display:flex;flex-direction:column;gap:2px;font-size:15px}.pq-pk small{font-size:12px;font-weight:700;color:#8b6f4e;letter-spacing:.04em;text-transform:uppercase}
.pq-pn{font-size:14px;color:#5c4e3f;margin:6px 0}.pq-pn[hidden]{display:none}
.pq-cs{padding-right:30px}.pq-cs span[hidden]{display:none}
@media (max-width:420px){.pq-pk{grid-template-columns:1fr}}
.pq-cc .cq-ipe{margin:0!important;flex:none;padding-right:4px}.pq-ccd{flex:1}
/* h1427: home Collections tiles never cut "7 albums" (820px showed "7 albu…"); if count + price can't share a line, price drops under it */
.home .alb .arow{flex-wrap:wrap;row-gap:3px}.home .alb .arow .l2{flex:0 0 auto;overflow:visible;text-overflow:clip}
/* r15 (Ty t256u): Preview / Edit PDF full screen */
body.pqfull .pq-under,body.pqfull .pq-tip{display:none!important}
body.pqfull{background:#e9e4dc}
.pqf-bar{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px 12px;background:#2b241e;color:#fff}
.pqf-bar .cv-t{text-align:center;font-size:17px;color:#fff}.pqf-bar .cv-b{min-height:44px;font-size:16px}
body:not(.pqfull) .pqf-bar{display:none}
iframe.pqf{position:fixed!important;inset:0!important;width:100vw!important;height:100%!important;z-index:9999!important;background:#fff}
/* r15 (Ty t256u): Add Profit/Labor panel. Less gap on top, cost/client card ~20% bigger, Material + Profit/Labor boxes ~20% smaller, labels right above the boxes */
.sqtop{margin-top:2px!important;padding-right:40px!important}
#lpw .sqv{height:40px!important;font-size:14.5px!important;border-radius:10px!important}
#lpw .sqv input,#lpw .sqv .pre,#lpw .sqv .suf{font-size:14.5px!important}
#lpw .sqv.sqml{height:auto!important;padding-top:5px!important;padding-bottom:5px!important}#lpw .sqml .mlr small,#lpw .sqml .mlr b{font-size:12.5px!important}
#lpw .sqc small{font-size:11px!important}#lpw .sqc{gap:3px!important}
#lpw #cua{margin-top:12px!important}#lpw .sqp{font-size:16px!important}
.sbx .sbr .sbn{font-size:16.3px!important}.sbx .sbr b{font-size:16.3px!important}.sbx .sbr.sbt b,.sbx .sbr.sbt .sbn{font-size:17.6px!important}
.sbx .sbr.sbh>*{font-size:14.4px!important}.sbx .sbr>*{padding-top:8.5px!important;padding-bottom:8.5px!important}
.sbx .sbr .sbn:has(.sb3){white-space:normal!important;overflow:visible}
.sb3{display:flex;flex-direction:column;line-height:1.22}.sb3 b{font-size:inherit!important;font-weight:700;text-align:left!important;min-width:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important}.sb3 small{font-size:12.6px;color:#5c5248;font-weight:500}
@media(max-width:400px){.sbx .sbr b{font-size:15.6px!important}.sbx .sbr.sbt b{font-size:16.8px!important}.sbx .sbr{grid-template-columns:minmax(0,1fr) 6.2rem 6.2rem!important}}
/* r15: product names in 3 stacked lines */
.ln2.t9 .ld .sz{display:block}
.qi .d small.sp{display:block}
#lpw .sqv.sqin,#lpw .lsr .sqv.sqin,#lpw .sqv.sqin input{height:40px!important;min-height:40px!important;max-height:40px!important;box-sizing:border-box}
#lpw .lsr{align-items:end!important}
#lpw #cua{padding-top:12px!important;border-top:1px solid #ece7df}
.pqf-bar .cv-t{font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:clip}.pqf-bar .cv-b{padding:0 12px!important;font-size:15px!important;white-space:nowrap}@media(max-width:370px){.pqf-bar .cv-t{font-size:13.5px!important}.pqf-bar .cv-b{padding:0 9px!important;font-size:14px!important}}
.qi .d small.sp{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:none!important}
/* r16 (Ty t257u): sheet top gap = sq ft line's gap to its divider; sq ft line +15%; input rows -10%; cost/client table +15% */
#sheetc:has(.sqtop){padding-top:0!important}
.sqtop{margin-top:0!important;padding:9px 40px 9px 0!important;line-height:1.2!important;font-size:clamp(12.5px,4vw,15.6px)!important}
#sheetc:has(.sqtop)>.close{top:4px!important;right:8px!important}
#lpw .sqv,#lpw .sqv.sqin,#lpw .lsr .sqv.sqin,#lpw .sqv.sqin input{height:36px!important;min-height:36px!important;max-height:36px!important}
#lpw .sqv,#lpw .sqv input,#lpw .sqv .pre,#lpw .sqv .suf{font-size:13px!important}
#lpw .sqv.sqml{height:auto!important;max-height:none!important;padding-top:4px!important;padding-bottom:4px!important}#lpw .sqml .mlr small,#lpw .sqml .mlr b{font-size:11.3px!important}
#lpw .sqc small{font-size:10px!important}#lpw .sqp{font-size:14.5px!important}#lpw #cua{margin-top:11px!important;padding-top:11px!important}
.sbx .sbr .sbn{font-size:18.7px!important}.sbx .sbr b{font-size:18.7px!important}.sbx .sbr.sbt b,.sbx .sbr.sbt .sbn{font-size:20.2px!important}
.sbx .sbr.sbh>*{font-size:16.5px!important}.sbx .sbr>*{padding-top:9.8px!important;padding-bottom:9.8px!important}
.sb3 small{font-size:14.5px!important}.sb3 .sbs3{font-size:15px!important;color:#5c4e3f!important;font-weight:700}
@media(max-width:400px){.sbx .sbr b{font-size:17.9px!important}.sbx .sbr.sbt b{font-size:19.3px!important}.sbx .sbr{grid-template-columns:minmax(0,1fr) 7rem 7rem!important}}
@media(max-width:370px){.sbx .sbr .sbn{font-size:16.8px!important}.sbx .sbr b{font-size:16.4px!important}.sbx .sbr.sbt b{font-size:17.6px!important}.sbx .sbr{grid-template-columns:minmax(0,1fr) 6.4rem 6.4rem!important}.sb3 small{font-size:13px!important}}
.sbx{grid-template-columns:minmax(0,1fr) auto auto!important}.sbx .sbr{grid-template-columns:minmax(0,1fr) auto auto!important}
.sbx .sbr .sbn{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.sbx .sbr .sb3 b.sbs3{font-size:14.5px!important;font-weight:700!important;color:#6b5a47!important;white-space:nowrap;letter-spacing:.01em}
@media(max-width:370px){.sbx .sbr .sb3 b.sbs3{font-size:13px!important}}
@media(max-width:400px){.sbx .sbr .sbn:not(:has(.sb3)){white-space:nowrap!important;font-size:16.5px!important}.sbx .sbr.sbt .sbn{font-size:18px!important}}@media(max-width:370px){.sbx .sbr .sbn:not(:has(.sb3)){font-size:15px!important}}
@media(max-width:400px){.sbx .sbr.sbt .sbn:not(:has(.sb3)){font-size:18px!important}}@media(max-width:370px){.sbx .sbr.sbt .sbn:not(:has(.sb3)){font-size:16.5px!important}}
/* r17 (Ty t258u): table ~7% smaller, series = same black/size/weight as color, prices centered on the 4 name lines; sq ft top reveal x2; input boxes +7%; green profit box -10% */
.sbx .sbr .sbn{font-size:17.4px!important}.sbx .sbr b{font-size:17.4px!important}.sbx .sbr.sbt b,.sbx .sbr.sbt .sbn{font-size:18.8px!important}
.sbx .sbr.sbh>*{font-size:15.3px!important}.sbx .sbr>*{padding-top:9.1px!important;padding-bottom:9.1px!important}
.sbx .sbr .sb3 b,.sbx .sbr .sb3 b.sbs3{font-size:inherit!important;font-weight:700!important;color:#1a1a1a!important;white-space:normal!important;letter-spacing:0!important;overflow-wrap:normal;word-break:normal}
.sb3 small{font-size:13.5px!important}
.sbx .sbr .sbn{min-width:0}.sbx .sbr .sbn:has(.sb3){padding-right:8px!important}
.sbx .sbr:not(.sbh)>b{display:flex!important;align-items:center!important;justify-content:flex-end!important}
@media(max-width:400px){.sbx .sbr b{font-size:16.6px!important}.sbx .sbr.sbt b{font-size:18px!important}.sbx .sbr .sbn:not(:has(.sb3)){font-size:15.3px!important}.sbx .sbr.sbt .sbn:not(:has(.sb3)){font-size:16.7px!important}.sbx .sbr .sbn:has(.sb3){font-size:16.2px!important}}
@media(max-width:370px){.sbx .sbr .sbn:has(.sb3){font-size:15.2px!important}.sbx .sbr b{font-size:15.3px!important}.sbx .sbr.sbt b{font-size:16.4px!important}.sbx .sbr .sbn:not(:has(.sb3)){font-size:14px!important}.sbx .sbr.sbt .sbn:not(:has(.sb3)){font-size:15.3px!important}.sb3 small{font-size:12.1px!important}}
.sqtop{padding-top:18px!important}
#lpw .sqv,#lpw .sqv.sqin,#lpw .lsr .sqv.sqin,#lpw .sqv.sqin input{height:38.5px!important;min-height:38.5px!important;max-height:38.5px!important}
#lpw .sqv,#lpw .sqv input,#lpw .sqv .pre,#lpw .sqv .suf{font-size:13.9px!important}
#lpw .sqv.sqml{height:auto!important;max-height:none!important}#lpw .sqml .mlr small,#lpw .sqml .mlr b{font-size:12.1px!important}
#lpw .sqc small{font-size:10.7px!important}#lpw .sqp{font-size:15.5px!important}
.pbx .sbp{font-size:15.3px!important;padding:9px 10.8px!important}.pbx .sbp>span{font-size:15.3px!important}.pbx .sbp>b{font-size:18px!important}.pbx .sbp .sbm{font-size:12.6px!important}.pbx .sbp .sbm span{font-size:19.8px!important}
.pbx .sbp>span{white-space:nowrap}.pbx .sbp{column-gap:8px!important}@media(max-width:370px){.pbx .sbp>span{font-size:14px!important}.pbx .sbp>b{font-size:16.5px!important}}
@media(max-width:400px){.sbx .sbr .sbn:has(.sb3){font-size:15.6px!important;padding-right:4px!important}.sbx .sbr>:nth-child(2){padding-left:4px!important;padding-right:6px!important}.sbx .sbr>:nth-child(3){padding-left:6px!important}}
/* r18 (Ty t259u) */
#lpw .sqv,#lpw .sqv.sqin,#lpw .lsr .sqv.sqin,#lpw .sqv.sqin input{height:40.4px!important;min-height:40.4px!important;max-height:40.4px!important}
#lpw .sqv,#lpw .sqv input,#lpw .sqv .pre,#lpw .sqv .suf{font-size:14.6px!important}
#lpw .sqv.sqml{height:auto!important;max-height:none!important}#lpw .sqml .mlr small,#lpw .sqml .mlr b{font-size:12.7px!important}
#lpw .sqc small{font-size:11.2px!important}#lpw .sqp{font-size:16.3px!important}
#lpw input.der{color:#6b5a47!important}
/* Client Total card: espresso + ivory + brass, same as the Total pill on the client PDF */
.pbx .sbp{background:#2b241e!important;color:#f6f1e7!important;border-radius:10px}
.pbx .sbp>span{color:#e9dcc5!important;font-weight:600}.pbx .sbp>b{color:#fff!important}
.pbx .sbp .sbm{color:#d9b77e!important;text-decoration-color:#d9b77e!important}
.pbx{margin:4px 0 16px!important;padding-bottom:16px;border-bottom:1px solid #e6ddd0}
/* thin line under the YOUR COST / CLIENT header, same as the line between rows */
.sbx .sbr.sbh+.sbr>*{box-shadow:inset 0 1px 0 rgba(60,45,30,.12)!important}
/* fewer rows: name column gets the room, price text steps down only when the numbers are long */
.sbx .sbr .sb3 b{white-space:normal!important}
.sbx.sbL1 .sbr b{font-size:15.6px!important}.sbx.sbL1 .sbr.sbt b{font-size:16.8px!important}
.sbx.sbL2 .sbr b{font-size:14.6px!important}.sbx.sbL2 .sbr.sbt b{font-size:15.6px!important}
@media(max-width:400px){.sbx.sbL1 .sbr b{font-size:15px!important}.sbx.sbL1 .sbr.sbt b{font-size:16.2px!important}.sbx.sbL2 .sbr b{font-size:14px!important}.sbx.sbL2 .sbr.sbt b{font-size:15px!important}}
@media(max-width:370px){.sbx.sbL1 .sbr b,.sbx.sbL2 .sbr b{font-size:13.6px!important}.sbx.sbL1 .sbr.sbt b,.sbx.sbL2 .sbr.sbt b{font-size:14.6px!important}}
/* r19 (Ty t260u): Client Total card in soft champagne gold with brass accents (replaces the dark espresso) */
.pbx .sbp{background:linear-gradient(180deg,#f8eed6,#f1e2bf)!important;border:1px solid #d9c08a!important;color:#2b241e!important;box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.pbx .sbp>span{color:#5c4a2e!important;font-weight:700}.pbx .sbp>b{color:#1a1a1a!important}
.pbx .sbp .sbm{color:#7a5a24!important;text-decoration-color:#a8864e!important}
/* r20 (Ty t261u): per-sq-ft price bottom right of every product tile */
/* r20 (Ty t261u): collapsible side-by-side */
.sbtg{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin:0 0 10px;border:1px solid #d9c08a;border-radius:12px;background:#fbf7ef;color:#3a2f24;font:700 15px/1.2 inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sbtg:active{background:#f3e9d4}.sbtg:focus-visible{outline:2px solid #8b6f4e;outline-offset:2px}
.sbtg svg{width:18px;height:18px;fill:none;stroke:#8b6f4e;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s ease}
.sbtg[aria-expanded="true"] svg{transform:rotate(180deg)}
.sbw{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease,opacity .25s ease;opacity:0}.sbw.on{grid-template-rows:1fr;opacity:1}.sbwi{min-height:0;overflow:hidden}
@media (prefers-reduced-motion:reduce){.sbw,.sbtg svg{transition:none}}
.pbx{margin-bottom:12px!important;padding-bottom:12px!important}
/* live margin: a short, soft brass glow on the numbers that just changed */
@keyframes r20f{0%{box-shadow:0 0 0 0 rgba(201,162,90,.55)}100%{box-shadow:0 0 0 8px rgba(201,162,90,0)}}
#lab.flash,#ca.flash{animation:none}#lpw .sqv:has(#lab.flash),#lpw .sqv:has(#ca.flash),#pbx.flash .sbp{animation:r20f .6s ease-out}
#mgh .mgp{margin:-4px 0 12px}
/* four boxes +7% */
#lpw .sqv,#lpw .sqv.sqin,#lpw .lsr .sqv.sqin,#lpw .sqv.sqin input{height:43.2px!important;min-height:43.2px!important;max-height:43.2px!important}
#lpw .sqv,#lpw .sqv input,#lpw .sqv .pre,#lpw .sqv .suf{font-size:15.6px!important}
#lpw .sqv.sqml{height:auto!important;max-height:none!important}#lpw .sqml .mlr small,#lpw .sqml .mlr b{font-size:13.6px!important}
#lpw .sqc small{font-size:12px!important}
/* '+' centered on the boxes (not the labels), in a small brass circle */
#lpw .lsr{align-items:end!important}
#lpw .sqp{align-self:end;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin-bottom:10.6px;border-radius:50%;background:#f3e9d4;color:#8b6f4e;font-size:16px!important;font-weight:800;line-height:1}
/* r21: Add Profit/Labor boxes in the soft profit green; numbers +5% (box size unchanged); Client Total underline */
#lpw .sqv.sqin:not(.sqro){background:#eef5ee!important;border-color:#b7d3bd!important;color:#1f5e33!important}
#lpw .sqv.sqin:not(.sqro) input,#lpw .sqv.sqin:not(.sqro) .pre,#lpw .sqv.sqin:not(.sqro) .suf{background:transparent!important;color:#1f5e33!important}
#lpw .sqv.sqin:not(.sqro) input::placeholder{color:#5f8f6c}
#lpw .sqv,#lpw .sqv input,#lpw .sqv .pre,#lpw .sqv .suf{font-size:16.4px!important}#lpw .sqml .mlr b{font-size:14.3px!important}

.sc-et .sc-efr span{padding-right:12px}.sc-et .sc-efr b{white-space:nowrap}
/* r22: product block first; $/sq ft centered on the two name lines */
.fqtop .q6{margin:0 0 16px!important}.qhd.q6 .g2{align-self:center!important}
/* r22: Client Total underline hugs label + price */
.sbp{grid-template-columns:minmax(0,1fr) auto!important;column-gap:14px!important}
.sbp .sbl{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:4px;border-bottom:1.6px solid #1a1a1a;min-width:0}
.sbp .sbl>span{font-size:14px;color:#5c4a2e;font-weight:700}.sbp .sbl>b{font-size:16.5px;color:#1a1a1a}
#pbx .sbp .sbl>span{font-size:15.3px;white-space:nowrap}#pbx .sbp .sbl>b{font-size:18px}@media(max-width:370px){#pbx .sbp .sbl>span{font-size:14px}#pbx .sbp .sbl>b{font-size:16.5px}}
.pbx .sbp .sbm,#pbx .sbp .sbm{font-size:13.9px!important}.pbx .sbp .sbm span,#pbx .sbp .sbm span{font-size:21.8px!important}
/* r22: $/sq ft overlaid on the photo's bottom-right corner (pro + client); Free Quote back to its pre-r20 layout, 15% bigger, warm brass */
.p .im{position:relative}.sc-im{position:relative}
.ipsf,.sc-pb{position:absolute;right:8px;bottom:8px;z-index:2;white-space:nowrap;font-size:12px;line-height:1;color:#3a2f24;background:rgba(255,250,240,.93);border:1px solid rgba(201,162,90,.55);border-radius:999px;padding:5px 9px;box-shadow:0 1px 4px rgba(0,0,0,.18);font-variant-numeric:tabular-nums;backdrop-filter:blur(4px);pointer-events:none}
.ipsf b,.sc-pb b{font-size:13.5px;font-weight:800;color:#1a1a1a}
.p .acts .btn[data-a=q]{font-size:9.2px!important;background:linear-gradient(180deg,#e2bd72,#c99a4a)!important;color:#2a1c0c!important;border:1px solid #b88a3e!important;font-weight:800;box-shadow:0 1px 2px rgba(120,85,30,.25)}
.p .acts .btn[data-a=q]:active{filter:brightness(.95)}
/* r22 (Ty t266u): Collections tiles back to the pre-share9 1:0.82 on phones (2-across, 8 albums ≈ 3 rows per screen) */
@media(max-width:699px){.albums:not(.subs) .alb{aspect-ratio:1/0.82}}
/* r23: Transition Pieces & Add-Ons (product sheet), collapsed by default, secondary to the floor */
.aow{margin:14px 0 4px}
.aotg{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:9px 14px;border:1px solid #e3d6bd;border-radius:12px;background:#fbf8f2;color:#2b241e;font:inherit;text-align:left;cursor:pointer}
.aotg .aot{display:flex;flex-direction:column;font-weight:700;font-size:15px;line-height:1.25}.aotg .aot small{font-weight:500;font-size:12.5px;color:#7a6a55;margin-top:2px}
.aotg.has{border-color:#b7d3bd;background:#f1f7f1}.aotg.has .aot small{color:#1f5e33;font-weight:700}
.aotg .chev{flex:none;transition:transform .25s ease}.aotg[aria-expanded=true] .chev{transform:rotate(180deg)}
.aopw{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.aopw.on{grid-template-rows:1fr}.aopi{overflow:hidden;min-height:0}
@media (prefers-reduced-motion:reduce){.aopw,.aotg .chev{transition:none}}
.aog{margin:12px 2px 6px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#8b6f4e}
.aol{list-style:none;margin:0;padding:0;border:1px solid var(--line,#e8e2d8);border-radius:12px;overflow:hidden;background:#fff}
.aor{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px}.aor+.aor{border-top:1px solid #f0ebe2}
.aor.sel{background:#f6faf6}
.aor img{width:56px;height:56px;object-fit:cover;border-radius:8px;background:#f3efe9;display:block}
.aod{min-width:0;display:flex;flex-direction:column;gap:1px}.aod b{font-size:14px;line-height:1.25}.aod small{font-size:12px;color:#7a6a55;line-height:1.3}.aod .aoi{font-size:10.5px;color:#9a8c78}
.aost{font-size:11.5px;font-weight:700;line-height:1.3}.aost:empty{display:none}.aost::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;background:currentColor}
.aost.st-in{color:#1f7a3a}.aost.st-low{color:#b07a00}.aost.st-vlow{color:#c2410c}.aost.st-none{color:#9b1c1c}
.aob{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.aop{font-size:14.5px;white-space:nowrap}.aop small{font-size:11px;font-weight:500;color:#7a6a55}
.aopr{font-size:12px;color:#7a6a55;text-align:right;max-width:76px;line-height:1.25}
.aoq{display:flex;align-items:center;border:1px solid #d9cdb6;border-radius:999px;overflow:hidden;background:#fff}
.aoq button{width:34px;height:32px;border:0;background:none;font-size:18px;font-weight:700;color:#3a2f24;cursor:pointer;touch-action:manipulation}.aoq button:active{background:#f3ead8}
.aoq output{min-width:22px;text-align:center;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.aonote{font-size:12px;color:#7a6a55;margin:10px 2px 2px}
/* r23: #prev contains its children's margins so the locked height is exact (no 2-6px switcher drift) */
#sbw #prev{display:flow-root}
.cq-t{white-space:normal}.cq-t .cq-nm{min-width:0;text-wrap:pretty}   /* r23: long add-on names wrap inside the card */
/* r23b: peek of the matching pieces on the closed button (Floor & Decor / Home Depot show accessory photos in the scroll path) */
.aotg .aot{flex:1;min-width:0}.aoth{display:flex;flex:none}.aoth img{width:30px;height:30px;border-radius:7px;object-fit:cover;border:2px solid #fbf8f2;background:#eee;margin-left:-8px;box-shadow:0 1px 2px rgba(0,0,0,.12)}.aoth img:first-child{margin-left:0}
.aotg.has .aoth img{border-color:#f1f7f1}
@media(max-width:370px){.aoth img:nth-child(3){display:none}}
.fqc .aoln .nm{display:block!important;font-size:13.5px;font-weight:600;color:#5c4e3f;line-height:1.3;margin-bottom:2px}
.aotg .aot{font-size:14.5px}@media(max-width:420px){.aoth img:nth-child(3){display:none}}
/* r23: client estimate add-ons (collapsed per line) */
.sc-ao{margin:-2px 0 10px}
.sc-aot{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;border:1px solid #e6dcc8;border-radius:10px;background:#fbf8f2;color:#2b241e;font:inherit;text-align:left;cursor:pointer}
.sc-aot span{display:flex;flex-direction:column;font-weight:700;font-size:13.5px}.sc-aot small{font-weight:500;font-size:12px;color:#7a6a55}
.sc-aot.has{border-color:#b7d3bd;background:#f1f7f1}.sc-aot.has small{color:#1f5e33;font-weight:700}
.sc-aot svg{flex:none;transition:transform .2s}.sc-aot[aria-expanded=true] svg{transform:rotate(180deg)}
.sc-aol{list-style:none;margin:6px 0 0;padding:0;border:1px solid #ece5d8;border-radius:10px;overflow:hidden;background:#fff}
.sc-aor{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 9px}.sc-aor+.sc-aor{border-top:1px solid #f1ece3}.sc-aor.sel{background:#f6faf6}
.sc-aor img{width:48px;height:48px;border-radius:7px;object-fit:cover;background:#f3efe9}
.sc-aod{min-width:0;display:flex;flex-direction:column}.sc-aod b{font-size:13.5px;line-height:1.25}.sc-aod small{font-size:11.5px;color:#7a6a55}
.sc-aob{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sc-aob>b{font-size:14px;white-space:nowrap}.sc-aob>b small{font-size:11px;font-weight:500;color:#7a6a55}
.sc-aoq{display:flex;align-items:center;border:1px solid #d9cdb6;border-radius:999px;overflow:hidden}.sc-aoq button{width:32px;height:30px;border:0;background:none;font-size:17px;font-weight:700;cursor:pointer;touch-action:manipulation}.sc-aoq output{min-width:20px;text-align:center;font-weight:800;font-size:13.5px}
.sc-aopr{font-size:11.5px;color:#7a6a55}

/* r24 (Ty t267u): remove X on each numbered order line, straight across from the number; confirm reuses the client estimate's Remove / Keep */
.sotb td.d{position:relative;padding-right:40px!important}
.sorx{position:absolute;top:2px;right:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e3d6bd;border-radius:50%;background:#fff;color:#6b6257;font-size:20px;line-height:1;cursor:pointer;padding:0}
.sorx:active{background:#f3ead8}
.sc-cf.sorcf{position:fixed;z-index:1000;border-radius:0}
/* r24: tile $/sq ft sits on the photo like the Collections / album tiles: white on a soft bottom shade, no pill */
.p a.im::after{content:'';position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none;z-index:1}
.ipsf,.sc-pb{background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:0!important;border-radius:0!important;right:10px!important;bottom:9px!important;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.ipsf b,.sc-pb b{color:#fff!important}
/* r24: View Specs hint at top-center so it never covers the price */
.p .hint{top:10px!important;bottom:auto!important;z-index:2}
@media(max-width:600px){.p .hint{top:8px!important}}
/* r24: tile Free Quote = the product page's light beige Free Quote; text block back to left-aligned, button snug under In Stock */
.p .acts .btn[data-a=q]{background:#ebe2d3!important;color:#6f593d!important;border:1px solid #dccaa9!important;box-shadow:none!important;font-weight:800}
.p .bd .stl,.p .bd .n,.p .bd .st{text-align:left!important;justify-content:flex-start!important}
.p .bd .acts{margin:8px 0 0!important}
.sc-im:has(.sc-pb)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none;z-index:1;border-radius:inherit}
.ipsf,.sc-pb{text-shadow:0 1px 3px rgba(0,0,0,.4)}
.p .bd{align-items:stretch!important}
.sorx{top:-4px}
.sotb td.ic{overflow-wrap:anywhere}
.sotb td.ic{white-space:normal!important}
.sc-cf.sorcf{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(31,26,21,.42);border-radius:inherit}
.sorcf .sc-cfc{width:min(100%,380px);background:#fff;border-radius:16px;padding:22px 20px 18px;box-shadow:0 18px 40px rgba(0,0,0,.25);text-align:center}
.sorcf .sc-cft{margin:0 0 6px;font-size:19px;font-weight:600;line-height:1.35;color:#1f1a15;text-wrap:balance}
.sorcf .sc-cfs{margin:0 0 16px;font-size:15px;color:#6b6257}
.sorcf .sc-cfb{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sorcf .sc-cfb button{min-height:52px;border-radius:12px;font:700 17px inherit;font-family:inherit;cursor:pointer}
.sorcf .sc-cfk{background:#fff;border:1.5px solid #1f1a15;color:#1f1a15}.scb .sc-cfr{background:#c0392b;border:1.5px solid #c0392b;color:#fff}
.sc-cf.sorcf{position:fixed;z-index:1000;border-radius:0}
.sorcf .sc-cfr{background:#c0392b;border:1.5px solid #c0392b;color:#fff}
.sorcf .sc-cfr{background:#c0392b;border:1.5px solid #c0392b;color:#fff}
.sc-cf.sorcf{background:rgba(31,26,21,.42)!important}
.sorcf .sc-cfb button{font:700 17px/1.2 inherit!important;font-family:inherit!important;min-height:52px!important;border-radius:12px!important}
.sorcf .sc-cfr{background:#c0392b!important;border:1.5px solid #c0392b!important;color:#fff!important}
.sorcf .sc-cfk{background:#fff!important;border:1.5px solid #1f1a15!important;color:#1f1a15!important}
/* r25 (Ty t269u): tappable Low / Very Low Stock badge -> exact MSI public count (pro sheet + client estimate) */
.stbw{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:2px}
.stb{display:inline-flex;align-items:center;gap:3px;min-height:28px;padding:3px 9px 3px 8px;margin:0;border:1px solid currentColor;border-radius:999px;background:#fff;font:inherit;font-size:11.5px;font-weight:700;line-height:1.2;cursor:pointer;touch-action:manipulation}
.stb.st-low{color:#b07a00}.stb.st-vlow{color:#c2410c}
.stb svg{transition:transform .2s ease}.stb[aria-expanded=true] svg{transform:rotate(180deg)}
.stbd{display:block;font-size:12px;line-height:1.4;color:#5c4e3f;background:#fbf8f2;border:1px solid #e8dcc6;border-radius:8px;padding:6px 9px;max-width:100%}
.stbd b{color:#1a1a1a}
.sc-aod .aost{font-size:11.5px;font-weight:700;margin-top:2px}.sc-aod .aost.st-in{color:#1f7a3a}.sc-aod .aost.st-none{color:#9b1c1c}
.sc-aod .aost:not(.stb)::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;background:currentColor}
.stb{white-space:nowrap}
.aod .aoi{overflow-wrap:anywhere}
/* r26 (Ty t272u): chip shows the count; small View More Details opens the same region cards as the LVP product page */
.stbw{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:2px;width:100%}
.stbw>.aost{font-size:11.5px;font-weight:700;white-space:nowrap}
.stb{min-height:30px;padding:4px 10px;border:1px solid #d9cdb6!important;border-radius:999px;background:#fff;color:#5c4e3f!important;font-size:12px;font-weight:600;white-space:nowrap}
.stb::before{display:none!important}
.stbd{display:block;background:none;border:0;padding:0;width:100%}
.aoreg{grid-template-columns:1fr 1fr!important;gap:6px!important;margin:2px 0 4px!important}
.aoreg .reg{padding:8px 9px;border-radius:10px}
.aoreg .reg h3{font-size:10px;letter-spacing:.08em;margin:0 0 3px}
.aoreg .reg .lv{font-size:13px}
.aoreg .reg .q{font-size:12px}
.aoreg .reg .soon{font-size:11.5px;margin-top:4px}
.p .hint{max-width:calc(100% - 16px);overflow:hidden;text-overflow:clip}
@media (max-width:599px){.p .hint{font-size:9.5px!important;letter-spacing:.04em!important;padding:4px 8px!important;white-space:nowrap}}
@media (max-width:379px){.p .hint{font-size:8.8px!important;letter-spacing:.02em!important;padding:4px 7px!important}}
.aor>.stbd,.sc-aor>.stbd{grid-column:1/-1;margin:0}
.aor>.stbd .aoreg,.sc-aor>.stbd .aoreg{margin:0!important}
.apb.vw{background:#e8eef7;color:#1d4f91}
.mqc{display:block;font-size:13px;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0 2px;text-align:left}
/* r28 (Ty t274u): Client Total box: no underline, label + price centered together, price ~7% bigger */
.sbl{border-bottom:0!important;padding-bottom:0!important;justify-content:center!important}
.sbl>b{font-size:19.3px!important}
@media(max-width:370px){.sbl>b{font-size:17.6px!important}}
/* r28 (Ty t274u #7): first tap on an X highlights everything that will be removed, second tap removes */
.pq-del{background:#fdecea!important;box-shadow:inset 0 0 0 1.5px #e3a39b;border-radius:8px;transition:background .15s}
.pq-del *{text-decoration:line-through;text-decoration-color:#c0392b80}
.pq-del .armed,.pq-del .armed *{text-decoration:none}
.cq-x.armed,.pq-x.armed{background:#c0392b!important;color:#fff!important;border-color:#c0392b!important;width:auto!important;padding:0 9px!important;border-radius:999px!important;font-size:12px!important;font-weight:700}
.cq-x.armed::after,.pq-x.armed::after{content:" Remove?"}
.qvh .qvu{display:inline-flex;align-items:center;gap:5px}
.qvh .qvu:disabled{opacity:.4}
/* r28 (Ty t274u #9): Email / Text Order side by side, about half height, so the order fits an iPhone screen */
.osh .obtn2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.osh .obtn2 .btn{width:auto;min-height:48px;padding:6px 8px;font-size:15px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;line-height:1.15;white-space:nowrap}
.osh .obtn2 .btn small{display:block;font-size:11.5px;font-weight:500;opacity:.85;margin-top:1px}
.osh .obtn2 #otx{margin-top:0}
.osh .sopo input{font-size:16px}
/* r28 (Ty t274u #5): empty editable fields (client name, address, PO...) stay tappable on iPhone */
.pq-e:empty{display:inline-block;min-width:5.5em;min-height:1.2em;border-bottom:1px dashed #d8ccb6}
.pq-e:empty:focus{border-bottom-color:transparent}
/* r28 (Ty t274u #1): saved format note + save prompt (same beige / gold as the approved chips) */
.pq-fmt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;max-width:560px;margin:0 auto 10px;padding:9px 12px;border-radius:12px;background:#f6efe2;border:1px solid #e3d5bb;color:#5c4a2e;font-size:13.5px;line-height:1.3}
.pq-fmtb{display:flex;gap:6px}
.pq-fmtb button{height:30px;padding:0 11px;border-radius:999px;border:1px solid #d9cdb6;background:#fff;color:#5c4e3f;font:inherit;font-size:12.5px;font-weight:600;white-space:nowrap}
.pq-fmtb button.armed{background:#b42318;border-color:#b42318;color:#fff}
.fmtq p{margin-bottom:8px!important}
.fmtq small{display:block;margin:0 0 16px;font-size:14px;line-height:1.4;color:#6e6256;text-wrap:balance}
.dqg{background:#8b6f4e;border:0;color:#fff}
.pq-fl .pq-fb:empty{display:none}
.pq-fl .pq-fb:not(:empty)~.pq-fb:not(:empty)::before{content:"\00a0\00b7\00a0"}
.pqbody .dq{z-index:400}
.pq-fmt{width:calc(100% - 24px);box-sizing:border-box;margin:8px auto 10px}
/* r29 (Ty t276u #6): cost + FSC = total on one line, client $/sq ft on its own line */
.sh-ex .sh-ex1{white-space:nowrap;font-size:15px}
@media(max-width:370px){.sh-ex .sh-ex1{font-size:13.5px}}
.sh-exp{display:block;margin-top:2px}
.sh-exp b{display:block;font-size:22px;color:#1f5e33}
.sh-exp small{display:block;margin-top:0!important;font-size:13.5px;color:#5c4a2e}
/* r29 (Ty t276u #4): label stays visible ~1s longer (about 2.9s of every 7s) */
@keyframes hint7b{0%,53%{opacity:0}56%,97%{opacity:.92}100%{opacity:0}}
.p .hint{animation-name:hint7b!important}
/* r29 (Ty t276u #3): short-stock notice at Place Order (MSI publishes no ETA dates) */
.soeta{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fff4d6;border:1px solid #f0d58c;color:#5c4200;font-size:14px;line-height:1.4}
.soeta b{display:block;font-size:14.5px;margin-bottom:2px}
.soeta span{display:block;text-wrap:pretty}
.soeta small{display:block;margin-top:4px;font-size:12px;opacity:.85;overflow-wrap:anywhere}
.soeta span .nw{display:inline;white-space:nowrap}
/* r29 (Ty t276u #5): Free Quote on the name line, Free Sample on the spec line; separate samples cart */
.p .bd.r29 .r1,.p .bd.r29 .r2{display:flex;align-items:center;gap:8px;justify-content:space-between}
.p .bd.r29 .r1 .stl{flex:1;min-width:0;padding:0}
.p .bd.r29 .r1 .acts{margin:0!important;flex:none;align-self:center}
.p .bd.r29 .r1 .acts .btn{width:auto}
.p .bd.r29 .r2{margin-top:4px}
.p .bd.r29 .stl2{flex:1;min-width:0;color:inherit;text-decoration:none}
.p .smpb{flex:none;font:inherit;font-size:9.2px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:5px 11px;border-radius:999px;background:#fff;color:#6f593d;border:1px solid #dccaa9;cursor:pointer}
.p .smpb.on{background:#6f593d;color:#fff;border-color:#6f593d}
.smpl{display:inline-flex;align-items:center;gap:6px;border:1px solid #dccaa9;background:#fff;color:#6f593d;border-radius:999px;padding:6px 10px;font-weight:700;font-size:12.5px;text-decoration:none;white-space:nowrap}
.smpl .cnt{background:#ebe2d3;border-radius:999px;padding:0 6px;font-size:11px}
.smpl[hidden]{display:none!important}
.smplist{list-style:none;padding:0;margin:12px 0}
.smplist li{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 12px;border:1px solid #e8dfcf;border-radius:12px;margin-bottom:8px}
.smplist small{display:block;font-size:12px;opacity:.75;margin-top:2px}
.smx{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid #dccaa9;background:#fff;font-size:18px;line-height:1;cursor:pointer}
.smpsh .flab{display:block;font-size:13px;font-weight:600;margin-top:10px}
.smpsh .flab input,.smpsh .flab textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;padding:10px 12px;border:1px solid #dccaa9;border-radius:10px;font:inherit;font-size:16px}
.smpsh .obtn2{margin-top:14px}
@media(max-width:400px){.smpl .cl{font-size:11.5px}.smpl{padding:5px 8px}}
.p .bd.r29 .st,.p .bd.r29 .st *{white-space:nowrap}
.p .bd.r29 .st{font-size:11.5px}
@media(max-width:420px){.p .smpb{padding:5px 8px;letter-spacing:.04em}.p .bd.r29 .r1 .acts .btn{padding:5px 8px!important;letter-spacing:.04em}.smpl{padding:4px 8px;gap:4px}.smpl .cl{font-size:11px}header .logo,header .brand img{flex:none}}
.p .bd.r29 .chip{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:4px}
.p .bd.r29 .r2{flex-wrap:wrap;row-gap:4px}
.p .bd.r29 .r2 .smpb{margin-left:auto}
@media(max-width:420px){.p .bd.r29 .n{font-size:13px}.p .smpb,.p .bd.r29 .r1 .acts .btn{font-size:8.4px!important;padding:4px 7px!important}.smpl .v{display:none}}
.p .bd.r29 .chip{flex-wrap:nowrap!important}
.p .bd.r29 .stl2{flex:0 0 auto;min-width:auto}
/* r30 (Ty t279u): estimate sheet - sticky title row with X in line, 10% switch outside the re-rendered list */
.scb .sc-shc{padding-top:0}
.sc-sht{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -18px 4px;padding:16px 18px 10px;background:#fff;border-bottom:1px solid #efe8dd}
.sc-shc .sc-sht h2{margin:0;font-size:22px}.sc-sht .sc-x{position:static;flex:none}
button.sc-ex{width:100%;text-align:left;font:inherit;font-size:16px;font-weight:700;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.sc-tg{flex:none;position:relative;width:46px;height:28px;border-radius:999px;background:#cfc6b8;transition:background .15s}
.sc-tg::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.sc-ex[aria-checked="true"] .sc-tg{background:#1f7a3d}.sc-ex[aria-checked="true"] .sc-tg::after{transform:translateX(18px)}
.sc-ex[aria-checked="true"]{border-color:#b9d8c2;background:#f1f8f3}
.sc-ex span,.sc-ex small{text-wrap:balance}

/* r30 (Ty t279u): one font everywhere - Nunito (rounded, big x-height, lining numerals sized with capitals); headings heavy */
body{font-variant-numeric:lining-nums}h1,h2,h3,.pk-ttl,.sc-alh,.sc-pt,.alb .l1,.alb .l1b{font-family:Nunito,system-ui,sans-serif;font-weight:800;letter-spacing:-.005em}
/* r30 (Ty t279u): picker - sticky Done/tabs header (nothing slides over Done), Filters button right of the title, no tap delay */
button,a,label,[role=switch]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.pk-hd{position:sticky;top:-22px;z-index:6;background:#fff;margin:0 -2px;padding:2px 2px 8px;box-shadow:0 8px 8px -8px rgba(0,0,0,.12)}
.pk-hd .pk-tabs{margin-bottom:0}.pk-top{margin:0 44px 10px 0;min-height:44px}.pk-top .btn{flex:none;min-width:88px}
.pk-th{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}
.pk-th .pk-ttl{flex:1;min-width:0}
.pk-fo{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border:1.5px solid #1f1a15;border-radius:999px;background:#fff;color:#1f1a15;font:800 16px Nunito,system-ui,sans-serif;cursor:pointer}
.pk-fo svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.pk-fo em{font-style:normal;min-width:22px;height:22px;border-radius:11px;background:#1f1a15;color:#fff;font-size:13px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.pk-fo i{width:8px;height:8px;border-right:2.4px solid;border-bottom:2.4px solid;transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.pk-fo[aria-expanded="true"]{background:#1f1a15;color:#fff}.pk-fo[aria-expanded="true"] em{background:#fff;color:#1f1a15}.pk-fo[aria-expanded="true"] i{transform:rotate(-135deg) translate(-2px,-2px)}
#pkfp{margin:0 0 12px;padding:12px;border:1px solid #e8e0d4;border-radius:14px;background:#faf7f2}
.pk .pk-nav h3.pk-ttl{font-weight:800}
/* r30: share result card */
.shr-hd{display:flex;align-items:center;gap:14px;margin:4px 44px 14px 0}.shr-hd .sh-st{margin:0}.shr-hd .sh-h{margin:2px 0 0;text-wrap:balance}
.shr-ck{flex:none;width:48px;height:48px;border-radius:50%;background:#1f7a3d;color:#fff;font-size:26px;font-weight:900;display:flex;align-items:center;justify-content:center}
.shr-pk{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shr-pk figure{margin:0;border-radius:14px;overflow:hidden;background:#f6f3ee;border:1px solid #e8e0d4}
.shr-pk img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.shr-pk figcaption{padding:8px 10px;font-weight:800;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shr-n{margin:12px 0 8px;font-size:17px;text-align:center}.shr-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shr-2 .btn{margin-top:10px}.shr-f{text-align:center;margin-top:12px}
/* r30 (Ty t278u): 5% waived at 4,500+ sq ft - struck amount + quiet tag */
.wvs{color:#8a8176;font-weight:600;text-decoration-thickness:1.5px;margin-right:6px}.wvt{font-style:normal;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#1f7a3d;background:#eaf5ee;border-radius:999px;padding:2px 8px;vertical-align:1px;white-space:nowrap}
/* r30 (Ty t278u): tile = two columns. Left: name, then stock. Right: Free Quote on the name line, Free Sample directly under it, same width */
.p .bd.r29{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;row-gap:5px;align-items:center}
.p .bd.r29 .r1,.p .bd.r29 .r2{display:contents!important}
.p .bd.r29 .stl{grid-column:1;grid-row:1}.p .bd.r29 .r1 .acts{grid-column:2;grid-row:1;display:flex}
.p .bd.r29 .stl2{grid-column:1;grid-row:2;min-width:0!important;flex:none!important;align-self:center}
.p .bd.r29 .r2 .smpb{grid-column:2;grid-row:2;margin:0!important;justify-self:stretch;text-align:center}
.p .bd.r29 .r1 .acts .btn{width:100%!important}
.p .bd.r29 .st,.p .bd.r29 .st *{white-space:normal}.p .bd.r29 .chip{flex-wrap:wrap!important}
.sqc>small{white-space:nowrap}
.p .bd.r29{grid-template-rows:auto auto auto;align-items:start}
.p .bd.r29 .stl{grid-row:1/3;align-self:center}.p .bd.r29 .r1 .acts{grid-row:1}.p .bd.r29 .r2 .smpb{grid-row:2}
.p .bd.r29 .stl2{grid-column:1/-1;grid-row:3}.p .bd.r29 .stl2:has(.st:empty){display:none}
.p .bd.r29 .stl{align-self:start}
/* r30 (Ty t278u): sample photo between the text and the X */
.smplist li>div{flex:1;min-width:0}.smth{flex:none;width:48px;height:48px;border-radius:8px;object-fit:cover;border:1px solid #e8dfcf;background:#f6f3ee}
/* r30 (Ty t278u #5): label appears once every 10s (still ~2.9s visible) */
@keyframes hint10{0%,68%{opacity:0}70.5%,97%{opacity:.92}100%{opacity:0}}
.p .hint{animation-name:hint10!important;animation-duration:10s!important}
/* r30 (Ty t278u #6): quiet Home cue under the MSI logo */
.brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none}.brand .bhome{display:flex;align-items:center;gap:3px;margin-top:2px;font:800 9px/1 Nunito,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2,#8b6f47);opacity:.85}
/* r30 (Ty t278u #8): Collections tiles ~15% bigger (taller photo); title +15%, long titles (HRC Laminate & Hardwood) shrink to fit */
.albums:not(.subs):not(.tiles)>.alb:not(.pk-alb){aspect-ratio:1/.943}
.albums:not(.subs):not(.tiles)>.alb:not(.pk-alb) .l1{font-size:min(15.2px,4.1vw)}
.smth{width:38px;height:38px}
.scb .sc-m h1,.scb .sc-pt,.scb .sc-alh,.scb h2{font-family:Nunito,system-ui,sans-serif;font-weight:800}
/* ===== r31 polish (tablet/desktop + tap targets). Phone text sizes unchanged. ===== */
.hpr{display:none}
.close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0}
.qi .x{min-height:40px;min-width:68px;padding:0 10px;border-radius:999px}
.top nav a.qbtn b.cnt{display:inline-flex;align-items:center;justify-content:center;line-height:1}
@media(min-width:700px){
 .top nav a.qbtn b.cnt{min-width:22px;height:22px;font-size:13px}
 .p .bd.r29 .n{font-size:16px}
 .p .bd.r29 .st,.p .bd.r29 .st *{font-size:13px}
 .p .bd.r29 .acts .btn,.p .bd.r29 .r2 .smpb{font-size:11.5px!important;min-height:34px;padding:0 12px!important}
 .albums.subs{grid-template-columns:repeat(3,1fr)}
 .qi .d small.sp{display:inline}.qi .d small.sp+small.sp::before{content:" · "}
 .qi .d b{display:block}
 .qi .d .sqed{display:flex!important;width:max-content;margin-top:6px}
}
@media(min-width:1100px){
 body{font-size:17px}
 .wrap,.top .in{max-width:1200px}
 .albums.subs{grid-template-columns:repeat(4,1fr)}
 .p .bd.r29 .n{font-size:17px}
 .p .bd.r29 .acts .btn,.p .bd.r29 .r2 .smpb{font-size:12.5px!important;min-height:38px}
 .qi .x{font-size:15px}
}
@media(min-width:800px){
 .tl .hl{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px}
 #sd .hpr{display:block;margin:0!important;padding:0!important;text-indent:0;font-weight:800;font-size:22px;white-space:nowrap}
 .tl .hl .albn{flex-basis:100%}
 .stk .phtop .pplain{display:none}
 .also{max-width:420px}
}

/* d1029: product page Free Quote + Free Sample stack (Free Quote level with the name, Free Sample right under it, same width) */
#sd .tl.t227 .fqs{flex:none;display:grid;grid-auto-rows:1fr;gap:8px;align-self:center;margin-left:auto}
#sd .tl.t227 .fqs>*{width:100%;box-sizing:border-box;margin:0!important}
#sd .tl.t227 .fqs .btn.fq{margin:0!important;justify-content:center;text-align:center}
#sd .smpd{font:inherit;font-weight:700;font-size:clamp(15.3px,4.15vw,18px);line-height:1.35;white-space:nowrap;padding:5px 14px;border-radius:999px;background:#fff;color:#6f593d;border:1px solid #dccaa9;cursor:pointer;text-align:center;touch-action:manipulation;position:relative}
#sd .smpd::after{content:"";position:absolute;inset:-4px -6px}
#sd .smpd.on{background:#6f593d;color:#fff;border-color:#6f593d}
/* r34 (Ty t286u) */
/* 1. tile: In Stock level with Free Sample, same row on every tile */
.p .bd.r29{grid-template-rows:auto auto!important;align-items:center!important}
.p .bd.r29 .stl{grid-row:1!important;align-self:center!important}
.p .bd.r29 .r1 .acts{grid-row:1!important}
.p .bd.r29 .stl2{grid-column:1!important;grid-row:2!important;align-self:center!important;display:block}
.p .bd.r29 .r2 .smpb{grid-row:2!important;grid-column:2!important}
.p .bd.r29 .st,.p .bd.r29 .st *{white-space:nowrap!important}
/* 2. header: MSI + small home icon to its right, centered with the buttons */
.top .in{align-items:center!important}
.top .brand{flex-direction:row!important;align-items:center!important;gap:7px!important}
.top .brand .bhome{margin:0!important;padding:0!important;border:1px solid #dccaa9!important;width:30px;height:30px;border-radius:50%;justify-content:center;font-size:0!important;letter-spacing:0!important;background:#fff;opacity:1;color:#6f593d!important}
.top .brand .bhome svg{width:15px;height:15px}
.top nav{margin-top:0!important;align-self:center}
/* 3. collections: bigger names, ~10% shorter tiles */
.albums .alb{aspect-ratio:1/.85!important}
.albums .alb .l1{font-size:15.5px!important;line-height:1.2}
@media(min-width:700px){.albums .alb .l1{font-size:18px!important}}
.p .bd.r29 .chip{flex-wrap:nowrap!important}
.albums .alb .l1{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-wrap:balance;display:block}
@media(max-width:400px){.p .bd.r29{column-gap:5px!important}.p .bd.r29 .st,.p .bd.r29 .st *{font-size:10.6px!important}.p .bd.r29 .chip{gap:3px!important}.p .bd.r29 .r2 .smpb{padding:4px 6px!important;letter-spacing:.02em!important}}
@media(max-width:400px){.p .bd.r29 .st,.p .bd.r29 .st *{white-space:normal!important;line-height:1.1}.p .bd.r29 .chip{align-items:center!important}}
@media(max-width:400px){.p .bd.r29 .st,.p .bd.r29 .st *{white-space:nowrap!important;font-size:11.5px!important}.p .bd.r29 .chip.vlow,.p .bd.r29 .chip.vlow *{white-space:normal!important;line-height:1.1}.p .bd.r29 .chip.vlow{max-width:72px}}
@media(max-width:375px){.p .bd.r29 .st,.p .bd.r29 .st *{font-size:11px!important}.p .bd.r29 .chip{gap:3px!important}.p .bd.r29{padding-left:8px!important;padding-right:8px!important}}
/* 4. moldings collapsed behind View All Moldings */
.aomd{margin:6px 0 8px;border:1px solid #e4d8c4;border-radius:12px;background:#fbf8f3}
.aomd>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 14px;cursor:pointer;font-weight:800;font-size:15px;color:#6f593d}
.aomd>summary::-webkit-details-marker{display:none}
.aomd>summary .aoms{flex:1}.aomd>summary small{font-weight:600;color:#8b7a63}
.aomd>summary b{font-size:15px;color:#1f1a15}
.aomd>summary svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .2s}
.aomd[open]>summary svg{transform:rotate(180deg)}
.aomd .aomh{display:none}.aomd[open] .aomv{display:none}.aomd[open] .aomh{display:inline}
.aomd .aomb{padding:0 10px 8px}
.aomd .aomb .qi:last-child{margin-bottom:0}
/* 7. whole step line grabs (long press); no iOS text callout on the row */
#scl li{-webkit-touch-callout:none}#scl li.drg,#scl li.drg *{-webkit-user-select:none;user-select:none}
/* 8. Save Format name picker */
.fmn{margin:2px 0 14px}.fmnt{display:block;font-size:14px;color:#6e6256;margin-bottom:8px;font-weight:700}
.fmc{display:flex;flex-wrap:wrap;gap:8px}
.fmc button{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid #dccaa9;background:#fff;color:#6f593d;font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.fmc button[aria-checked=true]{background:#6f593d;border-color:#6f593d;color:#fff}
.fmi{display:block;width:100%;margin-top:10px;height:46px;border:1px solid #cdbb9c;border-radius:12px;padding:0 12px;font:inherit;font-size:16px}
.fmi[hidden]{display:none}
/* 6. r34 (Ty t286u): calm client total. Warm sand panel + thin gold rule instead of a black slab; ~10% smaller numerals (Coulter & Coulter 2005: smaller price type reads as a smaller price); no red. */
.pq-tot{background:#f4ede1!important;color:#2b241e!important;border:1px solid #d9c7a3!important;border-radius:12px!important;padding:9px 15px!important;gap:24px!important;box-shadow:none!important}
.pq-tot span,.pq-tot span *{color:#6f593d!important;font-size:12.5px!important;font-weight:700!important;letter-spacing:.04em}
.pq-tot b{color:#2b241e!important;font-size:20px!important;font-weight:700!important}
.cq-sum .cq-grand{background:#f4ede1;border:1px solid #d9c7a3!important;border-radius:12px;padding:10px 14px!important;margin-top:10px!important;color:#2b241e}
.cq-sum .cq-grand span{color:#6f593d;font-weight:700}
body.shot .cq-sum .cq-grand{font-size:21.5px!important}
/* 9. Share step 1: note + friendly Edit (what the client sees) */
.sh-incw{display:flex;align-items:flex-start;gap:8px;margin:10px 0 8px}.sh-incw .sh-inc{flex:1;margin:0}
.sh-ied{flex:none;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid #dccaa9;background:#fff;color:#6f593d;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.sh-ied svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;transition:transform .2s}.sh-ied[aria-expanded=true] svg{transform:rotate(180deg)}
.sh-iop{margin:0 0 14px;padding:12px 14px;border:1px solid #e4d8c4;border-radius:12px;background:#fbf8f3}.sh-iop[hidden]{display:none}
.sh-iot{margin:0 0 6px;font-weight:800;font-size:15px;color:#6f593d}
.sh-sw{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 0;border:0;background:none;text-align:left;font:inherit;font-size:16px;font-weight:700;color:#1f1a15;cursor:pointer}
.sh-sw span small{display:block;font-size:13.5px;font-weight:500;color:#6e6256}
.sh-sw[aria-checked=true] .sc-tg{background:#1f7a3d}.sh-sw[aria-checked=true] .sc-tg::after{transform:translateX(18px)}
.sh-iof{margin:6px 0 0;font-size:13.5px;color:#6e6256}
/* 11. client cart: text / email my order */
.sc-ord{margin-top:16px;padding-top:14px;border-top:1px solid #e4d8c4;text-align:center}
.sc-ordt{margin:0 0 10px;font-weight:800;font-size:16px;color:#1f1a15}
.sc-ordb{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sc-ob{min-height:52px;border-radius:12px;border:1px solid #cdb68f;background:#fff;color:#6f593d;font:inherit;font-size:16.5px;font-weight:800;cursor:pointer}
.sc-et .sc-efs{display:flex;justify-content:space-between}
/* 10. new tone chips: Greige (beige + gray) and Medium shade */
.sw-greige{background:linear-gradient(135deg,#d8ccb8,#a9a49b)}.sw-medium{background:#b39b7d}
.sh-incw{background:#f3efe7;border-radius:12px;padding:10px 10px 10px 14px;align-items:center;max-width:100%;box-sizing:border-box}
.sh-incw .sh-inc{background:none!important;padding:0!important;margin:0!important;min-width:0;width:auto;font-size:15.5px}
.sh-ied{min-height:40px;padding:0 12px}
/* r35: freight fuel charge info + waiver */
.sc-fi{width:24px;height:24px;min-width:24px;border-radius:50%;border:1.5px solid #6b6b6b;background:#fff;color:#333;font:700 13px/1 Nunito,sans-serif;padding:0;vertical-align:middle;cursor:pointer;position:relative}
.sc-fi::after{content:"";position:absolute;inset:-10px}
.sc-fit{font-size:15px;line-height:1.45;color:#333;background:#f7f4ee;border-radius:10px;padding:10px 12px;margin:4px 0 8px}
.sc-efs s{color:#777}.sc-wv{font-size:12px;color:#2e7d32;font-weight:700;margin-left:4px}
/* r35 (Ty t288u #4): calm tile card (.bd.r35). Undo: TILE35=false in public/app.js */
.p .bd.r35{display:flex!important;flex-direction:column!important;gap:0!important;padding:12px!important}
.p .bd.r35 .stl{display:flex;flex-direction:column;gap:8px;flex:1;padding:0!important;color:inherit;text-decoration:none}
.p .bd.r35 .n{font-weight:800;font-size:15px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.p .bd.r35 .spc{font-size:12.5px;color:#6e6256;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.p .bd.r35 .st{margin:0!important;min-height:18px}.p .bd.r35 .st,.p .bd.r35 .st *{white-space:nowrap!important;font-size:12.5px}
.p .bd.r35 .r4{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.p .bd.r35 .r4 button,.p .bd.r35 .r4 .smpb{min-height:42px!important;width:100%;margin:0;padding:0 4px!important;font-size:12px!important;border-radius:10px;font:800 12px/1.1 Nunito,sans-serif;letter-spacing:.02em;text-transform:none;white-space:nowrap;box-sizing:border-box}
.p .bd.r35 .r4 .btn{background:linear-gradient(180deg,#e2bd72,#c99a4a);color:#2a1c0c;border:1px solid #b8893c}
.p .bd.r35 .r4 .smpb{background:#fff;color:#6f593d;border:1.5px solid #cdbb9c}
.p .bd.r35 .r4 .smpb.on{border-color:#2e7d32;color:#2e7d32}
@media(max-width:375px){.p .bd.r35{padding:10px!important}.p .bd.r35 .n{font-size:14px}.p .bd.r35 .r4{gap:6px}.p .bd.r35 .r4 button,.p .bd.r35 .r4 .smpb{font-size:11.5px!important}}
@media(min-width:700px){.p .bd.r35 .n{font-size:16px}.p .bd.r35 .r4 button,.p .bd.r35 .r4 .smpb{font-size:13.5px!important;min-height:44px!important}}
.p .bd.r35 .r4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.p .bd.r35 .r4 button,.p .bd.r35 .r4 .smpb{min-width:0;letter-spacing:0!important;overflow:hidden}
@media(max-width:400px){.p .bd.r35 .r4{gap:6px}.p .bd.r35 .r4 button,.p .bd.r35 .r4 .smpb{font-size:11px!important;padding:0 2px!important}}
@media(max-width:375px){.p .bd.r35 .r4 button,.p .bd.r35 .r4 .smpb{white-space:normal!important;font-size:12px!important;line-height:1.1!important;padding:2px 4px!important}}
/* r35 idea 2: Back to top. Undo: IDEA2=false in public/app.js */
.totop{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:54px;height:54px;border-radius:50%;border:1px solid #dccaa9;background:rgba(255,255,255,.96);color:#6f593d;font:800 11px/1 Nunito,sans-serif;box-shadow:0 4px 14px rgba(0,0,0,.14);cursor:pointer}
.totop[hidden]{display:none}
@media print{.totop{display:none!important}}
/* r36: reserve the page area while the catalog loads, so the footer never jumps (slow 3G layout shift) */
#app{min-height:100vh}
/* r36: with large phone text (200%) the tile buttons grow and wrap instead of clipping */
.p .bd.r35 .r4 button,.p .bd.r35 .r4 .smpb{overflow:visible!important;white-space:normal!important;height:auto!important;padding-top:4px!important;padding-bottom:4px!important}
/* r36 idea 4: color count pill (IDEA4 in public/sharepro.js) */
.sh-cc button small.i4n{margin-left:6px;min-width:26px;padding:2px 7px;border-radius:999px;background:#f1ebe1;color:#6e6256;font-size:12.5px;font-weight:700;line-height:1.3;text-align:center}
/* r37 idea 5: friendly empty quote (IDEA5 in public/app.js) */
.empty.e5{padding:34px 18px 30px;margin:8px 0 18px;background:#fff;border:1px solid #eadfcd;border-radius:18px}
.empty.e5 svg{display:block;margin:0 auto 10px}
.empty.e5 .ems{font-size:17px;line-height:1.45;margin:8px auto 18px;max-width:300px;color:#5e554b}
.e5b{display:flex;flex-direction:column;gap:10px;max-width:320px;margin:0 auto}
.e5b .e5p,.e5b .e5s{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:14px;font:800 17px Nunito,sans-serif;text-decoration:none;cursor:pointer}
.e5b .e5p{background:linear-gradient(180deg,#e2bd72,#c99a4a);color:#2a1c0c;border:1px solid #b8893c}
.e5b .e5s{background:#fff;color:#6f593d;border:1.5px solid #cdbb9c}
/* r37 idea 6: product page actions full width, Free Quote filled + Free Sample outlined (IDEA6) */
html.i6 #sd .tl.t227{flex-wrap:wrap!important}
html.i6 #sd .tl.t227 .fqs{flex:1 1 100%!important;display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 4px!important;width:100%}
html.i6 #sd .tl.t227 .fqs .btn.fq,html.i6 #sd .tl.t227 .fqs .smpd{min-height:52px!important;width:100%!important;margin:0!important;border-radius:14px!important;font:800 17px/1.1 Nunito,sans-serif!important;letter-spacing:0!important;text-transform:none!important;padding:0 8px!important}
html.i6 #sd .tl.t227 .fqs .btn.fq{background:linear-gradient(180deg,#e2bd72,#c99a4a)!important;color:#2a1c0c!important;border:1px solid #b8893c!important}
html.i6 #sd .tl.t227 .fqs .smpd{background:#fff!important;color:#6f593d!important;border:1.5px solid #cdbb9c!important}
html.i6 #sd .tl.t227 .fqs .smpd.on{color:#2e7d32!important;border-color:#2e7d32!important}
/* r37 idea 8: home intro line + even 16px side margins (IDEA8) */
html.i8 .home .intro .i8s{margin:2px 0 12px;font-size:16px;line-height:1.4;color:#6e6256;text-wrap:balance}
@media(max-width:699px){html.i8 .home{padding-left:16px!important;padding-right:16px!important}html.i8 .home .albums{gap:12px!important}}
html.i6 #sd .tl.t227 .hl{flex:1 1 100%!important}html.i6 #sd .tl.t227 .fqs{grid-auto-rows:auto!important;margin-left:0!important;align-self:stretch!important}
/* r37 idea 7 (IDEA7 in public/share.js): one level down, the Back button alone - no repeat breadcrumb row */
#sccrumb.i7 ol{display:none}
/* r37 idea 9 (IDEA9 in public/share.js): friendly empty client cart */
.i9e{text-align:center;padding:26px 10px 18px}.i9e svg{display:block;margin:0 auto 8px}.i9h{margin:0;font-size:21px;font-weight:800;color:#1f1a15}.i9s{margin:8px auto 18px;max-width:290px;font-size:17px;line-height:1.45;color:#5e554b}
.i9b{min-height:52px;width:100%;max-width:300px;border-radius:14px;border:1px solid #b8893c;background:linear-gradient(180deg,#e2bd72,#c99a4a);color:#2a1c0c;font:800 17px Nunito,sans-serif;cursor:pointer}
#scsh.i9on .sc-shc>:not(.sc-sht):not(#scest){display:none!important}
/* r38 (VP): MSI item code on its own row under its label where the side column is too narrow (360 / tablet), so codes like SMOT-MARBLYNX-POL10MM stay on one line; long names fit one line on tablets */
@media(max-width:374px),(min-width:800px) and (max-width:1099px){.kvrow .kv dt:has(+dd.ic){grid-column:1/-1;margin-bottom:-2px}.kvrow .kv dd.ic{grid-column:1/-1;font-size:inherit!important}}
@media(min-width:800px) and (max-width:1099px){#sd .tl.t5 h1,#sd .tl.t227 h1{font-size:35px!important}}
.q200{font-size:16px;font-weight:700;line-height:1.4;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#fbefe9}
.sc-fi{z-index:2}.sc-fi::after{inset:-11px}   /* r38 (VP): the invisible 46px tap area sits above the price and the next row, so the whole area answers a tap */
/* r39: molding header pencil + Remove all, Molding Prices sheet */
.aomd>summary .aoed,.aomd>summary .aorm{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-6px -6px -6px 0;border:0;background:none;color:#8b7a63;border-radius:50%;cursor:pointer;font:700 24px/1 Nunito,sans-serif}
.aomd>summary .aorm{color:#9b3b2f;margin-left:-8px}
.aomd>summary .aoed:active,.aomd>summary .aorm:active{background:#f1ebe1}
.aoel{list-style:none;margin:10px 0 6px;padding:0}
.aoer{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee5d6}
.aoen{min-width:0}.aoen b{display:block;font-size:16px}.aoen small{display:block;font-size:13px;color:#6e6256;margin-top:2px}
.aoeflag{color:#9b3b2f;font-weight:700;white-space:nowrap}
.aoei{flex:none;display:flex;align-items:center;gap:4px;border:1.5px solid #cdbb9c;border-radius:12px;padding:0 10px;height:46px;background:#fff}
.aoei span{color:#6e6256;font-weight:700}.aoei input{width:72px;border:0;outline:0;font:700 17px Nunito,sans-serif;background:none}
.aoem{min-height:20px;font-size:15px;color:#2e7d32;margin:6px 0}
.aorb{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.sc-ao{position:relative}.sc-ao .sc-aorm{position:absolute;right:44px;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border:0;background:none;color:#9b3b2f;font:700 24px/1 Nunito,sans-serif;border-radius:50%;cursor:pointer}
.sc-ao .sc-aorm+.sc-aot{padding-right:92px}
/* r39 (Ty t292u #1): with Samples showing, the header never overlaps the MSI home button. Phones: smaller logo, "Quote" label; the home icon keeps its spot */
.top .in{min-width:0}.top .brand{flex:none!important}.top nav{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}
@media(max-width:430px){.top.hs .logo{height:34px!important}.top.hs .brand{gap:5px!important}.top.hs .brand .bhome{width:28px!important;height:28px!important}
 .top.hs .qbtn .cl .v5{display:none}.top.hs .qbtn{padding-left:9px!important;padding-right:9px!important;gap:5px!important}.top.hs .smpl{padding:5px 8px!important;gap:4px!important}.top.hs .sp{display:none}}
/* r39 (Ty t292u #3): shorter tile (.t39). Undo: TILE39=false in public/app.js */
.p .bd.r35.t39{padding:10px 12px 12px!important}
.p .bd.r35.t39 .stl{gap:4px}
.p .bd.r35.t39 .r2l{display:flex;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:2px}
.p .bd.r35.t39 .r2l .spc{flex:none;white-space:nowrap;font-size:13px}
.p .bd.r35.t39 .r2l .st{flex:none;min-height:0}
.p .bd.r35.t39 .r4{margin-top:8px;gap:6px;justify-content:start}
.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{position:relative;min-height:34px!important;height:34px!important;border-radius:999px!important;font-size:12.5px!important;white-space:nowrap!important;padding:0 6px!important;overflow:visible!important}
.p .bd.r35.t39 .r4 button::before{content:"";position:absolute;left:0;right:0;top:-5px;bottom:-5px}
@media(max-width:375px){.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{font-size:11.5px!important;padding:0 3px!important}}
@media(min-width:700px){.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{height:38px!important;font-size:13.5px!important}}
.p .bd.r35.t39 .r4{display:flex!important;gap:6px}
.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{flex:1 1 0;width:auto!important;min-width:0;letter-spacing:-.01em!important}
@media(max-width:400px){.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{font-size:11.5px!important;padding:0 2px!important}}
@media(max-width:375px){.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{font-size:11px!important}.p .bd.r35.t39{padding-left:10px!important;padding-right:10px!important}}
/* r39 (Ty t294u): the dismissed "pre-made quote" tip stayed on top (opacity 0) and ate every tap on the quote header */
.pq-tip[hidden]{display:none!important}.pq-tip.out{pointer-events:none!important}
/* r39: quote header edit cue (pro only) */
.pq-e[data-bk],.pq-e[data-tk=q],.pq-e[data-tk=date],.pq-e[data-tk=valid],.pq-e[data-tk=dl],.pq-e[data-tk=vl]{border-bottom:1px dashed #d8ccb6;min-height:1.2em;min-width:2em;display:inline-block}
.pq-e[data-bk]:focus,.pq-e[data-tk]:focus{border-bottom-color:transparent}
.pq-ad{margin-top:2px}.pq-ro{color:inherit}
/* r39 share settings molding editor entry */
.sh-aoed{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:48px;margin:8px 0 0;padding:10px 12px;border:1.5px solid #c9b27a;border-radius:10px;background:#fff;font:700 17px Nunito,sans-serif;color:#222;text-align:left;cursor:pointer}
.sh-aoed small{font-weight:400;font-size:15px;color:#555}
/* r39 DOC39 (Ty t295u): letter-size quote page, scaled to fit; false = remove .ldoc in worker.js */
.ldoc .pq{width:816px;max-width:none;min-height:1056px;margin:0 auto}
@media(max-width:860px){.ldoc .pq{margin:0 auto}}
.ldoc{background:#e9e5df;padding:10px 0 18px}
.ld-bar{display:flex;gap:8px;justify-content:center;padding:0 8px 10px;font-family:Nunito,sans-serif}
.ld-b{flex:1;max-width:160px;min-height:48px;border:1.5px solid #8a6d3b;border-radius:12px;background:#fff;color:#4a3a22;font:800 18px Nunito,sans-serif;cursor:pointer}
.ld-b.ld-p{background:#8a6d3b;color:#fff}
@media print{.ld-bar,.pqp>:not(#pq),body:has(>.pqp)>:not(.pqp),.pq-tip,.pq-x{display:none!important}.ldoc{background:#fff;padding:0}.ldoc .pq{zoom:1!important;box-shadow:none;width:auto;min-height:0}}
/* r39 (Ty t296u): size-group tiles inside an album (12X24 Tile, 24X24 Tile...) back to their full original height; main Collections tiles stay shorter */
.albums.subs .alb{aspect-ratio:1/1.04!important}

/* ux1030 (daily UX): client photo viewer shows the box price under the sq ft price, like the product card (only when the pro shows box prices) */
.sc-lbpw{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.sc-lbc .sc-lbbx{color:#cfc6b9;font-size:14px;font-weight:600;white-space:nowrap}
.sc-lbc .sc-lbbx small{font-size:inherit;color:inherit}
@media(max-width:600px){.sc-lbpw{width:min-content}.sc-lbpw .sc-lbpr{white-space:nowrap}.sc-lbc .sc-lbbx{white-space:normal}.sc-lbc .sc-lbbx small{display:block;white-space:nowrap}}
.sc-lbbx[hidden]{display:none}
@media print{.pq-e:empty{display:none!important}}
/* r42 (Ty t299u): tier C - no quote features (the server also refuses them and sends no prices) */
.tc #cartl,.tc [data-a=q],.tc [data-gq],.tc #adminl,.tc #adminf,.tc #adminfs,.tc .aoed,.tc [data-aoed]{display:none!important}
.tc .p .bd.r35 .r4{grid-template-columns:1fr!important}
.tc .fqs{justify-content:flex-end}
.pvbar{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;justify-content:center;padding:8px 12px;background:#2b241e;color:#fff;font:600 16px Nunito,sans-serif}
.pvbar a{color:#f3d9a0;font-weight:800;text-decoration:underline;min-height:32px;display:inline-flex;align-items:center}
/* r42 (Ty t299u): Samples + View / Edit Quote sit at the right edge, clear of the MSI home button. Order: Samples, then Quote (Quote keeps its corner spot whether or not Samples shows) */
.top.hs .sp{display:block!important;flex:1 1 0;min-width:12px}
.top .smpl{margin-right:2px}
/* r42 (Ty t299u): Free Quote = soft light-gold tint instead of the thick dark gold (tiles + product page, all tiers) */
.p .bd.r35 .r4 .btn,button.btn[data-a=q],.fqs .btn.fq{background:#f6ecd6!important;background-image:none!important;color:#5c4523!important;border:1.5px solid #e0c98f!important;box-shadow:none!important;text-shadow:none!important}
.p .bd.r35 .r4 .btn:active,.fqs .btn.fq:active{background:#efdfbd!important}
html body #app .fqs button.btn[data-gq],html body #sd .fqs button.btn[data-gq],html body .fqs button.btn[data-gq]{background:#f6ecd6!important;background-image:none!important;color:#5c4523!important;border:1.5px solid #e0c98f!important;box-shadow:none!important;text-shadow:none!important}
html.i6 #sd .tl.t227 .fqs .btn.fq[data-gq],html.i6 #sd .tl .fqs .btn.fq{background:#f6ecd6!important;background-image:none!important;color:#5c4523!important;border:1.5px solid #e0c98f!important;box-shadow:none!important}
/* r44 (Ty t304u): roomier tile pills. Each pill sizes to its words with >= 9px inside on both sides, a wider gap between them, and the pair centered in the tile (it may use the tile's side padding on phones). Tiny phones (< 381px) stack them so nothing is cramped. */
.p .bd.r35.t39 .r4{display:flex!important;justify-content:center!important;gap:8px!important;margin-left:-7px!important;margin-right:-7px!important}
.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{flex:0 0 auto!important;width:auto!important;padding:0 9px!important;font-size:11px!important;font-weight:700!important;letter-spacing:0!important;white-space:nowrap!important}
@media(min-width:431px){.p .bd.r35.t39 .r4{gap:10px!important;margin-left:0!important;margin-right:0!important}.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{flex:1 1 0!important;max-width:150px;padding:0 12px!important;font-size:12.5px!important}}
@media(min-width:700px){.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{font-size:13.5px!important;padding:0 14px!important}}
@media(max-width:380px){.p .bd.r35.t39 .r4{flex-direction:column!important;align-items:stretch!important;gap:8px!important;margin-left:0!important;margin-right:0!important}.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{font-size:12px!important;padding:0 10px!important}}
/* tier C: only Free Sample - one comfortable centered pill */
.tc .p .bd.r35.t39 .r4 .smpb{flex:0 0 auto!important;min-width:62%;max-width:100%;padding:0 16px!important}
@media(max-width:380px){.tc .p .bd.r35.t39 .r4{align-items:center!important}}
@media(min-width:381px) and (max-width:430px){.p .bd.r35.t39 .r4 button,.p .bd.r35.t39 .r4 .smpb{padding:0 8.5px!important}.p .bd.r35.t39 .r4 .smpb{min-width:81px}}

/* slab dept: compact yard chips (phone-first) */
.yds{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:6px}.yd{font-size:12px;line-height:1.2;padding:3px 8px;border:1px solid #d9d0c4;border-radius:999px;white-space:nowrap;color:#4a423a}.yd b{font-weight:800}
/* r51 (Desktop QA P1-2..P2-6): desktop-only (>=1024px / >=1100px / >=1600px); phones and tablets unchanged */
@media(min-width:1024px){a.hide-s,.qbtn .cl,.qbtn .cnt,.cl .v5,footer.ft,footer.ft a,footer.ft span,.crumb,.crumb a,.crumb .nw,.arow .l2,.arow .apill,.apill .u,.gcnt,.gcnt span,.phcol .gsrc,.reg h3,.reg .soon,.msib small,p.fine,.also .al,.also a,.qpage h3.bh,.qpage .btn small{font-size:14px!important}
  .qpage p.fine,.also a{line-height:1.4}
  .p{transition:box-shadow .18s ease,transform .18s ease}.p:hover{box-shadow:0 10px 24px rgba(0,0,0,.12);transform:translateY(-2px)}
  .alb{transition:box-shadow .18s ease}.alb:hover{box-shadow:0 10px 24px rgba(0,0,0,.14)}}
input[type=search]:focus-visible,input[type=search]:focus{outline:2px solid var(--gold2,#a07a3c);outline-offset:2px}
@media(min-width:1100px){
  main.qpage:has(>#bdw .bk){max-width:1240px;display:grid;grid-template-columns:minmax(0,1fr) 420px;column-gap:28px;align-items:start}
  main.qpage:has(>#bdw .bk)>*{grid-column:1;min-width:0}
  main.qpage:has(>#bdw .bk)>#bdw{grid-column:2;grid-row:1 / span 40;position:sticky;top:84px}}
@media(min-width:1600px){.wrap{max-width:1432px!important}}
@media(min-width:1800px){.albums.subs{grid-template-columns:repeat(5,1fr)}}   /* r53: product grid stays 5 so 14px card buttons fit */
/* r52 (Mobile M1-M3): 44px tap targets on phones/tablets; padding + negative margin so the look is unchanged */
@media(max-width:1023px){
  .crumb a,.also a,footer.ft a{display:inline-block;padding:13px 0;margin:-13px 0}
  a.brand,.qbtn#cartl,#q,.sbox input{min-height:44px;box-sizing:border-box}
  html body .sqed .sqin,html body .qi button.x,html body #lpw .sqv input,html body .sqv input,html body #sbm,html body .mqall,html body #lpw .sqv,html body #lpw .sqv.sqin,html body .sqv input#lab,html body .sqv input#ca,html body main.qpage .sqv:has(#lab),html body main.qpage .sqv:has(#ca){min-height:49px!important;height:49px!important;max-height:none!important;box-sizing:border-box!important}
  html body .mqw .mqx{width:49px!important;height:49px!important;min-width:49px!important;min-height:49px!important}   /* main.qpage has zoom:.9, so 49px = 44px on screen */
  .mqw .mqx,.sc-fav,.sc-x,.sc-fgc,.sc-clr,[data-vw],[aria-label="Clear search"]{min-width:44px!important;min-height:44px!important}}
/* r52 M7/M8: share-cart 'i' gets a 46px invisible hit area; molding -/+ buttons 44px */
.sc-fi::after{content:'';position:absolute;inset:-11px;border-radius:50%}
.sc-aoq button{width:44px!important;height:44px!important;min-width:44px;min-height:44px}
/* r53 D7: product card text >= 14px on desktop (>=1024px only) */
@media(min-width:1024px){html body .sub .price,html body .im .hint,html body .im .ipsf,html body .ipsf b,html body .r2l .spc,html body .st .chip,html body .sub span,
  html body .p .bd.r35.t39 .r4 button,html body .p .bd.r35.t39 .r4 .smpb,html body .p .bd.r35 .r4 button,html body .p .bd.r35 .r4 .smpb,html body .p .bd.r29 .st,html body .p .bd.r29 .st *{font-size:14px!important}
  html body .p .bd.r35.t39 .r4 button,html body .p .bd.r35.t39 .r4 .smpb{white-space:nowrap!important;padding:0 10px!important}}
/* r53 D8: Ctrl+P on the client quote page = the quote only (no sign form, share bar, sticky bar), fit to one page where possible. v43 (.pqp) rules untouched. */
@media print{body.client:not(:has(>.pqp)) .cq-ap,body.client:not(:has(>.pqp)) .cq-shr,body.client:not(:has(>.pqp)) .cq-stk,body.client:not(:has(>.pqp)) .cq-ask,body.client:not(:has(>.pqp)) script{display:none!important}
  body.client:not(:has(>.pqp)) main.cq{zoom:.6;max-width:none;margin:0;padding:0}
  body.client:not(:has(>.pqp)) .cq-i{break-inside:avoid}html:has(body.client:not(:has(>.pqp))),body.client:not(:has(>.pqp)){height:auto!important;min-height:0!important}
  @page{margin:12mm}}
@media(min-width:1024px){html body .cq-ref{font-size:14px!important}}   /* r53 D12 */

/* r57 M7: the share 'i' button itself is a 46px hit target; the visible circle stays 24px */
html body .sc-fi{width:46px!important;height:46px!important;min-width:46px!important;margin:-11px!important;border:0!important;background:radial-gradient(circle,#fff 0 10.5px,#6b6b6b 10.6px 12px,transparent 12.2px)!important;padding:0!important}
html body .sc-fi::after{content:none!important}
/* r57 M10: footer 'Access · Sign out' always separated */
footer.ft #adminf:not([hidden])+#adminfs{display:inline!important}

footer.ft #adminf:not([hidden]){margin-right:2px}
/* r57 M11: stronger bottom scrim so white titles/prices stay legible on light covers (same gradient style) */
html body .alb::after{background:linear-gradient(180deg,rgba(0,0,0,0) 28%,rgba(0,0,0,.5) 58%,rgba(0,0,0,.84))}
html body .alb span,html body .alb .apill{text-shadow:0 1px 4px rgba(0,0,0,.75)}
footer.ft a[hidden],footer.ft span[hidden]:not(#adminfs){display:none!important}   /* r57 M10: hidden Access link really hidden (was forced visible by inline-block) */

/* r58 Flooring #16: OOS share row looks inactive, one label */
.sc-er.sc-eoos .sc-eq{display:none}.sc-er.sc-eoos .sc-en b{color:#6f665b}.sc-er.sc-eoos .sc-en small{color:#a23b2a;font-weight:700}.sc-er.sc-eoos .sc-el:empty{display:none}
/* r61 #5 (M11 at 360): slightly darker scrim + shadow so cover text clears 4.5:1 (remove this block to revert) */
html body .alb::after{background:linear-gradient(180deg,rgba(0,0,0,0) 26%,rgba(0,0,0,.56) 56%,rgba(0,0,0,.88))}
html body .alb span,html body .alb .apill{text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.6)}
/* r61 #4 (D6/D16): Ctrl+P on the cart = one clean page, lines + totals only. Print CSS only; never applies to the PRINT v43 page (.pqp) */
@media print{body:not(:has(>.pqp)):has(main.qpage)>:not(#app),body:not(:has(>.pqp)):has(main.qpage) #app>:not(main.qpage),main.qpage .x,main.qpage .mqh,main.qpage .myq,main.qpage #mqall,main.qpage .undo,main.qpage button,main.qpage .btn,main.qpage .apcur,main.qpage .todo{display:none!important}
main.qpage .qi{break-inside:avoid}main.qpage .sqin{border:0;background:none}}
/* r62: More MSI Products (secondary catalog) */
.home .shr.more{margin:0 0 8px}
.moretop{position:sticky;top:0;z-index:6;background:#fbf8f2;margin:0 -4px;padding:0 4px;border-bottom:1px solid #eadfcd}
.moreback{display:inline-flex;align-items:center;min-height:44px;padding:6px 2px;font-weight:700;font-size:17px;color:#5b4a36;text-decoration:none}
.moreback:hover{text-decoration:underline}
.moreintro{color:#6f665b;font-size:16px;text-wrap:balance}
.morefoot{display:flex;justify-content:center;margin:28px 0 8px}
.chip.ships{background:#ece8e1;color:#4a4339;border:1px solid #d3cbbd;font-size:14px;font-weight:600;margin-left:6px}
.shipln{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0;color:#4a4339;font-size:15px}
.shipln .chip.ships{margin-left:0}
.shipc{display:block;margin-top:3px;font-size:13px;color:#4a4339}
.saleln{display:block;margin:4px 0 2px;font-size:13px;line-height:1.35;color:#6f665b;text-decoration:underline;text-decoration-color:#cbbfae;text-underline-offset:2px}
.saleln:hover{color:#4a4339}
.shr.more .shbtn{text-decoration:none}
.tc .shr:not(.more),.tc #shb,.tc #shm,.tc #adminl,.tc #adminf,.tc #adminfs{display:none!important}   /* r63 Desk P1: no seller tools for tier C */
/* r63 Phone QA M16-M18 (/more pages only) */
.saleln{display:flex;align-items:center;min-height:44px;margin:0}
.moretop~.sec .p .st{display:flex;flex-wrap:wrap;gap:4px;max-width:100%;min-width:0}
.moretop~.sec .p .st .chip,.shipln .chip.ships{white-space:normal;max-width:100%;overflow-wrap:anywhere}
.moretop~.sec .p .chip.ships{margin-left:0}
.wrap.more .moreintro{font-size:16px!important;line-height:1.45}
/* r63 D19: sticky back bar sits just below the sticky header (123px phone/tablet, 127px desktop) */
.moretop{top:123px}
@media(min-width:801px){.moretop{top:127px}}
/* r64 (Desk #14 a): Free Sample / Free Quote on /more cards are visibly 44px tall at every width (Favorites cards unchanged) */
.moretop~.sec .p .bd.r35.t39 .r4 button,.moretop~.sec .p .bd.r35.t39 .r4 .smpb{min-height:44px!important;height:44px!important}
/* r72 (Desk): at 360 the home album subtitles ("8 albums · Azula Kaya Polished") were clipped; wrap to 2 balanced lines, ellipsis after. 375+ unchanged. */
@media(max-width:374px),(min-width:561px) and (max-width:1099px){.home .albums .alb span .arow .l2:only-child{flex:1 1 100%;min-width:0;max-width:100%;white-space:normal;text-wrap:balance;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}}
/* r73: View Specs sheet + Out of Stock / Discontinued (only render when the server switches are ON) */
.r73s{margin:12px 0 0;width:100%;max-width:420px}
.r73kv{display:grid;grid-template-columns:minmax(0,46%) 1fr;gap:8px 12px;margin:12px 0 4px;font-size:15px}.r73kv dt{color:var(--soft);font-weight:600}.r73kv dd{margin:0}
.r73n h2{margin-top:0}.r73h{text-align:center;margin:18px 0 4px}
.r73l{list-style:none;padding:0;margin:8px 0 18px;display:grid;gap:10px}@media(min-width:700px){.r73l{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.r73l{grid-template-columns:repeat(3,1fr)}}
.r73l a{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;padding:8px;border:1px solid #e6dfd3;border-radius:12px;background:#fff}.r73l img{width:64px;height:64px;object-fit:cover;border-radius:8px;flex:none}.r73l span{display:flex;flex-direction:column;min-width:0}.r73l small{color:var(--soft)}
.r73y{margin:18px 0 4px;font-size:20px}
/* r74 (Desk): pro rows too - the subtitle wraps (2 lines + ellipsis) beside "From $", which never drops to its own line; 375-389 gap closed. 390 unchanged. */
@media(max-width:389px),(min-width:561px) and (max-width:1099px){.home .albums .alb span .arow{flex-wrap:nowrap;align-items:flex-end;column-gap:6px}.home .albums .alb span .arow .l2{flex:1 1 0;min-width:0;white-space:normal;text-wrap:balance;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}.home .albums .alb span .arow>:not(.l2){flex:none}}
/* r74 Flooring #12: Out of Stock badge on product cards, search results and the product page (catalog flag v.oos) */
.oosb{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:#7a2e22;color:#fff;line-height:1.5}
.sr .oosb{margin-top:3px;align-self:flex-start}
/* r76 (Ty): UPS weight note */
.wnote,.sc-wn{margin:4px 0 6px;font-size:12.5px;color:var(--soft);line-height:1.35}

/* slab extras: discontinued badge/note, View Specs, visualizer link */
.discb{display:inline-block;margin:0 0 4px;padding:3px 8px;border-radius:6px;background:#f3e6d3;color:#6b4a1f;font-size:11.5px;font-weight:800;letter-spacing:.02em}
.visln{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;color:#3a2f24;text-decoration:underline;text-underline-offset:3px}
.r73kv{grid-template-columns:minmax(0,34%) minmax(0,1fr)!important}.r73kv dt,.r73kv dd{min-width:0;overflow-wrap:anywhere}
.nostk{margin:22px 0 8px;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid #e4d9c7}.nostk h2{margin:0 0 4px;font-size:18px}.nostk p{margin:0;font-size:14px;color:#5d554b}

/* r6x (Ty pt23u): slab SALE price = bundle; loose price struck through */
.saletag{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:4px;background:#b3261e;color:#fff!important;font-size:10.5px;font-weight:800;letter-spacing:.06em;line-height:1.2;vertical-align:middle;text-shadow:none!important}
.was{margin-left:6px;font-weight:500;opacity:.8;text-decoration:line-through;text-decoration-thickness:1.5px}
.hpr .was{font-size:.82em;color:#6f665b}.hpr .saletag{font-size:12px;padding:3px 8px}
.apill .saletag,.ipsf .saletag{margin-left:5px;padding:2px 5px;font-size:9.5px;letter-spacing:.05em;align-self:center}
.pplain .was{font-size:.8em;color:#6f665b}.pplain .saletag{font-size:11px;padding:3px 7px}

/* PROPOSAL q4: slab sort bar + budget picks (same chips, radius and type as the site) */
.sortb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 14px;font-size:13px;color:var(--soft);font-weight:600}
.sortb button{border:1px solid #d9cbb3;background:#fff;color:#3a2f24;border-radius:999px;padding:7px 12px;font:700 13px Nunito,system-ui,sans-serif;min-height:36px}
.sortb button.on{background:#1f1a15;color:#fff;border-color:#1f1a15}
.budg{margin:4px 0 22px}.budg h2{margin:0;font-size:22px}.budg .bsub{margin:2px 0 10px;color:var(--soft);font-size:13px}
.bscroll{display:grid;grid-auto-flow:column;grid-auto-columns:150px;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
@media(min-width:700px){.bscroll{grid-auto-columns:200px}}
.bpick{scroll-snap-align:start;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:#1f1a15;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.12);padding-bottom:10px}
.bpick img{width:100%;aspect-ratio:1;object-fit:cover}.bpick b{padding:0 10px;font-size:14px}.bpick span{padding:0 10px;font-weight:800;font-size:14px}.bpick small{font-weight:600;color:#5d554b}
/* r75: spec sheet help + source */
.r73h2{margin:10px 0 4px;font-size:14px}.r73h2 summary{cursor:pointer;font-weight:700;padding:6px 0}.r73h2 p{margin:6px 0;line-height:1.4;color:var(--soft)}.r73src{font-size:13px;margin:8px 0 2px}
/* r80: Access page v2 (ADMIN_V2) */
.av2bar{display:flex;gap:8px;margin:8px 0}.av2bar input{flex:1;min-width:0;min-height:44px}.av2bar select{flex:none;max-width:46%;min-height:44px}
.av2 details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:10px 0;padding:0 10px}
.av2 summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;cursor:pointer;font-weight:700;list-style:none}.av2 summary::-webkit-details-marker{display:none}
.av2 summary b{background:#f3ede3;color:var(--gold2);border-radius:999px;padding:2px 10px;font-size:12.5px}.av2 summary::after{content:'▾';margin-left:8px;color:var(--soft)}.av2 details[open]>summary::after{content:'▴'}
.av2g .qi{margin:8px 0}.av2g .qi small{overflow-wrap:anywhere}.av2g>.btn{margin:4px 0 10px}.av2add form{padding-bottom:6px}
.av2g .qi .d{line-height:1.3}.av2g .qi .d b{font-size:15px}

/* r81: grouped flooring freight + 5% (no divider), slab freight info */
.bk .frw{border-bottom:1px solid #f0ebe3}.bk .frw .ln2{border-bottom:0}
.frw .frt,.sc-et .frw .frt{margin:0 0 8px;padding:8px 10px;background:#f3ede3;border-radius:8px;font-size:13.5px;line-height:1.45;color:#3d3a35;text-wrap:pretty}
.sc-et .frg>div{border-bottom:0!important;border-top:0!important}
.frw .ln2 span,.sc-et .frw span{flex-direction:row!important;align-items:center;flex-wrap:nowrap}
html body .bk .fri{width:50px!important;height:50px!important;min-width:50px!important;margin:-13px -13px -13px -11px!important;flex:none}.fri{flex:none}.sc-fi[hidden]{display:none!important}
.sc-et .frw{display:block!important;padding:0!important}.sc-et .frw>div{display:flex;justify-content:space-between;padding:6px 0}.sc-et .frw>div>span{display:flex;align-items:center}

/* r83 (C&S F6): PRICE TBD cart line */
.tbdl .tbdp{font-weight:800;color:#6b5a45;white-space:nowrap}
.sortb.srt1{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.sortb.srt1 label{font-weight:800}.sortb.srt1 select{min-height:44px;font-size:16px;padding:0 10px;border:1px solid #d9cbb3;border-radius:10px;background:#fff;max-width:100%}
/* r83b More details (MD_ON) */ details.mdx{margin:10px 0}details.mdx>summary{min-height:48px;display:flex;align-items:center;font-size:16px;font-weight:800;padding:0 14px;border:1px solid #d9cbb3;border-radius:12px;cursor:pointer;background:#fff}.mdb{font-size:16px;margin:6px 0}.st1{font-size:16px}
/* r83b (Flooring declutter #7): no client text under 12.5px on screen (print untouched) */
@media screen{.p small.l2,.p small.l3,.p small.u,small.l2,small.l3,small.u,small.f,b.cnt,b.l1b,em.apill,.ipsf,.r4 .btn,.smpb,footer.ft,footer.ft a,.fsep,.gsrc,h3.bh,.hint{font-size:13px!important}.r4 .btn,.smpb{min-height:40px}}
@media screen{html body .grid .p .r4 .btn,html body .grid .p .smpb,html body .grid .p .hint,html body .scb .alb .arow small.l2,html body .scb .alb .arow .apill,html body .alb .arow small.l2,html body .alb .arow .apill{font-size:13px!important}}
@media screen{html body .grid .p .bd.r35 .r4 button,html body .grid .p .bd.r35 .r4 .smpb,html body .grid .p .bd.r35.t39 .r4 button,html body .grid .p .bd.r35.t39 .r4 .smpb{font-size:13px!important}html body .sc-alv .alb .arow small.l2,html body .sc-alv .alb .arow .apill{font-size:13px!important}}
.s2.st1{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.s2.st1 .lv{display:inline;font-weight:800}
.chip.ask{background:#eee;color:#4a4a4a}.s2.st1 .lv.in{color:#1d6b35}.s2.st1 .lv.low{color:#8a5a00}.s2.st1 .lv.vlow{color:#a3271b}
.cq-est{font-size:16px;color:#4a4036;margin:16px 0}@media print{.cq-est,.estl{display:none!important}}   /* r83e: PRINT v43 unchanged */
/* P1-2 watermark (switch OFF) */.wm{position:fixed;inset:0;pointer-events:none;z-index:2147483000;overflow:hidden;display:flex;flex-wrap:wrap;align-content:space-around;justify-content:space-around;gap:90px 40px;transform:rotate(-24deg) scale(1.4);opacity:.3}.wm span{font:600 14px/1 Nunito,system-ui,sans-serif;color:rgba(90,80,70,.35);white-space:nowrap;user-select:none}@media print{.wm{display:none!important}}
.mss .mst{font-size:16px}.msf{border:0;padding:0;margin:12px 0}.msf legend{font-weight:800;font-size:16px}.msf .chk{display:flex;gap:10px;align-items:center;min-height:48px;font-size:17px}.msl li{margin:6px 0;font-size:16px}
/* C&S F8 + flooring one-line amber */
.mqd>summary{cursor:pointer;list-style:revert}.soeta.one{display:block}.soeta.one b{font-size:14px}
/* r85b Quick Order */
.qod{margin:10px 0 14px;border:1px solid #e3dccf;border-radius:10px;padding:8px 12px}.qod>summary{cursor:pointer;font-weight:700;min-height:24px}.qod textarea{width:100%;font:15px/1.4 ui-monospace,monospace;margin-top:6px;box-sizing:border-box}.qoa{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
/* r85c export (switch OFF) */
.mqe{display:flex;gap:6px;width:100%;margin-top:4px}.mqe .btn{min-height:32px;padding:4px 10px;font-size:13px}
/* Desk 23:10: surcharge grouped under Flooring Freight, no divider */
.frg .ln2.frs{border-top:0!important;margin-top:-4px}
/* r85 cart stock line */
.cst{display:block;font-size:13px;font-weight:600;margin:2px 0}.cst.lv.high,.cst.lv.in{color:#1d6b35}.cst.lv.low,.cst.lv.vlow{color:#8a5a00}.cst.lv.none{color:#a32020}.cst.lv.ask{color:#555}
.sc-fi{position:relative}.sc-fi::after{content:'';position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}   /* r94: 44px tap target on info buttons */
body.scb small.l2{display:block;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}   /* r94: tier C share at 390, no run-off */
/* r95: Sidemark / PO#, stock-as-of stamp, call/text button (each behind its own Ty-only switch). cq-sm is screen-only so print is unchanged. */
.smf{display:block;margin-top:8px;font-weight:700;font-size:16px}#qsm{font-size:16px;text-transform:uppercase;min-height:44px}.smw{display:block;color:#92400e;font-size:16px;margin-top:4px}
.sta{display:block;margin-top:2px;color:var(--soft);font-size:14px}
.cq-sm{display:none}@media screen{.cq-sm{display:block;margin:4px 0 0;font-size:16px}}
.callty{display:flex;gap:10px;margin:10px 0}.ct-b{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:88px;padding:0 16px;border-radius:22px;background:#1d4ed8;color:#fff;font-weight:700;text-decoration:none}
.sc-smc{display:block;font-size:13px;color:#d8ccb8;margin-top:2px}.sc-smc b{color:#fff;letter-spacing:.03em}
/* r96 M21/M22 (screen only; print untouched): 44px taps, 16px inputs on phones */
@media screen and (min-width:601px){.top nav a,.top nav button{min-height:44px;display:inline-flex;align-items:center}}@media screen{.ft a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}.cq-sgcl{min-height:44px}}
@media screen and (max-width:600px){.client input,.client select,.client textarea,.sh-in,#q input[type=search],#search{font-size:16px}.client .sc-fg legend,.client .sc-sw span,.client .sc-ty span{font-size:16px}.client .sc-fgn,.client .sc-sw small,.client .sc-ty small{font-size:14px}}
.visnote{display:block;font-size:13px;color:#6f665b;margin-top:4px}
.qoh{font-weight:700}@media (max-width:1023px){#qoh{display:none!important}}.rvs{margin:8px 0 12px;padding:8px 12px;border:1px solid #e4dccd;border-radius:10px;background:#fff}.rvs summary{min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:600}.rvs summary small{font-weight:400;color:#6f665b}.rvl{display:flex;flex-wrap:wrap;gap:8px}.rvl a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid #d8ccb8;border-radius:999px;text-decoration:none;max-width:100%;overflow-wrap:anywhere}.rva{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}.favl{margin-top:10px;display:grid;gap:8px}
/* r114 SHARE_V2: builder pills + client contact bar / measuring tool */
.s2r{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}.s2p{border:1px solid #d6d6db;background:#fff;border-radius:999px;padding:9px 16px;font:inherit;font-weight:600;color:#1d1d1f;display:inline-flex;align-items:center;gap:6px}.s2p .s2k{display:none;color:#fff;background:#34c759;border-radius:50%;width:18px;height:18px;line-height:18px;text-align:center;font-size:12px}.s2p.on{border-color:#34c759;background:#effaf2}.s2p.on .s2k{display:inline-block}.s2q{border:1px solid #d6d6db;background:#fff;border-radius:50%;width:36px;height:36px;font-weight:700}
.sc-ct{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:8px;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:8px;border-radius:999px;box-shadow:0 6px 24px rgba(0,0,0,.15)}.sc-ctb{padding:10px 18px;border-radius:999px;background:#34c759;color:#fff;font-weight:700;text-decoration:none}
.sc-mtb{position:fixed;right:16px;bottom:84px;z-index:40;border:0;border-radius:999px;padding:10px 16px;background:#1d1d1f;color:#fff;font-weight:700}.sc-mtr{display:flex;gap:8px;align-items:center}.sc-mtr input{flex:1;min-width:0;padding:10px;border:1px solid #d6d6db;border-radius:12px;font:inherit}.sc-mto{font-weight:700;margin:12px 0}

.r9i{width:44px;height:44px;border:0;background:none;color:#8a6d4b;font-size:17px;vertical-align:middle;padding:0}.r9t{flex-basis:100%;margin:4px 0 0;font-size:12.5px;color:#6e6e73;line-height:1.35}   /* r115 */
.sc-ctb,.sc-mtb{min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.sc-vw button{min-height:44px}.sc-hrt{min-width:44px;min-height:44px}   /* r115 Desk r114: 44px taps */
/* r117 Desk/D39: share sheet drawer never wider than the screen; remaining 12-13.5px screen text to 14px (print untouched) */
.sc-fd{max-width:100vw;overflow:hidden}.sc-fdc{box-sizing:border-box;max-width:100%}.sc-fdc fieldset{min-width:0;max-width:100%;box-sizing:border-box}
@media screen{html body .sc-pb,html body .sc-pb b,html body .sc-pb small,html body header.top nav a.hide-s{font-size:14px!important}}
/* r117c (Desk golive_1b04): long &nbsp; finish names wrap inside share cards (no sideways scroll at 390); box SQ FT note 14px on screen */
.sc-s{overflow-wrap:anywhere}@media screen{html body .sc-bx small{font-size:14px!important}}
/* r118 M40-M42/M45/D39 (P&T + Desktop): screen text >= 14px, taps >= 44px; print untouched */
@media screen{html body .dtog b{font-size:14px!important;min-height:44px;display:inline-flex;align-items:center;padding:0 10px}html body .dtog{min-height:44px;display:inline-flex;align-items:center}
html body .gcnt,html body .gcnt span,html body .gsrc,html body .reg h3,html body .kv dt,html body .kv dd,html body .msib small,html body main p.fine,html body .also .al,html body .also a,html body .visnote,html body main.est small,html body .mm button small{font-size:14px!important}
html body .layl li label{min-height:48px;display:flex;align-items:center;gap:8px}html body .layl li input{width:22px;height:22px}}
/* r121 L4 CARD_FIT (Ty + testers, body[data-cf]): P&T spec - Free Quote / Free Sample never bleed past the card at any width; 14px text, 44px buttons. Screen only. */
@media screen{
body[data-cf] .p{min-width:0;overflow:hidden;container-type:inline-size}
body[data-cf] .p .bd.r29{min-width:0}
body[data-cf] .p .bd.r29 .r1,body[data-cf] .p .bd.r29 .r2{flex-wrap:wrap;min-width:0}
body[data-cf] .p .bd.r29 .stl,body[data-cf] .p .bd.r29 .stl2,body[data-cf] .p .bd.r29 .r1 .stl{flex:1 1 0;min-width:0}
body[data-cf] .p .bd.r29 .st,body[data-cf] .p .bd.r29 .st *{white-space:normal;overflow-wrap:anywhere}
body[data-cf] .p .bd.r29 .n{overflow-wrap:anywhere}
body[data-cf] .p .smpb,body[data-cf] .p .bd.r29 .acts .btn,body[data-cf] .p .bd.r29 .r1 .acts .btn{flex:0 1 auto;max-width:100%;min-height:44px;font-size:14px!important;padding:8px 12px!important;letter-spacing:.02em;white-space:normal;line-height:1.15}
body[data-cf] .p .bd.r29 .r1 .acts{flex:0 1 auto;max-width:100%}
@container (max-width:380px){ body[data-cf] .p .bd.r29 .r1,body[data-cf] .p .bd.r29 .r2{flex-direction:column;align-items:stretch}
  body[data-cf] .p .bd.r29 .acts,body[data-cf] .p .smpb,body[data-cf] .p .bd.r29 .acts .btn{width:100%;margin-left:0} }
}
/* r121 L4 (live markup is .bd.r35.t39 .r4): cause = r4 margin -7px (l.2062) + flex:0 0 auto + nowrap (l.2063, 2099) at 14px. Fix: buttons share the row and wrap to full width when the card is narrow; 14px, 44px. Ty + testers only. */
@media screen{
html body[data-cf] .p .bd.r35.t39 .r4,html body[data-cf] .p .bd.r35 .r4{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-left:0!important;margin-right:0!important;min-width:0;flex-direction:row!important;align-items:stretch!important}
html body[data-cf] .p .bd.r35.t39 .r4 button,html body[data-cf] .p .bd.r35.t39 .r4 .smpb,html body[data-cf] .p .bd.r35 .r4 button,html body[data-cf] .p .bd.r35 .r4 .smpb{flex:1 1 auto!important;min-width:0!important;max-width:100%!important;width:auto!important;white-space:normal!important;overflow-wrap:anywhere;min-height:44px!important;height:auto!important;font-size:14px!important;line-height:1.15!important;padding:6px 10px!important;letter-spacing:0!important}
html body[data-cf] .tc .p .bd.r35.t39 .r4 .smpb{min-width:0!important}
}

/* r125 L4 tier C (P&T check FAIL r121): tier C has no account switches, so the CARD_FIT block never reached it; its single Free Sample button = 44px tall, 14px. Screen only; no price nodes involved. */
@media screen{
html body.tc .p .bd.r35.t39 .r4 .smpb,html body.tc .p .bd.r35 .r4 .smpb{min-height:44px!important;height:auto!important;font-size:14px!important;line-height:1.15!important;padding:6px 16px!important;white-space:normal!important;max-width:100%!important;letter-spacing:0!important}
html body.tc .p .bd.r35.t39 .r4,html body.tc .p .bd.r35 .r4{margin-left:0!important;margin-right:0!important;min-width:0}
}
/* r87 Easy view (EASY_VIEW). Standard is untouched; everything below applies only with body.easy */
.evbar{display:flex;justify-content:center;padding:10px 12px;background:#faf6ee;border-bottom:1px solid #e3dccf}
.evt{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 16px;border:2px solid #8a6a2f;border-radius:999px;background:#fff;color:#222;font:inherit;font-size:18px;cursor:pointer}
.evt small{font-size:14px;color:#555}.evk{width:40px;height:24px;border-radius:12px;background:#bbb;position:relative;flex:none}
.evk::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s}
[aria-checked=true] .evk{background:#1d6b35}[aria-checked=true] .evk::after{left:19px}
.evh{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 10px;margin-right:6px;border:1px solid #c9a96b;border-radius:999px;background:#fff;font:inherit;font-size:14px;cursor:pointer}.evh .evk{width:30px;height:18px}.evh .evk::after{width:12px;height:12px}.evh[aria-checked=true] .evk::after{left:15px}
body.easy main,body.easy .wrap,body.easy .sc{zoom:1.2}body.easy .p .hint,body.easy .gnav{display:none}body.easy .btn,body.easy button{min-height:48px}
.evf{border:0;padding:0;margin:8px 0}.evo{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e3dccf;border-radius:10px;margin:8px 0;cursor:pointer}.evo small{display:block;color:#555}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media print{.evbar,.evh{display:none!important}}
@media(max-width:599px){.evh{display:none}}

.evf{display:none}@media(max-width:599px){.evf{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;margin:0 12px 0 0;border:1.5px solid currentColor;border-radius:22px;background:none;font:inherit;font-weight:700;color:inherit;cursor:pointer}.evf[aria-checked=true]{background:#1d4ed8;color:#fff;border-color:#1d4ed8}}
/* r94 (Desk): 5% info button on the client quote page. display:none by default; screen only, so print is unchanged. */
.fsi{display:none}
@media screen{.fsi{display:inline-block;position:relative;vertical-align:middle;margin-left:6px}.fsi summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-10px 0;cursor:pointer;font:700 14px/1 Nunito,sans-serif;color:#1d4ed8}.fsi summary::-webkit-details-marker{display:none}.fsi summary::before{content:'';position:absolute;width:22px;height:22px;border:1.5px solid currentColor;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.fsi[open] .fsi-t{display:block;position:absolute;left:0;top:100%;z-index:5;width:min(280px,80vw);padding:10px 12px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.12);font-size:16px;line-height:1.4;font-weight:400;color:#1a1a1a;white-space:normal}.fsi-t{display:none}}
.evbar[hidden]{display:none!important}
/* r97 Estimator v0 (screen) */
.est-ban{position:sticky;top:0;z-index:5;background:#fff4d6;border-bottom:2px solid #c9a227;padding:10px 14px;font-size:15px;line-height:1.4}.est-ban b{display:block;font-size:16px;letter-spacing:.06em}
.est{max-width:640px;margin:0 auto;padding:16px}.est label,.est legend{display:block;font-weight:600;margin:14px 0 6px}.est input,.est select{width:100%;box-sizing:border-box;font-size:16px;min-height:44px;padding:8px}
.est-rm{display:flex;gap:8px;margin-bottom:8px}.est-x{min-width:44px;min-height:44px;font-size:20px}.est-rooms{border:0;padding:0;margin:0}.est-out{margin-top:16px}.est-big{font-size:22px}
/* r100 Plan Reader · Beta + estimator extras (screen) */
.est-x2{margin-top:14px;border:1px solid #ddd;border-radius:8px;padding:8px 12px}.est-x2 summary{min-height:44px;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:16px}
.plr-i{min-width:44px;min-height:44px;border-radius:50%;border:1px solid #888;background:#fff;font-weight:700}.plr-pop{background:#f3f6ff;padding:8px;border-radius:6px}
.plr-bar{display:flex;flex-wrap:wrap;gap:8px}.plr-bar>button{min-height:44px}.plr-c{max-width:100%;height:auto;display:block;margin-top:8px;touch-action:manipulation}
.est-warn{color:#8a5a00;font-weight:600}.plr-fb{display:flex;flex-wrap:wrap;gap:8px}.plr-fb textarea{width:100%;min-height:66px;font-size:16px}
@media print{.est-x2,#escsv{display:none!important}}
/* r100 (Desk r98 #5): tier C home tiles at 390-560px: 'N albums · Cover name' no longer runs past the tile edge (wraps balanced, max 2 lines) */
@media screen and (min-width:390px) and (max-width:560px){body.tierC .home .albums .alb span .arow,body.tierC.home .albums .alb span .arow{flex-wrap:nowrap;align-items:flex-end;column-gap:6px}body.tierC .home .albums .alb span .arow .l2,body.tierC.home .albums .alb span .arow .l2{flex:1 1 0;min-width:0;white-space:normal;text-wrap:balance;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis}}
/* r101 Like vote + Custom layout (screen) */
.lkv{display:flex;align-items:center;gap:8px;margin:6px 0}.lkb{min-width:44px;min-height:44px;border:1px solid #ccc;border-radius:22px;background:#fff;font-size:20px}.lkb[aria-pressed=true]{background:#e8f0fe;border-color:#1d4ed8}
.lkt{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;background:#1a1a1a;color:#fff;padding:12px 16px;border-radius:10px;font-size:16px;max-width:min(360px,92vw)}.lkpop{display:flex;flex-direction:column;gap:6px;background:#fff;color:#1a1a1a;border:1px solid #ccc;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.layb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 10px}.layb [data-lm],.layc{min-height:44px;padding:0 14px;border:1px solid #ccc;background:#fff;font-size:15px}.layb [data-lm][aria-pressed=true]{background:#1a1a1a;color:#fff}
.layp{border:1px solid #ddd;border-radius:8px;padding:10px;margin-bottom:12px}.layl{padding-left:20px}.layl li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-height:44px}.layl button{min-width:44px;min-height:44px}
@media print{.lkv,.lkt,.layb,.layp{display:none!important}}
/* r102 Desktop D26: search results centered under the box at desktop widths (left:12px from a later rule fought translateX(-50%) and pushed it off the left edge) */
@media(min-width:820px){html body .sres{left:50%;right:auto;transform:translateX(-50%)}}
/* r102 Desktop D21: /more small text at least 14px (screen only) */
@media screen{html body.pg-more .alb .arow small.l2,html body.pg-more .alb .arow .apill,html body.pg-more small.l3,html body.pg-more b.l1b,html body.pg-more b.cnt,html body.pg-more .smpl .cl,html body.pg-more .cl .v{font-size:14px!important}}
/* r102 Desktop D24: 'Price includes materials only.' note at least 14px (screen only; print untouched) */
@media screen{html body .cq-note,html body .cq-note span{font-size:14.5px!important}}
/* r102 cart Ctrl+P: cart page only, hide Quick Order and the stock line. Quote print / PRINT v43 untouched. */
@media print{body.pg-cart details.qod,body.pg-cart .qoh,body.pg-cart small.cst{display:none!important}}
/* r103: 5% popover Learn more (screen only; .fsi itself is display:none in print) */
@media screen{.fsm{margin-top:8px;font-size:15px;line-height:1.45}.fsm summary{cursor:pointer;color:#1d4ed8;font-weight:700;min-height:44px;display:flex;align-items:center}.fsi[open] .fsi-t{max-height:70vh;overflow:auto}}
@media print{.fsm{display:none!important}}
/* r103 screen-only 14px floor (main.qpage has zoom:.9, so 15.6px / 49px there = 14px / 44px on screen) (D21 footer, D24 .cq-notes (r102 hit .cq-note, wrong class), D30/M26 /estimate, M28 Recently viewed, D32 cart + quote screens). Print / PRINT v43 untouched. */
@media screen{
html body footer.ft,html body footer.ft a,html body footer.ft button,html body footer.ft span{font-size:14px!important}
html body main.cq ul.cq-notes li,html body main.cq ul.cq-notes li span,html body .cq-notes li,html body .cq-notes li span{font-size:14.5px!important}
html body .cq-ref,html body .cq-d,html body .cq-d small,html body .cq-pinc,html body .cq-m,html body .cq .cq-inst,html body .pq .cq-notes.cq-ed,html body .cq-h .tag{font-size:14px!important}
html body main.qpage :is(.fine,small,label,.nw,summary,.cst,button.x),html body main.qpage .fine *,html body main.qpage button small{font-size:15.6px!important}
html body main.qpage details.mqd>summary,html body main.qpage details.qod>summary{font-size:15.6px!important;min-height:49px;display:flex;align-items:center}
html body main.qpage button.x,html body main.qpage .qoa button,html body main.qpage .mqx,html body main.qpage .mqall{min-height:49px!important;min-width:49px!important}
html body main.qpage details.mqd>summary,html body main.qpage details.qod>summary{min-height:49px!important}
html body main.qpage h3.bh,html body main.qpage .apb{font-size:15.6px!important}
html body main.qpage .bk .ln2>span,html body main.qpage .bk .ln2>b,html body main.qpage .ld .nm,html body main.qpage .ld .sz,html body main.qpage .qxr b.lp,html body main.qpage .qxr .qx i,html body main.qpage .fsh,html body main.qpage .mq2 span,html body main.qpage .mq2 b,html body main.qpage .mq1 b,html body main.qpage p>button,html body main.qpage p>button span,html body main.qpage .qoa button{font-size:15.6px!important}
html body a.alb .arow small.l2,html body a.alb .arow .apill,html body a.alb .arow .apill small{font-size:14px!important}
html body main.est label,html body main.est .fine,html body main.est li{font-size:14px!important}
html body main.est button,html body main.est summary{min-height:44px}
html body .rvs summary,html body .rvs summary small,html body .rvl a,html body .rva button{font-size:14px!important}
html body .rvs summary,html body .rva button{min-height:44px}
html body .rvs summary{display:flex;align-items:center;gap:6px}
html body.pg-more .arow small.u{font-size:14px!important}
}
/* r103 M25/D29/D28: estimator room rows (number, rename, L X W, SQ FT), waste %, Plan Reader zoom wrap */
.est-rm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px}.est-rm .es-no{min-width:22px;font-weight:700;font-size:15px}
.est-rm .es-nm{flex:1 1 140px;min-width:120px}.est-rm .es-lw{display:inline-flex;align-items:center;gap:4px}.est-rm .es-l,.est-rm .es-w{width:76px}.est-rm .es-sq{width:96px}
.est-rm input{font-size:16px;min-height:44px}.est-rm .est-x{min-width:44px;min-height:44px}#eswp{max-width:120px;font-size:16px;min-height:44px}
.plr-wrap{overflow:auto;max-width:100%;max-height:75vh;-webkit-overflow-scrolling:touch}.plr-wrap .plr-c{width:100%;height:auto;display:block}
.plr-snap{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px}.plr-snap input{width:22px;height:22px}
@media print{.plr-bar,.plr-snap,#eswpn{display:none!important}}
/* r103 FSC_HINT: screen only */
.fsh{display:none}@media screen{.fsh{display:block;margin:2px 0 8px;font-size:14px;color:#1d4ed8;font-weight:700}}@media print{.fsh{display:none!important}}
@media screen{.est-pat{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}.est-pat label{font-weight:700;font-size:15px}.est-pat select{font-size:16px;min-height:44px;max-width:100%}}
@media screen{.fsi summary{min-width:44px;min-height:44px}main.qpage .fsi summary{min-width:49px;min-height:49px}}
@media screen{main.qpage .fsm,main.qpage .fsm summary{font-size:16px}.fsm{font-size:15px}}
/* r116: Recently viewed phone strip (remove / clear / hide row), dye lot checkbox, layout down arrow */
.rvl{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:4px}.rvi{display:inline-flex;align-items:center;flex:0 0 auto;scroll-snap-align:start;border:1px solid #e4dccb;border-radius:22px;padding-left:12px;max-width:240px}.rvi a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:44px;display:flex;align-items:center}.rvx{min-width:44px;min-height:44px;border:0;background:none;font-size:20px;color:#666}.rva button{min-height:44px}
.dlot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;font-size:15px}.dlot input{width:22px;height:22px}.dlot small{flex-basis:100%;color:#555}.dlq{min-width:44px;min-height:44px;border-radius:22px;border:1px solid #ccc;background:#fff}
.layl li button{min-width:44px;min-height:44px}

/* r117 MEASURE_MODES: Quick | Detailed pill on /estimate (screen only) */
.mm{display:flex;gap:6px;margin:8px 0 12px;background:#f3ede3;border-radius:24px;padding:4px}.mm button{flex:1;min-height:52px;border:0;border-radius:20px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:16px}.mm button small{font-size:12px;color:#555}.mm button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15)}
body[data-mm=q] .mm-d{display:none!important}body:not([data-mm=q]) .mm-q{display:none}.mm-q{margin-top:6px}.mm-rl{padding-left:18px;margin:4px 0}.mm-sm summary{min-height:44px;display:flex;align-items:center;font-weight:700;color:#1d4ed8}
@media print{.mm{display:none!important}}

/* r117 M32/M33/M36/M37/M39 (P&T go-live 1b04): tap targets >= 44px and screen text >= 14px; print untouched */
@media screen{
.est label:has(input[type=checkbox]),.plr-snap{min-height:48px;display:flex;align-items:center;gap:10px}.est input[type=checkbox],.plr-snap input{width:26px!important;height:26px!important;min-height:0;flex:0 0 auto}
html body .cl,html body .cl .v5,html body .crumb,html body .crumb a,html body #cartl .cnt{font-size:14px!important}
#layr,#layd{min-height:48px}html body .layp,html body .layp .fine,html body .layp label,html body .layl li{font-size:14px!important}
.gnav{width:44px;height:44px}}

/* r119 D39 remainder (Ty): product page at tablet widths (700-1023px, e.g. 820): in-transit line + "Quantities are approximate" min 14px. Screen only; print untouched. */
@media screen and (min-width:700px) and (max-width:1023px){.reg .soon,p.fine{font-size:14px}}

/* r129 L1-L3 EDIT_MODE */
.laybh{min-height:44px;padding:0 12px;border:0;background:none;color:#555;font-size:14px;margin-left:auto}
.layb.lbh{margin:2px 0 4px}.layb.lbh>:not(.laybh){display:none!important}.layb.lbh .laybh{margin-left:0;min-height:32px;font-size:13px}
.jgb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 12px;padding:10px 12px;border-radius:12px;background:#f3f6fb;position:sticky;top:0;z-index:5}
.jgb p{flex:1 1 180px;margin:0;font-size:15px}.jgb>button{min-height:52px;padding:0 22px;font-size:17px;font-weight:700}
.home .albums>[hidden]{display:none!important}
.home .albums.jig>*{position:relative;animation:jg .28s ease-in-out infinite alternate;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
body.rn .home .albums>a,.home .albums>a{-webkit-touch-callout:none}
.home .albums.jig>*:nth-child(2n){animation-delay:-.14s}
.home .albums.jig>.jgm{animation:none;transform:scale(1.05);transition:none!important;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:3}
.jgx{position:absolute;top:6px;left:6px;z-index:4;width:44px;height:44px;border-radius:50%;border:2px solid #fff;background:#444;color:#fff;font-size:24px;line-height:1;padding:0;cursor:pointer}
.jgh .jgx{background:#0b5daf;opacity:1}.home .albums.jig>.jgh>:not(.jgx){opacity:.35}
@keyframes jg{from{transform:rotate(-1deg)}to{transform:rotate(1deg)}}
@media (prefers-reduced-motion:reduce){.home .albums.jig>*{animation:none;outline:2px dashed #0b5daf}}
.rvs{max-width:100%;overflow:hidden;box-sizing:border-box}.rvl{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.rvi{max-width:100%;min-width:0;display:inline-flex;align-items:center}.rvi a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
@media print{.jgb,.jgx,.laybh{display:none!important}}

/* r131 RENAME_SP: clear Home button top left */
body.rn header.top .bhome{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 10px;margin-left:6px;border:1px solid #cfd8e3;border-radius:16px;font-size:14px;font-weight:700;color:#0b5daf;background:#fff}
body.rn header.top .bhome svg{width:14px;height:14px}
.home .albums.jig{position:relative}

/* r135 O2_WEST: subtle note */
.o2n{margin:8px 0;font-size:14px;color:#555;line-height:1.4}.o2n a{color:#0b5daf}.o2n .o2v{min-height:44px;margin-left:4px;font-size:14px}
.sr .o2s{display:block;font-size:12px;color:#666;white-space:normal}

/* r136 O1_REP */
.o1r{margin:10px 0;padding:10px 12px;border:1px solid #e4dccd;border-radius:10px;background:#fff}.o1n{margin:0 0 8px;font-size:14px;color:#555}
.o1c{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700}.o1c button{min-width:44px;min-height:44px;font-size:20px}.o1c input{width:56px;min-height:44px;text-align:center;font-size:16px}
.o1b{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}.o1b a{min-height:44px;display:inline-flex;align-items:center}
@media print{.o1r{display:none!important}}
.more .albums>a[hidden]{display:none!important}

/* r140 SLAB_LABOR */
.sll{margin:10px 0;padding:8px 12px;border:1px solid #e4dccd;border-radius:10px;background:#fff}.sll summary{min-height:44px;display:flex;align-items:center;font-weight:700}
.slg{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slg label{display:flex;flex-direction:column;font-size:14px;gap:4px}.slg input{min-height:44px;font-size:16px;padding:0 8px}
.sli{display:flex;gap:8px;align-items:center;min-height:44px;font-size:14px}@media print{.sll{display:none!important}}

/* r141 EASY_V1 (L5 Easy View v1): only with body.easy + data-ev1 (Ty-first). Standard view untouched. */
.ev1{display:none}
body.easy[data-ev1] main,body.easy[data-ev1] .wrap,body.easy[data-ev1] .sc{zoom:1}
body.easy[data-ev1]{font-size:1.25rem;line-height:1.4;color:#111}
body.easy[data-ev1] h1{font-size:1.75rem}body.easy[data-ev1] h2{font-size:1.625rem}
body.easy[data-ev1] .ev1{display:flex;flex-direction:column;gap:12px;margin:8px 0 20px}
body.easy[data-ev1] .ev1 h2{margin:0 0 4px}.ev1s{margin:0;font-size:1rem;color:#333}
.ev1t{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:14px 20px;border:2px solid #1f1a15;border-radius:16px;background:#fff;color:#111;text-decoration:none;font:inherit;font-size:1.375rem;text-align:left;cursor:pointer}
.ev1t small{font-size:1rem;color:#333;margin-top:2px}.ev1t:focus-visible,.ev1b:focus-visible,.ev1a:focus-visible,.ev1r:focus-visible{outline:4px solid #1d4ed8;outline-offset:2px}
.ev1b{align-self:flex-start;min-height:56px;min-width:120px;padding:8px 18px;border:2px solid #1f1a15;border-radius:12px;background:#fff;font:inherit;font-size:1.25rem;cursor:pointer}
.ev1a,.ev1r{min-height:56px;border-radius:12px;font:inherit;font-size:1.25rem;cursor:pointer}.ev1a{border:2px solid #1f1a15;background:#fff;color:#111}.ev1r{border:0;background:#1f1a15;color:#fff}
body.easy[data-ev1]:not(.ev1all) .home .albums,body.easy[data-ev1]:not(.ev1all) .home .rvs,body.easy[data-ev1] .layb,body.easy[data-ev1] .lay,body.easy[data-ev1] .gnav{display:none!important}
body.easy[data-ev1] .grid,body.easy[data-ev1] .albums{grid-template-columns:1fr!important;gap:16px}
body.easy[data-ev1] .p .n{font-size:1.25rem}body.easy[data-ev1] .p .hint{display:none}
body.easy[data-ev1] .btn,body.easy[data-ev1] button,body.easy[data-ev1] .sc-btn{min-height:56px;font-size:1.125rem}
body.easy[data-ev1] .evt,body.easy[data-ev1] .evh{min-height:56px;font-size:1.125rem}
@media (prefers-reduced-motion:reduce){body.easy[data-ev1] *{animation:none!important;transition:none!important}}
body.easy[data-ev1] .jig *{animation:none!important}
@media print{.ev1{display:none!important}}
body.easy[data-ev1] .ev1 .ev1t{min-height:88px;font-size:1.375rem}

/* r142 TY_LISTS page */
.tyl-w{overflow-x:auto;overscroll-behavior-x:contain;margin:8px 0 20px}.tyl{border-collapse:collapse;width:100%;min-width:620px;font-size:14px}.tyl th,.tyl td{border-bottom:1px solid #e3dccf;padding:8px;text-align:left;vertical-align:top}.tyl td small{display:block;color:#555;margin-top:2px}.tylp h2{font-size:18px;margin-top:22px}

/* r143 EASY_V1 gaps: Easy view toggle visible in the home header at every width (phones: second row under the quote button); one primary button per product card in Easy view. */
@media(max-width:599px){body[data-ev1] .top nav{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}body[data-ev1] .top nav .evh{display:inline-flex;order:9;min-height:44px;margin-right:0;font-size:14px}}
body.easy[data-ev1] .p .r4 .smpb{display:none}
body.easy[data-ev1][data-tc] .p .r4 .smpb{display:inline-flex}body.easy[data-ev1][data-tc] .p .r4 .btn[data-a=q]{display:none}
body.easy[data-ev1] .p .r4 .btn,body.easy[data-ev1] .p .r4 .smpb{width:100%;min-height:56px;justify-content:center}

/* r144 TILE_FIT (Ty-first, share links): nothing cut off at small phones */
html body.scb[data-tf] .alb span .arow{flex-wrap:wrap!important;row-gap:2px}html body.scb[data-tf] .alb span .arow .l2{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}
html body.scb[data-tf] header>div>span:only-of-type{white-space:nowrap}
@media(max-width:360px){html body[data-tf] .evt small{display:none}}

/* r145 UNDO_V1: shared Undo bar + in-app confirm (Ty-first via me.fl.u1) */
.u1t{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:6px 6px 6px 16px;border-radius:12px;background:#1f1a15;color:#fff;font-size:15px;box-shadow:0 6px 24px rgba(0,0,0,.25)}
.u1m{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.u1b{min-height:44px;padding:0 16px;border:0;border-radius:10px;background:#f0d9a8;color:#1f1a15;font:inherit;font-weight:700;cursor:pointer}.u1x{min-width:44px;min-height:44px;border:0;background:none;color:#fff;font-size:22px;cursor:pointer}
body.easy .u1t{font-size:18px}
.u1c{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.45)}.u1cb{width:min(420px,100%);padding:20px;border-radius:16px;background:#fff;color:#111}.u1cb h2{margin:0 0 8px;font-size:20px}.u1cp{margin:0 0 16px;color:#333}
.u1ca{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.u1ca button{min-height:44px;padding:0 18px;border-radius:10px;font:inherit;font-size:16px;cursor:pointer}.u1cy{border:0;background:#b42318;color:#fff;font-weight:700}
@media print{.u1t,.u1c{display:none!important}}

/* r150 P3 (mobile_qa/r145): 14 PX minimum on /ty-lists, 44 PX tap target for the suggestions link, 14 PX share count labels */
.tylp .tyl td small,.tylp .fine{font-size:14px!important}
.r73h a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px}
body.easy .r73h a{min-height:56px}
[class~=sc-sw] small{font-size:14px!important}

/* r151 P2 (P&T r150 #2, L4-type): overlay collection tiles and Budget-Friendly Picks keep price, struck price, SALE and count inside the card, text >= 14px, '/SQ FT' on one line */
.albums.subs .alb .arow{flex-wrap:wrap;row-gap:4px}
.albums.subs .alb .apill{flex-wrap:wrap;max-width:100%;white-space:normal;font-size:14px!important;row-gap:4px;column-gap:6px}
.albums.subs .alb .apill small,.albums.subs .alb .apill .was{font-size:14px!important}
.albums.subs .alb .apill .u{white-space:nowrap}
.albums.subs .alb .apill .saletag,.bpick .saletag{position:static!important;font-size:14px!important;margin-left:0}
.bpick span{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}.bpick span small{white-space:nowrap;font-size:14px!important}.bpick .was{font-size:14px}
.albums.subs .alb .apill{display:flex!important;align-items:baseline}.albums.subs .alb small.l3{font-size:14px!important}
.albums.subs .alb small.l3{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;display:block!important;max-height:none!important}
.albums.subs .alb small.l2{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;min-width:0}

/* r152 */
.cst.lv.warn{display:block;background:#fdecea;color:#8a1c14!important;border:1px solid #e6a59f;border-radius:8px;padding:8px 10px;font-weight:700;font-size:15px;line-height:1.35;white-space:normal}
/* r152 (P&T r151 #2-#5): slab add sheet + client quote sheet text >= 14px; labor grid rows aligned; 44px checkbox row with its label */
.fqtop .g4,.fqtop .qlab label,.fqtop .calcft,.fqtop .fine,.fqtop #add small,.fqtop .chk,.fqtop .soeta,.fqtop .soeta *{font-size:14px!important}
#sheetc .sqc small,#sheetc .labl,#sheetc .lsr small,#sheetc .sbm,#sheetc .fine,#sheetc .sll .fine,#sheetc .sll summary,#sheetc .sll label,#sheetc .qhd small,#sheetc .cust small{font-size:14px!important}
#sheetc .saletag{font-size:14px!important}
.sll .slg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;align-items:end}
.sll .slg label{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:100%;line-height:1.25}
.sll .slg input{min-height:44px;font-size:16px}
.sll .sli{display:flex;align-items:center;gap:10px;min-height:44px;margin-top:10px;font-size:15px;line-height:1.3;cursor:pointer}
.sll .sli input{flex:0 0 auto;width:28px;height:28px;margin:8px 0;min-height:0}
.slsub{margin:12px 0 0;font-size:16px!important}.slsub b{font-size:17px}
[class~=sc-s]{overflow-wrap:break-word!important;word-break:normal}   /* r152 (P&T r151 #6): no mid-word 'F inishes' breaks */
body:has([class~=sc-mtb]){padding-bottom:150px}   /* r152: floating 'Measure a room' never covers the footer */
#sheetc #sbm,#sheetc .sbr small,#sheetc .sbr .sb3,#sheetc .sbr i{font-size:14px!important}
.sll .sli{align-items:flex-start}.sll .sli input{margin:0}.sll .sli span{padding-top:4px}
/* r149 Design Helper */
.hbfab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;min-height:56px;padding:0 20px;border-radius:28px;border:0;background:#1f1a15;color:#fff;font:700 16px/1 inherit;box-shadow:0 4px 14px rgba(0,0,0,.25)}
body.easy .hbfab{min-height:64px;font-size:18px}
.hbp h2{margin:0 0 10px}.hbchips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.hbchip{min-height:44px;padding:0 14px;border-radius:22px;border:1.5px solid #8b6b3d;background:#fff;color:#1f1a15;font-size:15px;font-weight:700}.hbchip.on{background:#8b6b3d;color:#fff}
.hbpin{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 0 4px;background:#fff;border-top:1px solid #eee;margin-top:12px}.hbpin [class~=btn]{flex:1;min-height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:15px}
.hbcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(min-width:700px){.hbcards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hbc{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:#1f1a15;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.12);padding-bottom:8px;min-width:0}
.hbc img{width:100%;aspect-ratio:1;object-fit:cover}.hbc b{padding:0 8px;font-size:14px;overflow-wrap:anywhere}.hbc small{padding:0 8px;font-size:14px;color:#5d554b}
.hbs{margin:14px 0}.hbs h3{font-size:17px;margin:0 0 4px}.hbconf{font-size:14px;font-weight:600;color:#2e6b2e}.hbconf.low{color:#b3261e}
.hbfix,.hbup{min-height:44px;margin-top:8px}.hbfx label{display:block;font-size:15px;margin:8px 0}.hbfx select{min-height:44px;font-size:16px;margin-left:6px}
.hbq{display:flex;flex-wrap:wrap;gap:8px}.hbq label{flex-basis:100%}.hbq input{flex:1;min-width:0;min-height:48px;font-size:16px;padding:0 12px;border:1.5px solid #ccc;border-radius:10px}.hbq [class~=btn]{min-height:48px}
.hbans p{font-size:16px;line-height:1.45}.hbrel{min-height:44px;border:1px solid #ccc;background:#fff;border-radius:22px;padding:0 12px;font-size:14px;margin:4px 4px 0 0}
.hbftw{margin:10px 0 0;text-align:center}.hbftw [class~=btn]{min-height:48px;max-width:100%;white-space:normal}
.hbp .fine{font-size:14px}.hbtr{font-size:15px;margin:0;padding-left:18px}
body:has(#sheet.on) .hbfab{display:none}
/* r154 countertop estimator */
.cte h2{font-size:19px;margin:0 0 8px}.ctb{background:#fff;border-radius:14px;padding:14px;margin:14px 0;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.cte label{display:flex;flex-direction:column;gap:4px;font-size:15px;font-weight:600;min-width:0}.cte input[type=number],.cte #ctp{min-height:48px;font-size:16px;padding:0 10px;border:1.5px solid #ccc;border-radius:10px;width:100%;box-sizing:border-box}
.ctinfo,.cte .fine,.cte .s2{font-size:15px}.ctrows{display:flex;flex-direction:column;gap:12px;margin-bottom:10px}
.ctrow{display:grid;grid-template-columns:28px minmax(0,1fr) 16px minmax(0,1fr);gap:8px;align-items:end;border-bottom:1px solid #eee;padding-bottom:10px}
.ctrow .ctchk,.ctrow .ctdel{grid-column:2 / -1}.ctn{font-weight:800;font-size:16px;align-self:center}.ctx{font-weight:800;font-size:16px;padding-bottom:14px;text-align:center}
.ctchk{flex-direction:row!important;align-items:center;gap:10px!important;min-height:44px}.ctchk input{width:26px;height:26px;margin:0;flex:0 0 auto}
.ctdel{min-height:44px;border:1px solid #ccc;background:#fff;border-radius:10px;font-size:15px;justify-self:start;padding:0 14px}
.ctgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}@media(min-width:760px){.ctgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.ctrow{grid-template-columns:28px minmax(0,200px) 16px minmax(0,200px) auto auto}.ctrow .ctchk,.ctrow .ctdel{grid-column:auto}}
.ctwarn{background:#fdecea;color:#8a1c14;border:1px solid #e6a59f;border-radius:8px;padding:10px 12px;font-weight:700;font-size:15px;margin:12px 0 0}
.ctl{display:flex;justify-content:space-between;gap:12px;font-size:16px;padding:6px 0;border-bottom:1px solid #f0ece6}.ctl.g b{font-size:17px}.ctmat{margin-top:10px}
.ctact [class~=btn],.ctlw [class~=btn],.cte [class~=btn]{min-height:48px}.ctlw{margin:10px 0 0;text-align:center}.ctact{position:sticky;bottom:0;padding:10px 0;background:linear-gradient(transparent,#f7f4ef 30%)}
body:has(#hbfab) [class~=wrap]{padding-bottom:96px}   /* r154 Desk P3: last row of tiles clears the Design Helper button */
.srx{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* r161: was '.sr' (r155), which hid every search result row (.sr) = Ty's 'N matches but nothing to tap' */
/* r155 keyboard reorder: move buttons show when a tile has keyboard focus (or always on hover-less large screens via focus-within) */
.jig > [href]{position:relative}.jig .jgmv{display:none;position:absolute;left:50%;bottom:8px;transform:translateX(-50%);gap:8px;z-index:3}
.jig > [href]:focus-within .jgmv,.jig > [href]:focus .jgmv{display:flex}.jig .jgmv[hidden]{display:none!important}
.jig .jgmv button{min-width:44px;min-height:44px;border-radius:22px;border:2px solid #fff;background:#1f2a37;color:#fff;font-size:20px;font-weight:700;cursor:pointer}
.jig > [href]:focus-visible{outline:3px solid #1a5fb4;outline-offset:3px}
/* r156 (P&T r153 #1-#3, #6) */
.saletag{font-size:14px!important;line-height:1.2}
body:has(#hbfab){padding-bottom:84px}
#lpw .sqv.sqin input,#sheetc .sqv.sqin input{min-height:44px}#lpw .sqv.sqin,#sheetc .sqv.sqin{min-height:44px}
.home .albums .alb small.l2{white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;flex:0 0 auto!important;max-width:none!important}
.home .albums .alb .arow{display:flex!important;flex-wrap:wrap!important;row-gap:2px;align-items:baseline}
.hbsug{min-height:44px;margin:4px 6px 0 0;padding:8px 12px;border:1px solid #c9bfb1;border-radius:22px;background:#fff;font-size:15px;cursor:pointer}
body:has(.ctact) #hbfab{bottom:calc(96px + env(safe-area-inset-bottom))}   /* r156: Design Helper sits above the sticky Add to Quote bar on /countertop */
.jig > [href].jgkb .jgmv{display:flex}.jig .jgmv button[aria-disabled=true]{opacity:.4;cursor:default}
/* r159 */
#lpw .sqv.sqin input,#sheetc .sqv.sqin input,#lpw .sqv.sqin,#sheetc .sqv.sqin{min-height:48px!important}
.ctwarn[hidden]{display:none!important}
.cte label:has(input[type=checkbox]){display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 4px;cursor:pointer}.cte input[type=checkbox]{width:24px;height:24px;margin:0}
body:has(.cte input:focus) #hbfab,body:has(.cte select:focus) #hbfab{display:none!important}
@media(max-width:899px){body:has(.cte) [class~=wrap],body:has(.cte) .cte{padding-bottom:96px}}
/* r161 (Ty P1): ONE-row header: Home pill left, Samples (outlined) + Quote (filled) pills right; Easy view lives in the layout bar / a slim row; iOS segmented control */
html body header.top .in{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between;gap:8px!important;height:auto!important;min-height:60px!important;padding:8px 12px!important}
html body header.top .brand.hmp{display:inline-flex!important;align-items:center;gap:6px;flex:0 0 auto;min-height:44px;padding:0 16px;border:1.5px solid var(--gold);border-radius:999px;background:#fff;color:var(--gold2)!important;font-size:16px;font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
html body header.top .brand.hmp>*:not(svg):not(span){display:none!important}
html body header.top .sp{display:none!important}
html body header.top nav{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:8px;margin-left:auto;min-width:0;flex-direction:row!important}
html body header.top nav>a:not(#smpl):not(#cartl),html body header.top nav>.evh,html body header.top nav>button:not(#smpl):not(#cartl):not(#hbfab):not(#toolsb){display:none!important}
html body header.top nav #smpl,html body header.top nav #cartl{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;height:44px!important;min-height:44px!important;padding:0 16px!important;border-radius:999px!important;font-size:16px!important;font-weight:700!important;line-height:1!important;white-space:nowrap;text-decoration:none;position:relative;margin:0!important}
html body header.top nav #smpl[hidden]{display:none!important}
html body header.top nav #smpl{background:#fff!important;color:var(--ink)!important;border:1.5px solid var(--ink)!important}
html body header.top nav #cartl{background:var(--ink)!important;color:#fff!important;border:1.5px solid var(--ink)!important;order:9}
html body header.top nav #smpl .cl,html body header.top nav #cartl .cl,html body header.top nav #smpl .cnt,html body header.top nav #cartl .cnt{font-size:16px!important;position:static!important;display:inline!important}
html body header.top nav .cnt{min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:inline-flex!important;align-items:center;justify-content:center;background:var(--gold);color:#fff;font-size:14px!important;margin:0!important;transform:none!important}
html body header.top nav #cartl .ci{width:18px;height:18px;flex:none}
@media(max-width:360px){html body header.top .in{gap:6px!important;padding:8px 8px!important}html body header.top .brand.hmp,html body header.top nav #smpl,html body header.top nav #cartl{padding:0 12px!important}html body header.top nav{gap:6px}html body header.top nav #cartl .ci{display:none}}
@media(max-width:330px){html body header.top .brand.hmp span{display:none}html body header.top .brand.hmp{padding:0 12px}}
/* segmented control (iOS style): pill track, selected segment gold */
.seg,#layb [role=group]{display:inline-flex!important;align-items:stretch;padding:3px;gap:2px;border-radius:999px!important;background:#ece6dc!important;border:0!important;box-shadow:inset 0 0 0 1px #dfd6c8}
.seg button,#layb [role=group] button{min-height:40px;padding:0 14px;border:0!important;border-radius:999px!important;background:transparent!important;color:var(--ink)!important;font:inherit;font-size:15px!important;font-weight:600;white-space:nowrap;cursor:pointer;box-shadow:none!important}
.seg button[aria-pressed=true],#layb [role=group] button[aria-pressed=true]{background:var(--gold)!important;color:#fff!important;box-shadow:0 1px 3px rgba(0,0,0,.18)!important}
#layb{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px}
#layb .layc{min-height:44px;padding:0 18px;border:1.5px solid var(--gold)!important;border-radius:999px!important;background:#fff!important;color:var(--gold2)!important;font-size:15px!important;font-weight:700}
#layb [role=group]{min-height:46px}
.evrow{display:flex;justify-content:center;padding:6px 12px;background:#faf6ee;border-bottom:1px solid #e3dccf}
body.haslayb .evrow,body:has(.evbar) .evrow,body.tierC .evrow{display:none}
@media print{.evrow{display:none!important}}
@media(max-width:380px){.seg button,#layb [role=group] button{padding:0 10px;font-size:14px!important}}
/* client pages: one-tap Easy view as the same segmented pill */
.evbar .evt{padding:3px!important;gap:2px!important;border:0!important;border-radius:999px!important;background:#ece6dc!important;box-shadow:inset 0 0 0 1px #dfd6c8;min-height:46px}
.evbar .evt .evk,.evbar .evt small,.evbar .evt>b{display:none!important}
.evbar .evt .sg{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;font-size:16px;font-weight:600;color:var(--ink,#1f1a15)}
.evbar .evt[aria-checked=false] .sg0,.evbar .evt[aria-checked=true] .sg1{background:#8b6f4c;color:#fff}
/* phone search: one clean rounded field, gold focus ring, 16px so iOS never zooms */
header.top .sbox{border:1.5px solid #cfc6b8!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important;outline:0!important}
header.top .sbox:focus-within{border-color:#8b6f4c!important;box-shadow:0 0 0 3px rgba(139,111,76,.25)!important}
header.top .sbox input#q{-webkit-appearance:none!important;appearance:none!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font-size:16px!important;border-radius:0!important}
header.top .sbox input#q:focus,header.top .sbox input#q:focus-visible{outline:0!important;box-shadow:none!important;border:0!important}
header.top .sbox input#q::-webkit-search-decoration,header.top .sbox input#q::-webkit-search-cancel-button,header.top .sbox input#q::-webkit-search-results-button{-webkit-appearance:none;display:none}
header.top .sbox input#q:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #fff inset!important}
#hbgo,#hbq button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(139,111,76,.25)}
/* r161 (Ty P1 search): tappable dropdown under the bar, real thumbnails, >= 44 PX rows, above the keyboard and the helper button; /search full results page */
html body #sres.sres{position:fixed!important;top:var(--srt,120px)!important;left:8px!important;right:8px!important;width:auto!important;max-width:760px;margin:0 auto;transform:none!important;max-height:var(--srh,60vh)!important;overflow-y:auto;z-index:90!important}
html body .sres a.sr,html body .srlist a.sr{display:flex!important;align-items:center;gap:12px;min-height:56px;padding:6px 14px;text-decoration:none;color:var(--ink);border-bottom:1px solid #f0ebe3}
html body .sres a.sr img,html body .srlist a.sr img{width:52px!important;height:52px!important;flex:0 0 52px;object-fit:cover;border-radius:8px;background:#eee}
html body .sres a.sr .srt,html body .srlist a.sr .srt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
html body .sres a.sr .srt b,html body .srlist a.sr .srt b{font-size:16px;line-height:1.25}
html body .sres a.sr .srt small,html body .srlist a.sr .srt small{font-size:14px;color:#6b6257}
html body .sres a.sr .srp,html body .srlist a.sr .srp{font-size:15px;font-weight:700;white-space:nowrap}
.sres a.srall{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:16px;font-weight:700;color:#6f593d;text-decoration:none}
.sres .sct{font-size:14px!important}
body.srch #hbfab{display:none!important}
.srpg h1{font-size:24px;margin:16px 0 4px}.srlist{background:#fff;border:1px solid #e6e1d9;border-radius:14px;overflow:hidden}
html body header.top nav .v5,html body header.top nav .v{display:none!important}
html body header.top .brand.hmp{flex-shrink:0!important}html body header.top nav{flex-shrink:1}
/* r162 (Ty P1 overlap): 44 PX crumb / 'Also available in' links were inline-blocks with 13 PX padding, so wrapped lines and the H1 below sat under each other's tap areas. Flex rows: same 44 PX targets, no collisions. */
html body #app .crumb{display:flex!important;flex-wrap:wrap;align-items:center;column-gap:2px;row-gap:0;line-height:1.3}
html body #app .crumb>a{display:inline-flex!important;align-items:center;min-height:44px;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}
html body #app .crumb>.nw{display:inline-flex;align-items:center;min-height:44px}
html body #app .also ul{display:flex;flex-wrap:wrap;gap:4px 8px}
html body #app .also li{display:block}
html body #app .also li>a{display:inline-flex!important;align-items:center;min-height:44px;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;line-height:1.3}
html body #app .crumb{height:auto!important;max-height:none!important}
/* r162 overlap gate: the freight (i) note opens IN the flow (it used to float over the totals and the order buttons); the circle is anchored to its own button so the "i" sits inside it */
@media screen{.fsi summary{position:relative}.fsi[open]{display:block;margin-left:0}.fsi[open] .fsi-t{position:static;width:auto;max-height:none;margin:4px 0 8px;box-shadow:none}}
/* r162 Desktop sweep: Design Helper is a 48px round icon (name kept in aria-label) that lives in a reserved right gutter, so no card, button or link ever scrolls under it */
@media screen{html body #hbfab.hbfab,html body.easy #hbfab.hbfab{width:48px!important;height:48px!important;min-height:48px!important;min-width:48px!important;max-width:48px!important;padding:0!important;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;right:8px;font-size:0}
}
@media screen and (min-width:431px){body:has(#hbfab) #app>:not(header):not(.evbar),body:has(#hbfab) footer,body:has(#hbfab)>main{padding-right:64px!important;box-sizing:border-box}}
/* r162 item 4 (Ty 11:23): phones <=430: Home is a 44px icon (name kept in aria-label) so it can never run into Samples, at any text size; the header row never wraps or overlaps */
@media(max-width:430px){html body header.top .brand.hmp{padding:0!important;width:44px;min-width:44px;justify-content:center}html body header.top .brand.hmp span{display:none!important}
html body header.top{column-gap:8px}html body header.top nav{min-width:0;margin-left:auto}}

/* r163 Ty 1:56 PM fix-now */
:root{--home-img:url(/img/home_marble_132.png);--quote-bg:#0B5DAF}   /* r166 #7: Quote = MSI blue #0B5DAF (white text 6.56:1, WCAG AA; same blue as the app icon), research/r166_header.md */   /* ONE place: swap the Home art here. Quote coral #C2531F on white text = 4.61:1 (WCAG AA); #E8743B was 3.0:1 */
/* phones: Design Helper docks in the header row (never over content, no right gutter, so the home grid uses the full width) */
@media(max-width:430px){html body #hbfab.hbfab.hbin{display:inline-flex!important;position:static!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;flex:0 0 44px;box-shadow:none;right:auto;bottom:auto;margin:0}
html body header.top nav{display:flex;align-items:center;gap:6px}
html body header.top nav #smpl,html body header.top nav #cartl{font-size:14px!important;padding:0 10px!important;min-height:44px!important;height:44px}
html body header.top .brand.hmp{background:var(--home-img) center/cover no-repeat #fff!important;border:0!important;width:44px;height:44px;min-height:44px;border-radius:50%}
html body header.top .brand.hmp svg{opacity:0}}
html body header.top nav #cartl{background:var(--quote-bg)!important;border-color:var(--quote-bg)!important;color:#fff!important}
html body header.top nav #smpl .cnt,html body header.top nav #cartl .cnt{display:inline-flex!important;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;line-height:1!important;font-variant-numeric:tabular-nums;text-align:center;vertical-align:middle}
html body.srch #hbfab.hbfab,html body.srch #hbfab.hbfab.hbin,html body:has(#sheet.on) #hbfab.hbfab.hbin{display:none!important}
/* r166 #1 (Ty 7:44): no dark bottom gradient on album/series photos (Standard + Easy View). Captions sit on a solid light strip; the price is a light pill. */
html body .alb::after,html body .p a.im::after,html body .sc-im:has(.sc-pb)::after{content:none!important;background:none!important;display:none!important}
html body .alb{display:flex;flex-direction:column}
html body .alb img{flex:1 1 auto;min-height:0}
html body .alb span{position:static!important;left:auto;right:auto;bottom:auto;flex:none;padding:8px 10px 9px;background:#fffdf9;color:#1f1a15!important;text-shadow:none!important;border-top:1px solid rgba(42,35,28,.08)}
html body .alb span *,html body .alb .apill,html body .alb .apill small{color:#1f1a15!important;text-shadow:none!important}
html body .alb span .l2,html body .alb .arow small.l2{color:#4a4037!important;opacity:1!important}
html body .p a.im .ipsf{background:rgba(255,253,249,.96)!important;color:#1f1a15!important;text-shadow:none!important;border-radius:999px;padding:3px 9px;box-shadow:0 1px 3px rgba(0,0,0,.18)}
html body .p a.im .ipsf b{color:#1f1a15!important}
/* r166 #3 (Ty 7:44): Free Quote / Free Sample side by side, about half height, taps >= 44px, no overlap at any width (scripts/r166_btns.mjs) */
html body .p .bd .r4{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}
html body #app .p .bd .r4>.btn,html body #app .p .bd .r4>.smpb{min-height:44px!important;height:auto!important;padding:4px 4px!important;margin:0!important;width:100%!important;min-width:0;font-size:12.5px!important;line-height:1.15!important;white-space:normal;text-wrap:balance;border-radius:12px!important}
@media(min-width:700px){html body #app .p .bd .r4>.btn,html body #app .p .bd .r4>.smpb{font-size:13.5px!important}}
html body.easy #app .p .bd .r4>.btn,html body.easy #app .p .bd .r4>.smpb{font-size:15px!important;min-height:48px!important}
html body #app article.p div.bd div.r4,html #app article.p div.bd div.r4{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:6px!important;align-items:stretch!important}
html body #app article.p div.bd div.r4>.btn,html body #app article.p div.bd div.r4>.smpb,html #app article.p div.bd div.r4>.btn,html #app article.p div.bd div.r4>.smpb{flex:1 1 0!important;width:auto!important;max-width:none!important;display:flex!important;align-items:center;justify-content:center;text-align:center}
@media(max-width:359px){html body #app .p .bd .r4>.btn,html body #app .p .bd .r4>.smpb{font-size:11.5px!important;padding:2px 3px!important;line-height:1.08!important;letter-spacing:0!important}}
#layb .layc[hidden]{display:none!important}   /* r166 #5 */
/* r166 #6 (Ty 7:44): Easy View, MSI-look colour: blue page titles, tinted section headers and caption strips, large type. All text pairs >= 9:1 (AA). */
html body.easy{--ez-ink:#0b3d73;--ez-tint:#eaf2fb;--ez-line:#c9dcf2}
html body.easy #app h1{color:var(--ez-ink)!important;font-size:clamp(28px,7vw,40px)!important}
html body.easy #app .ahead{background:var(--ez-tint);border:1px solid var(--ez-line);border-left:6px solid #0B5DAF;border-radius:14px;padding:12px 16px;margin:8px 0 14px}
html body.easy #app .crumb,html body.easy #app .crumb a{color:var(--ez-ink)!important;font-size:16px!important}
html body.easy #app .alb span{background:var(--ez-tint)!important;border-top:3px solid #0B5DAF!important;font-size:18px!important}
html body.easy #app .alb span *{color:var(--ez-ink)!important}
html body.easy #app article.p{border:1px solid var(--ez-line)!important}
html body.easy #app article.p .n{color:var(--ez-ink)!important;font-size:20px!important}
html body.easy #app h2{color:var(--ez-ink)!important;background:var(--ez-tint);border-radius:10px;padding:6px 12px}
/* r167 B: (i) panel = first panel only, Close button (tap (i) again also closes) */
details.fsi .fsx{display:block;margin:10px 0 0 auto;min-height:44px;padding:0 18px;border:1px solid #0B5DAF;border-radius:999px;background:#fff;color:#0B5DAF;font:600 14px/1 inherit;cursor:pointer}
details.fsi .fsx,.sc-fit+.fsx{display:block;margin:10px 0 0 auto;min-height:44px;padding:0 18px;border:1px solid #0B5DAF;border-radius:999px;background:#fff;color:#0B5DAF;font-weight:600;cursor:pointer}
/* r167 D (Ty 8:01): order screen card full width and centred, no right gap; X sits in its own band above the card */
html body #sheetc .osh .so{width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;margin-top:40px!important;box-sizing:border-box}
html body #sheetc .osh .sotb td.ic{word-break:normal!important;overflow-wrap:break-word!important}
.sbx .sbpm{margin-top:6px}  /* r167 F: Profit / Margin rows, same style as Client Total */
/* r167 G (Ty 8:01): Accepted by / Date = compact sign-off at the very bottom (PandaDoc / Proposify / Jobber / Houzz Pro / Joist pattern: small labelled signature + date lines, right-aligned block, not full width) */
html body .pq-acc{max-width:400px;margin:30px 0 0 auto!important;grid-template-columns:auto 1fr auto 96px;gap:8px;font-size:11.5px;letter-spacing:.02em;color:#6e6256}
html body .pq-acc i{height:12px;border-bottom-color:#8a7f73}
@media (max-width:480px){html body .pq-acc{max-width:300px;grid-template-columns:auto 1fr;row-gap:12px}}
@media print{html body .pq-acc{max-width:360px}}
.sh-mln{display:inline-block;margin-top:4px;padding:6px 0;min-height:32px;border:0;background:none;color:#0B5DAF;font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer}  /* r167 I */
/* r167 J: colour / tone buttons fold away (open by default) */
.sh-cold>summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}
.sh-cold>summary::-webkit-details-marker{display:none}
.sh-cold>summary .sh-colt{margin-left:auto;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
.sh-cold:not([open])>summary .sh-colt{transform:rotate(-45deg)}
html body .sbx .sbpm{background:linear-gradient(180deg,#fbf3e2,#f5e6c6)!important;border:1px solid #d9c08a!important;padding:9px 10.8px!important;border-radius:10px}
html body .sbx .sbpm .sbl>span{font-size:15.3px;color:#5c4a2e;font-weight:700}
html body .sbx .sbpm .sbl>b{color:#1a1a1a}
/* r167 Q (Ty 11:37 PM): Quote button. The ivory spec (#FAF5E9 fill, #1F2A36 text, #C9A96E border) gives text 13.38:1, but the #C9A96E border is only 2.24:1 on white
   and 2.06:1 on the ivory fill, under the 3:1 non-text minimum. So we use Ty's fallback: #C9A96E fill with #1F2A36 text (6.5:1, AA), and a #B8955A pressed/hover state (5.19:1). Same size and shape. */
html body header.top nav #cartl{background:#C9A96E!important;border:1.5px solid #C9A96E!important;color:#1F2A36!important}
html body header.top nav #cartl:hover,html body header.top nav #cartl:active{background:#B8955A!important;border-color:#B8955A!important;color:#1F2A36!important}
html body header.top nav #cartl svg{color:#1F2A36;fill:currentColor;stroke:currentColor}
html body header.top nav #cartl .cnt{background:#1F2A36!important;color:#FAF5E9!important}
.more .moresl{margin-top:28px} .more .moresl h2{font-size:24px;margin:0 0 10px}  /* r167 S */
/* r167 BUG TY-167a (Ty 11:44 PM): 'Show layout' / 'Hide' did nothing visible: a later display:flex!important rule on the layout switch beat .layb.lbh>:not(.laybh). Hide it with an id-level rule. */
html body #layb.lbh>:not(.laybh){display:none!important}
/* r167 E3 (Ty 11:44 PM): Easy View dress-up, from research/easyview_senior_research.md. Builds on the r166 blue headers. Easy View only; Standard untouched.
   Ink #1F2937 on ivory 13.49:1; blue #0B5DAF on ivory 6.03:1; white on blue 6.56:1; gold text #7A5A1E 5.83:1; #C9A96E only for bars and chips behind ink. */
html body.easy{background:#FAF5E9}
html body.easy header.top{border-bottom:3px solid #C9A96E!important}
html body.easy #app{color:#1F2937;font-size:18px;line-height:1.6}
html body.easy #app h1{color:#0B5DAF!important;font-weight:700}
html body.easy #app h2{color:#0B5DAF!important;font-weight:700;padding-bottom:6px;border-bottom:3px solid #C9A96E}
html body.easy #app .ahead{background:#EAF2FB!important;border:1px solid #B9D3EE!important;border-left:6px solid #0B5DAF!important;border-radius:12px!important}
html body.easy #app .alb,html body.easy #app article.p{background:#fff!important;border:1px solid #E3D9C3!important;border-left:4px solid #0B5DAF!important;border-radius:12px!important;box-shadow:none!important}
html body.easy #app .alb img,html body.easy #app article.p img{box-shadow:none!important;filter:none!important}
html body.easy #app .alb span{background:#fff!important;color:#1F2937!important}
html body.easy #app .alb span b,html body.easy #app article.p .n{color:#1F2937!important;font-size:20px}
html body.easy #app .bk,html body.easy #app .sotot,html body.easy #app .fqc{background:#EAF2FB;border-top:4px solid #0B5DAF;border-radius:12px}
html body.easy #app .btn,html body.easy #app button.btn{min-height:56px;border-radius:12px;font-size:18px;font-weight:600}
html body.easy #app .btn.ghost{background:#fff!important;border:2px solid #0B5DAF!important;color:#0B5DAF!important}
html body.easy #app .btn:not(.ghost):not(.gold){background:#0B5DAF!important;color:#fff!important;border-color:#0B5DAF!important}
html body.easy #app .btn:not(.ghost):not(.gold):active{background:#08447F!important}
html body.easy #app .r4>*{border-radius:12px!important}
html body.easy #app small,html body.easy #app .fine{font-size:16px!important;color:#4B5563}
html body.easy #app :focus-visible{outline:3px solid #0B5DAF!important;outline-offset:3px}
html body.easy header.top :focus-visible{outline:3px solid #0B5DAF!important;outline-offset:3px}
/* r167 H1 (Ty 11:44 PM): Help button = MSI blue circle, 48px, white chat bubble (no '?'), same position; 'Help' label on desktop hover. White on #0B5DAF 6.56:1. */
html body #hbfab.hbfab,html body.easy #hbfab.hbfab{background:#0B5DAF!important;color:#fff!important;border:0!important;box-shadow:0 2px 8px rgba(11,93,175,.28)!important}
html body #hbfab.hbfab svg{stroke:#fff;color:#fff}
html body #hbfab.hbfab:active{background:#08447F!important}
@media(max-width:430px){html body #hbfab.hbfab.hbin{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;flex:0 0 48px}}
@media(hover:hover) and (min-width:700px){html body #hbfab.hbfab{position:fixed;overflow:visible}html body #hbfab.hbfab::after{content:'Help';position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:5px 10px;border-radius:999px;background:#1F2937;color:#fff;font:600 14px/1 Nunito,system-ui,sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s}html body #hbfab.hbfab:hover::after,html body #hbfab.hbfab:focus-visible::after{opacity:1}}
/* r167 T (Ty 11:51 PM): Tools button in the header (same pill as Samples) + Tools menu; Help bubble floats bottom right with a remembered minimize X */
html body header.top nav #toolsb{display:inline-flex;align-items:center;gap:6px;height:44px;min-height:44px;padding:0 12px;border:1.5px solid #1a1a1a;border-radius:999px;background:#fff;color:#1a1a1a;font:700 14px/1 Nunito,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
html body header.top nav #toolsb:active{background:#F1E8D3}
@media(max-width:380px){html body header.top nav #toolsb{padding:0 9px;gap:4px;font-size:13px}html body header.top nav #toolsb svg{width:16px;height:16px}}
.tlmenu{position:absolute;z-index:80;width:320px;background:#fff;border:1px solid #E3D9C3;border-radius:14px;box-shadow:0 10px 30px rgba(31,41,55,.16);padding:8px}
.tlmenu .tlh{margin:4px 10px 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7A5A1E;font-weight:700}
.tlit{display:block;width:100%;box-sizing:border-box;text-align:left;padding:12px;min-height:48px;border-radius:10px;color:#1F2937;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}
.tlit:hover,.tlit:focus-visible{background:#EAF2FB}
.tlit b{display:block;font-size:15px;color:#0B5DAF}.tlit small{display:block;font-size:13px;color:#4B5563;margin-top:2px}
.tlsh .tllist{display:grid;gap:8px}.tlsh .tlit{border:1px solid #E3D9C3}
html body #hbfab.hbfab,html body #hbfab.hbfab.hbin{position:fixed!important;right:16px!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;left:auto!important;top:auto!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;z-index:60}
.hbmx{position:fixed;right:10px;bottom:calc(52px + env(safe-area-inset-bottom));z-index:61;width:24px;height:24px;min-height:24px;padding:0;border-radius:50%;border:1.5px solid #fff;background:#1F2937;color:#fff;font:700 15px/1 system-ui,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.hbmx::before{content:'';position:absolute;inset:-10px -10px -2px -2px} /* B1d: hit area must not cover the Help bubble's centre (real click opened minimize, not the helper) */
body.easy .hbmx{width:30px;height:30px;font-size:18px;right:8px;bottom:calc(50px + env(safe-area-inset-bottom))}
body.hbmin #hbfab,body.hbmin .hbmx,body:has(#sheet.on) .hbmx,body.srch .hbmx,body:not(:has(#hbfab)) .hbmx{display:none!important}
body:has(.ctact) .hbmx{bottom:calc(132px + env(safe-area-inset-bottom))}
@media print{.hbmx,#toolsb,.tlmenu{display:none!important}}
html body .hbmx,html body.easy .hbmx{min-height:0!important;min-width:0!important;padding:0!important}
@media print{.sbx .sbpm{display:none!important}} /* r167 Flooring: never print Profit/Margin */
@media(max-width:340px){html body header.top nav #toolsb{padding:0;width:44px;justify-content:center}html body header.top nav #toolsb>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}} /* r167: 320 icon-only Tools (hdr_phone) */
/* r167 D (Leader 12:57 AM): phones keep the floating bubble, 44px at 390 and below; the page gets bottom padding (bubble + 16px) so content can scroll clear */
@media(max-width:699px){html body:has(#hbfab):not(.hbmin){padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}}
@media(max-width:390px){html body #hbfab.hbfab,html body #hbfab.hbfab.hbin{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important}html body:has(#hbfab):not(.hbmin){padding-bottom:calc(60px + env(safe-area-inset-bottom))!important}}
/* r167 A fallback (body[data-hbm=A]): below 700px there is no floating bubble; Help is in the Tools menu */
@media(max-width:999px){html body[data-hbm=A] #hbfab,html body[data-hbm=A] .hbmx{display:none!important}html body[data-hbm=A]:has(#hbfab){padding-bottom:0!important}} /* r167: A covers 700-999 too (768 /cart Place Order) */
@media(min-width:700px){html body:has(#hbfab):not(.hbmin){padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}} /* r167: desktop too (768 /cart Place Order) */
/* r168a #1 (Ty): header = Home | Tools | Quote; no Samples pill; Quote opens a small menu only when samples exist */
html body header.top nav #smpl{display:none!important}
.qmenu{width:230px!important}.qmenu .tlit{display:flex;align-items:center;min-height:44px;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:8px 12px;font:inherit;color:#1F2A36;text-decoration:none;cursor:pointer}.qmenu .tlit:hover,.qmenu .tlit:focus-visible{background:#F6F1E6}
.qmenu .cnt{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;margin-left:6px;border-radius:999px;background:#1F2A36;color:#FAF5E9;font-size:12px;line-height:1;font-variant-numeric:tabular-nums;box-sizing:border-box;text-align:center}
/* r168a #2 (Ty): MSI Favorites home album tiles = full see-through photo with the text on a light scrim (no dark gradient); dark text >= 7:1 on the scrim over any photo */
html body .home .albums .alb{position:relative;display:block}
html body .home .albums .alb img{display:block;width:100%;height:100%;object-fit:cover}
html body .home .albums .alb span{position:absolute!important;left:0!important;right:0!important;bottom:0!important;background:rgba(255,253,249,.80)!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-top:0!important;padding:7px 10px 8px!important}
html body.easy .home .albums .alb span{background:rgba(255,255,255,.88)!important}
/* r168a #3 (Ty): collection grid captions one uniform height: name, then size/colour count left + price bottom right; small caps unit */
html body .albums.subs .alb span{display:flex!important;flex-direction:column;justify-content:space-between;box-sizing:border-box}
html body .albums.subs .alb .arow{display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;align-items:baseline!important;column-gap:6px;row-gap:0}
html body .albums.subs .alb .arow small.l2{flex:0 1 auto;min-width:0;white-space:nowrap!important}
html body .albums.subs .alb .apill{flex-wrap:wrap!important;justify-content:flex-end;text-align:right;margin-left:auto;flex:0 1 auto;max-width:100%}

/* r168a #5 (Ty): no white box behind the price on colour tiles; back to the earlier white text with a shadow */
html body .p a.im .ipsf{background:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.55)!important}
html body .p a.im .ipsf b,html body .p a.im .ipsf small{color:#fff!important}
/* r168a P&T P3: M51 + /s labels 12px -> 14px; M52 search 44px tall at every width; D39 'in transit' + 'Quantities are approximate' >= 14px on phones */
html body label{font-size:max(14px,1em)}
html body #q{min-height:44px!important;box-sizing:border-box}
@media(max-width:699px){html body .soon,html body .soon *,html body p.fine,html body .nw{font-size:14px!important}}
html body .albums.subs .alb .arow small.l2{flex:0 0 auto!important;max-width:100%}   /* r168a: count never shrinks under the price; price wraps to its own line instead */
html body .albums.subs .alb .arow{row-gap:4px!important;line-height:1.2}
/* r168a Ty 9:02: visible 'Show layout' escape link in the footer (Easy View, or whenever the switcher is hidden) */
html body footer.ft .ftsl{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;margin:6px auto 0;background:none;border:0;color:#0B5DAF;font:600 15px/1.2 inherit;text-decoration:underline;cursor:pointer}
@media print{.ftsl{display:none!important}}
/* r168a (Ty 9:04): samples badge sits on the Quote button's corner (absolute, so it never widens the header) + pulse on Add sample */
html body header.top nav #cartl{position:relative;overflow:visible}
html body header.top nav #cartl .smpc{position:absolute;top:-6px;right:-4px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#0B5DAF;color:#fff;font:700 11px/18px system-ui,sans-serif;text-align:center;font-variant-numeric:tabular-nums;box-shadow:0 0 0 2px #fff;pointer-events:none}
@keyframes qpulse{0%{transform:scale(1)}35%{transform:scale(1.12);box-shadow:0 0 0 6px rgba(201,169,110,.45)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(201,169,110,0)}}
html body header.top nav #cartl.qpulse{animation:qpulse .8s ease-out}
@media(prefers-reduced-motion:reduce){html body header.top nav #cartl.qpulse{animation:none}}
/* r168b: Don't want to vote (right of the thumbs) + Moldings & Trims sheet */
html body .lkv .lkno{min-height:44px;padding:0 10px;background:none;border:0;color:#5f5a53;font:600 14px/1.2 inherit;text-decoration:underline;cursor:pointer;margin-left:auto}
html body .hbftw{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
html body .mtl{list-style:none;margin:8px 0 0;padding:0}html body .mtl .mtr{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #eee7dc}
html body .mtl .mtr img{width:48px;height:48px;object-fit:cover;border-radius:8px;flex:none}html body .mtl .mtr span{display:flex;flex-direction:column;min-width:0;flex:1}html body .mtl .mtr small{font-size:14px;color:#5f5a53}
html body .mtl .mtr em{font-style:normal;font-weight:700;white-space:nowrap;font-size:15px}html body .mtl .mtr em small{font-weight:500}

/* r168b PT-TM1: divider before Help */
.tlmenu hr.tldiv,.tlsh hr.tldiv{border:0;border-top:1px solid #e4ded3;margin:4px 0;height:0}
.tlmenu .tlit,.tlsh .tlit{min-height:56px}.tlmenu .tlit small,.tlsh .tlit small{font-size:14px}

/* r168 search Show more (dropdown + /search) */
.srmore{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:8px 0;font-size:15px;box-sizing:border-box}
/* r171 SEV2 (Ty iPhone): share sheet "How should your client see this?" - the phone .evf pill rule (r2299) collided with the fieldset; cards stack full width */
html body fieldset.evf{display:block!important;width:100%!important;max-width:100%;box-sizing:border-box;border:0!important;border-radius:0!important;padding:0!important;margin:8px 0!important;min-height:0!important;background:none!important;text-transform:none!important;letter-spacing:normal!important;font-weight:400!important}
html body fieldset.evf .evo{display:flex!important;width:100%;box-sizing:border-box;gap:12px;align-items:flex-start;min-height:56px;padding:12px 14px;margin:8px 0;text-transform:none!important;letter-spacing:normal!important}
html body fieldset.evf .evo input{flex:0 0 auto;width:22px;height:22px;margin:2px 0 0}
html body fieldset.evf .evo span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
html body fieldset.evf .evo b{display:block;font-size:16px;font-weight:700;text-transform:none!important;letter-spacing:normal!important}
html body fieldset.evf .evo small{display:block;font-size:14px;text-transform:none!important;letter-spacing:normal!important}
/* BUILD 1b B18 + B26 (Ty): the blinking "View Room Scenes / Specs" pill and the "Ships from East Coast / Midwest" chip keep ALL their text inside the box at every width, at 14px+ (wraps to a 2nd line instead of clipping) */
html body .grid .p .hint,html body .sec .p .hint,html body .p .hint{font-size:14px!important;letter-spacing:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:calc(100% - 16px)!important;line-height:1.2!important;height:auto!important;text-align:center;padding:5px 9px!important;box-sizing:border-box}
html body .moretop~.sec .p .st .chip.ships,html body .st .chip.ships,html body .shipln .chip.ships,html body .chip.ships{font-size:14px!important;white-space:normal!important;overflow-wrap:anywhere;max-width:100%!important;display:inline-block!important;height:auto!important;max-height:none!important;min-height:0!important;line-height:1.25!important;box-sizing:border-box;vertical-align:top;overflow:visible!important}
/* D-OSC1 + T-B41 (Ty P1 12:05 AM Nov 4): 'Also available in' = ONE wrapping layout (flex wrap beats the t270 grid), words break only at spaces, real minimum widths */
html body #app .also{min-width:min(100%,260px);box-sizing:border-box;writing-mode:horizontal-tb;overflow-wrap:normal!important;word-break:normal!important}
html body #app .also ul{display:flex!important;flex-wrap:wrap!important;grid-template-columns:none!important;gap:4px 14px!important;min-width:0;width:100%}
html body #app .also li{display:block;flex:0 1 auto;min-width:min(100%,8em);max-width:100%}
html body #app .also li>a,html body #app .also a,html body #app .also .al,html body #app .also summary{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:manual;max-width:100%;box-sizing:border-box}
@media(min-width:800px){html body #app .stk>#sd{min-width:320px}}

/* Leader 12:28 AM (Ty Nov 1 rule): /q header = Back link + the site's plain Home pill (no gold MSI logo on screen). PRINT v43 frozen: print/PDF (body.shot, @media print) keeps the logo, hides the nav */
html body .cq-h .qnav{display:flex;align-items:center;gap:10px;width:100%;justify-content:space-between}
html body .cq-h .qnav .brand.hmp{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:44px;padding:0 16px;border:1.5px solid var(--gold);border-radius:999px;background:#fff;color:var(--gold2)!important;font-size:16px;font-weight:700;letter-spacing:.02em;text-decoration:none;white-space:nowrap;box-sizing:border-box}
html body .cq-h .qnav .qback{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;color:#fff;font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
html body:not(.shot) .cq-h>.logo{display:none}
html body.shot .cq-h .qnav{display:none}
@media print{html body .cq-h .qnav{display:none!important}html body .cq-h>.logo{display:block!important}}

/* Leader 12:28 AM (2): /countertop sticky total bar never covers 'Add a piece' / the inputs (scroll targets stop above the bar and below the header) */
html body #app .cte button,html body #app .cte input,html body #app .cte select,html body #app .cte label{scroll-margin-bottom:104px;scroll-margin-top:132px}
html body #app .cte #ctaddr,html body #app .cte #ctadds{margin-bottom:8px}
/* PT-UX7: /estimate snap checkbox + its label = a 44px tap area */
html body .plr-snap{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 6px;cursor:pointer}
html body .plr-snap input#plrsn{width:24px;height:24px;margin:0}
html body .cq-h .qnav .brand.hmp{flex-direction:row!important;height:44px}html body .cq-h .qnav .brand.hmp svg{display:inline-block!important;width:18px!important;height:18px!important;flex:none}html body .cq-h .qnav .brand.hmp span{display:inline!important}
html body .bnav .brand.hmp{flex-direction:row!important;height:44px;letter-spacing:.02em!important}html body .bnav .brand.hmp svg{display:inline-block!important;width:18px!important;height:18px!important;flex:none}html body .bnav .brand.hmp span{display:inline!important}
/* UX1: the open sheet's own scroller keeps its scroll */
html.sclk #sheet .sheetb,html.sclk .sheet .in,html.sclk #sheet [class*=body]{overscroll-behavior:contain}
/* UX2 (Desktop sweep): product page print = name, photo, size, stock, item code only. /q + quote print (v43 frozen, body.client) untouched */
@media print{html body:not(.client) #app .stk button,html body:not(.client) #app .stk .btn,html body:not(.client) #app .stk .acts,html body:not(.client) #app .also,html body:not(.client) #hbfab,html body:not(.client) #hbmx,html body:not(.client) .totop,html body:not(.client) .evbar,html body:not(.client) header.top,html body:not(.client) footer.ft,html body:not(.client) #sheet{display:none!important}}
/* T-CT1/T-CT2: shape + depth pickers as wrapping pill radios (44px targets) */
html body #app .cte fieldset.ctshape{border:0;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
html body #app .cte fieldset.ctshape legend{width:100%;padding:0;margin:0 0 6px;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
html body #app .cte .ctrad{display:inline-flex!important;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1.5px solid var(--gold,#8b6f4c);border-radius:999px;background:#fff;font-size:15px;font-weight:600;text-transform:none!important;letter-spacing:normal!important;cursor:pointer;width:auto!important;flex:0 0 auto}
html body #app .cte .ctrad input{width:18px!important;height:18px!important;min-height:0!important;margin:0;accent-color:var(--gold2,#6f593d)}
html body #app .cte .ctrad:has(input:checked){background:#f3ede3}
/* DM-3: /estimate >=1024 two panes; <1024 unchanged */
@media(min-width:1024px){html body main.est.est2on{max-width:1440px!important;width:auto}html body main.est .est2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,min(900px,52%));column-gap:32px;align-items:start}html body main.est .est2-l{min-width:0}html body main.est .est2-r{position:sticky;top:12px;min-width:0;max-height:calc(100vh - 24px);overflow:auto;overscroll-behavior:contain}html body main.est .est2-r .plr-c{max-width:100%}}
/* DM-4: visible focus ring on every estimator control */
html body main.est :is(a,button,input,select,textarea,summary,canvas):focus-visible{outline:3px solid #1a5fb4!important;outline-offset:2px}
html body main.est .plr-type a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}

/* B2a#2 (Desktop QA 9e7fa6b747): nothing scrolls under the sticky ESTIMATE ONLY banner; --estban = live banner height (estpage.js) */
main.est h1,main.est h2,main.est input,main.est select,main.est button,main.est textarea{scroll-margin-top:var(--estban,140px)}
/* B2a PT-W1: phones, price pill wraps/stacks inside the card (price + /SQ FT, then struck price + SALE). Pill only. */
@media (max-width:559px){html body .p a.im .ipsf{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;row-gap:3px;max-width:calc(100% - 16px);box-sizing:border-box;line-height:1.15}
html body .p a.im .ipsf b{font-size:14px!important;font-weight:800}
html body .p a.im .ipsf s.was{margin-left:4px}}
/* B2a: sticky bottom bars clear the phone home indicator (safe area); no change where the inset is 0 */
.sc-fdb{padding-bottom:max(16px,calc(8px + env(safe-area-inset-bottom)))}.ctact{padding-bottom:max(10px,calc(8px + env(safe-area-inset-bottom)))}.hbpin{padding-bottom:max(4px,env(safe-area-inset-bottom))}
.vz1{margin:8px 0 0;font-size:14px}
/* B2a (Ty 5:35 PM) vertical-text guard: text cells in flex/grid rows can shrink and wrap at word gaps first; access list stacks its buttons under the user below 600px */
.qi .d,.ln2 .l1,.r2l>*:first-child,.sub span,.also li,.also li>*,.also a{min-width:0;overflow-wrap:anywhere}
@media (max-width:599px){.av2g .qi,.qpage .qi:has(>.x){flex-wrap:wrap}.av2g .qi>.d,.qpage .qi:has(>.x)>.d{flex:1 1 100%}.av2g .qi>.x,.qpage .qi:has(>.x)>.x{flex:0 0 auto;min-height:40px;padding:8px 10px 8px 0;text-align:left}}
/* FINISH-DUAL-20261109 (Ty 5:51/6:08 PM): tidy equal-height finish cards; no .ftg toggle chrome */
.ftg{display:none!important}
dd.ic .ftc{display:block}
.ftst{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 8px;align-items:stretch}
.ftsc{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-width:0;height:100%;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--r);padding:12px;background:var(--card);box-shadow:var(--sh)}
.ftlab{margin:0 0 10px;font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.ftph{border-radius:8px;overflow:hidden;background:#eee;aspect-ratio:1;margin:0 0 10px;max-height:280px}
.ftph img{width:100%;height:100%;object-fit:cover;display:block}
@media (min-width:600px){.ftph{max-height:240px}}
.ftid{margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.ftbox{margin:0 0 8px;font-size:12.5px;color:var(--soft);line-height:1.35}
.ftbd{margin-top:0;min-width:0;flex:0 0 auto}
.ftsc .s2{margin:0 0 6px}.ftbd .st1{overflow-wrap:anywhere;text-wrap:pretty}
.ftsc .regions{display:block}.ftsc .reg{min-width:0;padding:10px}
@media (max-width:599px){.ftst{grid-template-columns:1fr;gap:16px;margin:14px 0}.ftsc{padding:14px 14px 16px}.ftph{margin:0 0 12px}.ftlab{font-size:22px;margin:0 0 10px}.ftid{font-size:15px}.ftbox{font-size:13px;margin:0 0 10px}.ftsc .reg{padding:12px}}
.also li.ftal{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ftk{min-width:0;overflow-wrap:anywhere}.ftchip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none}
/* SEV Ty 10:59 PM: spec rows = label/value grid; the value column can never collapse to 0 (was: .kv flex-basis 0 squeezed by the MSI button -> one letter per line) */
html body .kvrow{flex-wrap:wrap!important}
html body .kvrow>.kv{flex:1 1 240px!important;min-width:min(240px,100%)!important;grid-template-columns:minmax(5.5em,max-content) minmax(0,1fr)}
html body .kv dt{min-width:0;overflow-wrap:break-word}
html body .kv dd{min-width:0;white-space:normal!important;overflow-wrap:anywhere}

/* DISCONTINUED-SECTION-v3 Co-Leader: disabled Email/Text until SQFT is valid (matches .btn[disabled] / .opt.na opacity) */
.osh a.btn.disc-off{opacity:.45;cursor:not-allowed}
.osh .discsh .s2{font-size:16px;margin:0 0 12px}

/* T14-T16-20261109 (T16): More product page MSI doc links, same size as the visualizer link */
.mdocs{margin:8px 0 0;font-size:14px}.mdocs a{white-space:nowrap}

/* ==== CARDPHOTOS-20261109 (Ty 6:53 PM): three full rows; captions no longer steal photo height ==== */
/* Beat older !important aspect locks (.albums.subs .alb{1/1.04}, .albums .alb{1/.85}). Photo well is fixed-AR; caption below. */
html body .albums .alb,
html body .albums.subs .alb,
html body .albums:not(.subs):not(.tiles)>.alb:not(.pk-alb),
html body .pk-alb{
  display:flex!important;flex-direction:column;aspect-ratio:auto!important;height:auto!important
}
html body .alb img,
html body .albums .alb img,
html body .home .albums .alb img{
  flex:none!important;width:100%!important;height:auto!important;min-height:0;object-fit:cover;display:block
}
/* Default section/home photo wells */
html body .albums.subs .alb img,
html body .albums:not(.tiles):not(.subs) .alb img{aspect-ratio:4/3}
/* Plank series (LVP / HRC / Hardwood / Glue-down): 4/3 top-aligned → ~3 of 4 MSI detail rows */
html body .alb.ph-plank img,
html body article.p.ph-plank a.im,
html body article.p.ph-plank a.im img{aspect-ratio:4/3!important;object-position:50% 0%}
html body article.p.ph-plank a.im{display:block;overflow:hidden;background:#f4f2ee}
html body article.p.ph-plank a.im img{width:100%;height:100%;object-fit:cover}
/* Tile series with composed 3-row / 3x3 swatches: keep square (Porcelain is Ty's "perfect") */
html body .alb.ph-tile img,
html body article.p.ph-tile a.im,
html body article.p.ph-tile a.im img{aspect-ratio:1/1!important;object-position:50% 50%}
html body article.p.ph-tile a.im{display:block;overflow:hidden;background:#f4f2ee}
html body article.p.ph-tile a.im img{width:100%;height:100%;object-fit:cover}
/* Hardscape / more / room-scene covers: consistent 4/3 well, centered */
html body .alb.ph-hardscape img,
html body .alb.ph-more img,
html body .alb.ph-room img{aspect-ratio:4/3;object-position:50% 50%}
/* Home grid: same photo well height for every Core album tile */
html body .home .albums .alb img{aspect-ratio:4/3}
/* Phone: same 4/3 as tablet/desktop so top-aligned crop = top 3 of ~4 MSI detail rows (5/4 was 80% and left a partial 4th) */


/* CARDPHOTOS-20261109b: equal caption rows; never clip spec lines; home overlay lighter */
html body .albums.subs .alb span{
  display:grid!important;
  grid-template-rows:auto auto auto auto; /* title, type/thickness, rest spec, colors+price */
  align-content:start;
  row-gap:2px;
  min-height:5.6em; /* same caption block height so rows line up across cards */
  justify-content:start!important;
}
html body .albums.subs .alb span .l1,
html body .albums.subs .alb span .l1b,
html body .albums.subs .alb span .l3{
  min-width:0;
  max-width:100%;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
  text-wrap:balance;
}
/* Title stays one line (hotfix): ellipsis only on .l1, not on spec lines */
html body .albums.subs .alb span .l1{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html body .albums.subs .alb span .l1b:empty,
html body .albums.subs .alb span .l3:empty{display:none}
/* Spec lines wrap only between · groups (NBSP inside groups from subtitle hotfix) */
html body .albums.subs .alb span .l1b,
html body .albums.subs .alb span .l3{line-height:1.25}
html body .albums.subs .alb .arow{
  margin-top:auto;
  align-self:end;
  width:100%;
}
/* Home covers: lighter frosted overlay so photo stays readable at 360/390 */
html body .home .albums .alb span{
  background:rgba(255,253,249,.62)!important;
  -webkit-backdrop-filter:blur(1px);
  backdrop-filter:blur(1px);
  padding:6px 10px 7px!important;
}
@media(max-width:390px){
  html body .home .albums .alb span{
    background:rgba(255,253,249,.55)!important;
    -webkit-backdrop-filter:blur(0.5px);
    backdrop-filter:blur(0.5px);
  }
}

/* VIEWALL 20261109 (Ty): dropdown "View all N results" */
/* GRIDWIDTH 20261109 (Ty): device-aware /search switcher + uniform grid meta */
.sres a.srall{text-transform:none;letter-spacing:0;white-space:nowrap}
.srsf{display:none}
.srlist:not(.srv1) .srl{display:none}
.srlist:not(.srv1) .srsf{display:block}
.srpt,.srln{white-space:nowrap;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;line-height:inherit}
.srhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 10px}
.srhead .fine{margin:0}
.srhead .seg button{min-height:44px;min-width:44px;white-space:nowrap}
html body .srlist.srv2,html body .srlist.srv3,html body .srlist.srv4,html body .srlist.srv6{display:grid;gap:10px;grid-template-columns:repeat(var(--srcols,2),minmax(0,1fr));background:transparent;border:0;overflow:visible;border-radius:0;align-items:stretch}
@media(min-width:1100px){html body .srlist.srv3,html body .srlist.srv4,html body .srlist.srv6{gap:16px}}
html body .srlist.srv2 a.sr,html body .srlist.srv3 a.sr,html body .srlist.srv4 a.sr,html body .srlist.srv6 a.sr{display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;min-height:44px;height:100%;padding:0 0 10px;border:1px solid #e6e1d9;border-radius:12px;background:#fff;box-sizing:border-box}
html body .srlist.srv2 a.sr img,html body .srlist.srv3 a.sr img,html body .srlist.srv4 a.sr img,html body .srlist.srv6 a.sr img{width:100%!important;height:auto!important;aspect-ratio:1;flex:0 0 auto;object-fit:cover;border-radius:12px 12px 0 0;background:#eee}
html body .srlist.srv2 a.sr .srt,html body .srlist.srv3 a.sr .srt,html body .srlist.srv4 a.sr .srt,html body .srlist.srv6 a.sr .srt{padding:0 8px;flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}
html body .srlist.srv2 a.sr .srn,html body .srlist.srv3 a.sr .srn,html body .srlist.srv4 a.sr .srn,html body .srlist.srv6 a.sr .srn{display:block;overflow:visible;text-wrap:pretty;font-size:14px;line-height:1.25;max-height:none}
html body .srlist.srv2 a.sr .srp,html body .srlist.srv3 a.sr .srp,html body .srlist.srv4 a.sr .srp,html body .srlist.srv6 a.sr .srp{margin:auto 8px 0;align-self:flex-start;max-width:calc(100% - 16px);box-sizing:border-box}
html body .srlist.srv2 a.sr .src,html body .srlist.srv3 a.sr .src,html body .srlist.srv4 a.sr .src,html body .srlist.srv6 a.sr .src{font-size:11px;overflow-wrap:anywhere;word-break:break-all}
html body .srlist.srv2 a.sr .srsf,html body .srlist.srv3 a.sr .srsf,html body .srlist.srv4 a.sr .srsf,html body .srlist.srv6 a.sr .srsf{display:block;font-size:12px;font-weight:500;line-height:1.3;color:#6b6257;letter-spacing:0;overflow-wrap:normal}
html body .srlist.srv2 a.sr .srsf *,html body .srlist.srv3 a.sr .srsf *,html body .srlist.srv4 a.sr .srsf *,html body .srlist.srv6 a.sr .srsf *{font-size:12px;font-weight:500;line-height:inherit;color:inherit;letter-spacing:inherit}
html body .srlist.srv3 a.sr .srp,html body .srlist.srv4 a.sr .srp,html body .srlist.srv6 a.sr .srp{font-size:12px;padding:3px 6px}
html body .srlist.srv2 .srmore,html body .srlist.srv3 .srmore,html body .srlist.srv4 .srmore,html body .srlist.srv6 .srmore,
html body .srlist.srv2 .r73h,html body .srlist.srv3 .r73h,html body .srlist.srv4 .r73h,html body .srlist.srv6 .r73h,
html body .srlist.srv2 .sno,html body .srlist.srv3 .sno,html body .srlist.srv4 .sno,html body .srlist.srv6 .sno{grid-column:1/-1}
@media(max-width:380px){html body .srlist.srv3 a.sr .srn{font-size:13px}html body .srlist.srv3 a.sr .srp{font-size:11px;padding:2px 6px}.srhead .seg button{padding:0 8px;font-size:14px!important}}
@media(min-width:700px) and (max-width:1099px){.srhead .seg button{padding:0 10px}}

/* HOMECARDS-20261109 (Ty t749u): home category cards — photo fully visible, solid footer below (no frosted overlay). Matches album tiles + search grid cards. */
html body .home .albums .alb,
html body .home .albums .alb.ph-room{
  display:flex!important;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  background:#fff;
  aspect-ratio:auto!important;
  height:auto!important;
}
html body .home .albums .alb img,
html body .home .albums .alb.ph-room img{
  flex:none!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
html body .home .albums .alb span{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  flex:none;
  display:flex!important;
  flex-direction:column;
  justify-content:flex-start;
  gap:4px;
  box-sizing:border-box;
  min-height:4.85em;
  padding:8px 10px 10px!important;
  background:#fffdf9!important;
  border-top:1px solid rgba(42,35,28,.08)!important;
  color:#1f1a15!important;
  text-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
html body .home .albums .alb span *,
html body .home .albums .alb .apill,
html body .home .albums .alb .apill small{
  color:#1f1a15!important;
  text-shadow:none!important;
}
html body .home .albums .alb span .l1{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-wrap:balance;
  overflow-wrap:normal;
  font-size:14px!important;
  font-weight:700;
  line-height:1.25;
  min-height:2.5em;
  color:#1f1a15!important;
}
html body .home .albums .alb span .arow{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:6px;
  margin-top:auto;
  width:100%;
}
html body .home .albums .alb span .arow .l2,
html body .home .albums .alb span .arow small.l2{
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap!important;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:12px!important;
  font-weight:500;
  color:#4a4037!important;
  opacity:1!important;
  letter-spacing:.01em;
}
html body .home .albums .alb .apill{
  flex:none!important;
  margin-left:auto;
  font-size:13px!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums;
  color:#1f1a15!important;
  text-shadow:none!important;
  white-space:nowrap;
  background:none!important;
  padding:0!important;
}
@media(min-width:700px){
  html body .home .albums .alb span{padding:10px 12px 12px!important;min-height:5.2em}
  html body .home .albums .alb span .l1{font-size:16px!important}
  html body .home .albums .alb span .arow .l2,
  html body .home .albums .alb span .arow small.l2,
  html body .home .albums .alb .apill{font-size:13px!important}
}
@media(min-width:1100px){
  html body .home .albums .alb span .l1{font-size:17px!important}
  html body .home .albums .alb span .arow .l2,
  html body .home .albums .alb span .arow small.l2,
  html body .home .albums .alb .apill{font-size:14px!important}
}
html body.easy .home .albums .alb span{
  background:#fff!important;
  border-top:3px solid #0B5DAF!important;
}

/* HOMECARDS-20261109b: at 4-col tablet (700-1099) the card is as narrow as a phone tile,
   so "From $X/SQ FT" must wrap to its own line instead of clipping. */
@media(min-width:700px) and (max-width:1099px){
  html body .home .albums .alb span{min-height:6.3em}
  html body .home .albums .alb span .arow{flex-wrap:wrap!important;row-gap:2px}
  html body .home .albums .alb .apill{flex:0 0 auto!important;margin-left:auto;max-width:100%}
}

/* TILEPRICE-20261109 (Ty t750u): price to the right of specs when it fits, ~25% bigger amount + smaller unit; compact phone/upright-tablet cards; stack left if too narrow. */
html body .sres a.sr .srt,html body .srlist.srv1 a.sr .srt{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:2px;align-items:center}
html body .sres a.sr .srn,html body .srlist.srv1 a.sr .srn{grid-column:1;grid-row:1;min-width:0}
html body .sres a.sr .srk,html body .srlist.srv1 a.sr .srk{display:contents}
html body .sres a.sr .srmeta,html body .srlist.srv1 a.sr .srmeta{grid-column:1;grid-row:2;min-width:0;display:flex;flex-direction:column;gap:0}
html body .sres a.sr .srp,html body .srlist.srv1 a.sr .srp{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0;max-width:none;font-weight:700;font-size:15px;color:#6f593d;background:#f3ede3;border-radius:999px;padding:4px 10px;white-space:nowrap;display:inline-flex;align-items:baseline;gap:2px;line-height:1.1;box-sizing:border-box}
html body .sres a.sr .srpamt,html body .srlist.srv1 a.sr .srpamt{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1}
html body .sres a.sr .srpu,html body .srlist.srv1 a.sr .srpu{font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1}
html body .sres a.sr .srp.srptxt,html body .srlist.srv1 a.sr .srp.srptxt{font-size:15px;font-weight:800;white-space:nowrap}

html body .srlist.srv2 a.sr .srk,html body .srlist.srv3 a.sr .srk,html body .srlist.srv4 a.sr .srk,html body .srlist.srv6 a.sr .srk{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2px 6px;margin-top:2px;width:100%;container-type:inline-size;container-name:srk}
html body .srlist.srv2 a.sr .srmeta,html body .srlist.srv3 a.sr .srmeta,html body .srlist.srv4 a.sr .srmeta,html body .srlist.srv6 a.sr .srmeta{flex:0 0 auto;width:max-content;max-width:100%;display:flex;flex-direction:column;gap:0;min-width:0}
html body .srlist.srv2 a.sr .srp,html body .srlist.srv3 a.sr .srp,html body .srlist.srv4 a.sr .srp,html body .srlist.srv6 a.sr .srp{flex:0 0 auto;margin:0;align-self:flex-end;max-width:100%;box-sizing:border-box;background:transparent;border-radius:0;padding:0;color:#6f593d;display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:baseline;gap:2px;line-height:1.05;white-space:nowrap;overflow:visible;text-overflow:clip}
html body .srlist.srv2 a.sr .srpamt{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1}
html body .srlist.srv2 a.sr .srpu{font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1}
html body .srlist.srv3 a.sr .srpamt,html body .srlist.srv4 a.sr .srpamt,html body .srlist.srv6 a.sr .srpamt{font-size:16px;font-weight:800;letter-spacing:-.02em;line-height:1}
html body .srlist.srv3 a.sr .srpu,html body .srlist.srv4 a.sr .srpu,html body .srlist.srv6 a.sr .srpu{font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1}
html body .srlist.srv2 a.sr .srp.srptxt,html body .srlist.srv3 a.sr .srp.srptxt,html body .srlist.srv4 a.sr .srp.srptxt,html body .srlist.srv6 a.sr .srp.srptxt{font-size:14px;font-weight:800;white-space:normal;text-align:left;line-height:1.15;max-width:100%}
html body .srlist.srv3 a.sr .srp.srptxt,html body .srlist.srv4 a.sr .srp.srptxt,html body .srlist.srv6 a.sr .srp.srptxt{font-size:13px}

/* tighter cards on phones and upright tablets */
html body .srlist.srv2 a.sr,html body .srlist.srv3 a.sr,html body .srlist.srv4 a.sr,html body .srlist.srv6 a.sr{gap:5px;padding:0 0 8px}
html body .srlist.srv2 a.sr .srt,html body .srlist.srv3 a.sr .srt,html body .srlist.srv4 a.sr .srt,html body .srlist.srv6 a.sr .srt{padding:0 8px;gap:1px}
@media(max-width:699px){html body .srlist.srv2 a.sr,html body .srlist.srv3 a.sr{gap:4px;padding:0 0 6px}html body .srlist.srv2 a.sr .srt,html body .srlist.srv3 a.sr .srt{padding:0 7px;gap:1px}html body .srlist.srv2 a.sr .srk,html body .srlist.srv3 a.sr .srk{margin-top:1px}html body .srlist.srv3 a.sr .srn{font-size:13px}html body .srlist.srv3 a.sr .srpamt{font-size:16px}html body .srlist.srv3 a.sr .srpu{font-size:10px}}
@media(min-width:700px){html body .srlist.srv3 a.sr .srpamt,html body .srlist.srv4 a.sr .srpamt{font-size:18px}html body .srlist.srv3 a.sr .srpu,html body .srlist.srv4 a.sr .srpu{font-size:11px}html body .srlist.srv6 a.sr .srpamt{font-size:17px}html body .srlist.srv6 a.sr .srpu{font-size:11px}}
@media(min-width:1100px){html body .srlist.srv6 a.sr .srpamt{font-size:18px}html body .srlist.srv2 a.sr .srt,html body .srlist.srv3 a.sr .srt,html body .srlist.srv4 a.sr .srt,html body .srlist.srv6 a.sr .srt{padding:0 10px}html body .srlist.srv2 a.sr,html body .srlist.srv3 a.sr,html body .srlist.srv4 a.sr,html body .srlist.srv6 a.sr{gap:6px;padding:0 0 10px}}

@container srk (max-width: 210px){
  .srp{flex-direction:column!important;align-items:flex-end!important;gap:0!important}
  .srpu{margin-top:1px}
}

html body .srlist.srv2 a.sr .srsf,html body .srlist.srv3 a.sr .srsf,html body .srlist.srv4 a.sr .srsf,html body .srlist.srv6 a.sr .srsf{overflow-wrap:break-word;word-break:normal}
html body .srlist.srv2 a.sr .srln,html body .srlist.srv3 a.sr .srln,html body .srlist.srv4 a.sr .srln,html body .srlist.srv6 a.sr .srln{white-space:normal;overflow-wrap:break-word}
html body .srlist.srv2 a.sr .srmeta,html body .srlist.srv3 a.sr .srmeta,html body .srlist.srv4 a.sr .srmeta,html body .srlist.srv6 a.sr .srmeta{overflow:hidden}


/* CARDFIX-P1 (Ty t784u/t785u): home Core 8 cards on phones show the unit right after the price on the SAME line, small (11px, below the 12px album count). Price size unchanged.
   Count + price + unit cannot share one 118–153px line, so (as tablets already do) the album count sits on its own line and the price line stays whole at the bottom right. Also stops the 320px price clipping. */
@media(max-width:400px){
  html body .home .albums .alb .apill.fr .u,html body .home .albums .alb .apill .u{display:inline!important;font-size:11px!important;font-weight:600!important;white-space:nowrap!important}
  html body .home .albums .alb .apill{white-space:nowrap!important}
  html body .home .albums .alb>span>i.arow.arow{flex-wrap:wrap!important;row-gap:1px!important}
  html body .home .albums .alb>span>i.arow.arow>small.l2{flex:1 0 100%!important}
  html body .home .albums .alb>span>i.arow.arow>em.apill{margin-left:auto!important}
}

/* CARDFIX-P2 login P3: under 360px the line wraps after FREE SAMPLES, so its trailing dot is hidden */
@media(max-width:359px){.lg-points .lg-d2{display:none}}
