/* Native modal viewport; the SDK owns the content height, not the dialog height. */
html:has(dialog.coast-calendar-dialog[open]){overflow:hidden}
body dialog.coast-calendar-dialog{
 --coast-calendar-width:min(1120px,calc(var(--coast-calendar-vw,100vw) - 40px));
 --coast-calendar-height:min(850px,calc(var(--coast-calendar-vh,100dvh) - 48px));
 box-sizing:border-box;position:fixed;inset:auto;
 left:calc(var(--coast-calendar-x,0px) + (var(--coast-calendar-vw,100vw) - var(--coast-calendar-width))/2);
 top:calc(var(--coast-calendar-y,0px) + (var(--coast-calendar-vh,100dvh) - var(--coast-calendar-height))/2);
 width:var(--coast-calendar-width);height:var(--coast-calendar-height);
 min-width:0;max-width:none;min-height:0;max-height:none;margin:0;padding:0;
 border:0;border-radius:22px;background:#fff;color:#001626;overflow:hidden;
 box-shadow:0 24px 80px rgba(0,22,38,.3);outline:1px solid rgba(0,22,38,.12);
}
body dialog.coast-calendar-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
body dialog.coast-calendar-dialog:not([open]){display:none}
body dialog.coast-calendar-dialog::backdrop{background:rgba(0,22,38,.6)}
.coast-calendar-dialog .coast-calendar-toolbar{
 box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;
 min-width:0;min-height:64px;height:auto;padding:10px 20px;background:#fff;border-bottom:1px solid #e4dfd1;z-index:1;
}
.coast-calendar-dialog .coast-calendar-heading{min-width:0;margin:0;font:600 14px/1.45 Montserrat,sans-serif;color:#001626;overflow-wrap:break-word}
.coast-calendar-dialog .coast-calendar-actions{display:flex;align-items:center;gap:16px;min-width:0}
.coast-calendar-dialog .coast-calendar-external{color:#001626;text-decoration:underline;text-underline-offset:4px;font:500 12px/1.5 Montserrat,sans-serif}
.coast-calendar-dialog .coast-calendar-close{box-sizing:border-box;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;border:1px solid #d5d8da;background:#fff;color:#001626;border-radius:14px;font:400 25px/1 Montserrat,sans-serif;cursor:pointer;padding:0;box-shadow:none}
/* One outer scrolling area; a 320px screen retains all 320px for Calendly. */
.coast-calendar-dialog .coast-calendar-viewport{position:relative;box-sizing:border-box;min-width:0;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#fff}
.coast-calendar-dialog .coast-calendar-viewport::-webkit-scrollbar{width:0;height:0}
.coast-calendar-dialog .coast-calendar-embed{position:relative;display:block;box-sizing:border-box;width:100%;min-width:0;max-width:none;height:750px;margin:0;padding:0;overflow:visible;background:#fff}
body .coast-calendar-dialog .coast-calendar-embed iframe{display:block!important;position:static!important;inset:auto!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important}
.coast-calendar-dialog .coast-calendar-status{position:absolute;top:20px;left:20px;right:20px;text-align:center;font:400 14px/1.6 Montserrat,sans-serif;pointer-events:none;background:#fff;color:#001626}
.coast-calendar-dialog .coast-calendar-status[hidden]{display:none}
.coast-calendar-dialog :focus-visible{outline:3px solid #ad7543;outline-offset:3px}
body dialog.coast-calendar-dialog[data-compact="true"]{--coast-calendar-width:var(--coast-calendar-vw,100vw);--coast-calendar-height:var(--coast-calendar-vh,100dvh);border-radius:0;outline:0}
body dialog.coast-calendar-dialog[data-compact="true"] .coast-calendar-toolbar{min-height:60px;padding:calc(8px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 8px max(12px,env(safe-area-inset-left,0px));gap:8px}
body dialog.coast-calendar-dialog[data-compact="true"] .coast-calendar-heading{font-size:12px}
body dialog.coast-calendar-dialog[data-compact="true"] .coast-calendar-actions{gap:10px}
body dialog.coast-calendar-dialog[data-compact="true"] .coast-calendar-external{max-width:85px;font-size:11px}
body dialog.coast-calendar-dialog[data-compact="true"] .coast-calendar-viewport{padding-bottom:env(safe-area-inset-bottom,0px)}
@supports not(height:100dvh){body dialog.coast-calendar-dialog{--coast-calendar-height:min(850px,calc(var(--coast-calendar-vh,100vh) - 48px))}}
@media(prefers-reduced-motion:reduce){.coast-calendar-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
