/* KKM catalog: skin D (black + safety yellow, Public Sans / Source Serif 4).
 * Loaded ONLY when KKM_Skin::current() === 'd' (admin preview or the kkm_skin option).
 * Every rule is scoped to html[data-skin="d"], so with the skin off nothing here applies.
 * Generated from design-lab/reskin/ by assemble_plugin_css.py - edit there, re-run, do not hand-edit. */
/* Self-hosted fonts (SIL Open Font License), same-origin like the Plex files. */
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/public-sans-var-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/source-serif-4-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jetbrains-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* ---------- shared: remove the AI-template tells ---------- */
html[data-skin] body::before{display:none}
html[data-skin] .kkm-hero{background:var(--kkm-bg);padding:56px 0 72px}
html[data-skin] .kkm-hero::before{display:none}
html[data-skin] .kkm-eyebrow::before{display:none}
html[data-skin] .kkm-eyebrow{letter-spacing:.08em}
html[data-skin] .kkm-chips{gap:0 22px}
html[data-skin] .kkm-chip{background:transparent;border:0;border-radius:0;padding:4px 0;border-bottom:1px solid var(--kkm-line)}
html[data-skin] .kkm-btn,html[data-skin] .kkm-hero-search button,html[data-skin] .kkm-nav .kkm-nav-quote{box-shadow:none}
html[data-skin] .kkm-cattile,html[data-skin] .kkm-card,html[data-skin] .kkm-brandcard,html[data-skin] .kkm-prodcard,
html[data-skin] .kkm-tile,html[data-skin] .kkm-trustbar{box-shadow:none}
html[data-skin] .kkm-cattile:hover,html[data-skin] .kkm-brandcard:hover,html[data-skin] .kkm-prodcard:hover,html[data-skin] .kkm-tile:hover{box-shadow:none;transform:none;border-color:var(--kkm-ink)}
html[data-skin] .kkm-hero h1{letter-spacing:-.02em}
html[data-skin] h1,html[data-skin] h2,html[data-skin] h3{text-wrap:balance}
html[data-skin] .kkm-topbar-hours,html[data-skin] .kkm-badge{border-radius:2px}

/* ---------- font application (all skins) ---------- */
html[data-skin] body,html[data-skin] button,html[data-skin] input,html[data-skin] select,html[data-skin] textarea{font-family:var(--skin-font)}
html[data-skin] h1,html[data-skin] h2,html[data-skin] h3,html[data-skin] .kkm-hero h1{font-family:var(--skin-head,var(--skin-font))}
html[data-skin]{--kkm-mono:"JetBrains Mono",ui-monospace,Consolas,monospace}


/* calmer notice banner, readable topbar phone, flat search */
html[data-skin] .kkm-stocknotice{background:var(--kkm-soft);color:var(--kkm-ink);border-bottom:1px solid var(--kkm-line)}
html[data-skin] .kkm-stocknotice a{color:var(--kkm-ink)}
html[data-skin] .kkm-topbar-tel,html[data-skin] .kkm-topbar-tel *{color:#fff}
html[data-skin] .kkm-topbar-ship b,html[data-skin] .kkm-topbar-ship strong{color:#fff}
html[data-skin] .kkm-hero-search{box-shadow:none}
html[data-skin] .kkm-hero-search input{border-radius:var(--kkm-r-sm) 0 0 var(--kkm-r-sm)}


/* dark-surface text must stay readable whatever the skin's muted token is */
html[data-skin] .kkm-foot,html[data-skin] .kkm-foot a,html[data-skin] .kkm-foot p,html[data-skin] .kkm-foot li{color:#cfd2d7}
html[data-skin] .kkm-foot a:hover{color:#fff}
html[data-skin] .kkm-foot h2,html[data-skin] .kkm-foot h3,html[data-skin] .kkm-foot h4,html[data-skin] .kkm-foot strong,html[data-skin] .kkm-foot b{color:#fff}
html[data-skin] .kkm-topbar a.kkm-topbar-tel,html[data-skin] .kkm-topbar .kkm-topbar-tel,html[data-skin] .kkm-topbar-contact a{color:#fff!important}
html[data-skin] .kkm-topbar a.kkm-topbar-tel:hover{color:#ffc4be!important}


/* dark topbar: explicit light text (the masthead below shares --kkm-chrome-muted and is light) */
html[data-skin] .kkm-topbar{color:#cfd2d7}
html[data-skin] .kkm-topbar a,html[data-skin] .kkm-topbar a *{color:#fff!important}
html[data-skin] .kkm-topbar-ship,html[data-skin] .kkm-topbar-ship *{color:#cfd2d7!important}
html[data-skin] .kkm-topbar-hours{background:#e3f1e8;color:#14532d!important}
html[data-skin] .kkm-foot-legal strong,html[data-skin] .kkm-foot-legal b,html[data-skin] .kkm-foot strong{color:#fff!important}


/* last-mile: live CSS forces some footer/topbar colours with !important */
html[data-skin] .kkm-foot,html[data-skin] .kkm-foot *{color:#cfd2d7!important}
html[data-skin] .kkm-foot a:hover,html[data-skin] .kkm-foot h2,html[data-skin] .kkm-foot h3,html[data-skin] .kkm-foot h4,html[data-skin] .kkm-foot strong,html[data-skin] .kkm-foot b,html[data-skin] .kkm-foot-col a[href^="tel"]{color:#fff!important}
html[data-skin] .kkm-topbar .kkm-hide-sm,html[data-skin] .kkm-topbar label{color:#cfd2d7!important}
html[data-skin] .kkm-topbar .kkm-topbar-hours{background:#e3f1e8!important;color:#14532d!important}


/* =====================================================================
   Skin D: Black & Safety Yellow + Public Sans / Source Serif 4, polished
   ===================================================================== */
html[data-skin="d"]{
  --skin-font:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --skin-head:"Source Serif 4",Georgia,"Times New Roman",serif;
  --y:#ffc400;--y-d:#e6b000;--y-soft:#fff3c4;
  --kkm-blue:#121316;--kkm-blue-d:#000;--kkm-blue-l:#efede6;
  --kkm-ink:#121316;--kkm-line:#e3e0d6;--kkm-input-line:#85878c;--kkm-muted:#575a60;
  --kkm-steel:#17181b;--kkm-steel-d:#0b0c0e;
  --kkm-accent:#8a6300;--kkm-accent-d:#6b4d00;--kkm-amber:#ffc400;
  --kkm-bg:#f7f6f2;--kkm-soft:#efede6;--kkm-surface:#fff;--kkm-r:6px;--kkm-r-sm:4px;
  --kkm-chrome:#fff;--kkm-chrome-2:#17181b;--kkm-chrome-line:#e3e0d6;--kkm-chrome-ink:#121316;--kkm-chrome-muted:#575a60;
  scroll-padding-top:120px;
}
html[data-skin="d"] body{font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[data-skin="d"] ::selection{background:var(--y);color:#121316}

/* --- headings: serif, calm scale, no repeated tick above every H2 --- */
html[data-skin="d"] h1,html[data-skin="d"] h2,html[data-skin="d"] h3{font-family:var(--skin-head);font-weight:600;letter-spacing:-.01em;color:#121316}
html[data-skin="d"] .kkm-hero h1{font-size:clamp(30px,1.6rem + 1.9vw,50px);line-height:1.12;max-width:21em;letter-spacing:-.02em}
html[data-skin="d"] .kkm-home-sec{padding:60px 0}
html[data-skin="d"] .kkm-home-sec h2{font-size:clamp(26px,1.6rem + .8vw,34px);line-height:1.2;margin:0 0 10px;font-weight:600}
html[data-skin="d"] .kkm-home-sec>.kkm-wrap>h2::before{display:none}
html[data-skin="d"] .kkm-home-sec .sub{font-size:17px;max-width:64ch;margin:0 0 34px;color:var(--kkm-muted)}
html[data-skin="d"] .kkm-sec-alt{background:#fff;border-color:var(--kkm-line)}
html[data-skin="d"] p{max-width:75ch}
html[data-skin="d"] .kkm-hero p{font-size:18px;line-height:1.6;max-width:56ch}

/* --- eyebrow: one small yellow bar is the only brand flourish --- */
html[data-skin="d"] .kkm-eyebrow{display:flex;color:#121316;font-weight:700;letter-spacing:.1em;font-size:12px;margin-bottom:20px}
html[data-skin="d"] .kkm-eyebrow::before{display:block;content:"";width:28px;height:4px;background:var(--y);border-radius:0}

/* --- chrome: slim, quiet --- */
html[data-skin="d"] .kkm-stocknotice{background:var(--y);color:#121316;border:0;font-size:13px;font-weight:600;padding:7px 16px}
html[data-skin="d"] .kkm-stocknotice a{color:#121316;text-decoration:underline;text-underline-offset:2px}
html[data-skin="d"] .kkm-topbar{background:#121316;border:0}
html[data-skin="d"] .kkm-nav{background:#fff;border-bottom:1px solid var(--kkm-line);box-shadow:none}
html[data-skin="d"] .kkm-nav a,html[data-skin="d"] .kkm-megabtn{font-weight:600}
html[data-skin="d"] .kkm-mast{border-bottom:1px solid var(--kkm-line)}

/* --- buttons: yellow primary, black secondary, real hover/active/focus states --- */
html[data-skin="d"] .kkm-btn,html[data-skin="d"] .kkm-nav .kkm-nav-quote,html[data-skin="d"] .kkm-callbar a,
html[data-skin="d"] .kkm-woo .button,html[data-skin="d"] .kkm-woo button[type=submit],html[data-skin="d"] .kkm-woo #place_order{
  background:var(--y)!important;color:#121316!important;border:1px solid #121316!important;border-radius:var(--kkm-r-sm);font-weight:700;letter-spacing:.005em;
  box-shadow:0 2px 0 #121316;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
html[data-skin="d"] .kkm-btn:hover,html[data-skin="d"] .kkm-nav .kkm-nav-quote:hover,html[data-skin="d"] .kkm-callbar a:hover{background:var(--y-d)!important;transform:translateY(-1px);box-shadow:0 3px 0 #121316}
html[data-skin="d"] .kkm-btn:active,html[data-skin="d"] .kkm-nav .kkm-nav-quote:active{transform:translateY(1px);box-shadow:0 0 0 #121316}
html[data-skin="d"] .kkm-hero-search button,html[data-skin="d"] .kkm-search button{background:#121316!important;color:#fff!important;border:0;box-shadow:none}
html[data-skin="d"] .kkm-hero-search button:hover,html[data-skin="d"] .kkm-search button:hover{background:#2a2c31!important}
html[data-skin="d"] .kkm-nav .kkm-cartcount{background:var(--y)!important;color:#121316!important}

/* --- search: roomy, with a clear focus state --- */
html[data-skin="d"] .kkm-hero-search{max-width:640px}
html[data-skin="d"] .kkm-hero-search input{height:58px;font-size:16px;border:1.5px solid #121316;border-right:0;background:#fff}
html[data-skin="d"] .kkm-hero-search button{height:58px;padding:0 26px;font-size:15px}
html[data-skin="d"] .kkm-hero-search:focus-within,html[data-skin="d"] .kkm-search:focus-within{box-shadow:0 0 0 4px rgba(255,196,0,.55);border-radius:var(--kkm-r-sm)}
html[data-skin="d"] .kkm-search input{border-color:#121316!important}

/* --- focus ring (keyboard users) --- */
html[data-skin="d"] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #121316;outline-offset:2px}
html[data-skin="d"] .kkm-topbar :focus-visible,html[data-skin="d"] .kkm-foot :focus-visible{outline-color:var(--y)}

/* --- links: quiet, underlined on purpose --- */
html[data-skin="d"] main p a:not([class]),html[data-skin="d"] main .sub a:not([class]){color:#121316;text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px;transition:background .12s}
html[data-skin="d"] main p a:not([class]):hover{background:var(--y-soft)}

/* --- stats row + chips: plain, tabular --- */
html[data-skin="d"] .kkm-stats{border:1px solid var(--kkm-line);background:#fff;border-radius:var(--kkm-r);box-shadow:none}
html[data-skin="d"] .kkm-stats b,html[data-skin="d"] .kkm-stats strong,html[data-skin="d"] .kkm-stats .n{font-family:var(--skin-head);font-variant-numeric:tabular-nums;font-weight:600}
html[data-skin="d"] .kkm-chip b{color:#121316}

/* --- category tiles: photo first, calm hover --- */
html[data-skin="d"] .kkm-cattiles{gap:18px}
html[data-skin="d"] .kkm-cattile{border:1px solid var(--kkm-line);border-radius:var(--kkm-r);background:#fff;transition:border-color .15s,box-shadow .15s,transform .15s}
html[data-skin="d"] .kkm-cattile:hover{border-color:#121316;box-shadow:0 8px 22px rgba(18,19,22,.09);transform:translateY(-2px)}
html[data-skin="d"] .kkm-cattile img{transition:transform .25s ease}
html[data-skin="d"] .kkm-cattile:hover img{transform:scale(1.045)}
html[data-skin="d"] .kkm-cattile b,html[data-skin="d"] .kkm-cattile strong{font-weight:600;color:#121316}

/* --- the icon-tile sections: no icons, ruled columns, text gets full width --- */
html[data-skin="d"] .kkm-tiles{gap:0 40px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
html[data-skin="d"] .kkm-tile{display:block;background:transparent;border:0;border-top:3px solid #121316;border-radius:0;box-shadow:none;padding:18px 0 28px;transform:none}
html[data-skin="d"] .kkm-tile:hover{transform:none;box-shadow:none;border-top-color:var(--y);background:transparent}
html[data-skin="d"] .kkm-tile .ic{display:none}
html[data-skin="d"] .kkm-tile h3{font-size:19px;line-height:1.3;margin:0 0 8px}
html[data-skin="d"] .kkm-tile span{display:block;color:var(--kkm-muted);font-size:15px;line-height:1.6}
html[data-skin="d"] a.kkm-tile:hover h3{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:3px;text-underline-offset:4px}

/* --- how it works: big serif numerals, no badge boxes --- */
html[data-skin="d"] .kkm-step{background:transparent;border:0;border-top:3px solid #121316;border-radius:0;box-shadow:none;padding:18px 0 8px}
html[data-skin="d"] .kkm-step .num{background:transparent;color:#121316;width:auto;height:auto;font:600 44px/1 var(--skin-head);margin-bottom:12px;border-radius:0;display:block}
html[data-skin="d"] .kkm-step .num::after{content:"";display:block;width:24px;height:4px;background:var(--y);margin-top:10px}
html[data-skin="d"] .kkm-step h3{font-size:19px;margin:0 0 6px}
html[data-skin="d"] .kkm-step p{color:var(--kkm-muted);font-size:15px}

/* --- trust bar: hairline columns --- */
html[data-skin="d"] .kkm-trustbar{background:transparent;border:0;border-top:1px solid var(--kkm-line);border-bottom:1px solid var(--kkm-line);border-radius:0;gap:0}
html[data-skin="d"] .kkm-trustbar>div,html[data-skin="d"] .kkm-trustbar>a{background:transparent;border-right:1px solid var(--kkm-line);padding:18px 20px}
html[data-skin="d"] .kkm-trustbar>*:last-child{border-right:0}
html[data-skin="d"] .kkm-trustbar .ic{background:var(--y);color:#121316;border-radius:50%}

/* --- product + brand + article cards --- */
html[data-skin="d"] .kkm-prodcard,html[data-skin="d"] .kkm-brandcard,html[data-skin="d"] .kkm-card{border:1px solid var(--kkm-line);border-radius:var(--kkm-r);background:#fff;transition:border-color .15s,box-shadow .15s}
html[data-skin="d"] .kkm-prodcard:hover,html[data-skin="d"] .kkm-brandcard:hover,html[data-skin="d"] .kkm-card:hover{border-color:#121316;box-shadow:0 8px 22px rgba(18,19,22,.09);transform:none}
html[data-skin="d"] .kkm-card h3{color:#121316!important;font-size:19px!important;line-height:1.3}
html[data-skin="d"] .kkm-prodcard .kkm-ship-tag{color:var(--kkm-muted);font-weight:500;font-size:12px}
html[data-skin="d"] .kkm-prodcard .kkm-ship-tag svg{display:none}
html[data-skin="d"] .kkm-badge{background:#121316;color:#fff;border-radius:2px;letter-spacing:.06em}
html[data-skin="d"] .kkm-brandcard b,html[data-skin="d"] .kkm-brandcard strong{font-family:var(--skin-head);font-weight:600}

/* --- maps: neutral instead of a big blue wash --- */
html[data-skin="d"] .kkm-wmap-box{filter:grayscale(1) contrast(1.02);background:#efede6}

/* --- FAQ + closing CTA --- */
html[data-skin="d"] details{border:1px solid var(--kkm-line);border-radius:var(--kkm-r);background:#fff;padding:2px 4px}
html[data-skin="d"] details>summary{font-weight:600;padding:14px 12px;cursor:pointer;min-height:44px}
html[data-skin="d"] details[open]{border-color:#121316}
html[data-skin="d"] .kkm-callbar,html[data-skin="d"] .kkm-callbar-alt{background:#121316;color:#fff;border:0;border-left:6px solid var(--y);border-radius:var(--kkm-r)}
html[data-skin="d"] .kkm-callbar h2,html[data-skin="d"] .kkm-callbar h3,html[data-skin="d"] .kkm-callbar p,html[data-skin="d"] .kkm-callbar div{color:#fff}
html[data-skin="d"] .kkm-callbar a{color:#121316!important}

/* --- footer: black, yellow top edge --- */
html[data-skin="d"] .kkm-foot{background:#0f1012;border-top:4px solid var(--y)}

/* --- product page --- */
html[data-skin="d"] .kkm-pdp-buy{border:1px solid #121316;border-radius:var(--kkm-r);box-shadow:none;background:#fff}
html[data-skin="d"] .kkm-pdp-buy .kkm-btn{width:100%;justify-content:center}
html[data-skin="d"] table tr:nth-child(even) td,html[data-skin="d"] table tr:nth-child(even) th{background:#faf9f5}
html[data-skin="d"] [class*="sku"],html[data-skin="d"] .kkm-mono,html[data-skin="d"] code{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums}

/* --- motion: respect the user --- */
@media (prefers-reduced-motion:reduce){html[data-skin="d"] *,html[data-skin="d"] *::before,html[data-skin="d"] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* --- preview-only mobile action bar (needs new markup in the real build) --- */
.kkm-mbar{display:none}
@media (max-width:760px){
  html[data-skin="d"] .kkm-mbar{display:flex;position:fixed;z-index:9998;left:0;right:0;bottom:0;background:#121316;padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -4px 18px rgba(0,0,0,.25)}
  html[data-skin="d"] .kkm-mbar a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:4px;font:700 15px/1 "Public Sans",system-ui,sans-serif;text-decoration:none}
  html[data-skin="d"] .kkm-mbar a:first-child{background:#fff;color:#121316}
  html[data-skin="d"] .kkm-mbar a:last-child{background:#ffc400;color:#121316}
  html[data-skin="d"] body{padding-bottom:72px}
}

/* --- round 2 --- */
html[data-skin="d"] .kkm-cmap-box,html[data-skin="d"] .kkm-wmap-box{filter:grayscale(1) contrast(1.02);background:#efede6}
html[data-skin="d"] .kkm-band{background:#121316;color:#fff;border:0;border-left:6px solid var(--y);border-radius:var(--kkm-r);padding:32px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
html[data-skin="d"] .kkm-band h2,html[data-skin="d"] .kkm-band p{color:#fff;margin:0}
html[data-skin="d"] .kkm-band h2{font-size:28px}
html[data-skin="d"] .kkm-band p{color:#d6d8dc;margin-top:6px}
html[data-skin="d"] .kkm-stats a,html[data-skin="d"] .kkm-trustbar a{text-decoration:none}
html[data-skin="d"] .kkm-stats a:hover b,html[data-skin="d"] .kkm-trustbar a:hover b{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px}
html[data-skin="d"] .kkm-hero{padding:48px 0 64px}
html[data-skin="d"] .kkm-hero p{margin-bottom:26px}
@media (max-width:760px){
  html[data-skin="d"] .kkm-home-sec{padding:44px 0}
  html[data-skin="d"] .kkm-hero{padding:32px 0 44px}
  html[data-skin="d"] .kkm-band{padding:24px 20px}
  html[data-skin="d"] .kkm-tile,html[data-skin="d"] .kkm-step{padding-bottom:18px}
}

html[data-skin="d"] main li a:not([class]){color:#121316;text-decoration:none}
html[data-skin="d"] main li a:not([class]):hover{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px}

/* --- owner request: stock/pricing notice is black --- */
html[data-skin="d"] .kkm-stocknotice{background:#121316;color:#fff;border-bottom:1px solid #2b2d32}
html[data-skin="d"] .kkm-stocknotice a{color:#fff;text-decoration-color:var(--y);text-decoration-thickness:2px}

/* --- round 3: findings from the live audit + Web Interface Guidelines review --- */
/* links inside dark bands/bars must stay light (the editorial-link rule above paints unclassed links black) */
html[data-skin="d"] .kkm-band p a:not([class]),html[data-skin="d"] .kkm-callbar p a:not([class]),html[data-skin="d"] .kkm-callbar-alt a:not([class]){color:#fff!important;text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px;background:transparent}
html[data-skin="d"] .kkm-band p a:not([class]):hover{background:rgba(255,196,0,.2)}
/* focus ring must be visible on every dark surface (the default ring is black) */
html[data-skin="d"] .kkm-band :focus-visible,html[data-skin="d"] .kkm-callbar :focus-visible,html[data-skin="d"] .kkm-callbar-alt :focus-visible,html[data-skin="d"] .kkm-mbar :focus-visible{outline-color:var(--y)}
/* touch: no double-tap-zoom delay, intentional tap highlight */
html[data-skin="d"] a,html[data-skin="d"] button,html[data-skin="d"] summary,html[data-skin="d"] input,html[data-skin="d"] select,html[data-skin="d"] textarea,html[data-skin="d"] label{touch-action:manipulation}
html[data-skin="d"]{-webkit-tap-highlight-color:rgba(255,196,0,.35)}
