/*
Theme Name: DL2CC Shop
Theme URI: https://shop.dl2cc.de
Author: DL2CC
Description: Precision-Instrument storefront theme for the DL2CC shop — dark, telegraph-grade, WooCommerce-ready. Matches the dl2cc.de marketing site.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: dl2cc-shop
*/

/* ── Fonts (self-hosted, bundled) ─────────────────────────── */
@font-face{font-family:'Archivo';src:url(fonts/archivo-latin-2d6953d7.woff2) format('woff2');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Hanken Grotesk';src:url(fonts/hanken-grotesk-latin-e9265aa2.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(fonts/ibm-plex-mono-latin-e2661bcc.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(fonts/ibm-plex-mono-latin-0bc96cd0.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(fonts/ibm-plex-mono-latin-1b581b15.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}

/* ── Tokens ───────────────────────────────────────────────── */
:root{
  --ink:#08090c;--ink-2:#0d0f15;--panel:#13161e;--panel-2:#1a1e28;
  --line:rgba(255,255,255,.085);--line-2:rgba(255,255,255,.15);
  --amber:#f6c90e;--amber-2:#ffe06a;--amber-dim:rgba(246,201,14,.14);
  --phosphor:#46e3aa;--phosphor-d:rgba(70,227,170,.16);
  --text:#f2f4f8;--text-dim:#9aa4b4;--text-mute:#66707f;
  --radius:12px;--radius-lg:18px;--nav-h:66px;--max-w:1180px;
  --f-display:'Archivo','Segoe UI',sans-serif;
  --f-body:'Hanken Grotesk','Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,monospace;
}

/* ── Base ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--f-body);color:var(--text);background:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--amber);color:#11130a}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:var(--ink-2)}::-webkit-scrollbar-thumb{background:#2a3140;border-radius:6px;border:2px solid var(--ink-2)}
.sh-wrap{max-width:var(--max-w);margin:0 auto;padding:0 28px}
h1,h2,h3{font-family:var(--f-display);color:var(--text);line-height:1.08}

/* ── Morse rule ───────────────────────────────────────────── */
/* DL2CC REMOTE-CW in ITU Morse: dot=5px dash=15px inter-el=5px inter-char=15px word-gap=35px → 840px tile */
.morse-rule{height:13px;width:100%;overflow:hidden;opacity:.6;-webkit-mask-image:linear-gradient(90deg,transparent,#000 11%,#000 89%,transparent);mask-image:linear-gradient(90deg,transparent,#000 11%,#000 89%,transparent);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='840' height='13'%3E%3Crect rx='2' x='0' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='20' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='30' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='50' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='60' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='80' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='90' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='110' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='120' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='130' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='150' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='170' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='200' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='220' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='230' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='250' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='270' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='290' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='300' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='320' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='360' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='370' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='390' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='410' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='430' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='450' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='480' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='500' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='520' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='550' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='580' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='600' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='620' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='630' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='640' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='650' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='660' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='690' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='710' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='720' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='740' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='760' y='4' width='5' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='770' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3Crect rx='2' x='790' y='4' width='15' height='5' fill='%23f6c90e'/%3E%3C/svg%3E") left center repeat-x;background-size:840px 13px}

/* ── Nav ──────────────────────────────────────────────────── */
.sh-nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(8,9,12,.72);border-bottom:1px solid var(--line)}
.sh-nav-in{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}
.sh-nav-right{display:flex;align-items:center;gap:16px}
.sh-lang{display:flex;gap:4px;font-family:var(--f-mono);font-size:11px}
.sh-lang-btn{padding:4px 8px;border-radius:6px;border:1px solid var(--line);color:var(--text-dim);transition:.15s;letter-spacing:.06em}
.sh-lang-btn:hover{border-color:var(--amber);color:var(--amber)}
.sh-lang-btn.active{border-color:var(--amber);color:var(--amber);background:rgba(246,201,14,.08)}
.sh-logo{font-family:var(--f-display);font-weight:800;font-size:19px;color:var(--text)}
.sh-logo b{color:var(--amber)}
.sh-logo small{font-family:var(--f-mono);font-weight:400;font-size:11px;letter-spacing:.3em;color:var(--text-mute);margin-left:8px;text-transform:uppercase}
.sh-links{display:flex;gap:28px;font-family:var(--f-mono);font-size:13px;color:var(--text-dim)}
.sh-links a:hover{color:var(--amber)}
.sh-cart{font-family:var(--f-mono);font-size:13px;border:1px solid var(--line-2);padding:9px 16px;border-radius:10px;display:inline-flex;align-items:center;gap:9px;color:var(--text);transition:.2s}
.sh-cart:hover{border-color:var(--amber);color:var(--amber)}
.sh-cart .d{width:6px;height:6px;border-radius:50%;background:var(--phosphor);box-shadow:0 0 8px var(--phosphor)}

/* ── Eyebrow / buttons ────────────────────────────────────── */
.sh-eyebrow{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--amber);display:inline-flex;align-items:center;gap:10px}
.sh-eyebrow::before{content:"";width:24px;height:1px;background:var(--amber);opacity:.7}
.sh-btn{font-family:var(--f-mono);font-size:13px;font-weight:500;letter-spacing:.05em;padding:14px 26px;border-radius:11px;transition:.22s;display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;border:1px solid transparent}
.sh-btn-amber{background:var(--amber);color:#1c1a06;font-weight:600}
.sh-btn-amber:hover{box-shadow:0 0 0 3px var(--amber-dim),0 10px 32px -10px var(--amber);transform:translateY(-1px)}
.sh-btn-ghost{border-color:var(--line-2);color:var(--text)}
.sh-btn-ghost:hover{border-color:var(--amber);color:var(--amber)}

/* ── Hero ─────────────────────────────────────────────────── */
.sh-hero{padding:74px 0 56px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.sh-h1{font-weight:800;font-size:clamp(40px,5.4vw,64px);letter-spacing:-.015em;margin:18px 0 16px}
.sh-h1 em{font-style:italic;color:var(--amber)}
.sh-lead{color:var(--text-dim);font-size:17px;max-width:46ch;margin-bottom:26px}
.sh-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.sh-specs{display:flex;flex-wrap:wrap;gap:8px}
.sh-specs span{font-family:var(--f-mono);font-size:11.5px;color:var(--text-dim);border:1px solid var(--line);padding:6px 11px;border-radius:8px}
.sh-specs span b{color:var(--text);font-weight:500}
.sh-device{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);padding:30px;overflow:hidden}
.sh-tag{position:absolute;top:16px;right:18px;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:var(--text-mute);z-index:2}
.sh-glow{position:absolute;inset:0;background:radial-gradient(420px 300px at 50% 62%,var(--amber-dim),transparent 70%);pointer-events:none}
.sh-device img{position:relative;width:100%;border-radius:12px;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}

/* ── Section heads ────────────────────────────────────────── */
.sh-sec{padding:26px 0 40px}
.sh-sec-head{margin:34px 0 24px}
.sh-sec-head h2{font-weight:700;font-size:clamp(24px,3vw,33px);letter-spacing:-.01em;margin-top:6px}

/* ── Footer ───────────────────────────────────────────────── */
.sh-foot{border-top:1px solid var(--line);margin-top:60px;padding:38px 0 54px;background:var(--ink-2)}
.sh-foot-in{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-start}
.sh-pay{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.sh-pay span{font-family:var(--f-mono);font-size:11px;color:var(--text-dim);border:1px solid var(--line);padding:6px 11px;border-radius:8px}
.sh-foot-links{display:flex;gap:22px;font-family:var(--f-mono);font-size:12px;color:var(--text-dim);flex-wrap:wrap}
.sh-foot-links a:hover{color:var(--amber)}
.sh-foot-note{font-family:var(--f-mono);font-size:11px;color:var(--text-mute);margin-top:18px;width:100%}

/* ══ WooCommerce ══════════════════════════════════════════════ */
.sh-wc{padding-top:30px;padding-bottom:20px;min-height:50vh}
.woocommerce-breadcrumb{font-family:var(--f-mono);font-size:12px;color:var(--text-mute);margin-bottom:20px}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{color:var(--text-dim)}
.woocommerce-products-header__title,.woocommerce h1,.woocommerce h2{font-family:var(--f-display);color:var(--text)}

/* Product grid */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 30px;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;position:relative;transition:transform .25s,border-color .25s,box-shadow .25s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 24px 50px -28px rgba(0,0,0,.9)}
.woocommerce ul.products li.product a img{border-radius:10px;margin:0 0 14px;background:var(--ink-2)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-display);font-weight:700;font-size:18px;color:var(--text);padding:0;margin:4px 0 8px}
.woocommerce ul.products li.product .price{color:var(--amber)!important;font-family:var(--f-mono);font-weight:600;font-size:20px;display:block;margin-bottom:12px}
.woocommerce ul.products li.product .price del{color:var(--text-mute)!important;font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{background:var(--amber);color:#1c1a06;border-radius:7px;font-family:var(--f-mono);font-weight:600;min-height:auto;min-width:auto;padding:3px 10px;top:12px;right:12px;left:auto;margin:0}

/* Buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,.woocommerce #respond input#submit,.woocommerce input.button,.woocommerce #place_order{background:var(--amber)!important;color:#1c1a06!important;border:0;border-radius:9px;font-family:var(--f-mono);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;padding:12px 18px;transition:.2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .button:hover,.woocommerce input.button:hover{background:var(--amber-2)!important;color:#1c1a06!important}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--amber)!important;color:#1c1a06!important}

/* Single product */
.woocommerce div.product .product_title{font-family:var(--f-display);font-weight:800;color:var(--text);font-size:32px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--amber)!important;font-family:var(--f-mono);font-weight:600;font-size:28px}
.woocommerce div.product .woocommerce-product-details__short-description,.woocommerce div.product .woocommerce-tabs,.woocommerce div.product{color:var(--text-dim)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--panel);border-color:var(--line);border-radius:8px 8px 0 0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--panel-2)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--text)}
.woocommerce div.product .woocommerce-tabs .panel{background:var(--panel);border:1px solid var(--line);border-radius:0 0 12px 12px;padding:20px;color:var(--text-dim)}
.woocommerce .quantity .qty{background:var(--panel-2);border:1px solid var(--line-2);color:var(--text);border-radius:8px;padding:8px}

/* Tables / cart / checkout */
.woocommerce table.shop_table{background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--text)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line);color:var(--text)}
.woocommerce-cart table.cart td.actions,.woocommerce .cart-collaterals,.woocommerce-checkout #payment{color:var(--text-dim)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection{background:var(--panel-2);border:1px solid var(--line-2);color:var(--text);border-radius:8px;padding:10px}
.woocommerce-checkout #payment{background:var(--panel);border-radius:12px}
.woocommerce label,.woocommerce-checkout label,.woocommerce h3{color:var(--text)}
.woocommerce a{color:var(--amber)}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--panel);border-top:3px solid var(--amber);color:var(--text);border-radius:8px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--amber)}

/* ── Reveal ───────────────────────────────────────────────── */
.sh-rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.sh-rv.in{opacity:1;transform:none}

/* ── USD approximation label ──────────────────────────────── */
.sh-usd-approx{font-size:.72em;color:var(--text-mute);font-weight:400;white-space:nowrap}

/* ── Product page: hide single tab nav, product meta ─────── */
.woocommerce-tabs ul.tabs{display:none}
.woocommerce-tabs .woocommerce-Tabs-panel{border-top:1px solid var(--line);padding-top:24px}

/* ── Colour swatches ──────────────────────────────────────── */
.sh-hidden-select{display:none!important}
.sh-colour-picker{display:flex;gap:16px;flex-wrap:wrap;padding:4px 0}
.sh-colour-opt{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;user-select:none}
.sh-colour-swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);box-sizing:border-box;transition:border-color .18s,box-shadow .18s}
.sh-colour-opt:hover .sh-colour-swatch{border-color:var(--line-2)}
.sh-colour-opt.active .sh-colour-swatch{border-color:var(--amber);box-shadow:0 0 0 3px var(--amber-dim)}
.sh-colour-label{font-size:10px;color:var(--text-mute);font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase;transition:color .18s}
.sh-colour-opt.active .sh-colour-label{color:var(--amber)}
.sh-c-black .sh-colour-swatch{background:#1c1f27}
.sh-c-red   .sh-colour-swatch{background:#c0392b}
.sh-c-white .sh-colour-swatch{background:#e8eaf0;border-color:var(--line-2)}

/* ── Non-EU import duties notice in checkout ─────────────── */
.sh-import-notice th{padding:10px 0 4px;font-weight:400;font-size:.82em;color:var(--text-mute);border-top:1px solid var(--line);line-height:1.5}
.sh-import-icon{color:var(--amber);margin-right:4px}

@media(max-width:900px){
  .sh-hero{grid-template-columns:1fr;gap:30px}
  .woocommerce ul.products{grid-template-columns:1fr 1fr}
  .sh-links{display:none}
}
@media(max-width:560px){.woocommerce ul.products{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sh-rv{opacity:1;transform:none}}
