/* Small Business Pro — public site + store. Navy / cream / gold, Zilla Slab + Barlow. */
:root{
  --cream:#EEEADB; --cream-2:#E4DFC8; --paper:#FBF9F2; --navy:#243060; --navy-2:#1A2450;
  --gold:#D4A030; --gold-ink:#8A6414; --sage:#A8BC8C; --ink:#1d2033; --ink-2:#4a4f63; --line:rgba(36,48,96,.14);
  --serif:'Zilla Slab',Georgia,serif; --sans:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--gold-ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 14px;z-index:20}
.skip:focus{left:10px;top:10px}
h1,h2,h3{font-family:var(--serif);color:var(--navy);line-height:1.12;font-weight:700;letter-spacing:-.005em}
.muted{color:var(--ink-2)}

/* bars */
.demo-bar,.preview-bar,.announce{font-size:14.5px;text-align:center;padding:9px 16px;line-height:1.4}
.demo-bar{background:var(--navy-2);color:#e9e6da}
.demo-bar a{color:var(--gold);font-weight:600;margin-left:6px;white-space:nowrap}
.preview-bar{background:var(--gold);color:#241a02;font-weight:600;position:sticky;top:0;z-index:15}
.announce{background:var(--sage);color:#1d2a14;font-weight:500}

/* header */
.site-head{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}
.head-row{display:flex;align-items:center;gap:22px;min-height:72px}
.brand{font:700 22px/1.1 var(--serif);color:var(--navy);text-decoration:none;margin-right:auto}
.nav-wide{display:flex;gap:4px;flex-wrap:wrap}
.nav-wide a{white-space:nowrap}
.nav-wide a,.nav-menu nav a{color:var(--ink);text-decoration:none;font-weight:500;padding:8px 12px;border-radius:999px}
.nav-wide a:hover{background:var(--cream)}
.nav-wide a[aria-current],.nav-menu a[aria-current]{background:var(--navy);color:#fff}
.call{background:var(--gold);color:#241a02;font-weight:700;text-decoration:none;padding:10px 16px;border-radius:999px;white-space:nowrap}
.call:hover{background:#e3b347;color:#241a02}
.nav-menu{display:none}
.nav-menu summary{list-style:none;cursor:pointer;font-weight:600;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:#fff}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu[open] summary{background:var(--navy);color:#fff}
.nav-menu nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 20px 18px;display:grid;gap:4px;box-shadow:0 18px 30px -18px rgba(26,36,80,.35)}
.nav-menu nav a{padding:12px 14px;font-size:18px}
@media (max-width:1100px){
  .nav-wide{display:none}.nav-menu{display:block}
  .head-row{gap:10px;min-height:64px}.brand{font-size:19px}
  .call{padding:9px 13px;font-size:15px}
}
@media (max-width:420px){.call{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;background:var(--navy);color:#fff;text-decoration:none;font-weight:600;border:2px solid var(--navy)}
.btn:hover{background:var(--navy-2);color:#fff}
.btn.ghost{background:transparent;color:var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.light{background:var(--cream);color:var(--navy);border-color:var(--cream)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}

/* home */
.hero{padding:56px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.eyebrow{font:600 13px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 14px}
.hero h1{font-size:clamp(40px,5.6vw,66px);margin:0}
.lede{font-size:20px;color:var(--ink-2)}
.hero .lede p{margin:18px 0 0}
.hero-img{margin:0;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(26,36,80,.55);aspect-ratio:4/3}
.hero-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.hero{padding:28px 0 44px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-img{order:-1;aspect-ratio:16/10}}
.band{background:var(--cream-2);padding:56px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px 24px 20px}
.card h2{font-size:24px;margin:0 0 8px}
.card p{margin:0;color:var(--ink-2)}
.prose-sec{padding:64px 0;max-width:760px}
.prose-sec h2{font-size:clamp(30px,3.6vw,40px);margin:0 0 16px}
.navy{background:var(--navy);color:#e9e6da;padding:56px 0}
.navy h2{color:#fff;font-size:36px;margin:0 0 12px}
.navy .eyebrow{color:var(--gold)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.navy .hours th,.navy .hours td{border-color:rgba(255,255,255,.16);color:#f3f0e4}
@media (max-width:760px){.split{grid-template-columns:1fr}}

/* inner pages */
.page-head{background:var(--paper);border-bottom:1px solid var(--line);padding:52px 0 40px;margin-bottom:40px}
.page-head h1{font-size:clamp(36px,5vw,54px);margin:0}
.page-head .lede{margin:14px 0 0;max-width:62ch}
main{min-height:50vh;padding-bottom:72px}
.t-home main{padding-bottom:0}
.rich h3{font-size:26px;margin:34px 0 10px}
.rich p{margin:0 0 18px}
.rich ul{padding-left:22px;margin:0 0 18px}
.rich li{margin:6px 0}
.page-img{margin:0 0 30px;border-radius:var(--r);overflow:hidden}
.note{margin-top:28px;padding:18px 22px;background:var(--paper);border-left:4px solid var(--gold);border-radius:6px}
.note p:last-child{margin-bottom:0}
.services{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.services li{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.svc-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.services h2{font-size:24px;margin:0}
.price{font-weight:700;color:var(--gold-ink);white-space:nowrap}
.services p{margin:8px 0 0;color:var(--ink-2)}
@media (max-width:520px){.svc-top{flex-direction:column;gap:2px}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.gallery figure{margin:0;background:var(--paper);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding:12px 16px;font-size:16px;color:var(--ink-2)}
.empty{color:var(--ink-2)}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px}
.faq summary{cursor:pointer;padding:18px 22px;font:600 20px/1.3 var(--serif);color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:'+';font-family:var(--sans);color:var(--gold-ink)}
.faq details[open] summary::after{content:'–'}
.faq summary::-webkit-details-marker{display:none}
.faq .rich{padding:0 22px 6px}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:34px}
.contact-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;text-decoration:none;color:var(--ink)}
a.contact-card:hover{border-color:var(--gold)}
.contact-card span{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);font-weight:600}
.contact-card strong{display:block;font:700 21px/1.3 var(--serif);color:var(--navy);margin-top:6px;overflow-wrap:anywhere}
.contact-card small{display:block;margin-top:8px;color:var(--ink-2);font-size:15px}
h2.sub{font-size:28px;margin:0 0 12px}
.hours{border-collapse:collapse;width:100%;font-size:17px}
.hours th,.hours td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.hours th{font-weight:600;padding-right:18px}

/* footer */
.site-foot{background:var(--navy-2);color:#d9d6ca;padding:48px 0 24px;font-size:16px}
.site-foot a{color:#fff}
.site-foot .brand{color:#fff;font-size:22px;margin:0 0 8px}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.foot-grid p{margin:0 0 8px}
.site-foot .muted{color:#aeb0c0}
.site-foot .hours th,.site-foot .hours td{color:#e9e6da;border-color:rgba(255,255,255,.14);font-size:15px;padding:7px 0}
.foot-base{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:14px;color:#aeb0c0}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr}}

/* store (Small Business Pro) */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.small{font-size:15px}
.btn.block{display:flex;width:100%}
.cart-link{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:600;text-decoration:none;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;white-space:nowrap}
.cart-link:hover,.cart-link[aria-current]{border-color:var(--navy);color:var(--navy)}
.cart-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--gold);color:#241a02;font-size:14px;font-weight:700}
@media (max-width:860px){.cart-link{padding:9px 12px;font-size:15px}}
.sim-banner{background:#fff6dd;border:1px solid #e8cf86;color:#4a3a0e;border-radius:10px;padding:12px 16px;font-size:16px;line-height:1.45;margin:0 0 22px}
.sim-banner strong{color:#3a2c04}
.shop-note{margin:0 0 28px}
.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
.product-card a{display:block;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%}
.product-card a:hover{border-color:var(--gold)}
.product-img{position:relative;display:block;aspect-ratio:1;background:var(--cream-2)}
.product-img img{width:100%;height:100%;object-fit:cover}
.product-card.is-out img{filter:grayscale(.55) opacity(.8)}
.badge{position:absolute;top:12px;left:12px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.product-name{display:block;font:700 21px/1.25 var(--serif);color:var(--navy);padding:16px 18px 2px}
.product-card .product-price{display:block;padding:0 18px 18px;font-weight:600;color:var(--gold-ink)}
.product-wrap{padding-top:28px}
.crumbs{margin:0 0 20px;font-size:16px}
.product-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:start}
.product-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.product-photos figure{margin:0;border-radius:var(--r);overflow:hidden;background:var(--cream-2)}
.product-photos figure:first-child{grid-column:1/-1}
.product-photos img{width:100%;aspect-ratio:1;object-fit:cover}
.product-photos figure:first-child img{aspect-ratio:4/3}
.no-photo{aspect-ratio:4/3;border-radius:var(--r);background:var(--cream-2)}
.product-info h1{font-size:clamp(34px,4vw,48px);margin:0}
.product-info .product-price{font:700 26px/1.2 var(--sans);color:var(--gold-ink);margin:10px 0 18px}
.product-info .rich{color:var(--ink-2)}
.buy{margin-top:24px;display:grid;gap:18px}
.opt{border:0;margin:0;padding:0}
.opt legend{font-weight:700;margin-bottom:8px;padding:0}
.opt-choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:10px 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-weight:600}
.choice small{font-weight:500;color:var(--ink-2);font-size:14px}
.choice input:checked+span{border-color:var(--navy);background:var(--navy);color:#fff}
.choice input:checked+span small{color:#dfe2f0}
.choice input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}
.choice.out span{opacity:.5;text-decoration:line-through;text-decoration-thickness:1px}
.choice.out input{cursor:not-allowed}
.qty-row{display:flex;align-items:center;gap:12px}
.qty-row label{font-weight:700}
select{font:inherit;font-size:17px;min-height:46px;padding:8px 36px 8px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.buy-btn{justify-self:start;min-width:220px;font-size:18px;cursor:pointer}
.soldout-note{margin-top:22px;padding:14px 18px;background:var(--paper);border:1px dashed var(--line);border-radius:10px}
.demo-note{margin-top:14px}
.chip-note{display:inline-block;background:var(--gold);color:#241a02;font-weight:600;font-size:15px;padding:6px 12px;border-radius:8px;margin:0 0 12px}
.flash{background:#e9f2df;border:1px solid #b9cf9c;color:#233a12;border-radius:10px;padding:10px 14px;margin:0 0 20px;font-weight:600}
.flash.err{background:#fbe7e3;border-color:#e6b1a6;color:#6b1d10}
@media (max-width:860px){.product-grid{grid-template-columns:1fr;gap:26px}.buy-btn{justify-self:stretch}}
.cart-lines{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px}
.cart-line{display:grid;grid-template-columns:84px 1fr auto;gap:16px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.cart-line.has-problem{border-color:#e6b1a6}
.cart-thumb{display:block;width:84px;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--cream-2)}
.cart-thumb img{width:100%;height:100%;object-fit:cover}
.cart-main p{margin:0}
.cart-name{font:700 20px/1.25 var(--serif)}
.cart-name a{color:var(--navy);text-decoration:none}
.cart-variant,.cart-unit{color:var(--ink-2);font-size:16px}
.cart-problem{color:#8a2a17;font-weight:600;font-size:16px}
.cart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px}
.cart-actions form{display:flex;align-items:center;gap:8px;margin:0}
.cart-actions select{min-height:40px;font-size:16px;padding:6px 30px 6px 12px}
.link-btn{background:none;border:0;padding:8px 2px;font:inherit;font-size:16px;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:40px}
.cart-total{margin:0;font-weight:700;font-size:18px;white-space:nowrap}
@media (max-width:520px){.cart-line{grid-template-columns:64px 1fr;gap:12px}.cart-thumb{width:64px}.cart-total{grid-column:2}}
.cart-sum{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;display:grid;gap:12px}
.cart-sum p{margin:0}
.cart-sum p:first-child{display:flex;justify-content:space-between;font-size:20px}
.continue{justify-self:start;font-size:16px}
.order-table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin:0 0 22px;font-size:17px}
.order-table th,.order-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.order-table td:last-child{text-align:right;white-space:nowrap;font-weight:600}
.order-table td:nth-child(2){white-space:nowrap;color:var(--ink-2)}
.order-table th small{display:block;font-weight:400;color:var(--ink-2);font-size:15px}
.order-table tfoot th,.order-table tfoot td{border-bottom:0;font-weight:700}
.order-table tfoot tr+tr th,.order-table tfoot tr+tr td{font-weight:500;color:var(--ink-2);padding-top:0}
.place{margin:22px 0 14px}
.place .btn{cursor:pointer;font-size:18px}
.order-ref{font-size:18px}
button{font-family:inherit}
@media (max-width:600px){
  .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-name{font-size:17px;padding:12px 12px 2px}
  .product-card .product-price{padding:0 12px 12px;font-size:16px}
  .badge{top:8px;left:8px;font-size:11px;padding:4px 8px}
}
/* seven nav items + call + cart fit on one row at desktop widths */
@media (min-width:1101px){
  .head-row{gap:14px}
  .nav-wide{gap:0;flex-wrap:nowrap}
  .nav-wide a{padding:8px 10px;font-size:17px}
  .call{padding:10px 14px;font-size:16px}
  .brand{font-size:20px}
}
.brand{min-width:0}
/* checkout: pickup or shipping */
.ship-choice{margin:0 0 18px}
.ship-choice fieldset{border:0;padding:0;margin:0}
.ship-choice legend{font:700 20px/1.2 var(--serif);color:var(--navy);margin-bottom:10px;padding:0}
.ship-opts{display:grid;gap:8px;margin-bottom:12px}
.ship-opt span{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;width:100%;box-sizing:border-box;border-radius:14px;padding:12px 16px}
.ship-opt small{flex-basis:100%;font-size:14.5px}
.ship-price{margin-left:auto;font-weight:700}
.ship-choice .btn.small{min-height:42px;padding:8px 18px;font-size:16px;cursor:pointer}
.ship-one{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin:0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.ship-one small{flex-basis:100%;color:var(--ink-2);font-size:14.5px}
.order-table tfoot tr.total-row th,.order-table tfoot tr.total-row td{font-weight:700;color:var(--ink);padding-top:12px;border-top:1px solid var(--line)}
