/* GTA6FAN v1.2.0 — correctifs iPhone, 30 octobre 2026.
   CSS volontairement chargé APRÈS les styles v118/v119.
   Aucun changement à la présentation desktop ni aux interactions de la carte. */
.g6-mobile-scene-heading { display: none; }

@media (max-width: 860px) {
  /* Le débordement venait avant tout des 6 éléments rigides de l'en-tête. */
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  .header, .g6-header { box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; }

  body .header,
  .g6-body .g6-header.g6-header--premium {
    display: grid;
    grid-template-columns: minmax(78px,1fr) 38px minmax(0,96px) 38px;
    grid-template-areas: "brand account language menu" "modes modes modes modes";
    align-items: center;
    column-gap: 7px;
    row-gap: 8px;
    height: auto;
    min-height: 0;
    padding: 8px 10px 9px;
  }
  body .header .logo,
  .g6-body .g6-header .g6-brand { grid-area: brand; min-width: 0; max-width: 100%; }
  body .header .logo img,
  .g6-body .g6-header .g6-brand img { width: min(114px,100%); height: auto; max-height: 44px; }

  body .header .mode-tabs,
  .g6-body .g6-header .g6-mode {
    grid-area: modes;
    justify-self: center;
    width: auto;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    display: flex;
    justify-content: center;
  }
  body .header .mode-tabs a,
  .g6-body .g6-header .g6-mode a {
    padding: 7px 12px;
    font-size: 12px;
    white-space: nowrap;
  }
  body .header .g6-account-entry--legacy,
  .g6-body .g6-header .g6-account-entry {
    grid-area: account;
    min-width: 38px;
    width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 8px;
    margin: 0;
    justify-self: center;
  }
  body .header .g6-account-entry span,
  .g6-body .g6-header .g6-account-entry span { display: none; }

  body .header .g6-lang-switch,
  .g6-body .g6-header .g6-lang-switch {
    grid-area: language;
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: 96px;
    min-width: 0;
    justify-self: stretch;
  }
  .header .g6-lang-switch .g6-lang-label,
  .g6-header .g6-lang-switch .g6-lang-label { display: none; }
  .header .g6-lang-switch select,
  .g6-header .g6-lang-switch select {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 38px;
    font-size: 11px;
    padding: 6px 16px 6px 5px;
  }

  body .header .menu-btn,
  .g6-body .g6-header .g6-menu-toggle {
    grid-area: menu;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    margin: 0;
    padding: 0;
    gap: 0;
  }
  .header .menu-btn span, .g6-header .g6-menu-toggle span { display: none; }
  body .menu-panel {
    top: 105px; left: 0; right: 0; bottom: 62px; width: 100%; max-width: 100%;
  }
  .g6-body .g6-menu { top: 105px; left: 0; right: 0; width: 100%; max-width: 100%; }
  .mobile-nav, .g6-mobile-nav { width: 100%; max-width: 100%; min-width: 0; }
  .mobile-nav > *, .g6-mobile-nav > * { min-width: 0; }

  /* Les éléments de grille restent réellement dans leur colonne. */
  .container, .g6-container, .two-col, .grid-cards,
  .quick-grid, .g6m-home__layout, .g6m-board,
  .g6-home-map-scene .two-col > div, .content-card,
  .section-lead, .g6-home-realmap { min-width: 0; max-width: 100%; }
  img, video { max-width: 100%; }
}

@media (max-width: 760px) {
  body.g6-home-inworld .g6-home-inworld__label { display: none; }

  /* Les scènes restent des images pleines en 16:9, pas des zones recouvertes
     de filtres CSS. Renforcer la spécificité corrige v118 qui écrasait v119. */
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-discover,
  body.g6-legacy-dark.g6-home-inworld .section.g6m-home,
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-map-scene,
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-guides-scene,
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-news-scene,
  body.g6-legacy-dark.g6-home-inworld .section-small.g6-home-player-teaser {
    display: block;
    position: relative;
    padding: 0 0 35px;
    min-width: 0;
    min-height: 0;
    background: #191722;
    background-image: none;
    overflow: clip;
  }
  body.g6-home-inworld .g6-home-discover-background { display: none; }

  body.g6-legacy-dark.g6-home-inworld .section.g6-home-discover::before,
  body.g6-legacy-dark.g6-home-inworld .section.g6m-home::before,
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-map-scene::before,
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-guides-scene::before,
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-news-scene::before,
  body.g6-legacy-dark.g6-home-inworld .section-small.g6-home-player-teaser::before {
    content: "";
    display: block;
    position: relative;
    inset: auto;
    z-index: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 1672 / 941;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    pointer-events: none;
  }
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-discover::before {
    background-image: url('/assets/gta6fan-home-scenes/02-ville-apres-pluie.webp');
  }
  body.g6-legacy-dark.g6-home-inworld .section.g6m-home::before {
    background-image: url('/assets/gta6fan-home-scenes/03-nuit-vice-city.webp');
  }
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-map-scene::before {
    background-image:
      linear-gradient(to top, rgba(13,11,25,.83),rgba(13,11,25,.06) 58%,transparent),
      url('/assets/gta6fan-home-scenes/05-marina-residentielle.webp');
  }
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-guides-scene::before {
    background-image: url('/assets/gta6fan-home-scenes/06-promenade-plage.webp');
  }
  body.g6-legacy-dark.g6-home-inworld .section.g6-home-news-scene::before {
    background-image:
      linear-gradient(to top, rgba(13,11,25,.83),rgba(13,11,25,.06) 58%,transparent),
      url('/assets/gta6fan-home-scenes/03-nuit-vice-city.webp');
  }
  body.g6-legacy-dark.g6-home-inworld .section-small.g6-home-player-teaser::before {
    background-image: url('/assets/gta6fan-home-scenes/02-ville-apres-pluie.webp');
  }
  body.g6-legacy-dark.g6-home-inworld .section.g6m-home::after { display: none; }

  /* On conserve la taille réelle des photos sans blocs de hauteur artificielle. */
  body.g6-home-inworld .g6-home-discover-inner,
  body.g6-home-inworld .g6m-home > .container,
  body.g6-home-inworld .g6-home-map-scene > .container,
  body.g6-home-inworld .g6-home-guides-scene > .container,
  body.g6-home-inworld .g6-home-news-scene > .container,
  body.g6-home-inworld .g6-home-player-teaser > .container {
    position: relative;
    width: calc(100% - 34px);
    max-width: 100%;
    min-width: 0;
    margin: 24px auto 0;
    padding: 0;
    z-index: 1;
  }

  /* Titres sur la photo : le bloc occupe le bandeau et ne pousse pas les cartes
     sur l'image. Fonctionne pour les 10 langues. */
  body.g6-home-inworld .g6-mobile-scene-heading {
    display: flex;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    height: 56.28vw;
    max-height: 56.28vw;
    margin-top: -56.28vw;
    padding: 14px 17px clamp(15px, 4vw, 25px);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    color: #fff5ed;
    pointer-events: none;
  }
  body.g6-home-inworld .g6-mobile-scene-heading .eyebrow {
    margin: 0 0 8px;
    font-size: clamp(11px, 3vw, 14px);
    line-height: 1.15;
    color: #ffb2c7;
    letter-spacing: .10em;
    text-shadow: 0 2px 9px #05030bc9;
  }
  body.g6-home-inworld .g6-mobile-scene-heading h2 {
    max-width: 100%;
    margin: 0;
    font-size: clamp(31px, 8.7vw, 50px);
    line-height: 1;
    color: #fff6ed;
    text-shadow: 0 2px 14px #080615de;
    overflow-wrap: anywhere;
  }
  body.g6-home-inworld .g6-home-news-scene > .container > .eyebrow,
  body.g6-home-inworld .g6-home-news-scene > .container > h2,
  body.g6-home-inworld .g6-home-map-scene .section-lead > .eyebrow,
  body.g6-home-inworld .g6-home-map-scene .section-lead > h2 {
    display: none;
  }

  body.g6-home-inworld .g6-home-map-scene .two-col {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
  body.g6-home-inworld .g6-home-map-scene .two-col > div { width: 100%; min-width: 0; }
  body.g6-home-inworld .g6-home-realmap {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  body.g6-home-inworld .g6-home-realmap__canvas,
  body.g6-home-inworld .g6-home-realmap__status { max-width: 100%; }

  body.g6-home-inworld .g6-home-guides-scene .content-card .visual,
  body.g6-home-inworld .g6-home-news-scene .content-card .visual {
    min-height: 0;
    height: auto;
    aspect-ratio: 3 / 2;
    background-color: #211c29;
    background-position: center;
    background-size: 100% 100%, cover !important;
    background-repeat: no-repeat !important;
  }
  body.g6-home-inworld .g6-home-news-scene .content-card .visual img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
  }
  body.g6-home-inworld .g6-home-discover-grid .quick-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    background: #211c29;
    filter: none;
  }
  /* Bandes internes des autres pages : pas de gradient foncé opaque. */
  .g6-body #g6-main .g6-hero::before {
    background-color: #1b1824;
    background-size: contain;
  }
}

@media (max-width: 360px) {
  body .header,
  .g6-body .g6-header.g6-header--premium {
    grid-template-columns: minmax(70px,1fr) 35px minmax(0,87px) 35px;
    column-gap: 5px;
    padding-inline: 8px;
  }
  body .header .mode-tabs a,
  .g6-body .g6-header .g6-mode a { padding-inline: 8px; font-size: 11px; }
  body.g6-home-inworld .g6-mobile-scene-heading h2 { font-size: clamp(29px,8.2vw,36px); }
}


/* v1.2.1 — photographie d'ouverture et scène d'achat : vrai titre intégré au visuel,
   sans imposer un recadrage portrait à la photo 16:9. */
.g6-mobile-hero-title,
.g6-mobile-shop-title { display: none; }

@media (max-width: 760px) {
  body.g6-home-inworld .hero {
    position: relative;
    background: #191722;
    background-image: none;
  }
  body.g6-home-inworld .hero::before {
    background-image:
      linear-gradient(90deg,rgba(11,12,23,.62),rgba(11,12,23,.12) 70%,transparent),
      linear-gradient(to top,rgba(11,11,23,.50),transparent 55%),
      url('/assets/gta6fan-home-scenes/01-boulevard-jour.webp');
    background-size: cover;
    background-position: center;
  }
  body.g6-home-inworld .g6-mobile-hero-title {
    display: flex;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 56.28vw;
    max-height: 56.28vw;
    margin-top: -56.28vw;
    padding: 10px 16px 14px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    color: #fff4ec;
    pointer-events: none;
  }
  body.g6-home-inworld .g6-mobile-hero-title .eyebrow {
    font-size: clamp(10px, 2.75vw, 13px);
    line-height: 1.2;
    letter-spacing: .09em;
    color: #ffc0cc;
    margin-bottom: 5px;
    text-shadow: 0 2px 8px #080712cc;
  }
  body.g6-legacy-dark .hero .g6-mobile-hero-title h1.g6-home-hero-heading {
    display: flex;
    margin: 0;
    gap: 3px;
    line-height: 1;
    max-width: 100%;
  }
  body.g6-home-inworld .g6-mobile-hero-title .g6-home-official-logo {
    display: block;
    width: clamp(68px, 21vw, 99px);
    max-width: 34%;
    max-height: 87px;
    object-fit: contain;
  }
  body.g6-home-inworld .g6-mobile-hero-title .g6-home-hero-promise {
    font-size: clamp(31px, 8vw, 42px);
    line-height: .96;
    max-width: 100%;
    text-shadow: 0 2px 12px #0b081bd6;
  }
  body.g6-home-inworld .hero .hero-inner > div:first-child > .eyebrow,
  body.g6-home-inworld .hero .hero-inner > div:first-child > h1.g6-home-hero-heading { display: none; }
  body.g6-home-inworld .hero .hero-inner { padding-top: 22px; }
  body.g6-home-inworld .hero .hero-inner .hero-desc { margin-top: 0; }

  body.g6-legacy-dark.g6-home-inworld .section.g6m-home::before {
    background-image:
      linear-gradient(90deg,rgba(10,11,24,.70),rgba(10,11,24,.15) 73%,transparent),
      linear-gradient(to top,rgba(10,11,24,.62),transparent 64%),
      url('/assets/gta6fan-home-scenes/03-nuit-vice-city.webp');
  }
  body.g6-home-inworld .g6-mobile-shop-title {
    display: flex;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    height: 56.28vw;
    max-height: 56.28vw;
    margin-top: -56.28vw;
    padding: 10px 17px 17px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    color: #fff4ec;
    pointer-events: none;
  }
  body.g6-home-inworld .g6-mobile-shop-title .g6m-kicker {
    margin: 0 0 7px;
    font-size: clamp(10px, 2.9vw, 13px);
    line-height: 1.15;
    text-shadow: 0 2px 8px #080712df;
  }
  body.g6-home-inworld .g6-mobile-shop-title h2 {
    font: 400 clamp(34px, 9.1vw, 48px)/.91 Anton,Impact,sans-serif;
    text-transform: uppercase;
    color: #fff4e9;
    margin: 0;
    letter-spacing: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-shadow: 0 3px 12px #080712e0;
  }
  body.g6-home-inworld .g6-mobile-shop-title h2 em {
    color: #ff91ad;
    font-style: normal;
  }
  body.g6-home-inworld .g6m-home__intro > .g6m-kicker,
  body.g6-home-inworld .g6m-home__intro > h2 { display: none; }
  body.g6-home-inworld .g6m-home__intro { padding-top: 0; min-height: 0; }
}
@media (max-width: 360px) {
  body.g6-home-inworld .g6-mobile-hero-title .g6-home-hero-promise {
    font-size: 29px;
  }
  body.g6-home-inworld .g6-mobile-shop-title h2 { font-size: 33px; }
}
