/* Le Globe à Lunettes — rendez-vous, 08/10/2026 */
#floatingRdvBtn {
  background: #6f4e37;
  color: #fff2df;
  border: 1px solid #b99870;
  border-radius: 6px;
  padding: 13px 20px;
  min-height: 48px;
  font: 500 14px/1.35 'Segoe UI', Arial, sans-serif;
  letter-spacing: .025em;
  justify-content: center;
  text-align: center;
  box-shadow: 0 4px 16px rgb(42 28 18 / 14%);
  transition: background-color .2s ease, border-color .2s ease;
}
#floatingRdvBtn::before, #floatingRdvBtn::after { content: none; }
#floatingRdvBtn:hover, #floatingRdvBtn:active {
  background: #6f4e37; border-color: #d1b18a;
  transform: none; box-shadow: 0 4px 16px rgb(42 28 18 / 14%);
}
body.gl-rdv-open #floatingRdvBtn { visibility: hidden; pointer-events: none; }
body.gl-rdv-open, html.gl-rdv-open { overflow: hidden !important; }
#rdvChoiceModal {
  position: fixed; inset: 0; z-index: 10001;
  overflow: auto; overscroll-behavior: contain;
  padding: max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));
  box-sizing: border-box;
  background: rgb(35 26 19 / 55%);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  color: #503b2b;
  font-family: 'Segoe UI', Arial, sans-serif;
  text-align: center; text-shadow: none;
}
#rdvChoiceModal *, #rdvChoiceModal *::before, #rdvChoiceModal *::after { box-sizing: border-box; }
#rdvChoiceModal[style*="display: block"] { display: flex !important; }
#rdvChoiceModal .gl-rdv-panel {
  position: relative; flex: 0 0 auto;
  width: min(100%, 490px); margin: auto;
  padding: 49px 36px 36px;
  border: 1px solid #bb9876; border-radius: 12px;
  background: #6f4e37;
  box-shadow: 0 20px 70px rgb(24 17 11 / 22%);
  animation: gl-rdv-enter .22s ease-out both;
}
#rdvChoiceModal.gl-rdv-form-view .gl-rdv-panel { width: min(100%, 570px); padding: 25px 32px 30px; }
#rdvChoiceModal button, #rdvChoiceModal a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
#rdvChoiceModal .gl-rdv-close {
  position: absolute; top: 8px; right: 8px; z-index: 2;
  width: 44px; height: 44px; min-width: 0; padding: 12px;
  display: grid; place-items: center; border: none; border-radius: 50%;
  background: transparent; color: #f3e6d3; cursor: pointer; box-shadow: none;
}
#rdvChoiceModal .gl-rdv-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
#rdvChoiceModal .gl-rdv-close:hover { background: #5c3b22; }
#rdvChoiceModal .gl-rdv-kicker { margin: 0 0 15px; color: #efd7b8; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
#rdvChoiceModal h2 {
  padding: 0; margin: 0; font: 700 27px/1.35 'Libre Baskerville', Georgia, serif;
  color: #fff5e5 !important; -webkit-text-fill-color: #fff5e5 !important;
  background: none !important; text-shadow: none !important; letter-spacing: -.035em;
}
#rdvChoiceModal h2:focus { outline: none; }
#rdvChoiceModal .gl-rdv-rule { display: block; width: 32px; height: 1px; background: #cfb08d; margin: 21px auto; }
#rdvChoiceModal .gl-rdv-intro { color: #f3e6d3; font-size: 15px; line-height: 1.65; font-weight: 400; margin: 0 auto 26px; }
#rdvChoiceModal .gl-rdv-call {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  min-height: 76px; padding: 15px 20px; width: 100%;
  border: 1px solid #f3e6d3; border-radius: 7px; background: #f3e6d3;
  color: #5c3b22; text-decoration: none; text-shadow: none;
  font-size: 15px; font-weight: 600; line-height: 1.4;
  transition: background-color .2s ease;
}
#rdvChoiceModal .gl-rdv-call:hover { background: #fff5e5; }
#rdvChoiceModal .gl-rdv-number { font-size: 19px; font-weight: 400; letter-spacing: .035em; font-variant-numeric: tabular-nums; }
#rdvChoiceModal .gl-rdv-write {
  display: block; margin: 13px 0 0; width: 100%; min-height: 51px; padding: 13px 10px;
  border: 1px solid #c9a887; border-radius: 7px; background: transparent;
  font: 500 14px/1.5 'Segoe UI', Arial, sans-serif; color: #fff5e5; cursor: pointer;
}
#rdvChoiceModal .gl-rdv-write:hover { background: #5c3b22; }
#rdvChoiceModal :is(button,a,input,select,textarea):focus-visible, #floatingRdvBtn:focus-visible { outline: 2px solid #efd7b8; outline-offset: 3px; }
#rdvChoiceModal [hidden] { display: none !important; }
#rdvChoiceModal #formulaire { position: static; width: auto; height: auto; padding: 0; background: transparent; overflow: visible; }
#rdvChoiceModal #formulaire > div { animation: none; box-shadow: none; overflow: visible; margin: 0; padding: 0; background: transparent; }
#rdvChoiceModal .gl-rdv-back { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 4px; margin: -12px 0 12px -4px; border: none; background: transparent; color: #f3e6d3; font: 400 13px/1.4 'Segoe UI', Arial, sans-serif; cursor: pointer; }
#rdvChoiceModal .gl-rdv-back svg { display: block; flex: 0 0 16px; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
#rdvChoiceModal .gl-rdv-back span { display: block; font-size: inherit; line-height: 1; }
#rdvChoiceModal #gl-rdv-form-title { font-size: 25px; text-align: center; }
#rdvChoiceModal #formulaire .gl-rdv-intro { font-size: 14px; text-align: center; margin: 12px 0 24px; }
#rdvChoiceModal #contactForm { flex-flow: row wrap !important; gap: 18px 16px !important; text-align: center !important; }
#rdvChoiceModal .gl-rdv-field { display: flex; flex-direction: column; flex: 1 1 calc(50% - 16px); min-width: 0; margin: 0; gap: 8px; }
#rdvChoiceModal .gl-rdv-field > span { color: #fff5e5; font-size: 13px; font-weight: 600; line-height: 1.4; }
#rdvChoiceModal .gl-rdv-field > span > span { color: #efdbc2; font-weight: 400; font-size: 12px; }
#rdvChoiceModal .gl-rdv-wide { flex-basis: 100%; }
#rdvChoiceModal #contactForm :is(input:not([name="website"]):not([type="hidden"]),select,textarea) {
  width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: 11px 12px !important;
  border: 1px solid #cbbbA6 !important; border-radius: 5px !important;
  background: #fffcf7; color: #493a2c; text-align: center !important;
  font: 400 16px/1.4 'Segoe UI', Arial, sans-serif;
  box-shadow: none;
}
#rdvChoiceModal #contactForm textarea { min-height: 104px; height: 112px; resize: vertical; }
#rdvChoiceModal #contactForm input::placeholder, #rdvChoiceModal #contactForm textarea::placeholder { color: #847361; opacity: 1; }
#rdvChoiceModal #contactForm input[name="nom"]::placeholder, #rdvChoiceModal #contactForm input[name="email"]::placeholder,
#rdvChoiceModal #contactForm input[name="telephone"]::placeholder, #rdvChoiceModal #contactForm textarea::placeholder { color: transparent; }
#rdvChoiceModal #contactForm button[type="submit"] { width: 100%; min-height: 49px; border-radius: 6px !important; background: #f3e6d3 !important; color: #5c3b22 !important; font: 600 15px/1.5 'Segoe UI', Arial, sans-serif; cursor: pointer; }
#rdvChoiceModal #contactForm .form-privacy-note { width: 100%; margin: -2px 0 0; color: #f3e6d3; font-size: 11px; line-height: 1.6; text-align: center; font-weight: 400; }
#rdvChoiceModal .form-privacy-note button { color: inherit; font: inherit; }
#rdvChoiceModal #confirmationMessage { padding: 24px 0 !important; font-weight: 400 !important; color: #fff5e5 !important; line-height: 1.7; }
#rdvChoiceModal #confirmationMessage + div button { background: #f3e6d3 !important; color: #5c3b22 !important; min-height: 44px; cursor: pointer; }
#rdvChoiceModal #contactForm button[type="submit"]:hover { background: #fff5e5 !important; }
@keyframes gl-rdv-enter { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width: 600px) {
  #floatingRdvBtn { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 13px 16px; font-size: 13px; }
  #rdvChoiceModal { padding-right: 14px; padding-left: 14px; }
  #rdvChoiceModal .gl-rdv-panel { padding: 46px 23px 27px; }
  #rdvChoiceModal h2 { font-size: 23px; }
  #rdvChoiceModal .gl-rdv-intro { font-size: 14px; }
  #rdvChoiceModal .gl-rdv-kicker { font-size: 10px; letter-spacing: .14em; }
  #rdvChoiceModal .gl-rdv-desktop-break { display: none; }
  #rdvChoiceModal.gl-rdv-form-view .gl-rdv-panel { padding: 24px 21px; }
  #rdvChoiceModal .gl-rdv-field { flex-basis: 100%; }
  #rdvChoiceModal #contactForm { gap: 16px !important; }
}
@media(max-width: 350px) {
  #rdvChoiceModal .gl-rdv-panel { padding-left: 18px; padding-right: 18px; }
  #rdvChoiceModal h2 { font-size: 21px; }
  #rdvChoiceModal .gl-rdv-write { font-size: 13px; }
}
@media(prefers-reduced-motion: reduce) {
  #rdvChoiceModal .gl-rdv-panel { animation: none; }
  #rdvChoiceModal *, #floatingRdvBtn { transition: none; }
}

#floatingRdvBtn > span { display: block; color: inherit; white-space: nowrap; }
#rdvChoiceModal .gl-rdv-panel {
  background: linear-gradient(145deg, #76543c 0%, #6f4e37 45%, #61412e 100%);
  border-color: #b79573;
  box-shadow: inset 0 1px 0 rgb(255 230 196 / 12%), 0 20px 70px rgb(24 17 11 / 25%);
}
#rdvChoiceModal .gl-rdv-intro { color: #f0dfca; }
#rdvChoiceModal .gl-rdv-call, #rdvChoiceModal #contactForm button[type="submit"] {
  background: #e8cda6 !important;
  color: #49301f !important; border: 1px solid #d4b38c !important;
  box-shadow: inset 0 1px 0 rgb(255 249 227 / 55%), 0 2px 4px rgb(32 19 10 / 14%);
}
#rdvChoiceModal .gl-rdv-call:hover, #rdvChoiceModal #contactForm button[type="submit"]:hover { filter: brightness(1.04); }
#rdvChoiceModal .gl-rdv-write { background: rgb(37 23 14 / 8%); border-color: #ba9773; }
#rdvChoiceModal #contactForm :is(input:not([name="website"]):not([type="hidden"]),select,textarea) {
  background: #583e2d; color: #fff4e3;
  border-color: #b49371 !important;
  box-shadow: inset 0 1px 4px rgb(26 15 8 / 14%);
  caret-color: #ffe8c8;
  color-scheme: dark;
}
#rdvChoiceModal #contactForm input::placeholder, #rdvChoiceModal #contactForm textarea::placeholder { color: #e1cab0; }
#rdvChoiceModal #contactForm input[name="nom"]::placeholder, #rdvChoiceModal #contactForm input[name="email"]::placeholder,
#rdvChoiceModal #contactForm input[name="telephone"]::placeholder, #rdvChoiceModal #contactForm textarea::placeholder { color: transparent; }
#rdvChoiceModal #contactForm select option { background: #583e2d; color: #fff4e3; }
#rdvChoiceModal #contactForm input:-webkit-autofill {
  -webkit-text-fill-color: #fff4e3;
  -webkit-box-shadow: 0 0 0 1000px #583e2d inset;
  caret-color: #ffe8c8;
}
#rdvChoiceModal #contactForm :is(input,select,textarea):focus { border-color: #e0bc90 !important; }
#floatingRdvBtn > .gl-rdv-label-short { display: none; }
@media (max-width: 768px), (max-width: 900px) and (pointer: coarse) {
  #floatingRdvBtn {
    top: auto; left: auto;
    right: max(14px, env(safe-area-inset-right));
    bottom: calc(14px + env(safe-area-inset-bottom));
    min-height: 44px; padding: 10px 15px; gap: 0;
    border-radius: 8px; font-size: 13px;
    background: #6f4e37; border-color: #b99870;
    box-shadow: 0 3px 12px rgb(35 22 12 / 18%);
  }
  #floatingRdvBtn:hover, #floatingRdvBtn:active { background: #6f4e37; }
  #floatingRdvBtn > .gl-rdv-label-full { display: none; }
  #floatingRdvBtn > .gl-rdv-label-short { display: block; }
  html { scroll-padding-top: calc(72px + env(safe-area-inset-top)); scroll-padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  footer.footer-bois { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  body:has(nav.nav-bois .menu-list.show) #floatingRdvBtn { visibility: hidden; pointer-events: none; }
  nav.nav-bois {
    box-sizing: border-box; min-height: calc(60px + env(safe-area-inset-top));
    padding: calc(60px + env(safe-area-inset-top)) 0 0;
    background: #6f4e37;
  }
  nav.nav-bois .menu-toggle {
    display: block; top: max(8px, env(safe-area-inset-top));
    right: max(16px, env(safe-area-inset-right));
    width: 44px; height: 44px; line-height: 44px; text-align: center;
  }
  nav.nav-bois .menu-list { display: none; margin: 0; padding: 10px 0; flex-direction: column; max-height: calc(100dvh - 60px - env(safe-area-inset-top)); overflow-y: auto; overscroll-behavior: contain; }
  nav.nav-bois .menu-list.show { display: flex; }
  nav.nav-bois .menu-list li { margin: 10px 0; }

}
@media (max-height: 500px) {
  #rdvChoiceModal:not(.gl-rdv-form-view) .gl-rdv-panel { padding: 40px 24px 22px; }
  #rdvChoiceModal:not(.gl-rdv-form-view) .gl-rdv-kicker,
  #rdvChoiceModal:not(.gl-rdv-form-view) .gl-rdv-rule { display: none; }
  #rdvChoiceModal:not(.gl-rdv-form-view) h2 { font-size: 23px; }
  #rdvChoiceModal:not(.gl-rdv-form-view) .gl-rdv-intro { margin: 12px 0 18px; font-size: 14px; }
  #rdvChoiceModal .gl-rdv-call { min-height: 64px; padding: 10px 20px; }
}
