/* ─── Mobile styles — index.html + case pages ─────────────────────── */

/* ══ Mobile nav pill (hidden on desktop) ═════════════════════════════ */

.mobile-nav-pill {
  display: none;
}

.mobile-nav-pill-link {
  font-family: 'Inter', sans-serif;
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  text-decoration: none;
  letter-spacing: -0.2px;
  white-space: nowrap;
  transition: opacity 0.2s;
}

.mobile-nav-pill-link:hover {
  opacity: 0.7;
}

/* ══ Breakpoint: ≤ 768px ════════════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── Header ── */
  .header {
    height: 80px !important;
    padding: 0 16px !important;
  }

  /* Hide desktop nav pill */
  .nav-center {
    display: none !important;
  }

  /* Show mobile nav pill — centered in header */
  .mobile-nav-pill {
    display: flex !important;
    align-items: center !important;
    gap: 40px !important;
    background: #dca9ef !important;
    border-radius: 100px !important;
    padding: 16px 40px !important;
    position: fixed !important;
    top: 12px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 1001 !important;
    overflow: hidden !important;
  }

  /* ── Main ── */
  .main {
    margin-top: 0 !important;
  }

  /* ── Container ── */
  .container {
    padding: 0 16px !important;
  }

  /* ── Hero ──
     Не растягиваем на весь экран — делаем как в Figma:
     padding-top 152px (позиция заголовка в макете),
     padding-bottom 80px перед баннером.
  ── */
  .hero {
    min-height: auto !important;
    height: auto !important;
    /* padding-top масштабируется: 100px на 320px → 152px на 390px → 160px на 430px+ */
    padding: clamp(100px, 38.97vw, 160px) 0 76px !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  .hero .container {
    padding-left: clamp(12px, 4.1vw, 16px) !important;
    padding-right: clamp(12px, 4.1vw, 16px) !important;
    gap: 24px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero-title {
    /* 28px на 320px → 38px на 390px → 44px на 430px+ */
    font-size: clamp(28px, 9.74vw, 44px) !important;
    letter-spacing: -1.14px !important;
    line-height: 1 !important;
    text-align: center !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
  }

  .btn-cv-pdf {
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: -0.16px !important;
    height: 50px !important;
    width: 150px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border-radius: 999px !important;
  }

  /* ── Баннер: убираем absolute, вставляем в поток сразу после hero ── */
  .animated-banner {
    position: static !important;
    height: auto !important;
  }

  .banner-strip {
    height: 60px !important;
    margin: 0 !important;
  }

  .banner-text {
    /* 16px на 320px → 24px на 390px → 28px на 430px+ */
    font-size: clamp(16px, 6.15vw, 28px) !important;
    padding-right: 40px !important;
    letter-spacing: -0.24px !important;
    font-weight: 600 !important;
  }

  /* ── 64px между каждым блоком ── */

  #about {
    margin-top: 64px !important;
    padding: 0 !important;
  }

  #about .section-title {
    /* 26px на 320px → 34px на 390px → 38px на 430px+ */
    font-size: clamp(26px, 8.72vw, 38px) !important;
    letter-spacing: -1.02px !important;
    margin-bottom: 16px !important;
    text-align: center !important;
  }

  .about-text {
    /* 20px на 320px → 28px на 390px → 32px на 430px+ */
    font-size: clamp(20px, 7.18vw, 32px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.28px !important;
    text-align: center !important;
    margin-top: 0 !important;
  }

  /* ── Проекты ── */
  #cases {
    margin-top: 64px !important;
    padding: 0 0 80px !important;
  }

  #cases .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #cases .section-title {
    font-size: clamp(26px, 8.72vw, 38px) !important;
    letter-spacing: -1.02px !important;
    margin-bottom: 24px !important;
    text-align: center !important;
  }

  .case-item {
    margin-top: 16px !important;
    justify-content: center !important;
  }

  /* ── Case card 1: <a class="cases-container"> ── */
  /* Figma: white card, image on top, text below */

  a.cases-container {
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    gap: 0 !important;
    border-radius: 48px !important;
    overflow: hidden !important;
    margin: 0 !important;
    transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  /* Dark panel / Rive wrapper → moves to top */
  a.cases-container > img,
  a.cases-container > .rive-panel,
  a.cases-container > .card-img-panel {
    order: -1 !important;
    align-self: auto !important;
    width: calc(100% - 16px) !important;
    height: auto !important;
    aspect-ratio: 707 / 460 !important;
    margin: 8px 8px 0 8px !important;
    border-radius: 40px !important;
    flex-shrink: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  a.cases-container > .card-img-panel {
    position: relative !important;
    background: #000000 !important;
  }

  a.cases-container > .card-img-panel img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* White text panel → flows below image */
  a.cases-container > .card-text-panel {
    width: 100% !important;
    height: auto !important;
    background: #ffffff !important;
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 24px 24px 32px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    min-width: 0 !important;
  }

  /* Title group — collapse desktop gap */
  a.cases-container .card-text-body {
    gap: 0 !important;
  }

  /* Title */
  a.cases-container .card-text-body h3 {
    font-size: 34px !important;
    font-weight: 400 !important;
    letter-spacing: -1.02px !important;
    line-height: 1 !important;
    margin: 0 0 12px !important;
    color: #000 !important;
  }

  /* Description */
  a.cases-container .card-text-body p {
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: -1px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    opacity: 0.8 !important;
    color: #000 !important;
  }

  /* Tags wrapper */
  a.cases-container .card-tags {
    margin-top: 24px !important;
    gap: 8px !important;
  }

  /* Tag pill */
  a.cases-container .card-tags span {
    font-size: 16px !important;
    height: 43px !important;
    padding: 0 16px !important;
    letter-spacing: -1px !important;
    border-radius: 84px !important;
    background: #efeff1 !important;
    color: rgba(0, 0, 0, 0.8) !important;
    font-weight: 500 !important;
  }

  /* ── Case card 2: <div class="cases-container"> ── */

  div.cases-container {
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 48px !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 20px 24px 24px !important;
    box-sizing: border-box !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    position: relative !important;
  }

  /* Image → top */
  div.cases-container > img {
    order: -1 !important;
    width: 100% !important;
    height: 212px !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 0 20px !important;
    border-radius: 32px !important;
    align-self: auto !important;
    flex-shrink: 0 !important;
  }

  /* Title text */
  div.cases-container > p.about-text {
    font-size: 34px !important;
    font-weight: 500 !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    letter-spacing: -1.02px !important;
    line-height: 1 !important;
    color: #000 !important;
    text-align: left !important;
  }

  /* Tag pills */
  div.cases-container > .case-tag {
    position: static !important;
    display: inline-flex !important;
    margin: 0 8px 0 0 !important;
    font-size: 16px !important;
    height: 43px !important;
    padding: 0 16px !important;
    border-radius: 84px !important;
    background: #efeff1 !important;
    color: rgba(0, 0, 0, 0.8) !important;
    font-weight: 500 !important;
    letter-spacing: -1px !important;
    border: none !important;
  }
}

/* ══ Breakpoint: ≤ 480px ════════════════════════════════════════════ */

@media (max-width: 480px) {
  /* Типографика управляется через clamp() выше — переопределения не нужны */
  .mobile-menu-btn {
    height: clamp(48px, 14vw, 64px) !important;
    font-size: clamp(15px, 4.6vw, 20px) !important;
    padding: 0 clamp(16px, 5vw, 24px) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════ */
/* ─── Case study page (case-carplaysync.html) ─────────────────────── */
/* ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

  .case-body .mobile-nav-pill {
    display: none;
  }

  /* ── Page layout ── */
  .case-body {
    overflow-x: hidden !important;
  }

  .case-main {
    padding-top: 96px !important;
    padding-bottom: 80px !important;
    overflow-x: hidden !important;
  }

  .cs-container {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Row gets the 16px side padding — covers all text content */
  .cs-row {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  /* Hero row: tighter gap per Figma */
  .cs-section:first-child .cs-row {
    gap: 12px !important;
  }

  /* Phone strips sit outside cs-row — give them direct margins */
  .cs-phone-strip {
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
  }

  /* Phone panels are flex items inside cs-row, already padded via row */
  .cs-phone-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .cs-section + .cs-section {
    margin-top: 53px !important;
  }

  .cs-col-left,
  .cs-col-right {
    width: 100% !important;
  }

  /* Remove desktop top padding from right column when stacked */
  .cs-col-right {
    padding-top: 0 !important;
  }

  .cs-col-text-stack {
    gap: 16px !important;
  }

  /* ── Typography ── */
  .cs-label,
  .cs-title {
    font-size: 34px !important;
    letter-spacing: -1.02px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
  }

  .cs-text {
    font-size: 20px !important;
    letter-spacing: -1px !important;
    line-height: 1.3 !important;
    width: auto !important;
  }

  .cs-hero-right .cs-text {
    font-size: 20px !important;
  }

  /* ── Hero right column ── */
  .cs-hero-right {
    gap: 32px !important;
    padding-top: 8px !important;
  }

  /* ── Meta ── */
  .cs-meta {
    gap: 32px !important;
    align-items: flex-start !important;
    flex-wrap: nowrap !important;
  }

  .cs-meta-item {
    width: auto !important;
    gap: 8px !important;
  }

  .cs-meta-label {
    font-size: 20px !important;
    letter-spacing: -1px !important;
    line-height: 1.3 !important;
    color: rgba(0, 0, 0, 0.6) !important;
    opacity: 1 !important;
  }

  .cs-meta-value {
    font-size: 20px !important;
    letter-spacing: -1px !important;
    line-height: 1.3 !important;
    color: rgba(0, 0, 0, 0.8) !important;
  }

  /* ── Stats ── */
  .cs-stats {
    gap: 16px !important;
    align-items: flex-start !important;
  }

  .cs-stat {
    width: 180px !important;
    flex-shrink: 0 !important;
    gap: 0 !important;
  }

  .cs-stat-value {
    font-size: 48px !important;
    letter-spacing: -1px !important;
    line-height: 1.2 !important;
  }

  .cs-stat-desc {
    font-size: 20px !important;
    letter-spacing: -1px !important;
    line-height: 1.3 !important;
    max-width: 100% !important;
  }

  /* ── Phone strip: 2–3 phones horizontal ── */
  .cs-phone-strip {
    height: 218px !important;
    border-radius: 40px !important;
    margin-top: 16px !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: auto !important;
  }

  /* Hero strip: larger radius and wider top gap */
  .cs-section:first-child .cs-phone-strip {
    border-radius: 48px !important;
    margin-top: 32px !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: auto !important;
  }

  .cs-phone-strip-inner {
    gap: 12px !important;
    top: 24px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  .cs-phone-strip-inner .cs-phone:first-child {
    margin-left: 0 !important;
  }

  .cs-phone {
    width: 124px !important;
    height: 269px !important;
    border-radius: 16px !important;
  }

  /* ── Single phone panel ── */
  .cs-phone-panel {
    width: 100% !important;
    height: 345px !important;
    border-radius: 40px !important;
    margin-top: 0 !important;
    position: relative !important;
  }

  .cs-phone-single {
    width: 137px !important;
    height: 297px !important;
    border-radius: 16px !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  /* Rive canvas containers */
  .cs-phone-panel > div[style] {
    width: 137px !important;
    height: 297px !important;
    border-radius: 16px !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
  }

  .cs-phone-panel > div[style] canvas {
    width: 137px !important;
    height: 297px !important;
  }

  /* ── Problems: disable sticky scroll, show both stacked ── */
  .cs-problems-wrapper {
    height: auto !important;
  }

  .cs-problems-sticky {
    position: static !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 53px !important;
  }

  .cs-problem-slide {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .cs-problem-slide .cs-col-left {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .cs-problem-slide .cs-phone-panel {
    opacity: 1 !important;
    transition: none !important;
  }
}

@media (max-width: 480px) {
  .cs-label,
  .cs-title {
    font-size: clamp(26px, 8.72vw, 34px) !important;
  }
}
