/* =========================================================
   Nouvelles scènes de la page d'accueil (6, 7, 8, 9)
   Fond fourni par l'utilisateur + texte/boutons superposés,
   sur le même principe que les scènes 1 à 5.
   ========================================================= */

:root {
  --gv-pink: #f13e7c;
  --gv-navy: #101b35;
}

/* ---------- Scène 6 — Magazine souvenir ---------- */

.scene-6 {
  position: relative;
}
.scene-6-picture {
  display: block;
}
.scene-6-image {
  display: block;
  width: 100%;
  height: auto;
}

/* Bloc texte superposé (zone gauche laissée libre dans l'image) */
.scene-6-copy {
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
  width: min(27%, 430px);
}
.scene-6-title {
  margin: 0 0 clamp(8px, 1.5vw, 22px);
  font-size: clamp(0.95rem, 2vw, 1.9rem);
  line-height: 1.15;
  font-weight: 800;
  color: var(--gv-navy);
}
.scene-6-title span {
  color: var(--gv-pink);
}
.scene-6-bullets {
  list-style: none;
  margin: 0 0 clamp(12px, 1.6vw, 26px);
  padding: 0;
  display: grid;
  gap: clamp(5px, 0.8vw, 12px);
}
.scene-6-bullets li {
  position: relative;
  padding-left: 1.6em;
  color: #33405c;
  font-size: clamp(0.66rem, 1vw, 0.98rem);
  line-height: 1.3;
}
.scene-6-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 0.55em;
  height: 0.55em;
  border-radius: 2px;
  background: var(--gv-pink);
  transform: rotate(45deg);
}
.scene-6-cta {
  font-size: clamp(0.72rem, 1.05vw, 0.95rem);
}

/* --- Téléphones au centre (dans l'espace libre entre texte et magazine) --- */
.scene-6-phones {
  position: absolute;
  top: 50%;
  left: 33%;
  transform: translateY(-50%);
  width: 25%;
  display: flex;
  gap: 0.9vw;
  align-items: center;
  justify-content: center;
}
.scene-6-phone {
  flex: 1 1 0;
  min-width: 0;
  background: linear-gradient(180deg, #ffffff, #fff2f6);
  border: 1px solid #f4dbe4;
  border-radius: 1.2vw;
  padding: 0.9vw 0.6vw 1vw;
  box-shadow: 0 1.4vw 2.8vw -1.1vw rgba(120, 25, 60, 0.35);
}
.scene-6-phone-title {
  margin: 0 0 0.7vw;
  font-size: 0.72vw;
  font-weight: 700;
  text-align: center;
  color: var(--gv-navy);
}
.scene-6-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.28vw;
  margin-bottom: 0.8vw;
}
.scene-6-tile {
  aspect-ratio: 1;
  border-radius: 0.35vw;
}
.scene-6-tile.t1 { background: linear-gradient(135deg, #ffd1a1, #ff9e7a); }
.scene-6-tile.t2 { background: linear-gradient(135deg, #a7c7ff, #7a9bff); }
.scene-6-tile.t3 { background: linear-gradient(135deg, #ffc0d8, #ff8fb3); }
.scene-6-tile.t4 { background: linear-gradient(135deg, #b8e6c0, #7fcf95); }
.scene-6-tile.t5 { background: linear-gradient(135deg, #d8c0ff, #a98fff); }
.scene-6-tile.t6 { background: linear-gradient(135deg, #ffe6a1, #ffcf6b); }

.scene-6-check {
  list-style: none;
  margin: 0 0 0.8vw;
  padding: 0;
  display: grid;
  gap: 0.32vw;
}
.scene-6-check li {
  display: flex;
  align-items: center;
  gap: 0.4vw;
  padding: 0.4vw 0.45vw;
  border-radius: 0.6vw;
  background: #fff;
  border: 1px solid #f1e3e8;
  font-size: 0.6vw;
  color: var(--gv-navy);
}
.scene-6-check .ic {
  flex: none;
  width: 1vw;
  height: 1vw;
  border-radius: 50%;
  background: #2fbf71;
  color: #fff;
  font-size: 0.55vw;
  display: grid;
  place-items: center;
}
.scene-6-check li.fav .ic {
  background: var(--gv-pink);
}
.scene-6-check .lbl {
  flex: 1;
}
.scene-6-check .chv {
  color: #c9cdd8;
  font-size: 0.85vw;
}
.scene-6-mini-btn {
  display: block;
  text-align: center;
  background: linear-gradient(180deg, #ff5a93, #f13e7c);
  color: #fff;
  font-weight: 700;
  font-size: 0.62vw;
  padding: 0.6vw;
  border-radius: 999px;
}

/* Sur écran étroit : les téléphones sont masqués, l'image passe
   au-dessus et le texte en dessous (fond lavande assorti). */
@media (max-width: 992px) {
  .scene-6-phones {
    display: none;
  }
}
/* Mobile : fond portrait dédié (magazine en bas), texte superposé en haut. */
@media (max-width: 760px) {
  .scene-6-copy {
    top: 4%;
    left: 50%;
    transform: translateX(-50%);
    width: 86%;
    text-align: center;
  }
  .scene-6-title {
    font-size: clamp(1.25rem, 6vw, 1.7rem);
  }
  .scene-6-bullets {
    display: inline-grid;
    text-align: left;
    gap: clamp(8px, 2vw, 14px);
  }
  .scene-6-bullets li {
    font-size: clamp(0.9rem, 3.6vw, 1.05rem);
  }
  .scene-6-cta {
    font-size: 1rem;
  }
}

/* ---------- Flèches de défilement (ajouts) ---------- */

/* Défilement fluide au clic sur les flèches (respecte « mouvement réduit »). */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

/* Réaffiche la flèche scène 4 → 5 sur ordinateur
   (elle était volontairement masquée au-dessus de 1181px dans style.css ;
   scenes.css étant chargée après, cette règle l'emporte). */
@media (min-width: 1181px) {
  .scene-next--from-four {
    display: grid;
  }
}

/* Nouvelle flèche scène 5 → 6. */
.scene-next--from-five {
  z-index: 20;
}

/* Nouvelle flèche scène 6 → 7. */
.scene-next--from-six {
  z-index: 20;
}

/* ---------- Connexion (en-tête) ---------- */
button.header-button {
  border: none;
  cursor: pointer;
  font: inherit;
}
.auth-user {
  display: flex;
  align-items: center;
  gap: 12px;
}
.auth-user-name {
  font-weight: 700;
  font-size: 0.9rem;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.auth-logout {
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(16, 27, 53, 0.3);
  color: #fff;
  border-radius: 999px;
  padding: 8px 16px;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* Bouton rose « Guide » (visible pour les propriétaires connectés). */
.auth-guide {
  background: var(--gv-pink);
  color: #fff;
  border-radius: 999px;
  padding: 8px 18px;
  font-weight: 800;
  font-size: 0.85rem;
  text-decoration: none;
  box-shadow: 0 8px 22px -8px rgba(241, 62, 124, 0.75);
}
.auth-guide:hover {
  filter: brightness(1.05);
}

/* Sur smartphone, l'ancien header-button était masqué : on réaffiche la
   connexion / le compte en version compacte (logo · bouton · menu). */
@media (max-width: 620px) {
  .site-header {
    grid-template-columns: 1fr auto auto;
  }
  .menu-toggle {
    order: 3;
  }
  button.header-button,
  a.header-button {
    display: inline-flex;
    min-height: 38px;
    padding: 0 14px;
    font-size: 0.8rem;
    border-radius: 11px;
    justify-self: end;
  }
  .auth-user {
    gap: 8px;
    justify-self: end;
  }
  .auth-user-name {
    display: none;
  }
  .auth-guide,
  .auth-logout {
    padding: 7px 12px;
    font-size: 0.78rem;
  }
}

/* ---------- Scène 7 — Un départ sans stress ---------- */

.scene-7 {
  position: relative;
}
.scene-7-picture {
  display: block;
}
.scene-7-image {
  display: block;
  width: 100%;
  height: auto;
}

/* Texte à gauche */
.scene-7-copy {
  position: absolute;
  left: 4.5%;
  top: 15%;
  width: min(22%, 360px);
}
.scene-7-title {
  margin: 0 0 clamp(12px, 1.6vw, 26px);
  font-size: clamp(1rem, 2vw, 2rem);
  line-height: 1.15;
  font-weight: 800;
  color: var(--gv-navy);
}
.scene-7-title span {
  color: var(--gv-pink);
}
.scene-7-bullets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(8px, 1vw, 16px);
}
.scene-7-bullets li {
  display: flex;
  align-items: center;
  gap: 0.6em;
  color: #33405c;
  font-size: clamp(0.72rem, 1.05vw, 1.05rem);
}
.scene-7-check {
  flex: none;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background: var(--gv-pink);
  color: #fff;
  font-size: 0.75em;
  font-weight: 900;
  display: grid;
  place-items: center;
}

/* Les 3 cartes au centre */
.scene-7-cards {
  position: absolute;
  top: 50%;
  left: 22%;
  transform: translateY(-50%);
  width: 44%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6vw;
}
.s7card {
  flex: 1 1 0;
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 1vw;
  box-shadow: 0 1.4vw 3vw -1.2vw rgba(60, 40, 70, 0.4);
  padding: 0.9vw 0.8vw;
}
.s7card-head {
  display: flex;
  align-items: center;
  gap: 0.4vw;
  margin-bottom: 0.8vw;
}
.s7card-head--center {
  justify-content: center;
  position: relative;
}
.s7card-back {
  color: #c9cdd8;
  font-size: 1vw;
  font-weight: 800;
}
.s7card-title {
  flex: 1;
  text-align: center;
  font-weight: 800;
  font-size: 0.78vw;
  color: var(--gv-navy);
}
.s7card-head--center .s7card-title {
  flex: none;
}
.s7card-bell {
  font-size: 0.7vw;
}
.s7card-head--center .s7card-bell {
  position: absolute;
  right: 0;
}
.s7card-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.4vw;
}
.s7card-list li {
  display: flex;
  align-items: center;
  gap: 0.5vw;
  background: #f8f7fb;
  border-radius: 0.6vw;
  padding: 0.45vw 0.5vw;
}
.s7ic {
  flex: none;
  width: 1.5vw;
  height: 1.5vw;
  border-radius: 0.4vw;
  display: grid;
  place-items: center;
  font-size: 0.8vw;
}
.ic-red { background: #ffe1e1; }
.ic-orange { background: #ffedd6; }
.ic-green { background: #dcf6e3; }
.ic-blue { background: #dde9ff; }
.ic-purple { background: #eaddff; }
.s7ic-label {
  flex: 1;
  font-size: 0.6vw;
  line-height: 1.2;
  color: var(--gv-navy);
}
.s7chev {
  color: #c9cdd8;
  font-size: 0.85vw;
}

/* Carte 2 : rappel automatique */
.s7card--reminder {
  text-align: center;
  position: relative;
  overflow: hidden;
}
.s7-sub {
  margin: 0 0 0.6vw;
  font-size: 0.62vw;
  color: #8a90a0;
}
.s7-time {
  margin: 0.6vw 0 0.4vw;
  font-size: 2vw;
  font-weight: 800;
  color: var(--gv-navy);
}
.s7-msg {
  margin: 0.3vw 0;
  font-size: 0.68vw;
  color: var(--gv-navy);
}
.s7-wave {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2.2vw;
  background: linear-gradient(180deg, #ffd9e6, #ffc3d7);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

/* Carte 3 : boîte à clés */
.s7card--keys {
  text-align: center;
}
.s7-checkbig {
  display: block;
  width: 2.6vw;
  margin: 0.8vw auto 0.6vw;
}
.s7-checkbig svg {
  width: 100%;
  height: auto;
  display: block;
}
.s7-keys-msg {
  margin: 0.3vw 0;
  font-size: 0.72vw;
  font-weight: 700;
  color: var(--gv-navy);
}

/* Flèches entre les cartes */
.s7arrow {
  flex: none;
  width: 2.2vw;
  color: var(--gv-pink);
}

/* Responsive : sous 992px on masque les cartes (fond mobile à fournir).
   Sous 760px, texte au-dessus de l'image sur fond rosé. */
@media (max-width: 992px) {
  .scene-7-cards {
    display: none;
  }
}
/* Mobile : fond portrait dédié (hôte en bas), texte superposé en haut,
   + UNE carte (le rappel 09:00) glissée dans l'espace libre du milieu. */
@media (max-width: 760px) {
  .scene-7-copy {
    top: 4%;
    left: 50%;
    transform: translateX(-50%);
    width: 86%;
    text-align: center;
  }
  .scene-7-title {
    font-size: clamp(1.3rem, 6vw, 1.8rem);
  }
  .scene-7-bullets {
    display: inline-grid;
    text-align: left;
    gap: clamp(8px, 2vw, 14px);
  }
  .scene-7-bullets li {
    font-size: clamp(0.92rem, 3.6vw, 1.05rem);
  }

  /* On réaffiche une seule carte (le rappel), centrée sous le texte. */
  .scene-7-cards {
    display: flex;
    top: 30%;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 58%;
    gap: 0;
    justify-content: center;
  }
  .scene-7-cards .s7arrow,
  .scene-7-cards .s7card:not(.s7card--reminder) {
    display: none;
  }
  .scene-7-cards .s7card--reminder {
    flex: 0 0 100%;
    border-radius: 4vw;
    padding: 4.5vw 4vw 13vw;
    box-shadow: 0 5vw 9vw -4vw rgba(60, 40, 70, 0.4);
  }
  .s7card--reminder .s7card-title {
    font-size: 3.8vw;
  }
  .s7card--reminder .s7card-bell {
    font-size: 3.4vw;
  }
  .s7-sub {
    font-size: 3vw;
    margin: 0 0 2vw;
  }
  .s7-time {
    font-size: 11vw;
    margin: 1.5vw 0;
  }
  .s7-msg {
    font-size: 3.6vw;
    margin: 1vw 0;
  }
  .s7-wave {
    height: 11vw;
  }
}

/* Logo cigogne (remplace l'ancien pictogramme cœur dans l'en-tête d'accueil). */
.brand-logo {
  width: 52px;
  height: 52px;
  display: block;
  border-radius: 50%;
  flex: 0 0 auto;
}
@media (max-width: 760px) {
  .brand-logo {
    width: 42px;
    height: 42px;
  }
}
