.hero {
  position: relative;
  width: 100%;
  height: calc(100vh - 80px);
  margin: 0;
  overflow: hidden;
}

.hero-slider,
.slide {
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity .6s ease;
}

.slide.active {
  opacity: 1;
  z-index: 1;
}

.content {
  position: relative;
  z-index: 2;
  max-width: 40rem;

  padding-top: 7.5rem;      /* було 120px */
  padding-bottom: 7.5rem;
  padding-left: 9rem;       /* 🔥 було 5rem — тепер не перекривається */
  padding-right: 5rem;

  color: #fff;
}


.badge-banner {
  background: #facc15;
  color: #111;
  padding: 6px 14px;
  border-radius: 999px;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 20px;
}

h1 {
  font-size: 56px;
  margin-bottom: 16px;
}

p {
  font-size: 20px;
  margin-bottom: 28px;
}

.btn-hero {
  background: #fff;
  color: #000;
  padding: 14px 28px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 600;

  /* 👇 нове */
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: transform 0.25s ease;
}

.btn-hero::after {
  content: "";
  width: 18px;
  height: 18px;
  background: url("../assets/icons/right-arrow-banner.png") no-repeat center / contain;
  transition: transform 0.25s ease;
}

.btn-hero:hover {
  transform: translateY(-2px);
}

.btn-hero:hover::after {
  transform: translateX(6px);
}


.arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  width: 4rem;              /* 64px */
  height: 4rem;             /* 64px */
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 0.0625rem solid rgba(255,255,255,0.25); /* 1px */
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(0.625rem); /* 10px */

  cursor: pointer;
  z-index: 5;

  transition: all .25s ease;
}

/* svg */
.arrow svg{
  width: 1.75rem;           /* 28px */
  height: 1.75rem;          /* 28px */
  stroke: white;
  stroke-width: 2.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;

  transition: transform .25s ease;
}

/* позиції */
.left { left: clamp(0.5rem, 3vw, 2rem); }
.right { right: clamp(0.5rem, 3vw, 2rem); }

/* hover */
.arrow:hover{
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.4);
  transform: translateY(-50%) scale(1.08);
}

/* рух стрілки */
.left:hover svg{
  transform: translateX(-0.25rem); /* -4px */
}

.right:hover svg{
  transform: translateX(0.25rem);  /* 4px */
}

/* active */
.arrow:active{
  transform: translateY(-50%) scale(0.95);
}


.hero-indicator{
  position:absolute;
  top:2rem;
  right:2rem;

  background:rgba(0,0,0,.35);
  backdrop-filter: blur(6px);

  padding:.45rem .8rem;
  border-radius:999px;

  font-size:.9rem;
  font-weight:600;

  color:#fff;
  z-index:6;
}

/* ===== Dots navigation ===== */

.hero-dots{
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:.6rem;
  z-index:6;
}

.dot{
  width:.55rem;
  height:.55rem;
  border-radius:50%;
  background:rgba(255,255,255,.4);
  transition:all .35s ease;
  cursor:pointer;
}

/* активна */
.dot.active{
  width:1.8rem;
  border-radius:999px;
  background:#fff;
}


/* === Brand Story Section === */
.brand-story {
  padding: 5.5rem 1rem 5rem;

  position: relative;
  overflow: hidden;

  background:
    radial-gradient(900px 420px at 15% 20%, rgba(79,70,229,.28), transparent 65%),
    radial-gradient(760px 380px at 85% 70%, rgba(168,85,247,.24), transparent 65%),
    radial-gradient(620px 340px at 50% 110%, rgba(236,72,153,.20), transparent 65%),
    linear-gradient(180deg,#ffffff 0%,#eef2ff 55%,#ffffff 100%);
}

/* texture */
.brand-story::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background-image:
    radial-gradient(circle, rgba(99,102,241,.18) 1px, transparent 1px);

  background-size: 24px 24px;
  opacity:.35;
}

/* легкий світловий шар зверху */
.brand-story::after{
  content:"";
  position:absolute;
  inset:-20% -10% auto -10%;
  height:60%;
  pointer-events:none;

  background:
    radial-gradient(700px 260px at 50% 0%, rgba(255,255,255,.6), transparent 70%);
}

.brand-story .section-header {
  max-width: 50rem;
  margin: 0 auto;
  text-align: center;
}

.brand-badge {
  display: inline-block;
  background: linear-gradient(to right,#ede9fe,#ddd6fe);
  color: #4f46e5;

  padding: .5rem 1rem;
  border-radius: 9999px;

  margin-bottom: 1.5rem;

  font-weight: 600;
  font-size: .85rem;
}

.brand-story h2 {
  font-size: 2.75rem;
  margin-bottom: 1.25rem;
}

.brand-story p {
  font-size: 1.125rem;
  color: #6b7280;
  line-height: 1.65;

  margin-bottom: 1.5rem;
}

.brand-story p:last-child {
  margin-bottom: 0;
}

/* === Stats Section === */

.stats {
  position: relative;
  padding: 4rem 0;

  background: linear-gradient(
    90deg,
    #4338ca 0%,
    #7c3aed 50%,
    #a21caf 100%
  );

  box-shadow: 
    inset 0 1px 0 rgba(255,255,255,0.08),
    inset 0 -60px 120px rgba(0,0,0,0.18);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 2rem;

  max-width: 1200px;
  margin: 0 auto;

  text-align: center;
  color: white;
}

/* цифри */

.stat-value {
  font-size: 2.75rem;
  font-weight: 550;
  letter-spacing: -0.02em;

  transition: transform .35s ease, text-shadow .35s ease;
}

/* підпис */

.stat-label {
  color: rgba(255,255,255,0.9);
}

/* bounce під час відліку */

.stats.is-counting .stat-value {
  transform: scale(1.03);
}

/* легкий hover */

.stat:hover .stat-value{
  transform: scale(1.02);
}


/* ===== Universes (v4 - visible neon accents, still premium) ===== */
.universes{
  padding: 5.2rem 1rem;
  background:
    radial-gradient(1000px 420px at 20% -140px, rgba(56,189,248,.16), transparent 60%),
    radial-gradient(820px 380px at 95% -80px, rgba(167,139,250,.16), transparent 58%),
    radial-gradient(760px 380px at 70% 115%, rgba(34,197,94,.12), transparent 55%),
    radial-gradient(760px 380px at 10% 120%, rgba(251,146,60,.10), transparent 55%),
    #f9fafb;
}

.universes .section-header{
  text-align:center;
  max-width: 50rem;
  margin: 0 auto 2.75rem;
}

.universes h2{
  font-size: 2.75rem;
  margin-bottom: 1rem;
}

.universes-layout{
  display:grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 1.25rem;
  align-items: start;
}

/* ===== Neon palette (soft neon, but visible) ===== */
.universe-feature{
  --neon-blue:   rgba(56,189,248,.85);
  --neon-green:  rgba(34,197,94,.80);
  --neon-violet: rgba(167,139,250,.85);
  --neon-orange: rgba(251,146,60,.80);

  --acc: var(--neon-violet);
  --acc2: var(--neon-blue);
}

.universe-feature[data-accent="violet"]{ --acc: var(--neon-violet); --acc2: var(--neon-blue); }
.universe-feature[data-accent="blue"]  { --acc: var(--neon-blue);   --acc2: var(--neon-violet); }
.universe-feature[data-accent="green"] { --acc: var(--neon-green);  --acc2: var(--neon-blue); }
.universe-feature[data-accent="orange"]{ --acc: var(--neon-orange); --acc2: var(--neon-violet); }

/* ===== Featured ===== */
.universe-feature{
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  display:block;
  color:#fff;

  height: 24rem;

  /* base */
  background: #0b1220;
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 22px 60px rgba(2,6,23,.14);

  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

/* Visible neon ring (the thing you asked for) */
.universe-feature::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 1.35rem;
  pointer-events:none;

  /* neon border */
  background: linear-gradient(135deg,
    rgba(255,255,255,.0),
    rgba(255,255,255,.0)
  );
  box-shadow:
    0 0 0 1px rgba(255,255,255,.04),
    0 0 0 2px rgba(255,255,255,.02),
    0 0 22px rgba(56,189,248,.15),
    0 0 34px rgba(167,139,250,.13);

  opacity: 1;
}

/* neon glow aura */
.universe-feature::after{
  content:"";
  position:absolute;
  inset:-30%;
  pointer-events:none;
  background:
    radial-gradient(520px 280px at 20% 20%, color-mix(in srgb, var(--acc) 24%, transparent), transparent 60%),
    radial-gradient(520px 280px at 85% 10%, color-mix(in srgb, var(--acc2) 18%, transparent), transparent 62%),
    radial-gradient(560px 320px at 50% 110%, rgba(0,0,0,.55), transparent 60%);
  opacity: .95;
  filter: blur(6px);
}

/* fallback if color-mix not supported */
@supports not (color: color-mix(in srgb, red 50%, transparent)){
  .universe-feature::after{
    background:
      radial-gradient(520px 280px at 20% 20%, rgba(167,139,250,.18), transparent 60%),
      radial-gradient(520px 280px at 85% 10%, rgba(56,189,248,.14), transparent 62%),
      radial-gradient(560px 320px at 50% 110%, rgba(0,0,0,.55), transparent 60%);
  }
}

.universe-feature:hover{
  transform: translateY(-4px);
  border-color: rgba(99,102,241,.22);
  box-shadow: 0 32px 88px rgba(2,6,23,.20);
}

.universe-feature img{
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1);
  transition: transform .65s ease, filter .65s ease;
  filter: saturate(1.06) contrast(1.03);
}

.universe-feature:hover img{
  transform: scale(1.04);
  filter: saturate(1.12) contrast(1.06);
}

/* overlay to keep readability */
.universe-feature__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to top,
      rgba(0,0,0,.72) 0%,
      rgba(0,0,0,.42) 36%,
      rgba(0,0,0,.12) 70%,
      rgba(0,0,0,0) 100%);
  z-index: 2;
}

.universe-feature__content{
  position:absolute;
  left: 1.35rem;
  right: 1.35rem;
  bottom: 1.15rem;
  z-index: 3;
}

.universe-feature__top{
  display:flex;
  gap:.5rem;
  flex-wrap: wrap;
  margin-bottom: .8rem;
}

/* neon chips */
.universe-chip{
  display:inline-flex;
  align-items:center;
  padding: .42rem .72rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .88rem;

  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 10px 24px rgba(0,0,0,.25),
    0 0 18px rgba(56,189,248,.12);
}

.universe-feature h3{
  margin: 0 0 .22rem;
  font-size: 2.0rem;
  letter-spacing: -0.03em;
  text-shadow: 0 16px 45px rgba(0,0,0,.55);
}

.universe-feature p{
  margin: 0 0 .95rem;
  color: rgba(255,255,255,.84);
  font-size: 1.02rem;
  line-height: 1.5;
  max-width: 34rem;
}

.universe-feature__cta{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-weight: 850;
  color: rgba(255,255,255,.92);
  opacity: .96;
  transition: transform .25s ease, opacity .25s ease;
}

.universe-feature__cta svg{
  width: 1.1rem;
  height: 1.1rem;
  transition: transform .25s ease;

  position: relative;
  top: 2px;
}

.universe-feature:hover .universe-feature__cta svg{
  transform: translateX(5px);
}
.universe-feature:hover .universe-feature__cta{
  transform: translateX(5px);
  opacity: 1;
}

/* ===== Picker ===== */
.universe-picker{
  background:#fff;
  border: 1px solid rgba(2,6,23,0.10);
  border-radius: 1.25rem;
  box-shadow: 0 18px 45px rgba(2,6,23,.08);
  padding: 1rem;
}

.universe-picker__head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: .75rem;

  padding: .25rem .25rem .75rem;
  border-bottom: 1px solid rgba(2,6,23,0.08);
  margin-bottom: .75rem;
}

.universe-picker__title{
  font-weight: 900;
  color:#0f172a;
  letter-spacing: -0.02em;
}

/* toggle button */
.universe-picker .universes-toggle{
  border: 1px solid rgba(2,6,23,0.12);
  background: #fff;
  border-radius: .9rem;
  padding: .65rem .9rem;
  cursor: pointer;

  display: inline-flex;
  align-items: center;
  gap: .55rem;

  font-weight: 800;
  color: #0f172a;

  box-shadow: 0 0.75rem 1.75rem rgba(2,6,23,0.08);
  transition: transform .2s ease, box-shadow .25s ease, background .2s ease, border-color .2s ease;
}
.universe-picker .universes-toggle:hover{
  background: #f1f5f9;
  border-color: rgba(2,6,23,0.18);
  transform: translateY(-0.0625rem);
  box-shadow: 0 1rem 2.25rem rgba(2,6,23,0.10);
}
.universe-picker .universes-toggle svg{
  width: 1.15rem;
  height: 1.15rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .25s ease;
}
.universes-toggle[aria-expanded="true"] svg{ transform: rotate(180deg); }

.universe-list{
  display:flex;
  flex-direction: column;
  gap: .55rem;
}

/* item base */
.universe-item{
  width:100%;
  text-align:left;
  border: 1px solid rgba(2,6,23,0.10);
  background: #fff;
  border-radius: 1rem;
  padding: .85rem .9rem;

  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 1rem;

  cursor:pointer;
  position: relative;

  transition: transform .2s ease, box-shadow .25s ease, border-color .25s ease, background .2s ease;
}

/* neon accent bar (will be colored via class on body of item) */
.universe-item::before{
  content:"";
  position:absolute;
  left: .55rem;
  top: .55rem;
  bottom: .55rem;
  width: .22rem;
  border-radius: 999px;
  background: rgba(99,102,241,.16);
  opacity: 0;
  filter: blur(.2px);
  transition: opacity .2s ease;
}

.universe-item__left{
  display:flex;
  flex-direction: column;
  gap: .15rem;
  min-width: 0;
}

.universe-item__name{
  font-weight: 900;
  color:#0f172a;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.universe-item__desc{
  font-size: .9rem;
  color: rgba(15,23,42,.62);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* meta pill */
.universe-item__meta{
  font-weight: 900;
  color: rgba(99,102,241,.96);
  background: rgba(99,102,241,.10);
  border: 1px solid rgba(99,102,241,.16);
  padding: .35rem .55rem;
  border-radius: 999px;
  font-size: .85rem;
  flex: 0 0 auto;
}

/* hover */
.universe-item:hover{
  transform: translateY(-2px);
  border-color: rgba(99,102,241,.18);
  box-shadow: 0 1.1rem 2.2rem rgba(2,6,23,.08);
  background: #fbfbff;
}

.universe-item:hover{
  box-shadow:
    0 0 0 1px rgba(99,102,241,.15),
    0 12px 28px rgba(2,6,23,.08),
    0 0 18px rgba(99,102,241,.15);
}


/* active */
.universe-item.is-active{
  border-color: rgba(99,102,241,.24);
  box-shadow: 0 1.2rem 2.6rem rgba(2,6,23,.10);
  background: linear-gradient(180deg, #ffffff, #fbfbff);
}
.universe-item.is-active::before{ opacity: 1; }

/* more block */
.universe-more{
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: translateY(-0.5rem);
  pointer-events: none;
  transition: max-height .35s ease, opacity .25s ease, transform .35s ease;
}
.universe-more.is-open{
  max-height: 60rem;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;

  display:flex;
  flex-direction: column;
  gap: .55rem;
  margin-top: .55rem;
}

/* responsive */
@media (max-width: 1024px){
  .universes-layout{ grid-template-columns: 1fr; }
  .universe-feature{ height: 21.5rem; }
}
@media (max-width: 520px){
  .universes{ padding: 4.5rem 1rem; }
  .universe-feature{ height: 19.5rem; }
  .universe-feature__content{ left: 1.1rem; right: 1.1rem; bottom: 1.05rem; }
  .universe-feature h3{ font-size: 1.75rem; }
}



/* === TOP SALES (clone of NEW ARRIVALS, new classes) === */
.top-sales{
  padding: 5rem 0;
  background: #f1f5f9;
  position: relative;
}

.top-sales::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background: rgba(15,23,42,0.06);
}

.ts-header{
  max-width: 1400px;
  margin: 0 auto 2rem;
  padding: 0 2rem;
}

.ts-header h2{
  font-size: 2.5rem;
}

.ts-wrapper{
  position: relative;
}

.ts-slider{
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 0 5rem;
}

.ts-slider::-webkit-scrollbar{
  display: none;
}

.ts-card{
  flex: 0 0 340px;
  background: #ffffff;
  border-radius: 22px;
  overflow: hidden;

  border: 1px solid rgba(15,23,42,0.06);

  box-shadow:
    0 6px 18px rgba(15,23,42,0.06),
    0 2px 6px rgba(15,23,42,0.04);

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.ts-card:hover{
  transform: translateY(-6px);

  box-shadow:
    0 18px 40px rgba(15,23,42,0.12),
    0 6px 12px rgba(15,23,42,0.06);

  border-color: rgba(99,102,241,0.25);
}

.ts-image{
  position: relative;
  height: 260px;
  overflow: hidden;
  background: #f8fafc;
}

.ts-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.ts-card:hover img{
  transform: scale(1.08);
}

.ts-quick{
  position: absolute;
  inset: auto 0 0 0;
  padding: 1rem;
  background:linear-gradient(90deg,#4f46e5,#9333ea);
  color:#fff;
  border: none;
  font-weight: 600;
  cursor: pointer;
  transform: translateY(100%);
  transition: transform .3s;
}

.ts-card:hover .ts-quick{
  transform: translateY(0);
}

.ts-info{
  padding: 1.2rem;
}

.ts-info h3{
  font-size: 1rem;
  margin-bottom: .6rem;
  font-weight: 600;
  color: #0f172a;
}

.ts-info strong{
  font-size: 1.35rem;
  font-weight: 700;
  color: #111827;
}

.ts-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);

  width:3.25rem;
  height:3.25rem;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(15,23,42,.08);

  background:rgba(255,255,255,.9);
  backdrop-filter: blur(6px);

  box-shadow:
    0 10px 28px rgba(2,6,23,.12),
    0 2px 6px rgba(2,6,23,.08);

  cursor:pointer;
  z-index:5;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

/* позиція */

.ts-arrow.left{ left:0.6rem; }
.ts-arrow.right{ right:0.6rem; }

/* svg */

.ts-arrow svg{
  width:1.3rem;
  height:1.3rem;

  stroke:#0f172a;
  stroke-width:2.4;
  fill:none;

  stroke-linecap:round;
  stroke-linejoin:round;

  transition:transform .25s ease;
}

/* hover */

.ts-arrow:hover{
  background:#fff;

  transform:translateY(-50%) scale(1.08);

  box-shadow:
    0 14px 34px rgba(2,6,23,.16),
    0 4px 10px rgba(2,6,23,.12);
}

/* рух стрілки */

.ts-arrow.left:hover svg{
  transform:translateX(-3px);
}

.ts-arrow.right:hover svg{
  transform:translateX(3px);
}

/* active */

.ts-arrow:active{
  transform:translateY(-50%) scale(.94);
}



/* === NEW ARRIVALS === */
.new-arrivals{
  padding: 5rem 0;
  background: #f1f5f9;
  position: relative;
}

.new-arrivals::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:1px;
  background: rgba(15,23,42,0.06);
}


.na-header {
  max-width: 1400px;
  margin: 0 auto 2rem;
  padding: 0 2rem;
}

.na-header h2 {
  font-size: 2.5rem;
}

.na-wrapper {
  position: relative;
}

.na-slider {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 0 5rem;
}

.na-slider::-webkit-scrollbar {
  display: none;
}

.na-card {
  flex: 0 0 340px;
  background: #ffffff;
  border-radius: 22px;
  overflow: hidden;

  border: 1px solid rgba(15,23,42,0.06);

  box-shadow:
    0 6px 18px rgba(15,23,42,0.06),
    0 2px 6px rgba(15,23,42,0.04);

  transition: 
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.na-card:hover {
  transform: translateY(-6px);

  box-shadow:
    0 18px 40px rgba(15,23,42,0.12),
    0 6px 12px rgba(15,23,42,0.06);

  border-color: rgba(99,102,241,0.25);
}

.na-image {
  position: relative;
  height: 260px;
  overflow: hidden;

  background: #f8fafc;
}

.na-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}

.na-card:hover img {
  transform: scale(1.08);
}

.na-quick {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1rem;
  background:linear-gradient(90deg,#4f46e5,#9333ea);
  color:#fff;
  border: none;
  font-weight: 600;
  cursor: pointer;
  transform: translateY(100%);
  transition: transform .3s;
}

.na-card:hover .na-quick {
  transform: translateY(0);
}

.na-info {
  padding: 1.2rem;
}

.na-info h3 {
  font-size: 1rem;
  margin-bottom: .6rem;
  font-weight: 600;
  color: #0f172a;
}

.na-info strong {
  font-size: 1.35rem;
  font-weight: 700;
  color: #111827;
}

.na-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);

  width:3.25rem;
  height:3.25rem;
  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid rgba(15,23,42,.08);

  background:rgba(255,255,255,.9);
  backdrop-filter: blur(6px);

  box-shadow:
    0 10px 28px rgba(2,6,23,.12),
    0 2px 6px rgba(2,6,23,.08);

  cursor:pointer;
  z-index:5;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

/* позиція */

.na-arrow.left{ left:.6rem; }
.na-arrow.right{ right:.6rem; }

/* svg */

.na-arrow svg{
  width:1.3rem;
  height:1.3rem;

  stroke:#0f172a;
  stroke-width:2.4;
  fill:none;

  stroke-linecap:round;
  stroke-linejoin:round;

  transition:transform .25s ease;
}

/* hover */

.na-arrow:hover{
  background:#fff;

  transform:translateY(-50%) scale(1.08);

  box-shadow:
    0 14px 34px rgba(2,6,23,.16),
    0 4px 10px rgba(2,6,23,.12);
}

/* рух стрілки */

.na-arrow.left:hover svg{
  transform:translateX(-3px);
}

.na-arrow.right:hover svg{
  transform:translateX(3px);
}

/* active */

.na-arrow:active{
  transform:translateY(-50%) scale(.94);
}


/* === MODAL === */
/* === MODAL === */
.qb-modal{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 100;
}

.qb-modal.active{
  display: flex;
  align-items: center;
  justify-content: center;
}

.qb-modal::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(15,23,42,.55);
  backdrop-filter: blur(10px);
}

/* DIALOG */
.qb-content{
  position: relative;
  background: #fff;
  border-radius: 30px;
  max-width: 1000px;
  width: 92%;
  padding: 2rem;
  box-shadow: 0 40px 100px rgba(0,0,0,.3);
  animation: modalFade .25s ease;
}

@keyframes modalFade{
  from{ opacity:0; transform:translateY(15px); }
  to{ opacity:1; transform:translateY(0); }
}

/* CLOSE BUTTON */
.qb-close{
  position: absolute;
  top: 1rem;
  right: 1rem;

  width: 2.6rem;
  height: 2.6rem;

  border-radius: 1rem;
  border: none;

  background: rgba(255,255,255,.85);
  backdrop-filter: blur(10px);

  display: inline-flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  z-index: 2;

  box-shadow:
    0 4px 12px rgba(0,0,0,.08),
    0 1px 2px rgba(0,0,0,.06);

  transition: all .2s ease;
}

.qb-close:hover{
  background: #fff;
  transform: scale(1.08);
  box-shadow:
    0 8px 20px rgba(0,0,0,.12),
    0 2px 4px rgba(0,0,0,.08);
}

.qb-close:active{
  transform: scale(.96);
}

.qb-close svg{
  width: 1.25rem;
  height: 1.25rem;
  stroke: #0f172a;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .2s ease;
}

.qb-close:hover svg{
  stroke: #000;
}

/* GRID */
.qb-grid{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 2rem;
}

/* IMAGE */
.qb-media img{
  width: 100%;
  border-radius: 24px;
  object-fit: cover;
}

/* INFO */
.qb-info h3{
  font-size: 1.9rem;
  font-weight: 800;
  margin-bottom: .6rem;
}

.qb-info p{
  color: #475569;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.qb-price{
  font-size: 2rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

/* QTY */
.qb-quantity{
  margin-bottom: 1.5rem;
}

.qb-qty-label{
  display:block;
  margin-bottom:.5rem;
  color:#64748b;
  font-weight:600;
}

.qb-qty-controls{
  display:flex;
  align-items:center;
  gap:1rem;
}

.qty-btn{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  font-size:22px;
  cursor:pointer;
}

.qty-value{
  font-size:1.3rem;
  font-weight:600;
  min-width:24px;
  text-align:center;
}

/* BUTTON */

.qb-add{
  position:relative;
  width:100%;
  height:3.5rem;
  border-radius:1.25rem;
  border:none;

  background:linear-gradient(135deg,#4f46e5,#7c3aed,#9333ea);
  color:#fff;

  font-size:1rem;
  font-weight:600;
  letter-spacing:.01em;

  cursor:pointer;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;

  box-shadow:
    0 10px 25px rgba(79,70,229,.35),
    0 4px 10px rgba(0,0,0,.15);

  overflow:hidden;

  transition:
    transform .25s ease,
    box-shadow .25s ease,
    filter .25s ease;
}

/* hover */

.qb-add:hover{
  transform:translateY(-3px);

  box-shadow:
    0 14px 34px rgba(79,70,229,.45),
    0 6px 14px rgba(0,0,0,.18);
}

/* active */

.qb-add:active{
  transform:translateY(-1px) scale(.97);
}

/* shine effect */

.qb-add::before{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    120deg,
    transparent 20%,
    rgba(255,255,255,.35),
    transparent 80%
  );

  opacity:0;
  transition:opacity .4s ease;
}

.qb-add:hover::before{
  opacity:.4;
}

/* icon */

.qb-cart-icon{
  width:1.25rem;
  height:1.25rem;

  stroke:#fff;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;

  transition:transform .25s ease;
}

.qb-add:hover .qb-cart-icon{
  transform:translateX(2px);
}




/* === Features Section === */
.features {
  padding: 6rem 1rem;
}
.features h2{
  font-size: 2.75rem;
  margin-bottom: 1rem;
}

.section-header p{
  font-size: 1.125rem;
  color: #6b7280;
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

.features .section-header {
  text-align: center;
  max-width: 800px;
  margin: 0 auto 3rem auto;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(420px, 600px));
  justify-content: center; /* 🔥 важливо */
  gap: 2rem;
}


@media (max-width: 768px) {
  .features-grid {
    grid-template-columns: 1fr;
  }
}


.feature-card {
  background: linear-gradient(to bottom right, #f9fafb, #fff);
  border-radius: 1rem;
  padding: 2.3rem;
  border: 1px solid #e5e7eb;
  transition: all 0.3s;
}

.feature-card:hover {
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.feature-icon {
  width: 4rem;
  height: 4rem;
  background: linear-gradient(to right, #6366f1, #8b5cf6);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  color: white;
  transition: transform 0.3s;
}

.feature-card:hover .feature-icon {
  transform: scale(1.1);
}

.feature-card h3 {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.feature-card p {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.6;
}

/* === Featured Collections Section === */
.featured-collections {
  padding: 6rem 0;
  background: #f9fafb;
}

.featured-collections .container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
  text-align: center;
}

.featured-collections .fc-badge {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  background: white;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #4f46e5;
  margin-bottom: 1rem;
}

.featured-collections h2 {
  font-size: 2.75rem;
  margin: 1rem 0;
  color: #111827;
}

.featured-collections .fc-subtitle {
  font-size: 1.125rem;
  color: #6b7280;
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

/* grid of categories */
.categories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.25rem;

  margin-bottom: 3rem;
}

.category-card {
  transition: box-shadow 0.3s, transform 0.3s;
  cursor: pointer;
}

.category-card:hover {
  cursor: pointer;
}

.category-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  display: inline-block;
}

.category-icon img {
  transition: transform 0.3s ease, filter 0.3s ease;
}

.category-card:hover .category-icon img {
  transform: scale(1.1);
  filter: brightness(1.05) contrast(1.05);
}





/* CTA below grid */
.fc-cta {
  text-align: center;
}

.fc-cta .btn-primary {
  padding: 1rem 2rem;
  background: linear-gradient(90deg, #6366f1, #8b5cf6);
  color: white;
  border-radius: 1rem;
  font-weight: 500;
  text-decoration: none;

  display: inline-flex;
  align-items: center;
  gap: 12px;

  transition: transform 0.25s ease, box-shadow 0.3s ease;
}

.fc-cta .btn-primary::after {
  content: "";
  width: 18px;
  height: 18px;
  background: url("../assets/icons/right-arrow-btn-primary.png") no-repeat center / contain;
  transition: transform 0.25s ease;
}

.fc-cta .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(99,102,241,0.45);
}

.fc-cta .btn-primary:hover::after {
  transform: translateX(6px);
}


/* ===== Special Offers (Banners) ===== */
.offers{
  padding: 5rem 0;
  background: linear-gradient(180deg, #0f172a 0%, #0b1220 100%);
  color: #e5e7eb;
  position: relative;
  overflow: hidden;
}

/* subtle noise/dots */
.offers::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.08;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.35) 1px, transparent 0);
  background-size: 20px 20px;
}

.offers__container{
  max-width: 92rem;
  margin: 0 auto;
  padding: 0 1.75rem;
  position: relative;
  z-index: 1;
}

.offers__head{
  text-align: center;
  max-width: 56rem;
  margin: 0 auto 2.5rem;
}

.offers__badge{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding: .55rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.88);
  font-weight: 650;
  letter-spacing: .01em;
}

.offers__badge svg{
  width: 1.05rem;
  height: 1.05rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .95;
}

.offers__title{
  margin: 1rem 0 .75rem;
  font-size: 3rem;
  letter-spacing: -0.04em;
  line-height: 1.05;
  font-weight: 900;
  color: #fff;
}

.offers__subtitle{
  margin: 0 auto;
  max-width: 48rem;
  font-size: 1.1rem;
  line-height: 1.75;
  color: rgba(226,232,240,.86);
}

/* Grid: 2 small + 1 big */
.offers__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

/* ===== shared hover (premium) ===== */
.offerCard,
.offerHero{
  border-radius: 1.5rem;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  box-shadow: 0 10px 28px rgba(0,0,0,.25);
  overflow: hidden;
  position: relative;
  transform: translateY(0);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.offerCard:hover,
.offerHero:hover{
  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(0,0,0,.38);
  border-color: rgba(255,255,255,.16);
}

/* ===== Small cards ===== */
.offerCard{
  padding: 1.6rem 1.6rem 1.4rem;
  min-height: 15.5rem;
}

.offerCard__top{
  display:flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}

.offerCard__tag{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding: .4rem .75rem;
  border-radius: 999px;
  background: rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.10);
  font-weight: 700;
  font-size: .9rem;
  color: rgba(255,255,255,.92);
}

.offerCard__h{
  margin: 0 0 .55rem;
  font-size: 1.6rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
  font-weight: 850;
  color: #fff;
}

.offerCard__p{
  margin: 0 0 1.2rem;
  color: rgba(226,232,240,.88);
  line-height: 1.6;
  font-size: 1.02rem;
}

.offerCard__code{
  font-weight: 900;
  letter-spacing: .08em;
  padding: .15rem .45rem;
  border-radius: .55rem;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
}

/* Decorative background layer */
.offerCard__bg{
  position:absolute;
  inset:-60px;
  opacity:.9;
  filter: blur(0);
  pointer-events:none;
}

/* Blue card theme */
.offerCard.offerCard--blue{
  position: relative;
  overflow: hidden;
  border-radius: 1.75rem;

  background:
    radial-gradient(900px 520px at 15% 0%, rgba(96,165,250,.18), transparent 60%),
    radial-gradient(760px 520px at 70% 40%, rgba(99,102,241,.15), transparent 65%),
    linear-gradient(135deg, #0b1220 0%, #111a2e 55%, #0b1220 100%);

  border: 1px solid rgba(96,165,250,.25);

  box-shadow:
    0 26px 64px rgba(0,0,0,.45),
    0 0 60px rgba(59,130,246,.10),
    0 1px 0 rgba(255,255,255,.05) inset;
}

/* тепліший glow фон */
.offerCard--blue .offerCard__bg{
  background:
    radial-gradient(600px 240px at 15% 20%, rgba(59,130,246,.25), transparent 60%),
    radial-gradient(520px 240px at 80% 40%, rgba(99,102,241,.22), transparent 60%),
    radial-gradient(520px 280px at 50% 100%, rgba(14,165,233,.18), transparent 60%);
}


/* ===== Gift icon (filled version, bigger & stable) ===== */



/* ===== Big banner (Quiz) ===== */
.offerHero{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  min-height: 19rem;
  align-items: stretch;
}

.offerHero__content{
  padding: 2rem;
}

.offerHero__tag{
  display:inline-flex;
  padding: .45rem .8rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.9);
  font-weight: 700;
  font-size: .92rem;
}

.offerHero__h{
  margin: 1rem 0 .7rem;
  font-size: 2.4rem;
  line-height: 1.05;
  letter-spacing: -0.04em;
  font-weight: 900;
  color: #fff;
}

.offerHero__p{
  margin: 0 0 1.4rem;
  max-width: 42rem;
  color: rgba(226,232,240,.90);
  line-height: 1.75;
  font-size: 1.06rem;
}

.offerHero__actions{
  display:flex;
  flex-wrap: wrap;
  gap: .8rem;
  align-items: center;
}

/* Right art side */
.offerHero__art{
  position: relative;
  overflow: hidden;
}

.offerHero--quiz{
  background:
    radial-gradient(900px 400px at 15% 20%, rgba(99,102,241,.30), transparent 60%),
    radial-gradient(720px 340px at 70% 35%, rgba(168,85,247,.26), transparent 60%),
    radial-gradient(720px 340px at 55% 110%, rgba(59,130,246,.18), transparent 60%),
    rgba(255,255,255,.05);
}

/* pattern grid */
.offerHero__art .artGrid{
  position:absolute;
  inset:0;
  opacity:.22;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 32px 32px;
  transform: translateX(10px) translateY(6px);
}

/* soft blob */
.offerHero__art .artGlow{
  position:absolute;
  width: 28rem;
  height: 28rem;
  border-radius: 999px;
  top: -10rem;
  right: -10rem;
  background: radial-gradient(circle, rgba(168,85,247,.30), transparent 60%);
  filter: blur(2px);
  opacity: .9;
}

/* ===== Buttons ===== */
.offerBtn{
  height: 3.1rem;
  padding: 0 1.1rem;
  border-radius: 1rem;
  border: none;
  cursor: pointer;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;

  text-decoration:none;
  font-weight: 750;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  user-select:none;
}

.offerBtn svg{
  width: 1.15rem;
  height: 1.15rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* ======================================
   WELCOME BUTTON (blue neon cinematic)
   Scoped to .offerCard--blue
   ====================================== */

.offerCard--blue .offerBtn--light{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;

  height: 3.2rem;
  padding: 0 1.4rem;

  border-radius: 999px;
  border: 1px solid rgba(96,165,250,.35);

  background: rgba(11,18,32,.82);
  color: #fff;

  backdrop-filter: blur(10px);

  font-weight: 650;
  letter-spacing: .01em;

  box-shadow:
    0 14px 32px rgba(0,0,0,.40),
    0 0 0 rgba(59,130,246,0);

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease,
    background .22s ease;

  overflow: hidden;
}

/* subtle neon sweep */
.offerCard--blue .offerBtn--light::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  background: linear-gradient(
    120deg,
    rgba(59,130,246,0) 0%,
    rgba(96,165,250,.18) 35%,
    rgba(99,102,241,.22) 55%,
    rgba(59,130,246,.16) 75%,
    rgba(59,130,246,0) 100%
  );
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}

/* hover */
.offerCard--blue .offerBtn--light:hover{
  transform: translateY(-2px);
  border-color: rgba(96,165,250,.65);
  background: rgba(11,18,32,.95);

  box-shadow:
    0 20px 42px rgba(0,0,0,.55),
    0 0 32px rgba(59,130,246,.25),
    0 0 80px rgba(59,130,246,.12);
}

.offerCard--blue .offerBtn--light:hover::after{
  opacity: 1;
}

/* active */
.offerCard--blue .offerBtn--light:active{
  transform: translateY(0);
}

/* focus */
.offerCard--blue .offerBtn--light:focus-visible{
  outline: none;
  box-shadow:
    0 20px 42px rgba(0,0,0,.55),
    0 0 0 4px rgba(59,130,246,.18),
    0 0 34px rgba(96,165,250,.18);
}

.offerBtn--dark{
  background: #fff;
  color: #0b1220;
  box-shadow: 0 16px 30px rgba(0,0,0,.25);
}

.offerBtn--dark:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 40px rgba(0,0,0,.32);
}

.offerBtn--ghost{
  background: transparent;
  color: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.16);
}

.offerBtn--ghost:hover{
  background: rgba(255,255,255,.06);
  transform: translateY(-2px);
}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .offers__title{ font-size: 2.4rem; }
  .offerHero{ grid-template-columns: 1fr; }
  .offerHero__art{ min-height: 12rem; }
}

@media (max-width: 760px){
  .offers{ padding: 4rem 0; }
  .offers__grid{ grid-template-columns: 1fr; }
  .offerCard{ min-height: auto; }
  .offers__title{ font-size: 2.05rem; }
}



/* === Geek Family CTA (Home only) === */
.geek-family {
  padding: 6rem 1rem;
  background: #111827; /* dark gray */
  position: relative;
  overflow: hidden;
}



.geek-family-inner {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  color: white;
}

.geek-family-badge {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  border-radius: 9999px;
  background: rgba(255,255,255,0.12);
  backdrop-filter: blur(6px);
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

.geek-family h2 {
  font-size: 3rem;
  margin-bottom: 1.5rem;
  line-height: 1.1;
}

.geek-family p {
  font-size: 1.25rem;
  color: rgba(255,255,255,0.85);
  margin-bottom: 3rem;
  line-height: 1.7;
}

.geek-family small {
  color: rgba(255,255,255,0.85);
}

.geek-family-actions {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}

.subscribe {
  display:flex;
  gap:10px;
  justify-content:center;
  margin:20px 0;
}
.subscribe input {
  padding:14px;
  border-radius:12px;
  border:none;
  width:260px;
}
.subscribe button {
  padding: 14px 30px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(90deg, #6366f1, #8b5cf6);
  color: white;
  cursor: pointer;
  font-weight: 500;

  transition: box-shadow 0.3s, transform 0.2s;
}

.subscribe button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(99,102,241,0.4);
}


#toast-container {
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.toast {
  background: #f8f7ff;
  color: #111827;
  padding: 1rem 1.5rem;
  border-radius: 1rem;
  min-width: 280px;

  box-shadow:
    0 1.5rem 3rem rgba(0,0,0,0.15),
    0 0 0 1px rgba(0,0,0,0.05);

  opacity: 0;
  transform: translateX(120%);
  transition: all 0.35s cubic-bezier(.4,0,.2,1);
  font-size: 0.95rem;
}

/* плавна поява */
.toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* SUCCESS */
.toast.success {
  border-left: 4px solid #7c3aed;
}

/* ERROR */
.toast.error {
  border-left: 4px solid #ef4444;
}


/* layout for cart toast (icon + text + link) */
.toast__row{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.toast__icon{
  width: 1.75rem;
  height: 1.75rem;
  border-radius: .6rem;
  background: rgba(124,58,237,0.10);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}

.toast__icon svg{
  width: 1rem;
  height: 1rem;
  stroke: #7c3aed;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.toast__text{
  font-weight: 600;
  line-height: 1.35;
}

.toast__link{
  margin-left: auto;
  font-weight: 700;
  color: #7c3aed;
  text-decoration: none;
  white-space: nowrap;
}

.toast__link:hover{
  text-decoration: underline;
}