.booking-card{background:linear-gradient(145deg,#122634,#0c1722);border:1px solid #436674;border-radius:12px;padding:30px;min-width:0;align-self:start;scroll-margin-top:115px;box-shadow:0 20px 70px -35px #0009}
.booking-head .consultation-label{font:9px/1.7 var(--mono);letter-spacing:.8px;color:#a9dfce;display:flex;align-items:center;gap:8px}
.booking-head h3{font-size:27px;line-height:1.3;letter-spacing:-.8px;margin:18px 0 13px}
.booking-head>p:last-of-type{font-size:13px;line-height:1.8;color:#aac5d1}
.booking-facts{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:20px 0 24px}
.booking-facts li{font-size:9px;line-height:1.6;color:#a7d8cd;border:1px solid #43696585;border-radius:5px;padding:6px 8px;background:#203a413d}
.booking-card .consultation-agenda{border-top:1px solid #304d5d;padding-top:23px}
.booking-access{display:flex;align-items:center;gap:16px;border-top:1px solid #304d5d;padding-top:25px;margin-top:27px}
.booking-access svg{width:47px;height:47px;flex-shrink:0;stroke:#98d8c9;stroke-width:1.3}
.booking-access strong{font-size:14px;color:#d8eee8}
.booking-access p{font-size:11px;line-height:1.8;color:#a0bccb;margin-top:6px}
.booking-privacy{font-size:10px;line-height:1.8;color:#99b2c1;margin:21px 0 19px}
.booking-privacy a,.booking-data-note a{text-decoration:underline;text-underline-offset:3px;color:#bbdcd8}
#load-booking{width:100%;min-height:50px;justify-content:space-between;font-size:13px}
#mobile-booking,.mobile-booking-note{display:none}
.booking-links{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:21px;font-size:11px;line-height:1.8;color:#b1dfd3}
.booking-links a{display:flex;gap:10px;align-items:center;min-height:32px}
.booking-links button{border:0;background:none;color:#a7bbc8;font-size:10px;text-decoration:underline;min-height:32px}
.booking-small{font-size:10px;color:#8ca8ba;line-height:1.9;margin-top:15px}
.booking-written{display:inline-block;font-size:11px;line-height:1.8;color:#b5cbd6;margin-top:20px;border-bottom:1px solid #577b895e;padding-bottom:5px}
.booking-calendar{margin-inline:-19px;border:1px solid #3c5c69;border-radius:10px;overflow:hidden;background:#151b22;box-shadow:0 14px 40px -24px #000a}
.booking-calendar iframe{display:block;width:100%;height:1000px;border:0;background:white;opacity:0;transition:opacity .25s ease-out}
.booking-calendar.is-ready iframe{opacity:1}
/* Render the provider's light interface in dark colors; no iframe DOM access. */
.booking-calendar[data-theme="dark"] iframe{filter:invert(.91) hue-rotate(180deg) saturate(.65)}
.booking-calendar[data-theme="light"] iframe{filter:none}
.booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 17px;background:linear-gradient(110deg,#17323d,#132330);border-bottom:1px solid #3c5c69}
.booking-toolbar-title{display:flex;align-items:center;flex-wrap:wrap;gap:7px 9px;font-size:12px;line-height:1.5;color:#d3ece7}
.booking-toolbar-title i{height:5px;width:5px;border-radius:50%;background:#9ddcc6;box-shadow:0 0 12px #a4e2cd44;flex-shrink:0}
.booking-toolbar-title small{font:8px var(--mono);color:#88b4c0;border-left:1px solid #45646b;padding-left:9px}
#booking-theme-toggle{display:flex;align-items:center;gap:7px;min-height:38px;padding:7px 10px;border:1px solid #52727c80;border-radius:6px;background:#203b4680;color:#b6d3da;font-size:10px;white-space:nowrap}
#booking-theme-toggle>span:first-child{font-size:16px;line-height:1}
#booking-theme-toggle:hover,#booking-theme-toggle:focus-visible{border-color:#93d4c8;color:#e1faf2;background:#294954}
.booking-frame-mount{background:#171717}
.booking-status{font-size:11px;color:#a3c7c8;line-height:1.8;margin-top:15px}
.booking-alternatives{margin-top:45px}
.written-request{border-block:1px solid #34515f;scroll-margin-top:110px}
.written-request>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:25px 0;font-size:17px;color:#d6e5e9}
.written-request>summary::-webkit-details-marker,.booking-data-note>summary::-webkit-details-marker{display:none}
.written-request>summary>span:last-child{font-size:11px;display:flex;align-items:center;gap:20px;color:#a2d9cb}
.written-request summary b{font-size:23px;font-weight:400}
.written-request[open] summary b{transform:rotate(45deg)}
.written-request .contact-form{margin:0 0 28px;max-width:740px}
.booking-data-note{margin-top:24px;scroll-margin-top:110px;max-width:850px}
.booking-data-note>summary{font-size:11px;line-height:1.7;color:#9bb7c7;display:flex;gap:15px;cursor:pointer;list-style:none}
.booking-data-note>summary span{color:#a7d6ca}
.booking-data-note>div{margin-top:17px;display:grid;gap:12px}
.booking-data-note p{font-size:11px;line-height:1.85;color:#92aebe}
@media(max-width:1000px){.booking-card{padding:23px}.booking-head h3{font-size:23px}.booking-facts li{font-size:8px}.booking-calendar{margin-inline:-15px}}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:35px}.booking-card{grid-row:1}.contact-copy{max-width:620px}.booking-calendar iframe{height:1000px}}
@media(max-width:640px){.booking-card{padding:24px 20px;scroll-margin-top:85px}.booking-head h3{font-size:26px}.booking-head .consultation-label{font-size:8px}.booking-facts li{font-size:10px}.booking-access strong{font-size:14px}.booking-access p{font-size:12px}.booking-privacy,.booking-small,.booking-status{font-size:11px}.booking-links{font-size:12px}.booking-links a,.booking-links button,.booking-written{min-height:44px}.booking-links button,.booking-written{font-size:11px}.booking-links{gap:6px 14px;margin-top:15px}.booking-calendar{margin-inline:-13px}.booking-calendar iframe{height:1100px}.booking-alternatives{margin-top:30px}.written-request>summary{align-items:flex-start;flex-direction:column;gap:8px;font-size:19px}.written-request>summary>span:last-child{width:100%;justify-content:space-between;font-size:12px}.booking-data-note>summary,.booking-data-note p{font-size:12px}.written-request{scroll-margin-top:85px}}
@media print{.booking-card,.booking-alternatives{display:none}}
@media(max-width:640px){.booking-toolbar{gap:10px;padding:10px 12px}.booking-toolbar-title{font-size:11px}.booking-toolbar-title small{display:none}#booking-theme-toggle{min-height:44px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.booking-calendar iframe{transition:none}}
@media(forced-colors:active){.booking-calendar[data-theme="dark"] iframe{filter:none}}
@media(max-width:480px){
  #load-booking,.booking-links,.booking-calendar,.booking-status{display:none}
  #mobile-booking{display:flex;width:100%;min-height:50px;justify-content:space-between;font-size:12px;padding-inline:14px}
  .mobile-booking-note{display:block;font-size:10px;line-height:1.7;color:#a6bdcb;margin-top:11px}
}
