/* Poly web shop. Palette and type follow the countrysidebarns.com Blocksy theme
   (palette colors 1–8, Fraunces headings, Outfit body) so /poly/ reads as part of the site. */
:root{
  --sage:#9a957e; --sage-2:#b7b29c; --sand:#ebe8dc; --ground:#f8f7f2; --gray:#6f6f6a; --line:#d3d2cc; --white:#fff; --ink:#1a1a1a;
  --sage-deep:#5f5b49; --good:#2f6b3e; --good-soft:#e3efe2; --warn:#8a4b12; --warn-soft:#f7ecdc; --err:#9b2226;
  --display:"Fraunces",Georgia,"Times New Roman",serif; --body:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
/* Everything below is confined to the shop (main.poly-shop) or to the shop's own fallback
   header/footer, so the copied WordPress header and footer keep only their theme's styles. */
.poly-shop,.poly-shop *,body:not(.has-site-chrome) *{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body:not(.has-site-chrome){margin:0;background:var(--ground);color:var(--ink);font:16px/1.55 var(--body)}
.poly-shop{font:16px/1.55 var(--body)}
.poly-shop img{max-width:100%}
/* :where() keeps these resets at class weight, so the shop's own button/link rules below win */
.poly-shop :where(a),body:not(.has-site-chrome) :where(a){color:inherit}
.poly-shop :where(button,input,select,textarea){font:inherit;color:inherit}
.poly-shop button{cursor:pointer}
.poly-shop :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:99}
.skip:focus{left:8px}
.poly-shop .wrap,header.site .wrap,footer.site .wrap{max-width:1260px;margin:0 auto;padding-inline:20px}
.poly-shop .narrow{max-width:760px}
.poly-shop .mono{font-family:var(--mono);font-size:.82em;letter-spacing:.01em}
.poly-shop :is(h1,h2,.h3,.h4){font-family:var(--display);font-weight:600;line-height:1.1;text-wrap:balance;margin:0;color:var(--ink)}
.poly-shop h1{font-size:clamp(32px,4.6vw,54px);letter-spacing:-.01em}
.poly-shop h2{font-size:26px}
.poly-shop .h3{font-size:19px;display:block}
.poly-shop .h4{font-size:18px}
.poly-shop p{margin-block:0}
.lede{color:var(--gray);font-size:17px;max-width:58ch;margin:12px 0 0}
.poly-shop .lede{margin-top:12px}
.poly-shop .fine{color:var(--gray);font-size:13.5px;margin:10px 0 0}
.muted{color:var(--gray)}
.warn{color:var(--warn)}
.poly-shop .eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;font-weight:600;color:var(--sage-deep);margin:0 0 10px}
.linkbtn{background:none;border:0;padding:0;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* the shop's own header/footer: only used if the site's copy is unavailable */
header.site{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
header.site .wrap{display:flex;align-items:center;gap:26px;padding-block:10px}
header.site .logo img{height:52px;width:auto;display:block}
header.site nav.main{display:flex;gap:20px;font-size:15px;font-weight:500;flex-wrap:wrap}
header.site nav.main a{text-decoration:none;color:var(--ink);padding-block:4px;border-bottom:2px solid transparent}
header.site nav.main a:hover,header.site nav.main a.on{border-color:var(--sage)}
header.site .phone{margin-left:auto;font-weight:600;text-decoration:none;white-space:nowrap}
.cartbtn{display:flex;align-items:center;gap:8px;border:1px solid var(--ink);border-radius:99px;padding:7px 14px;font-weight:600;text-decoration:none;white-space:nowrap;color:var(--ink)}
.cartbtn .n{background:var(--ink);color:#fff;border-radius:99px;min-width:22px;height:22px;display:grid;place-items:center;font-size:12px;padding-inline:6px}
/* shop bar under the site header: section name + the quote list */
.shopbar{background:var(--sand);border-bottom:1px solid var(--line)}
.shopbar .wrap{display:flex;align-items:center;gap:18px;padding-block:10px;flex-wrap:wrap}
.shopbar-home{font-family:var(--display);font-weight:600;font-size:19px;text-decoration:none;color:var(--ink)}
.shopbar-note{color:var(--gray);font-size:14px}
.shopbar .cartbtn{margin-left:auto;background:var(--white)}
@media (max-width:620px){.shopbar-note{display:none}.shopbar .wrap{flex-wrap:nowrap;gap:10px}.shopbar-home{font-size:16px}.shopbar .cartbtn{padding:6px 12px;font-size:14px}}
/* With the live site's header/footer: line content up with its container and keep theme rules off shop controls */
.has-site-chrome .poly-shop .wrap{max-width:var(--theme-normal-container-max-width,1390px);width:var(--theme-container-width,calc(100% - 40px));margin-inline:auto;padding-inline:0}
.has-site-chrome .poly-shop .narrow{max-width:760px}
.poly-shop{background:var(--ground);color:var(--ink);font-family:var(--body)}
.poly-shop button{font-family:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;min-height:0}
.poly-shop input,.poly-shop select,.poly-shop textarea{font-family:inherit;font-size:15px;height:auto;min-height:0;box-shadow:none;color:var(--ink);background-color:var(--white);border:1px solid var(--line);border-radius:8px;padding:8px 12px;line-height:1.4}
.poly-shop select{width:auto;padding-right:34px}
.poly-shop input[type=checkbox],.poly-shop input[type=radio]{width:18px;height:18px;padding:0}
.poly-shop .form input,.poly-shop .form textarea{width:100%;font-size:16px;padding:11px 12px}
footer.site{border-top:1px solid var(--line);background:var(--sand);color:var(--ink);font-size:14px;margin-top:40px}
footer.site .wrap{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between;padding-block:26px}
footer.site p{margin:0;max-width:46ch;color:var(--gray)}
@media (max-width:1020px){header.site nav.main{display:none}}
@media (max-width:620px){header.site .phone{display:none}header.site .logo img{height:40px}}

/* recolor stage */
.art{position:relative;aspect-ratio:1;background:#fff;overflow:hidden;width:100%;max-width:100%}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.art .ly{position:absolute;inset:0;mix-blend-mode:multiply;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none;transition:background .3s}
.art .ly.scr{mix-blend-mode:screen}
.art.noart{display:grid;place-items:center;align-content:center;gap:10px;background:var(--sand)}
.noart-dots{display:flex;gap:6px}.noart-dots i{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.noart-t{font-size:13px;color:var(--gray)}

/* swatches */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.sw{width:28px;height:28px;border-radius:50%;border:2px solid var(--white);box-shadow:0 0 0 1px var(--line);padding:0;position:relative}
.sw:hover{box-shadow:0 0 0 1px var(--gray)}
.sw.on{box-shadow:0 0 0 2px var(--ink)}
.sw.prem::after,.prem-key{content:"";position:absolute;right:-3px;top:-3px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#714b38,#b1a595);border:2px solid var(--white)}
.prem-key{position:relative;display:inline-block;right:auto;top:1px;margin-right:4px}

/* shop */
.hero{padding-block:34px 24px;display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:end}
.paint{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.paint .lab{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}
.paint .lab span{text-transform:none;letter-spacing:0;color:var(--ink)}
.paint-foot{margin:10px 0 0;font-size:13px;color:var(--gray)}
@media (max-width:900px){.hero{grid-template-columns:1fr;padding-block:22px 16px}}
.shop{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;padding-bottom:40px}
.poly-shop .rail-h{font-family:var(--body);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);font-weight:600;margin:0 0 8px}
.rail .grp{display:grid;gap:2px;margin-bottom:24px}
.rail .grp a,.rail .grp button{text-align:left;background:none;border:0;padding:7px 10px;border-radius:8px;display:flex;justify-content:space-between;gap:8px;text-decoration:none;font-size:15px}
.rail .grp a:hover,.rail .grp button:hover{background:var(--sand)}
.rail .grp span{color:var(--gray);font-variant-numeric:tabular-nums;font-size:13px}
.rail .grp .on{background:var(--sand);font-weight:600}
.toggle{display:flex;gap:10px;align-items:flex-start;font-weight:500;cursor:pointer}
.toggle input{accent-color:var(--ink);width:18px;height:18px;flex:none;margin-top:2px}
.toggle.small{font-size:14px;color:var(--gray);margin-top:14px}
.bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.bar .count{color:var(--gray);font-size:14px}
.bar select,.search{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:8px 12px}
.bar select{margin-left:auto}
.search{min-width:0;flex:1 1 200px;max-width:320px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card{background:var(--white);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--sage);box-shadow:0 12px 26px -18px rgb(0 0 0/.45)}
.card .body{padding:12px 14px 14px;display:grid;gap:5px;flex:1;align-content:start}
.card .meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--gray);font-size:13px}
.price{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px}
.badge{display:inline-flex;font-size:12px;font-weight:600;border-radius:99px;padding:2px 9px;white-space:nowrap}
.badge.in{background:var(--good-soft);color:var(--good)}
.badge.some{background:var(--sand);color:var(--sage-deep)}
.badge.mto{background:var(--ground);color:var(--gray);box-shadow:inset 0 0 0 1px var(--line)}
.dots{display:flex;gap:4px}.dots i{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px var(--line)}
.mobile-filters{display:none}
.empty{padding:36px;text-align:center;color:var(--gray);background:var(--white);border:1px dashed var(--line);border-radius:12px;grid-column:1/-1}
@media (max-width:900px){.shop{grid-template-columns:minmax(0,1fr)}.rail{display:none}
  .mobile-filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:6px;scrollbar-width:none}
  .mobile-filters a{flex:none;border:1px solid var(--line);background:var(--white);border-radius:99px;padding:6px 13px;font-size:14px;text-decoration:none}
  .mobile-filters a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card .body{padding:10px}.h3{font-size:16px}.card .mono{display:none}}

/* product */
.crumbs{padding-block:18px;font-size:14px;color:var(--gray)}
.crumbs a{color:var(--gray)}
.pdp{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;padding-bottom:36px}
.stage{border:1px solid var(--line);border-radius:14px;overflow:hidden;position:sticky;top:96px;align-self:start;background:#fff}
.stage .cap{position:absolute;left:14px;bottom:12px;background:rgb(255 255 255/.92);border-radius:8px;padding:5px 10px;font-size:14px;font-weight:500}
.sub{color:var(--gray);margin-top:8px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.big{font-family:var(--display);font-size:32px;font-weight:600;font-variant-numeric:tabular-nums;margin-top:14px}
.big small{font:500 14px var(--body);color:var(--gray);margin-left:10px}
.desc{margin-top:12px;color:var(--ink)}
.pick{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.pick-h{display:flex;justify-content:space-between;gap:10px;font-weight:600}
.pick-h span{font-weight:400;color:var(--gray)}
.tier{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--gray);font-weight:600;margin:12px 0 7px}
.pick .sw{width:34px;height:34px}
.stockline{margin-top:18px;border-radius:10px;padding:12px 14px;font-size:14.5px}
.stockline b{display:block}
.stockline.in{background:var(--good-soft);color:var(--good)}
.stockline.mto{background:var(--sand)}
.buy{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--white)}
.qty button{background:none;border:0;width:42px;height:48px;font-size:20px}
.qty span{min-width:26px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.poly-shop .btn,.btn{border:0;border-radius:10px;padding:0 22px;min-height:50px;font-weight:600;font-size:16px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background .15s}
.poly-shop .btn:hover{background:var(--sage-deep)}
.poly-shop .btn:disabled{opacity:.55;cursor:default}
.poly-shop .btn.sm{min-height:42px;padding:0 16px;font-size:15px}
.poly-shop .btn.wide{flex:1 1 240px}
.deliv{margin-top:22px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px}
.drow{display:flex;gap:8px;margin-top:10px}
.drow input{flex:1;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px 12px}
.deliv .res{margin-top:10px;font-size:15px}
.brackets{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:4px;margin-top:12px}
.brackets div{font-size:12px;text-align:center;border-radius:6px;padding:6px 2px;background:var(--ground);color:var(--gray);font-variant-numeric:tabular-nums}
.brackets div b{color:var(--ink);font-weight:600}
.brackets div.on{background:var(--ink);color:#fff}.brackets div.on b{color:#fff}
.more{padding-bottom:30px}.more h2{margin-bottom:16px}
@media (max-width:900px){.pdp{grid-template-columns:minmax(0,1fr);gap:22px}.stage{position:relative;top:0}}

/* quote list */
.cartpage{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:34px;padding-block:30px 20px}
.cartpage h1{margin-bottom:18px}
.cartpage h2{margin:30px 0 4px}
.line{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:10px}
.line .art{border-radius:8px}
.line .h3{text-decoration:none}
.line .c{color:var(--gray);font-size:14px;margin:2px 0 6px}
.line .rt{text-align:right;display:grid;gap:6px;justify-items:end}
.line.gone{grid-template-columns:0 1fr auto;background:var(--warn-soft)}
.sum{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px;align-self:start;position:sticky;top:96px;display:grid;gap:14px}
.sum .r{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}
.sum .r.t{font-weight:700;font-size:19px;border-top:1px solid var(--line);padding-top:12px}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.seg button{border:0;background:var(--ground);padding:11px;font-weight:600;font-size:14.5px}
.seg button.on{background:var(--ink);color:#fff}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.form label{display:grid;gap:5px;font-size:14px;font-weight:500;color:var(--gray)}
.form label.f{grid-column:1/-1}
.form .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form input,.form textarea{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:11px 12px;font-size:16px;color:var(--ink);width:100%}
.form textarea{resize:vertical}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{background:#f8e5e5;color:var(--err);border-radius:8px;padding:10px 12px;font-size:14.5px}
@media (max-width:900px){.cartpage{grid-template-columns:minmax(0,1fr)}.sum{position:relative;top:0}}
@media (max-width:560px){.form{grid-template-columns:1fr}.line{grid-template-columns:76px minmax(0,1fr)}.line .rt{grid-column:1/-1;grid-template-columns:auto auto auto;justify-content:space-between;align-items:center}}

/* thanks */
.done{padding-block:44px 20px;display:grid;gap:18px}
.done .ok{width:56px;height:56px;border-radius:50%;background:var(--good-soft);color:var(--good);display:grid;place-items:center;font-size:28px;font-weight:700}
.steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:14px}
.steps li::before{content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-weight:700}
.steps b{display:block}.steps span{color:var(--gray)}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:11px 18px;border-radius:99px;font-weight:500;opacity:0;transition:.25s;pointer-events:none;z-index:50;max-width:calc(100% - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:#fff;font-weight:600;margin-left:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
