/* ============================================================================
   Tools Tribe — Homepage / storefront redesign design system
   Warm-editorial industrial look. Brand red kept as OUR #b62520 (design used #E4002B).
   Namespaced .tth-* under a .tt-home scope so it never collides with existing tt-* classes.
   ============================================================================ */

:root {
  /* ---- palette: warm neutrals + our brand red ---- */
  --tth-red:        #b62520;   /* our brand red (design used #E4002B) */
  --tth-red-hov:    #9d1b1a;
  --tth-red-ink:    #7d1512;
  --tth-red-tint:   #f6e7e6;   /* faint red wash */
  --tth-red-soft:   #ffd9dd;

  --tth-ink:        #141210;   /* near-black, warm */
  --tth-ink-2:      #1f1c19;   /* dark panels */
  --tth-ink-3:      #3a3733;

  --tth-paper:      #efeee9;   /* warm page background */
  --tth-paper-2:    #e6e4de;   /* warm surface / stone */
  --tth-surface:    #ffffff;   /* cards */
  --tth-surface-2:  #faf9f7;   /* subtle inset */

  --tth-line:       #e6e4de;   /* warm hairline border */
  --tth-line-2:     #d6d3ce;   /* stronger divider */

  --tth-text:       #1e1b18;
  --tth-muted:      #6a655e;   /* secondary text */
  --tth-muted-2:    #8a877f;   /* tertiary / meta */
  --tth-muted-3:    #a5a29a;   /* faint */

  /* ---- type ---- */
  /* One font across the whole site: Public Sans. Display/mono kept as aliases so every existing
     tth-* class + the header/footer chrome resolve to the same family (no Archivo / IBM Plex Mono). */
  --tth-font-display: 'Public Sans', system-ui, -apple-system, sans-serif;
  --tth-font-mono:    'Public Sans', system-ui, -apple-system, sans-serif;
  --tth-font-body:    'Public Sans', system-ui, -apple-system, sans-serif;

  /* ---- radii / spacing / motion ---- */
  --tth-r-xs: 4px;
  --tth-r-sm: 6px;
  --tth-r:    10px;
  --tth-r-lg: 16px;
  --tth-r-xl: 22px;
  --tth-maxw: 1280px;
  --tth-ease: cubic-bezier(0.23, 1, 0.32, 1);
}

/* ============================================================================
   Base — scoped to the redesigned homepage body
   ============================================================================ */
body.tt-home {
  background: var(--tth-paper);
  color: var(--tth-text);
  font-family: var(--tth-font-body);
  -webkit-font-smoothing: antialiased;
}

/* Content column mirrors the site header's Bootstrap `.container` (responsive max-widths + 15px
   gutters) so every redesign band lines up exactly with the logo (left) and the cart (right). */
.tt-home .tth-wrap {
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-inline: 15px;
}
@media (min-width: 576px)  { .tt-home .tth-wrap { max-width: 540px; } }
@media (min-width: 768px)  { .tt-home .tth-wrap { max-width: 720px; } }
@media (min-width: 992px)  { .tt-home .tth-wrap { max-width: 960px; } }
@media (min-width: 1200px) { .tt-home .tth-wrap { max-width: 1140px; } }
@media (min-width: 1400px) { .tt-home .tth-wrap { max-width: 1400px; } }  /* theme's custom xxl container */

/* ---- typography primitives ---- */
.tt-home .tth-display {
  font-family: var(--tth-font-display);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.02;
  color: var(--tth-ink);
  text-wrap: balance;
}
.tt-home .tth-eyebrow {
  font-family: var(--tth-font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--tth-muted-2);
}
.tt-home .tth-mono { font-family: var(--tth-font-mono); }

/* section header row: big title + right-side link */
.tt-home .tth-sec-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.tt-home .tth-sec-title {
  font-family: var(--tth-font-display);
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.05;
  color: var(--tth-ink);
  margin: 0;
}
.tt-home .tth-sec-sub { color: var(--tth-muted); font-size: 13px; margin-top: 4px; }
.tt-home .tth-sec-link {
  font-family: var(--tth-font-mono);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--tth-red);
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s var(--tth-ease);
}
.tt-home .tth-sec-link:hover { color: var(--tth-red-hov); text-decoration: none; }

.tt-home .tth-section { margin-block: clamp(28px, 4vw, 52px); }

/* ---- buttons ---- */
.tt-home .tth-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--tth-font-body);
  font-weight: 700; font-size: 14px; line-height: 1;
  padding: 13px 22px; border-radius: var(--tth-r-sm);
  border: 1.5px solid transparent; cursor: pointer;
  text-decoration: none; transition: transform .12s var(--tth-ease), background .15s, color .15s, border-color .15s;
}
.tt-home .tth-btn:active { transform: scale(0.975); }
.tt-home .tth-btn--red { background: var(--tth-red); color: #fff; }
.tt-home .tth-btn--red:hover { background: var(--tth-red-hov); color: #fff; text-decoration: none; }
.tt-home .tth-btn--ink { background: var(--tth-ink); color: #fff; }
.tt-home .tth-btn--ink:hover { background: #000; color: #fff; text-decoration: none; }
.tt-home .tth-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.tt-home .tth-btn--ghost:hover { border-color: #fff; color: #fff; text-decoration: none; }
.tt-home .tth-btn--outline { background: #fff; color: var(--tth-ink); border-color: var(--tth-line-2); }
.tt-home .tth-btn--outline:hover { border-color: var(--tth-ink); color: var(--tth-ink); text-decoration: none; }

/* ---- small chips / pills ---- */
.tt-home .tth-pill {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--tth-font-mono); font-size: 11px; font-weight: 600;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 6px 10px; border-radius: 999px;
}
.tt-home .tth-pill--red { background: var(--tth-red); color: #fff; }
.tt-home .tth-pill--tint { background: var(--tth-red-tint); color: var(--tth-red-ink); }
.tt-home .tth-pill--ink { background: var(--tth-ink); color: #fff; }
.tt-home .tth-pill--line { background: #fff; color: var(--tth-ink); border: 1px solid var(--tth-line-2); }

/* generic card */
.tt-home .tth-card {
  background: var(--tth-surface);
  border: 1px solid var(--tth-line);
  border-radius: var(--tth-r-lg);
}

@media (prefers-reduced-motion: reduce) {
  .tt-home * { transition: none !important; }
}

/* ============================================================================
   HERO
   ============================================================================ */
.tt-home .tth-hero-section { margin-top: 18px; }
.tt-home .tth-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 16px;
  align-items: stretch;
}
.tt-home .tth-hero-main {
  position: relative; overflow: hidden;
  background: var(--tth-ink-2);
  background-image:
    repeating-linear-gradient(135deg, rgba(255,255,255,.028) 0 2px, transparent 2px 14px);
  border-radius: var(--tth-r-lg);
  padding: clamp(28px, 4vw, 52px);
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  min-height: 408px;
}
.tt-home .tth-hero-title {
  font-family: var(--tth-font-display);
  font-weight: 800; letter-spacing: -0.025em; line-height: 1.0;
  font-size: clamp(34px, 5vw, 62px);
  color: #fff; margin: 18px 0 0; text-wrap: balance;
}
.tt-home .tth-hero-sub {
  color: #c9c6c0; font-size: clamp(14px, 1.3vw, 16.5px); line-height: 1.5;
  max-width: 30em; margin: 18px 0 0;
}
.tt-home .tth-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* side rail */
.tt-home .tth-hero-side { display: flex; flex-direction: column; gap: 16px; }
.tt-home .tth-flash-card {
  flex: 1 1 auto; display: flex; flex-direction: column; align-items: flex-start;
  background: var(--tth-red); color: #fff; border-radius: var(--tth-r-lg);
  padding: 24px; text-decoration: none; min-height: 190px; justify-content: center;
  transition: transform .15s var(--tth-ease), background .15s;
}
.tt-home .tth-flash-card:hover { background: var(--tth-red-hov); color: #fff; text-decoration: none; transform: translateY(-2px); }
.tt-home .tth-flash-eyebrow { color: rgba(255,255,255,.82) !important; }
.tt-home .tth-flash-big {
  font-family: var(--tth-font-display); font-weight: 800; letter-spacing: -0.02em;
  font-size: clamp(30px, 3.4vw, 40px); line-height: 1.0; margin: 10px 0 6px;
}
.tt-home .tth-flash-meta { font-size: 13px; color: rgba(255,255,255,.85); }
.tt-home .tth-flash-btn {
  margin-top: 16px; display: inline-flex; align-items: center; gap: 6px;
  background: #fff; color: var(--tth-red); font-weight: 700; font-size: 13px;
  padding: 9px 16px; border-radius: var(--tth-r-sm);
}
.tt-home .tth-coupon-card {
  background: var(--tth-surface); border: 1px solid var(--tth-line);
  border-radius: var(--tth-r-lg); padding: 20px 22px;
}
.tt-home .tth-coupon-title { font-weight: 700; font-size: 16px; color: var(--tth-ink); }
.tt-home .tth-coupon-amt { color: var(--tth-red); }
.tt-home .tth-coupon-sub { font-size: 12.5px; color: var(--tth-muted); margin: 4px 0 12px; }
.tt-home .tth-coupon-code {
  font-family: var(--tth-font-mono); font-weight: 600; font-size: 15px; letter-spacing: .12em;
  color: var(--tth-red); text-align: center; padding: 11px;
  border: 1.5px dashed var(--tth-red); border-radius: var(--tth-r-sm); background: var(--tth-red-tint);
}

/* ============================================================================
   TRUST STRIP
   ============================================================================ */
.tt-home .tth-trust-section {
  border-top: 1px solid var(--tth-line); border-bottom: 1px solid var(--tth-line);
  background: var(--tth-surface); margin-top: 22px;
}
.tt-home .tth-trust-grid {
  display: grid; grid-template-columns: repeat(5, 1fr);
}
.tt-home .tth-trust-item {
  display: flex; flex-direction: column; gap: 3px;
  padding: 20px 24px; border-left: 1px solid var(--tth-line);
}
.tt-home .tth-trust-item:first-child { border-left: 0; }
.tt-home .tth-trust-num {
  font-family: var(--tth-font-mono); font-weight: 600; font-size: 12px;
  color: var(--tth-red); letter-spacing: .05em;
}
.tt-home .tth-trust-t { font-weight: 700; font-size: 15px; color: var(--tth-ink); }
.tt-home .tth-trust-d { font-size: 12.5px; color: var(--tth-muted-2); }

/* ============================================================================
   SHOP BY CATEGORY
   ============================================================================ */
.tt-home .tth-cat-grid {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px;
}
.tt-home .tth-cat-tile {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  background: var(--tth-surface); border: 1px solid var(--tth-line);
  border-radius: var(--tth-r); padding: 18px 16px; text-decoration: none;
  transition: border-color .15s, transform .15s var(--tth-ease), box-shadow .15s;
}
.tt-home .tth-cat-tile:hover {
  border-color: var(--tth-line-2); transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(20,18,16,.06); text-decoration: none;
}
.tt-home .tth-cat-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: var(--tth-r-sm);
  background: var(--tth-red-tint); color: var(--tth-red); font-size: 24px;
}
.tt-home .tth-cat-eyebrow {
  font-family: var(--tth-font-mono); font-size: 10px; font-weight: 500;
  letter-spacing: .12em; color: var(--tth-muted-3); margin-top: 4px;
}
.tt-home .tth-cat-name { font-weight: 700; font-size: 14.5px; color: var(--tth-ink); line-height: 1.2; }
.tt-home .tth-cat-tile--all {
  background: var(--tth-ink); border-color: var(--tth-ink);
  align-items: flex-start; justify-content: center;
}
.tt-home .tth-cat-tile--all .tth-cat-all-num {
  font-family: var(--tth-font-display); font-weight: 800; font-size: 30px; color: var(--tth-red-soft);
  line-height: 1;
}
.tt-home .tth-cat-tile--all .tth-cat-name { color: #fff; margin-top: 6px; }

/* ============================================================================
   RESPONSIVE
   ============================================================================ */
@media (max-width: 991.98px) {
  .tt-home .tth-hero-grid { grid-template-columns: 1fr; }
  .tt-home .tth-hero-side { flex-direction: row; }
  .tt-home .tth-flash-card, .tt-home .tth-coupon-card { flex: 1 1 0; }
  .tt-home .tth-trust-grid { grid-template-columns: repeat(3, 1fr); }
  .tt-home .tth-trust-item:nth-child(3n+1) { border-left: 0; }
  .tt-home .tth-cat-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
  .tt-home .tth-hero-side { flex-direction: column; }
  .tt-home .tth-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .tt-home .tth-trust-item:nth-child(2n+1) { border-left: 0; }
  .tt-home .tth-trust-item:nth-child(odd) { border-left: 0; }
  .tt-home .tth-cat-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================================
   PRODUCT SECTIONS — deals / bestsellers / category rails
   ============================================================================ */
/* product row (responsive grid of cards) */
.tt-home .tth-prow {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px;
}
/* product card */
.tt-home .tth-pcard {
  display: flex; flex-direction: column;
  background: var(--tth-surface); border: 1px solid var(--tth-line);
  border-radius: var(--tth-r); overflow: hidden;
  transition: border-color .15s, transform .15s var(--tth-ease), box-shadow .15s;
}
.tt-home .tth-pcard:hover {
  border-color: var(--tth-line-2); transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(20,18,16,.08);
}
.tt-home .tth-pcard-media {
  position: relative; display: block; aspect-ratio: 1 / 1;
  background: var(--tth-surface-2); border-bottom: 1px solid var(--tth-line);
  overflow: hidden;
}
.tt-home .tth-pcard-media img {
  width: 100%; height: 100%; object-fit: contain; padding: 12px;
  transition: transform .3s var(--tth-ease);
}
.tt-home .tth-pcard:hover .tth-pcard-media img { transform: scale(1.05); }
.tt-home .tth-pcard-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  font-family: var(--tth-font-mono); font-size: 11px; font-weight: 700;
  padding: 4px 8px; border-radius: var(--tth-r-xs); background: var(--tth-red); color: #fff;
}
.tt-home .tth-pcard-badge--best { background: var(--tth-ink); color: var(--tth-red-soft); letter-spacing: .04em; }
.tt-home .tth-pcard-body { padding: 12px 13px 0; display: flex; flex-direction: column; flex: 1 1 auto; }
.tt-home .tth-pcard-brand {
  font-family: var(--tth-font-mono); font-size: 10.5px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--tth-muted-2);
}
.tt-home .tth-pcard-name {
  font-weight: 600; font-size: 13.5px; line-height: 1.32; color: var(--tth-ink);
  margin: 4px 0 8px; min-height: 2.64em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.tt-home .tth-pcard-rating {
  display: flex; align-items: center; gap: 5px; font-size: 12px; color: var(--tth-muted-2); margin-bottom: 8px;
}
.tt-home .tth-pcard-stars { color: #e8a41c; letter-spacing: -1px; font-size: 12px; }
.tt-home .tth-pcard-price { display: flex; align-items: baseline; gap: 7px; margin-top: auto; padding-bottom: 12px; flex-wrap: wrap; }
.tt-home .tth-pcard-now { font-weight: 800; font-size: 16px; color: var(--tth-ink); font-family: var(--tth-font-display); letter-spacing: -.01em; }
.tt-home .tth-pcard-was { font-size: 12.5px; color: var(--tth-muted-3); text-decoration: line-through; }
.tt-home .tth-pcard-buy {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  font-family: var(--tth-font-body); font-weight: 700; font-size: 12.5px; letter-spacing: .03em;
  padding: 11px; border: 0; border-top: 1px solid var(--tth-line);
  background: var(--tth-surface); color: var(--tth-red); cursor: pointer;
  text-decoration: none; transition: background .15s, color .15s;
}
.tt-home .tth-pcard-buy:hover { background: var(--tth-red); color: #fff; text-decoration: none; }

/* deals-of-the-day header + countdown */
.tt-home .tth-deals-head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.tt-home .tth-countdown {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--tth-font-mono); font-weight: 600; font-size: 13px; letter-spacing: .06em;
  color: var(--tth-red); background: var(--tth-red-tint);
  padding: 6px 11px; border-radius: var(--tth-r-sm);
}
.tt-home .tth-countdown .las { font-size: 15px; }

/* category rail: "Popular:" chip row */
.tt-home .tth-rail-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: -6px 0 16px; }
.tt-home .tth-rail-chips-label { font-size: 12.5px; color: var(--tth-muted); font-weight: 600; }
.tt-home .tth-poptag {
  font-size: 12.5px; color: var(--tth-ink); background: var(--tth-surface);
  border: 1px solid var(--tth-line); border-radius: 999px; padding: 5px 12px; text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
}
.tt-home .tth-poptag:hover { border-color: var(--tth-red); color: var(--tth-red); text-decoration: none; }

/* deals band gets a subtle warm inset */
.tt-home .tth-deals-section { background: var(--tth-surface-2); border-block: 1px solid var(--tth-line); padding-block: clamp(28px,4vw,46px); }

@media (max-width: 1199.98px) { .tt-home .tth-prow { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 991.98px)  { .tt-home .tth-prow { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767.98px)  { .tt-home .tth-prow { grid-template-columns: repeat(2, 1fr); } .tt-home .tth-prow .tth-pcard:nth-child(n+5){ display:none; } }

/* ============================================================================
   COUPONS & OFFERS
   ============================================================================ */
.tt-home .tth-cpn-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tt-home .tth-cpn {
  display: flex; overflow: hidden; text-decoration: none;
  background: var(--tth-surface); border: 1px solid var(--tth-line); border-radius: var(--tth-r);
  transition: border-color .15s, transform .15s var(--tth-ease), box-shadow .15s;
}
.tt-home a.tth-cpn:hover { border-color: var(--tth-line-2); transform: translateY(-2px); box-shadow: 0 6px 18px rgba(20,18,16,.06); text-decoration: none; }
.tt-home .tth-cpn-amt {
  flex: none; width: 74px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; gap: 2px; padding: 8px 6px; background: var(--tth-red); color: #fff;
  font-family: var(--tth-font-display); font-weight: 800; letter-spacing: -.01em; line-height: 1;
}
.tt-home .tth-cpn--ink .tth-cpn-amt, .tt-home .tth-cpn--bulk .tth-cpn-amt { background: var(--tth-ink); }
.tt-home .tth-cpn-amt-val { font-size: 17px; }
.tt-home .tth-cpn-amt-val--sm { font-size: 15px; letter-spacing: .04em; }
.tt-home .tth-cpn-amt-off { font-size: 10px; font-weight: 700; opacity: .85; }
.tt-home .tth-cpn-body { padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tt-home .tth-cpn-title { font-weight: 700; font-size: 13px; color: var(--tth-ink); line-height: 1.25; }
.tt-home .tth-cpn-sub { font-size: 11.5px; color: var(--tth-muted-2); }
.tt-home .tth-cpn-sub b { color: var(--tth-ink); font-family: var(--tth-font-mono); letter-spacing: .04em; }
.tt-home .tth-cpn-copy {
  align-self: flex-start; margin-top: 4px; font-family: var(--tth-font-body); font-size: 10.5px; font-weight: 700;
  color: var(--tth-red); background: transparent; border: 1px dashed var(--tth-red); border-radius: var(--tth-r-xs);
  padding: 4px 9px; cursor: pointer; text-decoration: none; transition: background .15s, color .15s;
}
.tt-home .tth-cpn-copy:hover, .tt-home .tth-cpn-copy.is-copied { background: var(--tth-red); color: #fff; }

/* ============================================================================
   TOP BRANDS
   ============================================================================ */
.tt-home .tth-brands-section { background: var(--tth-surface-2); border-block: 1px solid var(--tth-line); padding-block: clamp(24px, 3.5vw, 40px); margin-block: 0; }
.tt-home .tth-brand-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.tt-home .tth-brand-tile {
  display: flex; align-items: center; justify-content: center; text-align: center;
  height: 58px; padding: 6px 10px; background: var(--tth-surface); border: 1px solid var(--tth-line);
  border-radius: var(--tth-r-sm); text-decoration: none;
  font-family: var(--tth-font-display); font-weight: 700; font-size: 12px; letter-spacing: .01em;
  color: var(--tth-muted-3); line-height: 1.15; overflow: hidden;
  transition: color .15s, border-color .15s, transform .15s var(--tth-ease);
}
.tt-home .tth-brand-tile:hover { color: var(--tth-ink); border-color: var(--tth-line-2); transform: translateY(-2px); text-decoration: none; }

/* ============================================================================
   TESTIMONIALS
   ============================================================================ */
.tt-home .tth-testi-section { background: var(--tth-ink); color: #fff; padding-block: clamp(30px, 4vw, 52px); }
.tt-home .tth-testi-head { margin-bottom: 20px; }
.tt-home .tth-testi-title { color: #fff; }
.tt-home .tth-testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tt-home .tth-testi-card { margin: 0; background: var(--tth-ink-2); border: 1px solid #26221e; border-radius: var(--tth-r); padding: 20px; }
.tt-home .tth-testi-stars { color: var(--tth-red); font-size: 14px; letter-spacing: 1px; }
.tt-home .tth-testi-quote { margin: 10px 0 14px; font-size: 14px; line-height: 1.55; color: #d6d3ce; }
.tt-home .tth-testi-by { display: flex; flex-direction: column; gap: 1px; }
.tt-home .tth-testi-name { font-weight: 700; font-size: 13px; color: #fff; }
.tt-home .tth-testi-role { font-size: 11.5px; color: var(--tth-muted-2); }

/* ============================================================================
   FAQ
   ============================================================================ */
.tt-home .tth-faq-section { background: var(--tth-surface-2); border-top: 1px solid var(--tth-line); padding-block: clamp(32px, 4.5vw, 56px); }
.tt-home .tth-faq-grid { display: grid; grid-template-columns: 300px 1fr; gap: 36px; align-items: start; }
.tt-home .tth-faq-eyebrow { color: var(--tth-red); }
.tt-home .tth-faq-title { margin: 10px 0 0; }
.tt-home .tth-faq-lead { font-size: 13px; color: var(--tth-muted); margin-top: 12px; line-height: 1.6; }
.tt-home .tth-faq-lead a { color: var(--tth-red); font-weight: 600; }
.tt-home .tth-faq-list { display: flex; flex-direction: column; gap: 10px; }
.tt-home .tth-faq-item { background: var(--tth-surface); border: 1px solid var(--tth-line); border-radius: var(--tth-r); padding: 15px 18px; }
.tt-home .tth-faq-q {
  cursor: pointer; list-style: none; font-weight: 700; font-size: 14px; color: var(--tth-ink);
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.tt-home .tth-faq-q::-webkit-details-marker { display: none; }
.tt-home .tth-faq-ic { color: var(--tth-red); font-weight: 900; font-size: 18px; flex: none; transition: transform .2s var(--tth-ease); }
.tt-home .tth-faq-item[open] .tth-faq-ic { transform: rotate(45deg); }
.tt-home .tth-faq-a { font-size: 13px; color: var(--tth-muted); line-height: 1.6; margin-top: 10px; }

/* ---- responsive: the four added sections ---- */
@media (max-width: 991.98px) {
  .tt-home .tth-cpn-grid { grid-template-columns: repeat(2, 1fr); }
  .tt-home .tth-brand-grid { grid-template-columns: repeat(4, 1fr); }
  .tt-home .tth-testi-grid { grid-template-columns: 1fr; }
  .tt-home .tth-faq-grid { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 575.98px) {
  .tt-home .tth-cpn-grid { grid-template-columns: 1fr; }
  .tt-home .tth-brand-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ============================================================================
   GLOBAL CHROME — header + footer re-skin (site-wide, scoped to body.tt-skin)
   Extends the warm-editorial system to the masthead/footer WITHOUT touching the
   JS-coupled markup: pure CSS overriding the classic theme's existing classes/ids.
   !important is used only to beat the theme's per-element inline styles.
   ============================================================================ */

/* ---- TOP STRIP: language/currency bar + conversion bar → one dark-ink masthead ---- */
body.tt-skin .top-navbar {
  background: var(--tth-ink) !important;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
body.tt-skin .top-navbar .dropdown-toggle,
body.tt-skin .top-navbar a,
body.tt-skin .top-navbar .helpline-label,
body.tt-skin .top-navbar .helpline-number-preview {
  color: var(--tth-muted-3) !important;
  font-family: var(--tth-font-mono);
  font-size: 11px !important;
  letter-spacing: .03em;
}
body.tt-skin .top-navbar a:hover,
body.tt-skin .top-navbar .dropdown-toggle:hover { color: #fff !important; }
body.tt-skin .top-navbar .dropdown-menu { border: 1px solid var(--tth-line); border-radius: var(--tth-r-sm); }

/* conversion bar (phone/email + action links) — continuous dark strip, red icon accents */
body.tt-skin .static-conversion-topbar { background: var(--tth-ink-2) !important; }
body.tt-skin .static-conversion-topbar .fs-13,
body.tt-skin .static-conversion-topbar .tt-conversion-phone-lead,
body.tt-skin .static-conversion-topbar .tt-conversion-email-text { color: #cbc7c0 !important; }
body.tt-skin .static-conversion-topbar strong { color: #fff !important; }
body.tt-skin .static-conversion-topbar .la-phone,
body.tt-skin .static-conversion-topbar .la-envelope { color: var(--tth-red-soft) !important; }
body.tt-skin .static-conversion-topbar .hov-text-light { color: #cbc7c0 !important; font-weight: 600 !important; }
body.tt-skin .static-conversion-topbar .hov-text-light:hover { color: #fff !important; }
body.tt-skin .static-conversion-topbar li[style*="border-right"] { border-right-color: rgba(255,255,255,.14) !important; }
body.tt-skin .static-conversion-topbar .btn { border-radius: var(--tth-r-xs) !important; }
body.tt-skin .static-conversion-topbar--mobile { background: var(--tth-ink-2) !important; }
body.tt-skin .static-conversion-topbar--mobile .static-conversion-topbar__mobile-link { color: #cbc7c0 !important; }
body.tt-skin .static-conversion-topbar--mobile .la-phone,
body.tt-skin .static-conversion-topbar--mobile .la-envelope { color: var(--tth-red-soft) !important; }

/* ---- MAIN HEADER (logo-bar-area) → clean warm surface ---- */
body.tt-skin .logo-bar-area {
  background: var(--tth-surface) !important;
  border-bottom: 1px solid var(--tth-line) !important;
}
body.tt-skin #top-category-menu-bar span { font-family: var(--tth-font-body); color: var(--tth-ink) !important; }

/* Search — the primary B2B action: prominent, warm, rounded.
   Keep the wrapper transparent ONLY on desktop — at <=991px the theme turns
   .front-header-search.active into an opaque slide-down overlay that must hide
   the logo/icons behind it, so its background must NOT be stripped there. */
@media (min-width: 992px) {
  body.tt-skin .front-header-search { background: transparent !important; }
}
body.tt-skin .search-input-box #search {
  border: 1.5px solid var(--tth-line-2) !important;
  border-right: 0 !important;
  border-radius: var(--tth-r-sm) 0 0 var(--tth-r-sm) !important;
  height: 48px; padding-left: 16px; font-size: 14px;
  background: var(--tth-surface-2) !important;
  color: var(--tth-ink);
}
/* --tth-muted (not muted-2) keeps the placeholder >=4.5:1 — it's the field's only accessible name */
body.tt-skin .search-input-box #search::placeholder { color: var(--tth-muted); }
body.tt-skin .search-input-box #search:focus {
  border-color: var(--tth-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.tt-skin .search-input-box .input-group-append button {
  background: var(--tth-red) !important;
  border: 1.5px solid var(--tth-red) !important;
  border-radius: 0 var(--tth-r-sm) var(--tth-r-sm) 0 !important;
  transition: background .15s;
}
body.tt-skin .search-input-box .input-group-append button:hover {
  background: var(--tth-red-hov) !important; border-color: var(--tth-red-hov) !important;
}
body.tt-skin .typed-search-box { border: 1px solid var(--tth-line) !important; border-radius: var(--tth-r) !important; }

/* RFQ link + Help Center pill + Login pill */
body.tt-skin .tt-header-rfq-link .fs-12 span { font-family: var(--tth-font-body); color: var(--tth-ink); }
body.tt-skin .tt-header-rfq-link:hover .fs-12 span { color: var(--tth-red); }
/* Help Center → quiet link (not a filled red pill), so the RFQ button is the single primary CTA
   and red stays reserved for the search action + promo badge. Less competing colour in the header. */
body.tt-skin .logo-bar-area a.btn[href="/faq"] {
  background: transparent !important; color: var(--tth-ink) !important;
  border-radius: 0 !important; font-weight: 600 !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
body.tt-skin .logo-bar-area a.btn[href="/faq"] .la-question-circle { color: var(--tth-red) !important; }
body.tt-skin .logo-bar-area a.btn[href="/faq"]:hover { background: transparent !important; color: var(--tth-red) !important; }
body.tt-skin .nav-user-info {
  border: 1.5px solid var(--tth-line-2) !important; border-radius: 999px !important; background: var(--tth-surface);
  transition: border-color .15s;
}
body.tt-skin .nav-user-info a,
body.tt-skin .nav-user-info h4 { color: var(--tth-ink) !important; }
body.tt-skin .nav-user-info:hover { border-color: var(--tth-ink) !important; }

/* ---- CATEGORY MEGA-MENU panel (hover dropdown) → warm surface + hairline ---- */
body.tt-skin .hover-category-menu .card,
body.tt-skin .hover-category-menu .bg-white { border-radius: var(--tth-r) !important; border-color: var(--tth-line) !important; }

/* ---- FOOTER → warm-ink editorial footer (dark bookend echoing the masthead) ---- */
body.tt-skin .tt-skin-footer-main { background-color: var(--tth-ink) !important; }
body.tt-skin .tt-skin-footer-bottom {
  background-color: #0f0e0c !important; border-top: 1px solid rgba(255,255,255,.07) !important;
}
/* column headers → mono eyebrows */
body.tt-skin .tt-skin-footer-main h5,
body.tt-skin .tt-skin-footer-main h6 {
  font-family: var(--tth-font-mono) !important;
  letter-spacing: .12em; font-weight: 500 !important; color: var(--tth-muted-3) !important;
}
/* keep the newsletter card's own (dark) heading dark on its white background */
body.tt-skin .tt-skin-footer-main .bg-white h5 { color: var(--tth-ink) !important; }
/* body text + links → muted warm, hover to white */
body.tt-skin .tt-skin-footer-main .text-white { color: #b3aea6 !important; }
body.tt-skin .tt-skin-footer-main a.text-white:hover,
body.tt-skin .tt-skin-footer-main .hov-text-light:hover { color: #fff !important; }
/* (Get Directions button keeps the footer partial's own border + white hover — no override needed) */
/* newsletter card stays light; submit button → brand red */
body.tt-skin .tt-skin-footer-main .bg-white { border-radius: var(--tth-r) !important; }
body.tt-skin .tt-skin-footer-main .btn-dark {
  background: var(--tth-red) !important; border-color: var(--tth-red) !important; border-radius: var(--tth-r-sm) !important;
}
body.tt-skin .tt-skin-footer-main .btn-dark:hover { background: var(--tth-red-hov) !important; border-color: var(--tth-red-hov) !important; }
/* bottom bar copyright */
body.tt-skin .tt-skin-footer-bottom .text-white { color: #837f77 !important; }

/* ============================================================================
   DESIGN ALIGNMENT — header 24-hr badge + RFQ solid button
   ============================================================================ */
/* Drop the thin language/currency top strip — single-language, INR-only site; the helpline it also
   held is already shown in the dark utility bar below. Removes a whole header tier (less crowded). */
body.tt-skin .top-navbar { display: none !important; }

/* utility-bar "24-Hr Delivery" trust badge (was the yellow Stock-Clearance link) */
body.tt-skin .tt-header-24hr-badge { display: inline-flex; align-items: center; font-family: var(--tth-font-body); letter-spacing: .01em; }

/* "Request for Quotes" link → solid ink button (design shows a solid RFQ button) */
body.tt-skin .tt-header-rfq-link {
  background: var(--tth-ink); border: 1px solid var(--tth-ink); border-radius: 999px;
  padding: 8px 15px !important; margin-right: 14px !important;
  transition: background .15s, border-color .15s;
}
body.tt-skin .tt-header-rfq-link .las { color: #fff !important; font-size: 16px !important; }
body.tt-skin .tt-header-rfq-link .fs-12 span,
body.tt-skin .tt-header-rfq-link:hover .fs-12 span { color: #fff !important; font-weight: 700 !important; }
body.tt-skin .tt-header-rfq-link:hover { background: var(--tth-red); border-color: var(--tth-red); text-decoration: none; }

/* ============================================================================
   INTERACTION POLISH — keyboard focus, press feedback, touch-hover, tabular nums
   (from the emil-design-eng + interface-design craft review)
   ============================================================================ */

/* Keyboard focus: a visible ring, shown only on keyboard nav (never on tap/mouse). */
.tt-home a:focus-visible,
.tt-home button:focus-visible,
.tt-home summary:focus-visible {
  outline: 2px solid var(--tth-red);
  outline-offset: 2px;
  border-radius: var(--tth-r-xs);
}

/* Tabular numerals: prices, countdown, value-bar + coupon numbers align and never reflow. */
.tt-home .tth-pcard-now,
.tt-home .tth-pcard-was,
.tt-home .tth-countdown,
.tt-home .tth-trust-num,
.tt-home .tth-cpn-amt-val { font-variant-numeric: tabular-nums; }

/* Touch devices: a tap fires :hover and sticks — kill the hover-lift so cards don't stay raised. */
@media (hover: none) {
  .tt-home .tth-cat-tile:hover,
  .tt-home .tth-pcard:hover,
  .tt-home a.tth-cpn:hover,
  .tt-home .tth-brand-tile:hover,
  .tt-home .tth-flash-card:hover { transform: none; box-shadow: none; }
  .tt-home .tth-pcard:hover .tth-pcard-media img { transform: none; }
  .tt-home .tth-flash-card:hover { background: var(--tth-red); }
}

/* Press feedback: every pressable card/button confirms the tap (was only on .tth-btn).
   Placed after the touch block so :active still wins during a press. */
.tt-home .tth-pcard-buy:active,
.tt-home .tth-cat-tile:active,
.tt-home a.tth-cpn:active,
.tt-home .tth-brand-tile:active,
.tt-home .tth-cpn-copy:active,
.tt-home .tth-poptag:active,
.tt-home .tth-flash-card:active,
.tt-home .tth-coupon-code:active { transform: scale(0.97); }

/* Comfortable touch targets (WCAG ~44px) + full-width hero CTAs on phones. */
@media (max-width: 767.98px) {
  .tt-home .tth-sec-link { display: inline-flex; align-items: center; min-height: 40px; }
  .tt-home .tth-cpn-copy { padding: 9px 13px; }
  .tt-home .tth-flash-btn { padding: 11px 18px; }
}
@media (max-width: 575.98px) {
  /* hero panel is align-items:flex-start, so the CTA row must claim full width itself before its buttons can stretch */
  .tt-home .tth-hero-cta { flex-direction: column; align-items: stretch; width: 100%; }
  .tt-home .tth-hero-cta .tth-btn { width: 100%; }
}

/* ============================================================
   MOBILE HEADER SIMPLIFICATION (flag on, ≤991px)
   Top header reduces to: logo (home only) OR back button (inner
   pages) + search + cart. The phone/email strip, the top account
   icon and the PDP categories dot-button are dropped — home,
   categories, account and notifications all live in the
   always-present bottom nav. Every rule is scoped to body.tt-skin
   so flag-off restores the original header untouched.
   ============================================================ */
@media (max-width: 991.98px) {
  body.tt-skin .static-conversion-topbar--mobile,
  body.tt-skin .tt-mobile-header-profile-wrap,
  body.tt-skin .tt-mobile-header-categories-btn {
    display: none !important;
  }

  /* Logo only on the homepage; the back button takes its place elsewhere. */
  body.tt-skin:not(.tt-mobile-home-search) .tt-mobile-header-logo-link {
    display: none !important;
  }

  /* Back button — a clean, tappable arrow that fills the logo slot. */
  body.tt-skin .tt-mobile-header-back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 6px 0 0;
    padding: 0;
    color: var(--tth-ink, #141210);
    font-size: 22px;
    line-height: 1;
    border-radius: 10px;
    flex-shrink: 0;
    transition: background-color 160ms var(--tth-ease, ease),
                transform 120ms var(--tth-ease, ease);
  }
  body.tt-skin .tt-mobile-header-back-btn:active {
    transform: scale(0.92);
    background-color: rgba(0, 0, 0, 0.05);
  }
}
