.link-arrow { display:inline-block; width:.9em; height:.9em; vertical-align:-.1em; flex:none; }
.nav-drawer .drawer-close:focus { outline:2px solid #40513b; outline-offset:3px; }
@media (pointer:coarse) { .nav-drawer .drawer-close:focus:not(:focus-visible) { outline:none; } }
.confirmed-visit { min-width:0; max-width:100%; display:grid; gap:.45rem; align-content:start; }
.confirmed-visit time { display:block; box-sizing:border-box; min-width:0; padding:.75rem; border:1px solid #859477; border-radius:8px; overflow-wrap:anywhere; }

.demo-booking-success {
  background: #e4f2e5;
  color: #20432a;
  border: 2px solid #467252;
  border-radius: 12px;
  padding: 16px;
  margin: 0 0 16px;
  scroll-margin-top: 100px;
}
.home-discover .discovery-cards article > div {
  display: grid;
  justify-items: center;
  align-content: center;
  text-align: center;
}
.home-discover .discovery-cards h3,
.home-prepare .prepare-grid h3 { text-wrap: balance; }
.home-discover .discovery-cards p { max-width: 34ch; }

.home-next > .shell > .eyebrow,
.home-next .appointment-title { text-align: center; }
.home-next .next-date {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-content: center;
  align-self: stretch;
  gap: 16px;
  text-align: center;
}
.home-next .next-date time { width: auto; text-align: left; }
.home-next .next-hour { margin: 0; }
.home-next [hidden] { display: none !important; }
.home-next .next-details .button { margin: 0 auto; }
.home-next .group-invite {
  display: flex;
  justify-content: center;
  padding-top: 16px;
}
.home-next .group-invite .text-link { margin: 0; white-space: normal; }

.home-prepare .section-heading { align-items: center; }
.home-prepare .prepare-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}
.home-prepare .prepare-grid article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  align-items: start;
  gap: 13px;
  padding: 20px;
  text-align: left;
}
.home-prepare .prepare-grid article > svg {
  width: 24px;
  height: 24px;
  margin: 1px 0 0;
}
.home-prepare .prepare-grid h3 { margin: 0 0 6px; }
.home-prepare .prepare-grid p { margin: 0; }
.home-prepare .prepare-grid > article {
  align-content: center;
  background: #dbe4cf;
  border-color: #9eaf92;
}
.home-prepare .prepare-advice {
  display: grid;
  grid-template-rows: 1fr 1fr;
  border: 1px solid #62755e;
  border-radius: 13px;
  background: #304735;
}
.home-prepare .prepare-grid .prepare-advice article {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding-block: 14px;
}
.home-prepare .prepare-grid .prepare-advice article + article {
  border-top: 1px solid #62755e;
}
.home-prepare .prepare-advice h3 { color: #fff8e9; }
.home-prepare .prepare-advice p { color: #e2eadd; }
.home-prepare .prepare-advice article > svg { color: #d6e1bb; }
@media (max-width: 700px) {
  .home-prepare .prepare-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
:is(.home-prepare, .home-news) .home-action {
  display: inline-flex;
  align-items: center;
  gap: .55em;
  margin-top: 14px;
  padding: 9px 15px;
  border: 1px solid #40513b;
  border-radius: 7px;
  background: #f7f3e9;
  color: #273b2b;
  font-size: .9rem;
  font-weight: 600;
  text-decoration: none;
}
:is(.home-prepare, .home-news) .home-action:hover,
:is(.home-prepare, .home-news) .home-action:focus-visible {
  background: #314733;
  color: #fff8e9;
}
:is(.home-prepare, .home-news) .home-action .link-arrow {
  width: .85em;
  height: .85em;
  margin: 0;
  color: currentColor;
}

@media (min-width: 761px) {
  .home-discover .discovery-cards article > div { align-content: start; }
  .home-discover .discovery-cards h3 { min-height: 2lh; }
}
@media (max-width: 760px) {
  [data-page="index"] .home-next > .shell { padding: 24px 18px; }
  .home-next .appointment-title { font-size: 24px; margin-bottom: 18px; }
  .home-next .next-layout { gap: 18px; }
  .home-next .next-date { gap: 10px; padding-bottom: 16px; }
  .home-next .next-date time strong { font-size: clamp(42px, 10vw, 58px); }
  .home-next .next-date time span:last-child { font-size: 16px; }
  .home-next .next-hour strong { font-size: 18px; }
  .home-next .group-invite { text-align: center; }
}

/* Les sélecteurs natifs iOS ont une largeur intrinsèque. */
.reservation-layout > *,
.reservation-layout .site-form label {
  min-width: 0;
}
.reservation-layout input[type="date"],
.reservation-layout select {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 760px) {
  .reservation-layout .site-form label[for="groupe-date"] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  .reservation-layout .site-form #groupe-date {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }
  .reservation-layout #groupe-date::-webkit-date-and-time-value {
    min-width: 0;
    margin: 0;
    text-align: left;
  }
}
