/* ══ PAGES INTÉRIEURES ═══════════════════════════════════════ */

/* ── PAGE HERO ── */
.page-hero{
  position:relative;min-height:58vh;
  display:flex;align-items:flex-end;
  background-size:cover;background-position:center;
  color:#fff;overflow:hidden;
}
.page-hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(14,28,49,.95) 0%,rgba(14,28,49,.55) 50%,rgba(14,28,49,.15) 100%);
}
.page-hero__content{position:relative;z-index:1;padding-top:110px;padding-bottom:var(--s16)}
.page-hero__content h1{color:#fff;margin-bottom:var(--s4);max-width:700px;font-size:clamp(2.25rem,5vw,3.5rem)}
.page-hero__content h1 em{font-style:italic;color:var(--teal);font-weight:600}
.page-hero__content .lead{color:rgba(255,255,255,.72);margin-bottom:var(--s6);font-size:var(--t-lead);max-width:540px}
.page-hero__actions{display:flex;flex-wrap:wrap;gap:var(--s4)}

/* ── SPLIT ── */
.split{display:grid;grid-template-columns:1fr;gap:var(--s12);align-items:center}
.split h2{margin-bottom:var(--s4)}
.split .lead{margin-bottom:var(--s6);font-size:var(--t-lead)}
.split__img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-lg)}
.split__img img{width:100%;height:360px;object-fit:cover}

/* ── HIGHLIGHT BOX (chiffre fort) ── */
.hl-box{
  display:flex;align-items:center;gap:var(--s8);
  padding:var(--s8) var(--s10);background:var(--navy);
  border-radius:var(--radius);margin:var(--s8) 0;
}
.hl-box__num{
  font-size:4rem;font-weight:800;line-height:1;
  color:#fff;flex-shrink:0;letter-spacing:-.04em;
}
.hl-box__num em{font-style:normal;font-size:2rem;color:var(--teal)}
.hl-box strong{display:block;color:#fff;font-size:var(--t-h4);margin-bottom:var(--s2);font-weight:700}
.hl-box p{color:rgba(255,255,255,.65);font-size:var(--t-body);line-height:1.7}

/* ── PRICE LIST (frais ménage) ── */
.price-list{display:flex;flex-direction:column;gap:var(--s3)}
.price-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--s5) var(--s6);background:#fff;
  border:1px solid var(--border);border-radius:var(--radius);
  gap:var(--s4);transition:var(--ease);
}
.price-row:hover{border-color:var(--teal);box-shadow:var(--sh-sm)}
.price-row__left{}
.price-row__label{font-weight:700;font-size:var(--t-body);color:var(--navy);letter-spacing:-.01em}
.price-row__note{font-size:var(--t-sm);color:var(--muted);margin-top:3px;line-height:1.5}
.price-row__price{
  font-size:var(--t-h3);font-weight:800;color:var(--teal);
  white-space:nowrap;flex-shrink:0;letter-spacing:-.04em;
}

/* ── CHECKLIST ── */
.checklist{display:flex;flex-direction:column}
.cl-item{display:flex;gap:var(--s5);padding:var(--s8) 0;border-bottom:1px solid var(--border)}
.cl-item:last-child{border-bottom:none}
.cl-icon{
  width:44px;height:44px;flex-shrink:0;
  background:rgba(42,173,160,.1);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;color:var(--teal);
}
.cl-icon svg{width:20px;height:20px}
.cl-body h4{font-size:var(--t-h4);font-weight:700;margin-bottom:var(--s2);color:var(--navy);letter-spacing:-.01em}
.cl-body p{font-size:var(--t-body);color:var(--muted);line-height:1.75}
/* dark variant */
.checklist--dark .cl-item{border-bottom-color:rgba(255,255,255,.08)}
.checklist--dark .cl-icon{background:rgba(42,173,160,.15)}
.checklist--dark .cl-body h4{color:#fff}
.checklist--dark .cl-body p{color:rgba(255,255,255,.6)}

/* ── PACKS ── */
.packs-grid{display:grid;grid-template-columns:1fr;gap:var(--s5)}
.pack-card{
  background:#fff;border:2px solid var(--border);border-radius:var(--radius);
  padding:var(--s10);display:flex;flex-direction:column;gap:var(--s6);transition:var(--ease);
}
.pack-card:hover{border-color:var(--teal);box-shadow:var(--sh-lg)}
.pack-card--featured{border-color:var(--coral)}
.pack-card h3{font-size:var(--t-h3);font-weight:700;color:var(--navy);line-height:1.2}
.pack-card__price{display:flex;align-items:baseline;gap:var(--s2);line-height:1;margin:var(--s3) 0}
.pack-card__price strong{font-size:2.75rem;font-weight:800;color:var(--navy);letter-spacing:-.04em}
.pack-card__price span{font-size:var(--t-sm);color:var(--muted)}
.pack-card__features{display:flex;flex-direction:column;gap:var(--s3);flex:1}
.pack-card__features li{
  display:flex;align-items:flex-start;gap:var(--s3);
  font-size:var(--t-body);color:var(--muted);line-height:1.65;
}
.pack-card__features li svg{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--teal)}

/* ── PROTOCOL ── */
.protocol-grid{display:grid;grid-template-columns:1fr;gap:var(--s4)}
.protocol-step{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);padding:var(--s8);
}
.protocol-num{
  width:42px;height:42px;background:var(--teal);color:#fff;
  font-size:var(--t-lead);font-weight:800;border-radius:var(--radius-pill);
  display:flex;align-items:center;justify-content:center;margin-bottom:var(--s4);
}
.protocol-step h4{color:#fff;font-size:var(--t-h4);font-weight:700;margin-bottom:var(--s2);letter-spacing:-.01em}
.protocol-step p{color:rgba(255,255,255,.68);font-size:var(--t-sm);line-height:1.75}

/* ── TARIFS TABLE ── */
.tarif-table-wrap{overflow-x:auto;border-radius:var(--radius);margin:var(--s5) 0 var(--s10)}
.tarifs-table{
  width:100%;border-collapse:collapse;background:#fff;
  box-shadow:var(--sh-sm);border-radius:var(--radius);overflow:hidden;
}
.tarifs-table th{
  background:var(--navy);color:#fff;
  padding:var(--s4) var(--s6);text-align:left;
  font-size:var(--t-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.tarifs-table td{
  padding:var(--s5) var(--s6);
  border-bottom:1px solid var(--border);font-size:var(--t-body);vertical-align:middle;
}
.tarifs-table tr:last-child td{border-bottom:none}
.tarifs-table tr:hover td{background:var(--off)}
.tarifs-table .price-cell{
  font-size:var(--t-h3);font-weight:800;color:var(--teal);
  white-space:nowrap;letter-spacing:-.03em;
}

/* ── URGENCY BANNER ── */
.urgency-banner{
  background:var(--navy);border:2px solid var(--coral);
  border-radius:var(--radius);padding:var(--s8) var(--s10);
  display:flex;align-items:flex-start;gap:var(--s6);margin-top:var(--s8);
}
.urgency-banner__icon{
  width:50px;height:50px;flex-shrink:0;
  background:rgba(224,90,58,.15);border-radius:var(--radius-pill);
  display:flex;align-items:center;justify-content:center;color:var(--coral);
}
.urgency-banner__icon svg{width:24px;height:24px}
.urgency-banner h4{color:#fff;font-size:var(--t-h4);margin-bottom:var(--s3)}
.urgency-banner p{color:rgba(255,255,255,.7);font-size:var(--t-body);line-height:1.7}
.urgency-banner a{color:var(--coral);font-weight:700}

/* ── TARIF PAGE ── */
.tarif-section{padding:var(--s12) 0;border-bottom:1px solid var(--border)}
.tarif-section:last-of-type{border-bottom:none}
.tarif-section__header{display:flex;align-items:center;gap:var(--s5);margin-bottom:var(--s8)}
.tarif-section__icon{
  width:52px;height:52px;flex-shrink:0;
  background:rgba(42,173,160,.1);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;color:var(--teal);
}
.tarif-section__icon svg{width:24px;height:24px}
.tarif-section__header h2{font-size:var(--t-h2);letter-spacing:-.025em}
.tarif-subtitle{
  font-size:var(--t-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:var(--s8) 0 var(--s4);
  padding-bottom:var(--s3);border-bottom:2px solid var(--border);
}
.tarif-hl{
  display:flex;align-items:center;gap:var(--s8);
  padding:var(--s8) var(--s10);background:var(--navy);
  border-radius:var(--radius);margin-bottom:var(--s8);
}
.tarif-hl__num{
  font-size:4rem;font-weight:800;line-height:1;
  color:#fff;flex-shrink:0;letter-spacing:-.04em;
}
.tarif-hl__num em{font-style:normal;font-size:2rem;color:var(--teal)}
.tarif-hl strong{display:block;color:#fff;font-size:var(--t-h4);font-weight:700;margin-bottom:var(--s2)}
.tarif-hl p{color:rgba(255,255,255,.65);font-size:var(--t-body);line-height:1.7}
.abonnements{display:flex;flex-direction:column;gap:var(--s4);margin-bottom:var(--s8)}
.abo-row{
  display:flex;flex-direction:column;gap:var(--s4);
  padding:var(--s6) var(--s8);background:#fff;
  border:2px solid var(--border);border-radius:var(--radius);transition:var(--ease);
}
.abo-row:hover{border-color:var(--teal)}
.abo-row--featured{border-color:var(--coral)}
.abo-row__info p{font-size:var(--t-body);color:var(--muted);line-height:1.55;margin-top:var(--s2)}
.abo-price{display:flex;align-items:baseline;gap:var(--s2)}
.abo-price strong{font-size:2.5rem;font-weight:800;color:var(--navy);line-height:1;letter-spacing:-.04em}
.abo-price span{color:var(--muted)}
.engagement-note{
  display:flex;align-items:flex-start;gap:var(--s4);
  padding:var(--s6);background:rgba(42,173,160,.05);
  border:1px solid rgba(42,173,160,.2);border-radius:var(--radius);margin-top:var(--s8);
}
.engagement-note svg{width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--teal)}
.engagement-note p{font-size:var(--t-body);color:var(--muted);line-height:1.7}
.engagement-note strong{color:var(--navy)}

/* ── NAUTIQUE PACK ── */
.nautic-pack{
  background:#fff;border:2px solid var(--teal);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--sh-lg);
  display:grid;grid-template-columns:1fr;
}
.nautic-pack__price{
  background:var(--navy);padding:var(--s10);
  display:flex;align-items:center;justify-content:center;gap:var(--s6);
}
.nautic-price-big{font-size:4rem;font-weight:800;color:#fff;line-height:1;letter-spacing:-.04em}
.nautic-price-big em{font-style:normal;font-size:2rem;color:var(--teal)}
.nautic-price-label{color:rgba(255,255,255,.6);font-size:var(--t-body);line-height:1.6}
.nautic-price-label small{font-size:var(--t-sm);opacity:.7}
.nautic-pack__features{padding:var(--s8) var(--s10);display:flex;flex-direction:column;gap:var(--s6)}
.nautic-feature{display:flex;align-items:flex-start;gap:var(--s4)}
.nautic-feature svg{width:24px;height:24px;flex-shrink:0;margin-top:2px;color:var(--teal)}
.nautic-feature strong{display:block;font-size:var(--t-body);font-weight:700;color:var(--navy);margin-bottom:4px;letter-spacing:-.01em}
.nautic-feature span{font-size:var(--t-sm);color:var(--muted);line-height:1.7}
.nautic-pack__cta{
  border-top:1px solid var(--border);padding:var(--s6) var(--s10);
  background:var(--off);display:flex;flex-wrap:wrap;gap:var(--s3);
}
.nautic-services{display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:start}
.nautic-service{
  background:#fff;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--sh-sm);transition:var(--ease);
  isolation:isolate; /* empêche le translateY d'animation de faire déborder le contenu */
}
.nautic-service:hover{box-shadow:var(--sh-lg);transform:translateY(-3px)}
.nautic-service__img{height:240px;overflow:hidden}
.nautic-service__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.nautic-service:hover .nautic-service__img img{transform:scale(1.05)}
.nautic-service__body{padding:var(--s8)}
.nautic-service__body h4{font-size:var(--t-h4);margin-bottom:var(--s3)}
.nautic-service__body p{font-size:var(--t-body);color:var(--muted);margin-bottom:var(--s4);line-height:1.65}
.nautic-price-tags{display:flex;flex-direction:column;gap:var(--s2)}
.nautic-price-tag{
  font-size:var(--t-sm);color:var(--muted);
  background:var(--off);padding:5px 13px;
  border-radius:var(--radius-pill);border:1px solid var(--border);display:inline-block;
}
.nautic-price-tag strong{color:var(--teal);font-weight:700}

/* ── CONTACT FORM ── */
.contact-layout{display:grid;grid-template-columns:1fr;gap:var(--s16);align-items:start}
.cinfo-item{display:flex;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s6)}
.cinfo-icon{
  width:46px;height:46px;flex-shrink:0;
  background:rgba(42,173,160,.1);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;color:var(--teal);
}
.cinfo-icon svg{width:20px;height:20px}
.cinfo-label{font-size:.6875rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--teal);margin-bottom:4px}
.cinfo-value{font-size:var(--t-h4);font-weight:700;color:var(--navy);letter-spacing:-.01em}
.contact-direct{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s8)}
.form-card{
  background:#fff;border-radius:var(--radius);
  border:1px solid var(--border);padding:var(--s10);box-shadow:var(--sh-lg);
}
.form-card h3{font-size:var(--t-h3);font-weight:700;margin-bottom:var(--s6)}
.form-group{margin-bottom:var(--s5)}
.form-label{
  display:block;font-size:var(--t-sm);font-weight:600;
  color:var(--navy);margin-bottom:var(--s2);letter-spacing:.01em;
}
.form-input,.form-select,.form-textarea{
  width:100%;padding:13px 16px;
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  font-family:var(--font);font-size:var(--t-body);
  color:var(--navy);background:var(--off);
  transition:var(--ease);outline:none;-webkit-appearance:none;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--teal);background:#fff;
  box-shadow:0 0 0 4px rgba(42,173,160,.1);
}
.form-textarea{resize:vertical;min-height:120px}
.form-select-wrap{position:relative}
.form-select-wrap::after{
  content:'';position:absolute;right:16px;top:50%;transform:translateY(-50%);
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;
  border-top:6px solid var(--muted);pointer-events:none;
}
.form-choices{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.form-choice{
  display:flex;align-items:center;gap:var(--s3);
  padding:var(--s4) var(--s5);border:2px solid var(--border);
  border-radius:var(--radius-sm);cursor:pointer;transition:var(--ease);
  font-size:var(--t-body);font-weight:600;color:var(--muted);background:var(--off);
}
.form-choice svg{width:18px;height:18px}
.form-choice:hover{border-color:var(--teal);color:var(--navy)}
.form-choice.selected{border-color:var(--teal);background:rgba(42,173,160,.06);color:var(--teal)}
.form-fallback{
  text-align:center;margin-top:var(--s6);padding-top:var(--s6);
  border-top:1px solid var(--border);font-size:var(--t-sm);color:var(--muted);
}
.form-fallback a{color:var(--teal);font-weight:700}
.form-success{display:none;text-align:center;padding:var(--s16) var(--s8)}
.form-success.show{display:block}
.form-success__icon{
  width:68px;height:68px;background:rgba(42,173,160,.1);
  border-radius:var(--radius-pill);display:flex;align-items:center;
  justify-content:center;margin:0 auto var(--s6);color:var(--teal);
}
.form-success__icon svg{width:34px;height:34px}

/* ── MENTIONS ── */
.mentions-content h2{font-size:var(--t-h3);font-weight:700;margin:var(--s8) 0 var(--s3);padding-bottom:var(--s3);border-bottom:1px solid var(--border);letter-spacing:-.015em}
.mentions-content p{margin-bottom:var(--s4);color:var(--muted);line-height:1.8;font-size:var(--t-body)}

/* ── RESPONSIVE ── */
@media(max-width:400px){
  .hl-box,.tarif-hl{flex-direction:column;gap:var(--s4)}
  .hl-box__num,.tarif-hl__num{font-size:3rem}
  .urgency-banner{flex-direction:column;gap:var(--s4)}
}
@media(min-width:640px){
  .protocol-grid{grid-template-columns:1fr 1fr}
  .packs-grid{grid-template-columns:1fr 1fr}
  .nautic-services{grid-template-columns:1fr 1fr;align-items:start}
}
@media(min-width:768px){
  .split{grid-template-columns:1fr 1fr}
  .contact-layout{grid-template-columns:1fr 1.5fr}
  .nautic-pack{grid-template-columns:auto 1px 1fr}
  .nautic-pack__price{flex-direction:column;text-align:center;min-width:190px;justify-content:center;align-self:stretch}
  .nautic-pack__divider{width:1px;height:auto;background:var(--border)}
  .abo-row{flex-direction:row;align-items:center}
  .abo-row__info{flex:1}
}
@media(min-width:1024px){
  .protocol-grid{grid-template-columns:repeat(4,1fr)}
  .packs-grid{grid-template-columns:repeat(3,1fr)}
}


/* ── CHECKLIST ITEM : ligne gauche teal apparaît au hover ── */
.cl-item {
  position: relative;
  transition: padding-left .3s ease;
  padding-left: 0;
}
.cl-item::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 0;
  background: var(--teal);
  border-radius: 2px;
  transition: width .28s cubic-bezier(.16,1,.3,1);
}
.cl-item:hover::before { width: 3px; }
.cl-item:hover { padding-left: var(--s4); }

/* ── PRICE ROW : fond teal très subtil et prix scale ── */
.price-row {
  transition: border-color .28s ease, box-shadow .28s ease, background .28s ease;
}
.price-row:hover .price-row__price {
  transform: scale(1.06);
  transition: transform .28s cubic-bezier(.16,1,.3,1);
  display: inline-block;
}

/* ── PACK CARD : border-left teal s'étend du haut ── */
.pack-card {
  position: relative;
  overflow: hidden;
}
.pack-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0;
  width: 3px; height: 0;
  background: var(--teal);
  transition: height .4s cubic-bezier(.16,1,.3,1);
}
.pack-card--featured::before { background: var(--coral); }
.pack-card:hover::before { height: 100%; }

/* ── ABO ROW : même effet ── */
.abo-row {
  position: relative;
  overflow: hidden;
  transition: border-color .28s ease, box-shadow .28s ease, transform .3s ease;
}
.abo-row:hover { transform: translateX(4px); }

/* ── ECO SECTION (nautique) ── */
.eco-section {
  background: var(--navy);
  padding: var(--s16) 0;
  position: relative;
  overflow: hidden;
}
.eco-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 0% 50%, rgba(42,173,160,.12) 0%, transparent 60%);
  pointer-events: none;
}
.eco-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s10);
  align-items: center;
  position: relative;
  z-index: 1;
}
@media(min-width:768px){
  .eco-inner { grid-template-columns: auto 1fr; gap: var(--s16); }
}
.eco-visual {
  display: flex;
  align-items: center;
  gap: var(--s8);
}
@media(min-width:768px){
  .eco-visual { flex-direction: column; align-items: center; gap: var(--s6); }
}
.eco-icon-wrap {
  width: 72px; height: 72px;
  flex-shrink: 0;
  background: rgba(42,173,160,.15);
  border: 1px solid rgba(42,173,160,.3);
  border-radius: var(--radius-pill);
  display: flex; align-items: center; justify-content: center;
  color: var(--teal);
}
@media(min-width:768px){
  .eco-icon-wrap { width: 88px; height: 88px; }
  .eco-icon-wrap svg { width: 44px; height: 44px; }
}
.eco-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media(min-width:768px){
  .eco-stat { align-items: center; text-align: center; }
}
.eco-stat__num {
  font-size: 3rem;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  letter-spacing: -.04em;
}
.eco-stat__num em { font-style: normal; font-size: 1.75rem; color: var(--teal); }
.eco-stat__label {
  font-size: var(--t-xs);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  line-height: 1.5;
  margin-top: 4px;
}
.eco-content .eyebrow { color: var(--teal); }
.eco-content h3 {
  font-size: var(--t-h2);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -.025em;
  margin-top: var(--s3);
  margin-bottom: var(--s5);
}
.eco-content h3 em { font-style: italic; color: var(--teal); font-weight: 600; }
.eco-content p {
  font-size: var(--t-lead);
  color: rgba(255,255,255,.65);
  line-height: 1.75;
  max-width: 540px;
  margin-bottom: var(--s8);
}
.eco-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3);
}
.eco-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(42,173,160,.1);
  border: 1px solid rgba(42,173,160,.25);
  color: var(--teal);
  font-size: var(--t-sm);
  font-weight: 600;
  padding: 7px 14px;
  border-radius: var(--radius-pill);
}
.eco-badge svg { flex-shrink: 0; }
