/* Calabash Lab — shared styles v0.2 (matched to original esports neon design) */
:root{
  --bg:#0a0a0a; --surface:#0d1117; --surface-2:#111;
  --accent:#00e0f8; --accent-2:#0090c8;
  --text:#e0e0e0; --muted:#888; --dim:#555;
  --divider:rgba(0,224,248,0.06);
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Segoe UI','Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg);overflow-x:hidden;line-height:1.6;}
a{color:var(--muted);text-decoration:none;}
a:hover{color:var(--accent);}

/* top banner */
.top-banner{background:linear-gradient(90deg,#000 0%,#0d1117 50%,#000 100%);border-bottom:1px solid rgba(0,224,248,0.15);color:var(--accent);text-align:center;padding:8px 16px;font-size:12px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;}
.top-banner span{color:#fff;}
.top-banner .draft-note{color:#f59f00;}

/* header */
header{position:sticky;top:0;z-index:100;background:rgba(10,10,10,0.8);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,224,248,0.08);}
.header-inner{max-width:1200px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;}
.logo{font-size:19px;font-weight:800;color:#fff;letter-spacing:0.15em;text-transform:uppercase;display:flex;align-items:center;gap:10px;}
.logo img{height:34px;width:auto;display:block;}
.logo.icon-only img{height:38px;}
.logo-accent{color:var(--accent);}
.nav-links{display:flex;gap:40px;list-style:none;}
.nav-links a{color:#888;font-size:12px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;position:relative;transition:all .3s;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--accent);transition:width .3s;}
.nav-links a:hover{color:var(--accent);}
.nav-links a:hover::after{width:100%;}
.nav-links a.active{color:var(--accent);}
.nav-links a.active::after{width:100%;}

/* buttons */
.cta-btn{display:inline-block;background:var(--accent);color:#000;padding:16px 48px;font-size:13.5px;font-weight:800;letter-spacing:0.15em;text-transform:uppercase;transition:all .3s;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));}
.cta-btn:hover{background:#fff;box-shadow:0 0 40px rgba(0,224,248,0.4);transform:translateY(-2px);color:#000;}
.cta-secondary{display:inline-block;border:1px solid #333;color:#888;padding:16px 40px;font-size:13.5px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;transition:all .3s;background:transparent;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));}
.cta-secondary:hover{border-color:var(--accent);color:var(--accent);}

/* hero */
.hero{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000;text-align:center;}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(0,224,248,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,224,248,0.03) 1px,transparent 1px);background-size:60px 60px;animation:gridMove 20s linear infinite;}
@keyframes gridMove{0%{transform:translate(0,0);}100%{transform:translate(60px,60px);}}
.hero-radial{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(0,224,248,0.06) 0%,transparent 70%);pointer-events:none;}
.hero-content{position:relative;z-index:2;max-width:820px;padding:80px 32px;}
.hero-tag{display:inline-block;border:1px solid rgba(0,224,248,0.4);color:var(--accent);font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;padding:6px 20px;border-radius:2px;margin-bottom:32px;}
.hero h1{font-size:clamp(34px,5.5vw,58px);font-weight:900;color:#fff;line-height:1.05;letter-spacing:-0.03em;text-transform:uppercase;margin-bottom:20px;}
.hero h1 .glow{color:var(--accent);text-shadow:0 0 30px rgba(0,224,248,0.4),0 0 60px rgba(0,224,248,0.2);}
.hero .sub{font-size:17px;color:#666;font-weight:400;line-height:1.7;max-width:560px;margin:0 auto 40px;}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}

/* sections */
section{padding:80px 32px;max-width:1200px;margin:0 auto;}
section.alt{background:linear-gradient(180deg,#0a0a0a 0%,#0d1117 100%);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);max-width:none;padding:64px 32px;}
section.alt>*{max-width:1200px;margin-left:auto;margin-right:auto;}
.section-label{text-align:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.25em;color:var(--accent);margin-bottom:8px;}
.section-title{font-size:clamp(26px,3.5vw,36px);font-weight:900;color:#fff;letter-spacing:-0.02em;text-transform:uppercase;text-align:center;margin-bottom:16px;}
.section-sub{text-align:center;color:#666;max-width:620px;margin:0 auto 48px;}

/* trust / value props */
.trust-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.trust-item{text-align:center;padding:24px;border-right:1px solid var(--divider);}
.trust-item:last-child{border-right:none;}
.trust-icon{font-size:24px;margin-bottom:12px;color:var(--accent);}
.trust-item h3{font-size:13px;font-weight:700;color:#fff;margin-bottom:6px;letter-spacing:0.1em;text-transform:uppercase;}
.trust-item p{font-size:13px;color:var(--dim);line-height:1.5;}
@media(max-width:720px){.trust-grid{grid-template-columns:1fr;}.trust-item{border-right:none;border-bottom:1px solid var(--divider);}}

/* product cards */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;}
.pcard{background:var(--surface-2);border:1px solid var(--divider);border-radius:10px;overflow:hidden;transition:transform .15s,border-color .15s,box-shadow .15s;}
.pcard:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 0 18px rgba(0,224,248,0.15);}
.ph-img{aspect-ratio:1/1;background:#000;display:flex;align-items:center;justify-content:center;color:#333;font-size:12px;font-weight:600;text-align:center;padding:12px;letter-spacing:0.1em;text-transform:uppercase;}
.pcard .body{padding:16px 18px;}
.pcard h3{font-size:15px;color:#fff;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;}
.pcard .age{display:inline-block;border:1px solid var(--accent);color:var(--accent);font-size:11px;padding:3px 8px;border-radius:4px;margin:8px 0;letter-spacing:0.08em;text-transform:uppercase;}
.pcard .desc{font-size:13px;color:var(--dim);margin-bottom:10px;}
.pcard .price{color:var(--accent);font-weight:900;font-size:17px;}

/* info boxes (market/delivery) */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.ibox{background:var(--surface-2);border:1px solid var(--divider);border-left:2px solid var(--accent);border-radius:4px;padding:22px;}
.ibox b{display:block;color:#fff;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;}
.ibox span{color:var(--dim);font-size:14px;}
.callout{background:linear-gradient(90deg,rgba(0,224,248,0.06),transparent);border:1px solid rgba(0,224,248,0.2);border-radius:4px;padding:22px 28px;margin-top:20px;}
.callout b{color:var(--accent);letter-spacing:0.1em;text-transform:uppercase;font-size:13px;}

/* about / team */
.story{max-width:720px;margin:0 auto;}
.story p{margin-bottom:18px;color:#999;font-size:15.5px;}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:40px;}
.member{background:var(--surface-2);border:1px solid var(--divider);border-radius:10px;padding:32px 24px;text-align:center;transition:border-color .3s,box-shadow .3s;}
.member:hover{border-color:rgba(0,224,248,0.3);box-shadow:0 0 18px rgba(0,224,248,0.08);}
.avatar{width:96px;height:96px;border-radius:50%;background:#000;border:1px solid var(--divider);margin:0 auto 16px;display:flex;align-items:center;justify-content:center;color:#333;font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;overflow:hidden;}
.avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.member h3{color:#fff;font-size:16px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;}
.member .role{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;margin:4px 0 10px;}
.member p{font-size:13.5px;color:var(--dim);}

/* contact boxes */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
.cbox{background:var(--surface-2);border:1px solid var(--divider);border-radius:10px;padding:26px;transition:border-color .3s;}
.cbox:hover{border-color:rgba(0,224,248,0.3);}
.cbox h3{color:#fff;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:8px;}
.cbox p{color:var(--dim);font-size:14px;}
.cbox a{color:var(--accent);}

/* footer */
footer{border-top:1px solid var(--divider);padding:40px 32px;margin-top:40px;}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;color:var(--dim);font-size:13px;}
.footer-inner b{color:#fff;letter-spacing:0.1em;text-transform:uppercase;font-size:12px;display:block;margin-bottom:6px;}
.footer-inner .logo-accent{font-weight:800;font-size:16px;letter-spacing:0.15em;text-transform:uppercase;}

/* draft placeholder marker */
.todo{outline:2px dashed #f59f00;outline-offset:3px;border-radius:2px;}
.todo-chip{display:inline-block;background:#f59f00;color:#000;font-size:10px;font-weight:800;padding:2px 9px;border-radius:2px;letter-spacing:0.1em;text-transform:uppercase;vertical-align:middle;margin-left:8px;}
.draft-banner{background:#1a1408;border-bottom:1px solid #f59f00;padding:9px 20px;text-align:center;font-size:12px;font-weight:600;color:#f59f00;letter-spacing:0.08em;text-transform:uppercase;}

/* ===== mobile responsive (<=720px) ===== */
@media(max-width:720px){
  /* header: logo row + horizontally scrollable nav row */
  .header-inner{flex-wrap:wrap;padding:10px 16px 0;}
  .logo{font-size:15px;gap:8px;}
  .logo img{height:28px;}
  .logo.icon-only img{height:32px;}
  .nav-links{display:flex;order:3;width:100%;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:6px 0 10px;scrollbar-width:none;}
  .nav-links::-webkit-scrollbar{display:none;}
  .nav-links a{font-size:10.5px;letter-spacing:0.12em;padding:6px 16px 6px 0;white-space:nowrap;}
  .nav-links a::after{bottom:0;}

  /* sections & hero */
  section{padding:48px 16px;}
  section.alt{padding:44px 16px;}
  .hero-content{padding:56px 20px;}
  .hero .sub{font-size:15px;}
  .cta-btn{padding:14px 36px;font-size:12px;}
  .cta-secondary{padding:14px 28px;font-size:12px;}
  .top-banner{font-size:10.5px;padding:7px 12px;}

  /* trust grid stacks */
  .trust-grid{grid-template-columns:1fr;}
  .trust-item{border-right:none;border-bottom:1px solid var(--divider);}

  /* product cards: 2-up on phones */
  .product-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;}
  .pcard .body{padding:12px;}
  .pcard h3{font-size:12.5px;}
  .pcard .desc{font-size:11.5px;}
  .pcard .price{font-size:15px;}
  .pcard .age{font-size:10px;margin:6px 0;}
  .price small{font-size:10px;}
  .sku-code{font-size:9.5px;letter-spacing:0.05em;padding:2px 6px;}
  .sku-chips{gap:5px;}
  .schip{font-size:9px;padding:2px 6px;}
  .feat-row{gap:4px;}

  /* filters & decoder */
  .filter-bar{gap:7px;}
  .ftab{padding:7px 11px;font-size:10px;letter-spacing:0.06em;}
  .type-chips{margin-top:12px;}
  .sku-decoder{padding:16px 12px;}
  .sku-sample{font-size:14px;letter-spacing:0.05em;word-break:break-all;}
  .sku-legend{gap:6px 14px;font-size:10.5px;}

  /* badges & tooltips: tap-to-show via :focus-within */
  .cert-badge{max-width:100%;padding:12px 14px;gap:12px;}
  .cert-img{width:60px;height:60px;border-radius:10px;}
  .cert-icon{width:46px;height:46px;font-size:22px;}
  .tooltip{left:0;transform:translateY(6px);width:min(310px,88vw);}
  .tooltip::after{left:24px;}
  .badge-wrap:hover .tooltip,.badge-wrap:focus-within .tooltip{transform:translateY(0);}

  /* footer */
  footer{padding:30px 20px;}
  .footer-inner{flex-direction:column;gap:18px;}

  /* team stacks single-column on phones */
  .team{grid-template-columns:1fr;}
  .member.baja{max-width:100%;}
}
@media(max-width:380px){
  .product-grid{grid-template-columns:1fr 1fr;}
  .sku-sample{font-size:11.5px;}
  .hero h1{font-size:30px;}
}

/* ===== certification badges (Shop page) ===== */
.cert-strip{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:0 auto;}
.badge-wrap{position:relative;}
.cert-badge{display:flex;align-items:center;gap:16px;background:var(--surface-2);border:1px solid var(--divider);border-radius:10px;padding:16px 24px;cursor:help;transition:border-color .25s,box-shadow .25s;max-width:340px;}
.cert-badge:hover{box-shadow:0 0 22px rgba(0,224,248,0.12);}
.tinker .cert-badge:hover{border-color:#d9a441;}
.baja .cert-badge:hover{border-color:var(--accent);}
.cert-icon{width:54px;height:54px;border-radius:50%;background:#000;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;}
.tinker .cert-icon{border-color:#d9a441;}
.baja .cert-icon{border-color:var(--accent);}
.cert-name{font-weight:800;letter-spacing:0.12em;color:#fff;font-size:13.5px;text-transform:uppercase;}
.cert-name small{display:block;color:var(--dim);font-weight:400;font-size:12.5px;letter-spacing:0.03em;text-transform:none;margin-top:3px;line-height:1.45;}
.tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);width:310px;max-width:80vw;background:var(--surface);border:1px solid rgba(0,224,248,0.35);border-radius:10px;padding:14px 16px;font-size:12.5px;color:#aeb9c9;line-height:1.65;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:30;box-shadow:0 10px 34px rgba(0,0,0,0.65);}
.tooltip::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:rgba(0,224,248,0.35);}
.tooltip b{color:var(--accent);letter-spacing:0.08em;}
.badge-wrap:hover .tooltip,.badge-wrap:focus-within .tooltip{opacity:1;transform:translateX(-50%) translateY(0);}

.cert-img{width:84px;height:84px;border-radius:12px;flex-shrink:0;border:1px solid var(--divider);display:block;transition:transform .25s;}
.cert-badge:hover .cert-img{transform:scale(1.06) rotate(-2deg);}

/* ===== SKU code system v4 — category page (Shop) ===== */

/* decoder strip */
.sku-decoder{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:26px 28px;max-width:760px;margin:26px auto 0;}
.sku-sample{font-family:'Courier New',monospace;font-size:clamp(18px,3.4vw,26px);font-weight:700;color:#fff;letter-spacing:0.14em;text-align:center;text-shadow:0 0 14px rgba(0,224,248,0.45);}
.sku-sample .dim{color:var(--dim);text-shadow:none;font-weight:400;}
.sku-legend{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;margin-top:18px;font-size:12px;color:var(--dim);letter-spacing:0.04em;}
.sku-legend b{color:var(--accent);font-family:'Courier New',monospace;letter-spacing:0.1em;margin-right:5px;}

/* filter bars */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:14px;}
.ftab{background:var(--surface);border:1px solid var(--divider);color:#aeb9c9;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;padding:9px 18px;border-radius:3px;cursor:pointer;transition:all .2s;}
.ftab:hover{border-color:var(--accent);color:#fff;}
.ftab.active{background:var(--accent);border-color:var(--accent);color:#04121a;box-shadow:0 0 18px rgba(0,224,248,0.35);}
.ftab.feat.active{background:transparent;border-color:var(--accent);color:var(--accent);box-shadow:none;}

/* L2 type chips (taxonomy menu per section) */
.type-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:18px auto 6px;max-width:860px;}
.tchip{background:var(--surface);border:1px solid var(--divider);color:#8b98a9;font-size:11px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;padding:5px 13px;border-radius:20px;}
.tchip:hover{border-color:var(--accent);color:var(--accent);cursor:help;}

/* SKU chips on product cards */
.sku-chips{display:flex;gap:7px;margin-bottom:9px;}
.schip{font-family:'Courier New',monospace;font-size:10.5px;font-weight:700;letter-spacing:0.14em;padding:3px 9px;border-radius:2px;}
.schip.l1{background:rgba(0,224,248,0.12);border:1px solid rgba(0,224,248,0.45);color:var(--accent);}
.schip.l2{background:transparent;border:1px solid var(--divider);color:#8b98a9;}

/* feature chips */
.feat-row{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 4px;}
.fchip{font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#9fe8f5;background:rgba(0,224,248,0.07);border:1px solid rgba(0,224,248,0.22);padding:2px 9px;border-radius:12px;}

/* ===== real product cards (12 SKU launch) ===== */
.ph-img img{width:100%;height:100%;object-fit:contain;display:block;}
.ph-img.contain img{object-fit:contain;padding:14px;}
.sku-code{font-family:'Courier New',monospace;font-size:11px;font-weight:700;letter-spacing:0.08em;color:var(--accent);background:rgba(0,224,248,0.08);border:1px solid rgba(0,224,248,0.3);padding:3px 8px;border-radius:2px;display:inline-block;margin-bottom:9px;}

/* index best-seller cards as links */
a.pcard{text-decoration:none;color:inherit;display:block;}
a.pcard:hover .ph-img img{transform:scale(1.04);transition:transform .25s;}

/* online-only corner tag */
.ph-img{position:relative;}
.ph-tag{position:absolute;top:10px;left:10px;z-index:2;background:var(--accent);color:#04121a;font-size:10px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;padding:4px 10px;border-radius:2px;box-shadow:0 0 12px rgba(0,224,248,0.4);}

/* team: Baja centered under Boush & Orianna */
.team{grid-template-columns:repeat(2,1fr);}
.member.baja{grid-column:1 / -1;max-width:calc(50% - 12px);margin:0 auto;width:100%;}
