/* Barre des favoris sous le menu (02/11/2026, v3 « plus classe ») — même script sur MaréeFrance et TidesAtlas */
.tfb{--tfb-accent:#0ca5e9;--tfb-ink:#1f2937;--tfb-soft:#6b7280;--tfb-line:rgba(15,23,42,.09);background:linear-gradient(180deg,#f6f9fb,#f1f6f9);border-bottom:1px solid #e5edf3;position:relative;z-index:900;font-family:inherit}
.tfb.empty{display:none}
.tfb-in{max-width:1400px;margin:0 auto;padding:10px 1.5rem;display:flex;align-items:center;gap:12px;box-sizing:border-box}
.tfb-here{flex:0 0 auto;display:flex;align-items:center;gap:10px}
.tfb-here:empty{display:none}
.tfb-list{flex:1;min-width:0;display:flex;align-items:center;gap:12px;overflow-x:auto;scrollbar-width:none;padding:9px 9px 4px 0;margin:-9px 0 -4px}
.tfb-list::-webkit-scrollbar{display:none}
.tfb-card{position:relative;flex:0 0 auto;display:flex;align-items:center;background:#fff;border:1px solid var(--tfb-line);border-radius:14px;padding:9px 0 9px 16px;
  text-decoration:none;color:var(--tfb-ink);line-height:1.2;box-shadow:0 1px 2px rgba(15,23,42,.04),0 10px 24px -18px rgba(15,23,42,.35);transition:box-shadow .2s,transform .2s,border-color .2s}
.tfb-card:hover{transform:translateY(-1px);border-color:rgba(15,23,42,.14);box-shadow:0 1px 2px rgba(15,23,42,.05),0 14px 28px -16px rgba(15,23,42,.4)}
.tfb-card:focus-visible{outline:2px solid var(--tfb-accent);outline-offset:2px}
.tfb-tx{display:flex;flex-direction:column;gap:4px;min-width:0;padding-right:16px}
.tfb-nm{font-weight:650;font-size:.95rem;letter-spacing:-.005em;white-space:nowrap;display:flex;align-items:center;gap:6px}
.tfb-sub{display:flex;align-items:center;gap:8px;white-space:nowrap}
.tfb-dir{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tfb-soft)}
.tfb-dir svg{width:13px;height:13px}
.tfb-dir.hi{color:#0369a1}
.tfb-coef{font-size:.7rem;font-weight:700;letter-spacing:.02em;padding:2px 7px;border-radius:999px;background:#ecfdf5;color:#047857}
.tfb-coef[data-c="2"]{background:#e0f2fe;color:#0369a1}.tfb-coef[data-c="3"]{background:#fef3c7;color:#b45309}.tfb-coef[data-c="4"]{background:#fee2e2;color:#b91c1c}
.tfb-tm{align-self:stretch;display:flex;align-items:center;padding:0 18px;border-left:1px solid var(--tfb-line);font-size:1.4rem;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--tfb-ink)}
.fb-arrow{width:12px;height:12px;color:#2563eb;flex:0 0 auto}
.tfb-rm{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:1px solid var(--tfb-line);background:#fff;color:#94a3b8;font-size:14px;line-height:19px;padding:0;cursor:pointer;display:none;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.tfb-card:hover .tfb-rm,.tfb-rm:focus{display:block}   /* comme AtmoAtlas : la croix apparaît au survol */
.tfb-rm:hover{color:#dc2626;border-color:#fca5a5}
.tfb-loc{display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;border:1px solid var(--tfb-line);background:#fff;color:#2563eb;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.tfb-loc svg.fb-arrow{width:16px;height:16px}
.tfb-loc:hover{border-color:#93c5fd;background:#eff6ff}
.tfb-loc:focus-visible{outline:2px solid var(--tfb-accent);outline-offset:2px}
.tfb-loc:disabled{opacity:.6}
/* étoile à côté du titre */
.tfb-star{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;margin-left:12px;vertical-align:middle;border:1px solid #dbe3ec;border-radius:50%;background:#fff;
  cursor:pointer;box-shadow:0 2px 8px -4px rgba(45,55,72,.25);transition:border-color .15s,background .15s,transform .15s;flex:0 0 auto;position:relative;top:-3px}
.tfb-star[hidden]{display:none}
.tfb-star:hover{border-color:#f5c451;background:#fffbeb}
.tfb-star:active{transform:scale(.92)}
.tfb-star.on{border-color:#fcd34d;background:#fffbeb}
.tfb-star:focus-visible{outline:2px solid var(--tfb-accent);outline-offset:2px}
.tfb-star svg{width:19px;height:19px}
@media (max-width:640px){
  .tfb-in{padding:8px 1rem;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-left:1rem}
  .tfb-in::-webkit-scrollbar{display:none}
  .tfb-list{flex:0 0 auto;overflow:visible}
  .tfb-card{scroll-snap-align:start;padding:7px 0 7px 12px;border-radius:12px}
  .tfb-tx{max-width:150px;padding-right:12px} .tfb-nm{display:block;overflow:hidden;text-overflow:ellipsis;font-size:.88rem} .tfb-nm .fb-arrow{display:inline-block;vertical-align:-1px;margin-left:4px}
  .tfb-tm{font-size:1.15rem;padding:0 12px}
  .tfb-loc{width:34px;height:34px}
  .tfb-star{width:34px;height:34px;margin-left:8px} .tfb-star svg{width:17px;height:17px}
}
/* ── Identité MaréeFrance (02/11/2026) : bleu ciel, ardoise #2D3748, « Pleine mer » #0369a1 comme les listes de l'accueil,
      pastilles de coefficient pleines aux 4 couleurs du site (.tide-week-coef : #059669 / #2563eb / #ea580c / #dc2626) ── */
.tfb{--tfb-accent:#0ca5e9;--tfb-ink:#2D3748;--tfb-soft:#718096;--tfb-line:#e2e8f0;background:#f0f9ff;border-bottom:1px solid #e0f2fe}
.tfb-card{border-radius:16px;border-color:#e2e8f0;box-shadow:0 4px 16px -10px rgba(14,165,233,.35)}
.tfb-card:hover{border-color:#bae6fd;box-shadow:0 8px 22px -12px rgba(14,165,233,.5)}
.tfb-nm{font-weight:700}
.tfb-dir{text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:600}
.tfb-dir.hi{color:#0369a1} .tfb-dir.lo{color:#718096}
.tfb-coef{color:#fff;background:#059669;padding:2px 8px;font-size:.7rem}
.tfb-coef[data-c="2"]{background:#2563eb;color:#fff}.tfb-coef[data-c="3"]{background:#ea580c;color:#fff}.tfb-coef[data-c="4"]{background:#dc2626;color:#fff}
.tfb-tm{font-weight:700;color:#0ca5e9;border-left-color:#e0f2fe}
.tfb-loc{color:#fff;background:#0ca5e9;border-color:#0ca5e9;box-shadow:0 4px 12px -6px rgba(14,165,233,.6)}
.tfb-loc:hover{background:#0284c7;border-color:#0284c7}
.fb-arrow{color:#0ca5e9}
.tfb-loc svg.fb-arrow{color:#fff}
.tfb-star:hover,.tfb-star.on{border-color:#7dd3fc;background:#f0f9ff}
@media (max-width:640px){ .tfb-dir{font-size:0;gap:0} .tfb-dir svg{width:14px;height:14px} .tfb-sub{gap:6px} .tfb-tm{font-size:1.1rem} }
/* Téléphone (02/11/2026, v2) : carte compacte sur 2 lignes — nom / « ↓ BM 16h55 » + coef */
.tfb-dir .ts{display:none}
@media (max-width:640px){
  .tfb-in{padding:8px 1rem;gap:8px}
  .tfb-card{display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:6px;row-gap:3px;padding:7px 12px 8px;border-radius:13px;min-width:0}
  .tfb-tx,.tfb-sub{display:contents}
  .tfb-nm{grid-column:1 / -1;grid-row:1;max-width:160px;font-size:.86rem}
  .tfb-dir{grid-column:1;grid-row:2;font-size:.8rem;gap:3px}
  .tfb-dir .tl{display:none} .tfb-dir .ts{display:inline;font-weight:700}
  .tfb-dir svg{width:13px;height:13px}
  .tfb-tm{grid-column:2;grid-row:2;align-self:center;padding:0;border:0;font-size:.95rem;font-weight:700}
  .tfb-coef{grid-column:3;grid-row:2;justify-self:start;font-size:.64rem;padding:1px 6px}
  .tfb-loc{width:34px;height:34px}
}
/* croix DANS la carte (02/11/2026) : en dehors, elle passait sous le menu collant et n'était pas cliquable */
.tfb-card{padding-right:6px}
.tfb-card:hover{transform:none}
.tfb-rm{top:4px;right:4px;width:20px;height:20px;line-height:17px;font-size:13px;box-shadow:none;border-color:transparent;background:rgba(241,245,249,.95)}
@media (hover:none){ .tfb-rm{display:block;opacity:.75} }
