@import url('https://fonts.googleapis.com/css2?family=Capriola&family=Monsieur+La+Doulaise&family=Niconne&display=swap');

:root{--ink:#171512;--cream:rgba(255,250,242,.92);--cream2:rgba(250,244,234,.88);--glass:rgba(255,255,255,.68);--gold:#9b7135}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Georgia,'Times New Roman',serif;background:#d9c6a5}.sea-site:before{content:"";position:fixed;inset:0;z-index:-3;background-image:url('fond-paysage.png');background-size:cover;background-position:center center;background-repeat:no-repeat}.sea-site:after{content:"";position:fixed;inset:0;z-index:-2;background:rgba(0,0,0,.03);pointer-events:none}
.sea-nav{position:fixed;z-index:100;top:0;left:0;width:100%;height:52px;display:flex;align-items:center;justify-content:center;padding:0 18px;background:rgba(255,255,255,.08);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);transition:background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease}.sea-nav.scrolled{background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 3px 18px rgba(0,0,0,.08)}.sea-menu{display:flex;align-items:center;justify-content:center;gap:38px;height:100%}.sea-menu a{font-family:'Capriola',sans-serif;color:#111;text-decoration:none;font-size:13px;line-height:1;white-space:nowrap}.sea-menu a:hover{opacity:.6}.sea-menu-button{display:none;border:0;background:transparent;font-size:24px;color:#111}
.sea-hero{height:100svh;min-height:620px;display:flex;align-items:center;justify-content:center;position:relative;text-align:center;background:transparent}.sea-hero-content{transform:translateY(2vh);padding:20px}.sea-logo{display:block;width:clamp(135px,15vw,230px);height:auto;margin:0 auto 2px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}.sea-hero h1{font-family:'Monsieur La Doulaise',cursive;font-weight:400;font-size:clamp(58px,7vw,108px);line-height:.95;margin:0;color:#17110b;text-shadow:0 1px 7px rgba(255,255,255,.25)}.sea-hero h1 span{font-size:.8em}.sea-date{font-family:'Capriola',sans-serif;letter-spacing:.22em;font-size:clamp(13px,1.25vw,18px);margin:16px 0 0;color:#18130f}.sea-scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#111;text-decoration:none;font-size:34px;animation:float 1.8s ease-in-out infinite}@keyframes float{50%{transform:translate(-50%,7px)}}
.sea-section{min-height:76vh;display:flex;align-items:center;justify-content:center;padding:96px 24px;position:relative}.sea-section>.sea-wrap{background:var(--cream);box-shadow:0 18px 55px rgba(43,31,18,.12);border:1px solid rgba(255,255,255,.52);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border-radius:28px;padding:58px clamp(28px,6vw,82px);width:min(100%,980px)}.sea-program>.sea-wrap{background:var(--cream2)}.sea-wrap{text-align:center}.sea-narrow{max-width:980px}.sea-story-crown{width:min(620px,90%);height:auto;display:block;margin:0 auto 34px}.sea-lead,.sea-event p,.sea-script,.sea-form-note{font-family:'Niconne',cursive}.sea-story-text{font-size:clamp(25px,2.2vw,34px);line-height:1.28;margin:0 auto;max-width:840px}.sea-story-text span{display:block;margin:0 0 18px}.sea-story-text span:last-child{margin-bottom:0}.sea-section h2{font-size:clamp(38px,5vw,68px);font-weight:400;margin:0 0 12px}.sea-script{font-size:31px;margin:0 0 34px}.sea-events{max-width:760px;margin:0 auto;text-align:left}.sea-event{display:grid;grid-template-columns:86px 18px 1fr;gap:20px;align-items:start;padding:20px 0;position:relative}.sea-event:not(:last-child):after{content:"";position:absolute;left:94px;top:43px;bottom:-22px;width:1px;background:rgba(69,56,41,.3)}.sea-time{font-family:'Capriola',sans-serif;font-size:16px;padding-top:3px}.sea-event-dot{width:10px;height:10px;border-radius:50%;background:#7d6546;margin-top:7px;z-index:1}.sea-event h3{font-family:'Capriola',sans-serif;font-size:17px;margin:0 0 5px}.sea-event p{font-size:24px;line-height:1.2;margin:0}.sea-overline{font-family:'Capriola',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11px}.sea-rsvp .sea-lead{font-size:28px;line-height:1.25}.sea-rsvp-form{max-width:620px;margin:32px auto 0;text-align:left}.sea-name-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sea-rsvp-form label{display:block;font-family:'Capriola',sans-serif;font-size:12px;margin:0 0 7px}.sea-rsvp-form input{width:100%;height:48px;border:1px solid rgba(55,44,33,.25);border-radius:12px;background:rgba(255,255,255,.75);padding:0 14px;font-size:16px;outline:none}.sea-rsvp-form input:focus{border-color:#80623d;box-shadow:0 0 0 3px rgba(128,98,61,.1)}.sea-rsvp-form button{display:block;margin:20px auto 0;border:0;border-radius:999px;padding:13px 23px;background:#1d1a16;color:#fff;font-family:'Capriola',sans-serif;cursor:pointer}.sea-form-note{font-size:19px;text-align:center;opacity:.7}.sea-rsvp-result{text-align:center}.sea-footer{text-align:center;padding:38px 20px;background:rgba(255,250,242,.9);font-family:'Capriola',sans-serif;font-size:12px}.sea-footer a{color:inherit}
@media (orientation:portrait) and (max-width:820px){.sea-site:before{background-image:url('fond-portrait.png');background-position:center center}.sea-nav{height:46px;padding:0 8px}.sea-menu{gap:14px}.sea-menu a{font-size:10px}.sea-hero{min-height:100svh}.sea-hero-content{transform:translateY(-1vh)}.sea-logo{width:min(43vw,180px)}.sea-hero h1{font-size:clamp(52px,17vw,78px)}.sea-date{font-size:12px}.sea-section{min-height:auto;padding:62px 14px}.sea-section>.sea-wrap{border-radius:20px;padding:38px 20px;width:100%}.sea-story-crown{width:100%;margin-bottom:24px}.sea-story-text{font-size:27px;line-height:1.18}.sea-story-text span{margin-bottom:18px}.sea-section h2{font-size:43px}.sea-script{font-size:28px}.sea-event{grid-template-columns:62px 14px 1fr;gap:11px;padding:17px 0}.sea-event:not(:last-child):after{left:68px}.sea-time{font-size:12px}.sea-event h3{font-size:13px}.sea-event p{font-size:21px}.sea-name-row{grid-template-columns:1fr}.sea-rsvp .sea-lead{font-size:25px}}
@media(max-width:520px){.sea-menu{width:100%;justify-content:space-evenly;gap:4px}.sea-menu a{font-size:9px}.sea-menu a:first-child{max-width:100px;white-space:normal;text-align:center;line-height:1.15}}

/* Ajustements 07-10 : lisibilité accueil + panneaux plein écran */
.sea-nav,
.sea-nav.scrolled{
  background:rgba(255,250,242,.84);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 2px 14px rgba(0,0,0,.07);
}
.sea-menu a{font-size:16px}
.sea-hero h1{
  font-size:clamp(46px,5.2vw,78px);
  color:#fff;
  -webkit-text-stroke:1px rgba(0,0,0,.72);
  paint-order:stroke fill;
  text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 10px rgba(0,0,0,.28);
}
.sea-date{
  color:#fff;
  -webkit-text-stroke:.45px rgba(0,0,0,.72);
  paint-order:stroke fill;
  text-shadow:0 2px 4px rgba(0,0,0,.6),0 0 8px rgba(0,0,0,.35);
}
.sea-section{
  background:rgba(255,250,242,.84);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.sea-section>.sea-wrap,
.sea-program>.sea-wrap{
  background:transparent;
  box-shadow:none;
  border:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-radius:0;
}
@media (orientation:portrait) and (max-width:820px){
  .sea-menu a{font-size:12px}
  .sea-hero h1{font-size:clamp(42px,13vw,62px)}
  .sea-section{background:rgba(255,250,242,.86)}
}

/* Formulaire familial de test, sans modifier la composition V11 */
.family-rsvp{margin-top:22px}.rsvp-family-card{padding:22px;border:1px solid rgba(78,62,41,.24);border-radius:15px;background:rgba(255,255,255,.25)}.rsvp-family-card h3{margin:0 0 10px}.rsvp-member{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid rgba(78,62,41,.17)}.rsvp-member small{display:block;opacity:.7}.rsvp-member label{white-space:nowrap;margin-left:12px;cursor:pointer}.rsvp-member input{width:auto;margin-right:4px}.rsvp-family-card button{margin-top:20px}.rsvp-family-card #save-status{font-weight:600}@media(max-width:520px){.rsvp-member{align-items:flex-start;flex-direction:column;gap:8px}.rsvp-member label:first-child{margin-left:0}}

/* RSVP V2 : boutons tropicaux accessibles, sans modifier le design général */
.rsvp-member > div{display:flex;gap:10px;flex-wrap:wrap}
.rsvp-member .tropical-choice{position:relative;display:inline-flex;margin:0;cursor:pointer}
.rsvp-member .tropical-choice input{position:absolute;opacity:0;width:1px;height:1px;left:50%;top:50%}
.rsvp-member .tropical-choice-label{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:95px;padding:10px 15px;border:1.5px solid rgba(94,109,73,.48);border-radius:999px;background:rgba(255,255,255,.5);color:#4b5235;font:600 15px system-ui,sans-serif;box-shadow:0 2px 6px rgba(40,45,28,.06);transition:background .15s,border-color .15s,transform .15s}
.rsvp-member .tropical-choice:hover .tropical-choice-label{transform:translateY(-1px);border-color:#607d50}
.rsvp-member .tropical-choice input[value="yes"]:checked + .tropical-choice-label{background:#dcebcf;border-color:#56804d;color:#284b30;box-shadow:inset 0 0 0 1px #56804d}
.rsvp-member .tropical-choice input[value="no"]:checked + .tropical-choice-label{background:#f7dcd9;border-color:#b76761;color:#823a37;box-shadow:inset 0 0 0 1px #b76761}
.rsvp-member .tropical-choice input:focus-visible + .tropical-choice-label{outline:3px solid #285e89;outline-offset:3px}
@media(max-width:520px){.rsvp-member > div{width:100%}.rsvp-member .tropical-choice{flex:1}.rsvp-member .tropical-choice-label{flex:1}}


/* RSVP V4 : typographie harmonisée, choix tropicaux et validation sobre */
.sea-rsvp, .sea-rsvp button, .sea-rsvp input, .sea-rsvp label,
.sea-rsvp .rsvp-family-card, .sea-rsvp .rsvp-family-card *,
.sea-rsvp .rsvp-thank-you {font-family:"Niconne",cursive !important;}
.sea-rsvp .rsvp-member .tropical-choice-label {
  font-family:"Niconne",cursive !important;font-size:clamp(19px,2.1vw,23px);
  line-height:1.2;min-width:0;min-height:45px;padding:10px 18px;
  white-space:normal;text-align:center;
}
.sea-rsvp .rsvp-member > div {align-items:stretch;}
.sea-rsvp .rsvp-member .tropical-choice {margin:0;}
.sea-rsvp .rsvp-member .tropical-choice-label {height:100%;}
.sea-rsvp .rsvp-validate {
  display:block;width:fit-content;min-width:160px;max-width:100%;margin:24px auto 8px;
  padding:12px 35px;border:1px solid #111;border-radius:999px;
  background:#171717;color:#fff;font-size:clamp(23px,2.5vw,28px);
  line-height:1.1;box-shadow:0 4px 12px rgba(0,0,0,.17);cursor:pointer;
  transition:background .15s,transform .15s,box-shadow .15s;
}
.sea-rsvp .rsvp-validate:hover {background:#303030;transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.2);}
.sea-rsvp .rsvp-validate:focus-visible {outline:3px solid #467d98;outline-offset:3px;}
.sea-rsvp .rsvp-confirmed > :not(.rsvp-thank-you) {display:none !important;}
.sea-rsvp .rsvp-thank-you {text-align:center;padding:35px 10px 48px;}
.sea-rsvp .rsvp-thank-you h2 {font-size:clamp(40px,5vw,60px);margin:0 0 12px;}
.sea-rsvp .rsvp-thank-you p {font-size:clamp(25px,3vw,32px);margin:10px 0;}
.sea-rsvp .rsvp-thank-you .rsvp-signature {margin-top:24px;}
@media(max-width:650px){
  .sea-rsvp .rsvp-member > div {display:flex;flex-wrap:wrap;gap:8px;}
  .sea-rsvp .rsvp-member .tropical-choice {flex:1 1 130px;min-width:0;}
  .sea-rsvp .rsvp-member .tropical-choice-label {width:100%;padding:10px 8px;font-size:clamp(18px,4.5vw,22px);}
}

/* RSVP V5 : typographies approuvées et logo de remerciement */
.sea-rsvp .sea-rsvp-form label {font-size:clamp(18px,2vw,22px) !important;line-height:1.25;}
.sea-rsvp .sea-rsvp-form > button[type="submit"] {font-size:clamp(20px,2.1vw,25px) !important;line-height:1.2;padding:14px 28px;}
.sea-rsvp .rsvp-family-card h3,
.sea-rsvp .rsvp-member strong,
.sea-rsvp .rsvp-validate {font-family:'Capriola',sans-serif !important;}
.sea-rsvp .rsvp-family-card > p,
.sea-rsvp .rsvp-member small,
.sea-rsvp .rsvp-member .tropical-choice-label {font-family:'Capriola',sans-serif !important;}
.sea-rsvp .rsvp-family-card h3 {font-size:clamp(18px,2.3vw,23px);line-height:1.35;}
.sea-rsvp .rsvp-family-card > p {font-size:clamp(14px,1.7vw,17px);line-height:1.5;}
.sea-rsvp .rsvp-member strong {font-size:clamp(17px,2vw,20px);font-weight:500;}
.sea-rsvp .rsvp-member small {font-size:13px;margin-top:5px;}
.sea-rsvp .rsvp-member .tropical-choice-label {font-size:clamp(12px,1.4vw,14px);line-height:1.4;padding:12px 15px;}
.sea-rsvp .rsvp-validate {font-size:19px;min-height:49px;}
.sea-rsvp .rsvp-thank-logo {display:block;width:clamp(92px,12vw,120px);height:auto;margin:24px auto 0;object-fit:contain;}
/* Timeline : trait centré exactement sur le point (colonne 86 + écart 20 + demi-point 9). */
#programme .sea-event:not(:last-child)::after {left:115px !important;top:22px !important;}
@media (max-width:820px) and (orientation:portrait) {
  /* Colonne 62 + écart 11 + demi-point 7. */
  #programme .sea-event:not(:last-child)::after {left:80px !important;top:22px !important;}
}
@media (max-width:650px) {
  .sea-rsvp .rsvp-member .tropical-choice-label {font-size:13px;padding:11px 9px;}
}

/* V6 : boutons RSVP clairs, champs lisibles et frise recentrée */
.sea-rsvp .sea-rsvp-form input{font-size:clamp(21px,2.4vw,25px);font-family:'Capriola',sans-serif;min-height:54px;color:#1d1a16}
.sea-rsvp .sea-rsvp-form > button[type="submit"],
.sea-rsvp .rsvp-validate{background:rgba(255,252,246,.94)!important;color:#171717!important;border:1px solid rgba(93,78,58,.32)!important;border-radius:999px;box-shadow:0 4px 13px rgba(44,34,22,.13);font-family:'Capriola',sans-serif!important;font-weight:400}
.sea-rsvp .sea-rsvp-form > button[type="submit"]:hover,
.sea-rsvp .rsvp-validate:hover{background:#fff!important;box-shadow:0 6px 17px rgba(44,34,22,.18)}
.sea-rsvp .sea-rsvp-result.found{font-family:'Capriola',sans-serif!important;font-size:clamp(20px,2.7vw,28px);line-height:1.45;margin-top:18px}
#programme .sea-event:not(:last-child)::after{left:111px!important}
@media (max-width:820px) and (orientation:portrait){#programme .sea-event:not(:last-child)::after{left:78px!important}}

/* V7 : dernier ajustement RSVP et police du message de recherche */
.sea-rsvp .sea-rsvp-form > button[type="submit"] {
  font-size:clamp(16px,1.65vw,19px) !important;
  margin-top:34px !important;
  background:rgba(255,252,246,.79) !important;
}
.sea-rsvp .sea-rsvp-form > button[type="submit"]:hover {background:rgba(255,252,246,.9) !important;}
.sea-rsvp .sea-rsvp-result.found {font-family:'Niconne',cursive !important;font-size:clamp(27px,3.2vw,36px);line-height:1.3;}
@media(max-width:520px){.sea-rsvp .sea-rsvp-form > button[type="submit"]{margin-top:30px !important;}}

/* V8 : espacement, boutons blanc translucide et messages plus lisibles */
.sea-rsvp .sea-rsvp-form > button[type="submit"] {
  font-size:clamp(14px,1.4vw,17px) !important;
  margin-top:48px !important;
  background:rgba(255,255,255,.56) !important;
}
.sea-rsvp .rsvp-validate {background:rgba(255,255,255,.56) !important;}
.sea-rsvp .sea-rsvp-form > button[type="submit"]:hover,
.sea-rsvp .rsvp-validate:hover {background:rgba(255,255,255,.72) !important;}
.sea-rsvp .sea-rsvp-result.wrong-reception {font-size:clamp(23px,2.6vw,30px) !important;line-height:1.3;}
.sea-rsvp .rsvp-thank-you.already-answered h2 {font-size:clamp(27px,3.4vw,40px) !important;line-height:1.25;}
@media(max-width:520px){.sea-rsvp .sea-rsvp-form > button[type="submit"]{margin-top:44px !important;}}

/* V9 : boutons RSVP en Niconne, comme les paragraphes du site. */
.sea-rsvp .sea-rsvp-form > button[type="submit"],
.sea-rsvp .rsvp-validate {font-family:'Niconne',cursive !important;}

/* V10 : légère augmentation de la taille des libellés des deux boutons RSVP. */
.sea-rsvp .sea-rsvp-form > button[type="submit"] {font-size:clamp(16px,1.65vw,19px) !important;}
.sea-rsvp .rsvp-validate {font-size:clamp(21px,2.15vw,23px) !important;}

/* V11 : texte du bouton de recherche d’invitation légèrement agrandi. */
.sea-rsvp .sea-rsvp-form > button[type="submit"] {font-size:clamp(19px,1.9vw,23px) !important;}
