/* Booking modal for standalone treatment detail pages.
   Mirrors the booking overlay used by the main React site. */
.tl-booking-modal[hidden]{display:none!important}
.tl-booking-modal{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:rgba(20,37,27,.88);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.tl-booking-shell{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;background:#fbf7ee;box-shadow:0 25px 70px rgba(0,0,0,.32)}
.tl-booking-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(25,44,32,.12);background:#fbf7ee;padding:.875rem 1.25rem}
.tl-booking-title{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.15rem;font-weight:400;color:#1b2b20;line-height:1.2}
.tl-booking-subtitle{margin:.25rem 0 0;font-size:.75rem;color:rgba(27,43,32,.58)}
.tl-booking-actions{display:flex;flex-shrink:0;align-items:center;gap:.75rem}
.tl-booking-external{font-size:.75rem;font-weight:500;color:#334e3a;text-decoration:none}
.tl-booking-external:hover{text-decoration:underline;text-underline-offset:4px}
.tl-booking-close{display:inline-flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border:0;background:rgba(27,43,32,.06);color:#1b2b20;cursor:pointer;transition:background .2s ease}
.tl-booking-close:hover{background:rgba(27,43,32,.12)}
.tl-booking-close svg{height:1.25rem;width:1.25rem}
.tl-booking-frame{min-height:0;width:100%;flex:1;border:0;background:#fff}
@media (min-width:640px){
  .tl-booking-modal{padding:1rem}
  .tl-booking-head{padding:.875rem 1.75rem}
  .tl-booking-title{font-size:1.25rem}
}
@media (min-width:1024px){.tl-booking-modal{padding:2rem}}
@media (max-width:639px){.tl-booking-external,.tl-booking-subtitle{display:none}}
