/* =============================================================================
   FRANCO AJIDAUCEI – RESPONSIVE STYLES
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Large Desktop – 1440px+
   ----------------------------------------------------------------------------- */
@media (min-width: 1440px) {
  .fap-hero__title { font-size: 180px; }
  .fap-gallery__grid { grid-auto-rows: 260px; }
}

/* -----------------------------------------------------------------------------
   Desktop – up to 1280px
   ----------------------------------------------------------------------------- */
@media (max-width: 1280px) {
  :root { --fap-container-px: clamp(20px, 4vw, 60px); }
  .fap-nav__list .menu-item a { font-size: 12px; padding: 8px 10px; }
  .fap-gallery__grid { grid-template-columns: repeat(3, 1fr); }
}

/* -----------------------------------------------------------------------------
   Tablet – up to 1024px
   ----------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  /* Header */
  .fap-header__nav,
  .fap-header__cta { display: none; }
  .fap-header__hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--fap-radius);
    border: 1px solid var(--fap-border);
    color: var(--fap-text-secondary);
    margin-left: auto;
    transition: all 0.2s;
  }
  .fap-header__hamburger:hover { border-color: rgba(255,255,255,0.25); color: #fff; }
  .fap-header__hamburger svg { width: 20px; height: 20px; }

  /* Intro */
  .fap-intro__grid { grid-template-columns: 1fr; gap: 40px; }

  /* Stats */
  .fap-stats__grid { grid-template-columns: repeat(2, 1fr); }

  /* Strengths */
  .fap-strengths__grid { grid-template-columns: 1fr; gap: 20px; }

  /* Tech potential */
  .fap-tech-potential__grid { grid-template-columns: 1fr; }

  /* Development */
  .fap-development__inner { grid-template-columns: 1fr; }

  /* PDF CTA */
  .fap-pdf-cta__inner { flex-direction: column; align-items: flex-start; gap: 28px; }

  /* Contact */
  .fap-contact__grid { grid-template-columns: 1fr; }

  /* Footer */
  .fap-footer__top { grid-template-columns: 1fr; gap: 28px; }
  .fap-footer__nav { justify-content: flex-start; }
  .fap-footer__nav-list { justify-content: flex-start; }

  /* Gallery */
  .fap-gallery__grid { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 180px; }

  /* Lightbox nav */
  .fap-lightbox__prev { left: 10px; }
  .fap-lightbox__next { right: 10px; }
  .fap-lightbox__close { top: 10px; right: 10px; }
}

/* -----------------------------------------------------------------------------
   Mobile – up to 768px
   ----------------------------------------------------------------------------- */
@media (max-width: 768px) {
  :root {
    --fap-section-py: clamp(48px, 10vw, 80px);
    --fap-container-px: 20px;
    --fap-gap: 16px;
  }

  /* Header */
  .fap-header { padding: 16px 0; }
  .fap-header.is-scrolled { padding: 12px 0; }
  .fap-header__name { display: none; }

  /* Hero */
  .fap-hero__title { font-size: clamp(56px, 18vw, 100px); }
  .fap-hero__facts {
    gap: 6px;
  }
  .fap-hero__fact { padding: 8px 12px; }
  .fap-hero__scroll { display: none; }

  /* Stats */
  .fap-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .fap-stats__seasons { gap: 6px; }
  .fap-stats__season-btn { font-size: 12px; padding: 8px 14px; }

  /* Videos */
  .fap-videos__grid { grid-template-columns: 1fr; }

  /* References */
  .fap-references__grid { grid-template-columns: 1fr; }

  /* Gallery */
  .fap-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 150px;
  }
  .fap-gallery__item--wide { grid-column: span 1; }
  .fap-gallery__item--tall { grid-row: span 1; }

  /* Contact actions */
  .fap-contact__actions { flex-direction: column; }
  .fap-contact__actions .fap-btn { width: 100%; }

  /* Hero actions */
  .fap-hero__actions { flex-direction: column; }
  .fap-hero__actions .fap-btn { width: 100%; justify-content: center; }

  /* Lightbox */
  .fap-lightbox__prev,
  .fap-lightbox__next {
    width: 40px;
    height: 40px;
    position: fixed;
    top: auto;
    bottom: 20px;
    transform: none;
  }
  .fap-lightbox__prev { left: calc(50% - 52px); }
  .fap-lightbox__next { right: calc(50% - 52px); }
  .fap-lightbox__close { position: fixed; top: 16px; right: 16px; }

  .fap-lightbox__image { max-height: 60vh; }

  /* Video modal */
  .fap-video-modal__container { width: 100%; border-radius: 0; }
  .fap-video-modal__close { top: 16px; right: 16px; position: fixed; }

  /* Timeline */
  .fap-timeline__item { grid-template-columns: 24px 1fr; gap: 16px; }
  .fap-timeline__club { font-size: clamp(22px, 6vw, 32px); }

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

/* -----------------------------------------------------------------------------
   Small Mobile – up to 430px
   ----------------------------------------------------------------------------- */
@media (max-width: 430px) {
  .fap-hero__title { font-size: clamp(52px, 16vw, 80px); }
  .fap-hero__facts { flex-direction: row; gap: 6px; }
  .fap-hero__fact { flex-direction: column; justify-content: flex-start; align-items: flex-start; }

  .fap-section-title { font-size: clamp(28px, 8vw, 44px); }

  .fap-stats__grid { grid-template-columns: repeat(2, 1fr); }

  .fap-gallery__grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 130px;
  }

  .fap-player-card__row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .fap-player-card__row dd { text-align: left; }

  .fap-contact__graphic { display: none; }
}

/* -----------------------------------------------------------------------------
   Extra Small – up to 375px
   ----------------------------------------------------------------------------- */
@media (max-width: 375px) {
  .fap-hero__title { font-size: 48px; }
  .fap-stats__grid { grid-template-columns: 1fr 1fr; }
  .fap-gallery__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: 200px;
  }
  .fap-gallery__item--wide,
  .fap-gallery__item--tall {
    grid-column: span 1;
    grid-row: span 1;
  }
  .fap-strengths__grid { grid-template-columns: 1fr; }
  .fap-references__grid { grid-template-columns: 1fr; }
  .fap-pdf-cta__action .fap-btn { width: 100%; justify-content: center; }
}

/* -----------------------------------------------------------------------------
   Print styles
   ----------------------------------------------------------------------------- */
@media print {
  .fap-header,
  .fap-mobile-menu,
  .fap-hero__scroll,
  .fap-hero__field-lines { display: none !important; }
  body { background: #fff; color: #000; }
  .fap-section { padding: 20px 0; }
}

/* ── Hero layout responsive ────────────────────────────────────────── */

/* Desktop: two columns side by side */
@media (min-width: 993px) {
  .fap-hero__layout {
    grid-template-columns: 1fr 42%;
    min-height: 100vh;
  }
  .fap-hero__content {
    padding: 100px clamp(40px, 5vw, 80px) 80px 0;
  }
  .fap-hero__photo {
    display: flex;
  }
}

/* Mobile / Tablet ≤992px: single column, photo below content */
@media (max-width: 992px) {
  .fap-hero__inner {
    padding-left: var(--fap-container-px);
    padding-right: var(--fap-container-px);
  }
  .fap-hero__layout {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    min-height: 0;
  }
  .fap-hero__content {
    padding: 60px 0 32px 0;
  }
  .fap-hero__photo {
    display: flex;
    overflow: hidden;
  }
  .fap-hero__photo-frame {
    width: 100%;
    height: auto;
  }
  .fap-hero__photo-img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: top center;
  }
}

@media (max-width: 480px) {
  .fap-hero__content {
    padding-top: 48px;
  }
}

/* Palmares */
@media (max-width: 768px) {
  .fap-palmares__grid { grid-template-columns: 1fr; gap: 12px; }
  .fap-palmares__item { flex-direction: row; align-items: flex-start; padding: 24px 20px; gap: 16px; }
}

/* Contact simple */
@media (max-width: 600px) {
  .fap-contact-simple__card { padding: 28px 20px; }
  .fap-contact-simple__actions { flex-direction: column; width: 100%; }
  .fap-contact-simple__btn { width: 100%; justify-content: center; }
}

