/* ═══════════════════════════════════════════════════════
   SPRINT DRIVES — ACCOUNT AND CONTRAST GUARD (v10.8)

   Loads after account.css so it wins on equal specificity.

   Two jobs.

   1. CONTRAST GUARD. The v10.7 layer set text colours on
      containers whose background is owned by account.css and
      shop.css, which produced dark text on the dark panels.
      The rule from here on: never set a colour without also
      owning the background it sits on, and force a light
      colour on every descendant of a known dark surface.

   2. A proper account page rather than a patch.

   No shadows. 24px minimum mobile horizontal padding.
═════════════════════════════════════════════════════════ */

:root{
  --sd-a-indigo:#2a2c7b;
  --sd-a-indigo-dk:#1c1d55;
  --sd-a-indigo-xdk:#14152e;
  --sd-a-green:#cedc49;
  --sd-a-green-dk:#b9c53f;
  --sd-a-amber:#e08a1e;
  --sd-a-red:#c0392b;
  --sd-a-ink:#0e0f1a;
  --sd-a-mut:#5c5c6b;
  --sd-a-line:#d9d9d4;
  --sd-a-soft:#f5f5f3;
}

/* ═══════════════════════════════════════════════════════
   1. CONTRAST GUARD
   Every dark surface in the theme, listed once, forcing a
   light colour on itself and everything inside it. Links
   and headings included, because those are what inherited
   a dark colour from the v10.7 rules.
═════════════════════════════════════════════════════════ */

.sd-dash-welcome,
.sd-dash-welcome *,
.sd-dash-rec-badge,
.sd-auth-tab.active,
.sd-dash-empty-btn,
.cart-head,
.cart-head *,
.sd-fin, .sd-fin *,
.sd-van__copy, .sd-van__copy *,
.sd-terms, .sd-terms *,
.sd-toolcard, .sd-toolcard *,
.sd-hfeat__cap, .sd-hfeat__cap *,
.sd-page__hero, .sd-page__hero *,
#site-header .hdr-top, #site-header .hdr-top *,
#site-header .hdr-nav .hdr-nav-link,
.mob-menu, .mob-menu *,
.mob-bottom-nav, .mob-bottom-nav *{
  color:#fff;
}

/* Accents that should stay accented inside those dark surfaces */
.sd-dash-welcome .sd-dash-welcome__accent,
.sd-dash-rec-badge,
.sd-fin h2,
.sd-van__eyebrow,
.sd-hfeat__kick,
.sd-page__eyebrow,
.sd-toolcard__eyebrow,
.sd-terms__i svg,
#site-header .hdr-nav-link--hot,
.usp-item strong{
  color:var(--sd-a-green);
}
.sd-van__eyebrow,
.sd-hfeat__kick,
.sd-page__eyebrow,
.sd-dash-rec-badge{ color:var(--sd-a-indigo-dk); }

/* Buttons that sit on dark surfaces keep their own pairing */
.sd-van__cta,
.sd-page__cta,
.sd-toolcard__cta,
.sd-dash-welcome .sd-dash-cta{
  background:var(--sd-a-green);
  color:var(--sd-a-indigo-dk);
}
.sd-dash-empty-btn,
.sd-auth-tab.active{ background:var(--sd-a-indigo); color:#fff; }

/* And the reverse: light surfaces always state a dark colour, so nothing
   inherits white text onto a white card. */
.sd-dash-card,
.sd-dash-card *,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-content *,
.sd-product-card,
.sd-product-card *,
.sd-card,
.sd-card *{
  color:var(--sd-a-ink);
}
.sd-dash-card a,
.woocommerce-MyAccount-content a,
.sd-card__name a,
.sd-product-title a{ color:var(--sd-a-ink); }
.sd-dash-card .sd-dash-cta,
.woocommerce-MyAccount-content .button,
.sd-card__add,
.sd-product-cart-btn{ color:#fff; }
.sd-dash-card .sd-dash-card-head,
.sd-dash-action-desc,
.sd-card__bulk,
.sd-wear__txt{ color:var(--sd-a-mut); }
.sd-card__price,
.sd-product-price,
.sd-dash-action-icon{ color:var(--sd-a-indigo); }
.sd-dash-action-icon{ color:var(--sd-a-green); }

/* ═══════════════════════════════════════════════════════
   2. ACCOUNT PAGE
═════════════════════════════════════════════════════════ */

.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:250px 1fr;
  gap:20px;
  max-width:1280px;
  margin:0 auto;
  padding:28px 24px 48px;
  align-items:start;
}

/* ── Navigation ── */
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:var(--sd-a-indigo-dk);
  padding:8px;
  position:sticky;
  top:16px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0; border:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 14px;
  background:transparent;
  border:none;
  color:#fff;
  font-size:13.5px;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
  background:rgba(255,255,255,.08);
  color:var(--sd-a-green);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:var(--sd-a-green);
  color:var(--sd-a-indigo-dk);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
  color:#a9abd8;
  margin-top:6px;
  border-top:1px solid rgba(255,255,255,.12);
}

/* ── Content ── */
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff;
  border:1px solid var(--sd-a-line);
  padding:28px;
  min-width:0;
}
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-MyAccount-content > h3:first-child{
  font-size:22px;
  font-weight:800;
  letter-spacing:-.022em;
  text-transform:none;
  color:var(--sd-a-ink);
  padding-bottom:12px;
  border-bottom:2px solid var(--sd-a-green);
  margin:0 0 20px;
}

/* ── Dashboard welcome, the panel that was unreadable ── */
.sd-dash-welcome{
  background:var(--sd-a-indigo-dk);
  padding:26px 28px;
  margin:0 0 18px;
  border:none;
}
.sd-dash-welcome h1,
.sd-dash-welcome h2,
.sd-dash-welcome h3{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.022em;
  text-transform:none;
  margin:0 0 6px;
}
.sd-dash-welcome p{ font-size:13.5px; margin:0; opacity:.85; }

/* ── Cards and quick actions ── */
.sd-dash-card{
  background:#fff;
  border:1px solid var(--sd-a-line);
  padding:22px 24px;
  margin:0 0 14px;
}
.sd-dash-card-head{
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding-bottom:10px;
  margin:0 0 16px;
  border-bottom:2px solid var(--sd-a-green);
}
.sd-dash-actions{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:10px;
}
.sd-dash-action-card{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:76px;
  padding:16px;
  background:#fff;
  border:1px solid var(--sd-a-line);
}
.sd-dash-action-card:hover{ border-color:var(--sd-a-indigo); background:#fbfbfd; }
.sd-dash-action-icon{
  flex:0 0 auto;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--sd-a-indigo);
}
.sd-dash-action-icon svg{ width:20px; height:20px; stroke:var(--sd-a-green); fill:none; stroke-width:1.8; }
.sd-dash-action-title{ font-size:14px; font-weight:800; letter-spacing:-.01em; }
.sd-dash-action-desc{ font-size:12px; line-height:1.45; }
.sd-dash-action-arr{ margin-left:auto; color:var(--sd-a-mut); }

.sd-dash-addr-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; }
.sd-dash-addr-label{
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sd-a-mut);
  margin:0 0 6px;
}
.sd-dash-addr{ font-size:13.5px; line-height:1.6; }
.sd-dash-addr-empty{ font-size:13px; color:var(--sd-a-mut); font-style:italic; }
.sd-dash-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  background:var(--sd-a-indigo);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.sd-dash-cta:hover{ background:var(--sd-a-indigo-dk); color:#fff; }

/* ── Orders ── */
.woocommerce-orders-table,
.woocommerce-table--order-details{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border:1px solid var(--sd-a-line);
}
.woocommerce-orders-table th,
.woocommerce-table--order-details th{
  background:var(--sd-a-soft);
  color:var(--sd-a-mut);
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  padding:13px 14px;
  text-align:left;
}
.woocommerce-orders-table td,
.woocommerce-table--order-details td{
  padding:14px;
  border-top:1px solid var(--sd-a-line);
  font-size:13.5px;
  color:var(--sd-a-ink);
}
.woocommerce-orders-table .button{ min-height:40px; padding:8px 16px; font-size:11.5px; }

/* ═══════════════════════════════════════════════════════
   3. VAN STOCK
═════════════════════════════════════════════════════════ */

.sd-van-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin:0 0 22px;
}
.sd-van-head__h{
  font-size:22px;
  font-weight:800;
  letter-spacing:-.022em;
  text-transform:none;
  margin:0 0 6px;
  color:var(--sd-a-ink);
}
.sd-van-head__p{ margin:0; font-size:13.5px; color:var(--sd-a-mut); max-width:62ch; }

.sd-van-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 20px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:center;
}
.sd-van-btn--go{ background:var(--sd-a-indigo); color:#fff; }
.sd-van-btn--go:hover{ background:var(--sd-a-indigo-dk); color:#fff; }
.sd-van-btn--off{ background:var(--sd-a-soft); color:var(--sd-a-mut); }
.sd-van-link{
  background:none;
  border:none;
  padding:8px 0;
  min-height:36px;
  font-size:11.5px;
  font-weight:700;
  color:var(--sd-a-mut);
  text-decoration:underline;
  cursor:pointer;
}
.sd-van-link:hover{ color:var(--sd-a-indigo); }

.sd-van-list{ list-style:none; margin:0; padding:0; }
.sd-van-item{
  display:grid;
  grid-template-columns:84px 1fr 190px;
  gap:16px;
  align-items:center;
  padding:16px;
  background:#fff;
  border:1px solid var(--sd-a-line);
  margin:0 0 10px;
}
.sd-van-item.is-hot{ border-left:4px solid var(--sd-a-red); }
.sd-van-item.is-mid{ border-left:4px solid var(--sd-a-amber); }
.sd-van-item__media{ display:block; background:var(--sd-a-soft); aspect-ratio:1; }
.sd-van-item__media img{ width:100%; height:100%; object-fit:contain; }
.sd-van-item__name{
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:0;
  text-transform:none;
  margin:0 0 10px;
}
.sd-van-item__name a{ color:var(--sd-a-ink); }
.sd-van-item__side{ display:flex; flex-direction:column; gap:7px; align-items:stretch; }
.sd-van-item__price{ font-size:17px; font-weight:800; color:var(--sd-a-indigo); letter-spacing:-.02em; }
.sd-van-item__price .woocommerce-Price-amount{ font-size:inherit; font-weight:inherit; color:inherit; }
.sd-van-item__pin{ margin:0; text-align:center; }

.sd-van-wear__track{ display:block; height:6px; background:#e6e6e0; overflow:hidden; }
.sd-van-wear__fill{ display:block; height:100%; background:var(--sd-a-green-dk); }
.sd-van-wear__fill.is-mid{ background:var(--sd-a-amber); }
.sd-van-wear__fill.is-hot{ background:var(--sd-a-red); }
.sd-van-wear__txt{ margin:7px 0 0; font-size:12px; line-height:1.45; color:var(--sd-a-mut); }
.sd-van-item.is-hot .sd-van-wear__txt{ color:var(--sd-a-red); font-weight:600; }

.sd-van-empty{
  background:#fff;
  border:1.5px dashed var(--sd-a-line);
  padding:40px 24px;
  text-align:center;
}
.sd-van-empty h3{ font-size:20px; font-weight:800; text-transform:none; margin:0 0 8px; color:var(--sd-a-ink); }
.sd-van-empty p{ margin:0 auto 18px; font-size:13.5px; color:var(--sd-a-mut); max-width:52ch; }
.sd-van-foot{ margin:16px 0 0; font-size:12px; color:var(--sd-a-mut); }

/* ═══════════════════════════════════════════════════════
   4. STATIC PAGES (pro account, multibuy)
═════════════════════════════════════════════════════════ */

.sd-page{ background:#ececed; }
.sd-page__w{ max-width:1180px; margin:0 auto; padding:0 24px; }
.sd-page__band{ padding:40px 0; }
.sd-page__band--white{ background:#fff; border-top:1px solid var(--sd-a-line); border-bottom:1px solid var(--sd-a-line); }

.sd-page__hero{ background:var(--sd-a-indigo-xdk); padding:52px 0; }
.sd-page__eyebrow{
  display:inline-block;
  background:var(--sd-a-green);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:5px 10px;
}
.sd-page__h1{
  font-size:clamp(26px,3.6vw,40px);
  font-weight:800;
  letter-spacing:-.028em;
  line-height:1.08;
  text-transform:none;
  margin:16px 0 12px;
  max-width:22ch;
}
.sd-page__lead{ font-size:15px; line-height:1.65; max-width:62ch; margin:0; opacity:.86; }

.sd-page__cols{ display:grid; grid-template-columns:1.5fr 1fr; gap:32px; align-items:start; }
.sd-page__h2{
  font-size:21px;
  font-weight:800;
  letter-spacing:-.022em;
  text-transform:none;
  margin:26px 0 12px;
  color:var(--sd-a-ink);
}
.sd-page__col > .sd-page__h2:first-child{ margin-top:0; }
.sd-page__h3{ font-size:16px; font-weight:800; text-transform:none; margin:0 0 8px; color:var(--sd-a-ink); }
.sd-page__p{ font-size:14px; line-height:1.65; color:var(--sd-a-mut); margin:0 0 12px; }

.sd-page__ticks{ list-style:none; margin:0; padding:0; }
.sd-page__ticks li{
  position:relative;
  padding:0 0 12px 28px;
  font-size:14px;
  line-height:1.6;
  color:var(--sd-a-mut);
}
.sd-page__ticks li::before{
  content:'';
  position:absolute;
  left:0;
  top:7px;
  width:14px;
  height:8px;
  border-left:3px solid var(--sd-a-green-dk);
  border-bottom:3px solid var(--sd-a-green-dk);
  transform:rotate(-45deg);
}
.sd-page__ticks b{ color:var(--sd-a-ink); font-weight:700; }

.sd-page__steps{ margin:0; padding:0 0 0 20px; }
.sd-page__steps li{ font-size:14px; line-height:1.6; color:var(--sd-a-mut); margin:0 0 12px; }
.sd-page__steps b{ color:var(--sd-a-ink); }

.sd-page__card{
  background:#fff;
  border:1px solid var(--sd-a-line);
  padding:24px;
  margin:0 0 12px;
}
.sd-page__card--quiet{ background:var(--sd-a-soft); }
.sd-page__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  background:var(--sd-a-indigo);
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.sd-page__cta:hover{ background:var(--sd-a-indigo-dk); color:#fff; }
.sd-page__link{ font-size:12.5px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--sd-a-indigo); }
.sd-page__fine{ margin:12px 0 0; font-size:12px; color:var(--sd-a-mut); }
.sd-page__prose{ font-size:15px; line-height:1.7; color:var(--sd-a-ink); }

/* Rate grid on the multibuy page */
.sd-rate-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
.sd-rate{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--sd-a-line);
  padding:22px;
  color:var(--sd-a-ink);
}
.sd-rate:hover{ border-color:var(--sd-a-indigo); }
.sd-rate.is-best{ border:2.5px solid var(--sd-a-indigo); }
.sd-rate__tag{
  background:var(--sd-a-indigo);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:4px 9px;
  align-self:flex-start;
  margin:0 0 11px;
}
.sd-rate__qty{ font-size:42px; font-weight:900; letter-spacing:-.045em; line-height:1; color:var(--sd-a-indigo); }
.sd-rate__unit{ font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--sd-a-mut); margin:5px 0 12px; }
.sd-rate__off{ background:var(--sd-a-green); color:var(--sd-a-indigo-dk); font-size:13px; font-weight:800; padding:6px 11px; align-self:flex-start; }
.sd-rate__line{ display:block; margin:14px 0 0; font-size:21px; font-weight:800; letter-spacing:-.025em; color:var(--sd-a-indigo); }
.sd-rate__line .woocommerce-Price-amount{ font-size:inherit; font-weight:inherit; color:inherit; }
.sd-rate__each{ display:block; font-size:12px; color:var(--sd-a-mut); margin-top:2px; }
.sd-rate__keep{ display:block; font-size:12px; color:var(--sd-a-mut); margin-top:8px; }
.sd-rate__go{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  min-height:44px;
  background:var(--sd-a-indigo);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.sd-rate.is-best .sd-rate__go{ background:var(--sd-a-green); color:var(--sd-a-indigo-dk); }

/* ═══════════════════════════════════════════════════════
   5. RESPONSIVE
═════════════════════════════════════════════════════════ */

@media (max-width:900px){
  .woocommerce-account .woocommerce{ grid-template-columns:1fr; padding:20px 24px 40px; }
  .woocommerce-account .woocommerce-MyAccount-navigation{ position:static; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:flex;
    gap:4px;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{ display:none; }
  .woocommerce-account .woocommerce-MyAccount-navigation li{ flex:0 0 auto; }
  .woocommerce-account .woocommerce-MyAccount-navigation li a{ white-space:nowrap; padding:0 16px; }
  .woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
    margin-top:0;
    border-top:none;
    border-left:1px solid rgba(255,255,255,.12);
  }
  .woocommerce-account .woocommerce-MyAccount-content{ padding:22px 18px; }
  .sd-page__cols{ grid-template-columns:1fr; gap:24px; }
}

@media (max-width:768px){
  .sd-van-item{ grid-template-columns:72px 1fr; gap:12px; }
  .sd-van-item__side{
    grid-column:1 / -1;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
  }
  .sd-van-item__side .sd-van-btn{ flex:1 1 150px; }
  .sd-van-item__pin{ flex:0 0 auto; text-align:left; }
  .sd-page__hero{ padding:34px 0; }
  .sd-page__band{ padding:28px 0; }
}
