/* V13 : adaptation multi-écrans, sans modifier le style approuvé V12. */
html,body{max-width:100%;overflow-x:clip}
img{max-width:100%}
.sea-wrap,.sea-rsvp-form,.sea-name-row,.rsvp-member,.rsvp-member>div{min-width:0}
.sea-hero{height:auto;min-height:100svh;min-height:100dvh}
.sea-hero-content{width:100%;max-width:100%;}
.sea-hero h1{overflow-wrap:normal}
/* Garder le placement du logo dans une plage raisonnable sur écrans bas et hauts. */
.sea-logo{transform:translateY(clamp(110px,32.2svh,320px)) !important}
.sea-rsvp .sea-rsvp-form input{min-width:0}
.rsvp-member>div{justify-content:flex-end}
@media(max-width:820px){
  .sea-menu{max-width:100%;gap:clamp(6px,2vw,22px)}
  .sea-menu a{font-size:clamp(10px,2.4vw,14px)}
  .sea-nav{padding-inline:8px}
  .sea-event{min-width:0}
  .sea-event h3{overflow-wrap:anywhere}
  .rsvp-member>div{justify-content:flex-start}
}
@media(max-width:700px){
  .sea-logo{transform:translateY(clamp(105px,34svh,260px)) !important}
  .sea-hero h1{font-size:clamp(38px,11vw,62px) !important}
  .sea-hero-content{padding-inline:12px}
  .sea-date{letter-spacing:.12em}
  .sea-section>.sea-wrap{padding-inline:clamp(12px,4vw,24px)}
  .sea-rsvp .sea-name-row{grid-template-columns:minmax(0,1fr)}
  .sea-rsvp .sea-rsvp-form>button[type=submit]{max-width:100%;white-space:normal}
}
@media(max-width:400px){
  .sea-menu a{font-size:clamp(9px,2.55vw,11px)}
  .sea-hero h1{font-size:clamp(34px,10.6vw,44px) !important}
  .sea-story-text{font-size:clamp(22px,6.5vw,27px)}
  .sea-rsvp .sea-lead{font-size:clamp(22px,6.2vw,25px)}
  .sea-event{grid-template-columns:54px 12px minmax(0,1fr);gap:8px}
  .sea-event .sea-time{font-size:11px}
  /* Alignement ligne/point calculé depuis les colonnes ci-dessus. */
  #programme .sea-event:not(:last-child)::after{left:68px !important}
}
/* Paysage mobile : hauteur limitée, priorité au contenu visible. */
@media(orientation:landscape) and (max-height:550px){
  .sea-hero{min-height:100dvh}
  .sea-logo{width:clamp(90px,13vh,140px);transform:translateY(clamp(22px,9svh,60px)) !important}
  .sea-hero-content{transform:translateY(0) !important;padding:48px 12px 30px !important}
  .sea-hero-content h1{font-size:clamp(36px,7vh,64px) !important;margin-top:10px !important}
  .sea-date{margin-top:8px !important}
  .sea-scroll{bottom:4px}
  .sea-section{padding-block:42px}
  .sea-story-crown{max-height:45vh;width:auto}
}
@media(min-width:1100px) and (max-height:720px){
  .sea-logo{transform:translateY(clamp(105px,27svh,210px)) !important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sea-scroll{animation:none}}

/* V14 : mobile paysage, logo et titre dans le flux normal.
   Ne dépend plus de la hauteur des barres de navigateur. */
@media (orientation:landscape) and (max-height:600px) and (pointer:coarse){
  .sea-hero{height:auto !important;min-height:100svh !important;min-height:100dvh !important;padding:12px 0 24px !important;box-sizing:border-box !important;}
  .sea-hero-content{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:0 !important;transform:none !important;padding:18px 12px 38px !important;position:relative !important;}
  .sea-hero-content .sea-logo{display:block !important;position:static !important;transform:none !important;width:clamp(88px,18svh,135px) !important;height:auto !important;max-height:27svh !important;object-fit:contain !important;margin:0 auto 8px !important;}
  .sea-hero-content .sea-kicker{display:none !important;}
  .sea-hero-content h1{position:static !important;transform:none !important;margin:0 !important;font-size:clamp(34px,8svh,58px) !important;line-height:1.15 !important;}
  .sea-hero-content .sea-date{position:static !important;transform:none !important;margin:14px 0 0 !important;}
  .sea-scroll{bottom:2px !important;}
}

/* V15 : accueil mobile paysage. Regrouper logo, prénoms et date dans
   le bas de la zone visible, sans translations dépendant des barres du navigateur. */
@media (orientation:landscape) and (max-height:600px) and (pointer:coarse) {
  .sea-hero {
    height:100svh !important; height:100dvh !important;
    min-height:350px !important;
    padding:0 !important;
    display:flex !important; align-items:stretch !important;
  }
  .sea-hero-content {
    box-sizing:border-box !important;
    height:100% !important; min-height:0 !important;
    display:flex !important; flex-direction:column !important;
    align-items:center !important; justify-content:flex-end !important;
    gap:0 !important; padding:72px 12px 38px !important;
    transform:none !important;
  }
  .sea-hero-content .sea-logo {
    display:block !important; position:static !important;
    transform:none !important; flex:0 1 auto !important;
    width:clamp(78px,20svh,116px) !important;
    height:auto !important; max-height:27svh !important;
    object-fit:contain !important; margin:0 auto 10px !important;
  }
  .sea-hero-content .sea-kicker {display:none !important;}
  .sea-hero-content h1 {
    position:static !important; transform:none !important;
    flex:0 0 auto !important; margin:0 !important;
    font-size:clamp(34px,8svh,56px) !important; line-height:1.1 !important;
  }
  .sea-hero-content .sea-date {
    position:static !important; transform:none !important;
    flex:0 0 auto !important; margin:13px 0 0 !important;
  }
  .sea-scroll {bottom:2px !important;}
}

/* V16 : message d'invitation trouvé, lisible et cohérent avec la typographie RSVP. */
.sea-rsvp-result.found .rsvp-found-title,.sea-rsvp-result.found .rsvp-found-detail{display:block;}
.sea-rsvp-result.found .rsvp-found-title{margin-bottom:6px;}
