/* Palette Marine 4.1 — les couleurs ne modifient pas les interactions ni le contenu. */
:root {
  --hbf-orange:#ff6633; --hbf-orange-dark:#ad3913;
  --hbf-navy-950:#172e50; --hbf-navy-900:#21395b; --hbf-navy-800:#324f70;
  --hbf-blue:#295d91; --hbf-blue-dark:#234f7c; --hbf-aqua:#7daed3;
  --hbf-aqua-dark:#32628a; --hbf-ice:#f3f7fb; --hbf-mist:#e7f0f8;
  --hbf-ink:#172e50; --hbf-slate:#52667b; --hbf-line:#d6e2ee;
  --hbf-shadow-sm:0 12px 32px rgba(23,46,80,.06);
  --hbf-shadow-lg:0 26px 70px rgba(23,46,80,.10);
}
.brand-link img {width:190px;height:auto;aspect-ratio:18/7;object-fit:contain;}
.site-branding {min-width:190px;}
.footer-brand .brand-link img {width:220px;height:auto;}
.emergency-rail,.location-spotlight {
  background:#f3f7fb;color:#172e50;
}
.emergency-rail p,.emergency-rail__proof,.location-spotlight__copy span {color:#52667b;}
.emergency-rail > div > strong,.location-spotlight__copy strong {color:#172e50;}
.emergency-rail__signal,.emergency-rail__request,.location-spotlight__copy small {color:#234f7c;}
.emergency-rail__request:hover,.location-spotlight:hover {color:#172e50;}
.emergency-rail__proof {border-color:#d6e2ee;}
.location-spotlight__map::before,.location-spotlight__map::after {border-color:#a8c7df;}
.location-spotlight__map b,.location-spotlight__map em {background:#a8c7df;}
.footer-action-deck {background:linear-gradient(#fff 56%,#172e50 56%);}
.footer-action-card {
  background:linear-gradient(125deg,#fff,#e7f0f8);color:#172e50;
  border-color:#d6e2ee;box-shadow:0 20px 56px rgba(23,46,80,.09);
}
.footer-action-card h2 {color:#172e50;}
.footer-action-card p {color:#52667b;}
.footer-action-card__status,.footer-action-card__request {color:#234f7c;}
.footer-action-card__request:hover {color:#172e50;}
.footer-action-card__call,.footer-action-card__call:hover,.emergency-rail__call,.emergency-rail__call:hover {color:#172e50;}
/* Pied de page marine; les accréditations conservent un fond blanc. */
.site-footer {background:#172e50;color:#d4e1ee;}
.site-footer .footer-brand p,.site-footer .footer-links a,
.site-footer .footer-bottom,.site-footer .footer-bottom p,
.site-footer .legal-menu a,.site-footer .cookie-settings {color:#d4e1ee;}
.site-footer .footer-column h2,.site-footer .footer-phone strong {color:#fff;}
.site-footer .footer-masthead,.site-footer .footer-column h2,
.site-footer .footer-bottom {border-color:#405875;}
.site-footer .footer-brand p::before {background:linear-gradient(#7daed3,#ff6633);}
.site-footer .footer-phone {color:#fff;background:#21395b;border-color:#536e8e;}
.site-footer .footer-phone small,.site-footer .footer-all-link {color:#b9d7ed;}
.site-footer .footer-phone:hover {color:#fff;background:#2c476a;border-color:#7daed3;}
.site-footer .footer-column__index {color:#9bb5cf;}
.site-footer .footer-links a::before {background:#7daed3;}
.site-footer .footer-links a:hover,.site-footer .footer-all-link:hover,
.site-footer .legal-menu a:hover,.site-footer .cookie-settings:hover {color:#fff;}
.site-footer .footer-social-link {
  display:flex;align-items:center;gap:7px;width:fit-content;min-height:44px;
  margin-top:4px;color:#d4e1ee;font-size:.76rem;text-decoration:none;
}
.site-footer .footer-social-link:hover {color:#fff;text-decoration:underline;}
.site-footer .credential-deck {color:#172e50;background:#fff;border-color:#d6e2ee;border-left-color:#7daed3;}
.site-footer .credential-deck a,.site-footer .credential-deck strong {color:#172e50;}
.site-footer .credential-deck a:hover {color:#295d91;}
.site-footer .credential-deck__eyebrow,
.site-footer .credential-deck__verification > span {color:#234f7c;}
.article-hero,.journal-hero {background:#f3f7fb;color:#52667b;}
.article-hero h1,.journal-hero h1 {color:#172e50;}
.article-kicker,.article-byline {color:#52667b;}
.article-kicker a,.journal-hero .eyebrow {color:#234f7c;}
.search-submit,.wp-block-button__link {background:#234f7c;color:#fff;}
.header-request,.location-console__routes > .location-console__phone {background:#234f7c;}
.header-request:hover,.location-console__routes > .location-console__phone:hover {background:#172e50;}
@media(max-width:1180px) {
  .site-branding {min-width:0;}
  .site-branding .brand-link img {width:140px;height:auto;}
  .site-header__inner {gap:12px;}
  .mobile-nav__top {background:#fff;color:#172e50;border-bottom:1px solid #d6e2ee;}
  .mobile-nav__identity .brand-link img {width:160px;height:auto;}
  .mobile-nav__identity > span {padding-left:0;margin-top:6px;color:#52667b;}
  .mobile-nav__close {color:#172e50;background:#f3f7fb;border-color:#d6e2ee;}
  .nav-toggle {background:#234f7c;border-color:#234f7c;}
  .nav-backdrop {background:rgba(23,46,80,.35);}
}
@media(max-width:380px) {
  .site-branding .brand-link img {width:124px;}
  .site-header__inner {gap:8px;}
}
/* Compatibilité avec la composition d’accueil déjà publiée dans WPBakery. */
body.hbf-palette-marine #contenu .hbf-home {
  --hbfh-coral:#ff6633;--hbfh-coral-dark:#ad3913;
  --hbfh-navy:#172e50;--hbfh-navy-2:#21395b;--hbfh-blue:#295d91;
  --hbfh-blue-dark:#234f7c;--hbfh-aqua:#7daed3;--hbfh-text:#172e50;
  --hbfh-muted:#52667b;--hbfh-ice:#f3f7fb;--hbfh-sky:#e7f0f8;--hbfh-line:#d6e2ee;
}
body.hbf-palette-marine #contenu .hbf-home-hero {background:linear-gradient(125deg,#fff 15%,#f3f7fb);color:#172e50;}
body.hbf-palette-marine #contenu .hbf-home-hero h1,body.hbf-palette-marine #contenu .hbf-home-hero__lead strong {color:#172e50;}
body.hbf-palette-marine #contenu .hbf-home-hero h1 span,body.hbf-palette-marine #contenu .hbf-home-hero__status {color:#234f7c;}
body.hbf-palette-marine #contenu .hbf-home-hero__lead,body.hbf-palette-marine #contenu .hbf-home-hero__microproof,
body.hbf-palette-marine #contenu .hbf-home-hero__microproof li {color:#52667b;}
body.hbf-palette-marine #contenu .hbf-home-hero::before {border-color:#d6e2ee;box-shadow:none;}
body.hbf-palette-marine #contenu .hbf-home__button--secondary {color:#234f7c;background:#fff;border-color:#aec7de;}
body.hbf-palette-marine #contenu .hbf-home__button--secondary:hover {color:#172e50;background:#e7f0f8;border-color:#7daed3;}
body.hbf-palette-marine #contenu .hbf-home__button--call,body.hbf-palette-marine #contenu .hbf-home__button--call:hover {color:#172e50;}
body.hbf-palette-marine #contenu .hbf-home__button--blue {background:#234f7c;}
body.hbf-palette-marine #contenu .hbf-home-emergency__actions,body.hbf-palette-marine #contenu .hbf-home-process__panel,body.hbf-palette-marine #contenu .hbf-home-areas {
  color:#172e50;background:#f3f7fb;
}
body.hbf-palette-marine #contenu .hbf-home-emergency__actions h3,body.hbf-palette-marine #contenu .hbf-home-emergency__actions li strong,
body.hbf-palette-marine #contenu .hbf-home-process__panel h2,body.hbf-palette-marine #contenu .hbf-home-process__step strong,
body.hbf-palette-marine #contenu .hbf-home-areas .hbf-home__heading {color:#172e50;}
body.hbf-palette-marine #contenu .hbf-home-emergency__actions li,body.hbf-palette-marine #contenu .hbf-home-emergency__safety,
body.hbf-palette-marine #contenu .hbf-home-process__panel > p,body.hbf-palette-marine #contenu .hbf-home-process__step p,
body.hbf-palette-marine #contenu .hbf-home-areas .hbf-home__intro {color:#52667b;}
body.hbf-palette-marine #contenu .hbf-home-emergency__safety a,body.hbf-palette-marine #contenu .hbf-home-areas .hbf-home__eyebrow {color:#234f7c;}
body.hbf-palette-marine #contenu .hbf-home-process__step {border-color:#d6e2ee;}
body.hbf-palette-marine #contenu .hbf-home-service--feature {color:#fff;background:#295d91;border-color:#295d91;}
body.hbf-palette-marine #contenu .hbf-home-service--feature h3,body.hbf-palette-marine #contenu .hbf-home-service--feature .hbf-home-service__arrow {color:#172e50;}
body.hbf-palette-marine #contenu .hbf-home-service--feature h3,
body.hbf-palette-marine #contenu .hbf-home-service--feature p,
body.hbf-palette-marine #contenu .hbf-home-service--feature .hbf-home-service__arrow {color:#fff;}
body.hbf-palette-marine #contenu .hbf-home-service--feature p {color:#e7f0f8;}
body.hbf-palette-marine #contenu .hbf-home-areas__hub {background:#fff;color:#172e50;border-color:#d6e2ee;}
body.hbf-palette-marine #contenu .hbf-home-areas__hub:hover {background:#e7f0f8;color:#172e50;border-color:#7daed3;}
body.hbf-palette-marine #contenu .hbf-home-areas__hub small {color:#234f7c;}

/* Actions lisibles sur orange; le bleu marine reste ponctuel. */
.site-header__signal {background:#172e50;}
.header-call__signal,.mobile-emergency-call > span {color:#172e50;}
.header-request {color:#fff;background:#172e50;border-color:#172e50;box-shadow:0 13px 28px rgba(23,46,80,.12);}
.header-request:hover {color:#fff;background:#21395b;}
.location-console__routes > .location-console__phone {background:#172e50;}
.location-console__routes > .location-console__phone:hover {background:#21395b;}
.footer-action-card::before {border-color:rgba(125,174,211,.12);}
.footer-action-card::after {border-color:#d6e2ee;}
:focus-visible {outline-color:#234f7c;}
.site-footer :focus-visible {outline-color:#ff6633;}
.site-footer .credential-deck :focus-visible {outline-color:#234f7c;}

/* Ces règles priment sur le CSS plus ancien enregistré dans WPBakery. */
body.hbf-palette-marine #contenu .hbf-home {--hbfh-shadow:0 24px 70px rgba(23,46,80,.10);}
body.hbf-palette-marine #contenu .hbf-home-hero h1 span {color:#295d91;}
body.hbf-palette-marine #contenu .hbf-home-hero__image-label,
body.hbf-palette-marine #contenu .hbf-home-hero__image-label:hover {color:#fff;background:#172e50;}
body.hbf-palette-marine #contenu .hbf-home-hero__image-label small {color:#b9d7ed;}
body.hbf-palette-marine #contenu .hbf-home__button--call {
  color:#172e50;background:#ff6633;box-shadow:0 15px 34px rgba(173,57,19,.16);
}
body.hbf-palette-marine #contenu .hbf-home__button--call:hover {color:#fff;background:#172e50;}
body.hbf-palette-marine #contenu .hbf-home__button--blue {color:#fff;background:#172e50;box-shadow:0 15px 32px rgba(23,46,80,.12);}
body.hbf-palette-marine #contenu .hbf-home__button--blue:hover {color:#172e50;background:#ff6633;}
body.hbf-palette-marine #contenu .hbf-home a:focus-visible,
body.hbf-palette-marine #contenu .hbf-home summary:focus-visible {outline-color:#234f7c;}

/* Habillage des avis; widgets, défilement manuel et Motion inchangés. */
body.hbf-palette-marine #contenu .hbf-home-reviews__panel {
  background:linear-gradient(135deg,#f7fafd,#e7f0f8);border-color:#d6e2ee;
  box-shadow:0 18px 54px rgba(23,46,80,.06);
}
body.hbf-palette-marine #contenu .hbf-home-reviews__panel::after {border-color:#b5cfe3;}
body.hbf-palette-marine #contenu .hbf-home-reviews__google {color:#234f7c;}
body.hbf-palette-marine #contenu .hbf-home-reviews__controls button {color:#234f7c;border-color:#aec7de;}
body.hbf-palette-marine #contenu .hbf-home-reviews__controls button:hover:not(:disabled) {color:#172e50;background:#ff6633;border-color:#ff6633;}
body.hbf-palette-marine #contenu .hbf-home-reviews__controls button:disabled {color:#72869a;background:#f3f7fb;border-color:#d6e2ee;}
body.hbf-palette-marine #contenu .hbf-home-reviews__controls button:focus-visible,
body.hbf-palette-marine #hbf-home-ti-reviews .ti-reviews-container-wrapper:focus-visible {outline-color:#234f7c;}
body.hbf-palette-marine #hbf-home-ti-reviews .ti-reviews-container-wrapper {scrollbar-color:#7daed3 #e7f0f8;}

/* Inversion des CTA : marine vers orange, orange vers marine. */
.button:not(.button--primary):not(.button--header):not(.button--ghost-dark),
.wp-block-button__link,.wpforms-submit,button[type="submit"],input[type="submit"],
.button--dark,.button--mobile-request,.header-request,
.location-console__routes > .location-console__phone {
  color:#fff;background:#172e50;border-color:#172e50;
}
.button:not(.button--primary):not(.button--header):not(.button--ghost-dark):hover,
.wp-block-button__link:hover,.wpforms-submit:hover,button[type="submit"]:hover,input[type="submit"]:hover,
.button--dark:hover,.button--mobile-request:hover,.header-request:hover,
.location-console__routes > .location-console__phone:hover {
  color:#172e50;background:#ff6633;border-color:#ff6633;
}
.button--primary,.button--header,.footer-action-card__call,.emergency-rail__call {
  color:#172e50;background:#ff6633;border-color:#ff6633;
}
.button--primary:hover,.button--header:hover,.footer-action-card__call:hover,.emergency-rail__call:hover {
  color:#fff;background:#172e50;border-color:#172e50;
}
