/* ── LIBRARY OF SYMBOLS — pixel-perfect CSS ──
   Source of truth: Figma "💙 LIBRARY OF SYMBOLS"
   Desktop frame 437:17994 (1440px) | Mobile frame 448:19674 (390px)
   ALL spatial values from absoluteRenderBounds (ARB) unless noted.
   Card box uses ABB: 180×220px. Box-shadow creates 208×248px ARB.
   Typography updated 2026-07-08 to unified 320px → 1920px scale.

   !important usage:
   - h1 font-size / line-height / letter-spacing: WP Global Styles injects these !important.
   - hero margin: style.css has 0,3,0 !important — we use h1 tag → 0,3,1 (end of file).
   - hero padding: style.css has 0,1,0 — we use .los-page .los-hero → 0,2,0 (end of file).
   - grid max-width: capped at 1440px (design max). #los-grid id (1,0,0) beats class/element sources.
*/

/* ── PAGE CONTAINER ──────────────────────────────────────────── */
.los-page {
  padding-top: clamp(44px, calc(44px + (173 - 44) * ((100vw - 390px) / 1050)), 173px);
}

/* ── HERO ────────────────────────────────────────────────────── */
.los-hero {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  height: clamp(176px, calc(176px + (296 - 176) * ((100vw - 390px) / 1050)), 296px);
  box-sizing: border-box;
  padding-top: clamp(32px, calc(32px + (94 - 32) * ((100vw - 390px) / 1050)), 94px);
  gap: clamp(8px, calc(8px + (16 - 8) * ((100vw - 390px) / 1050)), 16px);
}

/* Hero title — Display L: 40px → 72px */
.los-hero .los-hero__title {
  font-family: 'Montserrat', sans-serif !important;
  font-style: italic;
  font-weight: 400 !important;
  text-align: center;
  letter-spacing: 0 !important;
  color: #000000;
  margin: 0 !important;
  padding: 0;
  font-size: clamp(40px, calc(40px + 32 * (100vw - 320px) / 1600), 72px) !important;
  line-height: clamp(48px, calc(48px + 38 * (100vw - 320px) / 1600), 86px) !important;
}

/* Title line break — mobile only.
   Forces "Let Your" on line 1, "Intuition Choose" on line 2 at 390px.
   Hidden at desktop (≥1440px) so the title flows as a single line. */
.los-title-br {
  display: block;
}
@media (min-width: 1440px) {
  .los-title-br { display: none; }
}

/* Hero subtitle — Display M: 32px → 56px */
.los-hero__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  text-align: center;
  margin: 0;
  padding: 0;
  color: #000000;
  font-size: clamp(32px, calc(32px + 24 * (100vw - 320px) / 1600), 56px);
  line-height: clamp(38px, calc(38px + 29 * (100vw - 320px) / 1600), 67px);
}

/* ── DECK BAR ────────────────────────────────────────────────── */
.los-deck-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  border-top: 0.5px solid rgba(0, 0, 0, 0.1);
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.1);
  height: clamp(48px, calc(48px + (52 - 48) * ((100vw - 390px) / 1050)), 52px);
  gap: clamp(32px, calc(32px + (109 - 32) * ((100vw - 390px) / 1050)), 109px);
}

/* Deck bar option — Labels: 13px fixed */
.los-deck-bar__option {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 13px;
  line-height: 15px;
  color: #000000;
  letter-spacing: clamp(0px, calc(1.8 * ((100vw - 390px) / 1050)), 1.8px);
  cursor: pointer;
}

.los-deck-bar__option input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.los-deck-bar__option:has(input:checked) { color: #0b40b4; }

.los-deck-bar__dot {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 1px solid #000000;
  background: transparent;
  flex-shrink: 0;
}

.los-deck-bar__option:has(input:checked) .los-deck-bar__dot {
  background: #0b40b4;
  border-color: #0b40b4;
}

/* ── FILTER NAVIGATION ───────────────────────────────────────── */
.los-filter-nav {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: clamp(48px, calc(48px + (64 - 48) * ((100vw - 390px) / 1050)), 64px);
  gap: clamp(33px, calc(33px + (53.5 - 33) * ((100vw - 390px) / 1050)), 53.5px);
}

@media (max-width: 389px) {
  .los-filter-nav {
    overflow-x: auto;
    overflow-y: hidden;
    justify-content: flex-start;
    padding-left: 16px;
    padding-right: 16px;
    scrollbar-width: none;
  }
  .los-filter-nav::-webkit-scrollbar { display: none; }
}

/* Filter label — Labels: 13px fixed */
.los-filter-nav__label {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  white-space: nowrap;
  color: rgba(0, 0, 0, 0.35);
  font-size: 13px;
  line-height: 15px;
  letter-spacing: clamp(0px, calc(2.5 * ((100vw - 390px) / 1050)), 2.5px);
}

.los-filter-nav__label--active { color: #0b40b4; }

/* Underline sits ~4px below the text ARB bottom edge. */
.los-filter-nav__underline {
  position: absolute;
  bottom: clamp(14px, calc(14px + (22 - 14) * ((100vw - 390px) / 1050)), 22px);
  height: 2px;
  background: #0b40b4;
  width: clamp(19px, calc(19px + (26 - 19) * ((100vw - 390px) / 1050)), 26px);
}

/* ── SYMBOL GRID ─────────────────────────────────────────────── */
.los-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, 180px);
  justify-content: center;
  background: #ffffff;
  box-sizing: border-box;
  column-gap: clamp(14px, calc(14px + (50 - 14) * ((100vw - 390px) / 1050)), 50px);
  row-gap: clamp(28px, calc(28px + (50 - 28) * ((100vw - 390px) / 1050)), 50px);
  padding-left: clamp(8px, calc(8px + (170 - 8) * ((100vw - 390px) / 1050)), 170px);
  padding-right: clamp(8px, calc(8px + (170 - 8) * ((100vw - 390px) / 1050)), 170px);
  padding-top: clamp(0px, calc(54 * ((100vw - 390px) / 1050)), 54px);
  padding-bottom: clamp(0px, calc(80 * ((100vw - 390px) / 1050)), 80px);
}

/* ── SYMBOL CARD ─────────────────────────────────────────────── */
.los-card {
  width: 180px;
  height: 220px;
  background: #ffffff;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: block;
  cursor: pointer;
  box-shadow:
    0 4px 14px rgba(0, 0, 0, 0.07),
    0 1px 3px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.3s ease;
}

.los-card__niche {
  position: absolute;
  left: clamp(30px, calc(30px + (37 - 30) * ((100vw - 390px) / 1050)), 37px);
  top: clamp(16px, calc(19px + (16 - 19) * ((100vw - 390px) / 1050)), 19px);
  width: clamp(108px, calc(124px + (108 - 124) * ((100vw - 390px) / 1050)), 124px);
  height: clamp(170px, calc(195.5px + (170 - 195.5) * ((100vw - 390px) / 1050)), 195.5px);
}

.los-card__arch {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #f6f6fa 0%, #ffffff 100%);
  border: 1px solid rgba(0, 0, 0, 0.08);
  width: 100%;
  height: 81.18%;
  border-radius:
    clamp(53px, calc(60.95px + (53 - 60.95) * ((100vw - 390px) / 1050)), 60.95px)
    clamp(53px, calc(60.95px + (53 - 60.95) * ((100vw - 390px) / 1050)), 60.95px)
    0 0;
}

.los-card__arch svg,
.los-card__arch img {
  display: block;
  fill: #1a1f33;
  stroke: #1a1f33;
  max-width: 51%;
  max-height: 36%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.3s ease, fill 0.3s ease, filter 0.3s ease;
}

/* Card label — Labels: 13px fixed */
.los-card__label {
  position: absolute;
  bottom: clamp(16px, calc(16px + (29 - 16) * ((100vw - 390px) / 1050)), 29px);
  left: 0;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 2px;
  color: rgba(0, 0, 0, 0.28);
  transition: color 0.3s ease;
}

/* ── HOVER STATES ────────────────────────────────────────────── */
.los-card:hover {
  box-shadow: 0 10px 36px rgba(11, 64, 180, 0.16), 0 4px 12px rgba(0, 0, 0, 0.08);
}
.los-card:hover .los-card__arch {
  background: linear-gradient(180deg, #f4f5fc 0%, #ffffff 100%);
  border-color: #0b40b4;
}
.los-card:hover .los-card__arch svg {
  fill: #0b40b4;
  stroke: #0b40b4;
  transform: scale(1.15);
}
.los-card:hover .los-card__arch img {
  filter: brightness(0) saturate(100%) invert(38%) sepia(100%) saturate(492%) hue-rotate(183deg) brightness(69%) contrast(136%);
  transform: scale(1.15);
}
.los-card:hover .los-card__label { color: #0b40b4; }

/* ── SPECIFICITY OVERRIDES ────────────────────────────────────── */
.los-page .los-hero h1.los-hero__title {
  margin: 0 !important;
  padding: 0 !important;
}
.los-page .los-hero {
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#los-grid {
  max-width: 1440px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
