/*
Theme Name: Tech&Pets
Theme URI: https://techandpets.com
Author: Tech&Pets
Description: Storefront theme for Tech&Pets, odd and useful things for pets and their people. Built for WooCommerce, with a slide-in cart, homepage category chips, a matching-sets band and per-product badges, card colours and name personalisation.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: snoot-co
*/

/* ---------- tokens ---------- */
:root{
  --bg:#eef2f6; --surface:#ffffff; --ink:#14213d; --muted:#5a6680; --line:#d5dce7;
  --sun:#ffc63a; --sun-ink:#14213d; --led:#2fd6c6; --sky:#cfe3f5; --rose:#f6d3cf; --mint:#cdeadb; --lilac:#e1dbf3;
  --display:"Bricolage Grotesque","Arial Rounded MT Bold",system-ui,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --r:14px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  /* Cart, checkout and account stay light so payment fields from Stripe/PayPal stay readable. */
  body:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account){
    --bg:#0f1626; --surface:#18223a; --ink:#eef2f8; --muted:#9aa6bf; --line:#2a3757;
    --sky:#22385a; --rose:#4a2e36; --mint:#1f4236; --lilac:#352f52;
    color-scheme:dark;
  }
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.05;color:var(--ink)}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px))}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:var(--sun);color:var(--sun-ink);padding:10px 16px;border-radius:999px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.btn{display:inline-block;border:2px solid var(--ink);border-radius:999px;padding:12px 22px;font-weight:600;background:transparent;color:var(--ink);text-decoration:none;line-height:1.2;transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn.solid{background:var(--ink);color:var(--bg)}
.btn.full{width:100%;text-align:center}

/* ---------- announcement bar + header ---------- */
.ship{background:var(--ink);color:var(--bg);font-size:.82rem;text-align:center;padding-block:7px}
.ship .wrap{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.bar{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.admin-bar .bar{top:32px}
@media (max-width:782px){.admin-bar .bar{top:46px}}
@media (max-width:600px){.admin-bar .bar{top:0}}
.bar .wrap{display:flex;align-items:center;gap:12px;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:1.35rem;letter-spacing:-.01em;text-decoration:none;color:var(--ink);margin-right:auto}
.logo svg{flex:none}
.custom-logo-link img{max-height:44px;width:auto;display:block}
.nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.nav a{display:block;padding:8px 12px;border-radius:999px;text-decoration:none;font-weight:500}
.nav a:hover,.nav .current-menu-item>a,.nav .current_page_item>a{background:var(--surface)}
.bar-actions{display:flex;align-items:center;gap:8px}
.menu-toggle{display:none;place-items:center;width:40px;height:40px;padding:0;border:1.5px solid var(--line);background:var(--surface);border-radius:50%}
.cartbtn{display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg);border:0;border-radius:999px;padding:9px 16px;font-weight:600;text-decoration:none}
.cartbtn .count{background:var(--sun);color:var(--sun-ink);border-radius:999px;min-width:24px;height:24px;padding-inline:6px;display:grid;place-items:center;font-size:.8rem;font-family:var(--mono)}
@media (max-width:820px){
  .menu-toggle{display:grid}
  .nav{display:none;order:5;width:100%}
  .bar .wrap{flex-wrap:wrap}
  .bar.nav-open .nav{display:block}
  .nav ul{flex-direction:column;padding-top:8px}
}

/* ---------- hero ---------- */
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;padding-block:48px 40px}
.hero h1{font-size:clamp(2.5rem,6.2vw,4.6rem);font-weight:800;letter-spacing:-.025em;margin-block:12px 18px}
.hero h1 em{font-style:normal;background:var(--sun);color:var(--sun-ink);padding:0 .14em;border-radius:.18em}
.hero .lede{max-width:46ch;color:var(--muted);font-size:1.08rem;margin:0 0 24px}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.tagwrap{display:grid;place-items:center;position:relative;isolation:isolate}
/* Circuit traces behind the smart tag; a few end in paw-print pads. */
.traces{position:absolute;inset:-6% -4%;width:108%;height:112%;color:var(--ink);opacity:.13;z-index:-1;pointer-events:none}
.idtag{text-transform:uppercase;position:relative;width:min(320px,100%);aspect-ratio:1/1.12;background:var(--sun);color:var(--sun-ink);border-radius:46% 46% 50% 50%/40% 40% 60% 60%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;transform:rotate(-6deg);box-shadow:0 18px 40px -18px rgba(20,33,61,.45);animation:swing 5s ease-in-out infinite}
.idtag::before{content:"";position:absolute;top:22px;left:50%;width:26px;height:26px;margin-left:-13px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 4px rgba(20,33,61,.18)}
.idtag .n{font-family:var(--display);font-weight:800;font-size:2.6rem;line-height:1.05;letter-spacing:-.02em;margin-top:18px}
.idtag .l{font-family:var(--mono);font-size:.8rem;line-height:1.6;opacity:.85;margin-top:8px}
@keyframes swing{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(3deg)}}
/* Smart-tag status light, signal bars and battery. */
.idtag .led{position:absolute;top:30px;left:calc(50% + 26px);width:10px;height:10px;border-radius:50%;background:var(--led);box-shadow:0 0 0 3px color-mix(in srgb,var(--led) 35%,transparent),0 0 12px var(--led);animation:blink 2.4s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.idtag .tagstat{display:flex;align-items:center;gap:10px;margin-top:14px;opacity:.8}
.idtag .tagstat svg{height:16px;width:auto}

/* ---------- homepage shop ---------- */
.shop{padding-block:24px 56px}
.shophead{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.shophead h2{font-size:clamp(1.8rem,3.6vw,2.6rem);letter-spacing:-.02em;margin-top:4px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-block;border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 14px;font-size:.9rem;font-weight:500;text-decoration:none;color:var(--ink)}
.chip[aria-pressed="true"],.chip[aria-current="page"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.shopfoot{margin-top:28px;text-align:center}
.empty-shop{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:32px;text-align:center;color:var(--muted)}

/* ---------- product cards (homepage, shop, related) ---------- */
.woocommerce ul.products,ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;list-style:none;margin:0 0 24px;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.card,ul.products li.card{float:none;width:auto;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;overflow:hidden;text-align:left}
.card .art{aspect-ratio:4/3;display:grid;place-items:center;position:relative;background:var(--art-bg,var(--sky));text-decoration:none}
.card[data-art="sky"]{--art-bg:var(--sky)}
.card[data-art="rose"]{--art-bg:var(--rose)}
.card[data-art="mint"]{--art-bg:var(--mint)}
.card[data-art="lilac"]{--art-bg:var(--lilac)}
.card[data-art="sun"]{--art-bg:color-mix(in srgb,var(--sun) 35%,var(--surface))}
.card[data-art="plain"]{--art-bg:var(--surface)}
/* Supplier photos usually sit on white; multiply drops the white onto the card colour. */
.woocommerce ul.products li.card .art img,ul.products li.card .art img{width:78%;height:78%;object-fit:contain;margin:0;border-radius:10px;mix-blend-mode:multiply;box-shadow:none}
.card[data-art="plain"] .art img{mix-blend-mode:normal}
.card .art svg{width:46%;height:auto}
.badge{position:absolute;top:12px;left:12px;background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px;z-index:1}
.card .info{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.woocommerce ul.products li.card h3,.card h3{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;padding:0;margin:0}
.card h3 a{text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card .desc{margin:0;color:var(--muted);font-size:.93rem;flex:1}
.card .buy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;flex-wrap:wrap}
.woocommerce ul.products li.card .price,.card .price{font-family:var(--mono);font-size:1.05rem;font-weight:500;color:var(--ink);margin:0}
.card .price del{color:var(--muted);font-size:.85em;opacity:1}
.card .price ins{text-decoration:none;font-weight:600}
.woocommerce ul.products li.card .button,.card .button{background:var(--sun);color:var(--sun-ink);border:0;border-radius:999px;padding:9px 16px;font-weight:600;font-size:.95rem;line-height:1.2;margin:0}
.woocommerce ul.products li.card .button:hover,.card .button:hover{background:var(--sun);filter:brightness(.95);color:var(--sun-ink)}
.woocommerce ul.products li.card .button.added,.card .button.added{background:var(--ink);color:var(--bg)}
.woocommerce ul.products li.card a.added_to_cart{display:none}
.woocommerce ul.products li.card .star-rating{font-size:.8rem;margin:0}

/* ---------- matching band ---------- */
.match{background:var(--ink);color:var(--bg)}
.match .wrap{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;padding-block:56px}
.match h2{font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-.02em;color:var(--bg);margin-block:8px 14px}
.match p{color:color-mix(in srgb,var(--bg) 75%,transparent);max-width:44ch;margin:0 0 22px}
.match .eyebrow{color:var(--sun)}
.match .btn{border-color:var(--sun);color:var(--sun)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pair a{background:color-mix(in srgb,var(--bg) 8%,transparent);border:1px solid color-mix(in srgb,var(--bg) 18%,transparent);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--bg);transition:border-color .15s ease}
.pair a:hover{border-color:var(--sun)}
.pair b{font-family:var(--display);font-size:1.15rem;line-height:1.2}
.pair span{font-family:var(--mono);font-size:.78rem;opacity:.75}
.pair .caps{text-transform:uppercase;letter-spacing:.06em}
/* In dark mode --ink turns light, so the band keeps a dark panel instead of flipping to a light one. */
@media (prefers-color-scheme:dark){
  .match{background:var(--surface);color:var(--ink)}
  .match h2,.pair a{color:var(--ink)}
  .match p{color:var(--muted)}
  .pair a{background:color-mix(in srgb,var(--ink) 6%,transparent);border-color:var(--line)}
}

/* ---------- promises ---------- */
.promise .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:44px}
.promise h3{font-size:1.1rem;margin-bottom:4px}
.promise p{margin:0;color:var(--muted);font-size:.92rem}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.site-footer .wrap{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;padding-block:28px}
.site-footer ul{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.site-footer a{color:var(--ink)}
.foot-legal{border-top:1px solid var(--line)}
.foot-legal .wrap{padding-block:16px;font-size:.82rem}

/* ---------- cart drawer ---------- */
.scrim{position:fixed;inset:0;background:rgba(10,16,30,.45);z-index:9990}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--surface);color:var(--ink);z-index:9991;display:flex;flex-direction:column;gap:12px;
  padding:calc(16px + env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) 20px;
  transform:translateX(100%);transition:transform .28s ease;box-shadow:-20px 0 40px -20px rgba(0,0,0,.3)}
.drawer.open{transform:none}
.admin-bar .drawer{top:32px}
@media (max-width:782px){.admin-bar .drawer{top:46px}}
.drawer.busy .snoot-cart-body{opacity:.55;pointer-events:none}
.drawer>header{display:flex;justify-content:space-between;align-items:center}
.drawer h2{font-size:1.6rem}
.x{border:0;background:transparent;font-size:1.8rem;line-height:1;padding:4px 8px}
body.cart-open{overflow:hidden}
.snoot-cart-body{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}
.lines{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:0;list-style:none;margin:0;padding:0}
.line{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}
.thumb{width:56px;height:56px;border-radius:10px;display:grid;place-items:center;overflow:hidden;background:var(--sky)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb svg{width:70%}
.line .t{font-weight:600;font-size:.95rem;line-height:1.3;text-decoration:none;display:block}
.line dl.variation{margin:2px 0 0;font-family:var(--mono);font-size:.74rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:0 6px}
.line dl.variation dt,.line dl.variation dd{margin:0;float:none}
.line dl.variation dd p{margin:0;display:inline}
.qty{display:flex;align-items:center;gap:6px;margin-top:4px}
.qty button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);background:transparent;line-height:1;padding:0}
.qty .rm{width:auto;border:0;border-radius:0;font-size:.78rem;color:var(--muted);text-decoration:underline;margin-left:6px}
.empty{color:var(--muted);text-align:center;padding:40px 0 16px}
.totals{border-top:2px solid var(--ink);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.totals .row{display:flex;justify-content:space-between}
.totals .row.big{font-weight:700;font-size:1.1rem}
/* Free-shipping meter drawn as a battery: it charges as the cart fills and turns teal when shipping is free. */
.prog{position:relative;height:18px;margin-right:6px;padding:2px;border:2px solid var(--ink);border-radius:6px}
.prog::after{content:"";position:absolute;right:-7px;top:50%;width:4px;height:8px;margin-top:-4px;background:var(--ink);border-radius:0 2px 2px 0}
.prog i{display:block;height:100%;background:var(--sun);border-radius:3px;transition:width .3s ease}
.prog.full i{background:var(--led)}
.note{font-size:.82rem;color:var(--muted);margin:0}
.textlink{text-align:center;font-size:.9rem}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 10px 10px 18px;border-radius:999px;z-index:9992;font-weight:500;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
.toast button{background:var(--sun);color:var(--sun-ink);border:0;border-radius:999px;padding:6px 12px;font-weight:600;white-space:nowrap}

/* ---------- pages ---------- */
.page-main,.shop-main{padding-block:32px 64px}
.entry-title,.page-title,.woocommerce-products-header__title{font-size:clamp(2rem,4.6vw,3.2rem);letter-spacing:-.02em;margin:0 0 20px}
.entry-content{max-width:760px}
.woocommerce-cart .entry-content,.woocommerce-checkout .entry-content,.woocommerce-account .entry-content{max-width:none}
.entry-content>*+*{margin-top:1em}
.entry-content h2{font-size:1.6rem;margin-top:1.6em}
.entry-content h3{font-size:1.25rem;margin-top:1.4em}
.entry-content a{text-decoration-color:var(--sun);text-decoration-thickness:2px;text-underline-offset:3px}
.entry-content .wp-block-details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.entry-content .wp-block-details summary{font-weight:600;cursor:pointer}
.entry-content .wp-block-details[open] summary{margin-bottom:8px}
.post-list{list-style:none;margin:0;padding:0;display:grid;gap:18px;max-width:760px}
.post-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.post-list h2{font-size:1.4rem;margin-bottom:6px}
.post-list h2 a{text-decoration:none}

/* ---------- WooCommerce: shared ---------- */
.woocommerce .woocommerce-breadcrumb{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin:0 0 16px}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce-products-header{margin-bottom:8px}
.term-description{color:var(--muted);max-width:60ch}
.shop-chips{margin:0 0 20px}
.woocommerce .woocommerce-result-count{color:var(--muted);font-size:.9rem;margin:6px 0 16px}
.woocommerce .woocommerce-ordering{margin:0 0 16px}
.woocommerce select,.woocommerce .woocommerce-ordering select,.woocommerce div.product form.cart .variations select{font:inherit;font-size:.95rem;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 10px;max-width:100%}
.woocommerce input.input-text,.woocommerce textarea,.snoot-personalize input{font:inherit;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:10px 12px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{
  background:var(--ink);color:var(--bg);border:0;border-radius:999px;padding:12px 22px;font-weight:600;font-family:var(--body);line-height:1.2}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--ink);color:var(--bg);filter:brightness(1.25)}
.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt.disabled:hover{background:var(--ink);color:var(--bg);opacity:.45}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:5px solid var(--sun)!important;border-radius:12px;list-style:none}
.woocommerce-error{border-left-color:#d64545!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--ink)!important}
.woocommerce-message .button,.woocommerce-info .button{float:right}
.woocommerce span.onsale{background:var(--sun);color:var(--sun-ink);border-radius:999px;min-height:0;min-width:0;padding:4px 12px;line-height:1.6;font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;top:12px;left:12px;margin:0}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0;float:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:999px;min-width:38px;padding:8px 12px;background:var(--surface);border:1.5px solid var(--line);color:var(--ink)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.woocommerce .star-rating span::before,.woocommerce p.stars a{color:#e5a919}

/* ---------- WooCommerce: single product ---------- */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:start;position:relative}
.woocommerce div.product>*{grid-column:1/-1}
.woocommerce div.product div.images,.woocommerce div.product .woocommerce-product-gallery{grid-column:1;width:auto!important;float:none;margin:0}
.woocommerce div.product div.summary{grid-column:2;width:auto;float:none;margin:0}
.woocommerce div.product div.images img{border-radius:var(--r);background:var(--surface)}
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto;float:none}
.woocommerce div.product div.images .flex-control-thumbs li img{border-radius:8px}
.woocommerce div.product .product_title{font-size:clamp(1.9rem,3.6vw,2.8rem);letter-spacing:-.02em;margin-bottom:10px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--ink);font-family:var(--mono);font-size:1.4rem}
.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--muted);opacity:1}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--muted)}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:20px 0}
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{margin-bottom:12px;border:0}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0;text-align:left;line-height:1.4}
.woocommerce div.product form.cart .variations label{font-weight:600;font-size:.9rem}
.woocommerce div.product form.cart .variations tr{display:block;margin-bottom:12px}
.woocommerce div.product form.cart .reset_variations{font-size:.85rem;color:var(--muted)}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.woocommerce .quantity .qty{width:4.5em;padding:10px 8px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit}
.woocommerce div.product form.cart .button{float:none;margin:0;padding:14px 28px;font-size:1rem}
.snoot-personalize{width:100%;display:flex;flex-direction:column;gap:6px;margin:0}
.snoot-personalize label{font-weight:600;font-size:.9rem}
.snoot-personalize small{color:var(--muted);font-weight:400}
.woocommerce div.product .product_meta{font-family:var(--mono);font-size:.78rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 16px;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;margin:0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:7px 16px;color:var(--ink);font-weight:500}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink);border-color:var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--bg)}
.woocommerce div.product .woocommerce-tabs .panel{max-width:760px}
.woocommerce div.product .woocommerce-tabs .panel h2:first-child{font-size:1.4rem;margin-bottom:10px}
.woocommerce table.shop_attributes{border-top:1px solid var(--line)}
.woocommerce table.shop_attributes th,.woocommerce table.shop_attributes td{border-bottom:1px solid var(--line);background:transparent!important;padding:8px 10px}
.related>h2,.upsells>h2{font-size:1.8rem;margin:24px 0 16px}

/* ---------- WooCommerce blocks: cart + checkout ---------- */
.wc-block-components-button:not(.is-link),.wp-element-button.wc-block-components-checkout-place-order-button{background:var(--ink)!important;color:#fff!important;border-radius:999px!important;font-weight:600}
.wc-block-components-title,.wp-block-woocommerce-checkout h2{font-family:var(--display)}

/* ---------- responsive ---------- */
@media (max-width:820px){
  .hero .wrap,.match .wrap{grid-template-columns:1fr}
  .tagwrap{order:-1}
  .idtag{width:220px}
  .idtag .n{font-size:2rem}
  .promise .wrap{grid-template-columns:1fr 1fr}
  .woocommerce div.product{grid-template-columns:1fr}
  .woocommerce div.product div.images,.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product div.summary{grid-column:1}
}
@media (max-width:460px){
  .logo{font-size:1.15rem;gap:8px}
  .logo svg{width:30px;height:30px}
  .cartbtn{padding:8px 12px}
  .promise .wrap{grid-template-columns:1fr}
  .pair{grid-template-columns:1fr}
  .ship .wrap span:nth-child(3){display:none}
  .woocommerce ul.products,ul.products{grid-template-columns:1fr}
}
