@charset "UTF-8";

.rq-menu,
.rq-search-form,
.rq-listing,
.rq-categories,
.rq-regions,
.rq-home-section,
.rq-hero,
.rq-commerce-shell,
.rq-commerce-header,
.rq-commerce-webview,
.rq-breadcrumbs,
.rq-result-count,
.rq-empty,
.rq-error,
.rq-map,
.rq-map-empty,
.rq-discover {
  --rq-primary: #0f6b78;
  --rq-accent: #e5a719;
  --rq-ink: #18323a;
  --rq-muted: #61747a;
  --rq-surface: #fff;
  --rq-soft: #f2f7f7;
  --rq-border: #dce8e9;
  --rq-radius: 18px;
  --rq-shadow: 0 12px 34px rgba(24, 50, 58, .09);
  box-sizing: border-box;
}

.rq-category-intro,
.rq-destination-intro,
.rq-category-filters,
.rq-results-explorer { box-sizing: border-box; }

.rq-menu *,
.rq-search-form *,
.rq-listing *,
.rq-categories *,
.rq-regions *,
.rq-home-section *,
.rq-hero *,
.rq-commerce-shell *,
.rq-commerce-webview *,
.rq-discover * { box-sizing: border-box; }

.rq-button {
  align-items: center;
  background: var(--rq-primary);
  border: 0;
  border-radius: 999px;
  color: #fff !important;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 44px;
  padding: .7rem 1.2rem;
  text-decoration: none !important;
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.rq-button:hover,
.rq-button:focus-visible {
  box-shadow: 0 8px 22px rgba(15, 107, 120, .25);
  opacity: .94;
  transform: translateY(-1px);
}

.rq-menu > ul,
.rq-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rq-menu > ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.2rem;
}

.rq-menu a { color: var(--rq-ink); text-decoration: none; }
.rq-has-children { position: relative; }
.rq-has-children > .rq-submenu {
  background: #fff;
  border: 1px solid var(--rq-border);
  border-radius: 14px;
  box-shadow: var(--rq-shadow);
  display: none;
  left: 0;
  min-width: 260px;
  padding: .65rem;
  position: absolute;
  top: 100%;
  z-index: 1000;
}
.rq-has-children:hover > .rq-submenu,
.rq-has-children:focus-within > .rq-submenu { display: block; }
.rq-submenu a { align-items: center; display: flex; gap: .6rem; padding: .45rem .65rem; }
.rq-submenu ul { list-style: none; margin: 0 0 .35rem .75rem; padding: 0; }
.rq-menu-thumb { border-radius: 7px; flex: 0 0 42px; height: 32px; object-fit: cover; width: 42px; }
.rq-menu-icon,
.rq-filter-icon,
.rq-term-icon { align-items: center; display: inline-flex; flex: 0 0 auto; justify-content: center; }
[class^="rq-"] .fa-solid,
[class*=" rq-"] .fa-solid,
[class^="rq-"] .fas,
[class*=" rq-"] .fas {
  font-family: var(--fa-family-classic, "Font Awesome 7 Pro") !important;
  font-style: normal;
  font-weight: 900;
}
.rq-menu-icon { background: #edf6f6; border-radius: 10px; color: var(--rq-primary, #0f6b78); height: 34px; width: 34px; }
.rq-menu-parent-icon { background: linear-gradient(145deg, var(--rq-primary, #0f6b78), #164a53); color: #fff; height: 40px; width: 40px; }
.rq-menu-child-icon { background: #fff; border: 1px solid var(--rq-border, #dce8e9); height: 30px; width: 30px; }
.rq-filter-icon { color: currentColor; height: 20px; width: 20px; }
.rq-term-icon { background: #edf6f6; border-radius: 10px; color: var(--rq-primary, #0f6b78); font-size: 1rem; height: 36px; width: 36px; }

/* Méga-menu injecté dans la navigation native du thème. */
.rq-auto-menu { position: relative; }
.rq-auto-menu > .rq-category-menu,
.rq-auto-menu > .rq-region-menu {
  background: #fff;
  border: 1px solid var(--rq-border, #dce8e9);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(16, 49, 57, .2);
  box-sizing: border-box;
  display: grid !important;
  gap: .75rem;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  left: auto !important;
  list-style: none;
  margin: 10px 0 0 !important;
  max-height: min(76vh, 720px);
  opacity: 0;
  overflow: auto;
  padding: .85rem !important;
  pointer-events: none;
  position: absolute !important;
  right: 0 !important;
  top: 100% !important;
  transform: translateY(10px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  visibility: hidden;
  width: min(840px, calc(100vw - 32px));
  z-index: 10000;
}
.rq-auto-menu:hover > .rq-category-menu,
.rq-auto-menu:focus-within > .rq-category-menu,
.rq-auto-menu:hover > .rq-region-menu,
.rq-auto-menu:focus-within > .rq-region-menu,
.rq-auto-menu.rq-menu-open > .rq-category-menu,
.rq-auto-menu.rq-menu-open > .rq-region-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  visibility: visible;
}
@media (min-width: 621px) {
  .site-header .rq-auto-menu > .rq-category-menu,
  .site-header .rq-auto-menu > .rq-region-menu { pointer-events: auto !important; }
  .site-header .rq-auto-menu.rq-menu-open > .rq-category-menu,
  .site-header .rq-auto-menu.rq-menu-open > .rq-region-menu {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
    visibility: visible !important;
  }
}
.rq-auto-menu > .rq-category-menu > li {
  align-self: start;
  background: #f7fafa;
  border: 1px solid #e2eded;
  border-radius: 15px;
  list-style: none;
  min-width: 0;
  overflow: hidden;
  padding: .35rem;
}
.rq-auto-menu > .rq-category-menu > li > a {
  border-radius: 11px;
  color: #18323a !important;
  font-size: .98rem;
  font-weight: 800;
  gap: .7rem;
  line-height: 1.2;
  padding: .55rem !important;
}
.rq-menu-section-label {
  align-items: center;
  color: #18323a;
  display: flex;
  font-size: .98rem;
  font-weight: 800;
  gap: .7rem;
  line-height: 1.2;
  padding: .55rem;
}
.rq-menu-promoted-group { border-color: color-mix(in srgb, var(--rq-primary, #0f6b78) 28%, #e2eded) !important; }
.rq-term-card-activity { border-color: color-mix(in srgb, var(--rq-primary, #0f6b78) 22%, var(--rq-border, #dce8e9)); }
.rq-menu-family-label { border-bottom:1px solid var(--rq-border); color:var(--rq-primary); font-size:.72rem; font-weight:900; letter-spacing:.08em; margin:.65rem .35rem .2rem; padding:.35rem .4rem !important; text-transform:uppercase; }
.rq-menu-family-label:first-child { margin-top:.1rem; }
.rq-activity-controls { background:linear-gradient(135deg,color-mix(in srgb,var(--rq-primary) 8%,#fff),color-mix(in srgb,var(--rq-accent) 8%,#fff)); border:1px solid var(--rq-border); border-radius:20px; display:grid; gap:.75rem; margin:0 0 1.1rem; padding:1rem; }
.rq-activity-control-row { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; }
.rq-activity-control-row > strong,.rq-activity-control-row > span { color:var(--rq-ink); margin-right:.35rem; font-weight:700; }
.rq-activity-control-row button { background:#fff; border:1px solid var(--rq-border); border-radius:999px; color:var(--rq-ink); cursor:pointer; font:inherit; font-size:.82rem; padding:.52rem .78rem; }
.rq-activity-control-row button:hover,.rq-activity-control-row button:focus-visible,.rq-activity-control-row button.is-active { background:var(--rq-primary); border-color:var(--rq-primary); color:#fff; }
.rq-activity-seasons { border-top:1px solid color-mix(in srgb,var(--rq-border) 75%,transparent); padding-top:.7rem; }
[data-rq-activity-card][hidden] { display:none !important; }

.rq-auto-menu > .rq-category-menu > li > a:hover { background: #fff; color: var(--rq-primary, #0f6b78) !important; }
.rq-auto-menu > .rq-category-menu > li > ul {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: grid !important;
  gap: .12rem;
  left: auto !important;
  list-style: none;
  margin: .15rem 0 0 !important;
  min-width: 0 !important;
  opacity: 1 !important;
  padding: 0 !important;
  pointer-events: auto !important;
  position: static !important;
  transform: none !important;
  visibility: visible !important;
  width: auto !important;
}
.rq-auto-menu > .rq-category-menu > li > ul a {
  border-radius: 9px;
  color: #40565c !important;
  font-size: .84rem;
  font-weight: 600;
  gap: .55rem;
  line-height: 1.25;
  padding: .36rem .48rem !important;
}
.rq-auto-menu > .rq-category-menu > li > ul a:hover,
.rq-auto-menu > .rq-category-menu > li > ul a:focus-visible {
  background: #fff;
  color: var(--rq-primary, #0f6b78) !important;
}
.rq-auto-menu > .rq-region-menu { grid-template-columns: repeat(2, minmax(290px, 1fr)); }
.rq-auto-menu > .rq-region-menu > li { list-style: none; min-width: 0; }
.rq-auto-menu > .rq-region-menu > li > a { align-items: center; border: 1px solid #e2eded; border-radius: 14px; color: var(--rq-ink, #18323a) !important; min-height: 76px; padding: .6rem !important; }
.rq-auto-menu > .rq-region-menu > li > a:hover,
.rq-auto-menu > .rq-region-menu > li > a:focus-visible { background: #f7fafa; border-color: color-mix(in srgb, var(--rq-primary, #0f6b78) 35%, #e2eded); }
.rq-region-menu-copy { display: flex; flex: 1 1 auto; flex-direction: column; gap: .18rem; min-width: 0; }
.rq-region-menu-copy strong { color: var(--rq-ink, #18323a); font-size: .92rem; line-height: 1.2; }
.rq-region-menu-copy small { color: var(--rq-muted, #61747a); display: -webkit-box; font-size: .72rem; font-weight: 500; line-height: 1.3; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.rq-hero {
  background:
    linear-gradient(90deg, rgba(10, 55, 62, .94), rgba(10, 55, 62, .6) 62%, rgba(10, 55, 62, .32)),
    var(--rq-hero-image) center / cover no-repeat,
    linear-gradient(135deg, var(--rq-primary), #164a53);
  border-radius: clamp(20px, 4vw, 42px);
  color: #fff;
  margin: 1.5rem auto 3rem;
  overflow: hidden;
  padding: clamp(2.3rem, 7vw, 6rem) clamp(1.2rem, 6vw, 5rem);
}

.rq-hero-content { margin: auto; max-width: 1180px; }
.rq-hero h1 { color: inherit; font-size: clamp(2.2rem, 5vw, 4.8rem); letter-spacing: -.045em; line-height: 1; margin: 0 0 1rem; max-width: 900px; }
.rq-hero > .rq-hero-content > p { font-size: clamp(1rem, 2vw, 1.3rem); max-width: 680px; opacity: .88; }

.rq-search-form {
  background: var(--rq-surface);
  border: 1px solid var(--rq-border);
  border-radius: var(--rq-radius);
  box-shadow: var(--rq-shadow);
  color: var(--rq-ink);
  margin: 1.25rem 0;
  padding: 1rem;
}
.rq-hero .rq-search-form { margin-top: 2rem; }
.rq-search-fields { align-items: end; display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); }
.rq-search-fields label { display: grid; font-size: .78rem; font-weight: 700; gap: .35rem; letter-spacing: .02em; }
.rq-search-fields input,
.rq-search-fields select {
  background: #fff;
  border: 1px solid #cbdadb;
  border-radius: 11px;
  color: var(--rq-ink);
  font: inherit;
  min-height: 46px;
  padding: .6rem .75rem;
  width: 100%;
}
.rq-search-fields input:focus,
.rq-search-fields select:focus { border-color: var(--rq-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--rq-primary) 18%, transparent); outline: 0; }
.rq-autocomplete-field { min-width: 0; position: relative; }
.rq-autocomplete-menu { background: #fff; border: 1px solid var(--rq-border); border-radius: 15px; box-shadow: 0 18px 55px rgba(24,50,58,.2); left: 0; max-height: 360px; min-width: min(360px, 88vw); overflow-y: auto; padding: .35rem; position: absolute; right: 0; top: calc(100% + .4rem); z-index: 10000; }
.rq-autocomplete-menu[hidden] { display: none; }
.rq-autocomplete-option { align-items: center; background: transparent; border: 0; border-radius: 11px; color: var(--rq-ink); cursor: pointer; display: flex; gap: .75rem; padding: .7rem .75rem; text-align: left; width: 100%; }
.rq-autocomplete-option:hover,
.rq-autocomplete-option.is-active { background: var(--rq-soft); outline: 0; }
.rq-autocomplete-option > i { align-items: center; background: #e8f4f4; border-radius: 9px; color: var(--rq-primary); display: inline-flex; flex: 0 0 34px; height: 34px; justify-content: center; }
.rq-autocomplete-option > span { display: flex; flex-direction: column; min-width: 0; }
.rq-autocomplete-option strong { color: var(--rq-ink); font-size: .9rem; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rq-autocomplete-option small { color: var(--rq-muted); font-size: .72rem; font-weight: 600; line-height: 1.3; margin-top: .15rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rq-header-search-wrap .rq-autocomplete-menu {
  display: grid !important;
  gap: 3px;
  grid-template-columns: minmax(0, 1fr) !important;
  padding: 8px !important;
  width: min(620px, calc(100vw - 32px));
}
.rq-header-search-wrap .rq-autocomplete-menu[hidden] { display: none !important; }
.rq-commerce-portal .rq-header-search-wrap { display: none !important; }
.rq-header-search-wrap .rq-autocomplete-option {
  align-items: center !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid #e5eeee !important;
  border-radius: 12px !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 42px minmax(0, 1fr) 18px;
  min-height: 62px !important;
  padding: 8px 10px !important;
  text-align: left !important;
  width: 100% !important;
}
.rq-header-search-wrap .rq-autocomplete-option:hover,
.rq-header-search-wrap .rq-autocomplete-option.is-active {
  background: linear-gradient(100deg, #edf7f7, #fffaf0) !important;
}
.rq-header-search-wrap .rq-autocomplete-option::after {
  color: #86a8ac;
  content: "\f054";
  font-family: var(--fa-family-classic, "Font Awesome 7 Pro");
  font-size: .72rem;
  font-weight: 900;
}
.rq-date-field > span,
.rq-duration-field > span,
.rq-equipment-field > span,
.rq-equipment-length-field > span,
.rq-quantity-field > span { align-items: center; display: flex; gap: .38rem; }
.rq-date-field > span i,
.rq-duration-field > span i,
.rq-equipment-field > span i,
.rq-equipment-length-field > span i,
.rq-quantity-field > span i { color: var(--rq-primary); }
.rq-quantity-field { display: grid; font-size: .78rem; font-weight: 700; gap: .35rem; letter-spacing: .02em; }
.rq-stepper { align-items: center; display: grid; grid-template-columns: 42px minmax(44px, 1fr) 42px; }
.rq-stepper button,
.rq-stepper input {
  background: #fff;
  border: 1px solid #cbdadb;
  border-radius: 0;
  color: var(--rq-ink);
  font: inherit;
  font-size: 1.05rem;
  font-weight: 800;
  height: 46px;
  min-height: 46px;
  padding: 0;
  text-align: center;
  width: 100%;
}
.rq-stepper button { color: var(--rq-primary); cursor: pointer; font-size: 1.35rem; }
.rq-stepper button:first-child { border-radius: 11px 0 0 11px; }
.rq-stepper button:last-child { border-radius: 0 11px 11px 0; }
.rq-stepper input { border-left: 0; border-right: 0; -moz-appearance: textfield; }
.rq-stepper input::-webkit-inner-spin-button,
.rq-stepper input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.rq-stepper button:hover,
.rq-stepper button:focus-visible { background: var(--rq-soft); outline: 2px solid color-mix(in srgb, var(--rq-primary) 30%, transparent); outline-offset: -2px; }
.rq-date-picker { background: #fff; cursor: pointer; }
.xdsoft_datetimepicker { border: 1px solid var(--rq-border, #dce8e9) !important; border-radius: 14px; box-shadow: 0 18px 55px rgba(24,50,58,.2) !important; overflow: hidden; z-index: 100000 !important; }
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current { background: var(--rq-primary, #0f6b78) !important; box-shadow: none !important; }
.xdsoft_datetimepicker .xdsoft_calendar td:hover,
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover { background: var(--rq-accent, #e5a719) !important; color: #fff !important; }
.rq-search-compact { position: sticky; top: .75rem; z-index: 500; }
.rq-search-compact .rq-search-fields { grid-template-columns: minmax(150px,1.3fr) repeat(4,minmax(120px,1fr)) minmax(95px,.65fr) minmax(95px,.65fr) auto; }
.rq-search-compact .rq-search-submit { min-width: 112px; }

.rq-listing,
.rq-categories,
.rq-regions { display: grid; gap: 1.25rem; margin: 1.5rem 0 2.5rem; }
.rq-columns-1 { grid-template-columns: 1fr; }
.rq-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rq-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rq-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rq-columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rq-categories,
.rq-regions { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.rq-category-strip { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1rem 0 1.4rem; overflow: visible; padding: .2rem 0 .8rem; }
.rq-category-strip .rq-term-card { min-width: 0; }
.rq-category-strip .rq-term-image { aspect-ratio: 16 / 8; margin-bottom: .55rem !important; }
.rq-category-strip .rq-term-card > a { padding-bottom: .8rem; }
.rq-category-strip .rq-term-card > a > strong,
.rq-category-strip .rq-term-card > a > span:not(.rq-term-image) { margin-left: .85rem; margin-right: .85rem; }
.rq-category-strip .rq-term-card strong { font-size: .98rem; line-height: 1.15; }
.rq-category-strip .rq-term-card span:not(.rq-term-image) { font-size: .78rem; }
.rq-category-filters { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; margin: .5rem 0 1rem; overflow: visible; padding: .25rem 0 .65rem; }
.rq-category-filters a { align-items: center; background: var(--rq-surface); border: 1px solid var(--rq-border); border-radius: 999px; color: var(--rq-ink); display: inline-flex; flex: 0 0 auto; font-size: .9rem; font-weight: 700; gap: .45rem; min-height: 40px; padding: .55rem .9rem; text-decoration: none; }
.rq-category-filters a:hover,
.rq-category-filters a.is-active { background: var(--rq-primary); border-color: var(--rq-primary); color: #fff; }
.rq-category-filters small { background: rgba(0,0,0,.08); border-radius: 999px; font-size: .72rem; padding: .12rem .4rem; }
.rq-contextual-filters { background: var(--rq-soft); border: 1px solid var(--rq-border); border-radius: var(--rq-radius); margin: 0 0 1rem; padding: .85rem; }
.rq-contextual-filters-title { color: var(--rq-ink); font-size: .9rem; font-weight: 800; margin: 0 0 .35rem; }
.rq-contextual-filters .rq-search-form { background: transparent; border: 0; box-shadow: none; margin: 0; padding: 0; position: static; }
.rq-contextual-filters .rq-search-fields { grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); }
.rq-contextual-filters .rq-location-field { min-width: 180px; }
.rq-contextual-filters .rq-search-submit { align-self: end; min-width: 110px; }
.rq-category-intro { background: var(--rq-soft); border-left: 4px solid var(--rq-accent); border-radius: 0 var(--rq-radius) var(--rq-radius) 0; color: var(--rq-ink); margin: .75rem 0 1rem; padding: clamp(1rem,2vw,1.5rem); }
.rq-category-intro > :first-child { margin-top: 0; }
.rq-category-intro > :last-child { margin-bottom: 0; }
.rq-destination-intro { background: linear-gradient(135deg, var(--rq-soft), #fffaf0); border: 1px solid var(--rq-border); border-radius: var(--rq-radius); color: var(--rq-ink); margin: .75rem 0 1.35rem; padding: clamp(1.1rem,2.5vw,1.75rem); }
.rq-destination-title { color: var(--rq-ink); font-size: clamp(1.45rem,2.5vw,2rem); margin: 0 0 .45rem; }
.rq-destination-summary { color: var(--rq-primary); font-size: clamp(1rem,1.5vw,1.12rem); line-height: 1.5; margin: 0; }
.rq-destination-intro.has-hero { background: transparent; border: 0; overflow: visible; padding: 0; }
.rq-destination-hero { align-items: end; background-position: center; background-size: cover; border-radius: 0; display: flex; margin-left: calc(50% - 50vw); min-height: clamp(240px,32vw,430px); position: relative; width: 100vw; }
.rq-destination-hero::before { background: linear-gradient(180deg,rgba(7,36,43,.05) 22%,rgba(7,36,43,.88) 100%); content: ""; inset: 0; position: absolute; }
.rq-destination-hero-content { color: #fff; max-width: 950px; padding: clamp(1.35rem,4vw,3rem); position: relative; z-index: 1; }
.rq-destination-kicker { align-items: center; backdrop-filter: blur(8px); background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: #fff; display: inline-flex; font-size: .78rem; font-weight: 800; gap: .45rem; letter-spacing: .055em; margin-bottom: .85rem; padding: .48rem .78rem; text-transform: uppercase; }
.rq-destination-hero .rq-destination-title { color: #fff; font-size: clamp(1.75rem,4vw,3.4rem); margin-bottom: .55rem; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.rq-destination-hero .rq-destination-summary { color: #fff; font-size: clamp(1.03rem,1.8vw,1.28rem); max-width: 820px; text-shadow: 0 2px 12px rgba(0,0,0,.42); }
.rq-destination-intro.has-hero .rq-destination-description { background: #fff; border: 1px solid var(--rq-border); border-radius: var(--rq-radius); box-shadow: var(--rq-shadow); margin: -2.1rem auto 2rem; max-width: min(1180px,calc(100% - 2rem)); padding: clamp(1.2rem,2.7vw,2rem); position: relative; z-index: 2; }
.rq-destination-description { border-top: 1px solid var(--rq-border); color: #40565c; line-height: 1.65; margin-top: 1rem; padding-top: .9rem; }
.rq-destination-copy-label { color: var(--rq-primary); display: block; font-size: .76rem; font-weight: 850; letter-spacing: .085em; margin-bottom: .9rem; text-transform: uppercase; }
.rq-destination-copy { display: grid; gap: .75rem 2rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.rq-destination-copy p { margin: 0; }
.rq-destination-copy p:last-child:nth-child(odd) { grid-column: 1/-1; }
.rq-destination-copy.is-structured { display: block; }
.rq-destination-editorial { display: grid; gap: 1.15rem; }
.rq-editorial-lead { color: var(--rq-ink); font-size: clamp(1.05rem,1.6vw,1.22rem); font-weight: 650; line-height: 1.55; max-width: 900px; }
.rq-editorial-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.rq-editorial-card { background: var(--rq-soft); border: 1px solid var(--rq-border); border-radius: calc(var(--rq-radius) - 4px); padding: 1.05rem; }
.rq-editorial-card h3 { color: var(--rq-ink); font-size: 1.02rem; margin: .7rem 0 .35rem; }
.rq-editorial-card p { color: #4e656c; font-size: .94rem; line-height: 1.55; }
.rq-editorial-icon { align-items: center; background: var(--rq-primary); border-radius: 12px; color: #fff; display: inline-flex; height: 40px; justify-content: center; width: 40px; }
.rq-editorial-tip { align-items: center; background: linear-gradient(135deg,#fff8e8,#f6fbfb); border: 1px solid #ead9ad; border-left: 5px solid var(--rq-accent); border-radius: 13px; display: grid; gap: 1rem; grid-template-columns: minmax(190px,.7fr) minmax(0,1.3fr); padding: 1rem 1.15rem; }
.rq-editorial-tip strong,.rq-editorial-tip span { display: block; }
.rq-editorial-tip strong { color: var(--rq-ink); font-size: 1rem; }
.rq-editorial-tip span { color: #60767c; font-size: .87rem; margin-top: .15rem; }
.rq-editorial-tip ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.rq-editorial-tip li { background: #fff; border: 1px solid var(--rq-border); border-radius: 999px; color: #405960; font-size: .82rem; font-weight: 700; padding: .45rem .7rem; }
@media(max-width:720px){.rq-destination-copy{grid-template-columns:1fr}.rq-destination-copy p:last-child:nth-child(odd){grid-column:auto}.rq-destination-intro.has-hero .rq-destination-description{margin-top:-1.25rem}}
@media(max-width:900px){.rq-editorial-grid{grid-template-columns:1fr}.rq-editorial-tip{grid-template-columns:1fr}}
.rq-results-explorer .rq-map { margin-top: .8rem; margin-bottom: 1rem; }
.rq-results-explorer .rq-result-count { margin: .5rem 0 1rem; }
.rq-results-explorer { position: relative; }
.rq-results-overview { align-items: stretch; display: grid; gap: 1rem; grid-template-columns: minmax(0, 2fr) minmax(230px, .8fr); margin: .8rem 0 1.35rem; }
.rq-results-map-panel { min-width: 0; position: relative; }
.rq-results-map-panel .rq-map { height: min(390px, 48vh) !important; margin: 0; min-height: 330px; }
.rq-jump-to-list { bottom: 16px; box-shadow: 0 8px 26px rgba(24,50,58,.24); gap: .5rem; left: 16px; position: absolute; z-index: 450; }
.rq-result-regions { background: var(--rq-surface); border: 1px solid var(--rq-border); border-radius: var(--rq-radius); box-shadow: var(--rq-shadow); display: flex; flex-direction: column; max-height: min(390px, 48vh); min-height: 330px; overflow: hidden; padding: 1rem; }
.rq-result-regions h2 { color: var(--rq-ink); font-size: 1.05rem; margin: 0 0 .75rem; }
.rq-result-region-list { display: grid; gap: .35rem; overflow-y: auto; padding-right: .2rem; scrollbar-width: thin; }
.rq-result-region-list a { align-items: center; border: 1px solid transparent; border-radius: 11px; color: var(--rq-ink); display: flex; font-size: .86rem; font-weight: 700; gap: .5rem; justify-content: space-between; line-height: 1.2; padding: .62rem .7rem; text-decoration: none; }
.rq-result-region-list a:hover,
.rq-result-region-list a:focus-visible { background: var(--rq-soft); border-color: var(--rq-border); outline: 0; }
.rq-result-region-list a.is-active { background: var(--rq-primary); color: #fff; }
.rq-result-region-list a > span { align-items: baseline; display: flex; gap: .4rem; }
.rq-result-region-list small { opacity: .72; }
.rq-result-region-list i { font-size: .7rem; opacity: .65; }
.rq-business-list-anchor { scroll-margin-top: 110px; }
.rq-results-explorer.is-loading { min-height: 280px; opacity: .55; pointer-events: none; }
.rq-results-explorer.is-loading::after { animation: rq-spin .75s linear infinite; border: 4px solid rgba(15,107,120,.18); border-radius: 50%; border-top-color: var(--rq-primary); content: ''; height: 44px; left: 50%; position: absolute; top: 110px; transform: translate(-50%,-50%); width: 44px; z-index: 5; }
.rq-load-more-wrap { display:flex; justify-content:center; margin:1.35rem 0 2.5rem; }
.rq-load-more { align-items:center; background:var(--rq-primary); border:1px solid var(--rq-primary); border-radius:999px; box-shadow:0 10px 24px rgba(15,107,120,.18); color:#fff; cursor:pointer; display:inline-flex; font:inherit; font-weight:800; gap:.55rem; justify-content:center; min-height:48px; padding:.72rem 1.35rem; }
.rq-load-more:hover,.rq-load-more:focus-visible { filter:brightness(.92); outline:3px solid color-mix(in srgb,var(--rq-primary) 24%,transparent); outline-offset:3px; }
.rq-load-more:disabled { cursor:wait; opacity:.72; }
.rq-load-more.has-error { background:#fff; color:var(--rq-primary); }
@keyframes rq-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

@media (max-width: 820px) {
  .rq-results-overview { grid-template-columns: 1fr; }
  .rq-result-regions { max-height: 260px; min-height: 0; }
  .rq-results-map-panel .rq-map { height: 330px !important; min-height: 300px; }
}

.rq-card,
.rq-term-card,
.rq-region-card {
  background: var(--rq-surface);
  border-radius: var(--rq-radius);
  box-shadow: 0 7px 24px rgba(24, 50, 58, .06);
  color: var(--rq-ink);
  min-width: 0;
  overflow: hidden;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease;
}
.rq-card:hover,
.rq-term-card:hover,
.rq-region-card:hover { box-shadow: var(--rq-shadow); transform: translateY(-3px); }
.rq-card-image { aspect-ratio: 16 / 10; background: var(--rq-soft); display: block; overflow: hidden; }
.rq-card-image img { height: 100%; object-fit: cover; transition: transform .4s ease; width: 100%; }
.rq-card:hover .rq-card-image img { transform: scale(1.035); }
.rq-card-body { display: flex; flex-direction: column; min-height: 270px; padding: 1.15rem; }
.rq-card h3 { font-size: 1.25rem; line-height: 1.2; margin: 0 0 .55rem; }
.rq-card h3 a { color: var(--rq-ink); text-decoration: none; }
.rq-business-card { border-radius: 12px; display: flex; flex-direction: column; padding: 10px; }
.rq-business-card .rq-card-image { aspect-ratio: 16 / 9; border-radius: 8px; max-height: 220px; }
.rq-business-card .rq-card-body { flex: 1; min-height: 0; padding: .85rem .45rem .45rem; text-align: center; }
.rq-business-card h3 { font-size: 1.12rem; }
.rq-business-card .rq-button { margin-top: auto; }
.rq-location,
.rq-service-count { color: var(--rq-muted); font-size: .9rem; margin: .25rem 0; }
.rq-offering-preview { margin: .8rem 0 .15rem; }
.rq-offering-preview > strong { color: var(--rq-ink); display: block; font-size: .76rem; letter-spacing: .025em; margin-bottom: .45rem; text-transform: uppercase; }
.rq-offering-preview ul { display: flex; flex-wrap: wrap; gap: .38rem; justify-content: center; list-style: none; margin: 0; padding: 0; }
.rq-offering-preview li { background: var(--rq-soft); border: 1px solid var(--rq-border); border-radius: 999px; color: #40565c; font-size: .78rem; line-height: 1.2; padding: .34rem .56rem; }
.rq-description { color: #40565c; font-size: .9rem; line-height: 1.45; margin: .7rem 0; }
.rq-business-card .rq-description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.rq-price { margin: .8rem 0; }
.rq-price small { color: var(--rq-muted); display: block; }
.rq-price strong { color: var(--rq-primary); font-size: 1.2rem; }
.rq-price-fee { color: var(--rq-muted); display: block; font-size: .76rem; line-height: 1.3; margin-top: .22rem; }

.rq-term-card > a,
.rq-region-card { display: flex; flex-direction: column; gap: .35rem; padding: 0 0 1.25rem; }
.rq-term-card a,
.rq-region-card { color: var(--rq-ink); text-decoration: none; }
.rq-term-card > a > strong,
.rq-term-card > a > .rq-term-icon,
.rq-term-card > a > span:not(.rq-term-image),
.rq-region-card > strong,
.rq-region-card > span:not(.rq-term-image) { margin-left: 1.25rem; margin-right: 1.25rem; }
.rq-term-image { aspect-ratio: 16 / 9; background: var(--rq-soft); display: block; margin: 0 0 .8rem !important; overflow: hidden; width: 100%; }
.rq-term-image img { height: 100%; object-fit: cover; transition: transform .4s ease; width: 100%; }
.rq-term-card:hover .rq-term-image img,
.rq-region-card:hover .rq-term-image img { transform: scale(1.035); }
.rq-term-card > a > span,
.rq-region-card span { color: var(--rq-muted); font-size: .88rem; }
.rq-term-card ul { border-top: 1px solid var(--rq-border); list-style: none; margin: 0; padding: .7rem 1.25rem 1rem; }
.rq-term-card li + li { margin-top: .35rem; }

.rq-home-section { margin: clamp(2rem, 6vw, 5rem) auto; max-width: 100%; min-width: 0; }
.rq-home-section > h2,
.rq-home-section-head h2 { color: var(--rq-ink); font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.03em; margin: 0 0 .45rem; }
.rq-home-section-head { margin-bottom: 1.4rem; max-width: 720px; }
.rq-home-section-head p { color: var(--rq-muted); font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.55; margin: 0; }
.rq-home-eyebrow { color: var(--rq-primary); display: block; font-size: .75rem; font-weight: 900; letter-spacing: .12em; margin-bottom: .4rem; text-transform: uppercase; }
.rq-home-taxonomy .rq-category-strip { margin-top: 0; }
.rq-event-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.rq-event-search { background:linear-gradient(135deg,#f4f9f9,#fffaf0); border:1px solid var(--rq-border); border-radius:20px; margin:0 0 1rem; padding:1rem; }
.rq-event-filter-fields { align-items:end; display:grid; gap:.7rem; grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto; }
.rq-event-filter-fields label { color:var(--rq-ink); display:flex; flex-direction:column; font-size:.78rem; font-weight:800; gap:.35rem; min-width:0; }
.rq-event-filter-fields label > span { align-items:center; display:flex; gap:.35rem; }
.rq-event-filter-fields input,.rq-event-filter-fields select { background:#fff; border:1px solid var(--rq-border); border-radius:11px; color:var(--rq-ink); font:inherit; min-height:44px; padding:.55rem .7rem; width:100%; }
.rq-event-submit { border-radius:11px; min-height:44px; white-space:nowrap; }
.rq-event-filters,.rq-event-periods { display:flex; flex-wrap:wrap; gap:.55rem; margin:-.35rem 0 1rem; }
.rq-event-search .rq-event-periods { border-top:1px solid color-mix(in srgb,var(--rq-border) 75%,transparent); margin:.8rem 0 0; padding-top:.75rem; }
.rq-event-search .rq-event-filters { margin:.55rem 0 0; }
.rq-event-filters button,.rq-event-periods button { background:#fff; border:1px solid var(--rq-border); border-radius:999px; color:var(--rq-ink); cursor:pointer; font:inherit; font-size:.84rem; font-weight:800; padding:.58rem .85rem; }
.rq-event-filters button.is-active,.rq-event-filters button:hover,.rq-event-filters button:focus-visible,.rq-event-periods button.is-active,.rq-event-periods button:hover,.rq-event-periods button:focus-visible { background:var(--rq-primary); border-color:var(--rq-primary); color:#fff; }
.rq-events.is-loading { opacity:.62; pointer-events:none; position:relative; }
.rq-events.is-loading::after { animation:rq-spin .75s linear infinite; border:3px solid rgba(15,107,120,.2); border-radius:50%; border-top-color:var(--rq-primary); content:""; height:34px; left:50%; position:absolute; top:120px; width:34px; }
.rq-event-card { background:#fff; border:1px solid var(--rq-border); border-radius:22px; box-shadow:var(--rq-shadow-soft); min-width:0; overflow:hidden; }
.rq-event-card[hidden] { display:none !important; }
.rq-event-card > a { color:var(--rq-ink); display:flex; flex-direction:column; height:100%; text-decoration:none; }
.rq-event-image { aspect-ratio:16/10; background:var(--rq-surface); display:block; overflow:hidden; position:relative; }
.rq-event-image img { height:100%; object-fit:cover; transition:transform .25s ease; width:100%; }
.rq-event-card:hover .rq-event-image img { transform:scale(1.035); }
.rq-event-image time { background:#fff; border-radius:12px; bottom:.75rem; box-shadow:0 8px 24px rgba(10,48,54,.18); color:var(--rq-primary); font-size:.82rem; font-weight:900; left:.75rem; padding:.5rem .65rem; position:absolute; text-transform:uppercase; }
.rq-event-content { display:flex; flex:1; flex-direction:column; gap:.38rem; padding:1rem; }
.rq-event-content > strong { font-size:1.08rem; line-height:1.24; }
.rq-event-kind { align-items:center; color:var(--rq-primary); display:flex; font-size:.74rem; font-weight:800; gap:.4rem; text-transform:uppercase; }
.rq-event-icon { align-items:center; display:inline-flex; justify-content:center; }
.rq-event-business { color:var(--rq-ink); font-size:.88rem; font-weight:700; }
.rq-event-reservation-status { align-items:center; align-self:flex-start; background:color-mix(in srgb,var(--rq-primary) 9%,#fff); border-radius:999px; color:var(--rq-primary); display:inline-flex; font-size:.74rem; font-weight:800; gap:.35rem; margin:.15rem 0; padding:.34rem .58rem; }
.rq-event-reservation-status.is-without { background:#f3f4f4; color:var(--rq-muted); }
.rq-event-dialog-content > .rq-event-reservation-status { margin:.15rem 0 .7rem; }
.rq-event-location,.rq-event-recurrence { color:var(--rq-muted); font-size:.8rem; }
.rq-event-recurrence { color:var(--rq-primary); font-weight:700; margin-top:auto; padding-top:.45rem; }
.rq-event-dialog { background:transparent; border:0; max-height:min(90vh,760px); max-width:min(760px,calc(100vw - 24px)); padding:0; width:100%; }
.rq-event-dialog::backdrop { background:rgba(7,31,35,.7); backdrop-filter:blur(4px); }
.rq-event-dialog-shell { background:#fff; border-radius:24px; box-shadow:0 30px 90px rgba(0,0,0,.35); overflow:hidden; position:relative; }
.rq-event-dialog-close { align-items:center; background:#fff; border:0; border-radius:999px; box-shadow:0 5px 18px rgba(0,0,0,.22); color:var(--rq-ink); cursor:pointer; display:flex; height:42px; justify-content:center; position:absolute; right:1rem; top:1rem; width:42px; z-index:2; }
.rq-event-dialog-image { aspect-ratio:16/7; display:block; object-fit:cover; width:100%; }
.rq-event-dialog-content { padding:clamp(1.15rem,4vw,2rem); }
.rq-event-dialog-content h3 { color:var(--rq-ink); font-size:clamp(1.45rem,4vw,2.25rem); line-height:1.08; margin:.2rem 0 .55rem; }
.rq-event-dialog-host { color:var(--rq-muted); margin:.2rem 0 1rem; }
.rq-event-dialog-description { color:var(--rq-ink); line-height:1.6; }
.rq-event-dates { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.1rem 0; }
.rq-event-date { background:var(--rq-surface); border:1px solid var(--rq-border); border-radius:12px; color:var(--rq-ink); display:flex; flex-direction:column; font-size:.86rem; font-weight:800; min-width:105px; padding:.65rem .8rem; text-decoration:none; }
.rq-event-date small { color:var(--rq-muted); font-weight:600; }
@media (max-width:980px) { .rq-event-filter-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .rq-event-submit { width:100%; } }
@media (max-width:560px) { .rq-event-filter-fields { grid-template-columns:1fr; } }
.rq-event-date.is-next { background:color-mix(in srgb,var(--rq-primary) 10%,#fff); border-color:var(--rq-primary); color:var(--rq-primary); }
.rq-event-primary { display:inline-flex; gap:.55rem; }
.rq-layout-home .rq-term-card { border-radius: 22px; }
.rq-layout-home .rq-term-card > a { height: 100%; padding: 0; }
.rq-layout-home .rq-term-image { aspect-ratio: 16 / 9; margin: 0 !important; }
.rq-layout-home .rq-term-card-content { border: 0; display: flex; flex: 1; flex-direction: column; margin: 0 !important; min-width: 0; padding: 1rem 1.05rem 1.1rem; }
.rq-layout-home .rq-term-title { align-items: center; color: var(--rq-ink); display: flex; gap: .7rem; min-width: 0; }
.rq-layout-home .rq-term-title strong { font-size: 1.08rem; line-height: 1.2; overflow-wrap: anywhere; }
.rq-layout-home .rq-term-icon { background: linear-gradient(145deg, var(--rq-primary), #164a53); color: #fff; height: 38px; width: 38px; }
.rq-layout-home .rq-term-description { color: #536a70; display: -webkit-box; font-size: .88rem; line-height: 1.45; margin-top: .8rem; min-height: 2.55em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.rq-layout-home .rq-term-meta { align-items: center; border-top: 1px solid var(--rq-border); color: var(--rq-muted); display: flex; font-size: .8rem; justify-content: space-between; margin-top: auto; padding-top: .8rem; }
.rq-layout-home .rq-term-meta i { color: var(--rq-primary); transition: transform .18s ease; }
.rq-layout-home .rq-term-card:hover .rq-term-meta i { transform: translateX(4px); }
.rq-gift-section { border-radius: 26px; overflow: hidden; }
.rq-gift-banner { background: linear-gradient(135deg, #f8f2df, #edf7f6); border: 1px solid var(--rq-border); border-radius: 26px; color: var(--rq-ink); display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); min-height: 300px; overflow: hidden; text-decoration: none !important; }
.rq-gift-image { min-height: 300px; overflow: hidden; }
.rq-gift-image img { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.rq-gift-banner:hover .rq-gift-image img { transform: scale(1.035); }
.rq-gift-content { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 4vw, 3.5rem); }
.rq-gift-title { align-items: center; display: flex; gap: .8rem; }
.rq-gift-title strong { font-size: clamp(1.7rem, 3.2vw, 2.7rem); letter-spacing: -.03em; line-height: 1.05; }
.rq-gift-icon { background: var(--rq-primary); color: #fff; height: 46px; width: 46px; }
.rq-gift-description { color: #40565c; font-size: 1rem; line-height: 1.55; margin-top: 1rem; max-width: 640px; }
.rq-gift-action { align-items: center; background: var(--rq-primary); border-radius: 999px; color: #fff; display: inline-flex; font-size: .9rem; font-weight: 800; gap: .7rem; margin-top: 1.3rem; min-height: 44px; padding: .65rem 1.05rem; }
.rq-gift-action i { transition: transform .18s ease; }
.rq-gift-banner:hover .rq-gift-action i { transform: translateX(4px); }
.rq-discover { margin: clamp(2rem, 6vw, 5rem) auto; overflow: hidden; }
.rq-discover-head { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.25rem; }
.rq-discover-head h2 { color: var(--rq-ink); font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.03em; margin: 0; }
.rq-carousel-controls { display: flex; gap: .55rem; }
.rq-carousel-controls button { align-items: center; background: var(--rq-surface); border: 1px solid var(--rq-border); border-radius: 999px; color: var(--rq-ink); cursor: pointer; display: inline-flex; font-size: 1.8rem; height: 46px; justify-content: center; line-height: 1; padding: 0 0 .15rem; width: 46px; }
.rq-carousel-controls button:hover,
.rq-carousel-controls button:focus-visible { background: var(--rq-primary); color: #fff; outline: 0; }
.rq-discover-track { display: grid; gap: 1.25rem; grid-auto-columns: minmax(280px, calc((100% - 2.5rem) / 3)); grid-auto-flow: column; overflow-x: auto; overscroll-behavior-inline: contain; padding: .2rem .15rem 1rem; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.rq-discover-track::-webkit-scrollbar { display: none; }
.rq-discover-slide { border-radius: clamp(16px, 2vw, 24px); box-shadow: var(--rq-shadow); min-width: 0; overflow: hidden; scroll-snap-align: start; }
.rq-discover-slide > a { aspect-ratio: 16 / 10; color: #fff; display: block; overflow: hidden; position: relative; text-decoration: none; }
.rq-discover-slide img { height: 100%; object-fit: cover; transition: transform .55s ease; width: 100%; }
.rq-discover-slide:hover img,
.rq-discover-slide:focus-within img { transform: scale(1.045); }
.rq-discover-overlay { background: linear-gradient(transparent, rgba(7, 31, 35, .9)); bottom: 0; display: flex; flex-direction: column; left: 0; padding: 3.5rem 1.25rem 1.2rem; position: absolute; right: 0; }
.rq-discover-overlay strong { font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.15; }
.rq-discover-overlay span { font-size: .92rem; margin-top: .3rem; opacity: .88; }
.rq-discover-overlay em { color: #fff; font-size: .82rem; font-style: normal; font-weight: 700; margin-top: .75rem; text-decoration: underline; text-underline-offset: 3px; }
.rq-breadcrumbs { align-items: center; color: var(--rq-muted); display: flex; flex-wrap: wrap; font-size: .9rem; gap: .55rem; margin: 1rem 0 1.5rem; }
.rq-breadcrumbs a { color: var(--rq-primary); text-decoration: none; }
.rq-result-count { color: var(--rq-muted); font-weight: 700; }
.rq-empty,
.rq-error,
.rq-map-empty { background: var(--rq-soft); border-radius: 14px; color: var(--rq-ink); margin: 1rem 0; padding: 1.2rem; }
.rq-error { background: #fff0ee; color: #932b1f; }

.rq-location-field { align-items:center; display:flex; flex-wrap:wrap;}
.rq-location-button { background:#fff; border:1px solid var(--rq-primary); border-radius:999px; color:var(--rq-primary); cursor:pointer; font-weight:800; min-height:44px; padding:.65rem 1rem; }
.rq-location-button.is-active { background:var(--rq-soft); box-shadow:inset 0 0 0 1px var(--rq-primary); }
.rq-location-button.is-loading { opacity:.7; }
.rq-location-status { color:var(--rq-muted); flex-basis:100%; font-size:.82rem; line-height:1.25; }
.rq-distance { color:var(--rq-primary); font-size:.88rem; font-weight:800; margin:.35rem 0; }

.rq-public-aria { --rq-aria-primary:var(--rq-primary,#087d88); --rq-aria-deep:#07545d; --rq-aria-ink:#16343c; --rq-aria-muted:#61777d; --rq-aria-line:#d8e7e9; bottom:16px; font-family:inherit; pointer-events:none; position:fixed; right:16px; transition:bottom .2s ease; z-index:999998; }
/* La webview conserve sa barre de panier fixe. Sur une fiche portail, Aria se
   place juste au-dessus et partage son niveau d'empilement; comme elle est
   rendue plus tard dans le DOM, son lanceur demeure cliquable sans recouvrir
   les fenêtres de service RéservPro, qui utilisent le niveau suivant. */
body.rq-commerce-portal .rq-public-aria { bottom:8px; z-index:99991114; }
body.rq-commerce-portal .rq-public-aria.is-open { bottom:104px; }
body.rq-commerce-portal .rq-aria-panel { height:min(700px,calc(100vh - 124px)); }
body.rq-commerce-portal .rq-public-aria.is-expanded .rq-aria-panel { height:min(840px,calc(100vh - 124px)); }
.rq-global-cart { --rq-aria-primary:var(--rq-primary,#087d88); --rq-aria-deep:#07545d; --rq-aria-ink:#16343c; --rq-aria-muted:#61777d; --rq-aria-line:#d8e7e9; display:inline-flex; font-family:inherit; position:relative; vertical-align:middle; z-index:100030; }
.rq-global-cart-button { align-items:center; background:#fff; border:2px solid var(--rq-aria-primary); border-radius:999px; box-shadow:0 7px 20px rgba(9,52,60,.14); color:var(--rq-aria-deep); cursor:pointer; display:flex; font:inherit; font-weight:800; gap:8px; min-height:48px; padding:7px 12px; position:relative; transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease; white-space:nowrap; z-index:3; }
.rq-global-cart-button > i { align-items:center; display:inline-flex; font-size:1rem; justify-content:center; min-width:18px; }
.rq-global-cart-button strong { align-items:center; background:#df3434; border:2px solid #fff; border-radius:999px; color:#fff; display:flex; font-size:.72rem; height:24px; justify-content:center; min-width:24px; padding:0 5px; }
.rq-global-cart-button.is-empty strong { background:#789095; }.rq-global-cart-button.is-empty .rq-global-cart-label { display:none; }
.rq-global-cart-panel { background:#fff; border:1px solid var(--rq-aria-line); border-radius:24px; box-shadow:0 24px 65px rgba(9,52,60,.25); display:flex; flex-direction:column; max-height:calc(100dvh - var(--rq-cart-panel-top,78px) - 12px); opacity:0; overflow:hidden; pointer-events:none; position:fixed; right:var(--rq-cart-panel-right,16px); top:var(--rq-cart-panel-top,78px); transform:translateY(-10px) scale(.97); transform-origin:top right; transition:opacity .18s ease,transform .18s ease; visibility:hidden; width:min(460px,calc(100vw - 28px)); z-index:100031; }
.rq-global-cart.is-cart-open .rq-global-cart-panel { opacity:1; pointer-events:auto; transform:none; visibility:visible; }.rq-global-cart.is-cart-open .rq-global-cart-button { background:linear-gradient(135deg,var(--rq-aria-deep),var(--rq-aria-primary)); box-shadow:0 13px 32px rgba(9,52,60,.3); color:#fff; transform:translateY(-1px); }.rq-global-cart.is-loading .rq-global-cart-button { cursor:progress; }
.rq-global-cart-panel > header { align-items:center; background:linear-gradient(128deg,var(--rq-aria-deep),var(--rq-aria-primary)); color:#fff; display:flex; justify-content:space-between; padding:18px 20px; }.rq-global-cart-panel > header div { display:flex; flex-direction:column; }.rq-global-cart-panel > header strong { color:#fff; font-size:1.15rem; }.rq-global-cart-panel > header small { color:rgba(255,255,255,.8); margin-top:3px; }.rq-global-cart-panel > header button { background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); border-radius:12px; color:#fff; cursor:pointer; font:inherit; font-size:1.5rem; height:42px; width:42px; }
.rq-global-cart-content { min-height:100px; overflow:auto; padding:16px; }.rq-global-cart-content > p { color:var(--rq-aria-muted); margin:1.5rem 0; text-align:center; }
.rq-global-cart-group { border:1px solid var(--rq-aria-line); border-radius:17px; margin-bottom:12px; overflow:hidden; }.rq-global-cart-group > header { align-items:center; background:#eff7f7; display:flex; justify-content:space-between; padding:11px 13px; }.rq-global-cart-group > header strong { color:var(--rq-aria-ink); }.rq-global-cart-group > header span { color:var(--rq-aria-primary); font-size:.86rem; font-weight:800; }
.rq-global-cart-items { list-style:none; margin:0!important; padding:4px 13px!important; }.rq-global-cart-items li { border-bottom:1px solid #edf3f4; padding:10px 0; }.rq-global-cart-items li:last-child { border-bottom:0; }.rq-global-cart-items strong,.rq-global-cart-items small { display:block; }.rq-global-cart-items strong { color:var(--rq-aria-ink); font-size:.9rem; }.rq-global-cart-items small { color:var(--rq-aria-muted); font-size:.76rem; margin-top:3px; }
.rq-global-cart-checkout { background:var(--rq-aria-primary); border-radius:999px; color:#fff!important; display:block; font-size:.84rem; font-weight:800; margin:8px 12px 13px; padding:10px 13px; text-align:center; text-decoration:none!important; }
.rq-global-cart-panel > footer { align-items:center; background:#f5f9f9; border-top:1px solid var(--rq-aria-line); display:flex; justify-content:space-between; padding:14px 18px; }.rq-global-cart-panel > footer span { color:var(--rq-aria-muted); }.rq-global-cart-panel > footer strong { color:var(--rq-aria-primary); font-size:1.1rem; }
.rq-aria-launcher { align-items:center; background:linear-gradient(135deg,var(--rq-aria-deep),var(--rq-aria-primary)); border:4px solid #fff; border-radius:999px; box-shadow:0 12px 32px rgba(9,52,60,.28); color:#fff; cursor:pointer; display:flex; font:inherit; font-weight:800; gap:8px; height:72px; justify-content:center; margin-left:auto; min-width:72px; overflow:hidden; padding:0 18px; pointer-events:auto; transition:gap .22s ease,height .22s ease,min-width .22s ease,padding .22s ease,width .22s ease; white-space:nowrap; }
.rq-aria-mark { align-items:center; background:#fff; border-radius:14px; color:var(--rq-aria-primary); display:inline-flex; flex:0 0 44px; font-size:25px; height:44px; justify-content:center; transform:rotate(45deg); width:44px; }
.rq-aria-mark::first-letter { transform:rotate(-45deg); }
.rq-aria-launcher-label { font-size:1.05rem; max-width:190px; opacity:1; overflow:hidden; transition:max-width .22s ease,opacity .16s ease; white-space:nowrap; }
.rq-public-aria.is-compact .rq-aria-launcher { gap:0; height:60px; min-width:60px; padding:0; width:60px; }
.rq-public-aria.is-compact .rq-aria-launcher-label { max-width:0; opacity:0; }
.rq-public-aria.is-compact .rq-aria-launcher .rq-aria-mark { flex-basis:44px; }
.rq-aria-panel { background:linear-gradient(180deg,#f9fcfc,#eef6f6); border:1px solid rgba(8,84,93,.16); border-radius:28px; bottom:0; box-shadow:0 28px 75px rgba(9,52,60,.26),0 8px 25px rgba(9,52,60,.12); display:flex; flex-direction:column; height:min(700px,calc(100vh - 32px)); opacity:0; overflow:hidden; pointer-events:none; position:absolute; right:0; transform:translateY(18px) scale(.97); transform-origin:bottom right; transition:opacity .18s ease,transform .18s ease,width .2s ease,height .2s ease; visibility:hidden; width:min(550px,calc(100vw - 28px)); }
.rq-public-aria.is-open .rq-aria-launcher { opacity:0; pointer-events:none; visibility:hidden; }
.rq-public-aria.is-open .rq-aria-panel { opacity:1; pointer-events:auto; transform:none; visibility:visible; }
.rq-public-aria.is-expanded .rq-aria-panel { height:min(840px,calc(100vh - 32px)); width:min(940px,calc(100vw - 32px)); }
.rq-aria-header { align-items:center; background:linear-gradient(128deg,#123c45 0%,var(--rq-aria-deep) 52%,var(--rq-aria-primary) 100%); color:#fff; display:flex; flex:0 0 88px; gap:14px; overflow:hidden; padding:14px 16px; position:relative; }
.rq-aria-header::after { background:rgba(255,255,255,.08); border:18px solid rgba(255,255,255,.055); border-radius:50%; content:""; height:138px; pointer-events:none; position:absolute; right:-35px; top:-72px; width:138px; }
.rq-aria-brand { display:flex; flex-direction:column; line-height:1.15; min-width:0; position:relative; z-index:1; }
.rq-aria-brand strong { color:#fff; font-size:1.2rem; }
.rq-aria-brand small { color:rgba(255,255,255,.84); font-size:.75rem; margin-top:5px; white-space:nowrap; }
.rq-aria-header-actions { display:flex; gap:7px; margin-left:auto; position:relative; z-index:2; }
.rq-aria-header-actions button { align-items:center; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); border-radius:13px; color:#fff; cursor:pointer; display:flex; font:inherit; font-size:1.15rem; height:43px; justify-content:center; padding:0; width:43px; }
.rq-aria-header-actions button:hover { background:rgba(255,255,255,.23); }
.rq-aria-messages { flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; padding:20px; scroll-behavior:smooth; }
.rq-aria-messages.is-revealing { overflow-anchor:none; scroll-behavior:auto; }
.rq-aria-reveal-space { clear:both; display:block; pointer-events:none; width:100%; }
.rq-aria-message { border:1px solid var(--rq-aria-line); box-shadow:0 5px 14px rgba(23,65,72,.06); clear:both; font-size:.94rem; line-height:1.48; margin:0 0 14px; max-width:88%; padding:13px 15px; white-space:pre-line; }
.rq-aria-message p { margin:.25rem 0 0; }
.rq-aria-message-content > h3,.rq-aria-message-content > h4 { color:var(--rq-aria-ink); line-height:1.2; margin:0 0 .55rem; }
.rq-aria-message-content > h3 { font-size:1.12rem; }.rq-aria-message-content > h4 { font-size:1rem; }
.rq-aria-message-content > p { color:#34535a; margin:0 0 .68rem; }
.rq-aria-message-content > p:last-child { margin-bottom:0; }
.rq-aria-message-content > ul,.rq-aria-message-content > ol { display:grid; gap:6px; margin:.45rem 0 .7rem; padding-left:1.25rem; }
.rq-aria-message-content > ul:last-child,.rq-aria-message-content > ol:last-child { margin-bottom:0; }
.rq-aria-message-content li::marker { color:var(--rq-aria-primary); font-weight:800; }
.rq-aria-message-content strong { color:var(--rq-aria-ink); font-weight:850; }
.rq-aria-fact { background:#fff2c9; border:1px solid #f0d78c; border-radius:7px; color:#674d00; display:inline-block; font-weight:850; line-height:1.25; margin:0 2px; padding:1px 5px; }
.rq-aria-section { display:grid; gap:8px; margin:.45rem 0 .75rem; }
.rq-aria-lead { color:var(--rq-aria-ink); font-size:1.02rem; line-height:1.5; margin-bottom:.7rem; }
.rq-aria-grid { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:.55rem 0 .75rem; }
.rq-aria-stat { background:#f1f8f8; border:1px solid #d7e8e9; border-radius:13px; display:flex; flex-direction:column; gap:3px; min-width:0; padding:10px 11px; }
.rq-aria-label { color:var(--rq-aria-muted); font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.rq-aria-value { color:var(--rq-aria-primary); font-size:1rem; font-weight:900; }
.rq-aria-note { background:#fff8e7; border-left:3px solid var(--rq-accent,#edae24); border-radius:4px 12px 12px 4px; color:#5a4a23; margin:.55rem 0; padding:9px 11px; }
.rq-aria-muted { color:var(--rq-aria-muted); font-size:.82rem; }
.aria-ui-card { background:#f8fbfb; border:1px solid #d8e7e8; border-radius:16px; display:grid; gap:8px; margin:.55rem 0; padding:12px 13px; }
.aria-ui-card--accent { background:linear-gradient(145deg,#eef9f9,#fff9e9); border-color:#bddadd; }
.aria-ui-card--compact { padding:9px 11px; }
.aria-ui-grid { display:grid; gap:9px; margin:.55rem 0; }
.aria-ui-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.aria-ui-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.aria-ui-callout { background:#f1f8f8; border-left:3px solid var(--rq-aria-primary); border-radius:5px 13px 13px 5px; color:#31535a; margin:.55rem 0; padding:10px 12px; }
.aria-ui-callout--success { background:#effaf3; border-left-color:#2d9d5b; }.aria-ui-callout--warning { background:#fff8e7; border-left-color:#e7a80d; }.aria-ui-callout--danger { background:#fff1f1; border-left-color:#d95454; }
.aria-ui-option { background:#fff; border:1px solid #d6e5e6; border-radius:14px; display:grid; gap:5px; padding:10px 11px; }
.aria-ui-option--recommended { border-color:var(--rq-aria-primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--rq-aria-primary) 11%,transparent); }
.aria-ui-feature-list,.aria-ui-steps { display:grid; gap:7px; margin:.55rem 0; }
.aria-ui-feature,.aria-ui-step { align-items:flex-start; display:grid; gap:8px; grid-template-columns:auto minmax(0,1fr); }
.aria-ui-feature-marker,.aria-ui-step-number { align-items:center; background:#eaf5f5; border-radius:999px; color:var(--rq-aria-primary); display:flex; flex:0 0 26px; font-size:.72rem; font-weight:900; height:26px; justify-content:center; width:26px; }
.aria-ui-feature-copy { min-width:0; }
.aria-ui-stats { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:.55rem 0; }
.aria-ui-stat { background:#f1f8f8; border:1px solid #d7e8e9; border-radius:13px; display:grid; gap:2px; padding:9px 10px; }
.aria-ui-eyebrow,.aria-ui-label,.aria-ui-summary-label { color:var(--rq-aria-primary); font-size:.69rem; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }
.aria-ui-lead { color:var(--rq-aria-ink); font-size:1rem; line-height:1.48; }.aria-ui-muted { color:var(--rq-aria-muted); font-size:.8rem; }
.aria-ui-summary { border-top:1px solid #dbe8e9; display:grid; gap:6px; margin-top:6px; padding-top:8px; }
.aria-ui-summary-row { align-items:baseline; display:flex; gap:10px; justify-content:space-between; }.aria-ui-summary-value,.aria-ui-value { color:var(--rq-aria-ink); font-weight:850; }
.aria-ui-note { color:#4d6369; font-size:.8rem; line-height:1.4; }.aria-ui-highlight { background:#fff1bb; border-radius:5px; color:#5e4800; font-weight:850; padding:1px 4px; }
.aria-ui-badge { background:#e9f5f5; border:1px solid #c9e1e2; border-radius:999px; color:var(--rq-aria-primary); display:inline-flex; font-size:.7rem; font-weight:850; margin:2px 3px 2px 0; padding:4px 8px; }
.aria-ui-badge--success { background:#eaf8ef; border-color:#b9dfc8; color:#257847; }.aria-ui-badge--warning { background:#fff6dc; border-color:#ecd696; color:#805e00; }
.aria-ui-price { align-items:baseline; color:var(--rq-aria-primary); display:flex; flex-wrap:wrap; gap:5px; }.aria-ui-price-amount { font-size:1.18rem; font-weight:950; }.aria-ui-price-period { color:var(--rq-aria-muted); font-size:.74rem; }
.rq-aria-message-assistant { background:#fff; border-radius:6px 19px 19px 19px; color:var(--rq-aria-ink); float:left; }
.rq-aria-message-user { background:linear-gradient(135deg,var(--rq-aria-deep),var(--rq-aria-primary)); border-color:transparent; border-radius:19px 6px 19px 19px; color:#fff; float:right; }
.rq-aria-message-error { background:#fff1f1; border-color:#efc8c8; border-radius:14px; color:#8e2929; float:left; }
.rq-aria-welcome { align-items:flex-start; display:flex; gap:10px; max-width:100%; }
.rq-aria-welcome > span { background:#fff6df; border:1px solid #f1d99f; border-radius:11px; display:grid; flex:0 0 38px; font-size:1.25rem; height:38px; place-items:center; }
.rq-aria-thinking { align-items:center; color:var(--rq-aria-muted); display:flex; gap:5px; }
.rq-aria-thinking i { animation:rq-aria-pulse 1s infinite alternate; background:var(--rq-aria-primary); border-radius:50%; height:7px; width:7px; }
.rq-aria-thinking i:nth-child(2) { animation-delay:.15s; }.rq-aria-thinking i:nth-child(3) { animation-delay:.3s; }.rq-aria-thinking span { font-size:.82rem; font-style:normal; font-weight:750; margin-left:5px; }
@keyframes rq-aria-pulse { from { opacity:.25; transform:translateY(2px); } to { opacity:1; transform:translateY(-2px); } }
.rq-aria-reveal-cursor { animation:rq-aria-cursor .72s ease-in-out infinite; background:var(--rq-aria-primary); border-radius:999px; display:inline-block; height:1.05em; margin-left:3px; opacity:.72; vertical-align:-.15em; width:2px; }
.rq-aria-reveal-item { animation:rq-aria-rise-in .34s cubic-bezier(.2,.75,.3,1) both; animation-delay:var(--rq-aria-reveal-delay,0ms); }
@keyframes rq-aria-cursor { 0%,100% { opacity:.25; } 50% { opacity:.9; } }
@keyframes rq-aria-rise-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.rq-aria-business-cards { clear:both; display:grid; gap:12px; margin-top:14px; white-space:normal; }
.rq-aria-business-card { background:#f9fcfc; border:1px solid #d9e8e9; border-radius:17px; display:grid; grid-template-columns:118px minmax(0,1fr); overflow:hidden; }
.rq-aria-business-image { display:block; height:100%; min-height:150px; object-fit:cover; width:118px; }
.rq-aria-business-content { min-width:0; padding:12px 13px; }
.rq-aria-business-content > strong { color:var(--rq-aria-ink); display:block; font-size:1rem; line-height:1.25; }
.rq-aria-business-meta { color:var(--rq-aria-muted); font-size:.78rem; margin:.2rem 0 .45rem!important; }
.rq-aria-business-summary { color:#405b62; display:-webkit-box; font-size:.82rem; line-height:1.4; margin:.4rem 0!important; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.rq-aria-business-price { color:var(--rq-aria-primary); font-size:.85rem; font-weight:800; margin:.4rem 0!important; }
.rq-aria-business-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:9px; }
.rq-aria-business-actions a,.rq-aria-business-actions button { align-items:center; border-radius:999px; cursor:pointer; display:inline-flex; font:inherit; font-size:.76rem; font-weight:800; justify-content:center; min-height:36px; padding:7px 11px; text-decoration:none; }
.rq-aria-business-link { background:#fff; border:1px solid #b8d4d7; color:var(--rq-aria-primary); }
.rq-aria-business-availability { background:var(--rq-aria-primary); border:1px solid var(--rq-aria-primary); color:#fff; }
.rq-aria-location-cards { clear:both; display:grid; gap:12px; margin-top:14px; white-space:normal; }
.rq-aria-location-card { background:#fff; border:1px solid #d5e6e7; border-radius:19px; box-shadow:0 10px 24px rgba(20,64,72,.08); overflow:hidden; }
.rq-aria-location-media { background:#eaf4f4; min-height:170px; position:relative; }
.rq-aria-location-image { display:block; height:180px; object-fit:cover; width:100%; }
.rq-aria-location-placeholder { align-items:center; color:var(--rq-aria-primary); display:flex; font-size:2.5rem; height:180px; justify-content:center; }
.rq-aria-location-availability { background:#eaf8ef; border:1px solid rgba(37,120,71,.2); border-radius:999px; bottom:10px; color:#257847; font-size:.69rem; font-weight:900; left:10px; padding:5px 9px; position:absolute; }
.rq-aria-location-content { min-width:0; padding:13px 14px 14px; }
.rq-aria-location-eyebrow { color:var(--rq-aria-primary); display:block; font-size:.66rem; font-weight:900; letter-spacing:.07em; margin-bottom:3px; text-transform:uppercase; }
.rq-aria-location-content > strong { color:var(--rq-aria-ink); display:block; font-size:1.02rem; line-height:1.25; }
.rq-aria-location-business { color:var(--rq-aria-muted); font-size:.78rem; margin:.2rem 0 .45rem!important; }
.rq-aria-location-summary { color:#405b62; display:-webkit-box; font-size:.81rem; line-height:1.42; margin:.4rem 0!important; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.rq-aria-location-badges { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.rq-aria-location-badges span { background:#edf6f6; border:1px solid #d1e5e6; border-radius:999px; color:#31575e; font-size:.68rem; font-weight:800; padding:4px 7px; }
.rq-aria-location-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.rq-aria-location-actions a,.rq-aria-location-actions button { align-items:center; border-radius:999px; cursor:pointer; display:inline-flex; font:inherit; font-size:.74rem; font-weight:850; justify-content:center; min-height:38px; padding:7px 11px; text-decoration:none; }
.rq-aria-location-link { background:#fff; border:1px solid #b8d4d7; color:var(--rq-aria-primary); }
.rq-aria-location-check { background:var(--rq-aria-primary); border:1px solid var(--rq-aria-primary); color:#fff; }
.rq-aria-widget { background:linear-gradient(145deg,#fff,#f5fafa); border:1px solid #cfe2e4; border-radius:17px; clear:both; display:block; margin-top:13px; padding:13px; white-space:normal; }
.rq-aria-widget.has-error { border-color:#d95454; box-shadow:0 0 0 3px rgba(217,84,84,.1); }
.rq-aria-widget.is-sending { opacity:.72; pointer-events:none; }
.rq-aria-widget-header { align-items:center; display:flex; gap:10px; margin-bottom:11px; }
.rq-aria-widget-icon { align-items:center; background:#fff4d9; border:1px solid #efd99c; border-radius:11px; display:flex; flex:0 0 38px; font-size:1.1rem; height:38px; justify-content:center; }
.rq-aria-widget-header strong,.rq-aria-widget-header small { display:block; }
.rq-aria-widget-header strong { color:var(--rq-aria-ink); font-size:.92rem; line-height:1.25; }
.rq-aria-widget-header small { color:var(--rq-aria-muted); font-size:.73rem; line-height:1.3; margin-top:2px; }
.rq-aria-widget-fields { align-items:end; display:grid; gap:9px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rq-aria-widget-field { color:var(--rq-aria-ink); display:grid; font-size:.73rem; font-weight:800; gap:5px; min-width:0; }
.rq-aria-widget-field > input,.rq-aria-widget-field > select { appearance:none; background:#fff; border:1px solid #bad4d7; border-radius:11px; box-sizing:border-box; color:var(--rq-aria-ink); font:inherit; font-size:.82rem; height:42px; min-width:0; padding:0 11px; width:100%; }
.rq-aria-widget-field > select { background-image:linear-gradient(45deg,transparent 50%,var(--rq-aria-primary) 50%),linear-gradient(135deg,var(--rq-aria-primary) 50%,transparent 50%); background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px; background-repeat:no-repeat; background-size:5px 5px,5px 5px; padding-right:28px; }
.rq-aria-widget-submit { align-items:center; background:var(--rq-aria-primary); border:1px solid var(--rq-aria-primary); border-radius:999px; color:#fff; cursor:pointer; display:flex; font:inherit; font-size:.78rem; font-weight:850; justify-content:center; min-height:42px; padding:8px 13px; }
.rq-aria-person-field { gap:6px; }
.rq-aria-person-label { color:var(--rq-aria-ink); }
.rq-aria-person-stepper { align-items:center; background:#fff; border:1px solid #bad4d7; border-radius:999px; display:grid; grid-template-columns:36px minmax(34px,1fr) 36px; height:42px; overflow:hidden; }
.rq-aria-person-stepper button { background:#edf7f7; border:0; color:var(--rq-aria-primary); cursor:pointer; font:inherit; font-size:1.2rem; font-weight:900; height:100%; padding:0; }
.rq-aria-person-stepper input { appearance:textfield; background:#fff; border:0; color:var(--rq-aria-ink); font:inherit; font-size:.88rem; font-weight:900; height:100%; min-width:0; padding:0; text-align:center; width:100%; }
.rq-aria-person-stepper input::-webkit-inner-spin-button,.rq-aria-person-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.rq-aria-quick-actions { clear:both; display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; white-space:normal; }
.rq-aria-quick-actions button { background:#fff; border:1px solid #b8d4d7; border-radius:999px; color:var(--rq-aria-primary); cursor:pointer; font:inherit; font-size:.78rem; font-weight:750; min-height:36px; padding:7px 12px; }
.rq-aria-composer-wrap { background:#fff; border-top:1px solid var(--rq-aria-line); flex:0 0 96px; padding:2px 8px 18px; position:relative; }
.rq-aria-composer { background:transparent; border:0; display:block; height:76px; width:100%; }
.rq-aria-recaptcha-notice { bottom:3px; color:#718287; font-size:8px; left:8px; line-height:1.1; position:absolute; right:8px; text-align:center; }.rq-aria-recaptcha-notice a { color:inherit; }
@media (min-width:720px) { .rq-public-aria.is-expanded .rq-aria-business-cards,.rq-public-aria.is-expanded .rq-aria-location-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.rq-public-aria.is-expanded .rq-aria-message-assistant { max-width:94%; } }
@media (max-width:600px) { .rq-public-aria { bottom:10px; right:10px; }body.rq-commerce-portal .rq-public-aria { bottom:140px; }.rq-aria-launcher-label,.rq-global-cart-label { display:none; }.rq-global-cart-panel { border-radius:22px; max-height:calc(100dvh - var(--rq-cart-panel-top,78px) - 10px); right:10px; width:calc(100vw - 20px); }.rq-aria-panel,.rq-public-aria.is-expanded .rq-aria-panel { border:0; border-radius:0; bottom:-10px; height:100dvh; max-height:none; right:-10px; width:100vw; }body.rq-commerce-portal .rq-aria-panel,body.rq-commerce-portal .rq-public-aria.is-expanded .rq-aria-panel { height:calc(100dvh - 130px); }.rq-aria-header { flex-basis:78px; }.rq-aria-header-actions [data-rq-aria-expand] { display:none; }.rq-aria-messages { padding:14px 12px; }.rq-aria-message { max-width:94%; }.rq-aria-widget-fields { grid-template-columns:1fr; }.rq-aria-widget-personnes .rq-aria-widget-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }.rq-aria-widget-personnes .rq-aria-widget-submit { grid-column:1/-1; }.rq-aria-business-card { grid-template-columns:96px minmax(0,1fr); }.rq-aria-business-image { min-height:145px; width:96px; } }
@media (max-width:600px) { .aria-ui-grid--2,.aria-ui-grid--3,.aria-ui-stats { grid-template-columns:1fr; }.rq-aria-location-image,.rq-aria-location-placeholder { height:155px; }.rq-aria-location-media { min-height:145px; } }
@media (max-width:600px) {
  .rq-public-aria { max-width:calc(100vw - 20px); }
  .rq-public-aria .rq-aria-launcher {
    box-sizing:border-box;
    gap:0;
    height:62px !important;
    min-width:62px !important;
    overflow:hidden;
    padding:0 !important;
    transition:width .2s ease,padding .2s ease,transform .18s ease;
    width:62px !important;
  }
  .rq-public-aria .rq-aria-launcher-label,
  .rq-public-aria .rq-aria-launcher-label::after { content:none !important; display:none !important; }
  .rq-public-aria .rq-aria-launcher .rq-aria-mark { flex:0 0 46px; height:46px; width:46px; }
  .rq-aria-panel,.rq-public-aria.is-expanded .rq-aria-panel { box-sizing:border-box; max-width:100vw; }
  .rq-aria-header { box-sizing:border-box; gap:8px; max-width:100%; min-width:0; padding:12px 10px; }
  .rq-aria-header > .rq-aria-mark { flex:0 0 44px; height:44px; margin:0; max-width:44px; width:44px; }
  .rq-aria-brand { flex:1 1 auto; overflow:hidden; }
  .rq-aria-brand small { overflow:hidden; text-overflow:ellipsis; }
  .rq-aria-header-actions { flex:0 0 auto; gap:4px; }
  .rq-aria-header-actions button { height:40px; width:40px; }
}

/* Navigation mobile : les méga-menus deviennent des accordéons compacts. */
@media (max-width:767px) {
  .site-header .site-navigation-dropdown .rq-auto-menu > .rq-submenu {
    border:0 !important;
    border-radius:12px !important;
    box-shadow:none !important;
    box-sizing:border-box;
    display:none !important;
    left:auto !important;
    margin:.25rem 0 .6rem !important;
    max-height:min(58vh,520px) !important;
    opacity:1 !important;
    overflow:auto !important;
    padding:.45rem !important;
    pointer-events:auto !important;
    position:static !important;
    right:auto !important;
    transform:none !important;
    visibility:visible !important;
    width:100% !important;
  }
  .site-header .site-navigation-dropdown .rq-auto-menu.rq-menu-open > .rq-submenu {
    display:grid !important;
    gap:.4rem !important;
    grid-template-columns:minmax(0,1fr) !important;
  }
  .site-header .site-navigation-dropdown .rq-auto-menu > a {
    align-items:center;
    display:flex !important;
    justify-content:space-between;
  }
  .site-header .site-navigation-dropdown .rq-auto-menu > a::after {
    content:"\203a" !important;
    display:inline-block !important;
    flex:0 0 auto;
    font-size:1.35rem;
    line-height:1;
    margin-left:.7rem;
    position:static !important;
    transform:rotate(90deg) !important;
    transition:transform .18s ease;
  }
  .site-header .site-navigation-dropdown .rq-auto-menu.rq-menu-open > a::after {
    transform:rotate(-90deg) !important;
  }
  .site-header .site-navigation-dropdown .rq-mega-column,
  .site-header .site-navigation-dropdown .rq-region-menu-item,
  .site-header .site-navigation-dropdown .rq-mega-footer {
    box-sizing:border-box;
    min-width:0 !important;
    width:100% !important;
  }
  .site-header .site-navigation-dropdown .rq-mega-column {
    background:#fff !important;
    border:1px solid var(--rq-border,#dce8e9) !important;
    border-radius:10px !important;
    padding:.45rem !important;
  }
  .site-header .site-navigation-dropdown .rq-mega-column > .sub-menu {
    display:grid !important;
    gap:.12rem;
    margin:0 !important;
    padding:0 !important;
  }
  .site-header .site-navigation-dropdown .rq-region-menu-item > a {
    background:#fff !important;
    border:1px solid var(--rq-border,#dce8e9) !important;
    border-radius:10px !important;
    box-shadow:none !important;
    display:grid !important;
    gap:.55rem !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    min-height:60px !important;
    padding:.45rem !important;
    width:100% !important;
  }
  .site-header .site-navigation-dropdown .rq-region-menu .rq-menu-thumb {
    height:42px !important;
    width:42px !important;
  }
  .site-header .site-navigation-dropdown .rq-region-menu-copy small {
    display:none !important;
  }
  .site-header .site-navigation-dropdown .rq-mega-footer > a {
    min-height:44px !important;
    padding:.55rem .7rem !important;
  }
}
@media (prefers-reduced-motion:reduce) { .rq-public-aria *,.rq-global-cart * { scroll-behavior:auto!important; transition:none!important; } }

.rq-map { background: #dfeceb; border: 1px solid var(--rq-border); border-radius: var(--rq-radius); box-shadow: var(--rq-shadow); margin: 1.5rem 0 2.5rem; min-height: 280px; overflow: hidden; z-index: 1; }
.rq-map-popup { min-width: 170px; }
.rq-map-popup-image { border-radius: 8px; display: block; height: 95px; margin-bottom: .55rem; object-fit: cover; width: 100%; }
.rq-map-popup strong,
.rq-map-popup span { display: block; }
.rq-map-popup span { color: var(--rq-muted); margin: .25rem 0 .55rem; }
.rq-map-popup a { color: var(--rq-primary); font-weight: 700; }

.rq-commerce-shell { --rq-business-primary:var(--rq-primary); --rq-business-secondary:var(--rq-accent); --rq-business-tertiary:var(--rq-primary); background:#fff; border-radius:var(--rq-radius); overflow:clip; }
.rq-commerce-hero { align-items:flex-end; background-color:var(--rq-business-primary); background-image:linear-gradient(180deg,rgba(0,0,0,.08) 15%,rgba(0,0,0,.72) 100%),var(--rq-business-splash); background-position:center; background-size:cover; display:flex; min-height:clamp(260px,34vw,460px); padding:clamp(1.25rem,4vw,3.5rem); position:relative; }
.rq-commerce-hero::before { background:linear-gradient(90deg,var(--rq-business-primary),transparent 60%); content:""; inset:0; opacity:.28; pointer-events:none; position:absolute; }
.rq-commerce-hero-content { align-items:flex-end; display:flex; gap:clamp(1rem,3vw,2rem); max-width:1200px; position:relative; width:100%; z-index:1; }
.rq-commerce-logo { background:rgba(255,255,255,.94); border-radius:calc(var(--rq-radius) * .75); box-shadow:0 12px 34px rgba(0,0,0,.24); box-sizing:border-box; max-height:150px; max-width:min(260px,38vw); object-fit:contain; padding:.75rem; }
.rq-commerce-identity { color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.55); }
.rq-commerce-identity h1 { color:inherit; font-size:clamp(2rem,5vw,4.25rem); line-height:1.02; margin:0 0 .45rem; }
.rq-commerce-identity p { color:inherit; margin:.2rem 0 0; }
.rq-commerce-slogan { font-size:clamp(1rem,2vw,1.35rem); }
.rq-commerce-location { font-weight:700; opacity:.92; }
.rq-commerce-breadcrumb-wrap { background:#fff; border-left:1px solid var(--rq-border); border-right:1px solid var(--rq-border); padding:0 clamp(1rem,2.5vw,1.6rem); }
.rq-commerce-breadcrumb-wrap .rq-breadcrumbs { box-sizing:border-box; margin:0 auto; max-width:1400px; padding:1rem 0; width:100%; }
.rq-commerce-webview { --rq-primary:var(--rq-business-primary); --rq-accent:var(--rq-business-secondary); background:#fff; border:1px solid var(--rq-border); border-radius:0 0 var(--rq-radius) var(--rq-radius); min-height:300px; overflow:clip; padding:clamp(.7rem,2vw,1.4rem); }
.rq-commerce-shell.is-standalone { border-radius:0; min-height:100vh; }
.rq-commerce-shell.is-standalone .rq-commerce-hero { min-height:clamp(300px,42vw,560px); }
.rq-commerce-shell.is-standalone .rq-commerce-hero-content,.rq-commerce-shell.is-standalone .rq-commerce-webview { box-sizing:border-box; margin-left:auto; margin-right:auto; max-width:1400px; width:100%; }
.rq-commerce-shell.is-standalone .rq-commerce-webview { border:0; border-radius:0; padding:clamp(1rem,3vw,2.5rem); }
.rq-commerce-overview { align-items:stretch; background:linear-gradient(135deg,#f7fbfb,#fff); border:1px solid var(--rq-border); border-bottom:0; display:grid; gap:clamp(1rem,2.4vw,2rem); grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); padding:clamp(1rem,2.5vw,1.6rem); }
.rq-commerce-about { background:#fff; border:1px solid var(--rq-border); border-radius:18px; color:var(--rq-ink); display:flex; flex-direction:column; padding:clamp(1rem,2.5vw,1.6rem); }
.rq-commerce-about h2 { color:var(--rq-ink); font-size:clamp(1.2rem,2vw,1.55rem); margin:0 0 .55rem; }
.rq-commerce-summary { color:var(--rq-muted); line-height:1.65; margin:0; max-width:90ch; }
.rq-commerce-nearby { display:flex; flex-direction:column; min-width:0; }
.rq-commerce-nearby > header { margin-bottom:.85rem; }
.rq-commerce-nearby h2 { color:var(--rq-ink); font-size:clamp(1.25rem,2.4vw,1.8rem); margin:0 0 .3rem; }
.rq-commerce-nearby header p { color:var(--rq-muted); margin:0; }
.rq-commerce-place-card { align-items:center; background:#fff; border:1px solid var(--rq-border); border-radius:18px; display:flex; gap:1rem; justify-content:space-between; margin:0 0 .85rem; padding:.85rem 1rem; }
.rq-commerce-address { align-items:flex-start; display:flex; gap:.75rem; min-width:0; }
.rq-commerce-address-icon { align-items:center; background:color-mix(in srgb,var(--rq-business-primary) 12%,#fff); border-radius:12px; color:var(--rq-business-primary); display:flex; flex:0 0 42px; height:42px; justify-content:center; }
.rq-commerce-address strong { color:var(--rq-ink); display:block; font-size:.84rem; margin-bottom:.18rem; }
.rq-commerce-address address { color:var(--rq-muted); font-size:.9rem; font-style:normal; line-height:1.4; }
.rq-commerce-place-actions { align-items:flex-end; display:flex; flex:0 0 auto; flex-direction:column; gap:.45rem; }
.rq-commerce-directions { align-items:center; background:var(--rq-business-primary); border-radius:999px; color:#fff !important; display:inline-flex; font-size:.88rem; font-weight:800; gap:.35rem; padding:.58rem .85rem; text-decoration:none !important; }
.rq-commerce-directions:hover { filter:brightness(.92); }
.rq-google-place-summary { align-items:center; display:flex; flex-wrap:wrap; font-size:.86rem; gap:.35rem .55rem; justify-content:flex-end; }
.rq-google-place-summary[hidden] { display:none; }
.rq-google-rating-score { color:var(--rq-ink); font-weight:900; white-space:nowrap; }
.rq-google-rating-score > span { color:#f4b400; font-size:1.05em; }
.rq-google-place-summary a { color:var(--rq-business-primary); font-weight:750; }
.rq-google-rating-label { color:var(--rq-muted); }
.rq-commerce-nearby-map { border:1px solid var(--rq-border); border-radius:18px; flex:1 1 320px; height:auto; margin:0; min-height:320px; overflow:hidden; }
.rq-local-discoveries { background:linear-gradient(135deg,color-mix(in srgb,var(--rq-business-secondary) 8%,#fff),#fff); border:1px solid var(--rq-border); border-radius:18px; margin-top:.85rem; padding:1rem; }
.rq-local-discoveries-heading { align-items:baseline; display:flex; flex-wrap:wrap; gap:.3rem .75rem; margin-bottom:.75rem; }
.rq-local-discoveries-heading strong { color:var(--rq-ink); font-size:1rem; }
.rq-local-discoveries-heading span { color:var(--rq-muted); font-size:.75rem; }
.rq-local-discovery-grid { display:grid; gap:.65rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rq-local-discovery-card { align-items:flex-start; background:#fff; border:1px solid var(--rq-border); border-radius:14px; display:flex; gap:.7rem; min-width:0; padding:.75rem; }
.rq-local-discovery-icon { align-items:center; background:color-mix(in srgb,var(--rq-place-color) 12%,#fff); border-radius:11px; color:var(--rq-place-color); display:flex; flex:0 0 38px; height:38px; justify-content:center; }
.rq-local-discovery-card h3 { color:var(--rq-ink); font-size:.88rem; line-height:1.25; margin:0 0 .2rem; }
.rq-local-discovery-card p { color:var(--rq-muted); font-size:.78rem; line-height:1.4; margin:.2rem 0; }
.rq-local-discovery-card .rq-local-discovery-meta { color:var(--rq-business-primary); font-size:.72rem; font-weight:800; }
.rq-local-discovery-card a { color:var(--rq-business-primary); display:inline-flex; font-size:.74rem; font-weight:800; gap:.25rem; margin-top:.2rem; text-decoration:none; }
.rq-local-discovery-card a:hover { text-decoration:underline; }
.rq-map-div-marker { background:transparent; border:0; }
.rq-map-div-marker > span { align-items:center; background:var(--rq-marker-color,#0f6b78); border:3px solid #fff; border-radius:50% 50% 50% 12%; box-shadow:0 5px 16px rgba(7,38,44,.35); color:#fff; display:flex; height:34px; justify-content:center; transform:rotate(-45deg); width:34px; }
.rq-map-div-marker > span i { font-size:14px; transform:rotate(45deg); }
.rq-map-div-marker.is-current > span { border-width:4px; height:48px; width:48px; }
.rq-map-div-marker.is-current > span i { font-size:21px; }
.rq-map-cluster-marker { background:transparent; border:0; }
.rq-map-cluster-marker > span { align-items:center; background:rgba(15,107,120,.94); border:4px solid #fff; border-radius:50%; box-shadow:0 5px 18px rgba(7,38,44,.36); color:#fff; display:flex; font-size:.88rem; font-weight:900; height:100%; justify-content:center; width:100%; }
.rq-map-popup-offer { color:var(--rq-primary); font-size:.82rem; font-weight:800; }
.rq-map-popup small { color:var(--rq-muted); display:block; }
.rq-commerce-description-long { border-top:1px solid var(--rq-border); color:var(--rq-ink); line-height:1.7; margin-top:.85rem; max-width:95ch; padding-top:.8rem; }
.rq-commerce-description-long > :first-child { margin-top:0; }
.rq-commerce-description-long > :last-child { margin-bottom:0; }
.rq-commerce-offerings { background:linear-gradient(135deg,color-mix(in srgb,var(--rq-business-primary) 8%,#fff),#fff); border:1px solid color-mix(in srgb,var(--rq-business-primary) 20%,var(--rq-border)); border-radius:16px; margin-top:1.15rem; padding:1rem; }
.rq-commerce-offerings > header { align-items:center; display:flex; gap:.75rem; margin-bottom:.85rem; }
.rq-commerce-offerings-icon { align-items:center; background:var(--rq-business-primary); border-radius:12px; color:#fff; display:flex; flex:0 0 42px; height:42px; justify-content:center; }
.rq-commerce-offerings h3 { color:var(--rq-ink); font-size:1.05rem; margin:.05rem 0; }
.rq-commerce-offerings header p { color:var(--rq-muted); font-size:.86rem; font-weight:700; margin:0; }
.rq-commerce-offering-group + .rq-commerce-offering-group { border-top:1px solid var(--rq-border); margin-top:.75rem; padding-top:.75rem; }
.rq-commerce-offering-group > strong { color:var(--rq-muted); display:block; font-size:.76rem; letter-spacing:.04em; margin-bottom:.5rem; text-transform:uppercase; }
.rq-commerce-offering-tags { display:flex; flex-wrap:wrap; gap:.45rem; list-style:none; margin:0; padding:0; }
.rq-commerce-offering-tags li { align-items:center; background:#fff; border:1px solid var(--rq-border); border-radius:999px; color:var(--rq-ink); display:inline-flex; font-size:.82rem; font-weight:700; gap:.3rem; line-height:1.2; padding:.42rem .65rem; }
.rq-commerce-offering-tags li i { color:var(--rq-business-primary); font-size:.72rem; }
.rq-commerce-offering-tags.is-categories li { background:var(--rq-business-primary); border-color:var(--rq-business-primary); color:#fff; }
.rq-client-account { color:var(--rq-ink); display:inline-flex; font-family:inherit; position:relative; z-index:10020; }
.rq-client-account button,.rq-client-account input { font:inherit; }
.rq-client-account-trigger,.rq-client-account-connected { align-items:center; background:#fff; border:1px solid color-mix(in srgb,var(--rq-primary) 20%,#d7e4e6); border-radius:999px; box-shadow:0 8px 24px rgba(8,47,55,.1); display:flex; gap:.65rem; min-height:50px; padding:.38rem .8rem .38rem .42rem; }
.rq-client-account-trigger { color:var(--rq-ink); cursor:pointer; }
.rq-client-account-icon { align-items:center; background:var(--rq-primary); border-radius:50%; color:#fff; display:flex; height:38px; justify-content:center; width:38px; }
.rq-client-account-copy { display:grid; line-height:1.1; text-align:left; }
.rq-client-account-copy small,.rq-client-account-connected small { color:var(--rq-muted); font-size:.68rem; font-weight:650; }
.rq-client-account-copy strong,.rq-client-account-connected strong { font-size:.88rem; }
.rq-client-account-connected { padding-left:.65rem; }
.rq-client-account-connected > span:nth-child(2) { display:grid; line-height:1.15; text-align:left; }
.rq-client-account-connected em { color:var(--rq-muted); font-size:.68rem; font-style:normal; }
.rq-client-account-status { background:#36c96b; border:3px solid #e8fff0; border-radius:50%; height:13px; width:13px; }
.rq-client-account-connected [data-rq-account-logout] { background:transparent; border:0; border-left:1px solid var(--rq-border); color:var(--rq-primary); cursor:pointer; font-size:.76rem; font-weight:800; margin-left:.3rem; padding:.45rem .2rem .45rem .75rem; }
.rq-client-account-modal { align-items:center; background:rgba(4,31,37,.58); display:none; inset:0; justify-content:center; padding:1rem; position:fixed; }
.rq-client-account-modal.is-open { display:flex; }
.rq-client-account-card { background:#fff; border-radius:24px; box-shadow:0 24px 70px rgba(3,35,42,.28); max-width:460px; padding:2rem; position:relative; width:100%; }
.rq-client-account-card h2 { color:var(--rq-ink); font-size:1.55rem; margin:.55rem 0 .35rem; }
.rq-client-account-card > p { color:var(--rq-muted); line-height:1.5; margin:.25rem 0 1.1rem; }
.rq-client-account-shield { align-items:center; background:color-mix(in srgb,var(--rq-primary) 10%,#fff); border-radius:14px; color:var(--rq-primary); display:flex; height:46px; justify-content:center; width:46px; }
.rq-client-account-close { background:#edf5f6; border:0; border-radius:50%; color:var(--rq-ink); cursor:pointer; font-size:1.45rem; height:38px; line-height:1; position:absolute; right:1rem; top:1rem; width:38px; }
.rq-client-account-social { display:none; gap:.55rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin:.15rem 0 1rem; }
.rq-client-account.has-social-login .rq-client-account-social { display:grid; }
.rq-client-account-social button { align-items:center; background:#fff; border:1px solid #cbdcdf; border-radius:13px; color:var(--rq-ink); cursor:pointer; display:flex; flex-direction:column; font-size:.75rem; font-weight:800; gap:.35rem; justify-content:center; min-height:70px; padding:.55rem .3rem; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.rq-client-account-social button:hover,.rq-client-account-social button:focus-visible { border-color:var(--rq-primary); box-shadow:0 7px 18px rgba(6,71,80,.11); transform:translateY(-1px); }
.rq-client-account-social i { font-size:1.25rem; }
.rq-client-account-social [data-rq-account-provider="google"] i { color:#4285f4; }
.rq-client-account-social [data-rq-account-provider="microsoft"] i { color:#f25022; }
.rq-client-account-social [data-rq-account-provider="facebook"] i { color:#1877f2; }
.rq-client-account-social button[hidden] { display:none !important; }
.rq-client-account-divider { align-items:center; color:var(--rq-muted); display:none; font-size:.72rem; gap:.7rem; margin:0 0 .85rem; text-transform:uppercase; }
.rq-client-account.has-social-login .rq-client-account-divider { display:flex; }
.rq-client-account-divider::before,.rq-client-account-divider::after { background:var(--rq-border); content:""; flex:1; height:1px; }
.rq-client-account-methods { background:#edf5f6; border-radius:12px; display:grid; gap:.25rem; grid-template-columns:repeat(3,1fr); margin-bottom:1rem; padding:.25rem; }
.rq-client-account-methods button { background:transparent; border:0; border-radius:9px; color:var(--rq-muted); cursor:pointer; font-weight:750; padding:.65rem; }
.rq-client-account-methods button.is-active { background:#fff; box-shadow:0 3px 10px rgba(6,46,54,.09); color:var(--rq-primary); }
.rq-client-account-card form { display:grid; gap:.65rem; }
.rq-client-account-card form[hidden] { display:none; }
.rq-client-account-card label { font-size:.8rem; font-weight:800; }
.rq-client-account-card input { border:1px solid #bfd4d7; border-radius:12px; min-height:48px; padding:.65rem .8rem; width:100%; }
.rq-client-account-card form button[type="submit"] { background:var(--rq-primary); border:0; border-radius:12px; color:#fff; cursor:pointer; font-weight:800; min-height:46px; padding:.7rem 1rem; }
.rq-client-account-back { background:transparent; border:0; color:var(--rq-primary); cursor:pointer; font-weight:750; justify-self:center; }
.rq-client-account-message { color:#267441 !important; font-size:.82rem; margin:.8rem 0 !important; min-height:1.25em; }
.rq-client-account-message.is-error { color:#ae2f3a !important; }
.rq-client-account-privacy { background:#f2f7f8; border-radius:10px; color:var(--rq-muted); display:block; font-size:.72rem; line-height:1.45; padding:.7rem; }
.rq-client-account.is-loading { cursor:progress; opacity:.72; }
@media (max-width:900px) { .rq-commerce-overview { grid-template-columns:1fr; } }
@media (max-width:640px) { .rq-commerce-hero-content { align-items:flex-start; flex-direction:column; } .rq-commerce-logo { max-height:100px; max-width:220px; } .rq-commerce-place-card { align-items:stretch; flex-direction:column; } .rq-commerce-place-actions { align-items:flex-start; } .rq-google-place-summary { justify-content:flex-start; } .rq-commerce-nearby-map { flex-basis:300px; min-height:300px; } .rq-local-discovery-grid { grid-template-columns:1fr; } }

@media (max-width: 1180px) {
  .rq-category-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .rq-event-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rq-auto-menu > .rq-category-menu { grid-template-columns: repeat(2,minmax(210px,1fr)); width:min(700px,calc(100vw - 24px)); }
  .rq-columns-4,
  .rq-columns-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rq-columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rq-category-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rq-gift-banner { grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); }
  .rq-discover-track { grid-auto-columns: minmax(280px, calc((100% - 1.25rem) / 2)); }
  .rq-search-compact { position: relative; top: auto; }
  .rq-search-compact .rq-search-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width:621px) and (max-width:900px) {
  .rq-search-hero-events .rq-search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .rq-event-grid { grid-template-columns:1fr; }
  .rq-auto-menu > .rq-category-menu {
    box-shadow: none;
    grid-template-columns: 1fr;
    margin-top: .4rem !important;
    max-height: 68vh;
    opacity: 1;
    pointer-events: auto;
    position: static !important;
    transform: none;
    visibility: visible;
    width: 100%;
  }
  .rq-columns-2,
  .rq-columns-3,
  .rq-columns-4,
  .rq-columns-5 { grid-template-columns: 1fr; }
  .rq-category-strip { grid-template-columns: 1fr; }
  .rq-gift-banner { grid-template-columns: 1fr; }
  .rq-gift-image { min-height: 210px; }
  .rq-gift-content { padding: 1.4rem; }
  .rq-search-fields { grid-template-columns: 1fr; }
  .rq-search-compact .rq-search-fields { grid-template-columns: 1fr; }
  .rq-hero { border-radius: 18px; }
  .rq-menu > ul { align-items: stretch; flex-direction: column; }
  .rq-has-children > .rq-submenu { box-shadow: none; display: block; padding-left: 1rem; position: static; }
  .rq-discover-track { grid-auto-columns: minmax(260px, 88%); }
}

@media (prefers-reduced-motion: reduce) {
  .rq-card,
  .rq-term-card,
  .rq-region-card,
  .rq-button,
  .rq-card-image img { transition: none; }
  .rq-discover-track { scroll-behavior: auto; }
  .rq-discover-slide img { transition: none; }
}

/* Réservation Québec 0.7.65 — charte éditoriale unifiée ------------------ */
:where(.rq-hero,.rq-home-section,.rq-discover,.rq-page-intro,.rq-destination-intro,.rq-breadcrumbs,.rq-categories,.rq-regions,.rq-results-explorer,.rq-commerce-shell) {
  --rq-primary:#005a64;
  --rq-primary-hover:#00454d;
  --rq-accent:#f5b800;
  --rq-accent-hover:#dfa700;
  --rq-ink:#173a42;
  --rq-muted:#5f6f73;
  --rq-border:#d9e2e4;
  --rq-soft:#f4f8f8;
  --rq-interactive:#eaf3f4;
  --rq-success:#278a62;
  --rq-error:#c94c4c;
  --rq-radius:12px;
  font-family:"Work Sans",Arial,sans-serif;
}

.rq-button {
  background:var(--rq-primary);
  border-radius:999px;
  box-shadow:none;
  min-height:44px;
  padding:.7rem 1.25rem;
}
.rq-button:hover,.rq-button:focus-visible { background:var(--rq-primary-hover); box-shadow:none; opacity:1; }

/* Hero d'accueil : une recherche simple, puis les détails au bon moment. */
.rq-hero { min-height:clamp(500px,64vh,680px); }
.rq-hero-content { max-width:1320px; }
.rq-hero-eyebrow { color:#fff; display:block; font-size:.82rem; font-weight:800; letter-spacing:.1em; margin-bottom:.8rem; text-transform:uppercase; }
.rq-hero h1 { font-size:clamp(2.55rem,5vw,4.5rem); max-width:790px; }
.rq-hero-search-shell { margin-top:2rem; max-width:1240px; }
.rq-hero-tabs { align-items:center; display:flex; flex-wrap:wrap; gap:.35rem; padding:0 .75rem; }
.rq-hero-tabs button { align-items:center; background:rgba(255,255,255,.88); border:0; border-bottom:3px solid transparent; border-radius:12px 12px 0 0; color:var(--rq-ink); cursor:pointer; display:inline-flex; font-family:inherit; font-size:.86rem; font-weight:750; gap:.45rem; min-height:44px; padding:.65rem .9rem; text-decoration:none; }
.rq-hero-tabs button:hover,.rq-hero-tabs button:focus-visible,.rq-hero-tabs button.is-active { background:#transparent; color:var(--rq-primary); }
.rq-hero-tabs button.is-active { border-bottom-color:var(--rq-accent); }
.rq-hero-tab-panel[hidden] { display:none !important; }
.rq-hero-tab-panel { min-width:0; }
.rq-hero .rq-search-fields { grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); }
.rq-hero .rq-location-field { min-width:0; width:100%; }
.rq-hero .rq-location-button { justify-content:center; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; width:100%; }
.rq-hero .rq-location-status:empty { display:none; }
.rq-hero .rq-search-submit { min-width:0; width:100%; }
.rq-search-hero-events .rq-search-fields { grid-template-columns:repeat(3,minmax(170px,1fr)) auto; }
.rq-hero .rq-search-form { border-radius:14px; margin-top:0; }

/* En-têtes et espacements partagés. */
.rq-home-section,.rq-discover { margin:clamp(3rem,6vw,5.5rem) auto; max-width:1320px; padding-inline:clamp(1rem,3vw,2.5rem); }
.rq-home-section-head { align-items:end; display:flex; gap:1.5rem; justify-content:space-between; max-width:none; }
.rq-home-section-head > div { max-width:760px; }
.rq-home-section-head h2,.rq-explorer-heading h2 { font-size:clamp(1.85rem,3vw,2.5rem); font-weight:700; }
.rq-home-eyebrow { color:var(--rq-primary); font-size:.77rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.rq-section-link { align-items:center; border:1px solid var(--rq-primary); border-radius:999px; color:var(--rq-primary); display:inline-flex; flex:0 0 auto; font-size:.85rem; font-weight:750; gap:.45rem; min-height:42px; padding:.6rem 1rem; text-decoration:none; }
.rq-section-link:hover,.rq-section-link:focus-visible { background:var(--rq-interactive); color:var(--rq-primary-hover); }
.rq-section-link,.rq-section-link:hover,.rq-section-link:focus-visible,.rq-section-link * { text-decoration:none !important; }

/* Les quatre portes d'entrée de l'accueil. */
.rq-home-entry { margin-top:clamp(2.2rem,4vw,4rem); }
.rq-home-entry-heading { margin-bottom:1.25rem; }
.rq-home-entry-heading h2 { color:var(--rq-ink); font-size:clamp(1.75rem,3vw,2.35rem); margin:.3rem 0 0; }
.rq-home-entry-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.rq-home-entry-card { align-items:center; background:#fff; border:1px solid var(--rq-border); border-radius:12px; color:var(--rq-ink); display:grid; gap:.85rem; grid-template-columns:48px minmax(0,1fr) 18px; min-height:128px; padding:1rem; text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.rq-home-entry-card:hover,.rq-home-entry-card:focus-visible { border-color:var(--rq-primary); box-shadow:0 12px 30px rgba(23,58,66,.11); color:var(--rq-ink); transform:translateY(-3px); }
.rq-home-entry-icon { align-items:center; background:var(--rq-interactive); border-radius:12px; color:var(--rq-primary); display:flex; height:48px; justify-content:center; width:48px; }
.rq-home-entry-card strong { display:block; font-size:1.02rem; margin-bottom:.25rem; }
.rq-home-entry-card small { color:var(--rq-muted); display:block; font-size:.8rem; line-height:1.42; }
.rq-home-entry-card > i { color:var(--rq-primary); font-size:.78rem; }
.rq-home-entry-card,.rq-home-entry-card:hover,.rq-home-entry-card:focus-visible,.rq-home-entry-card strong,.rq-home-entry-card small { text-decoration:none !important; }

/* Cartes éditoriales cohérentes : quatre colonnes, aucun rail horizontal. */
.rq-listing,.rq-layout-home,.rq-regions { gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.rq-card,.rq-term-card,.rq-region-card { border:1px solid var(--rq-border); border-radius:12px; box-shadow:0 8px 22px rgba(23,58,66,.06); }
.rq-card:hover,.rq-term-card:hover,.rq-region-card:hover { box-shadow:0 14px 34px rgba(23,58,66,.12); transform:translateY(-3px); }
.rq-layout-home .rq-term-image,.rq-card-image { aspect-ratio:16/10; }
.rq-layout-home .rq-term-card { min-height:0; }
.rq-home-featured > .rq-discover { margin:0; max-width:none; padding:0; }
.rq-home-featured .rq-discover-track { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:visible; padding:0; }
.rq-home-featured .rq-discover-slide { min-width:0; width:auto; }
.rq-home-featured .rq-carousel-controls { display:none; }
.rq-home-featured .rq-discover-slide > a { aspect-ratio:4/3; }
.rq-home-featured .rq-discover-slide > a,
.rq-home-featured .rq-discover-slide > a:hover,
.rq-home-featured .rq-discover-slide > a:focus-visible,
.rq-home-featured .rq-discover-slide > a .rq-discover-overlay,
.rq-home-featured .rq-discover-slide > a .rq-discover-overlay * { color:#fff !important; text-decoration:none !important; }
.rq-home-regions .rq-regions { grid-template-columns:repeat(3,minmax(0,1fr)); }

/* Heroes des pages principales et des destinations. */
.rq-page-intro,.rq-destination-intro.has-hero { color:#fff; isolation:isolate; margin:0 0 1.25rem; overflow:hidden; position:relative; }
.rq-page-intro { background:linear-gradient(90deg,rgba(6,43,49,.88),rgba(6,43,49,.35)),var(--rq-page-intro-image) center/cover no-repeat; min-height:360px; }
.rq-page-intro-content { display:flex; flex-direction:column; justify-content:flex-end; margin:auto; max-width:1320px; min-height:360px; padding:clamp(2rem,5vw,4rem) clamp(1rem,3vw,2.5rem); }
.rq-page-intro h1,.rq-destination-title { color:inherit; font-size:clamp(2.35rem,4vw,3.65rem); letter-spacing:-.04em; line-height:1.04; margin:.65rem 0 .75rem; }
.rq-page-intro p { font-size:clamp(1rem,1.6vw,1.18rem); line-height:1.55; margin:0; max-width:760px; }
.rq-destination-hero { min-height:360px; }
.rq-destination-hero-content { display:flex; flex-direction:column; justify-content:flex-end; min-height:360px; padding:clamp(2rem,5vw,4rem) clamp(1rem,3vw,2.5rem); }
.rq-destination-summary { font-size:clamp(1rem,1.5vw,1.15rem); max-width:760px; }
.rq-destination-kicker { align-items:center; display:inline-flex; font-size:.78rem; font-weight:800; gap:.45rem; letter-spacing:.1em; text-transform:uppercase; }
.rq-destination-description { margin:0 auto 2rem; max-width:1320px; padding:1.5rem clamp(1rem,3vw,2.5rem) 0; }

.rq-breadcrumbs { background:var(--rq-soft); border:1px solid var(--rq-border); border-radius:10px; margin:1.1rem auto 1.4rem; max-width:1320px; padding:.75rem 1rem; }

/* Explorateur partagé : carte 70 %, régions 30 %, filtres, puis résultats. */
.rq-results-explorer { margin:2rem auto 4rem; max-width:1320px; }
.rq-explorer-heading { margin-bottom:1.2rem; max-width:760px; }
.rq-explorer-heading h2 { color:var(--rq-ink); margin:.25rem 0 .4rem; }
.rq-explorer-heading p { color:var(--rq-muted); line-height:1.55; margin:0; }
.rq-results-overview { grid-template-columns:minmax(0,7fr) minmax(260px,3fr); }
.rq-results-map-panel { border-radius:12px; padding:8px; position:relative; }
.rq-map-panel-label { align-items:center; background:#fff; border:1px solid var(--rq-border); border-radius:999px; color:var(--rq-ink); display:inline-flex; font-size:.8rem; font-weight:750; gap:.4rem; left:22px; padding:.45rem .7rem; position:absolute; top:22px; z-index:500; }
.rq-results-map-panel .rq-map { border-radius:8px; }
.rq-result-regions { border-radius:12px; }
.rq-contextual-filters { background:#fff; border-radius:12px; margin:1.2rem 0 1.8rem; padding:1rem; }
.rq-result-list-heading { align-items:end; display:flex; gap:1rem; justify-content:space-between; margin:1.5rem 0 1rem; }
.rq-result-list-heading h2 { color:var(--rq-ink); font-size:1.55rem; margin:0; }
.rq-result-list-heading .rq-result-count { margin:0; }
.rq-load-more-wrap { justify-content:center; }

/* Méga-menus courts. Les catégories utilisent des colonnes éditoriales,
   tandis que les régions demeurent une grille plate de cartes. */
.rq-auto-menu > .rq-category-menu.rq-mega-menu { gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); max-height:none; overflow:visible; padding:1.2rem !important; width:min(980px,calc(100vw - 32px)); }
.rq-auto-menu > .rq-mega-menu > .rq-mega-column { background:transparent; border:0; border-radius:0; overflow:visible; padding:0; }
.rq-mega-heading { color:var(--rq-primary); display:block; font-size:.73rem; font-weight:850; letter-spacing:.1em; margin:0 0 .55rem; padding:0 .45rem; text-transform:uppercase; }
.rq-mega-column > .sub-menu { display:grid !important; gap:.18rem; margin:0 !important; padding:0 !important; }
.rq-mega-column > .sub-menu > li { border:0 !important; }
.rq-mega-column > .sub-menu a { border-radius:9px; min-height:44px; padding:.42rem .45rem !important; }
.rq-mega-column > .sub-menu a:hover,.rq-mega-column > .sub-menu a:focus-visible { background:var(--rq-soft); }
.rq-mega-footer { border-top:1px solid var(--rq-border); grid-column:1/-1; margin-top:.2rem; padding-top:.7rem; }
.rq-mega-footer > a { color:var(--rq-primary) !important; font-weight:800; justify-content:flex-end; }
.rq-region-menu.rq-mega-menu .rq-menu-thumb { border-radius:9px; height:38px; width:44px; }
.rq-region-menu.rq-mega-menu .rq-region-menu-copy small { color:var(--rq-muted); display:block; font-size:.7rem; line-height:1.25; margin-top:.12rem; }
.rq-auto-menu > .rq-region-menu.rq-mega-menu { gap:.65rem; grid-template-columns:repeat(3,minmax(0,1fr)); max-height:none; overflow:visible; padding:1rem !important; width:min(1020px,calc(100vw - 32px)); }
.rq-region-menu.rq-mega-menu > .rq-region-menu-item { min-width:0; width:auto; }

/* Les groupes internes du méga-menu sont de vrais accordéons sur mobile. */
@media (max-width:767px) {
  .site-header .site-navigation-dropdown .rq-mega-column {
    padding:0 !important;
  }
  .site-header .site-navigation-dropdown button.rq-mega-heading {
    align-items:center;
    appearance:none;
    background:#fff;
    border:0;
    border-radius:9px;
    color:var(--rq-primary);
    cursor:pointer;
    display:flex;
    font:inherit;
    font-size:.78rem;
    font-weight:850;
    justify-content:space-between;
    letter-spacing:.08em;
    margin:0;
    min-height:54px;
    padding:.75rem 1rem;
    text-align:left;
    text-transform:uppercase;
    width:100%;
  }
  .site-header .site-navigation-dropdown button.rq-mega-heading::after {
    content:"+";
    flex:0 0 auto;
    font-size:1.25rem;
    font-weight:500;
    line-height:1;
  }
  .site-header .site-navigation-dropdown .rq-mega-column.rq-column-open > button.rq-mega-heading::after {
    content:"−";
  }
  .site-header .site-navigation-dropdown .rq-mega-column > .sub-menu {
    display:none !important;
    margin:0 !important;
    padding:0 .55rem .55rem !important;
  }
  .site-header .site-navigation-dropdown .rq-mega-column.rq-column-open > .sub-menu {
    display:grid !important;
  }
  .site-header .site-navigation-dropdown .rq-mega-column.rq-column-open > .sub-menu > li {
    max-height:100px !important;
    transform:scaleY(1) !important;
  }
}
.rq-region-menu.rq-mega-menu > .rq-region-menu-item > a { align-items:center; background:#fff; border:1px solid var(--rq-border); border-radius:12px; box-shadow:none; display:grid; gap:.65rem; grid-template-columns:44px minmax(0,1fr) auto; min-height:74px; padding:.55rem !important; transform:none; }
.rq-region-menu.rq-mega-menu > .rq-region-menu-item > a:hover,.rq-region-menu.rq-mega-menu > .rq-region-menu-item > a:focus-visible { background:var(--rq-soft); border-color:color-mix(in srgb,var(--rq-primary) 35%,var(--rq-border)); box-shadow:none; transform:none; }
.rq-region-menu-arrow { color:color-mix(in srgb,var(--rq-primary) 48%,#fff); font-size:.72rem; }

@media (max-width:980px) {
  .rq-home-entry-grid,.rq-home-featured .rq-discover-track,.rq-listing,.rq-layout-home { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rq-home-regions .rq-regions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rq-results-overview { grid-template-columns:1fr; }
  .rq-auto-menu > .rq-category-menu.rq-mega-menu,.rq-auto-menu > .rq-region-menu.rq-mega-menu { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:70vh; overflow:auto; }
}

@media (max-width:620px) {
  .rq-hero-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
  .rq-hero-tabs button { border-radius:10px; font-size:.78rem; justify-content:center; }
  .rq-search-hero-events .rq-search-fields { grid-template-columns:1fr; }
  .rq-home-section-head { align-items:flex-start; flex-direction:column; }
  .rq-home-entry-grid,.rq-home-featured .rq-discover-track,.rq-listing,.rq-layout-home,.rq-home-regions .rq-regions { grid-template-columns:1fr; }
  .rq-home-featured,
  .rq-home-featured > .rq-discover {
    max-width:100%;
    min-width:0;
    overflow:hidden;
    width:100%;
  }
  .rq-home-featured .rq-discover-track {
    grid-auto-columns:minmax(0,1fr);
    grid-auto-flow:row;
    grid-template-columns:minmax(0,1fr);
    max-width:100%;
    overflow:hidden;
    width:100%;
  }
  .rq-home-featured .rq-discover-slide {
    max-width:100%;
    min-width:0;
    width:100%;
  }
  .rq-home-entry-card { min-height:108px; }
  .rq-result-list-heading { align-items:flex-start; flex-direction:column; }
  .rq-auto-menu > .rq-category-menu.rq-mega-menu,.rq-auto-menu > .rq-region-menu.rq-mega-menu { grid-template-columns:1fr; max-height:none; overflow:visible; }
  .rq-page-intro,.rq-page-intro-content,.rq-destination-hero,.rq-destination-hero-content { min-height:300px; }
}

/* Réservation Québec 0.7.76 — réponses Aria plus aérées et mieux proportionnées. */
.rq-aria-messages { padding-inline:14px; }
.rq-aria-message-assistant {
  box-sizing:border-box;
  line-height:1.38;
  max-width:calc(100% - 4px);
  padding-top:16px;
  width:calc(100% - 4px);
}
.rq-aria-message-content :where(h3,h4) {
  line-height:1.18;
  margin-top:.18rem;
}
.rq-aria-message-content :where(.aria-ui-eyebrow,.aria-ui-label,.aria-ui-summary-label) {
  line-height:1.15;
}
.rq-aria-message-content > :first-child,
.aria-ui-card > :first-child,
.aria-ui-callout > :first-child {
  margin-top:.12rem;
}
@media (max-width:600px) {
  .rq-aria-messages { padding-inline:10px; }
  .rq-aria-message-assistant { max-width:100%; width:100%; }
}


/* ==================================================
   BOUTIQUE — FORMULAIRE ORDINATEUR UNIQUEMENT
   ================================================== */

@media (min-width: 1101px) {

    body.page-id-39
    .rq-results-explorer
    .rq-search-compact.rq-search-kind-shop
    .rq-search-fields {
        display: flex !important;
        align-items: flex-end !important;
        gap: 14px !important;
        width: 100% !important;
    }

    /* Tous les champs présents se partagent l’espace */
    body.page-id-39
    .rq-results-explorer
    .rq-search-compact.rq-search-kind-shop
    .rq-search-fields > * {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    /* Les champs internes remplissent leur colonne */
    body.page-id-39
    .rq-results-explorer
    .rq-search-compact.rq-search-kind-shop input,
    body.page-id-39
    .rq-results-explorer
    .rq-search-compact.rq-search-kind-shop select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Le bouton de localisation reste petit, s’il est présent */
    body.page-id-39
    .rq-results-explorer
    .rq-search-compact.rq-search-kind-shop
    .rq-location-field {
        flex: 0 0 48px !important;
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
    }

    /* Le bouton final conserve une largeur raisonnable */
    body.page-id-39
    .rq-results-explorer
    .rq-search-compact.rq-search-kind-shop
    .rq-search-submit {
        flex: 0 0 150px !important;
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
    }
}



/* ==================================================
   RESPONSIVE — 4 PAGES PRINCIPALES
   Quoi faire · Où aller · Où dormir · Boutique
   ================================================== */


/* TABLETTE */
@media (min-width: 768px) and (max-width: 1100px) {

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-search-fields {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-search-fields > * {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact input,
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Localisation compacte */
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-location-field,
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-location-button {
        width: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
    }

    /* Bouton final pleine largeur */
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-search-submit {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}


/* MOBILE */
@media (max-width: 767px) {

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer,
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer [data-rq-zone="filters"],
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact {
        padding: 16px !important;
        overflow: hidden;
    }

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-search-fields {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 14px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-search-fields > * {
        grid-column: 1;
        width: 100% ;
        min-width: 0 ;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact input,
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact select {
        width: 100% ;
        min-width: 0 ;
        max-width: 100% ;
        box-sizing: border-box;
    }

    /* Localisation compacte et alignée à gauche */
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-location-field,
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-location-button {
        grid-column: 1 ;
        width: 48px ;
        min-width: 48px ;
        max-width: 48px;
    }

    /* Compteurs Adultes, Enfants et Chiens */
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-quantity-field {
        display: grid ;
        grid-template-columns: 42px minmax(44px, 1fr) 42px ;
        column-gap: 50px ;
        width: 100% ;
    }

    /* Bouton final */
    body:is(.page-id-8, .page-id-9, .page-id-26, .page-id-39)
    .rq-results-explorer
    .rq-search-form.rq-search-compact
    .rq-search-submit {
        width: 100% ;
        min-width: 0 ;
        max-width: 100% ;
    }
}




