/* Static mini program code for the existing contact page. */
.miniapp-booking {
  --booking-ink: var(--xd-navy, #082d50);
  --booking-muted: var(--xd-muted, #526d7c);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 268px;
  gap: 28px;
  align-items: center;
  margin: 24px 0;
  padding: 32px;
  border: 1px solid #c5deea;
  border-top: 4px solid var(--xd-teal, #15aaa7);
  border-radius: 16px;
  background: var(--xd-mist, #eef7fb);
  color: var(--booking-ink);
  scroll-margin-top: 100px;
}
.miniapp-booking .miniapp-kicker {
  margin: 0 0 8px;
  color: var(--xd-action-teal, #087f83);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .06em;
}
.miniapp-booking h2 {margin: 0 0 12px; font-size: clamp(26px, 3vw, 34px); line-height: 1.3;}
.miniapp-booking .miniapp-lead {margin: 0; font-size: 17px; line-height: 1.8;}
.miniapp-booking .miniapp-steps {margin: 16px 0; padding-left: 1.4em; line-height: 1.8; font-size: 16px;}
.miniapp-booking .miniapp-steps li {margin: 3px 0; padding-left: 3px;}
.miniapp-booking a {color: var(--xd-deep-blue, #0b5db5); text-decoration: underline; text-underline-offset: 3px;}
.miniapp-booking .miniapp-help {margin: 10px 0 0; font-size: 14px; color: var(--booking-muted); line-height: 1.7;}
.miniapp-booking .miniapp-qr {
  margin: 0;
  padding: 16px;
  border: 1px solid #d4e5ee;
  border-radius: 12px;
  background: #fff;
  text-align: center;
}
.miniapp-booking .miniapp-qr-link {display: block; border-radius: 8px; text-decoration: none;}
.miniapp-booking .miniapp-qr img {display: block; width: 100%; max-width: 234px; height: auto; aspect-ratio: 1; margin: 0 auto; object-fit: contain;}
.miniapp-booking .miniapp-qr figcaption {margin-top: 8px; font-size: 14px; line-height: 1.6; color: var(--booking-ink);}
.miniapp-booking .miniapp-qr figcaption strong {display: block; font-size: 16px;}
.miniapp-booking .miniapp-qr .miniapp-qr-large {display: inline-flex; align-items: center; min-height: 44px;}
.miniapp-booking a:focus-visible,
.consult-details > summary:focus-visible {outline: 3px solid var(--xd-deep-blue, #0b5db5); outline-offset: 4px;}
.contact-grid .consult-details {align-self: start;}
.consult-details > summary {min-height: 44px; color: var(--xd-navy, #082d50); font-size: 21px; font-weight: 700; line-height: 1.5; cursor: pointer;}
.consult-details > summary small {display: block; margin: 5px 0 0 20px; color: var(--xd-muted, #526d7c); font-size: 14px; font-weight: 400;}
.consult-details[open] > summary {margin-bottom: 20px;}
.consult-details .consult-details-body > p:first-child {margin-top: 0; color: var(--xd-muted, #526d7c); line-height: 1.7;}
@media (max-width: 768px) {
  .miniapp-booking {grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px; scroll-margin-top: 76px;}
  .miniapp-booking .miniapp-lead {font-size: 16px;}
  .miniapp-booking .miniapp-steps {margin: 12px 0; font-size: 15px;}
  .miniapp-booking .miniapp-qr {box-sizing: border-box; width: min(100%, 254px); justify-self: center; padding: 12px;}
  .miniapp-booking .miniapp-qr img {max-width: 228px;}
}
@media (max-width: 380px) {
  .miniapp-booking {padding: 18px;}
  .miniapp-booking h2 {font-size: 25px;}
}
@media (prefers-reduced-motion: reduce) {
  .miniapp-booking *, .consult-details {scroll-behavior: auto !important; transition: none !important; animation: none !important;}
}
