/* =========================================================
   Si On Voyageait — surcharge mobile centralisee
   A modifier en priorite pour tous les ajustements mobiles.
   - bloc 1 : chrome commun (header, footer, pages)
   - bloc 2 : accueil
   Les styles desktop restent dans home.css / sov-pages.css / sov-article.css.
   ========================================================= */

@media (max-width: 760px) {
  .topbar { display: none; }

  header {
    padding: 16px 0 14px;
  }

  .head-inner {
    flex-wrap: nowrap;
    gap: 12px;
    align-items: center;
  }

  .brand {
    gap: 12px;
    min-width: 0;
  }

  .pin {
    width: 38px;
    height: 46px;
  }

  .pin svg {
    width: 38px;
  }

  .logotype {
    font-size: 28px;
  }

  .brand .sub {
    font-size: 16px;
  }

  .page-hero {
    padding: 28px 0 22px;
  }

  .page-hero .kicker {
    font-size: 24px;
  }

  .page-hero h1 {
    font-size: 42px;
    line-height: 1;
    margin: 6px 0 14px;
  }

  .page-hero .intro {
    font-size: 15px;
    line-height: 1.55;
  }

  .route {
    gap: 10px;
    padding: 18px 0 4px;
  }

  .route span {
    font-size: 18px;
  }

  footer {
    margin-top: 46px;
    padding: 40px 0 28px;
  }

  .foot-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 18px;
  }

  .foot-brand {
    flex: 0 0 auto;
    max-width: none;
    padding: 0;
  }

  .foot-panel {
    padding: 16px 16px 15px;
    border-radius: 14px;
  }

  .foot-col,
  .foot-col--dest,
  .foot-col--recent {
    flex: 0 0 auto;
    min-width: 0;
    width: 100%;
  }

  .foot-dest-listing {
    gap: 10px;
  }

  .foot-dest-item {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 10px;
    padding: 8px;
    transform: none;
  }

  .foot-dest-item:nth-child(2n),
  .foot-dest-item:nth-child(3n) {
    transform: none;
  }

  .foot-dest-item:hover {
    transform: none;
  }

  .foot-dest-media {
    width: 72px;
    aspect-ratio: 1;
  }

  .foot-dest-body {
    gap: 2px;
  }

  .foot-dest-over {
    font-size: 8.5px;
  }

  .foot-dest-name {
    font-size: 15px;
    line-height: 1.08;
  }

  .foot-dest-text {
    display: none;
  }

  .foot-dest-item::after {
    display: none;
  }

  .foot-col--recent .foot-recent {
    flex: 0 0 auto;
    gap: 10px;
  }

  .foot-recent a {
    gap: 10px;
    align-items: flex-start;
  }

  .foot-thumb {
    width: 52px;
    height: 52px;
    border-radius: 10px;
  }

  .foot-recent-t {
    font-size: 15px;
    line-height: 1.18;
  }

  .foot-col .socials {
    gap: 8px;
  }

  .foot-grid > * {
    margin: 0;
  }
}

@media (max-width: 600px) {
  .wrap {
    padding-left: 16px;
    padding-right: 16px;
  }

  .page-hero {
    padding: 22px 0 18px;
  }

  .page-hero h1 {
    font-size: 36px;
  }

  .route span {
    font-size: 16px;
  }

  .copy {
    flex-direction: column;
    gap: 6px;
  }
}

/* ---------- Accueil mobile ---------- */
@media (max-width: 760px) {
  body.home .hero {
    padding: 18px 0 38px;
  }

  body.home .hero-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  body.home .hero-grid > div:first-child {
    display: contents;
  }

  body.home .hero .kicker { order: 1; }
  body.home .hero h2 { order: 2; }
  body.home .hero p { order: 3; }
  body.home .hero-photo { order: 4; }
  body.home .hero-cta { order: 5; }

  body.home .hero-photo {
    max-width: 360px;
    margin: 0 auto;
  }

  body.home .polaroid {
    padding: 12px 12px 34px;
    transform: rotate(.8deg);
  }

  body.home .polaroid .ph {
    height: clamp(240px, 54vw, 340px);
  }

  body.home .polaroid .cap {
    font-size: 18px;
    margin-top: 10px;
  }

  body.home .stamp {
    top: -16px;
    left: -4px;
    width: 72px;
    height: 72px;
    font-size: 7.5px;
    line-height: 1.2;
  }

  body.home .hero-cta {
    gap: 10px;
    margin-top: 0;
    display: grid;
    grid-template-columns: 1fr;
  }

  body.home .hero-cta .btn {
    width: 100%;
    justify-content: center;
  }

  body.home .feature {
    margin-bottom: 28px;
  }

  body.home .feature .ph {
    height: 240px;
  }

  body.home .feature .meta {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }

  body.home .feature h4 {
    font-size: 28px;
    max-width: 12ch;
  }
}

@media (max-width: 600px) {
  body.home .hero {
    padding: 12px 0 30px;
  }

  body.home .hero-grid {
    gap: 18px;
  }

  body.home .hero .kicker {
    font-size: 24px;
  }

  body.home .hero h2 {
    font-size: 38px;
    line-height: 1;
    margin: 8px 0 14px;
  }

  body.home .hero p {
    font-size: 14px;
    line-height: 1.55;
    max-width: none;
  }

  body.home .hero-photo {
    max-width: 310px;
  }

  body.home .polaroid {
    width: min(100%, 310px);
    margin: 0 auto;
    padding: 10px 10px 28px;
    transform: none;
    box-shadow: 0 16px 34px -22px rgba(42,37,33,.34);
  }

  body.home .polaroid .ph {
    height: min(48vh, 260px);
    min-height: 200px;
  }

  body.home .polaroid .cap {
    font-size: 16px;
    line-height: 1.15;
  }

  body.home .stamp {
    top: -10px;
    left: 8px;
    width: 62px;
    height: 62px;
    font-size: 7px;
  }

  body.home .hero-cta {
    margin-top: 0;
  }

  body.home .hero-cta .btn {
    padding: 12px 18px;
    font-size: 14px;
  }

  body.home .stats {
    margin-top: 4px;
  }

  body.home .stats-motif {
    padding: 16px 0 0;
    gap: 10px;
  }

  body.home .stats-motif .dash {
    width: 34px;
  }

  body.home .stats-motif .van img {
    width: 78px;
  }

  body.home .stat {
    padding: 20px 6px;
  }

  body.home .sec {
    padding: 40px 0 6px;
  }

  body.home .sec-head {
    margin-bottom: 18px;
  }

  body.home .sec-head .eye {
    font-size: 22px;
  }

  body.home .sec-head h3 {
    font-size: 30px;
    line-height: 1.04;
  }

  body.home .seemore {
    font-size: 11px;
  }

  body.home .news {
    margin-top: 42px;
    border-radius: 6px;
  }
}
