/**
 * CUCL home — mobile adaptation
 * Подключается после home.css / cucl-monad.css
 */

@media (max-width: 960px) {
  .bg-hero-grid,
  .bg-split,
  .bg-platform,
  .bg-trust-block {
    grid-template-columns: minmax(0, 1fr);
  }

  .bg-hero-grid > *,
  .bg-split > *,
  .bg-platform > *,
  .bg-trust-block > * {
    min-width: 0;
  }

  .bg-bento-card {
    grid-column: span 12 !important;
  }

  .bg-trust-tabs {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
  }

  .bg-trust-tab {
    flex: 1 1 calc(50% - 8px);
    min-width: 0;
  }

  .bg-trust-tab > span {
    min-width: 0;
  }

  .bg-chart-stats {
    grid-template-columns: 1fr;
  }

  .bg-stats-row {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Футер: бренд сверху, ссылки двумя колонками */
  .bg-footer-grid,
  .cucl-footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 20px;
    align-items: start;
  }

  .bg-footer-brand,
  .cucl-footer-brand {
    grid-column: 1 / -1;
  }

  .bg-footer-info-links,
  .cucl-footer-info-links {
    grid-template-columns: 1fr;
  }

  .bg-mockup-body {
    grid-template-columns: 1fr;
  }

  .bg-mockup-sidebar {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    border-right: none;
    border-bottom: 1px solid var(--border);
    -webkit-overflow-scrolling: touch;
  }

  .bg-mockup-nav-item {
    white-space: nowrap;
    margin-bottom: 0;
  }
}

@media (max-width: 720px) {
  .bg-nav-links,
  .bg-nav-actions .bg-btn--green {
    display: none;
  }

  .bg-burger {
    display: flex;
  }

  .bg-contacts,
  .bg-contact-bar {
    grid-template-columns: 1fr;
    max-width: 420px;
  }

  .bg-feature-cards {
    grid-template-columns: 1fr;
  }

  /* Как на скрине: бренд → 2 колонки ссылок (bg-footer + cucl-footer) */
  .bg-footer,
  .cucl-footer {
    padding: 36px 0 28px;
  }

  .bg-footer-grid,
  .cucl-footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px 18px;
    align-items: start;
  }

  .bg-footer-brand,
  .cucl-footer-brand {
    grid-column: 1 / -1;
    margin: 0;
  }

  .bg-footer-brand p,
  .cucl-footer-brand p {
    max-width: none;
    margin-top: 10px;
    font-size: 13px;
  }

  .bg-footer-col h4,
  .cucl-footer-col h4 {
    margin: 0 0 12px;
    font-size: 11px;
    letter-spacing: 0.1em;
  }

  .bg-footer-col a,
  .cucl-footer-col a {
    padding: 4px 0;
    font-size: 13px;
    line-height: 1.4;
  }

  .bg-footer-col--info,
  .cucl-footer-col--info {
    grid-column: auto;
  }

  .bg-footer-info-links,
  .cucl-footer-info-links {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .bg-footer-info-links a,
  .cucl-footer-info-links a {
    font-size: 13px;
    padding: 4px 0;
  }

  .bg-footer-bottom,
  .cucl-footer-bottom {
    justify-content: flex-start;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    text-align: left;
  }

  .bg-banner {
    padding: 28px 24px;
  }

  .bg-stats-row {
    grid-template-columns: 1fr;
  }

  /* Мокапы: лёгкая «живая» анимация на телефоне (home + teachers + v2 hero) */
  .bg-mockup-scene {
    perspective: 900px;
  }

  .bg-mockup-scene .bg-mockup,
  .bg-platform .bg-mockup,
  .bg-trust-block .bg-mockup.is-active,
  .bg-trust-block .bg-mockup:not([hidden]),
  .v2-hero-visual__frame {
    transform-origin: center center;
    animation: cucl-mockup-float 4.5s ease-in-out infinite;
    will-change: transform;
  }

  .bg-mockup-screen.is-active {
    animation: cucl-mockup-screen-in 0.4s ease both;
  }

  .bg-mockup-grade {
    animation: cucl-mockup-grade-pop 0.55s ease both;
  }

  .bg-mockup-screen.is-active .bg-mockup-grade:nth-child(1) { animation-delay: 0.05s; }
  .bg-mockup-screen.is-active .bg-mockup-grade:nth-child(2) { animation-delay: 0.1s; }
  .bg-mockup-screen.is-active .bg-mockup-grade:nth-child(3) { animation-delay: 0.15s; }

  .bg-mockup-glow,
  .v2-hero-visual__shine {
    animation: cucl-mockup-glow 5s ease-in-out infinite;
  }

  .bg-mockup-badge-dot {
    animation: cucl-mockup-pulse 1.6s ease-in-out infinite;
  }

  .v2-hero-float {
    animation: cucl-mockup-float 5.2s ease-in-out infinite;
  }

  .v2-hero-float--2 {
    animation-delay: 0.6s;
  }
}

@media (max-width: 720px) and (prefers-reduced-motion: reduce) {
  .bg-mockup-scene .bg-mockup,
  .bg-platform .bg-mockup,
  .bg-trust-block .bg-mockup,
  .v2-hero-visual__frame,
  .v2-hero-float,
  .bg-mockup-screen.is-active,
  .bg-mockup-grade,
  .bg-mockup-glow,
  .v2-hero-visual__shine,
  .bg-mockup-badge-dot {
    animation: none !important;
  }
}

@keyframes cucl-mockup-float {
  0%, 100% { transform: translateY(0) rotateY(-4deg) rotateX(2deg); }
  50% { transform: translateY(-10px) rotateY(4deg) rotateX(-1deg); }
}

@keyframes cucl-mockup-screen-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes cucl-mockup-grade-pop {
  from { transform: scale(0.7); opacity: 0.4; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes cucl-mockup-glow {
  0%, 100% { opacity: 0.45; transform: scale(1); }
  50% { opacity: 0.75; transform: scale(1.04); }
}

@keyframes cucl-mockup-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.85); }
}

/* Language switcher — mobile */
@media (max-width: 720px) {
  .bg-nav-actions .bg-lang:not(.bg-lang--mobile) {
    display: inline-flex;
  }
  .bg-nav-actions .bg-btn--ghost {
    display: none;
  }
  .bg-lang__btn {
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
  }
}
