.tm-booking-safety{margin:0 0 1.5rem;padding:1.25rem;border:1px solid #d8e7e6;border-left:4px solid #107d85;border-radius:16px;background:#fff;color:#183a40;overflow-wrap:anywhere}
.tm-booking-safety h2{margin:0 0 .6rem;font-size:1.1rem;line-height:1.5}
.tm-booking-safety p{margin:.5rem 0;line-height:1.75;font-size:.9rem}
.tm-booking-safety nav{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:.75rem 0}
.tm-booking-safety nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.25em;font-weight:700}
.tm-booking-safety a:focus-visible{outline:3px solid #107d85;outline-offset:3px}
.tm-booking-safety .tm-booking-safety__note{font-size:.8rem;color:#52686e}
@media(max-width:600px){.tm-booking-safety nav{flex-direction:column;align-items:flex-start}}

body.tm-school-booking {
  --tm-school-ink: #183a40;
  --tm-school-line: #d8e7e6;
  --tm-school-accent: #dc6745;
  --tm-school-soft: #fff5e9;
}
body.tm-school-booking--wall {
  --tm-school-accent: #107d85;
  --tm-school-soft: #eaf8f4;
}
.tm-school-booking .tm-location-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 1rem;
  margin: 0 0 1.5rem;
  padding: clamp(1.4rem, 4vw, 2.6rem);
  border: 1px solid var(--tm-school-line);
  border-radius: 24px;
  background: linear-gradient(125deg, #fff 10%, var(--tm-school-soft) 100%);
  color: var(--tm-school-ink);
  box-shadow: 0 12px 30px rgba(17, 55, 63, .06);
}
.tm-school-booking .tm-location-hero::after {
  content: "";
  position: absolute;
  width: 12rem;
  height: 12rem;
  right: -4rem;
  top: -5rem;
  border: 2.5rem solid var(--tm-school-accent);
  border-radius: 50%;
  opacity: .1;
  pointer-events: none;
}
.tm-school-booking .tm-location-hero > * { position: relative; z-index: 1; }
.tm-school-booking .tm-location-hero__eyebrow {
  margin: 0;
  color: var(--tm-school-accent);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
}
.tm-school-booking .tm-location-hero h1 {
  margin: 0;
  color: var(--tm-school-ink);
  font-size: clamp(1.65rem, 5vw, 2.5rem);
  line-height: 1.35;
}
.tm-school-booking .tm-location-hero p:not(.tm-location-hero__eyebrow) {
  max-width: 45rem;
  margin: 0;
  line-height: 1.75;
}
.tm-school-booking .tm-location-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem 1.2rem;
}
.tm-school-booking .tm-location-hero__badge {
  display: inline-flex;
  padding: .45rem .85rem;
  border-radius: 999px;
  background: var(--tm-school-accent);
  color: #fff;
  font-weight: 700;
  font-size: .85rem;
}
.tm-school-booking .tm-location-hero__meta a {
  color: var(--tm-school-ink);
  text-underline-offset: .22em;
  font-size: .9rem;
}
.tm-school-booking #trial-form .booking-menu {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.tm-school-booking--box #trial-form [data-booking-menu^="wall:"],
.tm-school-booking--wall #trial-form [data-booking-menu^="box:"],
.tm-school-booking #trial-form .tm-location-store-field { display: none !important; }
.tm-school-booking #trial-form .booking-menu-card[aria-pressed="true"] {
  border-color: var(--tm-school-accent);
  box-shadow: 0 0 0 2px var(--tm-school-accent);
}
@media (max-width: 600px) {
  .tm-school-booking .tm-location-hero { border-radius: 18px; }
  .tm-school-booking #trial-form .booking-menu { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-school-booking #trial-form .booking-menu-card { min-width: 0; }
}
