footer nav{font-size:1.125rem;line-height:1.9;padding:0 1.5rem}
.mobile-extra{display:none}
@media(max-width:639px){
  .dest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.5rem}
  .dest-card{aspect-ratio:1/1.15;border-radius:8px;min-width:0}
  .mobile-extra{display:block}
  .dest-card .txt{padding:.75rem}
  .dest-card .tag{display:none}
  .dest-card .name{font-size:1.125rem}
  .dest-card .go{font-size:.7rem;margin-top:.25rem}
  .dest{padding-top:3rem;padding-bottom:3rem}
}
@media(max-width:359px){header .wrap{padding-left:1rem;padding-right:1rem}.logo{font-size:3.15rem}.brand .badge{font-size:.75rem}}

/* Shared compact photographs, contact details and destination cards. */
.brand .gstars{font-size:.6875rem;padding:.25rem .75rem}
.dest-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.dest-card{aspect-ratio:1;min-width:0}
.dest-card .txt{padding:1rem}
.dest-card .tag{font-size:.6875rem;letter-spacing:0}
.story img,img[src="images/life.webp"]{width:100%;height:auto;aspect-ratio:16/9;max-height:22rem;object-fit:cover;object-position:center}
.form-heading{display:flex;align-items:center;gap:1rem}
.form-heading h2{min-width:0;font-size:2.2rem}

.form-tel{display:none;white-space:nowrap}
@media(min-width:640px){
  header .wrap{padding-top:4.75rem}
  header .tel{font-size:2rem;line-height:1.2;top:1rem;right:1.5rem;white-space:nowrap}
  .hero-grid{padding-top:21rem}
  .hero>.wrap:not(.hero-grid){padding-top:23rem}
  .final a[href^="tel:"]{font-size:1.75rem}
}
@media(max-width:639px){
  header .tel{display:none}
  .brand .gstars{font-size:.625rem}
  .hero-grid{padding-top:15rem}
  .hero>.wrap:not(.hero-grid){padding-top:17rem}
  .dest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dest-card{aspect-ratio:1}
  .desktop-extra{display:none}
  .dest-card .txt{padding:.75rem}
  .form-heading{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:.5rem;align-items:center}
  .form-heading h2{font-size:1.2rem;line-height:1.25;overflow-wrap:break-word}

  .form-tel{display:block;font-size:.875rem;line-height:1.5;font-weight:700;text-align:right;color:var(--primary)}
  .story img,img[src="images/life.webp"]{aspect-ratio:16/9;max-height:13rem}
}
@media(max-width:359px){.logo{font-size:3.4rem!important}}
@media(max-width:359px){.form-tel{font-size:.75rem}}

/* v9: compact cards, thin life banner, discreet Google line */
.dest-card{aspect-ratio:auto!important;height:180px!important}
.brand .gstars{font-size:10px!important;font-weight:500!important;padding:.1rem .6rem!important;background:transparent!important;backdrop-filter:none!important;margin-top:.25rem}
@media(max-width:639px){
  .dest-card{height:130px!important}
  .brand .gstars{font-size:9px!important}
}

/* Téléphone un peu moins gros. */
header .tel{font-size:1.4rem!important;line-height:1.2}
.final a[href^="tel:"]{font-size:1.3rem!important}

/* v11: desktop photo follows text height; mobile photo fills the screen. */
.story-photo{position:relative;min-width:0;overflow:hidden;border-radius:calc(var(--radius) + 4px)}
.story .story-photo img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1/1!important;object-fit:cover;object-position:center}
@media(min-width:1024px){
  .story .wrap{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .story .story-photo img{position:absolute;inset:0;height:100%!important;aspect-ratio:auto!important}
}
@media(max-width:1023px){
  .story .wrap{padding-left:0;padding-right:0}
  .story-photo{border-radius:0}
  .story-photo + div{padding-left:1.5rem;padding-right:1.5rem;min-width:0}
}

/* v13 : email + bouton sur une ligne, mention courte */
.email-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:end}
.email-row .btn-submit{width:auto;margin:0;padding:.7rem 1.4rem;white-space:nowrap}
.privacy{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem}
@media(max-width:380px){.privacy{font-size:.62rem}}
.email-row>.field{grid-column:1;margin:0;min-width:0}
.email-row>.btn-submit{grid-column:2!important;grid-row:1;align-self:end}
/* v14 : email et bouton à 50/50 */
.email-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.email-row>.btn-submit{width:100%!important;padding-left:.5rem;padding-right:.5rem}
.email-row{grid-column:1/-1}
/* v15 bandeau catamarans */
.boats-band h2{font-size:1.5rem!important;line-height:1.15}
.boats-band h2 .boats-sub{display:block;margin-top:.3rem;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--muted-foreground);letter-spacing:0}
@media(min-width:768px){.boats-band h2{font-size:2rem!important}.boats-band h2 .boats-sub{font-size:1.1rem}}
@media(max-width:380px){.boats-band h2{font-size:1.3rem!important}.boats-band h2 .boats-sub{font-size:.8rem}}

/* v19 : nouvel en-tête — accroche sous le logo, étoiles Google et navigateurs alignés sur la même ligne */
.brand-top{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-width:0}
.tagline{font-size:1.35rem;font-weight:600;background:rgba(250,247,239,.15);backdrop-filter:blur(4px);border-radius:999px;padding:.35rem 1.1rem;color:var(--primary-foreground);line-height:1.3}
.brand-line2{display:flex;align-items:baseline;justify-content:center;gap:.45rem;flex-wrap:wrap;font-size:0.9rem;line-height:1.1;font-weight:500;color:var(--primary-foreground);margin-top:.3rem}
.brand-line2 .gstars{font-size:0.9rem!important;line-height:1!important;font-weight:500!important;color:var(--primary-foreground)!important;text-decoration:none!important;vertical-align:baseline!important}
.brand-line2 .gstars:hover{text-decoration:underline!important}
.brand-sep{opacity:.75}
.brand-count{white-space:nowrap}
@media(max-width:639px){
  .tagline{font-size:1rem;padding:.3rem .85rem}
  .brand-line2{font-size:.70rem;gap:.3rem;line-height:1.1}
  .brand-line2 .gstars{font-size:.70rem!important;line-height:1!important}
}
@media(max-width:359px){.tagline{font-size:.85rem}.brand-line2{font-size:.72rem}.brand-line2 .gstars{font-size:.72rem!important;line-height:1!important}}

/* v20 : formulaire semi-transparent + marges mobiles reduites */
#devis.card{background:rgba(255,255,255,.50)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
#devis.card .in{background:rgba(255,255,255,1)}
@media(max-width:639px){
  .hero-grid,.hero-form>.wrap{padding-left:.5rem!important;padding-right:.5rem!important}
  #devis.card{padding:1.1rem .85rem!important}
}

/* v24 : douze destinations et formulaire compact hors ordinateur. */
@media (max-width:1023px){
  .hero-grid #devis.card,.hero-form #devis.card{width:100%;max-width:26rem;justify-self:center;min-width:0}
}
@media (min-width:640px) and (max-width:1023px){
  #devis.card{padding:1.1rem .85rem!important}
}
footer nav a{max-width:100%;overflow-wrap:break-word}
/* Fond blanc pour les boutons du choix de skipper */
.skipt label {
  background: #ffffff !important;
}

/* Teinte au clic / sélection pour bien voir le choix actif */
.skipt label:has(input:checked) {
  background: rgba(181, 84, 31, 0.15) !important;
}
.hero-text ul,
.hero ul {
  list-style: none !important;
  padding-left: 0 !important;
}

/* Cohérence avec le header, les formulaires et le footer de Nemovoile. */
.form-heading{display:flex!important;align-items:center;justify-content:center}
.form-phone-heading{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;color:var(--primary);font-weight:700;line-height:1.2;text-align:center;text-decoration:none}
.form-phone-heading .phone-icon{width:1.55rem;height:1.55rem;flex:none;color:var(--accent)}
.form-phone-number{font-size:clamp(1.12rem,1.9vw,1.5rem);white-space:nowrap}
.form-availability{font-size:clamp(1.35rem,2.35vw,1.85rem);font-weight:800;white-space:nowrap;color:var(--accent)}
.form-availability::before{content:"-";margin-right:.35rem;color:var(--primary);font-size:.8em}
.form-phone-heading:hover{text-decoration:underline}

header .lang{display:inline-block;padding:.25rem .6rem;border:1px solid rgba(255,255,255,.6);border-radius:999px;font-size:.85rem;font-weight:700;color:#fff;text-decoration:none;background:rgba(255,255,255,.12);backdrop-filter:blur(4px)}
header .lang:hover{background:rgba(255,255,255,.25)}
@media(max-width:639px){header .lang{position:absolute;top:.6rem;right:.6rem;margin:0}.logo{font-size:clamp(3.2rem,13vw,4.2rem)!important}}
@media(min-width:640px){header .lang{position:absolute;top:1rem;right:1.25rem;margin:0}}

footer nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .8rem!important;max-width:38rem;margin:0 auto 1rem!important;padding:0 .75rem;font-size:.8rem;line-height:1.5;text-align:center}
footer nav a{min-width:0;white-space:normal;overflow-wrap:break-word}
@media(max-width:400px){footer nav{column-gap:.35rem!important}}
@media(max-width:359px){footer nav{column-gap:.25rem!important}}

/* Nom de destination uniquement, sans agrandir le reste du H1. */
.hero-text h1 .destination-name{font-size:1.3em;color:#F5D76E;text-shadow:0 2px 5px rgba(0,0,0,.65)}
@media(min-width:768px){.hero-text h1 .destination-name{font-size:1.2em}}

@media (min-width:1024px) {
  .hero-text h1 em {
    font-size: 0.7em;
  }
}

/* Destination sur sa propre ligne, lisible sur les téléphones étroits. */
.hero-text{min-width:0}
.hero-text h1 .destination-name,.hero-text h1 em{display:block;overflow-wrap:anywhere}
@media(max-width:420px){.hero-text h1{font-size:clamp(1.6rem,6.5vw,2rem)!important;line-height:1.15}.hero-text h1 .destination-name{font-size:1.6em}}

/* Numéro et disponibilité sur une seule ligne sur PC et smartphone. */
.form-phone-heading{flex-wrap:nowrap!important;gap:.2rem!important;white-space:nowrap}
.form-phone-heading .phone-icon{width:1.1rem;height:1.1rem}
.form-phone-number{font-size:clamp(.78rem,2.6vw,1.2rem)}
.form-availability{font-size:clamp(.85rem,2.8vw,1.25rem)}
.form-availability::before{margin-right:.2rem}
@media(max-width:359px){.form-phone-heading{gap:.12rem!important}.form-phone-heading .phone-icon{width:.95rem;height:.95rem}.form-phone-number{font-size:.74rem}.form-availability{font-size:.8rem}}

/* Smartphone uniquement : remonter le hero text */
@media (max-width: 639px) {
  .hero-form .hero-text {
    transform: translateY(-1.5rem);
  }
}


/* Photo d'en-tête plus lumineuse et saturée (texte lisible) */
.hero>img{filter:brightness(1.12) saturate(1.35) contrast(1.06)}
.hero-overlay{background:linear-gradient(90deg,rgba(16,30,46,.42),rgba(16,30,46,0) 55%),linear-gradient(180deg,rgba(16,30,46,.38),rgba(16,30,46,0) 35%,rgba(16,30,46,0) 55%,rgba(16,30,46,.5))!important}
header .logo,header p,header span,.hero-text *{text-shadow:0 2px 10px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.5)}
.hero h1,.hero .lead,.hero-text p,.hero ul,.hero .badge{text-shadow:0 2px 10px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.5)}
