@media (max-width: 900px) {
    .occasion-grid { grid-template-columns: repeat(2,1fr); }
    .studio-copy { width: 70%; }
}

@media (max-width: 700px) {
    .home-shell,.nav-shell,.section,.form-wrap { width: min(calc(100% - 30px),1180px); }
    .nav-shell { min-height: 74px; }
    .brand { font-size: 27px; line-height: 1.05; }
    .menu-toggle { display: block; font-size: 34px; padding: 8px 4px 8px 12px; line-height: 1; }
    .topbar nav { display: none; position: absolute; left: 15px; right: 15px; top: 74px; z-index: 20; padding: 15px; background: #09172f; border: 1px solid var(--line); border-radius: 14px; flex-direction: column; align-items: stretch; }
    .topbar nav.open { display: flex; }

    .home-hero { min-height: 780px; align-items: flex-end; }
    .hero-art { background-position: 58% center; }
    .hero-shade { background: linear-gradient(0deg,#061127 0%,rgba(6,17,39,.82) 32%,rgba(6,17,39,.22) 67%,rgba(6,17,39,.06) 100%); }
    .hero-content { width: min(calc(100% - 30px), 660px); padding: 0 0 58px; text-align: center; }
    .hero-content > * { max-width: none; }
    .kicker { margin-bottom: 6px; font-size: 11px; }
    .hero-logo { width: min(520px, 96%); margin: 0 auto 2px; }
    .hero-lead { margin-bottom: 16px; font-size: 18px; }
    .cta { width: 100%; max-width: 500px; padding: 18px 15px; }
    .hero-tags { justify-content: center; gap: 9px 13px; margin-top: 27px; font-size: 10px; }

    .how { padding: 48px 0 58px; }
    .hand { font-size: 36px; }
    .how-grid { grid-template-columns: 1fr 1fr; gap: 34px 16px; }
    .how-grid h3 { font-size: 16px; }
    .how-grid p { font-size: 13px; }

    .life { padding-top: 60px; }
    .section-lead { font-size: 16px; }
    .occasion-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .occasion { border-radius: 17px; }
    .occasion-media { aspect-ratio: 4 / 3; }
    .occasion-copy { min-height: 94px; padding: 12px 8px 14px; }
    .occasion-copy b { font-size: 14px; }
    .occasion-copy small { font-size: 11px; }

    .testimonial { padding: 52px 18px; }
    blockquote { font-size: 18px; }
    .studio { min-height: 520px; align-items: flex-end; background: #061127; }
    .studio-copy { width: 100%; padding-bottom: 50px; text-align: center; }
    .studio .hand { text-align: center; font-size: 36px; }
    .studio p { font-size: 17px; }
    .footer-inner { grid-template-columns: 1fr; text-align: center; }
    .footer-inner > div:last-child { text-align: center; }
    .legal { justify-content: center; flex-wrap: wrap; }
    .table { font-size: 13px; }
    .panel { padding: 18px; }
    .actions { flex-wrap: wrap; }
    .actions .btn { flex: 1; }
    .form-wrap > h1 { font-size: 34px; }
}

@media (max-width: 420px) {
    .home-hero { min-height: 750px; }
    .hero-logo { width: 100%; }
    .occasion-copy { min-height: 98px; }
    .occasion-copy b { font-size: 13px; }
    .occasion-copy small { font-size: 10.5px; }
    .hand { font-size: 32px; }
}

/* ==========================================================
   CORRECTIONS MOBILES VALIDÉES — 08/09/2026
   1. Affiche l'intégralité du visuel principal sans couper les textes.
   2. Cartes occasions : photo 4:3 complète en haut, texte dessous.
   ========================================================== */
@media (max-width: 760px) {
    .poster-wrap {
        width: 100%;
        height: auto;
        overflow: hidden;
    }

    .poster-wrap > img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: 0;
        object-fit: contain;
    }

    .poster-cta {
        left: 30%;
        top: 45.2%;
        width: 40%;
        height: 6.8%;
    }

    .occasion-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .occasion {
        display: flex;
        flex-direction: column;
        min-height: 0;
        overflow: hidden;
        border-radius: 18px;
    }

    .occasion-media {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        flex: 0 0 auto;
    }

    .occasion-media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }

    .occasion-copy {
        min-height: 112px;
        padding: 15px 9px 17px;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .occasion-copy b {
        font-size: 15px;
        line-height: 1.2;
    }

    .occasion-copy small {
        margin-top: 9px;
        font-size: 12px;
        line-height: 1.35;
    }
}

@media (max-width: 420px) {
    .poster-wrap > img {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .occasion {
        display: flex;
        flex-direction: column;
    }

    .occasion-copy {
        min-height: 108px;
    }

    .occasion-copy b {
        font-size: 14px;
    }

    .occasion-copy small {
        font-size: 11px;
    }
}
@media(max-width:760px){.pricing-cards{grid-template-columns:1fr}.price-card.featured{transform:none}.pricing-page,.faq-page{padding-top:36px}.compare-scroll{margin-left:-2px;margin-right:-2px}.faq-item summary{padding:17px 16px}.faq-answer{padding:0 16px 16px}.page-heading p{font-size:16px}}

/* Tarifs mobile : tout le comparatif tient dans l'écran, sans scroll horizontal */
@media(max-width:760px){
  .compare-wrap{width:100%;max-width:100%;overflow:hidden}
  .compare-wrap h2{font-size:28px;margin-bottom:18px}
  .compare-scroll{width:100%;overflow:visible;border-radius:14px}
  .compare-table{width:100%;min-width:0!important;table-layout:fixed;font-size:11px}
  .compare-table th,.compare-table td{padding:9px 3px;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
  .compare-table th:first-child,.compare-table td:first-child{width:40%;padding-left:7px;padding-right:5px}
  .compare-table th:not(:first-child),.compare-table td:not(:first-child){width:20%;text-align:center}
  .compare-table thead th{font-size:10px;line-height:1.2;vertical-align:middle}
  .compare-table thead th b{font-size:11px}
  .compare-table tbody td:first-child{font-size:11px;line-height:1.25}
  .compare-table .yes,.compare-table .no{width:24px;height:24px;font-size:16px;margin:auto}
}
@media(max-width:390px){
  .compare-table{font-size:10px}
  .compare-table th,.compare-table td{padding:8px 2px}
  .compare-table th:first-child,.compare-table td:first-child{width:43%;padding-left:5px}
  .compare-table th:not(:first-child),.compare-table td:not(:first-child){width:19%}
  .compare-table thead th{font-size:9px}
  .compare-table tbody td:first-child{font-size:10px}
  .compare-table .yes,.compare-table .no{width:22px;height:22px;font-size:15px}
}

/* Comparatif mobile natif : aucune table large, aucun défilement horizontal. */
.compare-mobile{display:none}
@media(max-width:760px){
  .compare-desktop{display:none!important}
  .compare-mobile{
    display:grid;
    grid-template-columns:minmax(0,46%) repeat(3,minmax(0,18%));
    width:100%; max-width:100%; overflow:hidden;
    border:1px solid var(--line); border-radius:16px;
    background:#09162d;
  }
  .compare-mobile>*{min-width:0;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.08)}
  .cm-head{padding:12px 2px;text-align:center;font-size:10px;line-height:1.15;font-weight:800;overflow-wrap:anywhere}
  .cm-head b{font-size:11px}
  .cm-service{text-align:left;padding-left:7px;background:#102344}
  .cm-essential{background:linear-gradient(180deg,rgba(255,47,135,.36),#102344)}
  .cm-premium{background:linear-gradient(180deg,rgba(65,82,255,.42),#102344);border-left:1px solid rgba(108,93,255,.48);border-right:1px solid rgba(108,93,255,.48)}
  .cm-event{background:linear-gradient(180deg,rgba(255,139,57,.38),#102344)}
  .cm-label{padding:10px 5px 10px 7px;font-size:10.5px;line-height:1.2;overflow-wrap:anywhere}
  .cm-value{display:grid;place-items:center;padding:7px 1px}
  .cm-value:nth-child(4n+3){border-left:1px solid rgba(108,93,255,.48);border-right:1px solid rgba(108,93,255,.48)}
  .compare-mobile .yes,.compare-mobile .no{width:23px;height:23px;font-size:15px;margin:0}
}
@media(max-width:380px){
  .compare-mobile{grid-template-columns:minmax(0,49%) repeat(3,minmax(0,17%))}
  .cm-head{font-size:9px;padding-inline:1px}.cm-head b{font-size:10px}
  .cm-label{font-size:9.5px;padding-left:5px;padding-right:3px}
  .compare-mobile .yes,.compare-mobile .no{width:21px;height:21px;font-size:14px}
}

/* FINAL — cartes occasions mobiles : photo bord à bord, sans bandes vides */
@media (max-width:760px){
  .occasion-media{aspect-ratio:16/9!important;background:transparent!important}
  .occasion-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  .occasion-copy{min-height:88px!important;padding:12px 8px 14px!important}
}
