/* Phone-first participant surface. Keep the Savitri identity; simplify the working UI. */
body.phone-booking { background:linear-gradient(135deg,#fef9e7 0%,#fefbf3 100%)!important; color:#242b32; margin:0; padding:90px 0 0!important; }
body.phone-booking > :not(#phoneBooking):not(#phoneBookingLoading):not(.header):not(#main-header):not(#mobileMenu):not(#mobileMenuBackdrop):not(#sunriseSection):not(#savitriSiteFooter):not(#footer-container):not(dialog):not(script):not(style):not(link) { display:none!important; }
#phoneBookingLoading { margin:32px; font:16px/1.5 system-ui,sans-serif; }
/* Resolve shared-header menu styles against legacy page overrides. */
.phone-booking #mobileMenu { top:0; right:0; height:100dvh; max-height:none; opacity:0; visibility:hidden; transform:translate3d(100%,0,0); }
.phone-booking #mobileMenu.active { opacity:1; visibility:visible; transform:translate3d(0,0,0); }
@media(min-width:1024px) { .phone-booking #mobileMenu,.phone-booking #mobileMenuBackdrop { display:none!important; } }
.pb-app [hidden],.pb-dialog [hidden] { display:none!important; }
.pb-app,.pb-dialog { font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif!important; }
.pb-app p,.pb-app button,.pb-app a,.pb-dialog :is(p,button,h2):not(:where(.rd-tab-site-header *)) { font-family:inherit!important; }
.pb-app { width:100%!important; max-width:880px!important; }
.pb-brand,.pb-dialog > header { background:transparent!important; box-shadow:none!important; position:static!important; }
.pb-app { max-width:880px; margin:auto; padding:0 16px 32px; }
.pb-app *, .pb-dialog * { box-sizing:border-box; font-family:inherit; }
.pb-dialog * { animation:none!important; }
.pb-app button,.pb-dialog button,.pb-button { min-height:44px; cursor:pointer; }
.pb-button { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; border:1px solid #cdc9bf; border-radius:8px; background:white; color:#30343b; font-size:14px; font-weight:600; text-decoration:none; line-height:1.4; }
.pb-button.primary { background:#864b13; border-color:#864b13; color:#fff; }
.pb-button:hover { background:#eeebe4; }
.pb-button.primary:hover { background:#68390d; }
.pb-button:disabled { opacity:.55; cursor:wait; }
.pb-app :focus-visible,.pb-dialog :focus-visible { outline:3px solid #864b13!important; outline-offset:3px; }
.pb-app ::selection,.pb-dialog ::selection { background:#edd8b7; }
.pb-brand { display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:12px 0; }
.pb-brand a { font-size:12px; line-height:1.5; color:#635640; max-width:180px; text-decoration:none; }
.pb-brand a { display:flex; align-items:center; gap:8px; }
.pb-brand a img { flex-shrink:0; width:28px; height:28px; }
.pb-brand button { flex-shrink:0; }
.pb-intro { padding:16px 0 8px; text-align:center; }
.pb-intro img { display:block; width:min(100%,300px); height:auto; margin:0 auto 20px; border-radius:12px; box-shadow:0 10px 24px rgba(120,70,35,.12); }
.pb-intro h1 { font:600 28px/1.2 'Cormorant Garamond',serif!important; letter-spacing:normal; margin:0 0 12px; color:#a34c0b; }
.pb-app .pb-intro p { margin:0; font:400 17px/1.5 'Josefin Sans',sans-serif!important; color:#475569; }
.pb-divider { position:relative; height:1px; margin:28px 0 20px; background:linear-gradient(90deg,transparent,#efbd51,transparent); }
.pb-divider::after { content:''; position:absolute; left:50%; top:50%; width:9px; height:9px; transform:translate(-50%,-50%) rotate(45deg); background:#d98408; outline:8px solid #fefaf0; }
.pb-muted { color:#626970; font-size:14px; }
.pb-timezone { color:#626970; font-size:13px; margin:8px 0 20px; }
.pb-live { margin:8px 0 24px; padding:20px 16px; border:1px solid #88b5ed; border-radius:14px; background:linear-gradient(135deg,#dcecff,#bedaff); color:#204978; text-align:center; }
.pb-live h2 { margin:0 0 16px; font:600 25px/1.25 'Cormorant Garamond',serif!important; color:#234e81; }
.pb-live p { margin:10px 0 0; font-size:14px; overflow-wrap:anywhere; }
.pb-live .pb-live-note { font-size:12px; color:#3c5c80; }
.pb-clock { display:flex; justify-content:center; gap:10px; margin:0 0 18px; font-variant-numeric:tabular-nums; }
.pb-clock > div { min-width:54px; padding:8px; border-radius:8px; background:#9ec4f3; }
.pb-clock strong { display:block; font-size:25px; line-height:1.15; }
.pb-clock span { display:block; margin-top:4px; font-size:11px; text-transform:uppercase; }
@media(min-width:640px) { .pb-live { max-width:680px; margin:8px auto 28px; padding:24px; } .pb-clock { gap:16px; } .pb-clock > div { min-width:68px; } }
.pb-status { font-size:13px; color:#53644f; min-height:20px; }
.pb-summary { margin:8px 0 20px; font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; }
.pb-days { display:flex; gap:8px; overflow-x:auto; padding:4px 3px; margin:0 -3px 16px; }
.pb-days button { flex:1; white-space:nowrap; }
.pb-days [aria-pressed=true] { background:#864b13; color:white; border-color:#864b13; }
.pb-collective { padding:12px 16px; background:#fff1cf; border-radius:8px; margin:0 0 24px; font-size:14px; }
.pb-collective:empty { display:none; }
.pb-collective p { margin:0; }
.pb-schedule h2 { font-size:19px; font-weight:650; margin:0 0 12px; }
.pb-group { margin-bottom:12px; border:1px solid #dcd9d0; background:white; border-radius:10px; overflow:hidden; }
.pb-group summary { display:flex; justify-content:space-between; gap:12px; cursor:pointer; padding:16px; min-height:56px; font-size:14px; font-weight:600; }
.pb-group summary::after { content:'+'; font-size:18px; }
.pb-group[open] summary::after { content:'−'; }
.pb-group summary span:first-child { margin-right:auto; }
.pb-slot { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:14px 16px; border-top:1px solid #efede8; font-variant-numeric:tabular-nums; }
.pb-slot p { margin:0; font-size:14px; }
.pb-slot .pb-muted { font-size:12px; margin-top:3px; overflow-wrap:anywhere; }
.pb-slot button { flex-shrink:0; }
.pb-resources { border-top:1px solid #dcd9d0; padding:16px 0; margin-top:28px; }
.pb-resources > summary { cursor:pointer; min-height:44px; font-weight:600; font-size:14px; }
.pb-resources #authorNoteContent { max-height:none!important; height:auto!important; display:block!important; opacity:1!important; overflow:visible!important; }
.pb-resources .author-note-text,.pb-resources .author-note-text-content { padding:0!important; max-height:none!important; color:#30343b!important; background:none!important; }
.pb-resources img { max-width:100%; height:auto; }
.pb-resources .savitri-verse-card { box-shadow:none!important; background:none!important; color:#30343b!important; }
.pb-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; border-top:1px solid #dcd9d0; padding-top:20px; }
.pb-footer a { color:#6f461c; font-size:13px; min-height:44px; padding:8px 0; }
dialog.pb-dialog { position:fixed; inset:0; transform:none; margin:0; width:100%; max-width:100%; height:var(--pb-view-height,100dvh); max-height:var(--pb-view-height,100dvh); padding:0; border:0; background:#fff; color:#242b32; font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif; }
dialog.pb-dialog:not([open]) { display:none!important; }
dialog.pb-dialog[open] { display:flex!important; flex-direction:column; }
.pb-dialog::backdrop { background:#242b3273; }
.pb-dialog > header { display:flex; align-items:center; justify-content:space-between; padding:16px; gap:16px; border-bottom:1px solid #dedbd3; flex-shrink:0; }
.pb-dialog h2 { font-size:21px; font-weight:650; margin:0; }
.pb-dialog-body { overflow-y:auto; flex:1; padding:20px 16px; min-height:0; }
.pb-dialog > footer { padding:16px 16px max(16px,env(safe-area-inset-bottom)); border-top:1px solid #dedbd3; background:#faf9f6; flex-shrink:0; }
.pb-dialog > footer > .pb-button + .pb-button { margin-left:12px; }
.pb-dialog h2:focus { outline:none; }
.pb-dialog .pb-slot-summary { color:#626970; margin:0 0 24px; font-size:14px; }
.pb-dialog .form-grid { display:grid!important; grid-template-columns:1fr!important; gap:16px!important; }
.pb-dialog .form-group { margin:0 0 18px!important; }
.pb-dialog .form-label { display:block; font-size:14px!important; font-weight:600; color:#30343b!important; margin:0 0 6px!important; letter-spacing:normal; }
.pb-dialog .form-input { width:100%; min-height:48px; padding:10px 12px!important; border:1px solid #b6b7b8!important; border-radius:8px!important; background:white!important; box-shadow:none!important; color:#242b32!important; font:400 16px/1.5 system-ui,sans-serif!important; }
.pb-dialog .form-input::placeholder { color:#697078!important; font-style:normal!important; opacity:1; }
.pb-dialog .input-helper { color:#626970; font-size:13px; }
.pb-dialog .input-helper::before { content:none; }
.pb-dialog .form-buttons { display:flex!important; flex-direction:row!important; justify-content:flex-end; gap:12px!important; margin:0!important; padding:0!important; border:0!important; }
.pb-dialog .form-buttons button { min-height:48px; padding:10px 16px!important; border:1px solid #cdc9bf!important; border-radius:8px!important; background:white!important; color:#30343b!important; box-shadow:none!important; font:600 14px/1.4 system-ui,sans-serif!important; }
.pb-dialog .form-buttons .submit-btn { background:#864b13!important; border-color:#864b13!important; color:white!important; }
.pb-dialog .form-buttons button::before,.pb-dialog .form-buttons button::after { content:none!important; }
.pb-dialog button:disabled { opacity:.55; cursor:wait; }
.pb-error { color:#ae2319; font-size:14px; }
.pb-error:empty { display:none; }
.pb-success { padding:12px; background:#edf4e9; color:#315426; border-radius:8px; margin-bottom:16px; }
#myBookingsList > p { margin:0 0 16px; }
#myBookingsList > div { margin-top:16px; padding:16px; border:1px solid #dcd9d0; border-radius:8px; }
#myBookingsList button { font:600 14px/1.4 system-ui,sans-serif; min-height:44px; border:1px solid #cdc9bf; border-radius:8px; background:#fff; color:#30343b; padding:10px 12px; margin:12px 8px 0 0; }
@media(min-width:640px) { .pb-app { padding:0 32px 40px; } .pb-brand a { max-width:none; font-size:14px; } .pb-intro { padding-top:32px; } .pb-intro h1 { font-size:34px; } dialog.pb-dialog { inset:50% auto auto 50%; transform:translate(-50%,-50%); width:560px; max-width:calc(100vw - 48px); height:auto; max-height:calc(100dvh - 48px); border-radius:14px; } .pb-dialog-body { padding:24px; } }
@media(prefers-reduced-motion:reduce) { .pb-app *, .pb-dialog * { transition:none!important; scroll-behavior:auto!important; } }
@media(min-width:640px) { .pb-intro img { width:min(65%,500px); } .pb-intro h1 { font-size:36px!important; } .pb-divider { margin-top:36px; margin-bottom:24px; } }
