/* Visual choices for the standalone public trial and visit form. */
#trial-form .booking-menu { gap: 14px; }
#trial-form .booking-menu-card.booking-menu-illustrated {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  min-height: 245px;
  padding: 0 !important;
  overflow: hidden;
  border: 2px solid #d6e5e6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(20, 70, 79, .08);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
#trial-form .booking-menu-card.booking-menu-illustrated:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(20, 70, 79, .14);
}
#trial-form .booking-menu-card.booking-menu-illustrated[aria-pressed="true"] {
  border-color: #087f9d;
  background: #f2fcff;
  box-shadow: 0 0 0 3px rgba(8, 168, 198, .16), 0 12px 28px rgba(20, 70, 79, .12);
}
#trial-form .booking-menu-card.booking-menu-wall[aria-pressed="true"] {
  border-color: #278952;
  background: #f3fcf5;
  box-shadow: 0 0 0 3px rgba(69, 185, 110, .18), 0 12px 28px rgba(20, 70, 79, .12);
}
#trial-form .booking-menu-card.booking-menu-illustrated[aria-pressed="true"]::after {
  content: "選択中";
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 3px 9px;
  border-radius: 999px;
  color: #fff;
  background: #087f9d;
  font-size: 11px;
  font-weight: 800;
}
#trial-form .booking-menu-card.booking-menu-wall[aria-pressed="true"]::after { background: #278952; }
#trial-form .booking-menu-card .booking-menu-art {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 0 !important;
  overflow: hidden;
  background: #e3f5fb;
}
#trial-form .booking-menu-card .booking-menu-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#trial-form .booking-menu-card.booking-menu-wall .booking-menu-art { background: #e4f4e7; }
#trial-form .booking-menu-card.booking-menu-illustrated > small {
  display: block;
  margin: 14px 17px 2px;
  color: #42636b;
  line-height: 1.4;
  font-size: 11px;
}
#trial-form .booking-menu-card.booking-menu-illustrated > small .store-name {
  font-size: 13px;
  font-weight: 800;
}
#trial-form .booking-menu-card.booking-menu-illustrated > strong {
  display: block;
  margin: 0 17px 2px;
  color: #173c49;
  font-size: clamp(16px, 2.4vw, 21px);
  line-height: 1.4;
}
#trial-form .booking-menu-card.booking-menu-illustrated > span {
  display: block;
  margin: 0 17px 16px;
  color: #526e76;
  line-height: 1.55;
  font-size: 12px;
}
#trial-form .booking-menu-card.booking-menu-illustrated:focus-visible {
  outline: 3px solid #e79a28;
  outline-offset: 3px;
}
@media (max-width: 540px) {
  #trial-form .booking-menu { gap: 9px; }
  #trial-form .booking-menu-card.booking-menu-illustrated { min-height: 217px; border-radius: 15px; }
  #trial-form .booking-menu-card.booking-menu-illustrated > small { margin: 11px 12px 2px; font-size: 10px; }
  #trial-form .booking-menu-card.booking-menu-illustrated > small .store-name { font-size: 12px; }
  #trial-form .booking-menu-card.booking-menu-illustrated > strong { margin: 0 12px 2px; font-size: 15px; }
  #trial-form .booking-menu-card.booking-menu-illustrated > span { margin: 0 12px 13px; font-size: 11px; }
  #trial-form .booking-menu-card.booking-menu-illustrated[aria-pressed="true"]::after { top: 7px; right: 7px; font-size: 10px; padding: 2px 7px; }
}
@media (prefers-reduced-motion: reduce) {
  #trial-form .booking-menu-card.booking-menu-illustrated { transition: none; }
}