/* ==========================================================================
   PETITFUTE — Responsive Stylesheet
   ========================================================================== */

/* === TABLET LANDSCAPE  (max-width: 1199px) ================================ */
@media (max-width: 1199px) {
    .hero__title { font-size: 3.6rem; }
    .section__title { font-size: 2.4rem; }
    .cta-card__title { font-size: 2.2rem; }
    .service-detail-title { font-size: 2rem; }

    .grid-4 { grid-template-columns: repeat(2,1fr); }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
    .stats-row--5col { grid-template-columns: repeat(3,1fr); }
    .split { gap: 52px; }
}

/* === TABLET PORTRAIT  (max-width: 991px) ================================= */
@media (max-width: 991px) {
    :root { --section-pad: 72px; }

    /* Header: hide desktop nav, show hamburger */
    .header-nav  { display: none; }
    .hamburger   { display: flex; }
    .header-cta  { display: none; }

    .container { padding-left: 32px; padding-right: 32px; }

    .hero__title          { font-size: 3rem; }
    .hero__subtitle       { font-size: 1rem; }
    .hero__title--centered{ font-size: 2.4rem; }

    .grid-3               { grid-template-columns: repeat(2,1fr); }
    .split                { grid-template-columns: 1fr; gap: 40px; }
    .split--reversed      { grid-template-columns: 1fr; }
    .split--reversed .split__image-wrap { order: -1; }
    .split__image         { aspect-ratio: 16/9; }
    .split__image-wrap--accent { border-left: none; border-top: 4px solid var(--accent); }

    .contact-layout       { grid-template-columns: 1fr; gap: 40px; }
    .form-row             { grid-template-columns: 1fr 1fr; }

    .hero__stats          { position: static; margin-top: 40px; padding: 32px 0; }
    .hero__content-area   { padding-bottom: 60px; }
    .hero--full           { justify-content: center; }

    .cta-card             { padding: 56px 40px; }
    .cta-card__title      { font-size: 2rem; }

    .stats-row--5col      { grid-template-columns: repeat(3,1fr); }

    .neighborhood-guide__cards     { grid-template-columns: repeat(2,1fr); }
    .neighborhood-guide__cards--2col { grid-template-columns: 1fr 1fr; }

    .legal-info-grid      { grid-template-columns: 1fr; }
}

/* === MOBILE LARGE  (max-width: 767px) ==================================== */
@media (max-width: 767px) {
    :root { --section-pad: 60px; }

    .container { padding-left: 20px; padding-right: 20px; }

    .hero--full            { min-height: 100svh; }
    .hero__title           { font-size: 2.4rem; }
    .hero__subtitle        { font-size: 0.98rem; max-width: 100%; }
    .hero__title--centered { font-size: 2rem; }

    .section__title        { font-size: 1.9rem; }
    .cta-card__title       { font-size: 1.75rem; }
    .service-detail-title  { font-size: 1.8rem; }

    .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
    .neighborhood-guide__cards,
    .neighborhood-guide__cards--2col { grid-template-columns: 1fr; }

    .hero__stats-inner { flex-direction: column; max-width: 100%; gap: 0; }
    .hero__stat + .hero__stat { border-left: none; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 16px; margin-top: 16px; }
    .hero__stat { padding: 0; }

    .btn-group { flex-direction: column; width: 100%; }
    .btn-group .btn-primary,
    .btn-group .btn-secondary,
    .btn-group .btn-ghost { width: 100%; justify-content: center; }

    .footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }

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

    .cta-card { padding: 44px 24px; }
    .cta-card__actions { flex-direction: column; }
    .cta-card__actions .btn-primary,
    .cta-card__actions .btn-secondary { width: 100%; justify-content: center; }

    .contact-info-row { flex-direction: column; gap: 16px; align-items: flex-start; }

    .filter-bar__inner { flex-direction: column; align-items: stretch; }
    .filter-wrap { min-width: unset; }

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

    .comparison-wrap { overflow-x: auto; }
    .comparison-table { min-width: 480px; }
}

/* === MOBILE SMALL  (max-width: 575px) ==================================== */
@media (max-width: 575px) {
    .hero__title           { font-size: 2rem; }
    .hero__title--centered { font-size: 1.8rem; }
    .section__title        { font-size: 1.7rem; }

    .stat-block__number    { font-size: 2.8rem; }
    .testimonial-card      { padding: 28px 22px; }
    .service-card          { padding: 32px 24px; }
    .value-card            { padding: 36px 24px; }
    .property-card__body   { padding: 20px; }
    .office-card           { padding: 28px 20px; }
    .contact-info-card     { padding: 28px 20px; }
    .cta-card              { padding: 36px 20px; }
    .faq-question          { font-size: 0.98rem; }

    .neighborhood-card     { aspect-ratio: 3/4; }

    .stats-row--5col,
    .stats-row--3col { grid-template-columns: 1fr 1fr; }

    .legal-info-grid { grid-template-columns: 1fr; }
}
