/* HBD V679 — Système CTA officiel, lisible et cohérent selon le contexte. */
:root{
  --hbd-cta-orange:#ff6500;
  --hbd-cta-black:#11100f;
  --hbd-cta-font:Arial,Helvetica,sans-serif;
}

/* CTA de contenu : format officiel. */
html body :is(
  a.btn,a.btn-primary,a.cta-btn,a.product-btn,a.see-all,a.seo-cta,
  a.hbd-btn,a.hbd-button,a.join-btn,a.submit-btn,a.teaser-link,a.back-blog,
  a.map-cta,a.hbd-v2-btn,a.rt-btn,a.u-btn,a.cta,
  .hero-btns a,.about-actions a,.card-body>a,.rt-actions a,.rt-map-card>a,
  .rt-partner a,.rt-newsletter>a,.rt-photo-card .rt-card-ctas a,
  .rt-card-actions a,.rt-municipal-ref,.rt-municipal-links a,
  .guide-place-links a,.guide-place-link,.guide-popup a,.partner-box a,
  .hbd-side-card a,.links a
){
  appearance:none!important;
  background:var(--hbd-cta-orange)!important;
  background-image:none!important;
  color:var(--hbd-cta-black)!important;
  -webkit-text-fill-color:var(--hbd-cta-black)!important;
  border:2px solid var(--hbd-cta-black)!important;
  border-radius:0!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
  opacity:1!important;
  text-decoration:none!important;
  text-shadow:none!important;
  font-family:var(--hbd-cta-font)!important;
  font-size:16px!important;
  font-weight:400!important;
  font-style:normal!important;
  letter-spacing:.035em!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:50px!important;
  padding:13px 22px!important;
  text-align:center!important;
  white-space:normal!important;
  cursor:pointer!important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease!important;
}

html body :is(
  a.btn,a.btn-primary,a.cta-btn,a.product-btn,a.see-all,a.seo-cta,
  a.hbd-btn,a.hbd-button,a.join-btn,a.submit-btn,a.teaser-link,a.back-blog,
  a.map-cta,a.hbd-v2-btn,a.rt-btn,a.u-btn,a.cta,
  .hero-btns a,.about-actions a,.card-body>a,.rt-actions a,.rt-map-card>a,
  .rt-partner a,.rt-newsletter>a,.rt-photo-card .rt-card-ctas a,
  .rt-card-actions a,.rt-municipal-ref,.rt-municipal-links a,
  .guide-place-links a,.guide-place-link,.guide-popup a,.partner-box a,
  .hbd-side-card a,.links a
):is(:hover,:focus-visible,:active){
  background:var(--hbd-cta-black)!important;
  color:var(--hbd-cta-orange)!important;
  -webkit-text-fill-color:var(--hbd-cta-orange)!important;
  border-color:var(--hbd-cta-orange)!important;
}

/* Le texte imbriqué hérite toujours du CTA, sans graisse forcée. */
html body :is(
  a.btn,a.btn-primary,a.cta-btn,a.product-btn,a.see-all,a.seo-cta,
  a.hbd-btn,a.hbd-button,a.join-btn,a.submit-btn,a.teaser-link,a.back-blog,
  a.map-cta,a.hbd-v2-btn,a.rt-btn,a.u-btn,a.cta,
  .rt-card-actions a,.rt-photo-card .rt-card-ctas a
) :is(span,strong,b,em){
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:400!important;
  font-style:normal!important;
}

/* Fiches Road Trips : légèrement compactes, mais jamais minuscules. */
html body .rt-card-actions{
  display:flex!important;
  gap:8px!important;
  align-items:stretch!important;
  flex-wrap:wrap!important;
}
html body .rt-card-actions a,
html body .rt-card-actions a.secondary,
html body .rt-photo-card .rt-card-ctas a{
  flex:1 1 185px!important;
  min-width:185px!important;
  min-height:48px!important;
  padding:12px 18px!important;
  font-size:15px!important;
  font-weight:400!important;
}

/* CTA de navigation : visibles mais proportionnés à l'en-tête. */
html body a.nav-cta,
html body .site-header a.nav-cta,
html body .hbd-site-header a.nav-cta{
  background:var(--hbd-cta-orange)!important;
  color:var(--hbd-cta-black)!important;
  -webkit-text-fill-color:var(--hbd-cta-black)!important;
  border:2px solid var(--hbd-cta-black)!important;
  font-family:var(--hbd-cta-font)!important;
  font-size:12px!important;
  font-weight:400!important;
  letter-spacing:.04em!important;
  line-height:1!important;
  min-height:38px!important;
  padding:9px 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}
html body a.nav-cta:is(:hover,:focus-visible,:active){
  background:var(--hbd-cta-black)!important;
  color:var(--hbd-cta-orange)!important;
  -webkit-text-fill-color:var(--hbd-cta-orange)!important;
  border-color:var(--hbd-cta-orange)!important;
}

/* Boutons de formulaires réels. */
html body :is(button.submit-btn,input[type="submit"],input[type="button"],.sib-form-block__button){
  background:var(--hbd-cta-orange)!important;
  color:var(--hbd-cta-black)!important;
  -webkit-text-fill-color:var(--hbd-cta-black)!important;
  border:2px solid var(--hbd-cta-black)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:var(--hbd-cta-font)!important;
  font-size:16px!important;
  font-weight:400!important;
  letter-spacing:.035em!important;
  line-height:1.15!important;
  text-transform:uppercase!important;
  min-height:50px!important;
  padding:13px 22px!important;
}

/* Exclusions : filtres, accordéons et contrôles ne sont pas des CTA de contenu. */
html body :is(.guide-filter,.guide-switch,.rt-filter,.rt-country-summary,.menu-toggle,.nav-toggle,.accordion-toggle){
  font-weight:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}

@media(max-width:760px){
  html body :is(
    a.btn,a.btn-primary,a.cta-btn,a.product-btn,a.see-all,a.seo-cta,
    a.hbd-btn,a.hbd-button,a.join-btn,a.submit-btn,a.teaser-link,a.back-blog,
    a.map-cta,a.hbd-v2-btn,a.rt-btn,a.u-btn,a.cta,
    .hero-btns a,.about-actions a,.card-body>a,.rt-actions a,.rt-map-card>a,
    .rt-partner a,.rt-newsletter>a,.rt-photo-card .rt-card-ctas a,
    .rt-card-actions a,.rt-municipal-ref,.rt-municipal-links a,
    .guide-place-links a,.guide-place-link,.guide-popup a,.partner-box a,
    .hbd-side-card a,.links a
  ){
    font-size:15px!important;
    min-height:48px!important;
    padding:12px 16px!important;
  }
  html body .rt-card-actions a,
  html body .rt-card-actions a.secondary,
  html body .rt-photo-card .rt-card-ctas a{
    flex-basis:100%!important;
    width:100%!important;
    min-width:0!important;
    font-size:15px!important;
    min-height:48px!important;
  }
}

/* V681 — CTA des fiches Road Trips : lisibles, cohérents et sans retour à la ligne. */
html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions{
  display:grid!important;
  grid-template-columns:minmax(185px,1fr) minmax(185px,1fr)!important;
  width:390px!important;
  min-width:390px!important;
  gap:8px!important;
  align-items:stretch!important;
}
html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a,
html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a.secondary{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:10px 12px!important;
  font-family:Oswald,Arial,Helvetica,sans-serif!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a :is(span,strong,b,em){
  font:inherit!important;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
  white-space:inherit!important;
}
/* Une fiche qui ne possède qu'un CTA utilise toute la largeur disponible. */
html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a:only-child{
  grid-column:1 / -1!important;
}
@media (min-width:821px) and (max-width:1050px){
  html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions{
    width:330px!important;
    min-width:330px!important;
    grid-template-columns:minmax(155px,1fr) minmax(155px,1fr)!important;
  }
  html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a,
  html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a.secondary{
    font-size:12px!important;
    padding-inline:8px!important;
  }
}
@media (max-width:820px){
  html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr 1fr!important;
  }
  html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a,
  html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions a.secondary{
    min-height:46px!important;
    font-size:14px!important;
  }
}
@media (max-width:430px){
  html body.hbd-roadtrips-hub .rt-guide-card:not(.is-coming) .rt-card-actions{
    grid-template-columns:1fr!important;
  }
}

/* V683 — RÈGLE FINALE : TOUS LES CTA HBD SONT EN GRAS.
   Cette surcharge est volontairement placée en dernier afin d'écraser
   toute ancienne règle locale ou contextuelle qui imposait font-weight:400. */
html body :is(
  a.btn,a.btn-primary,a.cta-btn,a.product-btn,a.see-all,a.seo-cta,
  a.hbd-btn,a.hbd-button,a.join-btn,a.submit-btn,a.teaser-link,a.back-blog,
  a.back-top,a.map-cta,a.hbd-v2-btn,a.rt-btn,a.u-btn,a.cta,a.nav-cta,
  .hero-btns a,.about-actions a,.card-body>a,.rt-actions a,.rt-map-card>a,
  .rt-partner a,.rt-newsletter>a,.rt-photo-card .rt-card-ctas a,
  .rt-card-actions a,.rt-municipal-ref,.rt-municipal-links a,
  .guide-place-links a,.guide-place-link,.guide-popup a,.partner-box a,
  .hbd-side-card a,.links a,
  button.submit-btn,input[type="submit"],input[type="button"],.sib-form-block__button
){
  font-weight:700!important;
}
html body :is(
  a.btn,a.btn-primary,a.cta-btn,a.product-btn,a.see-all,a.seo-cta,
  a.hbd-btn,a.hbd-button,a.join-btn,a.submit-btn,a.teaser-link,a.back-blog,
  a.back-top,a.map-cta,a.hbd-v2-btn,a.rt-btn,a.u-btn,a.cta,a.nav-cta,
  .hero-btns a,.about-actions a,.card-body>a,.rt-actions a,.rt-map-card>a,
  .rt-partner a,.rt-newsletter>a,.rt-photo-card .rt-card-ctas a,
  .rt-card-actions a,.rt-municipal-ref,.rt-municipal-links a,
  .guide-place-links a,.guide-place-link,.guide-popup a,.partner-box a,
  .hbd-side-card a,.links a,
  button.submit-btn,input[type="submit"],input[type="button"],.sib-form-block__button
) :is(span,strong,b,em){
  font-weight:700!important;
}
