/* =============================================================================
 * Care Enquiry Forms — runtime form CSS (1.5.10)
 *
 * Loaded as a real stylesheet from the head so the form's chrome is styled
 * before the form HTML lands. Previously this CSS was injected via JS at
 * the end of modal-form.js — that worked but caused CLS on inline forms,
 * because the user briefly saw an unstyled form before the JS finished
 * parsing and inserted the <style> tag.
 *
 * Covers: modal shell (.cef-mdl, .cef-sb, sidebar variants), form chrome
 * (.cef-mn, .cef-hd, .cef-ct, .cef-ft), inputs/labels/errors (.cef-ip, .cef-ta,
 * .cef-lb, .cef-em, .cef-rq, .cef-field), buttons (.cef-bp, .cef-bb, .cef-bc),
 * pill groups (.cef-sg, .cef-so), callback picker (.cef-cbpick-*), address
 * validation modal (.cef-amd-*), success screen (.cef-sc-*), and the inline-
 * shortcode wrapper (.cef-inline-form, .cef-inline-prerendered).
 * ========================================================================== */

.cef-sb{width:240px;flex-shrink:0;padding:28px 22px;border-right:1px solid rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column;background:#FAF7F9}
/* Default and explicit-left position — sidebar comes first in flex order */
.cef-mdl.cef-sidebar-left{flex-direction:row}
/* Right position — reverse the row so the form sits on the left and the
   sidebar trust panel is on the right (next to the submit button). The
   sidebar's border-right becomes a border-left so the divider stays visible. */
.cef-mdl.cef-sidebar-right{flex-direction:row-reverse}
.cef-mdl.cef-sidebar-right .cef-sb{border-right:none;border-left:1px solid rgba(0,0,0,.06)}
.cef-trust-badge{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.cef-trust-star{width:40px;height:40px;border-radius:12px;background:#BF4A92;color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.cef-trust-score{font-size:20px;font-weight:900;color:#2D1B33;line-height:1}.cef-trust-score span{font-size:13px;font-weight:600;color:#8A7B8F}
.cef-trust-src{font-size:11px;color:#8A7B8F}.cef-trust-div{height:1px;background:rgba(191,74,146,.15);margin:0 0 16px}
.cef-trust-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#8A7B8F;margin-bottom:12px}
.cef-trust-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#5A4D60;margin-bottom:8px;line-height:1.4}
.cef-trust-chk{width:18px;height:18px;border-radius:6px;background:#BF4A92;flex-shrink:0;margin-top:1px;position:relative}
.cef-trust-chk::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:900}
.cef-trust-cta{margin-top:auto;padding-top:16px;border-top:1px solid rgba(0,0,0,.06);text-align:center;font-size:12px;color:#8A7B8F}
.cef-trust-cta a{display:block;font-size:17px;font-weight:800;color:#BF4A92;text-decoration:none;margin-top:4px}
.cef-mn{flex:1;display:flex;flex-direction:column;overflow:hidden;font-family:inherit;min-height:0}
.cef-form{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;margin:0;padding:0}
.cef-hd{padding:24px 28px 0;flex-shrink:0}.cef-hd-ico{font-size:28px;margin-bottom:8px}
.cef-hg{font-size:22px;font-weight:900;margin-bottom:4px;padding-right:44px;color:#BF4A92;line-height:1.25;letter-spacing:-.3px}
/* Multi-step variant — no sidebar to host the title, so it lives above the
   stepper. Slightly smaller than the single-step .cef-hg so the stepper still
   reads clearly below it, but prominent enough that the form identifies
   itself at a glance. */
.cef-hg-multi{font-size:21px;margin-bottom:6px;padding-right:44px;color:#BF4A92;font-weight:900;line-height:1.2;letter-spacing:-.3px}
.cef-shg{font-size:14px;color:#8A7B8F;margin-bottom:20px;line-height:1.5}
.cef-shg-multi{margin-bottom:14px;font-size:13px;line-height:1.45}
/* Sidebar-hosted header — title + subhead at the top of the sidebar column,
   shown when the form has a real sidebar alongside it (single-step popup
   forms). Pulls focus visually so the user sees what they're filling in
   straight away, then the trust panel and other sidebar content follows. */
.cef-sb-head{margin:-4px 0 18px;padding-bottom:18px;border-bottom:1px solid rgba(96,34,118,.12)}
.cef-sb-title{font-size:20px;font-weight:900;color:#BF4A92;line-height:1.2;letter-spacing:-.3px;margin-bottom:6px}
.cef-sb-sub{font-size:13px;color:#5A4D60;line-height:1.45}
/* Mobile fallback for the sidebar-hosted header. Hidden on desktop (sidebar
   is visible there), surfaced below 700px when the sidebar collapses out of
   view. Same .cef-sb-title / .cef-sb-sub typography as the desktop version. */
.cef-sb-head-m{display:none;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(96,34,118,.12)}
/* When the title is hosted by the sidebar, the form column has no .cef-hd
   above the fields. Give .cef-ct a top padding equal to what .cef-hd used
   to provide so the first field doesn't sit flush with the modal top. */
.cef-mn-sbtitle .cef-ct{padding-top:24px}
.cef-step-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cef-step-badge{display:inline-flex;padding:3px 10px;border-radius:20px;background:rgba(191,74,146,.1);font-size:11px;font-weight:800;color:#602276}
.cef-step-label{font-size:13px;font-weight:700;color:#8A7B8F}
/* New stepper (1.5.2): named dots with a connecting line. Replaces the old thin
   bar so users can see which step they're on AND what comes next. */
.cef-stps{position:relative;display:flex;justify-content:space-between;margin:4px 0 22px;padding:0 4px}
.cef-stps-line{position:absolute;left:18px;right:18px;top:14px;height:2px;background:rgba(0,0,0,.08);border-radius:2px;z-index:0}
.cef-stps-line-f{height:100%;background:#BF4A92;border-radius:2px;transition:width .35s cubic-bezier(.16,1,.3,1)}
.cef-stp{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:0}
.cef-stp-d{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;background:#fff;border:2px solid rgba(0,0,0,.1);color:#aaa;transition:all .25s cubic-bezier(.16,1,.3,1)}
.cef-stp-l{font-size:11px;font-weight:700;color:#aaa;text-align:center;letter-spacing:.2px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:84px;transition:color .25s}
.cef-stp-active .cef-stp-d{background:#BF4A92;border-color:#BF4A92;color:#fff;box-shadow:0 0 0 4px rgba(191,74,146,.15)}
.cef-stp-active .cef-stp-l{color:#602276}
.cef-stp-done .cef-stp-d{background:#BF4A92;border-color:#BF4A92;color:#fff}
.cef-stp-done .cef-stp-l{color:#8A7B8F}
@media(max-width:540px){.cef-stps{padding:0}.cef-stp-l{font-size:10px;max-width:60px}}
/* "Why we ask" info button + popover */
.cef-info-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid #d0c8d4;background:transparent;color:#8A7B8F;font-size:11px;font-weight:700;cursor:pointer;margin-left:6px;font-family:inherit;line-height:1;padding:0;vertical-align:middle;transition:all .15s}
.cef-info-btn:hover{border-color:#BF4A92;color:#BF4A92}
.cef-field{position:relative}
.cef-info-pop{position:absolute;top:100%;left:0;right:0;margin-top:6px;padding:10px 14px;background:#2D1B33;color:#fff;border-radius:10px;font-size:12px;line-height:1.5;font-weight:500;z-index:10;box-shadow:0 8px 24px rgba(45,27,51,.2);animation:cefFI .15s ease}
.cef-info-pop::before{content:'';position:absolute;top:-5px;left:24px;width:10px;height:10px;background:#2D1B33;transform:rotate(45deg)}
.cef-step-title{font-size:19px;font-weight:900;color:#2D1B33;margin-bottom:4px;line-height:1.3}
.cef-step-sub{font-size:13px;color:#8A7B8F;margin-bottom:18px;line-height:1.5}
.cef-ct-wrap{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.cef-ct{padding:0 28px 20px}
.cef-ft{padding:14px 28px 22px;flex-shrink:0;display:flex;gap:10px;border-top:1px solid rgba(0,0,0,.06);background:#fff}
/* Inline (shortcode) overrides — when the form is embedded directly in a page
   it inherits the host page's background and shouldn't paint its own footer
   strip or duplicate the page's horizontal padding. The whole .cef-mn wrapper
   becomes a transparent, edge-to-edge container that respects whatever box
   the shortcode is dropped into. */
.cef-inline .cef-ct{padding:0}
.cef-inline .cef-ft{padding:8px 0 0;background:transparent;border-top:0}
.cef-inline.cef-mn-sbtitle .cef-ct{padding-top:0}
.cef-inline .cef-ct-wrap{overflow:visible}

/* Inline-shortcode wrapper (1.5.10).
   - Reserves a stable minimum height so the page doesn't reflow when the JS
     finishes loading and the form first paints. CLS goes from "very visible
     jump" to "essentially zero".
   - Multi-step forms (cost_quote) have steps of very different heights —
     step 3 (care_types) is ~520px tall, step 4 (name_phone) is ~240px. The
     min-height + flex-column layout makes the .cef-ft buttons sit at the
     bottom regardless of step content height, so Continue/Back/Submit don't
     jump around as the user clicks through.
   - For single-step pre-rendered forms there's no step-changing, so the
     min-height is just CLS insurance — once the form is painted the natural
     height takes over. */
.cef-inline-form{
    min-height:480px;
    display:block;
}
.cef-inline-form .cef-mn.cef-inline{
    min-height:480px;
    display:flex;
    flex-direction:column;
}
.cef-inline-form .cef-mn.cef-inline .cef-ct-wrap{
    flex:1 1 auto;
}
.cef-inline-form .cef-mn.cef-inline .cef-ft{
    margin-top:auto;
}
/* Server-pre-rendered inline forms — no skeleton ever shows, so no min-height
   gymnastics needed. Form HTML is in the DOM at first paint, taking its
   natural height. We do still want a sensible minimum so the page doesn't
   look weird on slow stylesheet loads. */
.cef-inline-prerendered{min-height:0}
.cef-inline-prerendered .cef-mn.cef-inline{min-height:0}
.cef-cb{position:absolute;top:14px;right:14px;z-index:10;width:36px;height:36px;border:none;border-radius:12px;background:rgba(0,0,0,.04);color:#999;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.cef-cb:hover{background:rgba(0,0,0,.08);color:#666}
.cef-field{margin-bottom:16px}.cef-lb{display:block;font-size:13px;font-weight:700;margin-bottom:5px;color:#2D1B33}.cef-rq{color:#BF4A92}
.cef-ip{width:100%!important;padding:11px 16px!important;border:1.5px solid #e2dce6!important;border-radius:12px!important;font-size:15px!important;font-family:inherit!important;outline:none!important;background:#fff!important;color:#2D1B33!important;box-sizing:border-box!important;height:auto!important;line-height:normal!important;transition:all .2s}
.cef-ip:focus{border-color:#BF4A92!important;box-shadow:0 0 0 4px rgba(191,74,146,.08)!important}
.cef-ip::placeholder{color:#b8b0bc!important;opacity:1!important}
.cef-er{border-color:#e74c3c!important}.cef-ta{width:100%!important;padding:11px 16px!important;border:1.5px solid #e2dce6!important;border-radius:12px!important;font-size:15px!important;font-family:inherit!important;outline:none!important;min-height:100px!important;max-height:100px!important;resize:none!important;overflow-y:auto!important;background:#fff!important;color:#2D1B33!important;box-sizing:border-box!important;line-height:normal!important;transition:all .2s}.cef-ta:focus{border-color:#BF4A92!important;box-shadow:0 0 0 4px rgba(191,74,146,.08)!important}.cef-ta::placeholder{color:#b8b0bc!important;opacity:1!important}
.cef-em{font-size:12px;color:#e74c3c;margin-top:4px}.cef-hint{font-size:12px;color:#8A7B8F;margin-top:4px}
/* Email typo suggestion (1.5.6) — soft hint when the user's domain looks like
   a known one with a small typo. Click the suggestion to apply, click × to dismiss. */
.cef-typo{font-size:12px;margin-top:6px;color:#8A7B8F;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cef-typo-fix{background:none;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:700;color:#BF4A92;text-decoration:underline;cursor:pointer}
.cef-typo-fix:hover{color:#602276}
.cef-typo-no{background:none;border:none;padding:0;font-family:inherit;font-size:14px;color:#bfb8c2;cursor:pointer;line-height:1;margin-left:auto}
.cef-typo-no:hover{color:#8A7B8F}
.cef-sg{display:grid;gap:8px;margin-bottom:16px}.cef-sg-c1{grid-template-columns:1fr}.cef-sg-c2{grid-template-columns:1fr 1fr}.cef-sg-c4{grid-template-columns:repeat(4,1fr)}
/* Pill-style sg: shorter, more horizontal — used for looking_for / delivery_method */
.cef-sg-pill .cef-so{padding:11px 14px;min-height:48px}
.cef-sg-pill .cef-so-ico{display:none}
/* Card-style sg: bigger emoji, more padding, more "browseable" — used for the
   cost calculator's duration step and care_types step. Selection state has a
   stronger visual lift than the default pill style. */
.cef-sg-card{gap:10px;margin-bottom:20px}
.cef-sg-card .cef-so{padding:18px 18px;min-height:64px;font-size:15px;border-width:2px;border-radius:14px}
.cef-sg-card .cef-so-ico{font-size:28px;width:40px;text-align:center}
.cef-sg-card .cef-so-lbl{font-size:15px;font-weight:700}
.cef-sg-card .cef-so-desc{font-size:12px;margin-top:3px}
.cef-sg-card .cef-so:hover{border-color:#BF4A92;background:#FDFAFC}
.cef-sg-card .cef-so-a{border-color:#BF4A92;background:#FDFAFC;box-shadow:0 0 0 4px rgba(191,74,146,.08)}
/* Two-column row for paired Email + Phone fields on the brochure forms */
.cef-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.cef-2col .cef-field{margin-bottom:0}
@media(max-width:550px){.cef-2col{grid-template-columns:1fr;gap:0}.cef-2col .cef-field:first-child{margin-bottom:16px}}
.cef-so{padding:12px 14px;border:1.5px solid #e2dce6;border-radius:12px;cursor:pointer;background:#fff;font-family:inherit;font-size:13px;color:#2D1B33;display:flex;align-items:center;gap:10px;transition:all .15s;text-align:left}
.cef-so:hover{border-color:#cbc4cf;background:#FDFAFC}.cef-so-a{border-color:#BF4A92;background:#F9F0F6;box-shadow:0 0 0 3px rgba(191,74,146,.08)}
.cef-so-ico{font-size:18px;flex-shrink:0}.cef-so-text{flex:1;min-width:0}.cef-so-lbl{font-weight:600;display:block}.cef-so-desc{font-size:11px;color:#8A7B8F;display:block;margin-top:1px}
.cef-so-rad{width:18px;height:18px;border-radius:50%;border:2px solid #d0c8d4;flex-shrink:0;transition:all .15s}.cef-so-a .cef-so-rad{border-color:#BF4A92;background:#BF4A92;box-shadow:inset 0 0 0 3px #fff}.cef-so-a .cef-so-lbl{color:#602276}
.cef-bp{flex:1;padding:13px 22px;border:none;border-radius:12px;background:#BF4A92;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;box-shadow:0 2px 8px rgba(191,74,146,.2)}
.cef-bp:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px rgba(191,74,146,.3)}.cef-bp:disabled{background:#e0dbe3;color:#aaa5ae;cursor:default;box-shadow:none}
.cef-bp-a{font-size:16px;transition:transform .2s}.cef-bp:hover:not(:disabled) .cef-bp-a{transform:translateX(2px)}
.cef-bp-loading{pointer-events:none;position:relative;color:transparent!important}.cef-bp-loading::after{content:'';position:absolute;width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:cefSpin .6s linear infinite}
@keyframes cefSpin{to{transform:rotate(360deg)}}
.cef-bp-close{width:auto;flex:none;padding:12px 32px;background:transparent;color:#8A7B8F;box-shadow:none;border:1.5px solid #e2dce6}.cef-bp-close:hover:not(:disabled){background:#f8f5f9;color:#602276;border-color:#BF4A92;box-shadow:none;transform:none}
.cef-bb{padding:13px 20px;border:1.5px solid #e2dce6;border-radius:12px;background:#fff;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;color:#5A4D60;display:flex;align-items:center;gap:6px;transition:all .15s}.cef-bb:hover{border-color:#BF4A92;color:#BF4A92}
.cef-bm{margin-top:8px;padding:10px 14px;border-radius:10px;background:#F9F0F6;font-size:13px;color:#602276;display:none;align-items:center;gap:6px;animation:cefFI .3s ease}.cef-bm strong{color:#BF4A92}.cef-bm-d{color:#8A7B8F;font-size:12px}
@keyframes cefFI{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cef-bc{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;border:1.5px solid #e2dce6;border-radius:12px;cursor:pointer;background:#fff;font-family:inherit;font-size:14px;font-weight:600;color:#2D1B33;transition:all .15s;text-align:left;margin-top:16px}.cef-bc:hover{border-color:#BF4A92;background:#FDFAFC}.cef-bc-a{border-color:#BF4A92;background:#F9F0F6}
.cef-bx{width:20px;height:20px;border-radius:6px;border:2px solid #d0c8d4;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.cef-bc-a .cef-bx{background:#BF4A92;border-color:#BF4A92}
.cef-sc{text-align:center;padding:50px 32px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:cefFI .4s ease}
.cef-sc-anim{position:relative;width:72px;height:72px;margin-bottom:20px}
.cef-sc-ring{position:absolute;inset:0;border-radius:50%;background:rgba(191,74,146,.12);animation:cefPulse 2s ease-in-out infinite}
@keyframes cefPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.7}}
.cef-sc-check{position:absolute;inset:8px;border-radius:50%;background:#BF4A92;display:flex;align-items:center;justify-content:center}
.cef-sc-title{font-size:22px;font-weight:900;color:#2D1B33}.cef-sc-sub{font-size:15px;color:#8A7B8F;margin-top:6px;max-width:340px;line-height:1.6}.cef-sc-sub strong{color:#BF4A92}
.cef-sc-call{margin-top:24px;padding:20px 24px;border-radius:16px;background:#F9F0F6;border:1px solid rgba(191,74,146,.12);width:100%;max-width:320px}
.cef-sc-call-lbl{font-size:13px;color:#602276;font-weight:700;margin-bottom:10px}
.cef-sc-call-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 28px;border-radius:12px;background:#BF4A92;color:#fff;text-decoration:none;font-size:17px;font-weight:800;box-shadow:0 2px 8px rgba(191,74,146,.2)}
.cef-sc-call-hrs{font-size:11px;color:#8A7B8F;margin-top:8px}
.cef-sc-hrs{margin-top:20px;padding:12px 16px;border-radius:12px;background:#f8f5f9;font-size:13px;color:#8A7B8F;max-width:320px}
.cef-mt{margin-top:20px;padding:18px;background:#FAF7F9;border-radius:14px;border:1px solid rgba(191,74,146,.08)}
.cef-hp{position:absolute;left:-9999px}
@media(max-width:700px){.cef-sb{display:none}.cef-mt{display:block}.cef-sb-head-m{display:block}.cef-mn-sbtitle .cef-ct{padding-top:16px}.cef-sg-c4{grid-template-columns:1fr 1fr}.cef-sg-c2.cef-sg-card{grid-template-columns:1fr}.cef-hd{padding:20px 20px 0}.cef-ct{padding:0 20px 16px}.cef-ft{padding:12px 20px 18px}.cef-hg{font-size:19px}.cef-step-title{font-size:17px}.cef-inline .cef-ct{padding:0}.cef-inline .cef-ft{padding:8px 0 0}.cef-inline.cef-mn-sbtitle .cef-ct{padding-top:0}}

/* ===== Verification (1.3.0) ===== */
.cef-vfy-row{display:flex;gap:8px;align-items:stretch}
.cef-vfy-row .cef-ip{flex:1;min-width:0}
.cef-vfy-btn{flex-shrink:0;padding:0 16px;border:1.5px solid #BF4A92;border-radius:12px;background:#fff;color:#BF4A92;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;height:auto}
.cef-vfy-btn:hover:not(:disabled){background:#F9F0F6;color:#602276}
.cef-vfy-btn:disabled{opacity:.5;cursor:default}
.cef-vfy-ok{display:inline-flex;align-items:center;gap:4px;padding:0 14px;border-radius:12px;background:#e8f5ed;color:#27ae60;font-size:12px;font-weight:700;flex-shrink:0}
.cef-ip-vfy{padding-right:14px!important}
.cef-ip-verified{background:#f8fcf9!important;border-color:#27ae60!important;color:#1a6e3a!important;cursor:default}
.cef-vfy-codebar{display:flex;gap:8px;margin-top:8px}
.cef-vfy-codebar .cef-ip{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.3em;font-size:17px;text-align:center}
.cef-vfy-confirm{flex-shrink:0;padding:0 18px;border:none;border-radius:12px;background:#BF4A92;color:#fff;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.cef-vfy-confirm:disabled{opacity:.5;cursor:default}
.cef-vfy-msg{margin-top:6px;font-size:12px;color:#8A7B8F;line-height:1.4}
.cef-vfy-msg.cef-vfy-bad{color:#e74c3c}

/* ===== Address modal (1.3.0) ===== */
.cef-amd-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;border:1.5px solid #e2dce6;border-radius:12px;background:#fff;cursor:pointer;font-family:inherit;font-size:15px;text-align:left;color:#2D1B33;transition:all .15s}
.cef-amd-trigger:hover{border-color:#BF4A92;background:#FDFAFC}
.cef-amd-trigger.cef-er{border-color:#e74c3c}
.cef-amd-trigger.cef-amd-has{border-color:#BF4A92;background:#FDFAFC}
.cef-amd-icon{font-size:16px;flex-shrink:0}
.cef-amd-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cef-amd-placeholder{color:#b8b0bc}
.cef-amd-arrow{font-size:20px;color:#b8b0bc;flex-shrink:0;line-height:1}
.cef-amd-ov{position:fixed;inset:0;z-index:2147483001;background:rgba(20,10,25,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:cefFI .25s ease}
.cef-amd-card{width:100%;max-width:520px;background:#fff;border-radius:20px;padding:28px 28px 24px;position:relative;box-shadow:0 25px 80px rgba(45,27,51,.3);font-family:inherit}
.cef-amd-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;border-radius:12px;background:rgba(0,0,0,.04);color:#999;cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center;justify-content:center}
.cef-amd-close:hover{background:rgba(0,0,0,.08);color:#666}
.cef-amd-h{font-size:20px;font-weight:900;color:#BF4A92;margin-bottom:6px;line-height:1.25}
.cef-amd-sub{font-size:13px;color:#8A7B8F;margin-bottom:18px}
.cef-amd-input{width:100%}
.cef-amd-status{font-size:13px;color:#27ae60;margin-top:10px;min-height:18px;font-weight:600}
.cef-amd-foot{margin-top:18px;display:flex;justify-content:flex-end}
.cef-amd-confirm{flex:none;padding:11px 26px}
@media(max-width:700px){.cef-amd-card{margin:16px;padding:24px 22px 20px}.cef-amd-h{font-size:18px}}

/* Callback calendar+slot picker — used by the [bestTime] field on the
   callback intent. Matches the standalone shortcode (class-cef-callback.php)
   so the popup and inline surfaces look identical. */
.cef-cbpick-box{background:#FAF7F9;border:1px solid #ECE3EE;border-radius:14px;padding:14px}
.cef-cbpick-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cef-cbpick-day{padding:10px 2px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;line-height:1.1;border:1.5px solid #e2dce6;background:#fff;color:#2D1B33;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cef-cbpick-day:hover:not(:disabled){border-color:#cbc4cf;background:#FDFAFC}
.cef-cbpick-day-a{border-color:#BF4A92!important;background:#BF4A92!important;color:#fff!important;box-shadow:0 0 0 3px rgba(191,74,146,.12)}
/* Day with at least one slot picked but not currently being viewed — pale pink
   fill so the user can see at a glance which days they've already selected. */
.cef-cbpick-day-p{background:#F9F0F6;border-color:#E8C9DD;color:#602276}
.cef-cbpick-day-p:hover:not(:disabled){background:#F2E0EC;border-color:#D9A8C8}
.cef-cbpick-day-d{opacity:.45;cursor:not-allowed;color:#bbb}
.cef-cbpick-times{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.cef-cbpick-time{padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;border:1.5px solid #e2dce6;background:#fff;color:#2D1B33;transition:all .15s}
.cef-cbpick-time:hover:not(:disabled){border-color:#cbc4cf;background:#FDFAFC}
.cef-cbpick-time-a{border-color:#BF4A92!important;background:#BF4A92!important;color:#fff!important}
.cef-cbpick-time-d{opacity:.4;cursor:not-allowed}
.cef-cbpick-empty{font-size:13px;color:#8A7B8F;margin-top:12px;text-align:center}
/* At-cap message — appears when the user has hit CEF_CB_MAX_PICKS picks.
   Pulses briefly when the user clicks a disabled slot for stronger feedback. */
.cef-cbpick-cap{font-size:13px;color:#602276;background:#F9F0F6;border:1px solid #E8C9DD;border-radius:10px;padding:10px 12px;margin-top:12px;text-align:center;font-weight:600}
.cef-cbpick-cap.cef-cbpick-cap-pulse{animation:cefCapPulse .35s ease}
@keyframes cefCapPulse{0%{transform:scale(1)}50%{transform:scale(1.025);background:#F2E0EC}100%{transform:scale(1)}}
/* Multi-select chip strip — list of picked (date, slot) pairs with × to remove */
.cef-cbpick-picks{margin-top:14px;padding-top:12px;border-top:1px solid #ECE3EE}
.cef-cbpick-picks-h{font-size:11px;font-weight:700;color:#8A7B8F;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;letter-spacing:.3px;text-transform:uppercase}
.cef-cbpick-picks-c{font-size:11px;font-weight:700;color:#BF4A92;background:#F9F0F6;padding:2px 8px;border-radius:999px;letter-spacing:0;text-transform:none}
.cef-cbpick-picks-list{display:flex;flex-wrap:wrap;gap:6px}
.cef-cbpick-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:999px;font-size:12px;font-weight:600;font-family:inherit;border:1.5px solid #BF4A92;background:#F9F0F6;color:#602276;cursor:pointer;transition:all .15s}
.cef-cbpick-chip:hover{background:#F2E0EC}
.cef-cbpick-chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#BF4A92;color:#fff;font-size:13px;line-height:1;font-weight:700}
