/* ==============================================
   IVOTRA — Responsive Styles
   ============================================== */

/* ==============================================
   Large Desktop (1280px+)
   ============================================== */
@media (min-width: 1280px) {
  :root {
    --container-pad: 56px;
  }
}

/* ==============================================
   Tablet — Landscape (1024px and below)
   ============================================== */
@media (max-width: 1024px) {
  :root {
    --container-pad: 28px;
  }

  /* Expertise — 2 columns */
  .expertise-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .expertise-card:nth-child(3n) {
    border-right: 1px solid var(--border);
  }

  .expertise-card:nth-child(2n) {
    border-right: none;
  }

  .expertise-card:nth-child(4),
  .expertise-card:nth-child(5),
  .expertise-card:nth-child(6) {
    border-bottom: 1px solid var(--border);
  }

  .expertise-card:nth-child(5),
  .expertise-card:nth-child(6) {
    border-bottom: none;
  }

  /* Training cards — stack */
  .trainings-grid {
    grid-template-columns: 1fr;
    max-width: 640px;
  }

  /* Trainings header */
  .trainings-preview__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  /* Detail card meta */
  .detail-meta-strip {
    flex-wrap: wrap;
  }

  .detail-card__header {
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .detail-card__conf {
    text-align: left;
  }

  /* Request private */
  .request-private-card {
    flex-direction: column;
    align-items: flex-start;
  }

  /* Contact layout */
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .contact-info {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 32px;
  }

  /* Footer */
  .footer__inner {
    flex-direction: column;
    gap: 32px;
  }

  .footer__right {
    align-items: flex-start;
  }
}

/* ==============================================
   Tablet — Portrait (768px and below)
   ============================================== */
@media (max-width: 768px) {
  :root {
    --container-pad: 20px;
  }

  /* Nav */
  .nav__links {
    gap: 24px;
  }

  .nav__link {
    font-size: 14px;
  }

  /* Hero */
  .hero {
    padding-top: calc(var(--nav-height) + 64px);
    padding-bottom: 72px;
    min-height: 88vh;
  }

  .hero__description {
    font-size: 17px;
  }

  /* Expertise — 1 column */
  .expertise-grid {
    grid-template-columns: 1fr;
    border-radius: 10px;
  }

  .expertise-card:nth-child(n) {
    border-right: none;
    border-bottom: 1px solid var(--border);
  }

  .expertise-card:last-child {
    border-bottom: none;
  }

  .expertise-card {
    padding: 24px;
  }

  /* Sections */
  .expertise,
  .trainings-preview,
  .private-cta {
    padding: 72px 0;
  }

  /* Detail card */
  .training-detail-card {
    padding: 28px 24px;
  }

  .detail-meta-strip {
    width: 100%;
  }

  .detail-meta-block {
    flex: 1;
    min-width: 120px;
    padding: 10px 16px;
  }

  .detail-card__abstract {
    padding: 16px 18px;
  }

  /* Request private */
  .request-private-card {
    padding: 28px 24px;
  }

  /* Contact */
  .contact-page {
    padding-bottom: 80px;
  }

  .contact-info {
    flex-direction: column;
    gap: 24px;
  }

  /* Page hero */
  .page-hero {
    padding-top: calc(var(--nav-height) + 56px);
    padding-bottom: 52px;
  }

  /* Footer */
  .footer {
    padding: 40px 0;
  }

  .footer__links {
    gap: 20px;
  }
}

/* ==============================================
   Mobile (480px and below)
   ============================================== */
@media (max-width: 480px) {
  :root {
    --container-pad: 16px;
  }

  /* Nav — tighter */
  .nav__links {
    gap: 18px;
  }

  .logo-wordmark {
    font-size: 17px;
  }

  /* Hero */
  .hero {
    min-height: auto;
    padding-top: calc(var(--nav-height) + 48px);
    padding-bottom: 60px;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .hero__actions .btn {
    justify-content: center;
  }

  /* Section headings */
  .section-heading {
    font-size: 28px;
  }

  /* Training card */
  .training-detail-card {
    padding: 20px;
  }

  .detail-meta-strip {
    flex-direction: column;
  }

  .detail-meta-block {
    border-right: none;
    border-bottom: 1px solid var(--border);
  }

  .detail-meta-block:last-child {
    border-bottom: none;
  }

  .detail-card__actions {
    flex-direction: column;
  }

  .detail-card__actions .btn {
    justify-content: center;
  }

  /* Contact form */
  .form-row {
    grid-template-columns: 1fr;
  }

  .contact-title {
    font-size: 52px;
  }

  /* Footer */
  .footer__links {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  /* Request private */
  .request-private-card {
    gap: 20px;
  }

  .request-private-card .btn {
    width: 100%;
    justify-content: center;
  }

  /* Private CTA */
  .private-cta .btn {
    width: auto;
  }

  /* Not found */
  .not-found-page {
    padding: 40px 16px;
  }
}

/* ==============================================
   Reduced motion
   ============================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html {
    scroll-behavior: auto;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* ==============================================
   Dark mode (system preference — minimal support)
   ============================================== */
@media (prefers-color-scheme: dark) {
  /* Reserved for future — IVOTRA currently uses light mode only */
}
