/* 0.1.10.4 — Petits titres : petites capitales de la police du site (Minion) au lieu de l'Arial espacée.
   Une seule famille de caractères sur tout le site ; les petites capitales sont celles dessinées dans Minion. */

/* Étiquettes, horaires, liens éditoriaux et boutons du thème et du raccord. */
#bq-root :is(
  .menu-nav a span, .menu-aside > p, .menu-aside > span, .menu-label,
  .menu-visit > p, .menu-visit > span, .menu-visit > a,
  .centered-lead a, .editorial-copy a,
  .range-copy > p:first-child, .range-copy > span, .range-copy a,
  .visit-heading > span, .visit-heading--centered > span,
  .visit-preview-copy > span, .visit-preview-copy a,
  .experience-list article > span, .experience-list button,
  .reserve > p, .reserve .light-button,
  .reserve-experiences article > div:first-child > p:not(.bqrr-offer-description), .reserve-experiences button,
  .reserve-open header > p, .reserve-open > span,
  .product-universe > header > p, .product-meta, .product-meta span, .product-visual-pending span,
  .press-news article > p, .press-download,
  .contact label, .contact button, .booking-panel label, .booking-panel form button,
  .booking-panel > p, .booking-total span,
  .newsletter-form > label:first-child, .newsletter-form button,
  .chapter summary span,
  .age-gate-card > p, .age-gate-card button,
  .bqrr-upcoming, .bqrr-offers .bqrr-offer-title > p, .bq-rnr-count,
  footer .footer-details small
) {
  font-family: 'Minion Variable', Georgia, serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.45;
  letter-spacing: .08em;
  font-variant-caps: all-small-caps;
  font-feature-settings: "c2sc", "smcp", "lnum";
}
/* Le texte et la flèche à l'intérieur des liens et boutons suivent leur parent. */
#bq-root :is(.centered-lead a, .range-copy a, .visit-preview-copy a, .editorial-copy a, .menu-visit > a,
  .experience-list button, .reserve .light-button, .reserve-experiences button, .contact button,
  .booking-panel form button, .newsletter-form button, .age-gate-card button, .press-download) :is(span, b) {
  font: inherit;
  letter-spacing: inherit;
  font-variant-caps: inherit;
}
/* Horaires et informations pratiques : un cran au-dessus. */
#bq-root :is(.visit-heading > span, .visit-heading--centered > span, .visit-preview-copy > span,
  .experience-list article > span, .reserve-open > span, .menu-visit > span, .menu-aside > span, .product-meta) {
  font-size: 16px;
  letter-spacing: .06em;
}
/* Pied de page : un peu plus petit. */
#bq-root footer .footer-details small { font-size: 14px; }

/* Petites notes (consentement, précisions) : Minion normale, sans capitales. */
#bq-root :is(.reserve small, .contact form small, .booking-panel > small, .press-news article > small,
  .newsletter-consent, .newsletter-consent span, .newsletter-form > small, .bqrr-health-warning) {
  font-family: 'Minion Variable', Georgia, serif;
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: 0;
}

/* Bloc fixe FR | EN / menu et « Réservez ». */
#bq-root .persistent-tools > button:not(.hamburger),
.persistent-tools > button:not(.hamburger) {
  font: 500 14px/1 'Minion Variable', Georgia, serif;
  letter-spacing: .08em;
  font-variant-caps: all-small-caps;
}
#bq-root .home-callout strong,
.home-callout strong {
  font: 500 15px/1 'Minion Variable', Georgia, serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-variant-caps: all-small-caps;
}
@media (max-width: 760px) {
  #bq-root .persistent-tools > button:not(.hamburger), .persistent-tools > button:not(.hamburger) { font-size: 13px; }
  #bq-root .home-callout strong, .home-callout strong { font-size: 14px; }
}

/* 0.1.10.6 — Finesses inspirées d'Aesop : survols en douceur, photos en fondu. */
/* Liens de lecture et menu : s'estompent légèrement au survol. */
#bq-root :is(.range-copy a, .visit-preview-copy a, .centered-lead a, .editorial-copy a,
  .menu-nav a, .menu-visit > a, .menu-aside a, footer a) {
  transition: opacity .3s ease-out, color .3s ease-out, text-decoration-color .3s ease-out, border-color .3s ease-out;
}
#bq-root :is(.range-copy a, .visit-preview-copy a, .centered-lead a, .editorial-copy a,
  .menu-nav a, .menu-visit > a, .menu-aside a):hover { opacity: .62; }
/* Boutons à contour : le trait s'épaissit doucement au survol. */
#bq-root :is(.light-button, .experience-list button, .reserve-experiences button:not(.bqc-choose),
  .contact button, .newsletter-form button, .age-gate-card button, .press-download, .bqc-list .bqc-choose) {
  transition: box-shadow .3s ease-out, opacity .3s ease-out, background-color .3s ease-out, color .3s ease-out;
}
#bq-root :is(.light-button, .experience-list button, .reserve-experiences button:not(.bqc-choose),
  .contact button, .newsletter-form button, .age-gate-card button, .press-download):hover {
  box-shadow: inset 0 0 0 1px currentColor;
}
#bq-root .bqc-list .bqc-choose:hover { opacity: .85; }
#bq-root .persistent-tools > button:not(.hamburger) { transition: opacity .3s ease-out, color .3s ease-out; }
#bq-root .home-callout, .home-callout { transition: background-color .3s ease-out; }
/* Photos : apparaissent en fondu une fois chargées (classes posées par footer.js). */
@keyframes bqrr-img-in { from { opacity: 0; } to { opacity: 1; } }
#bq-root :is(img, video).bqrr-img-wait { opacity: 0; }
#bq-root :is(img, video).bqrr-img-in { animation: bqrr-img-in .6s ease-out; }
@media (prefers-reduced-motion: reduce) {
  #bq-root :is(img, video).bqrr-img-wait { opacity: 1; }
  #bq-root :is(img, video).bqrr-img-in { animation: none; }
}
