/* ==========================================================
   TeeStyle — [teestyle_home] homepage sections
   Reuses --ts-* variables + .ts-card/.ts-grid from shortcodes.css
   ========================================================== */

.ts-home-hero, .ts-home-features, .ts-home-collection, .ts-home-promo, .ts-home-testimonials{
  --ts-ink:#14161a;
  --ts-gold:#E8A33D;
  --ts-gold-dark:#C98A2E;
  --ts-muted:#767676;
  --ts-line:#ECECEC;
  --ts-bg-soft:#F7F7F5;
  font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  box-sizing:border-box;
}
.ts-home-hero *, .ts-home-features *, .ts-home-collection *, .ts-home-promo *, .ts-home-testimonials *{ box-sizing:border-box; }

.ts-home-eyebrow{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ts-gold-dark); margin-bottom:8px; }
.ts-home-eyebrow--light{ color:var(--ts-gold); }

.ts-home-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:50px; padding:0 26px; border-radius:8px;
  font-size:13.5px; font-weight:800; text-transform:uppercase; letter-spacing:.03em;
  text-decoration:none; cursor:pointer; border:1px solid transparent;
}
.ts-home-btn--gold{ background:var(--ts-gold); color:var(--ts-ink); border-color:var(--ts-gold); }
.ts-home-btn--gold:hover{ background:var(--ts-gold-dark); border-color:var(--ts-gold-dark); color:var(--ts-ink); }
.ts-home-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.ts-home-btn--ghost:hover{ border-color:#fff; }
.ts-home-btn--dark{ background:var(--ts-ink); color:#fff; border-color:var(--ts-ink); }
.ts-home-btn--dark:hover{ background:#000; }

/* ===== HERO ===== */
.ts-home-hero{ background:var(--ts-ink); padding:60px 5vw; }
.ts-home-hero__inner{
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;
}
.ts-home-hero__badge{
  display:inline-block; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  color:var(--ts-gold); margin-bottom:16px;
}
.ts-home-hero__text h1{
  font-size:52px; font-weight:900; line-height:1.05; color:#fff; margin:0 0 18px; letter-spacing:-0.01em;
}
.ts-home-hero__text h1 span{ color:var(--ts-gold); display:block; }
.ts-home-hero__subtitle{ font-size:15px; line-height:1.6; color:#c9c9c9; max-width:420px; margin:0 0 26px; }
.ts-home-hero__offer{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid rgba(232,163,61,.5); border-radius:8px; padding:12px 20px;
  color:var(--ts-gold); font-size:14px; font-weight:700; margin:0 0 22px;
}

.ts-cart-icon svg {
    margin: 8px 11px 11px 8px !important;
}

.ts-home-hero__cta{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin:0 0 30px; }
.ts-home-hero__trust{ display:flex; flex-wrap:wrap; gap:24px; }
.ts-home-hero__trust span{ display:flex; align-items:center; gap:8px; font-size:12px; color:#c9c9c9; }
.ts-home-hero__trust svg{ color:var(--ts-gold); flex-shrink:0; }

.ts-home-hero__visual{ position:relative; }
.ts-home-hero__image{ width:100%; border-radius:16px; display:block; object-fit:cover; }
.ts-home-hero__visual--empty{
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:1/1; border-radius:16px;
  background:linear-gradient(135deg, #1f2127, #101114);
  border:1px dashed rgba(232,163,61,.35);
}
.ts-home-hero__placeholder{ color:rgba(232,163,61,.45); }

@media (max-width: 900px){
  .ts-home-hero__inner{ grid-template-columns:1fr; }
  .ts-home-hero__text h1{ font-size:38px; }
}

/* ===== FEATURES STRIP ===== */
.ts-home-features{ background:#fff; padding:34px 5vw; border-bottom:1px solid var(--ts-line); }
.ts-home-features__inner{
  max-width:1280px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;
}
.ts-home-feature{ display:flex; align-items:center; gap:12px; }
.ts-home-feature svg{ color:var(--ts-ink); flex-shrink:0; }
.ts-home-feature strong{ display:block; font-size:13px; font-weight:700; color:var(--ts-ink); }
.ts-home-feature span{ display:block; font-size:11.5px; color:var(--ts-muted); margin-top:2px; }
@media (max-width: 760px){
  .ts-home-features__inner{ grid-template-columns:repeat(2, 1fr); }
}

/* ===== COLLECTION ===== */
.ts-home-collection{ background:#fdfcfa; padding:64px 5vw; }
.ts-home-collection__inner{ max-width:1280px; margin:0 auto; }
.ts-home-collection__head{ text-align:center; max-width:560px; margin:0 auto 30px; }
.ts-home-collection__head h2{ font-size:30px; font-weight:800; color:var(--ts-ink); margin:0 0 12px; }
.ts-home-collection__head p{ font-size:14px; color:var(--ts-muted); margin:0; }

/* Category tabs — continuous marquee strip, pauses on hover.
   Clicking still works normally; JS keeps both looped copies of a
   given category in sync so either copy shows the active state. */
.ts-home-tabs-wrap{ margin:0 0 34px; }
.ts-home-tabs{
  position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.ts-home-tabs__track{
  display:flex; gap:10px; width:max-content;
  animation:ts-marquee-scroll 22s linear infinite;
}
.ts-home-tabs:hover .ts-home-tabs__track{ animation-play-state:paused; }

.ts-home-tab{
  flex:0 0 auto;
  border:1px solid var(--ts-line); background:#fff; color:var(--ts-ink);
  font-size:12.5px; font-weight:600; padding:10px 20px; border-radius:24px; cursor:pointer;
  white-space:nowrap;
}
.ts-home-tab:hover{ border-color:var(--ts-ink); }
.ts-home-tab.is-active{ background:var(--ts-ink); border-color:var(--ts-ink); color:#fff; }

@keyframes ts-marquee-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .ts-home-tabs__track{ animation:none; overflow-x:auto; }
}

.ts-home-panel{ margin:0 0 34px; }
.ts-home-panel[hidden]{ display:none !important; }
.ts-home-collection__more{ text-align:center; }

/* ===== PROMO ===== */
.ts-home-promo{ background:var(--ts-ink); padding:56px 5vw; }
.ts-home-promo__inner{
  max-width:1280px; margin:0 auto;
  display:flex; flex-wrap:wrap; align-items:center; gap:36px; justify-content:space-between;
}
.ts-home-promo__text{ flex:1 1 280px; }
.ts-home-promo__text h2{ font-size:30px; font-weight:800; color:#fff; margin:0 0 10px; }
.ts-home-promo__text h2 span{ color:var(--ts-gold); }
.ts-home-promo__text p{ font-size:13.5px; color:#c9c9c9; margin:0; max-width:360px; }
.ts-home-promo__tiers{ display:flex; gap:16px; flex-wrap:wrap; }
.ts-home-promo__tier{
  border:1px dashed rgba(232,163,61,.4); border-radius:10px; padding:16px 20px;
  display:flex; flex-direction:column; align-items:center; gap:6px; min-width:110px;
}
.ts-home-promo__tier svg{ color:var(--ts-gold); }
.ts-home-promo__tier strong{ font-size:11px; color:#fff; text-transform:uppercase; letter-spacing:.03em; }
.ts-home-promo__tier span{ font-size:14px; font-weight:800; color:var(--ts-gold); }

/* ===== TESTIMONIALS ===== */
.ts-home-testimonials{ background:#fff; padding:64px 5vw; }
.ts-home-testimonials__inner{ max-width:1280px; margin:0 auto; text-align:center; }
.ts-home-testimonials__inner > h2{ font-size:30px; font-weight:800; color:var(--ts-ink); margin:0 0 34px; }
.ts-home-testimonials__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; text-align:left; }
.ts-home-testimonial{
  border:1px solid var(--ts-line); border-radius:14px; padding:24px;
  background:var(--ts-bg-soft);
}
.ts-home-testimonial__quote{ font-size:34px; color:var(--ts-gold); line-height:1; display:block; margin-bottom:8px; font-family:Georgia,serif; }
.ts-home-testimonial p{ font-size:13.5px; color:var(--ts-ink); line-height:1.6; margin:0 0 18px; }
.ts-home-testimonial__footer{ display:flex; align-items:center; gap:12px; }
.ts-home-testimonial__avatar{
  width:38px; height:38px; border-radius:50%; background:var(--ts-ink); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0;
}
.ts-home-testimonial__footer strong{ display:block; font-size:13px; color:var(--ts-ink); }
.ts-home-testimonial__stars{ display:block; font-size:11px; color:var(--ts-gold); letter-spacing:1px; }

@media (max-width: 860px){
  .ts-home-testimonials__grid{ grid-template-columns:1fr; }
}
