:root {
  --tibo-bg: #07090f;
  --tibo-panel: rgba(255, 255, 255, 0.07);
  --tibo-panel-strong: rgba(255, 255, 255, 0.11);
  --tibo-border: rgba(255, 255, 255, 0.14);
  --tibo-blue: #2f7cff;
  --tibo-cyan: #69e7ff;
  --tibo-text: #f8fafc;
  --tibo-muted: #94a3b8;
  --tibo-radius: 8px;
  --tibo-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }
body.tibo-shell {
  min-height: 100vh;
  background:
    radial-gradient(circle at 20% 8%, rgba(47, 124, 255, 0.24), transparent 32rem),
    radial-gradient(circle at 84% 12%, rgba(105, 231, 255, 0.14), transparent 28rem),
    linear-gradient(180deg, #07090f, #10131d 52%, #07090f);
  color: var(--tibo-text);
}
.tibo-noise {
  pointer-events: none;
  position: fixed;
  inset: 0;
  opacity: 0.06;
  background-image: linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 36px 36px;
}
.tibo-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem clamp(1rem, 4vw, 4rem);
  border-bottom: 1px solid var(--tibo-border);
  background: rgba(7, 9, 15, 0.78);
  backdrop-filter: blur(22px);
}
.tibo-brand { display: inline-flex; align-items: center; gap: .7rem; font-weight: 800; letter-spacing: .08em; }
.tibo-logo {
  display: grid;
  place-items: center;
  width: 2.15rem;
  aspect-ratio: 1;
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #69e7ff 50%, #2f7cff);
  color: #05070c;
  box-shadow: 0 12px 38px rgba(47, 124, 255, .35);
}
.tibo-search, .tibo-input, .tibo-form input, .tibo-form select {
  width: 100%;
  border: 1px solid var(--tibo-border);
  border-radius: var(--tibo-radius);
  background: rgba(255,255,255,.06);
  color: white;
  padding: .85rem 1rem;
  outline: none;
}
.tibo-search { width: min(28vw, 22rem); padding: .65rem .9rem; }
.tibo-btn, .tibo-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.7rem;
  border-radius: var(--tibo-radius);
  border: 1px solid rgba(105, 231, 255, .36);
  background: linear-gradient(135deg, var(--tibo-blue), var(--tibo-cyan));
  color: #03101b;
  font-weight: 800;
  padding: .75rem 1.1rem;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tibo-icon-btn { width: 2.7rem; padding: 0; font-size: 1.25rem; }
.tibo-btn:hover, .tibo-icon-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(47, 124, 255, .28); }
.tibo-btn-ghost { background: rgba(255,255,255,.07); color: white; border-color: var(--tibo-border); }
.tibo-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  min-height: calc(100vh - 5rem);
  padding: clamp(3rem, 7vw, 7rem) clamp(1rem, 5vw, 5rem);
}
.tibo-hero h1 { font-size: clamp(4rem, 13vw, 11rem); line-height: .82; font-weight: 900; letter-spacing: 0; }
.tibo-eyebrow { color: var(--tibo-cyan); text-transform: uppercase; letter-spacing: .18em; font-size: .75rem; font-weight: 800; }
.tibo-lead { color: #cbd5e1; font-size: clamp(1.05rem, 2vw, 1.35rem); max-width: 46rem; margin: 1.35rem 0 2rem; }
.tibo-hero-stage {
  min-height: 32rem;
  border-radius: var(--tibo-radius);
  border: 1px solid var(--tibo-border);
  background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.04)), url("/static/tibo/images/premium-grid.svg") center/cover;
  box-shadow: var(--tibo-shadow);
  display: grid;
  place-items: end start;
  padding: 1.5rem;
}
.tibo-device-card, .tibo-panel, .tibo-product-card, .tibo-category, .tibo-filter {
  border: 1px solid var(--tibo-border);
  border-radius: var(--tibo-radius);
  background: var(--tibo-panel);
  backdrop-filter: blur(24px);
  box-shadow: var(--tibo-shadow);
}
.tibo-device-card { padding: 1.25rem; width: min(100%, 24rem); }
.tibo-device-card strong { display: block; font-size: 1.8rem; margin: .25rem 0; }
.tibo-section, .tibo-page { padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 5vw, 5rem); }
.tibo-section-head { margin-bottom: 1.8rem; }
.tibo-section h2, .tibo-page h1, .tibo-section-head h1, .tibo-section-head h2 { font-size: clamp(2rem, 5vw, 4.5rem); line-height: .95; font-weight: 850; letter-spacing: 0; }
.tibo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.tibo-product-card { overflow: hidden; }
.tibo-product-media { position: relative; display: block; aspect-ratio: 1 / 1; background: rgba(255,255,255,.05); }
.tibo-product-media img, .tibo-gallery img { width: 100%; height: 100%; object-fit: cover; }
.tibo-badge { position: absolute; top: .75rem; left: .75rem; background: #fff; color: #06101f; border-radius: 999px; padding: .3rem .6rem; font-size: .75rem; font-weight: 800; }
.tibo-band { background: rgba(255,255,255,.035); border-block: 1px solid var(--tibo-border); }
.tibo-category { display: grid; gap: .75rem; padding: 1.25rem; min-height: 10rem; }
.tibo-category span { width: 2rem; aspect-ratio: 1; border-radius: 999px; }
.tibo-proof { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; }
.tibo-proof > div, .tibo-proof > a { border: 1px solid var(--tibo-border); border-radius: var(--tibo-radius); padding: 1.25rem; background: var(--tibo-panel); }
.tibo-proof strong { display:block; font-size: 2rem; }
.tibo-proof span { color: var(--tibo-muted); }
.tibo-shop-layout, .tibo-checkout-grid, .tibo-product-detail { display: grid; grid-template-columns: 18rem minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.tibo-filter, .tibo-panel { padding: 1.25rem; }
.tibo-filter form, .tibo-form { display: grid; gap: 1rem; }
.tibo-product-detail { grid-template-columns: minmax(0, 1fr) minmax(20rem, 34rem); }
.tibo-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.tibo-gallery img { aspect-ratio: 1; border-radius: var(--tibo-radius); background: rgba(255,255,255,.06); }
.tibo-buybox { position: sticky; top: 6rem; }
.tibo-buybox h1 { font-size: clamp(2rem, 5vw, 4rem); line-height: .95; font-weight: 850; }
.tibo-price { font-size: 2rem; font-weight: 900; margin: 1.5rem 0; }
.tibo-price s { margin-left: .75rem; color: var(--tibo-muted); font-size: 1rem; }
.tibo-trust { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; color: #cbd5e1; font-size: .8rem; }
.tibo-trust span { border: 1px solid var(--tibo-border); border-radius: 999px; padding: .35rem .65rem; }
.tibo-line { display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; align-items: center; border: 1px solid var(--tibo-border); border-radius: var(--tibo-radius); background: var(--tibo-panel); padding: 1rem; }
.tibo-copy { max-width: 58rem; }
.tibo-copy p { color: #cbd5e1; font-size: 1.12rem; line-height: 1.8; margin-top: 1rem; }
.tibo-copy h2 { font-size: 1.4rem; margin-top: 2rem; font-weight: 800; }
.tibo-footer { display:flex; justify-content:space-between; gap:2rem; padding: 3rem clamp(1rem,5vw,5rem); border-top:1px solid var(--tibo-border); }
.tibo-footer-links { display:flex; gap:1rem; color: var(--tibo-muted); }
.tibo-messages { position: fixed; right: 1rem; top: 5rem; z-index: 60; display: grid; gap: .5rem; }
.tibo-message, .tibo-drawer { border: 1px solid var(--tibo-border); border-radius: var(--tibo-radius); background: rgba(15, 23, 42, .92); padding: .9rem 1rem; box-shadow: var(--tibo-shadow); }
@media (max-width: 860px) {
  .tibo-hero, .tibo-shop-layout, .tibo-checkout-grid, .tibo-product-detail { grid-template-columns: 1fr; }
  .tibo-hero { min-height: auto; }
  .tibo-hero-stage { min-height: 22rem; }
  .tibo-buybox { position: static; }
  .tibo-gallery { grid-template-columns: 1fr; }
  .tibo-line { grid-template-columns: 1fr; }
  .tibo-footer { flex-direction: column; }
}

