.brand:hover{border-bottom:none}
.cta-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;background:var(--sun-soft);border:1px solid var(--sun);border-radius:100px;font-size:12px;font-weight:500;color:#7a5000;text-decoration:none;flex-shrink:0;transition:all .15s}
.cta-pill:hover{background:var(--gold);border-color:var(--sun2);color:#5a3d00;border-bottom:1px solid var(--sun2)}
.header-back{font-size:13px;color:var(--soft);text-decoration:none;display:flex;align-items:center;gap:4px;border-bottom:none;flex-shrink:0}
.header-back:hover{color:var(--navy);border-bottom:none}

@media(max-width:480px){
  header{padding:8px 14px}
  .brand-mark{width:28px;height:28px}
  .brand-name{font-size:16px}
  .brand-tagline{font-size:10px}
  .cta-pill{padding:6px 10px;font-size:11px}
  .cta-pill .cta-pill-label-long{display:none}
  .header-voiture{padding:6px 10px;font-size:11px;margin-left:6px}
  .header-voiture .header-voiture-label{display:none}
  .header-back{font-size:12px}
}

/* === Pages === */
.page-content{max-width:700px;margin:0 auto;padding:24px 16px 60px}
.page-content h1{font-family:'DM Serif Display',serif;font-size:24px;color:var(--navy);margin-bottom:16px;line-height:1.3}
.page-content h2{font-family:'DM Serif Display',serif;font-size:18px;color:var(--navy);margin:28px 0 10px;line-height:1.3}
.page-content p{font-size:14px;color:var(--text);line-height:1.8;margin-bottom:12px}
.page-content a{color:var(--ocean);text-decoration:none;border-bottom:1px solid var(--oceans)}
.page-content a:hover{color:var(--navy)}
.page-content ul{margin:8px 0 16px 20px;font-size:14px;line-height:1.8}
.page-content li{margin-bottom:4px}
.page-content strong{color:var(--navy)}
.info-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin:18px 0;box-shadow:var(--shadow)}
.info-card h3{font-family:'DM Serif Display',serif;font-size:15px;color:var(--navy);margin-bottom:8px}
.info-card p{font-size:13px;margin-bottom:6px}
.cta-box{background:var(--navy);color:#fff;border-radius:var(--radius);padding:20px;margin:24px 0;text-align:center}
.cta-box h3,.cta-box .cta-title{font-family:'DM Serif Display',serif;font-size:17px;color:var(--sun);margin-bottom:8px}
.cta-box p{font-size:13px;color:rgba(255,255,255,.8);margin-bottom:12px}
.cta-box a{display:inline-block;background:var(--sun);color:var(--navy);padding:10px 24px;border-radius:30px;font-weight:600;font-size:13px;text-decoration:none;border:none;transition:opacity .15s}
.cta-box a:hover{opacity:.9;border:none}
.signup-form{background:var(--foam);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:20px 0;text-align:center}
.signup-form p{font-size:13px;color:var(--soft);margin-bottom:10px}
.signup-form input[type="email"]{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:14px;width:100%;max-width:320px;margin-bottom:8px}
.signup-form button{background:var(--navy);color:#fff;padding:10px 24px;border-radius:30px;border:none;font-family:'DM Sans',sans-serif;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s}
.signup-form button:hover{background:var(--ocean)}
.breadcrumb{font-size:12px;color:var(--soft);margin-bottom:16px}
.breadcrumb a{color:var(--soft);text-decoration:none;border-bottom:none}
.breadcrumb a:hover{color:var(--navy)}
/* A11y — breadcrumb sémantique nav>ol>li (audit 6.1) */
.breadcrumb ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center}
.breadcrumb li{display:inline-flex;align-items:center}
.breadcrumb li:not(:last-child)::after{content:'\203A';margin:0 8px;color:var(--soft);opacity:.6}
@media(max-width:480px){.page-content h1{font-size:20px}.page-content{padding:16px 12px 40px}}

/* === V7 Pages CSS — factorisé depuis V6 inline (ajouté 15/05/2026) === */

/* Sous-titres H3 dans les sections (.subh) */
.subh{font-family:'DM Serif Display',serif;font-size:15px;color:var(--navy);margin:14px 0 6px;line-height:1.3}

/* Tableaux comparatifs (.tg-table) */
.tg-table{width:100%;border-collapse:collapse;font-size:13px;margin:12px 0 18px;background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.tg-table th,.tg-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.tg-table th{background:var(--sand2);font-size:12px;color:var(--navy);font-weight:600}
.tg-table tr:last-child td{border-bottom:none}

/* Encadré jaune (.note) */
.note{background:#fff8e0;border-left:3px solid #e6a800;padding:10px 14px;border-radius:8px;margin:14px 0;font-size:13px;color:#7a5000;line-height:1.6}
.note strong{color:#7a5000}

/* Encadré bleu (.tip) */
.tip{background:#e8f1fb;border-left:3px solid var(--ocean);padding:10px 14px;border-radius:8px;margin:14px 0;font-size:13px;color:var(--navy);line-height:1.6}
.tip strong{color:var(--navy)}

/* Encadré vert assistance (.assist) — page PMR */
.assist{background:#eaf3ee;border-left:3px solid #2d8659;padding:10px 14px;border-radius:8px;margin:14px 0;font-size:13px;color:#1f5a3d;line-height:1.6}
.assist strong{color:#1f5a3d}

/* Encadré violet "prochainement" (.soon) — utilisé occasionnellement */
.soon{background:#f1e8fb;border-left:3px solid #7a4ec2;padding:10px 14px;border-radius:8px;margin:14px 0;font-size:13px;color:#4a2d80;line-height:1.6}
.soon strong{color:#4a2d80}

/* CTA jaune inline (en haut de page, sous le lead) */
.cta-inline{background:#fff8e0;border-left:3px solid var(--sun2);padding:12px 14px;border-radius:8px;margin:14px 0 18px;font-size:13px;color:var(--text);line-height:1.6;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cta-inline a{display:inline-block;background:var(--navy);color:#fff;padding:6px 14px;border-radius:20px;font-weight:600;font-size:12px;text-decoration:none;border-bottom:none;white-space:nowrap;flex-shrink:0}
.cta-inline a:hover{background:var(--ocean);color:#fff;border-bottom:none}

/* CTA contextuel (sable, pour les liens secondaires en bas de section) */
.cta-context{display:inline-block;background:var(--sand2);color:var(--navy);padding:7px 14px;border-radius:20px;font-weight:600;font-size:13px;text-decoration:none;border:1px solid var(--border);margin:6px 6px 6px 0;border-bottom:1px solid var(--border);transition:all .15s}
.cta-context:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Related grid (pages liées en fin de page) */
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 8px}
.related-card{display:flex;align-items:flex-start;gap:8px;background:#fff;border:1px solid var(--border);border-radius:8px;padding:11px 12px;text-decoration:none;border-bottom:none;transition:all .15s}
.related-card:hover{border-color:var(--ocean);box-shadow:var(--shadow);transform:translateY(-1px)}
.related-emoji{font-size:18px;flex-shrink:0;line-height:1.2}
.related-title{display:block;font-size:13px;font-weight:600;color:var(--navy);line-height:1.3}

/* Liste à cases vertes (.checklist) — preparer-son-voyage */
.checklist{list-style:none;margin:8px 0 16px 0;padding:0}
.checklist li{font-size:14px;line-height:1.7;padding-left:22px;position:relative;margin-bottom:4px}
.checklist li::before{content:'✅';position:absolute;left:0;font-size:13px}

/* Cas-list avec emojis (.case-list) — preparer-son-voyage */
.case-list{margin:8px 0 16px 0;padding:0;list-style:none}
.case-list li{font-size:14px;line-height:1.6;padding:8px 0 8px 28px;position:relative;border-bottom:1px solid var(--border)}
.case-list li:last-child{border-bottom:none}
.case-list .case-emoji{position:absolute;left:0;top:8px;font-size:16px}
.case-list a{font-weight:600}

/* Note "Mis à jour le X" en bas de page */
.page-updated{margin-top:24px;font-size:12px;color:var(--soft);text-align:right}

/* Formulaire embedded (page accompagnement) */
.signup-form-omyeu{background:var(--foam);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:20px 0;box-shadow:var(--shadow)}
.signup-form-omyeu h3{font-family:'DM Serif Display',serif;font-size:16px;color:var(--navy);margin-bottom:10px}
.signup-form-omyeu .form-intro{font-size:13px;color:var(--soft);margin-bottom:14px;line-height:1.6}
.signup-form-omyeu .field-label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:14px 0 6px}
.signup-form-omyeu input[type="email"]{padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:14px;width:100%;max-width:380px}
.signup-form-omyeu input[type="text"]{padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:13px;width:100%;max-width:380px}
.signup-form-omyeu .other-input{margin:6px 0 4px 24px;width:calc(100% - 24px);max-width:356px}
.signup-form-omyeu .radio-group,.signup-form-omyeu .checkbox-group{margin:6px 0}
.signup-form-omyeu .radio-group label,.signup-form-omyeu .checkbox-group label{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:13px;color:var(--text);margin:6px 0;cursor:pointer;line-height:1.5}
.signup-form-omyeu .radio-group input,.signup-form-omyeu .checkbox-group input{margin-top:2px;flex-shrink:0;cursor:pointer}
.signup-form-omyeu .rgpd-consent{font-size:12px;color:var(--soft);background:#f9f7f1;padding:10px 12px;border-radius:6px;margin:14px 0;line-height:1.5}

/* Responsive V7 */
@media(max-width:480px){
  .related-grid{grid-template-columns:1fr}
  .tg-table{font-size:12px}
}

/* A11y — focus-visible global (audit 6.2) */
/* Outline visible UNIQUEMENT lors de la navigation clavier (pas au clic souris) */
:focus-visible{outline:2px solid var(--sun);outline-offset:2px;border-radius:3px}
/* Champs de formulaire : outline + border colorée (override le outline:none de home.mustache:145) */
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--sun);outline-offset:0;border-color:var(--ocean)}

/* Page désinscription */
.desinscr-box{margin:24px 0;padding:20px 24px;border-radius:12px;background:#f4f7f9;border:1px solid #e0e6ea}
.desinscr-box.ok{background:#e8f5ee;border-color:#bfe6cd}
.desinscr-box.err{background:#fdecea;border-color:#f5c6c0}
.desinscr-msg{margin:0;font-size:15px;line-height:1.6;color:#1a2b3c}

/* ── Encarts pub / asso / événements (V8b, ads.js) ── */
.ad-slot{display:none;max-width:780px;margin:22px auto;padding:0 16px}
.ad-slot.visible{display:block}
.ad-inner{display:flex;gap:14px;align-items:flex-start;background:var(--foam);border:1px solid var(--border);border-left:4px solid var(--sun);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}
.ad-emoji{font-size:26px;line-height:1.2;flex:0 0 auto}
.ad-content{flex:1 1 auto;min-width:0}
.ad-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);font-weight:600;margin-bottom:3px}
.ad-title{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:3px;line-height:1.35}
.ad-text{font-size:14px;color:var(--text);line-height:1.6}
.ad-cta{display:inline-block;margin-top:9px;font-size:13px;font-weight:600;color:var(--ocean);text-decoration:none;border-bottom:none}
.ad-cta:hover{color:var(--navy);border-bottom:none}
.header-alerte-label {
  /* le texte 'Traversées' */
}

/* V8.1 — Opt-in newsletter dans formulaire alerte (lot maillage 03/06/2026) */
.selbar-consent-optional {
  opacity: 0.85;
  font-size: 0.92em;
  margin-top: 6px;
}
.selbar-consent-optional input[type="checkbox"] {
  opacity: 0.75;
}

/* V8.1 — Bouton retry sur la page horaires (04/06/2026) */
.hor-retry-btn {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 16px;
  background: #f5c000;
  border: 1px solid #d4a017;
  border-radius: 6px;
  color: #1e3a5f;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.hor-retry-btn:hover {
  background: #fbe48a;
}

/* V8.1 — Badge BETA sur le bouton 'Créer mon alerte' (04/06/2026) */
.alerte-beta-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  background: rgba(255,255,255,0.25);
  border: 1px solid rgba(255,255,255,0.45);
  border-radius: 10px;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.5px;
  vertical-align: 1px;
}


/* === V8.1 — Cartes widgets sur page pro-partenaires (3 widgets modulables) === */
.widget-card {
  border: 1px solid #e0d7b5;
  border-radius: 12px;
  padding: 18px 20px;
  margin: 20px 0;
  background: #fffdf6;
  transition: border-color .15s ease;
}
.widget-card:hover {
  border-color: #c4a942;
}
.widget-card h3 {
  font-size: 17px;
  color: #1a3a8f;
  margin: 0 0 8px;
  font-weight: 600;
}
.widget-card p {
  font-size: 14px;
  color: #4a5870;
  margin: 0 0 14px;
  line-height: 1.5;
}
.demo-btn {
  background: #1a3a8f;
  color: #fff;
  border: none;
  padding: 9px 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  font-family: inherit;
  transition: background .15s ease;
}
.demo-btn:hover {
  background: #2d6cc0;
}
.demo-btn.active {
  background: #f5c000;
  color: #1a3a8f;
}
.widget-compat {
  font-size: 13px;
  color: #6b7280;
  margin-top: 24px;
  font-style: italic;
}

/* ═══ V9.1 — Formulaire demande d'accompagnement (page /accompagnement/) ═══ */
.accomp-page-form{background:#f4faf7;border:1px solid #9ecdb4;border-radius:var(--radius);padding:18px;margin:14px 0 22px;display:flex;flex-direction:column;gap:12px}
.accomp-page-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--navy)}
.accomp-page-form .af-opt{font-weight:400;color:var(--soft);font-size:12px}
.accomp-page-form input[type=date],.accomp-page-form input[type=text],.accomp-page-form input[type=email],.accomp-page-form input[type=tel],.accomp-page-form input[type=time],.accomp-page-form select,.accomp-page-form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;font-family:inherit;font-size:14px;color:var(--text);background:#fff;font-weight:400}
.accomp-page-form .af-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.accomp-page-form .af-grid{grid-template-columns:1fr}}
.af-segs{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:0;display:flex;flex-direction:column;gap:8px;background:#fff}
.af-segs legend{font-size:13px;font-weight:600;color:var(--navy);padding:0 4px}
.af-seg{display:flex;align-items:center;gap:12px}
.af-seg label{flex-direction:row;align-items:center;gap:6px;font-weight:500;min-width:120px}
.af-seg input[type=time]{width:110px}
.af-consent{flex-direction:row!important;align-items:flex-start!important;gap:8px!important;font-weight:400!important;font-size:13px;color:var(--text)!important;line-height:1.45}
.af-consent input{margin-top:2px}
.af-submit{background:var(--navy);color:#fff;border:none;border-radius:20px;padding:11px 24px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;align-self:flex-start;transition:background .15s ease}
.af-submit:hover{background:var(--ocean)}
.af-submit:disabled{opacity:.6;cursor:default}
.accomp-hp{position:absolute;left:-9999px;height:1px;width:1px;opacity:0}
.accomp-msg{font-size:14px;line-height:1.5}
.accomp-msg:empty{display:none}
.accomp-msg.ok{color:#1e6e46;font-weight:500}
.accomp-msg.err{color:#b82020;font-weight:500}

/* V9.1b — heures multiples + trajet complet */
.af-times{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1}
.af-times input[type=time]{width:104px}
.af-add{background:#fff;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;color:var(--soft);cursor:pointer;font-family:inherit}
.af-add:hover{border-color:var(--ocean);color:var(--ocean)}
.af-times-block{display:flex;flex-direction:column;gap:6px;padding:2px 0 4px 24px}
.af-seg{flex-wrap:wrap}

/* V9.1c — chips de départs réels (formulaire accompagnement) */
.af-chip{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:5px!important;background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:5px 11px;font-size:13px;font-weight:500!important;color:var(--text)!important;cursor:pointer;transition:all .15s;user-select:none}
.af-chip:hover{border-color:var(--ocean)}
.af-chip:has(input:checked){background:#e8f4ee;border-color:#1e6e46;color:#1e6e46!important}
.af-chip input{margin:0}
.af-autre-lbl{font-size:12px;color:var(--soft);margin-left:4px}
.af-times-info{font-size:12px;color:var(--soft);flex-basis:100%}

/* ── V9 — pages saison ─────────────────────────────────────────── */
.saison-table caption{caption-side:top;text-align:left;font-size:12px;color:var(--soft);padding:0 0 6px 2px}
.saison-table td:first-child{font-weight:600;color:var(--navy)}
.saison-table tr.saison-ok td:nth-child(2){color:#0F6E56;font-weight:600;white-space:nowrap}
.saison-table tr.saison-warn td:nth-child(2){color:#a86a00;font-weight:600;white-space:nowrap}
.saison-table tr.saison-off td{color:var(--soft)}
.saison-table tr.saison-off td:nth-child(2){font-weight:600;white-space:nowrap}

/* ── V9 — annuaires (pilier + fiches) ───────────────────────────── */
.annuaire-filters{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.afilter{padding:7px 14px;background:#fff;border:1px solid var(--border);border-radius:100px;font-size:12.5px;font-weight:600;color:var(--navy);cursor:pointer;transition:all .15s}
.afilter:hover{border-color:var(--ocean)}
.afilter.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.annuaire-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 22px}
@media(max-width:560px){.annuaire-grid{grid-template-columns:1fr}}
.annuaire-card{position:relative;display:flex;flex-direction:column;gap:6px;background:linear-gradient(150deg,#fff 55%,var(--sun-soft) 130%);border:1px solid var(--border);border-top:3px solid var(--sun);border-radius:var(--radius);padding:15px 16px 30px;text-decoration:none;border-bottom:1px solid var(--border);box-shadow:0 1px 4px rgba(26,58,143,.05);transition:all .18s}
.annuaire-card:hover{border-color:var(--ocean);border-top-color:var(--ocean);box-shadow:var(--shadow);transform:translateY(-2px)}
.annuaire-card[hidden]{display:none}
.annuaire-card-head{display:flex;align-items:center;gap:10px}
.annuaire-card-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--gold);font-size:17px;flex-shrink:0;box-shadow:inset 0 -2px 0 rgba(0,0,0,.06)}
.annuaire-card-nom{font-family:'DM Serif Display',serif;font-size:17px;font-weight:400;color:var(--navy);line-height:1.2}
.annuaire-card-adresse{font-size:12px;color:var(--soft)}
.annuaire-card-badges{display:flex;flex-wrap:wrap;gap:5px}
.badge{display:inline-block;background:#e8f1fb;color:var(--ocean);border:1px solid #cfe0f5;font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em}
.annuaire-card-prix{font-size:12.5px;font-weight:700;color:#0F6E56}
.annuaire-card-go{position:absolute;right:14px;bottom:10px;font-size:11.5px;font-weight:600;color:var(--ocean)}
.fiche-table td:first-child{width:38%}

/* ── V9 — fiche annuaire : photos, partage, réservation ─────────── */
.fiche-photos{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:14px 0;padding-bottom:4px;scrollbar-width:thin}
.fiche-photos img{height:215px;width:auto;max-width:86%;flex:0 0 auto;border-radius:12px;scroll-snap-align:start;border:1px solid var(--border);background:#fff}
.fiche-resa{display:block;background:var(--navy);color:#fff;text-align:center;padding:13px;border-radius:30px;font-weight:700;font-size:14.5px;text-decoration:none;border-bottom:none;margin:18px 0;transition:background .15s}
.fiche-resa:hover{background:var(--ocean);color:#fff;border-bottom:none}
.fiche-share{display:flex;align-items:center;gap:10px;margin:14px 0}
.fiche-share button{padding:9px 16px;background:#fff;border:1px solid var(--border);border-radius:100px;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer;transition:all .15s;font-family:inherit}
.fiche-share button:hover{border-color:var(--ocean);color:var(--ocean)}
#fiche-share-msg{font-size:12.5px;color:#0F6E56;font-weight:600}
.badge-premium{background:var(--sun-soft);color:#7a5000;border-color:var(--sun)}
/* V10 bloc 8 (lot 8F) : styles propres à trois pages, sortis de pages.json (clé extra_css, du style dans les données) et
   limités à leur page par l'attribut data-slug du body. Ce préfixe pèse plus que les règles génériques .page-content :
   trois règles que .page-content masquait depuis l'origine prennent effet (décision d'Ed du 15/10/2026 : boutons
   .partner-cta sans filet, liste .facts sans retrait, note .mob-table-note en 12 px gris italique). Dans les cartes
   widget, la marge des .code-block reste 0 0 14px (ajustement postérieur voulu, déplacé ici avec le poids de la page). */
/* horaires-traversees-ile-d-yeu */
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form{background:var(--foam);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:20px 0;box-shadow:var(--shadow)}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form h2{margin-top:0}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form .form-intro{font-size:13px;color:var(--soft);margin-bottom:14px;line-height:1.6}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form .field-label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:14px 0 6px}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-row{display:flex;gap:10px;flex-wrap:wrap}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-row>div{flex:1;min-width:140px}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form input[type="date"],body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form select,body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form input[type="email"]{padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:'DM Sans',sans-serif;font-size:14px;width:100%;background:#fff;color:var(--text)}
body[data-slug="horaires-traversees-ile-d-yeu"] .trajets-box{margin:8px 0 4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fbfaf6;padding:10px 12px;min-height:54px;max-height:240px;overflow-y:auto}
body[data-slug="horaires-traversees-ile-d-yeu"] .trajets-box .placeholder{font-size:13px;color:var(--soft);font-style:italic}
body[data-slug="horaires-traversees-ile-d-yeu"] .trajet-opt{display:flex;align-items:flex-start;gap:9px;padding:6px 0;font-size:13px;line-height:1.4;cursor:pointer;border-bottom:1px solid #efe9dc}
body[data-slug="horaires-traversees-ile-d-yeu"] .trajet-opt:last-child{border-bottom:none}
body[data-slug="horaires-traversees-ile-d-yeu"] .trajet-opt input{margin-top:2px;flex-shrink:0;cursor:pointer}
body[data-slug="horaires-traversees-ile-d-yeu"] .trajet-time{font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}
body[data-slug="horaires-traversees-ile-d-yeu"] .trajet-meta{color:var(--soft)}
body[data-slug="horaires-traversees-ile-d-yeu"] .dispo-pill{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px;margin-left:4px;white-space:nowrap}
body[data-slug="horaires-traversees-ile-d-yeu"] .dispo-ok{background:#eaf3ee;color:#1f5a3d}
body[data-slug="horaires-traversees-ile-d-yeu"] .dispo-warn{background:#fff8e0;color:#7a5000}
body[data-slug="horaires-traversees-ile-d-yeu"] .dispo-full{background:#fdeaea;color:#a12020}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-consent{font-size:12px;color:var(--soft);background:#f9f7f1;padding:10px 12px;border-radius:6px;margin:14px 0;line-height:1.5}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-consent label{display:flex;align-items:flex-start;gap:8px;margin:7px 0;cursor:pointer;color:var(--text)}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-consent input{margin-top:2px;flex-shrink:0;cursor:pointer}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form .submit-btn{background:var(--navy);color:#fff;padding:11px 28px;border-radius:30px;border:none;font-family:'DM Sans',sans-serif;font-weight:600;font-size:14px;cursor:pointer;transition:background .15s;width:100%;max-width:280px;display:block;margin:6px auto 0}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form .submit-btn:hover:not(:disabled){background:var(--ocean)}
body[data-slug="horaires-traversees-ile-d-yeu"] .alert-form .submit-btn:disabled{opacity:.55;cursor:not-allowed}
body[data-slug="horaires-traversees-ile-d-yeu"] .form-msg{font-size:13px;margin:12px 0 0;padding:10px 12px;border-radius:6px;line-height:1.5;display:none}
body[data-slug="horaires-traversees-ile-d-yeu"] .form-msg.show{display:block}
body[data-slug="horaires-traversees-ile-d-yeu"] .form-msg.ok{background:#eaf3ee;color:#1f5a3d}
body[data-slug="horaires-traversees-ile-d-yeu"] .form-msg.err{background:#fdeaea;color:#a12020}
body[data-slug="horaires-traversees-ile-d-yeu"] .form-msg.info{background:#e8f1fb;color:var(--navy)}
body[data-slug="horaires-traversees-ile-d-yeu"] .beta-tag{display:inline-block;font-size:10px;font-weight:600;background:#f1e8fb;color:#4a2d80;padding:1px 6px;border-radius:20px;vertical-align:middle;margin-left:4px}
body[data-slug="horaires-traversees-ile-d-yeu"] .honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* se-deplacer-sur-l-ile-d-yeu */
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-card{background:#fff;border:1px solid var(--border);border-left:4px solid var(--sun);border-radius:10px;padding:13px 16px;margin:12px 0}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-card h3{font-size:15px;color:var(--navy);margin:0 0 5px}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-card p{font-size:14px;line-height:1.6;color:var(--text);margin:0 0 6px}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-card p:last-child{margin-bottom:0}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-card a{color:var(--navy);font-weight:600;text-decoration:none}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-card a:hover{text-decoration:underline}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-table th,body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-table td{border:1px solid var(--border);padding:8px 11px;text-align:left}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-table th{background:var(--navy);color:#fff;font-weight:600}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-table tr:nth-child(even) td{background:var(--sand)}
body[data-slug="se-deplacer-sur-l-ile-d-yeu"] .mob-table-note{font-size:12px;color:var(--soft);margin:-6px 0 10px;font-style:italic}
/* pro-et-partenaires */
body[data-slug="pro-et-partenaires"] .subh{font-family:'DM Serif Display',serif;font-size:15px;color:var(--navy);margin:14px 0 6px;line-height:1.3}
body[data-slug="pro-et-partenaires"] .code-block{background:#1a2a4a;color:#f5f0e8;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:12px;line-height:1.5;padding:14px 16px;border-radius:8px;overflow-x:auto;margin:12px 0;position:relative;white-space:pre}
body[data-slug="pro-et-partenaires"] .code-block code{color:#fbe48a}
body[data-slug="pro-et-partenaires"] .widget-card .code-block{margin:0 0 14px} /* ajustement postérieur des cartes widget, avec le poids de la page pour garder le dessus */
body[data-slug="pro-et-partenaires"] .code-copy{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.1);color:#fff;border:none;border-radius:6px;padding:4px 10px;font-size:11px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;transition:background .15s}
body[data-slug="pro-et-partenaires"] .code-copy:hover{background:rgba(255,255,255,.2)}
body[data-slug="pro-et-partenaires"] .demo-card{background:linear-gradient(135deg,#fff8e0 0%,#fbe48a 100%);border:1px solid #e6a800;border-radius:12px;padding:18px 18px;margin:18px 0;text-align:center}
body[data-slug="pro-et-partenaires"] .demo-card h3{font-family:'DM Serif Display',serif;font-size:16px;color:var(--navy);margin-bottom:6px}
body[data-slug="pro-et-partenaires"] .demo-card p{font-size:13px;color:var(--text);margin:0 0 8px;line-height:1.5}
body[data-slug="pro-et-partenaires"] .demo-card .arrow{font-size:22px;animation:bounce 1.5s infinite;display:inline-block}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
body[data-slug="pro-et-partenaires"] .facts{list-style:none;margin:8px 0 16px 0;padding:0}
body[data-slug="pro-et-partenaires"] .facts li{font-size:14px;line-height:1.7;padding:6px 0 6px 22px;position:relative;border-bottom:1px solid var(--border)}
body[data-slug="pro-et-partenaires"] .facts li:last-child{border-bottom:none}
body[data-slug="pro-et-partenaires"] .facts li::before{content:'·';position:absolute;left:6px;color:var(--soft);font-weight:700}
body[data-slug="pro-et-partenaires"] .facts strong{color:var(--navy)}
body[data-slug="pro-et-partenaires"] .partner-card{background:#fff;border:1px solid var(--border);border-left:4px solid var(--sun);border-radius:12px;padding:16px 18px;margin:14px 0 20px;box-shadow:var(--shadow)}
body[data-slug="pro-et-partenaires"] .partner-card.asso{border-left-color:#2e7d32}
body[data-slug="pro-et-partenaires"] .partner-card h3{font-family:'DM Serif Display',serif;font-size:15px;color:var(--navy);margin:0 0 6px}
body[data-slug="pro-et-partenaires"] .partner-card p{font-size:14px;line-height:1.6;color:var(--text);margin:0 0 8px}
body[data-slug="pro-et-partenaires"] .partner-card p:last-child{margin-bottom:0}
body[data-slug="pro-et-partenaires"] .partner-cta{display:inline-block;margin-top:6px;background:#1a3a8f;color:#ffffff !important;text-decoration:none !important;font-weight:600;font-size:14px;padding:10px 18px;border-radius:8px;border:none}
body[data-slug="pro-et-partenaires"] .partner-cta:hover{background:#2d6cc0;color:#ffffff !important}
body[data-slug="pro-et-partenaires"] .partner-cta.asso{background:#2e7d32;color:#ffffff !important}
body[data-slug="pro-et-partenaires"] .partner-cta.asso:hover{background:#256528;color:#ffffff !important}
/* Jeu de la Toussaint (octobre 2026) : photo pleine largeur dans une page conseil */
.page-content figure.photo-page{margin:0 0 16px}
.page-content figure.photo-page img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--border)}
.page-content figure.photo-page figcaption{font-size:12px;color:var(--soft);font-style:italic;margin-top:6px}
/* V10 bloc 10 (lot 10A) : note de classement sous la grille d'un annuaire qui contient une fiche payante */
.annuaire-classement{font-size:12.5px;color:var(--soft);margin:-4px 0 18px;line-height:1.5}
/* V10 (21/10/2026) : page du salon taxi (/partager-un-taxi/), dernier bloc <style> inline du site sorti du gabarit ;
   mêmes 14 règles, limitées à la page par data-slug (les sélecteurs .pt-* et .seo-inner n'existent que là hors accueil). */
body[data-slug="partager-un-taxi"] .pt-steps{list-style:none;padding:0;margin:14px 0}
body[data-slug="partager-un-taxi"] .pt-steps li{display:flex;gap:11px;align-items:flex-start;margin-bottom:12px}
body[data-slug="partager-un-taxi"] .pt-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;font-family:'DM Sans',sans-serif}
body[data-slug="partager-un-taxi"] .pt-taxis{background:#fff;border:1px solid var(--border);border-radius:12px;padding:4px 16px;margin:14px 0}
body[data-slug="partager-un-taxi"] .pt-taxis a{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--sand2);text-decoration:none;color:var(--navy);font-weight:600}
body[data-slug="partager-un-taxi"] .pt-taxis a:last-child{border-bottom:none}
body[data-slug="partager-un-taxi"] .pt-taxis .tel{color:#a9542a}
body[data-slug="partager-un-taxi"] .pt-fine{font-size:13px;color:var(--soft);background:#faf7f1;border-left:3px solid var(--sun,#f5c000);border-radius:0 8px 8px 0;padding:11px 15px;margin:16px 0}
body[data-slug="partager-un-taxi"] .pt-widget{margin:20px 0}
body[data-slug="partager-un-taxi"] .seo-inner details{background:var(--sand);border:0.5px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;overflow:hidden}
body[data-slug="partager-un-taxi"] .seo-inner summary{padding:10px 12px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
body[data-slug="partager-un-taxi"] .seo-inner summary::before{content:'▸';color:var(--soft);font-size:11px;transition:transform .2s}
body[data-slug="partager-un-taxi"] .seo-inner details[open] summary::before{transform:rotate(90deg)}
body[data-slug="partager-un-taxi"] .seo-inner details p{padding:0 12px 10px;margin:0;font-size:12px;color:var(--soft);line-height:1.6}
