/* site-display.css */
/* Shared typography and mobile input sizing for every active page. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html,
body {
  font-family: 'Montserrat', sans-serif;
}
button,
input,
optgroup,
select,
textarea {
  font-family: 'Montserrat', sans-serif;
}
::file-selector-button {
  font-family: inherit;
}
.pac-container,
.pac-item,
.pac-item-query {
  font-family: 'Montserrat', sans-serif;
}
/* Keep mobile form controls large enough to avoid automatic focus zoom. */
@media (max-width: 1100px) {
  input,
  select,
  textarea {
    font-size: 16px;
  }
  .language-select {
    font-size: 16px;
  }
}

/* Reuse the existing stacked menu while a full navigation row cannot fit. */
@media (min-width: 769px) and (max-width: 1100px) {
  .navbar {
    flex-direction: column;
    height: auto;
    padding: 10px 15px;
    text-align: center;
  }
  .nav-links {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
  }
  .navbar .logo img {
    height: 50px;
    margin-bottom: 10px;
  }
}
/* Wide fare tables scroll within their own section on small screens. */
.tarif-table-scroll {
  max-width: 100%;
  overflow-x: auto;
}
.tarif-table-scroll:focus-visible {
  outline: 2px solid #d4af37;
  outline-offset: 3px;
}
@media (max-width: 768px) {
  .tarif-section {
    min-width: 0;
    width: calc(100% - 2rem);
  }
}

@media (max-width: 768px) {
  .gamme-page .grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .contact-page .contact-section {
    min-width: 0;
    width: calc(100% - 2rem);
  }
  .contact-page .contact-item a {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 768px) {
  .cgv-container,
  .mentions-container,
  .policy-container {
    min-width: 0;
    max-width: calc(100% - 2rem);
    overflow-wrap: anywhere;
  }
}
#invoiceForm,
#invoiceForm input,
#invoiceForm button {
  box-sizing: border-box;
}

/* refinements.css */
/* Finitions visuelles v15 : uniquement les pages publiques. */
.site-refined { --refined-gold: #d4af37; }
.site-refined .hero p { color: #eeeae2; text-shadow: 0 1px 5px rgba(0,0,0,.7); }
.home-page .hero,
.home-page .hero h1,
.home-page .hero p,
.home-page .hero .btn-primary,
.home-page .why-section h2,
.home-page .why-item,
.home-page .onboard-section h2,
.home-page .onboard-item { animation: none; opacity: 1; transform: none; }
.home-page .hero { animation: raylan-home-entry 1.2s ease-in-out; }
@keyframes raylan-home-entry {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}
.site-refined.tarifs-page,
.site-refined.services-page,
.site-refined.apropos-page { background: #000 !important; }
.home-page .hero h1 { font-size: clamp(1.9rem, 3.5vw, 3rem); line-height: 1.2; max-width: 24ch; text-wrap: balance; }
.home-page .hero p { max-width: 65ch; line-height: 1.7; }
.home-page .hero .btn-group { gap: 14px; }
.home-page .hero .btn-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; line-height: 1.4; }
.home-page .hero .btn-primary[data-i18n="hero.cta"] { color: #080808; background: #d4af37; box-shadow: 0 8px 28px rgba(0,0,0,.25); }
.site-refined :is(.btn-primary,.btn,.enrichment-link,.card-btn,.site-social-links a) { transition: background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.site-refined :is(.btn-primary,.btn,.enrichment-link,.card-btn):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.site-refined .site-enrichment { border-color: rgba(212,175,55,.46); border-radius: 14px; padding: clamp(22px,3vw,34px); margin-block: clamp(30px,4vw,48px); background: linear-gradient(140deg,rgba(212,175,55,.035),rgba(0,0,0,.8)); }
.site-refined .site-enrichment h2 { margin-bottom: 18px; text-wrap: balance; }
.site-refined :is(.enrichment-grid,.card-grid) { align-items: stretch; gap: 22px; }
.site-refined :is(.enrichment-card,.card,.onboard-item,.why-item,.review-card) { min-width: 0; border: 1px solid rgba(212,175,55,.25); border-radius: 12px; background-color: rgba(255,255,255,.028); transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.site-refined .enrichment-card { padding: clamp(20px,2.4vw,28px); }
.site-refined .enrichment-card h3 { line-height: 1.45; }
.site-refined .enrichment-card p { color: #deddd8; }
.site-refined .enrichment-card .enrichment-link { margin-top: auto; }
.site-refined .card .card-btn { margin-top: 22px; }
.home-page .why-section { padding-block: clamp(42px,6vw,72px); }
.home-page .why-grid { gap: 22px; align-items: stretch; }
.home-page .why-item { padding: 26px 22px; }
.home-page .why-item p { color: #e2e0d9; line-height: 1.75; }
.home-page .onboard-grid { gap: 18px; }
.home-page .onboard-item { box-shadow: none; }
.site-refined .company-address { color: #e9e5dc; font-style: normal; line-height: 1.8; margin-block: 20px; }
.site-refined .company-address strong { color: #d4af37; }
.google-reviews .reviews-kicker { color: #e0c577; font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
.review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 26px; }
.review-card { display: flex; flex-direction: column; padding: 26px; }
.review-stars { color: #d4af37; font-size: 1.1rem; letter-spacing: .14em; margin-bottom: 18px; }
.review-card blockquote { color: #f2eee7; font-size: 1.05rem; line-height: 1.8; margin: 0 0 24px; overflow-wrap: anywhere; }
.review-card figcaption { margin-top: auto; color: #d9d6ce; font-size: .87rem; line-height: 1.6; overflow-wrap: anywhere; }
.review-card cite { display: block; color: #fff; font-style: normal; font-weight: 600; }
.review-card .review-source { color: #c3bfb6; font-size: .78rem; }
.site-refined .reviews-updated { color: #bdb8ae; font-size: .78rem; margin-top: 18px; margin-bottom: 0; }
.site-refined .payment-assurance { display: flex; align-items: center; gap: 14px; margin: 14px 0 22px; padding: 16px; border: 1px solid rgba(212,175,55,.45); border-radius: 10px; background: rgba(212,175,55,.035); }
.site-refined .payment-assurance svg { flex: 0 0 30px; width: 30px; height: 30px; color: #d4af37; }
.site-refined .payment-assurance strong { display: block; color: #e3c66a; font-size: .92rem; line-height: 1.5; }
.mobile-actions { display: none; }
.site-refined h2:not(#cookie-heading)::after { content: ''; display: block; width: 64px; height: 2px; margin: 12px auto 0; background: linear-gradient(90deg,rgba(212,175,55,.25),#d4af37,rgba(212,175,55,.25)); transform: scaleX(1); }
.site-refined h2.title-line-reveal:not(#cookie-heading)::after { animation: raylan-title-line .55s ease-out both; }
.site-refined :is(.faq-topic,.about-section) > h2::after { margin-inline: 0; }
@keyframes raylan-title-line { from { transform: scaleX(0); opacity: .35; } to { transform: scaleX(1); opacity: 1; } }
.booking-progress { margin: 0 0 28px; }
.booking-progress ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.booking-progress a { display: flex; align-items: center; gap: 8px; height: 100%; min-height: 54px; padding: 10px; border: 1px solid #48412d; border-radius: 8px; color: #ddd9cf; font-size: .8rem; line-height: 1.5; }
.booking-progress a.is-current { color: #e5c66a; border-color: #d4af37; background: rgba(212,175,55,.07); box-shadow: inset 0 -2px #d4af37; }
.booking-progress .step-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; border: 1px solid #84703a; border-radius: 50%; color: #e5c66a; font-size: .75rem; }
.booking-progress a span:last-child { min-width: 0; overflow-wrap: anywhere; }
.booking-progress a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.site-refined .booking-recap { margin: 26px 0 20px; padding: 22px; border: 1px solid rgba(212,175,55,.65); border-radius: 12px; background: rgba(212,175,55,.035); color: #eeeae2; }
.site-refined .booking-recap h2 { color: #e0c577; font-size: 1.12rem; line-height: 1.5; text-align: start; margin-bottom: 22px; }
.site-refined .booking-recap h2::after { margin-inline: 0; }
.booking-recap dl { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.4fr); gap: 12px 18px; margin: 0; }
.booking-recap dt { color: #bcb6a8; font-size: .82rem; line-height: 1.6; }
.booking-recap dd { margin: 0; min-width: 0; color: #eeeae2; font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
.booking-recap .recap-total { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(212,175,55,.3); }
.recap-total span { font-size: .9rem; }
.recap-total strong { color: #e0c577; font-size: 1.4rem; font-weight: 700; }
.site-refined .booking-recap .recap-hint { margin: 10px 0 0; font-size: .82rem; line-height: 1.6; color: #c5bfae; }
.quick-faq-card .quick-faq-item { padding: 12px 0; border-top: 1px solid rgba(212,175,55,.25); }
.quick-faq-card summary { cursor: pointer; color: #eeeae2; font-size: .9rem; font-weight: 600; line-height: 1.6; }
.quick-faq-card summary::marker { color: #d4af37; }
.quick-faq-card summary:focus-visible { outline: 2px solid #d4af37; outline-offset: 4px; }
.quick-faq-card .quick-faq-item p { margin: 12px 0 0; font-size: .85rem; line-height: 1.8; }
.quick-faq-card > .enrichment-link { padding-top: 12px; }
@media (max-width: 520px) {
  .booking-progress ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-refined .booking-recap { padding: 18px; }
  .booking-recap dl { grid-template-columns: minmax(0,1fr); gap: 5px; }
  .booking-recap dd { margin-bottom: 10px; }
}
@media (hover: hover) and (pointer: fine) {
  .site-refined :is(.enrichment-card,.card,.onboard-item,.why-item,.review-card):hover { border-color: rgba(212,175,55,.65); background-color: rgba(212,175,55,.045); box-shadow: 0 10px 28px rgba(0,0,0,.24); transform: translateY(-3px); }
  .site-refined :is(.btn-primary,.btn,.enrichment-link,.card-btn):hover { transform: translateY(-2px); }
  .home-page .hero .btn-primary[data-i18n="hero.cta"]:hover { background: #e3be4d; color: #080808; }
}
.site-refined :is(.enrichment-card,.card,.review-card):focus-within { border-color: #d4af37; }
@media (max-width: 900px) {
  .review-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .review-card { padding: 24px; }
  .review-card blockquote { margin-bottom: 18px; }
}
@media (max-width: 768px) {
  .site-refined { padding-bottom: calc(84px + env(safe-area-inset-bottom,0px)); }
  .home-page .hero { padding: 70px 20px; }
  .home-page .hero .btn-group { width: min(100%,440px); }
  .home-page .hero .btn-primary { flex: 1 1 170px; padding: 13px 18px; font-size: .95rem; }
  .site-refined .site-enrichment { width: calc(100% - 28px); }
  .site-refined :is(.enrichment-grid,.card-grid) { gap: 16px; }
  .site-refined .mobile-actions { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 10px; position: fixed; z-index: 1050; inset-inline: 0; bottom: 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom,0px)); background: #0b0b0b; border-top: 1px solid rgba(212,175,55,.45); box-shadow: 0 -5px 24px rgba(0,0,0,.2); }
  .mobile-actions a { display: flex; align-items: center; justify-content: center; gap: 9px; min-width: 0; min-height: 48px; padding: 10px 12px; border-radius: 8px; font-size: .95rem; line-height: 1.35; font-weight: 700; text-align: center; text-decoration: none; }
  .mobile-actions .mobile-reserve { background: #d4af37; border: 1px solid #d4af37; color: #090909; }
  .mobile-actions .mobile-call { color: #e3c66a; border: 1px solid #8e7735; background: transparent; }
  .mobile-actions svg { width: 19px; height: 19px; flex-shrink: 0; }
  .mobile-actions a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
  .site-refined .whatsapp-button { bottom: calc(100px + env(safe-area-inset-bottom,0px)); right: 16px; width: 52px; height: 52px; }
  .site-refined .whatsapp-button img { position: static !important; width: 100% !important; height: 100% !important; }
  .site-refined.is-form-editing :is(.mobile-actions,.whatsapp-button) { display: none; }
  .site-refined #reservationForm { scroll-margin-top: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-refined,.site-refined *,.site-refined *::before,.site-refined *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .mobile-actions,.site-refined .whatsapp-button { display: none !important; }
  .site-refined { padding-bottom: 0; }
}

/* v19 — the existing content, with a clearer hierarchy on wide and narrow screens. */
.site-refined .nav-links a { display:inline-flex; align-items:center; min-height:44px; border-radius:0; }
.site-refined .nav-links a:is(.active,[aria-current]) { color:#e5c66a; background:transparent; box-shadow:inset 0 -2px #d4af37; }
.site-refined .nav-links a:hover { color:#f0d880; background:rgba(212,175,55,.06); }
.site-refined .nav-links a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.site-refined :is(input,select,textarea,fieldset) { min-width:0; box-sizing:border-box; }
.site-refined :is(input,select,textarea,[id]) { scroll-margin-top:calc(var(--site-nav-height,180px) + 20px); }
.home-page .hero .hero-trust { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 0; list-style:none; padding:0; margin:24px auto 0; max-width:850px; color:#eee8d9; font-size:.81rem; line-height:1.7; }
.hero-trust li + li::before { content:'·'; color:#d4af37; margin-inline:12px; }
.site-refined .site-enrichment { border-color:transparent; background:transparent; padding-inline:0; }
.site-refined :is(.enrichment-card,.card,.onboard-item,.why-item,.review-card) { border-color:#33322e; background-color:#10100f; box-shadow:none; }
.site-refined :is(.home-services,.google-reviews,.home-information,.booking-steps) { margin-block:clamp(36px,5vw,64px); }
.home-page .home-information .info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-information .quick-faq-card { grid-column:1 / -1; }
.home-information .quick-faq-card > p { margin-bottom:18px; }
.home-information .quick-faq-item { width:100%; }
.home-information .quick-faq-card > a { margin-top:16px; }
.site-refined .eco { display:flex; align-items:center; justify-content:center; gap:24px; width:calc(100% - 40px); max-width:1000px; padding:26px; margin:32px auto; border:1px solid #2c3028; border-radius:12px; background:#0e110d; box-sizing:border-box; }
.site-refined .eco .eco-mark { position:relative; display:block; flex:0 0 64px; width:64px; height:64px; border-radius:50%; overflow:hidden; }
.site-refined .eco .eco-mark img { position:absolute; display:block; width:156%; height:156%; max-width:none; margin:0; left:-28%; top:-28%; object-fit:cover; border:0; }
.site-refined .eco p { text-align:start; margin:0; max-width:760px; font-size:.92rem; line-height:1.8; }
.site-refined footer { padding:32px 20px; margin-top:48px; border-top:1px solid #292824; background:#080808; color:#c4bfb4; }
.site-refined footer .local-service-link { margin:0 0 12px; }
.site-refined .footer-legal { display:flex; flex-direction:column; align-items:center; gap:8px; margin:0; font-size:.8rem; line-height:1.8; }
.footer-legal .footer-legal-links { display:flex; justify-content:center; flex-wrap:wrap; gap:0 20px; }
.footer-legal .footer-legal-links a { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:4px 0; }
.site-refined .site-social { margin-top:22px; padding-top:20px; border-top:1px solid #282722; }
.site-refined .site-social-heading { margin:0 0 14px; color:#c7c1b4; font-size:.82rem; }
.site-refined .site-social-links { gap:12px; }
.site-refined .site-social-links a { border-color:#51462a; background:transparent; }
.services-page .service-group { max-width:1100px; width:calc(100% - 40px); margin:48px auto; padding:0; }
.service-group > h2 { color:#e0c577; font-size:clamp(1.4rem,2.4vw,1.8rem); margin:0 0 26px; line-height:1.4; text-align:start; }
.service-group > h2::after { margin-inline:0 !important; }
.services-page .service-group .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; padding:0; width:100%; }
.services-page .card { gap:12px; padding:26px; text-align:start; }
.services-page .card h3 { margin-top:0; }
.services-page .card .btn-primary { margin-top:auto; align-self:flex-start; max-width:100%; text-align:center; }
.tarifs-page .pricing-booking-guide { border-color:#3b3525; background:#11100e; }
.pricing-booking-guide .btn-primary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:4px 0 22px; text-align:center; }
.estimate-details { border-top:1px solid #3d3729; padding-top:16px; }
.estimate-details summary,.booking-detail-help summary { cursor:pointer; min-height:44px; color:#e0c577; font-size:.9rem; font-weight:600; line-height:1.7; }
.estimate-details summary::marker,.booking-detail-help summary::marker { color:#d4af37; }
.estimate-details summary:focus-visible,.booking-detail-help summary:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.estimate-details p:first-of-type { margin-top:14px; }
.apropos-page .about-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; width:calc(100% - 40px); max-width:1100px; padding:0; margin:40px auto; border:0; background:transparent; }
.about-value { min-width:0; padding:26px; border:1px solid #33322e; border-radius:12px; background:#10100f; }
.about-value h2 { margin:0 0 18px; line-height:1.4; font-size:1.25rem; text-align:start; }
.about-value h2::after { margin-inline:0 !important; }
.about-value p { margin:0; font-size:.98rem; line-height:1.85; }
.site-refined .about-identity { margin-bottom:30px; }
.site-refined .about-preparation { padding:26px; border:1px solid #34312a; background:#11100e; }
.site-refined .about-preparation h2::after,.site-refined .about-contact h2::after { margin-inline:0; }
.contact-page .request-context { padding:16px; margin:0 0 24px; border-inline-start:3px solid #d4af37; background:#15130d; color:#e0c577; font-size:.95rem; line-height:1.7; }
.reservation-page .form-section { width:calc(100% - 40px); max-width:1180px; margin:40px auto; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.reservation-page #reservationForm { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,370px); align-items:start; gap:0 28px; width:100%; max-width:none; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.reservation-page .booking-progress { grid-column:1 / -1; }
.reservation-page .booking-fields { min-width:0; padding:28px; border:1px solid #34322b; border-radius:12px; background:#10100f; }
.reservation-page .booking-summary-column { min-width:0; padding:24px; border:1px solid #6d5a26; border-radius:12px; background:#11100d; }
.reservation-page .booking-summary-column .booking-recap { border:0; padding:0; margin:0; background:transparent; }
.reservation-page .booking-recap h2 { margin-bottom:6px; }
.recap-edit { display:inline-flex; align-items:center; min-height:44px; margin:0 0 16px; color:#e0c577; text-decoration:underline; text-underline-offset:4px; font-size:.85rem; }
.recap-edit:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.reservation-page .booking-recap dl { grid-template-columns:minmax(0,1fr); gap:3px; }
.reservation-page .booking-recap dd { margin-bottom:10px; }
.reservation-page .booking-recap .recap-total { margin-top:12px; }
.reservation-page .booking-fields > :is(input,select,textarea),.reservation-page .billing-fields :is(input:not([type="checkbox"]),select,textarea) { width:100%; max-width:100%; }
.reservation-page .field-hint { display:block; margin:-5px 0 20px; color:#beb7a7; font-size:.8rem; line-height:1.6; }
.reservation-page .billing-fields { border-color:#46402e !important; margin-inline:0 !important; }
.reservation-page .booking-detail-help { margin:0 0 8px; border-top:1px solid #36342d; padding-top:14px; }
.booking-detail-help ul { padding-inline-start:22px; color:#cfc9bc; font-size:.85rem; line-height:1.85; }
.booking-detail-help li + li { margin-top:10px; }
.reservation-page .booking-submit { margin-top:24px !important; }
.reservation-page .booking-submit .btn-primary { width:100%; padding:14px 18px; min-height:52px; box-sizing:border-box; line-height:1.5; }
.reservation-page .payment-next-step { margin:12px 0 0; font-size:.8rem; color:#ccc4b0; line-height:1.7; text-align:start; }
.reservation-page .booking-help { padding:16px; margin:18px 0 0; border-inline-start:3px solid #d4af37; background:#1a170f; text-align:start; }
.booking-help > p { margin:0; font-size:.9rem; color:#e0c577; }
.booking-help .enrichment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 18px; margin:6px 0 0; }
.booking-help a { display:inline-flex; align-items:center; min-height:44px; color:#e0c577; font-size:.85rem; text-decoration:underline; text-underline-offset:4px; }
.reservation-page #map { margin-top:30px; border-color:#33322e; }
.not-found-page .not-found-content { width:calc(100% - 40px); max-width:850px; margin:clamp(50px,9vh,110px) auto; text-align:center; }
.not-found-content .not-found-code { color:#d4af37; font-weight:700; font-size:1rem; letter-spacing:.18em; }
.not-found-content h1 { font-size:clamp(1.8rem,4vw,2.8rem); color:#e0c577; line-height:1.3; margin:18px 0; }
.not-found-content > p { color:#d8d2c4; line-height:1.8; }
.not-found-content .enrichment-actions { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:26px; }
.not-found-content .btn-primary { opacity:1; min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:12px 22px; border:1px solid #d4af37; border-radius:8px; color:#e0c577; background:transparent; font-size:.95rem; font-weight:600; line-height:1.5; }
.not-found-content .btn-primary:first-child { background:#d4af37; color:#090909; }
@media(min-width:1101px) {
  .reservation-page .booking-summary-column.can-stick { position:sticky; top:calc(var(--site-nav-height,90px) + 20px); }
}
@media(max-width:1100px) {
  .site-refined .navbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 14px; height:auto; padding:10px 18px !important; }
  .site-refined .navbar .logo { grid-column:1; grid-row:1; justify-self:start; }
  .site-refined .navbar .logo img { height:44px !important; margin:0; }
  .site-refined .navbar .language-select { grid-column:2; grid-row:1; justify-self:end; margin:0; min-height:40px; }
  .site-refined .navbar .nav-links { grid-column:1 / -1; grid-row:2; width:100%; justify-content:center; flex-wrap:wrap; gap:0 6px; margin:0; padding:0; }
  .site-refined .nav-links li a { padding:8px; font-size:.84rem; }
  .reservation-page #reservationForm { grid-template-columns:minmax(0,1fr); gap:20px; }
  .reservation-page .booking-progress { margin-bottom:0; }
  .reservation-page .booking-summary-column { position:static; }
  .reservation-page .booking-recap dl { grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:10px 16px; }
}
@media(max-width:768px) {
  .site-refined:is(.services-page,.tarifs-page,.apropos-page) .hero { min-height:0; padding:54px 20px !important; }
  .site-refined:is(.services-page,.tarifs-page,.apropos-page) .hero h1 { font-size:clamp(1.6rem,6.5vw,2rem); line-height:1.3; margin:0 auto 14px; }
  .site-refined:is(.services-page,.tarifs-page,.apropos-page) .hero p { font-size:.96rem; line-height:1.7; margin:0 auto; }
  .site-refined .page-title-photo { object-position:center 52%; }
  .home-page .hero-trust { max-width:340px; font-size:.76rem; }
  .home-page .hero-trust li { flex:0 0 100%; }
  .home-page .hero-trust li + li::before { content:none; }
  .home-page .home-information .info-grid { grid-template-columns:minmax(0,1fr); }
  .site-refined .eco { width:calc(100% - 28px); gap:16px; padding:20px; }
  .site-refined .eco .eco-mark { flex-basis:50px; width:50px; height:50px; }
  .site-refined .eco p { font-size:.84rem; }
  .services-page .service-group,.apropos-page .about-values { width:calc(100% - 28px); margin-block:32px; }
  .services-page .service-group .card-grid,.apropos-page .about-values { grid-template-columns:minmax(0,1fr); }
  .services-page .card,.about-value { padding:22px; }
  .site-refined .about-preparation { padding:22px; }
  .reservation-page .form-section { width:calc(100% - 28px); margin-block:26px; }
  .reservation-page .booking-fields,.reservation-page .booking-summary-column { padding:20px; }
  .reservation-page .hero { min-height:0; padding:38px 20px; }
  .reservation-page .hero h1 { font-size:1.85rem; }
  .reservation-page .hero .warning-box { margin-top:22px; font-size:.9rem; }
  .footer-legal .footer-legal-links { flex-direction:column; align-items:center; gap:0; }
  .site-refined footer { padding-inline:20px; margin-top:32px; }
}
@media(max-width:520px) {
  .reservation-page .booking-recap dl { grid-template-columns:minmax(0,1fr); gap:3px; }
  .reservation-page .booking-fields,.reservation-page .booking-summary-column { padding:18px; }
}

/* acquisition.css */
/* v20: new destinations and professional pages; the existing design stays scoped. */
.acq-skip{position:absolute;inset-inline-start:12px;top:-80px;z-index:2000;background:#d4af37;color:#080808;padding:12px}.acq-skip:focus{top:8px}
.landing-page{background:#090909;color:#eee9df}.landing-page main{width:100%;flex:1}.landing-page .navbar{background:#080808}.landing-page .navbar .logo img{object-fit:contain}
.acq-breadcrumb{max-width:1200px;margin:auto;padding:15px 24px;display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem;color:#c8bd9e}.acq-breadcrumb a{color:#d5cbb1;text-decoration:none}.acq-breadcrumb a:hover{text-decoration:underline}
.acq-hero{position:relative;isolation:isolate;overflow:hidden;border-block:1px solid #4e4124;background:#10100e}.acq-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.33}.acq-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.58))}
.acq-hero-inner{max-width:1200px;margin:auto;padding:64px 24px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:50px;align-items:center}.acq-eyebrow{color:#e1c574;font-size:.73rem;letter-spacing:.16em;font-weight:600;margin-bottom:18px}.acq-lead h1{font-size:clamp(2rem,3.8vw,3.3rem);line-height:1.17;text-wrap:balance;color:#fff;max-width:21ch;margin:0 0 22px}.acq-intro{font-size:1rem;line-height:1.9;max-width:62ch;color:#eee8dc}.acq-direct{display:flex;gap:15px 24px;flex-wrap:wrap;margin-top:24px}.acq-text-link{font-size:.84rem;color:#f1d990;text-underline-offset:5px}
.acq-start,.acq-professional{background:#0c0c0cf2;border:1px solid #77612d;border-radius:12px;padding:27px;box-shadow:0 14px 40px #0005;min-width:0}.acq-start h2,.acq-professional h2{font-size:1.15rem;line-height:1.45;color:#ead28a;margin:0 0 20px}.acq-start label{display:block;color:#eae5d9;font-size:.82rem;margin:16px 0 7px;font-weight:600}.acq-start input:not([type=hidden]),.acq-start select{display:block;width:100%;min-width:0;min-height:48px;background:#181817;border:1px solid #726449;border-radius:6px;color:#fff;font:inherit;font-size:.9rem;padding:11px}.acq-start input::placeholder{color:#bcb7ac}.acq-start .acq-hint{font-size:.76rem;color:#c5bda9;line-height:1.7;margin:15px 0 19px}.acq-primary,.acq-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;font:600 .88rem/1.5 Montserrat,sans-serif;cursor:pointer;text-decoration:none;border:1px solid #d4af37;border-radius:6px;text-align:center;max-width:100%;overflow-wrap:anywhere}.acq-primary{background:#d4af37;color:#080808}.acq-primary:hover{background:#e3c365;color:#080808}.acq-secondary{background:transparent;color:#e5ca7b}.acq-start .acq-primary{width:100%}.acq-fallback{display:block;color:#d4c9a9;font-size:.74rem;text-align:center;margin-top:16px;text-underline-offset:4px}.acq-professional ul{padding-inline-start:18px;line-height:1.9;color:#d4cbb7;font-size:.9rem;margin-bottom:24px}.acq-professional a{display:flex;margin-top:12px}
.acq-body{max-width:1200px;margin:auto;padding:60px 24px 35px}.acq-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.acq-stories section{border-top:1px solid #67552b;padding-top:23px}.acq-number{font-size:.74rem;color:#ac9560;letter-spacing:.1em}.acq-stories h2{font-size:1.1rem;line-height:1.5;color:#e7cd87;margin:13px 0 18px}.acq-stories p{font-size:.88rem;line-height:1.95;color:#d9d5ca}.acq-faq{max-width:860px;margin:62px auto 0}.acq-faq>h2,.acq-related h2{font-size:1.5rem;color:#ecd494;line-height:1.5;margin-bottom:24px}.acq-faq details{border-bottom:1px solid #443d2c;padding:20px 0}.acq-faq summary{cursor:pointer;font-size:.93rem;font-weight:600;color:#eee9dd;padding-inline-end:8px}.acq-faq details p{color:#d0cabc;font-size:.88rem;line-height:1.9;margin-top:15px}.acq-related{margin-top:58px;padding:30px 0;border-top:1px solid #443d2c}.acq-route-links{display:flex;flex-wrap:wrap;gap:10px 22px}.acq-route-links a{font-size:.84rem;color:#e5cd88;text-underline-offset:5px}.acq-bottom-action{margin-top:28px}
.acq-discovery{max-width:1100px;margin:32px auto;padding:24px 20px;border-block:1px solid #584923;color:#e3dac4;text-align:center}.acq-discovery h2{font-size:1.2rem;color:#d9bf75;margin:0 0 12px}.acq-discovery p{font-size:.88rem;line-height:1.8;margin:0 auto 14px;max-width:70ch}.acq-discovery .acq-route-links{justify-content:center}.acq-discovery .acq-route-links a{font-size:.85rem}
.acq-party{border:1px solid #62532e;border-radius:8px;margin:20px 0;padding:14px 16px;min-width:0}.acq-party summary{color:#e1c579;cursor:pointer;font-size:.88rem;font-weight:600;line-height:1.6}.acq-party .acq-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:12px}.acq-party .acq-party-grid>div{min-width:0}.acq-party label{font-size:.82rem}.acq-party .acq-party-note{font-size:.78rem;line-height:1.8;color:#c8c0ad;margin-top:12px}.acq-party-error{font-size:.8rem;color:#ffc6b5;margin:10px 0}.acq-party input{min-width:0;width:100%}
.landing-page :is(a,button,input,select,summary):focus-visible,.acq-discovery a:focus-visible,.acq-party :is(input,summary):focus-visible{outline:2px solid #fff;outline-offset:4px}.landing-page footer{margin-top:0}.landing-page [hidden]{display:none!important}
@media(min-width:1200px){.landing-page .navbar .logo img{height:55px}.landing-page .navbar{padding-inline:30px}}
@media(max-width:900px){.acq-hero-inner{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}.acq-stories{grid-template-columns:1fr;gap:30px}.acq-stories p{max-width:85ch}.acq-stories h2{margin-bottom:10px}.acq-hero-inner{padding-block:44px}.acq-lead h1{font-size:2.25rem}}
@media(max-width:650px){.acq-breadcrumb{padding:13px 18px;font-size:.72rem}.acq-hero-inner{grid-template-columns:1fr;gap:28px;padding:32px 18px}.acq-lead h1{font-size:clamp(1.8rem,7.6vw,2.3rem);line-height:1.25;max-width:23ch;margin-bottom:16px}.acq-intro{font-size:.91rem;line-height:1.85}.acq-eyebrow{font-size:.67rem;margin-bottom:12px}.acq-start,.acq-professional{padding:22px 18px}.acq-direct{gap:13px 20px;margin-top:18px}.acq-body{padding:35px 18px 16px}.acq-stories{gap:26px}.acq-stories h2{font-size:1.05rem}.acq-faq{margin-top:38px}.acq-faq>h2,.acq-related h2{font-size:1.22rem}.acq-related{margin-top:36px}.acq-route-links{gap:14px 20px}.acq-party .acq-party-grid{grid-template-columns:1fr}.acq-discovery{margin:24px 18px;padding-inline:0}.acq-hero:after{background:linear-gradient(#050505ce,#050505b8)}}

@media(max-width:1100px){.acq-start input:not([type=hidden]),.acq-start select,.acq-party input{font-size:16px}}
/* The route action comes before the longer introduction on a phone. */
@media(max-width:650px){.acq-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0}.acq-lead{display:contents}.acq-lead .acq-eyebrow{order:0}.acq-lead h1{order:1}.acq-start,.acq-professional{order:2;margin:6px 0 24px}.acq-lead .acq-intro{order:3}.acq-lead .acq-direct{order:4}}

@media(max-width:650px){.landing-page .whatsapp-button{display:none}}

/* customer-paths.css */
/* v21 : parcours visibles, menu partagé, accueil et regroupements. */
.path-hub-header{display:block!important}.path-hub-header>.path-eyebrow{margin-inline:auto!important}
.customer-layout .logo a{display:inline-flex;align-items:center}.path-nav-toggle{display:none}.path-nav-toggle[hidden]{display:none!important}
.path-subnav{position:relative;z-index:1001;background:#10100f;border-block:1px solid #514327;color:#eee1bd}.path-subnav-inner{display:flex;max-width:1160px;margin:auto;padding:0 22px;gap:5px}.path-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;padding:13px 18px;min-height:48px;font-size:.83rem;font-weight:600;color:#e6d6a8;cursor:pointer}.path-menu>summary::-webkit-details-marker{display:none}.path-menu[open]>summary{background:#302a1c}.path-menu-panel{position:absolute;inset-inline:0;top:100%;margin:auto;max-width:1120px;padding:25px 28px;background:#10100f;border:1px solid #66552f;border-radius:0 0 10px 10px;box-shadow:0 20px 40px #0009;max-height:65vh;overflow-y:auto;text-align:start}.path-menu-groups{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:28px}.path-menu-groups>section{margin:0;padding:0;background:transparent}.path-menu-groups h2{font-size:.9rem;color:#e5c979;margin:0 0 12px;text-align:start}.path-menu-links{display:grid;gap:3px}.path-menu-links a{display:flex;justify-content:space-between;gap:15px;color:#e8e3d8;text-decoration:none;padding:8px 0;font-size:.82rem;line-height:1.5;min-height:38px}.path-menu-all{display:inline-flex;margin-top:20px;padding-top:15px;border-top:1px solid #4c422b;color:#eed18a;font-size:.84rem}.path-menu-pro .path-menu-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.path-pro-link{display:grid;align-content:start;gap:9px;padding:12px 0;text-decoration:none;color:#e6ca80;font-size:.9rem}.path-pro-link span{font-size:.8rem;line-height:1.8;color:#d0c9b8}
.home-page.customer-layout .hero{padding:0!important;min-height:0;text-align:start}.path-hero-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr);gap:62px;align-items:center;padding:56px 28px 62px}.path-eyebrow{color:#e3c16b!important;font-size:.71rem!important;letter-spacing:.16em;font-weight:600;margin:0 0 17px!important;line-height:1.5!important}.home-page .path-hero-copy h1{font-size:clamp(2rem,3.5vw,3.15rem);line-height:1.2;max-width:19ch;margin:0 0 18px}.home-page .path-hero-copy .path-hero-pitch{color:#fff;font-size:1.03rem;line-height:1.7;max-width:42ch;margin-bottom:15px}.home-page .path-hero-copy p[data-i18n="hero.subtitle"]{font-size:.88rem;line-height:1.8;color:#dfd7c3;max-width:51ch;margin-bottom:22px}.home-page .path-hero-copy .btn-group{justify-content:flex-start;gap:12px;flex-wrap:wrap;margin:0}.home-page .path-hero-copy .btn-primary{min-height:44px;padding:10px 14px;font-size:.83rem}.home-page .path-hero-copy .hero-trust{justify-content:flex-start;text-align:start;margin:22px 0 0;max-width:100%;font-size:.74rem}.path-hero-contact{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px}.path-hero-contact a{font-size:.79rem;color:#ecd69a;text-underline-offset:5px}
.path-quote{background:#111110f7;border:1px solid #b6994d;border-radius:12px;padding:27px 26px;box-shadow:0 15px 40px #0005;min-width:0;text-align:start}.path-number{display:block;color:#bca46a;font-size:.68rem;letter-spacing:.1em;line-height:1.7}.path-quote h2{font-size:1.22rem;color:#fff;line-height:1.5;margin:8px 0 24px;text-align:start}.path-quote label{display:block;font-weight:600;font-size:.81rem;color:#e9e1d2;margin:16px 0 8px}.path-quote input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:49px;background:#20201e;border:1px solid #766849;border-radius:5px;color:#fff;font:inherit;font-size:.9rem;padding:12px}.path-quote input::placeholder{color:#bdb8ac}.path-quote .path-quote-note{color:#bfb5a0;font-size:.76rem;line-height:1.8;margin:17px 0 20px}.path-quote button{width:100%;font-size:.88rem;min-height:48px}.path-direct-book{display:block;text-align:center;font-size:.74rem;color:#d1c3a0;margin-top:15px}
.path-audiences{max-width:1160px;margin:0 auto;padding:47px 22px 22px;text-align:start;color:#eee8dc}.path-audiences>h2{font-size:1.7rem;color:#ead093;margin:0 0 7px;line-height:1.4;text-align:start}.path-section-intro{font-size:.9rem;color:#cfc6b2;line-height:1.8;margin:0 0 24px}.path-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.path-profile-grid.path-four{grid-template-columns:repeat(4,minmax(0,1fr))}.path-profile{padding:23px 20px;border:1px solid #4f4633;border-radius:9px;background:linear-gradient(145deg,#171714,#0e0e0d);min-width:0;display:flex;flex-direction:column;align-items:flex-start}.path-profile h3{font-size:1.02rem;line-height:1.5;color:#ead094;margin:14px 0 12px;text-align:start}.path-profile p{font-size:.81rem;line-height:1.9;color:#d4cbb7;margin:0 0 23px}.path-profile a{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;margin-top:auto;padding-top:15px;border-top:1px solid #52452b;color:#f1db9c;font-size:.77rem;text-decoration:none;font-weight:600;line-height:1.6}
.home-page.customer-layout .home-services{max-width:1160px;text-align:start;padding-inline:22px;margin:20px auto 50px}.home-page.customer-layout .home-services>h2{text-align:start}.home-page.customer-layout .home-services>.enrichment-intro{margin-inline:0;text-align:start}.home-page.customer-layout .home-services .enrichment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.home-page.customer-layout .home-services .enrichment-card{min-width:0;padding:25px 24px;text-align:start;box-shadow:none;background:#10100f;border-color:#5c4d2d}.path-route-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 15px;margin-top:18px}.path-route-links a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 0;border-bottom:1px solid #423b2c;font-size:.83rem;color:#eee7d5;line-height:1.5;text-decoration:none;min-width:0}.path-route-links a>span:first-child{overflow-wrap:anywhere}.path-home-leisure{padding:20px 0;border-bottom:1px solid #514428}.path-home-leisure h3{color:#e6ce8d;font-size:1rem}.path-home-leisure>.path-route-links{max-width:650px}.path-catalog-link{display:inline-flex;color:#e5ca82;font-size:.83rem;margin-top:18px}.path-family-events{display:flex;gap:12px 28px;flex-wrap:wrap;padding-top:20px}.path-family-events a{font-size:.81rem;color:#dac18a}
.path-footer-nav{padding:5px 0 23px;margin:0 auto 20px;max-width:1050px;border-bottom:1px solid #423b2b;text-align:center}.path-footer-nav strong{display:block;color:#d5c293;font-size:.87rem;margin-bottom:14px}.path-footer-nav>div{display:flex;justify-content:center;gap:13px 24px;flex-wrap:wrap}.path-footer-nav a{font-size:.78rem;color:#cfc5ac}.path-hub-access{padding:28px 22px;max-width:1100px;margin:auto;text-align:start}.path-hub-access h2{color:#e8cc83;font-size:1.25rem}.path-hub-header{padding:54px 24px 48px;background:linear-gradient(100deg,#080807e8,#15120ad9),url('/assets/optimized/services-bg-jpg.20f83979d1.webp') center/cover;border-bottom:1px solid #574a2a}.path-hub-header>*{max-width:1100px;margin-inline:auto}.path-hub-header h1{font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.25;color:#fff;margin-bottom:21px}.path-hub-header p:last-child{font-size:.98rem;line-height:1.9;color:#ded5c1}.path-hub-body{max-width:1150px;margin:auto;padding:40px 24px 48px}.path-search{border:1px solid #68572d;border-radius:10px;padding:23px;margin-bottom:35px;background:#11110f}.path-search label{display:block;font-size:.89rem;color:#ead08d;font-weight:600;margin-bottom:12px}.path-search>div{display:flex;gap:13px;flex-wrap:wrap}.path-search input{flex:1 1 260px;min-width:0;min-height:48px;padding:10px 13px;background:#22211c;border:1px solid #85734d;border-radius:5px;color:#fff;font:inherit;font-size:16px}.path-search button{padding:9px 15px;background:transparent;border:1px solid #847040;color:#e9d498;border-radius:5px;font:inherit;font-size:.83rem}.path-search p{font-size:.76rem;color:#c5b998;margin-top:12px}.path-catalog-group{margin:30px 0 0;padding:0}.path-catalog-group>h2{font-size:1.4rem;color:#e3c680;margin-bottom:20px;text-align:start}.path-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.path-destination{background:#131310;border:1px solid #55492f;border-radius:8px;padding:22px;min-width:0;display:flex;flex-direction:column;gap:17px}.path-destination h3{font-size:1rem;color:#f3ede0;line-height:1.6}.path-destination a{display:flex;justify-content:space-between;gap:10px;color:#dfc67f;font-size:.8rem;margin-top:auto;padding-top:13px;border-top:1px solid #4b4028}.path-pro-steps{margin-top:48px;padding:0}.path-pro-steps>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:27px}.path-pro-steps h3{color:#fff;font-size:.98rem}.path-pro-steps p{font-size:.86rem;line-height:1.9;color:#d4c9b0}.path-other-needs{margin-top:40px;border-top:1px solid #574a2b;padding-top:30px}.path-other-needs>div{display:flex;gap:15px 25px;flex-wrap:wrap}.path-other-needs a,.path-no-result a{color:#dbbf7b;font-size:.84rem}.path-no-result{color:#eadbb7;padding:30px 0;line-height:1.9}
.path-menu-groups h2:after,.path-quote h2:after,.path-audiences>h2:after,.path-hub-header h1:after,.path-catalog-group>h2:after{display:none}.customer-layout :is(.path-menu,.path-profile,.path-quote,.path-search,.path-destination) :focus-visible{outline:2px solid #ffe09a;outline-offset:4px}
@media(min-width:1101px){.customer-layout .navbar{padding:10px 24px!important;gap:15px}.customer-layout .navbar .logo img{height:50px!important}.customer-layout .nav-links{gap:1px}.customer-layout .nav-links li a{font-size:.82rem;padding:10px}}
@media(max-width:1100px){.customer-layout .navbar{display:grid!important;grid-template-columns:1fr auto auto;gap:12px!important;align-items:center;padding:11px 17px!important}.customer-layout .navbar .logo img{height:42px!important}.customer-layout .navbar .language-select{margin:0!important;min-height:40px}.customer-layout .path-nav-toggle:not([hidden]){display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid #76602e;border-radius:5px;background:#19160e;color:#e3d1a0;font:inherit;font-size:.8rem}.path-menu-icon{width:15px;height:10px;border-block:1px solid currentColor}.customer-layout .navbar .nav-links{grid-row:2;grid-column:1/-1;width:100%;flex-wrap:wrap;justify-content:flex-start;gap:0 7px;margin:0;padding:7px 0 0}.customer-layout[data-customer-ready] .navbar .nav-links{display:none!important}.customer-layout[data-customer-ready] .navbar.nav-open .nav-links{display:flex!important}.customer-layout .navbar .nav-links li a{font-size:.82rem;padding:10px}.path-subnav-inner{justify-content:center;padding:0 15px;gap:0}.path-menu{flex:1}.path-menu-panel{margin-inline:15px}.path-hero-inner{gap:30px;padding:40px 24px}.path-profile-grid.path-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.path-hero-inner{grid-template-columns:1fr;gap:24px;padding:30px 19px 33px}.home-page .path-hero-copy h1{font-size:clamp(1.85rem,7vw,2.6rem);max-width:21ch;margin-bottom:13px}.home-page .path-hero-copy .path-hero-pitch,.home-page .path-hero-copy .btn-group{display:none}.home-page .path-hero-copy p[data-i18n="hero.subtitle"]{font-size:.78rem;line-height:1.8;margin-bottom:16px}.home-page .path-hero-copy .hero-trust{display:flex;gap:6px 0;font-size:.71rem;margin-top:14px}.path-hero-contact{margin-top:17px;gap:12px 20px}.path-hero-contact a{font-size:.76rem}.path-quote{padding:22px 20px}.path-quote h2{font-size:1.15rem;margin-bottom:18px}.path-quote input{font-size:16px}.path-audiences{padding:32px 18px 17px}.path-audiences>h2{font-size:1.4rem}.path-section-intro{font-size:.83rem;margin-bottom:20px}.path-profile-grid,.path-profile-grid.path-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.path-profile{padding:17px 14px}.path-profile h3{font-size:.87rem;margin:8px 0 14px}.path-profile p{display:none}.path-profile a{font-size:.7rem;gap:9px;padding-top:12px}.home-page.customer-layout .home-services{padding-inline:18px;margin-top:18px}.home-page.customer-layout .home-services .enrichment-grid{grid-template-columns:1fr;gap:15px}.home-page.customer-layout .home-services .enrichment-card{padding:22px 18px}.path-route-links a{font-size:.79rem}.path-menu-panel{padding:21px 18px}.path-menu-groups,.path-menu-pro .path-menu-groups{grid-template-columns:1fr;gap:22px}.path-pro-link{padding:9px 0}.path-hub-header{padding:32px 20px}.path-hub-header h1{font-size:1.9rem}.path-hub-body{padding:27px 18px 35px}.path-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.path-destination{padding:17px 14px;gap:12px}.path-destination h3{font-size:.86rem}.path-destination a{font-size:.73rem;gap:8px}.path-pro-steps>div{grid-template-columns:1fr}.home-page.customer-layout .whatsapp-button{display:none}}
@media(max-width:360px){.customer-layout .navbar{gap:8px!important;padding-inline:12px!important}.customer-layout .navbar .logo img{height:38px!important}.customer-layout .navbar .language-select{padding:4px;min-height:38px}.customer-layout .path-nav-toggle:not([hidden]){gap:5px;padding:5px 7px;font-size:.74rem}.path-menu>summary{font-size:.77rem;padding:11px 8px;gap:10px}.path-catalog{grid-template-columns:1fr}}

/* visual-polish.css */
/* Finitions v21.1 : pictogrammes tracés, sans caractères emoji. */
.site-refined .detail-icon,.site-refined .step-symbol,.site-refined .link-mark,.site-refined .menu-mark{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#e3c477;flex-shrink:0;vertical-align:middle}
.site-refined .detail-icon{width:40px;height:40px;border:1px solid #665532;border-radius:11px;background:linear-gradient(145deg,#292315,#17150f);margin-bottom:3px}
.site-refined .detail-icon svg{display:block;width:23px;height:23px}
.site-refined .step-symbol{width:25px;height:25px;flex:0 0 25px}
.site-refined .step-symbol svg{display:block;width:21px;height:21px}
.site-refined .link-mark,.site-refined .menu-mark{width:24px;height:24px;flex:0 0 24px;border:1px solid #71603a;border-radius:50%;background:#211d13;transition:background-color .2s,border-color .2s}
.site-refined .link-mark svg,.site-refined .menu-mark svg{display:block;width:13px;height:13px}
.site-refined a:hover>.link-mark,.site-refined a:focus-visible>.link-mark,.site-refined summary:hover>.menu-mark{background:#3c311b;border-color:#d4af37}
.site-refined .menu-mark{transition:transform .2s,border-color .2s}.site-refined .path-menu[open]>summary>.menu-mark{transform:rotate(180deg)}
.site-refined .acq-stories .detail-icon{width:36px;height:36px;border-radius:10px}
.site-refined .path-pro-steps .detail-icon{margin-bottom:15px}
.site-refined details:not(.path-menu)>summary{list-style:none;display:flex;align-items:center;gap:12px}
.site-refined details:not(.path-menu)>summary::-webkit-details-marker{display:none}
.site-refined details:not(.path-menu)>summary::marker{content:''}
.site-refined details:not(.path-menu)>summary::after{content:''!important;display:block;box-sizing:border-box;width:24px;height:24px;flex:0 0 24px;margin-inline-start:auto;border:1px solid #71603a;border-radius:50%;background:linear-gradient(#e3c477,#e3c477) center/10px 1px no-repeat,linear-gradient(#e3c477,#e3c477) center/1px 10px no-repeat,#211d13}
.site-refined details[open]:not(.path-menu)>summary::after{background:linear-gradient(#e3c477,#e3c477) center/10px 1px no-repeat,#211d13}
@media(max-width:700px){.site-refined .path-profile .detail-icon{width:34px;height:34px;border-radius:9px}.site-refined .path-profile .detail-icon svg{width:21px;height:21px}.site-refined .booking-progress .step-symbol{width:20px;height:20px;flex-basis:20px}.site-refined .booking-progress .step-symbol svg{width:19px;height:19px}.site-refined .link-mark{width:21px;height:21px;flex-basis:21px}}
@media(prefers-reduced-motion:reduce){.site-refined .link-mark,.site-refined .menu-mark{transition:none}}

/* Flèches de navigation : tracé fin doré, aucune dépendance aux emoji système. */
.site-refined .link-mark{width:28px;height:28px;flex:0 0 28px;border-color:#75613c;background:linear-gradient(145deg,#252116,#14130f);color:#e3c477}
.site-refined .link-mark svg{width:18px;height:18px}
.site-refined .menu-mark svg{width:18px;height:18px}
.site-refined .intl-route-grid>a>.link-mark{width:34px;height:34px;flex-basis:34px;border-color:#8e7540;background:linear-gradient(145deg,#292317,#15140f)}
.site-refined .intl-route-grid>a>.link-mark svg{width:22px;height:22px}
[dir="rtl"] .link-mark svg{transform:scaleX(-1)}
select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;padding-inline-end:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e3c477' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px 20px;background-position:right .65rem center}
[dir="rtl"] select:not([multiple]):not([size]){background-position:left .65rem center}
@media(prefers-reduced-motion:reduce){.site-refined .menu-mark{transition:none}}

/* expansion.css */
/* Extension v22 : mêmes couleurs, typo et composants que la v21.1. */
.exp-nav-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;color:#e7d5a4;font-size:.82rem;font-weight:600;text-decoration:none;border-inline-start:1px solid #3f3625;white-space:nowrap}
.exp-nav-link:hover,.exp-nav-link:focus-visible{background:#211c11;color:#ffe3a0}
.path-menu-panel{max-height:min(76vh,760px);overflow-y:auto;overscroll-behavior:contain}
.path-menu-panel>.path-menu-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
.path-menu-groups h2>a{color:inherit;font:inherit;line-height:inherit;text-decoration:none}.path-menu-groups h2>a:hover,.path-menu-groups h2>a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.exp-partner-secondary{display:block;margin-top:18px;line-height:1.8}
.path-menu-pro .path-pro-link{line-height:1.8}.exp-discover{padding-top:32px;margin-top:24px;border-top:1px solid #514428}.exp-discover>h3{color:#e6ce8d;margin-bottom:20px}.exp-discover .path-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}
.exp-card-copy{font-size:.8rem;line-height:1.9;color:#cec5b1;margin:0}.exp-official{font-size:.78rem;line-height:1.8;margin-top:25px}.exp-official a{color:#d6c18c;text-underline-offset:4px}
.exp-form-section{margin-top:48px;padding:30px;border:1px solid #77612d;border-radius:12px;background:#10100f;max-width:100%;min-width:0}.exp-form-section>h2{font-size:1.45rem;color:#ead08d;line-height:1.5;text-align:start}.exp-form-intro{font-size:.87rem;line-height:1.9;color:#dbd2bd;max-width:80ch;margin:15px 0 25px}.exp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 23px;align-items:start}.exp-field{min-width:0}.exp-field label{display:block;color:#eae5d9;font-size:.82rem;font-weight:600;line-height:1.7;margin-bottom:7px}.exp-field :is(input,select,textarea){display:block;width:100%;max-width:100%;min-width:0;min-height:48px;background:#181817;border:1px solid #726449;border-radius:6px;color:#fff;font:inherit;font-size:16px;padding:11px;box-sizing:border-box}.exp-field textarea{resize:vertical;line-height:1.8}.exp-field input::placeholder,.exp-field textarea::placeholder{color:#bcb7ac}.exp-full{grid-column:1/-1}.exp-small{font-size:.75rem;color:#c8bea6;line-height:1.8;margin:0}.exp-check{display:flex;gap:12px;align-items:flex-start;line-height:1.8;font-size:.8rem;color:#d6cdb8}.exp-check input{margin-top:5px;min-width:20px;width:20px;height:20px;accent-color:#d4af37}.exp-check a{color:#e6cc86;text-underline-offset:3px}.exp-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.exp-form button:disabled{opacity:.6;cursor:wait}.exp-status{font-size:.85rem;line-height:1.8;overflow-wrap:anywhere;color:#eed699}.exp-status[data-error=true]{color:#ffb9a4}.exp-form-section [hidden],.exp-form [hidden]{display:none!important}.exp-doc-list{margin:24px 0;padding:0;list-style:none}.exp-doc-list li{padding:12px 0;border-bottom:1px solid #514428;font-size:.83rem;line-height:1.8;color:#dcd2bc}.exp-privacy{max-width:1000px;margin:30px auto;padding:25px;color:#d9d0be;font-size:.85rem;line-height:1.9}.exp-privacy h2{color:#e7cb84;font-size:1.3rem}.exp-form-section :focus-visible,.exp-nav-link:focus-visible{outline:2px solid #ffe09a;outline-offset:4px}
@media(max-width:1100px){.path-subnav-inner{flex-wrap:wrap}.path-menu-panel>.path-menu-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.exp-nav-link{padding-inline:15px}}
@media(max-width:700px){.path-subnav-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0 15px}.path-menu{min-width:0}.path-menu>summary{justify-content:center}.exp-nav-link{border-inline-start:0;border-top:1px solid #3f3625;min-height:41px;padding:8px 10px;font-size:.76rem}.exp-discover .path-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.exp-form-section{padding:23px 18px;margin-top:32px}.exp-form{grid-template-columns:1fr;gap:18px}.exp-full{grid-column:auto}.exp-form-section>h2{font-size:1.2rem}.exp-form-intro{font-size:.83rem}.path-menu-panel>.path-menu-groups{grid-template-columns:1fr}.exp-form button{width:100%}.exp-card-copy{font-size:.76rem}.exp-discover{padding-top:23px}}
@media(max-width:360px){.exp-discover .path-catalog{grid-template-columns:1fr}}

/* booking-v23.css */
/* Réservation v23, dans la charte existante. */
.return-fields{border:1px solid #715f29;border-radius:12px;padding:16px;margin:20px 0;min-width:0}.return-fields legend{font-weight:700;color:#e1c45a;padding:0 8px}.booking-fields .party-visible{display:block;margin:22px 0;padding:18px;border:1px solid #715f29;border-radius:12px}.party-visible h2{font-size:1.05rem;margin:0 0 16px;color:#e1c45a}.booking-check{display:flex!important;align-items:flex-start;gap:10px;line-height:1.6;font-size:14px!important;text-align:start;cursor:pointer}.booking-check input[type=checkbox]{width:19px!important;height:19px;min-width:19px;margin:4px 0 0!important;accent-color:#d4af37}.booking-review{margin:18px 0}.confirmation-note{border-inline-start:3px solid #d4af37;padding:12px;text-align:start;line-height:1.6;font-size:14px;background:#211e13;border-radius:6px}.booking-recap dd{overflow-wrap:anywhere}.booking-fields input[readonly]{color:#d6d6d6;background:#1a1a1a}.booking-recap [hidden],.return-fields[hidden],#booking-confirmation-note[hidden]{display:none!important}@media(max-width:480px){.return-fields,.booking-fields .party-visible{padding:13px}.booking-review{font-size:13px!important}}
