/* Aide téléphonique validée par Corantin le 11/09/2026.
   Numéro public unique ; réservation principale conservée en ligne. */
.qp-phone-nav {
  display: inline-flex;
  box-sizing: border-box;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 5px 12px;
  margin-left: 0;
  margin-right: 6px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: linear-gradient(#fff, #fff) padding-box,
    linear-gradient(135deg, #34D399, #22D3EE, #2563EB) border-box;
  color: #0f172a;
  text-decoration: none;
  font-family: var(--f-display, "Plus Jakarta Sans", sans-serif);
}
.qp-phone-nav > svg { width: 17px; height: 17px; flex: 0 0 17px; color: #08776d; }
.qp-phone-nav > span { display: grid; gap: 2px; }
.qp-phone-nav small { font-size: 11px; font-weight: 500; line-height: 1.2; color: #475569; }
.qp-phone-nav strong { font-size: 14px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.qp-phone-nav:focus-visible, .qp-phone-help a:focus-visible, .qp-phone-coordinate:focus-visible {
  outline: 2px solid #2563EB;
  outline-offset: 4px;
}
.qp-phone-help {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 10px;
  margin: 0 0 20px;
  color: #475569;
  font: 500 14px/1.5 var(--f-display, sans-serif);
}
.qp-phone-help a, .qp-phone-coordinate {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  color: #086a61;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  white-space: nowrap;
}
.qp-phone-help a svg, .qp-phone-coordinate svg { width: 17px; height: 17px; flex: 0 0 17px; }
.hero-copy:has(.qp-phone-help) .hero-actions { margin-bottom: 8px !important; }
.qp-phone-help--center { justify-content: center; margin: 16px 0 0; }
.qp-phone-help--result { display: block; margin: 16px 0 0; font-size: 13px; }
.qp-phone-help--result > span { display: block; }
.qp-phone-help--contact { margin: 0 0 24px; }
.qp-phone-primary {
  min-height: 44px;
  background: linear-gradient(135deg, #34D399, #22D3EE, #2563EB);
  color: #fff !important;
}
@media (max-width: 900px) {
  .qp-phone-nav { display: inline-flex; }
}
@media (min-width: 901px) and (max-width: 1023px) {
  .qp-phone-nav--contact { display: inline-flex; }
}
@media (hover: hover) {
  .qp-phone-nav:hover { background: linear-gradient(#f0fdfa, #f0fdfa) padding-box,
    linear-gradient(135deg, #34D399, #22D3EE, #2563EB) border-box; }
  .qp-phone-help a:hover, .qp-phone-coordinate:hover { color: #1246a8; }
}

/* Même bouton dans toutes les navigations, sur mobile comme sur ordinateur. */
.qp-phone-header .qp-phone-nav { display: inline-flex; }
.qp-phone-header .qp-phone-site-links { margin-inline: auto; }
.qp-phone-header .qp-phone-desktop-actions > .w-px { display: none; }
@media (min-width: 901px) {
  .qp-phone-header--modern .qp-phone-nav { margin-right: 16px; }
}
@media (min-width: 1024px) {
  .qp-phone-header--tailwind .qp-phone-nav { margin-right: 16px; }
}
.qp-phone-header .qp-phone-logo { flex: 0 0 auto; }
.qp-phone-header .qp-phone-logo img { width: auto; max-width: 56px; flex: 0 0 auto; }
.qp-phone-header--modern .nav-cta { flex: 0 0 auto; }
.qp-phone-menu-booking { display: flex; justify-content: center; align-items: center; min-height: 44px; margin: 8px 16px; padding: 10px 18px; border-radius: 999px; color: white; font-weight: 700; text-decoration: none; background: linear-gradient(135deg, #34D399, #22D3EE, #2563EB); }
@media (max-width: 900px) {
  .qp-phone-header--modern .qp-phone-nav { margin-left: auto; }
}
@media (max-width: 1023px) {
  .qp-phone-header--tailwind .qp-phone-nav { margin-left: auto; }
  .qp-phone-header .qp-phone-mobile-actions > a { display: none; }
}
@media (max-width: 600px) {
  .qp-phone-header--simple .qp-phone-logo > span { display: none; }
  .qp-phone-header .qp-phone-return { font-size: 0; gap: 0; min-width: 44px; justify-content: center; }
  .qp-phone-header .qp-phone-return svg { width: 20px; height: 20px; }
}
body.qp-phone-referral { padding-top: 96px; }
.qp-phone-referral-header { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; background: rgba(255,255,255,.97); border-bottom: 1px solid #e2e8f0; }
.qp-phone-referral-header nav { max-width: 1200px; min-height: 64px; padding: 8px 20px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
