/* =============================================================================
 * 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.

   1.5.14: explicitly cancel the modal-only overflow:hidden on .cef-mn and
   .cef-form for inline embeds. Those rules exist to clip the modal's
   rounded corners and keep scrolling inside .cef-ct-wrap; on an inline
   embed they have no purpose AND they break position:sticky on .cef-ft,
   because sticky pins to the nearest scrolling-or-clipping ancestor — so
   with overflow:hidden on .cef-mn, "sticky bottom" meant "bottom of the
   form box" (the very thing whose height was changing per step), not
   "bottom of the viewport". That's why the buttons appeared to move with
   the step content height even though the rule said sticky. Removing the
   clip lets sticky reach the viewport. */
.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}
.cef-mn.cef-inline{overflow:visible}
.cef-mn.cef-inline .cef-form{overflow:visible}

/* Inline-shortcode wrapper (1.5.20).
   Buttons sit in a position:fixed bar at the bottom of the viewport,
   centred on screen with a translucent purple background and
   backdrop-blur. Same pattern as the jobs.alinahomecare.com additional-
   questions form — fixed bypasses every containing-block trap (Blocksy's
   #main-container with overflow:clip, body-as-scroll-container, etc.) by
   pinning to the viewport regardless of ancestor styles.

   Scoped to .cef-inline-prerendered-multistep so it only applies to
   cost_quote. Single-step inline forms (brochures, callbacks) are short
   enough that a fixed bar would look detached from the form, so they
   keep the natural-flow footer below. */
.cef-inline-form{
    display:block;
}
.cef-inline-form .cef-mn.cef-inline .cef-ft{
    flex-shrink:0;
    padding:14px 0 8px;
    background:transparent;
    border-top:1px solid rgba(0,0,0,.06);
    margin-top:0;
}
/* Server-pre-rendered single-step forms: footer with no border, sits
   flush below the fields. The multi-step prerender (cost_quote) handles
   its footer with the fixed-bar rule below. */
.cef-inline-prerendered:not(.cef-inline-prerendered-multistep) .cef-mn.cef-inline .cef-ft{
    border-top:0;
    padding:8px 0 0;
}

/* =============================================================================
   Quote form (cost_quote inline) — full visual redesign (1.5.22).
   Scoped to .cef-inline-prerendered-multistep so it doesn't affect the popup
   modal or other inline forms (brochures, callbacks). All overrides use !important
   because the base form.css rules above for .cef-mn / .cef-hd / .cef-ft etc.
   are stronger by specificity.

   1.5.22 changes vs 1.5.21:
   - Pink wrapper no longer attempts viewport-edge full-bleed. The
     margin:calc(50% - 50vw) trick caused horizontal overflow because
     #main-container (Blocksy theme) has overflow:clip, which both clips
     the left edge AND triggers a horizontal scroll on the right when
     50vw exceeds the container width minus the scrollbar gutter. Now
     the pink section fills the form's natural container width — clean
     and no overflow.
   - Care types step (cef-sg-c3) is 3-col on desktop again, dropping to
     2-col then 1-col on smaller viewports.
   - Duplicate radio dot fixed: the base form's .cef-so-rad element is
     hidden (we draw the radio bullet via ::before instead).
   - Buttons widened.
   ========================================================================== */

/* The whole quote wrapper becomes a full-bleed pink panel. The
   margin:calc(50% - 50vw) trick extends the element from its container
   to the viewport edges; the JS init step in cefInlineFormInit clears
   overflow:clip from any ancestor that would otherwise block the bleed
   (Blocksy's #main-container, etc.) and sets body overflow-x:clip as
   a safety net against page-wide horizontal scroll. */
.cef-inline-prerendered-multistep{
    background:#bf4a92 !important;
    padding:24px 0 0 !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    width:100vw !important;
    max-width:100vw !important;
    position:relative;
    /* No border-radius — full-bleed pink runs edge to edge. */
}

/* The .cef-mn flex container holds header + form. Horizontal padding so
   the white card and the stepper line up with a comfortable column. */
.cef-inline-prerendered-multistep .cef-mn.cef-inline{
    max-width:880px;
    margin:0 auto !important;
    /* Generous bottom padding so the form's last fields never sit
       visually under the fixed footer bar. Footer is ~90px tall + we
       want ~90px of clear breathing space above it = 180px. */
    padding:0 24px 180px !important;
}

/* ---- Header (title, subhead, stepper) ---- */
/* Tighter padding than 1.5.21–22 so the heading sits closer to the
   white card and more of the question is in the initial viewport. */
.cef-inline-prerendered-multistep .cef-hd{
    padding:0 0 16px !important;
    text-align:center;
}
/* When the badge is present (cef-hd-top-has-badge), switch the header to
   a two-column layout: title block on the left, badge on the right.
   Without the badge, .cef-hd-top has no children-of-note and the title
   stays centred (text-align:center on .cef-hd still applies). */
.cef-inline-prerendered-multistep .cef-hd-top{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
}
.cef-inline-prerendered-multistep .cef-hd-top-has-badge{
    justify-content:space-between;
    text-align:left;
}
.cef-inline-prerendered-multistep .cef-hd-top-has-badge .cef-hd-text{
    flex:1;
    min-width:0;
    text-align:left;
}
.cef-inline-prerendered-multistep .cef-hd-top-has-badge .cef-hg-multi,
.cef-inline-prerendered-multistep .cef-hd-top-has-badge .cef-shg-multi{
    text-align:left !important;
}
.cef-inline-prerendered-multistep .cef-hd-badge{
    flex-shrink:0;
}
@media(max-width:680px){
    /* On narrow viewports stack the badge below the title rather than
       squeezing both into one row. */
    .cef-inline-prerendered-multistep .cef-hd-top-has-badge{
        flex-direction:column;
        align-items:stretch;
        text-align:center;
    }
    .cef-inline-prerendered-multistep .cef-hd-top-has-badge .cef-hd-text{
        text-align:center;
    }
    .cef-inline-prerendered-multistep .cef-hd-top-has-badge .cef-hg-multi,
    .cef-inline-prerendered-multistep .cef-hd-top-has-badge .cef-shg-multi{
        text-align:center !important;
    }
    .cef-inline-prerendered-multistep .cef-hd-badge{
        display:flex;
        justify-content:center;
    }
}
.cef-inline-prerendered-multistep .cef-hg-multi{
    color:#fff !important;
    font-size:24px !important;
    padding-right:0 !important;
    margin-bottom:4px !important;
}
.cef-inline-prerendered-multistep .cef-shg-multi{
    color:rgba(255,255,255,.85) !important;
    font-size:13px !important;
    margin-bottom:0 !important;
}

/* Stepper: full-width progress bar pinned to the viewport top. Hides
   the dotted indicator entirely. */
.cef-inline-prerendered-multistep .cef-stps{
    position:fixed !important;
    top:0; left:0; right:0;
    margin:0 !important;
    padding:0 !important;
    height:6px;
    background:rgba(255,255,255,.25);
    z-index:1001;
}
.cef-inline-prerendered-multistep .cef-stps-line{
    position:absolute !important;
    left:0 !important; right:0 !important;
    top:0 !important;
    height:100% !important;
    background:transparent !important;
    border-radius:0 !important;
}
.cef-inline-prerendered-multistep .cef-stps-line-f{
    background:#fff !important;
    border-radius:0 !important;
    transition:width .35s cubic-bezier(.16,1,.3,1);
}
.cef-inline-prerendered-multistep .cef-stp{display:none !important}

/* ---- White content card ---- */
.cef-inline-prerendered-multistep .cef-form{
    background:#fff5fa;
    border-radius:24px;
    padding:32px 28px;
    box-shadow:0 20px 60px rgba(0,0,0,.06);
}
.cef-inline-prerendered-multistep .cef-ct-wrap{
    overflow:visible !important;
}
.cef-inline-prerendered-multistep .cef-ct{
    padding:0 !important;
}
.cef-inline-prerendered-multistep .cef-step-title{
    color:#2D1B33 !important;
    font-size:22px !important;
    margin-bottom:8px !important;
}
.cef-inline-prerendered-multistep .cef-step-sub{
    color:#5A4D60 !important;
    font-size:14px !important;
    margin-bottom:24px !important;
}

/* ---- Options (Duration + Care types steps) ---- */
/* Keep the existing grid layout: duration (cef-sg-c2) stays 2-col, care
   types (cef-sg-c3) stays 3-col. Each card just gets the new visual
   treatment — white background, soft border, internal flex layout with
   radio bullet + text. */
.cef-inline-prerendered-multistep .cef-sg-card{
    margin-bottom:8px !important;
    gap:12px !important;
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    padding:18px 16px !important;
    min-height:0 !important;
    background:#fff !important;
    border:1.5px solid rgba(191,74,146,.15) !important;
    border-radius:14px !important;
    box-shadow:0 1px 3px rgba(45,27,51,.04);
    transition:all .15s;
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so:hover{
    border-color:#bf4a92 !important;
    background:#fff !important;
    box-shadow:0 4px 12px rgba(191,74,146,.08);
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-a{
    border-color:#bf4a92 !important;
    background:#fff !important;
    box-shadow:0 0 0 3px rgba(191,74,146,.12) !important;
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-ico{display:none !important}
/* Hide the existing right-side radio dot rendered by the base form CSS
   (.cef-so-rad). We draw our own radio bullet via ::before below so
   without this rule there are two visible dots per option. */
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-rad{display:none !important}
/* Radio bullet on the left, rendered via ::before so the existing
   structure (label + description spans) doesn't have to change. */
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-text{
    position:relative;
    padding-left:30px;
    flex:1;
    min-width:0;
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-text::before{
    content:'';
    position:absolute;
    left:0; top:6px;
    width:20px; height:20px;
    border:2px solid #d0c8d4;
    border-radius:50%;
    background:#fff;
    transition:all .15s;
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-a .cef-so-text::before{
    border-color:#bf4a92;
    background:radial-gradient(circle,#bf4a92 0 5px,#fff 6px 100%);
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-lbl{
    color:#2D1B33 !important;
    font-size:15px !important;
    font-weight:700 !important;
}
.cef-inline-prerendered-multistep .cef-sg-card .cef-so-desc{
    color:#8A7B8F !important;
    font-size:12px !important;
    margin-top:2px !important;
    line-height:1.4 !important;
}

/* ---- Input fields ---- */
.cef-inline-prerendered-multistep .cef-lb{
    color:#2D1B33 !important;
    font-size:14px !important;
    font-weight:700 !important;
}
.cef-inline-prerendered-multistep .cef-ip{
    background:#fff !important;
    border:1.5px solid rgba(191,74,146,.15) !important;
    border-radius:12px !important;
    padding:14px 16px !important;
}

/* ---- Success screen ---- */
/* The thank-you / "branch will be in touch" view renders inside the pink
   panel after submission. Base CSS styles it for a white background
   (dark text, pink branch name, etc.), which becomes invisible or
   illegible on pink. Flip everything to white-on-pink, and reskin the
   phone card so it reads cleanly on the new background. */
.cef-inline-prerendered-multistep .cef-sc{
    padding:40px 24px 60px !important;
}
.cef-inline-prerendered-multistep .cef-sc-ring{
    background:rgba(255,255,255,.2) !important;
}
.cef-inline-prerendered-multistep .cef-sc-check{
    background:#fff !important;
}
.cef-inline-prerendered-multistep .cef-sc-check svg path{
    stroke:#bf4a92 !important;
}
.cef-inline-prerendered-multistep .cef-sc-title{
    color:#fff !important;
}
.cef-inline-prerendered-multistep .cef-sc-sub{
    color:rgba(255,255,255,.9) !important;
}
.cef-inline-prerendered-multistep .cef-sc-sub strong{
    color:#fff !important;
}
.cef-inline-prerendered-multistep .cef-sc-call{
    background:#fff !important;
    border-color:rgba(255,255,255,.2) !important;
}
.cef-inline-prerendered-multistep .cef-sc-call-lbl{
    color:#2D1B33 !important;
}
.cef-inline-prerendered-multistep .cef-sc-call-hrs,
.cef-inline-prerendered-multistep .cef-sc-hrs{
    color:rgba(255,255,255,.8) !important;
    background:rgba(255,255,255,.1) !important;
}

/* ---- Fixed footer button bar ---- */
.cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft{
    position:fixed !important;
    bottom:0 !important;
    left:0 !important; right:0 !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    background:#fff !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    border:0 !important;
    border-top:1px solid rgba(0,0,0,.06) !important;
    border-radius:0 !important;
    box-shadow:0 -6px 24px rgba(0,0,0,.06) !important;
    z-index:1000 !important;
    padding:20px 32px !important;
    margin:0 !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:16px !important;
}
.cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft .cef-bb{
    margin-right:auto !important;
    background:#fff !important;
    color:#8A7B8F !important;
    border:1.5px solid #e2dce6 !important;
    padding:14px 40px !important;
    border-radius:12px !important;
    font-weight:600 !important;
}
.cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft .cef-bb:hover{
    border-color:#bf4a92 !important;
    color:#bf4a92 !important;
}
.cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft .cef-bp{
    flex:none !important;
    padding:14px 48px !important;
    background:#bf4a92 !important;
    border:1.5px solid #bf4a92 !important;
    border-radius:12px !important;
    color:#fff !important;
    font-weight:700 !important;
    margin-left:auto !important;
}
.cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft .cef-bp:disabled{
    background:#f4d4e6 !important;
    border-color:#f4d4e6 !important;
    color:#fff !important;
}

/* ---- Responsive ---- */
/* On smaller viewports the 3-col care types becomes 2-col, then 1-col on
   phones. Mirrors the existing breakpoints from cef-sg-c3 elsewhere. */
@media(max-width:700px){
    .cef-inline-prerendered-multistep .cef-sg-c3.cef-sg-card{grid-template-columns:1fr 1fr !important}
}
@media(max-width:600px){
    .cef-inline-prerendered-multistep{padding:32px 0 0 !important;border-radius:18px}
    .cef-inline-prerendered-multistep .cef-mn.cef-inline{padding:0 14px 110px !important}
    .cef-inline-prerendered-multistep .cef-hg-multi{font-size:22px !important}
    .cef-inline-prerendered-multistep .cef-form{padding:22px 18px;border-radius:18px}
    .cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft{padding:14px 18px !important}
    .cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft .cef-bb{padding:11px 24px !important}
    .cef-inline-prerendered-multistep .cef-mn.cef-inline .cef-ft .cef-bp{padding:11px 30px !important}
}
@media(max-width:480px){
    .cef-inline-prerendered-multistep .cef-sg-c3.cef-sg-card{grid-template-columns:1fr !important}
    .cef-inline-prerendered-multistep .cef-sg-c2.cef-sg-card{grid-template-columns:1fr !important}
}

.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-c3{grid-template-columns:repeat(3,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!important;padding:13px 22px!important;border:1.5px solid #BF4A92!important;border-radius:12px!important;background:#BF4A92!important;color:#fff!important;font-size:15px!important;font-weight:700!important;cursor:pointer!important;font-family:inherit!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s!important;letter-spacing:-.2px!important;text-shadow:none!important;text-transform:none!important;line-height:1.2!important;box-shadow:none!important;transform:none!important;height:auto!important;width:auto;min-height:0!important;text-decoration:none!important;outline:none!important}
.cef-bp:hover:not(:disabled){background:#602276!important;border-color:#602276!important;color:#fff!important;box-shadow:none!important;transform:none!important;text-decoration:none!important}
.cef-bp:focus,.cef-bp:focus-visible{outline:none!important;box-shadow:0 0 0 4px rgba(191,74,146,.18)!important}
.cef-bp:disabled{background:#f3eef5!important;border-color:#e2dce6!important;color:#b8b0bc!important;cursor:default!important;box-shadow:none!important;transform:none!important}
.cef-bp-a{font-size:16px!important;transition:transform .15s!important}.cef-bp:hover:not(:disabled) .cef-bp-a{transform:translateX(2px)!important}
.cef-bp-loading{pointer-events:none!important;position:relative!important;color:transparent!important}.cef-bp-loading::after{content:''!important;position:absolute!important;width:20px!important;height:20px!important;border:2.5px solid rgba(255,255,255,.3)!important;border-top-color:#fff!important;border-radius:50%!important;animation:cefSpin .6s linear infinite!important}
@keyframes cefSpin{to{transform:rotate(360deg)}}
.cef-bp-close{width:auto!important;flex:none!important;padding:12px 32px!important;background:#fff!important;color:#5A4D60!important;border:1.5px solid #e2dce6!important}
.cef-bp-close:hover:not(:disabled){background:#FDFAFC!important;color:#602276!important;border-color:#BF4A92!important;box-shadow:none!important;transform:none!important}
.cef-bp-close:focus,.cef-bp-close:focus-visible{outline:none!important;box-shadow:0 0 0 4px rgba(191,74,146,.08)!important}
.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-sg-c3.cef-sg-card{grid-template-columns:1fr 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}}
/* Phone-sized screens: 3-col card grids (care_types step) collapse all the
   way to 1 col so each card has room for its description without truncating.
   Matches how cef-sg-c2.cef-sg-card collapses to 1 col at the same point. */
@media(max-width:480px){.cef-sg-c3.cef-sg-card{grid-template-columns:1fr}}

/* ===== 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}
