/* TenthCommerce storefront. Ink navy + saffron; system fonts; every product image sits in the same square frame. */
:root{--ink:#0d1b2a;--ink2:#1b2d45;--sun:#ffb81c;--sun2:#f5a300;--teal:#0b7a75;--bg:#f3f5f8;--card:#fff;--line:#dfe4ea;--muted:#5b6b7f;--text:#0f1722;--ok:#0a7d3b;--warn:#a35a00;--err:#b42318;--r:12px;--shadow:0 1px 2px rgba(13,27,42,.06),0 4px 14px rgba(13,27,42,.06)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto}
a{color:var(--teal)}
a:hover{color:var(--ink)}
h1,h2,h3{line-height:1.2;letter-spacing:-.01em;margin:0 0 .5rem}
p{margin:0 0 .75rem}
main{display:block;min-height:60vh;outline:none}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.tn-sr,.tc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tn-skip{position:absolute;left:-999px;top:8px;background:var(--sun);color:var(--ink);padding:.5rem 1rem;border-radius:8px;z-index:100;font-weight:700}
.tn-skip:focus{left:8px}
.tn-wrap{max-width:1320px;margin:0 auto;padding:0 20px}

/* header */
.tn-header{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.tn-bar{max-width:1320px;margin:0 auto;padding:10px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.tn-brand{display:inline-flex;align-items:center;text-decoration:none}
.tn-logo{height:36px;width:auto;display:block}
.tn-search{display:flex;height:46px;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 2px transparent;transition:box-shadow .15s}
.tn-search:focus-within{box-shadow:0 0 0 3px var(--sun)}
.tn-search select{border:0;background:#e9edf2;color:var(--ink);padding:0 10px;font:inherit;font-size:.85rem;max-width:150px;border-right:1px solid var(--line)}
.tn-search input{flex:1;min-width:0;border:0;padding:0 14px;font:inherit;color:var(--text);outline:none}
.tn-search button{border:0;background:var(--sun);color:var(--ink);width:56px;cursor:pointer;display:grid;place-items:center;font:inherit;font-weight:700}
.tn-search button:hover{background:var(--sun2)}
.tn-tools{display:flex;gap:6px;align-items:center}
.tn-tool,.tn-cart{color:#fff;text-decoration:none;padding:6px 10px;border-radius:8px;border:1px solid transparent;line-height:1.15}
.tn-tool:hover,.tn-cart:hover{border-color:rgba(255,255,255,.55);color:#fff}
.tn-tool small{display:block;font-size:.72rem;color:#b9c6d4}
.tn-tool b{font-size:.9rem}
.tn-cart{display:flex;align-items:flex-end;gap:4px;position:relative;font-weight:700}
.tn-count{position:absolute;left:22px;top:0;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--sun);color:var(--ink);font-size:.75rem;display:grid;place-items:center}
.tn-depts{background:var(--ink2)}
.tn-depts ul{max-width:1320px;margin:0 auto;padding:0 12px;list-style:none;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.tn-depts ul::-webkit-scrollbar{display:none}
.tn-depts a{display:block;white-space:nowrap;color:#e6edf5;text-decoration:none;font-size:.9rem;padding:9px 10px;border-radius:6px}
.tn-depts a:hover{background:rgba(255,255,255,.1);color:#fff}
.tn-depts a[aria-current]{box-shadow:inset 0 -3px 0 var(--sun);color:#fff;font-weight:600}

/* buttons */
.tn-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.6rem 1.1rem;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;background:var(--ink);color:#fff}
.tn-btn:hover{color:#fff;filter:brightness(1.12)}
.tn-primary{background:var(--sun);color:var(--ink)}
.tn-primary:hover{background:var(--sun2);color:var(--ink);filter:none}
.tn-buy{background:var(--teal);color:#fff}
.tn-ghost{background:transparent;color:inherit;border-color:currentColor}
.tn-ghost:hover{color:inherit;background:rgba(127,127,127,.1);filter:none}
.tn-ghost:disabled{opacity:.4;cursor:default}
.tn-wide{width:100%}
.tn-linkbtn{background:none;border:0;padding:0;color:var(--teal);font:inherit;text-decoration:underline;cursor:pointer}

/* hero + trust */
.tn-hero{background:radial-gradient(1200px 400px at 85% -10%,rgba(255,184,28,.28),transparent 60%),linear-gradient(160deg,var(--ink) 0%,var(--ink2) 100%);color:#fff;padding:48px 0 76px}
.tn-herogrid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
.tn-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--sun2);margin-bottom:.5rem}
.tn-hero .tn-eyebrow{color:var(--sun)}
.tn-hero h1{font-size:clamp(2rem,4.2vw,3.4rem);letter-spacing:-.025em;max-width:16ch}
.tn-lead{font-size:1.12rem;color:#d3dde8;max-width:56ch}
.tn-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.25rem}
.tn-steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:12px}
.tn-steps li{counter-increment:s;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:14px 16px 14px 62px;position:relative}
.tn-steps li::before{content:counter(s);position:absolute;left:16px;top:14px;width:32px;height:32px;border-radius:50%;background:var(--sun);color:var(--ink);font-weight:800;display:grid;place-items:center}
.tn-steps b{display:block}
.tn-steps span{color:#c4d0dc;font-size:.92rem}
.tn-trust{list-style:none;margin:-40px 0 8px;padding:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:#fff;border-radius:var(--r);box-shadow:var(--shadow);position:relative}
.tn-trust li{padding:8px 14px;border-left:3px solid var(--sun)}
.tn-trust b{display:block;font-size:.95rem}
.tn-trust span{font-size:.85rem;color:var(--muted)}

/* shelves, tiles, cards */
.tn-shelf{margin:32px 0}
.tn-shead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.tn-shead h2{font-size:1.4rem;margin:0}
.tn-shead a{font-weight:600;white-space:nowrap}
.tn-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.tn-tile{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;text-decoration:none;color:var(--text);transition:transform .15s,box-shadow .15s}
.tn-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--text)}
.tn-timg{aspect-ratio:1;display:block;position:relative;background:#fff;border-radius:8px;margin-bottom:10px;overflow:hidden}
.tn-timg img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.tn-tile b{font-size:.98rem;line-height:1.25}
.tn-tile small{color:var(--muted)}
.tn-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,224px);gap:12px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x proximity}
.tn-rail>*{scroll-snap-align:start}
.tn-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .15s}
.tn-card:hover{box-shadow:var(--shadow)}
.tn-cmedia{display:block;aspect-ratio:1;background:#fff;padding:14px;border-bottom:1px solid #eef1f4}
.tn-cmedia{position:relative}
.tn-cmedia img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain;display:block}
.tn-noimg{display:block;width:100%;height:100%;border-radius:8px;background:linear-gradient(135deg,#eef2f6 25%,#e4e9ef 25% 50%,#eef2f6 50% 75%,#e4e9ef 75%) 0 0/24px 24px}
.tn-noimg-lg{display:grid;place-items:center;aspect-ratio:1;color:var(--muted);font-weight:600}
.tn-cbody{display:flex;flex-direction:column;gap:4px;padding:12px 14px 14px;flex:1}
.tn-cbrand{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0}
.tn-card h3{font-size:.95rem;font-weight:600;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tn-card h3 a{color:var(--text);text-decoration:none}
.tn-card h3 a:hover{color:var(--teal);text-decoration:underline}
.tn-price{font-size:1.3rem;font-weight:800;color:var(--ink);margin:4px 0 0}
.tn-price-lg{font-size:2rem;margin:0}
.tn-stock{font-size:.85rem;font-weight:600;margin:0}
.tn-in-stock{color:var(--ok)}
.tn-limited{color:var(--warn)}
.tn-on-order{color:var(--muted)}
.tn-add{margin-top:auto;background:var(--sun);color:var(--ink);min-height:40px;font-size:.92rem}
.tn-add:hover{background:var(--sun2);color:var(--ink);filter:none}
.tn-cbody .tn-stock{margin-bottom:10px}

/* listing */
.tn-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:16px 0 4px;margin:0;font-size:.88rem;color:var(--muted)}
.tn-crumbs li+li::before{content:"›";margin-right:6px}
.tn-crumbs span{color:var(--text)}
.tn-listhead h1{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:6px}
.tn-listhead p{color:var(--muted);max-width:75ch}
.tn-listing{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:start;margin:12px 0 40px}
.tn-filters{position:sticky;top:120px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
.tn-filters h2{font-size:1.05rem}
.tn-fdetails>summary{list-style:none;cursor:pointer;font-weight:800;font-size:1.05rem;display:flex;justify-content:space-between;align-items:center}
.tn-fdetails>summary::-webkit-details-marker{display:none}
.tn-fdetails>summary::after{content:"+";font-size:1.3rem;color:var(--muted)}
.tn-fdetails[open]>summary::after{content:"–"}
.tn-fdetails[open]>summary{margin-bottom:12px}
@media (min-width:901px){.tn-fdetails>summary{pointer-events:none}.tn-fdetails>summary::after{display:none}}
.tn-f{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;border:0;padding:0;min-width:0}
.tn-f label,.tn-f legend{font-size:.85rem;font-weight:600;padding:0}
.tn-f input,.tn-f select,.tn-f textarea,.tn-qty{font:inherit;padding:9px 10px;border:1px solid #c5ced8;border-radius:8px;background:#fff;color:var(--text);width:100%}
.tn-price-f{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px}
.tn-price-f legend{grid-column:1/-1;margin-bottom:4px}
.tn-check{display:flex;gap:8px;align-items:center;font-size:.92rem;margin-bottom:10px;cursor:pointer}
.tn-check input{width:18px;height:18px;accent-color:var(--teal)}
.tn-resbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.tn-resbar p{margin:0;color:var(--muted)}
.tn-sort{flex-direction:row;align-items:center;gap:8px;margin:0}
.tn-sort select{width:auto}
.tn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.tn-grid[hidden]{display:none}
.tn-empty{background:#fff;border:1px dashed #c5ced8;border-radius:var(--r);padding:28px;text-align:center}
.tn-pager[hidden]{display:none}
.tn-pager{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px 0}

/* product page */
.tn-product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 300px;gap:28px;align-items:start;margin:12px 0 28px}
.tn-pmedia{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;aspect-ratio:1;display:grid;place-items:center;position:sticky;overflow:hidden;top:120px}
.tn-pmedia img{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);object-fit:contain}
.tn-pinfo h1{font-size:clamp(1.35rem,2.4vw,1.85rem)}
.tn-code{font-size:.85rem;color:var(--muted)}
.tn-highlights{padding-left:1.1rem;margin:12px 0}
.tn-highlights li{margin-bottom:4px}
.tn-more{font-weight:600}
.tn-buybox{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px;position:sticky;top:120px;box-shadow:var(--shadow)}
.tn-buybox .tn-btn{border-radius:999px}
.tn-qtyrow{display:flex;align-items:center;gap:10px}
.tn-qtyrow select{font:inherit;padding:8px;border-radius:8px;border:1px solid #c5ced8;background:#f6f8fa}
.tn-fine{font-size:.85rem;color:var(--muted);margin:0}
.tn-assure{list-style:none;padding:12px 0 0;margin:4px 0 0;border-top:1px solid var(--line);font-size:.86rem;display:grid;gap:6px}
.tn-assure li::before{content:"✓";color:var(--ok);font-weight:800;margin-right:6px}
.tn-specs{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;margin-bottom:24px}
.tn-specs ul{columns:2 320px;column-gap:32px;margin:0;padding-left:1.1rem}
.tn-specs li{break-inside:avoid;margin-bottom:6px}

/* pages, cart, checkout */
.tn-page{padding-top:28px;padding-bottom:48px}
.tn-page h1{font-size:clamp(1.6rem,3vw,2.2rem)}
.tn-legal{max-width:860px}
.tn-legal h2{font-size:1.2rem;margin-top:1.6rem}
.tn-howto{padding-left:1.2rem}
.tn-howto h2{font-size:1.1rem;margin-top:1.2rem}
.tn-callout{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 22px;margin-top:24px}
.tn-callout h2{margin-top:0}
.tn-cartwrap{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.tn-cartlist{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:4px 20px}
.tn-cartrow{display:grid;grid-template-columns:110px 1fr auto;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.tn-cartrow:last-child{border-bottom:0}
.tn-cartimg{display:block;position:relative;aspect-ratio:1;background:#fff;border:1px solid #eef1f4;border-radius:8px;padding:6px}
.tn-cartimg img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain}
.tn-cartinfo h3{font-size:1rem}
.tn-cartinfo h3 a{color:var(--text);text-decoration:none}
.tn-cartctl{display:flex;align-items:center;gap:10px;margin-top:6px}
.tn-cartctl .tn-qty{width:80px}
.tn-cartrow>.tn-price{font-size:1.1rem}
.tn-summary{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px;position:sticky;top:120px}
.tn-total{font-size:1.15rem;font-weight:800;margin:0}
.tn-emptycart{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px;grid-column:1/-1;text-align:center}
.tn-notice{grid-column:1/-1;background:#fff7e6;border:1px solid #f3d08a;border-radius:8px;padding:10px 14px}
.tn-toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,140%);background:var(--ink);color:#fff;padding:12px 16px;border-radius:12px;display:flex;gap:14px;align-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .25s;z-index:60;max-width:calc(100vw - 24px)}
.tn-toast.tn-show{transform:translate(-50%,0)}
.tn-toast a{color:var(--sun);font-weight:700;white-space:nowrap}
.tn-contact{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}
.tn-form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.tn-status{margin:10px 0 0;font-weight:600}
.tn-ok{color:var(--ok)}
.tn-error,.tc-error{color:var(--err)}
.tn-404{text-align:center;max-width:640px}
.tn-search-lg{margin:20px auto;max-width:520px;border:1px solid #c5ced8}

/* shared checkout markup (components/tarsus-catalogue.mjs) */
.tn-checkoutpage .eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700;color:var(--sun2)}
.tc-checkout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}
.tc-coform{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.tc-coform fieldset{border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tc-coform legend{font-size:1.1rem;font-weight:800;margin-bottom:10px}
.tc-f{display:flex;flex-direction:column;gap:4px}
.tc-f label{font-size:.85rem;font-weight:600}
.tc-f input,.tc-f select,.tc-f textarea{font:inherit;padding:10px;border:1px solid #c5ced8;border-radius:8px;width:100%;background:#fff}
.tc-wide{grid-column:1/-1}
.tc-check{display:block;position:relative;padding-left:30px;font-size:.92rem;margin:6px 0 14px}
.tc-check input{position:absolute;left:0;top:3px;width:18px;height:18px;margin:0;accent-color:var(--teal)}
.tc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tc-place{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.6rem;border-radius:999px;border:0;background:var(--sun);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}
.tc-place:hover{background:var(--sun2)}
.tc-place:disabled{opacity:.6;cursor:progress}
.tc-status{margin:10px 0 0;font-weight:600}
.tc-side{display:grid;gap:16px;position:sticky;top:120px}
.tc-side[hidden]{display:none}
.tc-summary,.tc-trust{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.tc-summary h2,.tc-trust h2{font-size:1.1rem}
.tc-sumrow b{white-space:nowrap}
.tc-sumrow{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;padding:6px 0;border-bottom:1px solid #eef1f4}
.tc-total{font-weight:800;font-size:1.15rem;margin:10px 0 4px}
.tc-trust ul,.tn-callout ul{padding-left:1.1rem;margin:0;font-size:.92rem}
.tc-trust li,.tn-callout li{margin-bottom:6px}
.fine{font-size:.85rem;color:var(--muted)}
.tc-done{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.tc-done .btn{display:inline-flex;min-height:44px;align-items:center;padding:.6rem 1.2rem;border-radius:999px;background:var(--sun);color:var(--ink);font-weight:800;text-decoration:none}
.tc-ref b{font-size:1.2rem}

/* footer */
.tn-footer{background:var(--ink);color:#c4d0dc;margin-top:48px;padding:40px 0 20px}
.tn-fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.tn-footer h2{font-size:.95rem;color:#fff;margin-bottom:10px}
.tn-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.tn-footer a{color:#e6edf5;text-decoration:none;font-size:.92rem}
.tn-footer a:hover{color:var(--sun);text-decoration:underline}
.tn-footer p{font-size:.9rem;margin-top:12px}
.tn-legal-row,.tn-footer .tn-legal{max-width:1320px;border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:16px;font-size:.82rem}

/* responsive */
@media (max-width:1100px){.tn-product{grid-template-columns:1fr 1fr}.tn-buybox{grid-column:2;position:static}.tn-pinfo{grid-column:2;grid-row:1}.tn-pmedia{grid-row:1/3}}
@media (max-width:900px){
 .tn-bar{grid-template-columns:auto 1fr;gap:10px}.tn-search{grid-column:1/-1;grid-row:2}.tn-tools{justify-self:end}.tn-hide-sm{display:none}
 .tn-herogrid{grid-template-columns:1fr}.tn-trust{grid-template-columns:1fr 1fr}
 .tn-listing{grid-template-columns:1fr}.tn-filters{position:static}.tn-filters form{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.tn-filters h2,.tn-filters .tn-check,.tn-filters [data-clear]{grid-column:1/-1}
 .tn-cartwrap,.tc-checkout,.tn-contact{grid-template-columns:1fr}.tc-side{order:-1}.tn-fdetails:not([open]){margin-bottom:0}.tn-summary,.tc-side{position:static}
 .tn-fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 html{scroll-padding-top:150px}
 .tn-wrap{padding:0 14px}.tn-logo{height:30px}.tn-search select{display:none}
 .tn-hero{padding:32px 0 64px}.tn-trust{grid-template-columns:1fr}
 .tn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tn-cbody{padding:10px}.tn-price{font-size:1.1rem}
 .tn-product{grid-template-columns:1fr}.tn-pmedia,.tn-pinfo,.tn-buybox{grid-column:auto;grid-row:auto;position:static}.tn-pmedia{position:relative}
 .tn-cartrow{grid-template-columns:80px 1fr}.tn-cartrow>.tn-price{grid-column:2}
 .tc-coform fieldset{grid-template-columns:1fr}.tn-filters form{grid-template-columns:1fr}
 .tn-fgrid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
