/* FM Digital Client Portal: Find My Nursery look (light, green and navy, Inter). Desktop-first and mobile-safe. */

/* === Tokens === */
.fmcp {
    /* Find My Nursery look (same tokens as the Nursery Centre dashboard) */
    --fm-bg: #f4f6fb;
    --fm-card: #ffffff;
    --fm-card2: #f8f9fc;
    --fm-line: #e2e6f0;
    --fm-line2: #d5dbea;
    --fm-ink: #1e293b;
    --fm-mut: #475569;
    --fm-pur: #1b2a78;          /* FMN navy: secondary accent (kept under the old name) */
    --fm-purd: #16226a;
    --fm-g: #217a2c;            /* FMN button green */
    --fm-gd: #217a2c;           /* green for text and borders on white */
    --fm-gl: #217a2c;
    --fm-gtint: #e3f1d0;
    --fm-warn: #8a5d00;
    --fm-warntint: #fff3cd;
    --fm-err: #c0392b;
    --fm-errtint: #fdecea;
    --fm-head: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --fm-mono: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --fm-shadow: 0 0 0 1px #e2e6f0;
}

/* === Hide the Find My Nursery site chrome on portal pages (class added by the plugin) === */
body.fmcp-standalone { background: var(--fm-bg) !important; }
body.fmcp-standalone h1.entry-title,
body.fmcp-standalone .entry-title:not(.fmcp *),
body.fmcp-standalone #masthead,
body.fmcp-standalone .site-header,
body.fmcp-standalone header.ast-primary-header-bar,
body.fmcp-standalone #ast-desktop-header,
body.fmcp-standalone #ast-mobile-header,
body.fmcp-standalone #fdh-floating-header,
body.fmcp-standalone .fdh-breadcrumb,
body.fmcp-standalone .ast-breadcrumbs-wrapper,
body.fmcp-standalone .entry-header,
body.fmcp-standalone .page-title,
body.fmcp-standalone #colophon,
body.fmcp-standalone .site-footer,
body.fmcp-standalone footer.site-footer,
body.fmcp-standalone [id^="fmn-floating"],
body.fmcp-standalone [class*="fmn-floating"],
body.fmcp-standalone [class*="fmn-mydash"],
body.fmcp-standalone #scroll-to-top,
body.fmcp-standalone .main-header-bar,
body.fmcp-standalone .ast-header-breadcrumb,
body.fmcp-standalone .ast-breadcrumbs-inner,
body.fmcp-standalone #ast-scroll-top,
body.fmcp-standalone footer.fmn-slim-footer,
body.fmcp-standalone .fmn-slim-footer,
body.fmcp-standalone #fmn-widget-wrap,
body.fmcp-standalone [id^="fmn-widget"] { display: none !important; }
body.fmcp-standalone .site-content,
body.fmcp-standalone .site-content .ast-container,
body.fmcp-standalone #primary,
body.fmcp-standalone .entry-content,
body.fmcp-standalone article.page { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; background: transparent !important; }
body.fmcp-standalone #primary { float: none !important; }
/* WordPress's constrained layout caps direct children of .entry-content at the content width; the portal runs full bleed. */
body.fmcp-standalone .entry-content > .fmcp, body.fmcp-standalone #fmcp-portal { max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
body.fmcp-standalone #secondary { display: none !important; }

/* === Reset & base === */
.fmcp *, .fmcp *::before, .fmcp *::after { box-sizing: border-box; margin: 0; padding: 0; }
.fmcp {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 15px; color: var(--fm-ink); line-height: 1.5;
    background: var(--fm-bg); min-height: 100vh; position: relative; overflow: clip;
    color-scheme: light;
}
.fmcp::before, .fmcp::after { content: ''; position: absolute; pointer-events: none; border-radius: 50%; }
.fmcp::before { right: -200px; top: 40px; width: 760px; height: 760px; background: radial-gradient(circle, rgba(27,51,117,.05), rgba(27,51,117,0) 62%); }
.fmcp::after { left: -240px; top: 760px; width: 640px; height: 640px; background: radial-gradient(circle, rgba(91,191,42,.06), rgba(91,191,42,0) 62%); }
.fmcp a { color: inherit; text-decoration: none; }
.fmcp img { max-width: 100%; height: auto; }
.fmcp input, .fmcp textarea, .fmcp select, .fmcp button { font-family: inherit; font-size: inherit; }
.fmcp h1, .fmcp h2, .fmcp h3 { font-family: var(--fm-head); letter-spacing: -.025em; }

/* === Shell: left sidebar + content === */
.fmcp-wrap { position: relative; z-index: 1; width: 100%; max-width: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 960px) { .fmcp-wrap { grid-template-columns: 288px minmax(0, 1fr); } }

.fmcp-side {
    display: flex; flex-direction: column; gap: 18px; padding: 20px 14px 16px;
    background: #ffffff; border-bottom: 1px solid var(--fm-line);
}
@media (min-width: 960px) {
    .fmcp-side { position: fixed; left: 0; top: var(--wp-admin--admin-bar--height, 0px); width: 288px; z-index: 5; height: calc(100vh - var(--wp-admin--admin-bar--height, 0px)); overflow-y: auto; border-bottom: 0; border-right: 1px solid var(--fm-line); padding: 24px 16px 20px; scrollbar-width: thin; scrollbar-color: var(--fm-line2) transparent; }
}
.fmcp-logo { display: flex; align-items: center; gap: 10px; font-family: var(--fm-head); font-weight: 600; font-size: 15px; line-height: 1.1; padding: 0 8px; color: var(--fm-ink); }
.fmcp-logo b { color: var(--fm-pur); font-weight: 600; }
.fmcp-logo-icon {
    width: 28px; height: 28px; border-radius: 50% 50% 50% 8%;
    background: linear-gradient(140deg, #5BBF2A, #3B6D11);
    display: grid; place-items: center; transform: rotate(-8deg); flex: 0 0 28px;
}
.fmcp-logo-icon i { width: 9px; height: 9px; border-radius: 50%; background: #fff; display: block; }

.fmcp-nav { display: flex; flex-direction: column; gap: 2px; }
.fmcp-nav-label { font-family: var(--fm-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--fm-mut); padding: 16px 12px 6px; }
.fmcp-nav a {
    display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 12px;
    font-size: 14.5px; font-weight: 500; color: #38405c; transition: background .15s, color .15s;
}
.fmcp-nav a:hover { background: rgba(22,27,48,.04); color: var(--fm-ink); }
.fmcp-nav a.on { background: var(--fm-gtint); color: var(--fm-gl); font-weight: 600; }
.fmcp-dot {
    width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid var(--fm-line2); flex: 0 0 18px;
    display: grid; place-items: center; font-style: normal; font-size: 10px; line-height: 1; color:var(--fm-ink);
}
.fmcp-nav a.done .fmcp-dot { background: var(--fm-g); border-color: var(--fm-g); }
.fmcp-nav a.now .fmcp-dot { border-color: var(--fm-pur); box-shadow: 0 0 0 3px rgba(27,51,117,.18); }
.fmcp-nav a.on .fmcp-dot { border-color: var(--fm-gl); }
.fmcp-nav a.on.done .fmcp-dot { background: var(--fm-g); }

.fmcp-side-foot { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--fm-line); }
.fmcp-side-foot .fmcp-btn { width: 100%; justify-content: center; }
.fmcp-user { display: flex; align-items: center; gap: 10px; padding: 4px 6px; min-width: 0; }
.fmcp-user-text { min-width: 0; display: flex; flex-direction: column; }
.fmcp-user-text b { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fmcp-user-text small { color: var(--fm-mut); font-size: 12.5px; }
.fmcp-logout { display: block; text-align: center; padding: 9px 12px; border: 1px solid var(--fm-line2); border-radius: 99px; font-size: 14px; font-weight: 500; color: var(--fm-ink); }
.fmcp-logout:hover { background: rgba(22,27,48,.04); }
.fmcp-avatar {
    width: 36px; height: 36px; border-radius: 50%; background: rgba(27,51,117,.16); color: var(--fm-pur);
    display: grid; place-items: center; font-weight: 600; font-size: 13px; flex-shrink: 0;
}
.fmcp-badge {
    margin-left: auto; background: var(--fm-pur); color: #fff; border-radius: 99px; font-size: 11px; font-weight: 700;
    min-width: 19px; height: 19px; display: inline-grid; place-items: center; padding: 0 6px;
}

/* Theme fixes found on live: kill link underlines and dark theme colours inside the portal */
body.fmcp-standalone .fmcp a { text-decoration: none; }
body.fmcp-standalone .fmcp table, body.fmcp-standalone .fmcp th, body.fmcp-standalone .fmcp td { border-left: 0; border-right: 0; }
body.fmcp-standalone .fmcp p a:not(.fmcp-btn) { text-decoration: underline; }
body.fmcp-standalone .fmcp b, body.fmcp-standalone .fmcp strong,
body.fmcp-standalone .fmcp h1, body.fmcp-standalone .fmcp h2, body.fmcp-standalone .fmcp h3,
body.fmcp-standalone .fmcp h4, body.fmcp-standalone .fmcp h5, body.fmcp-standalone .fmcp h6,
body.fmcp-standalone .fmcp label, body.fmcp-standalone .fmcp legend { color: inherit; }
body.fmcp-standalone .fmcp .fmcp-logo b, body.fmcp-standalone .fmcp h1 em { color: var(--fm-pur); }
body.fmcp-standalone .fmcp .fmcp-user-text small, body.fmcp-standalone .fmcp .fmcp-nav-label { color: var(--fm-mut); }

.fmcp-main { padding: 24px 20px 64px; max-width: none; min-width: 0; }
@media (min-width: 960px) { .fmcp-main { padding: 40px 48px 80px; } }
/* Forms and chat stay a readable width; dashboard, draft and payments run full bleed. */
.fmcp-view-step, .fmcp-view-messages { max-width: 980px; }
/* The sidebar is fixed on desktop, so the content always sits in the second column. */
@media (min-width: 960px) { .fmcp-main { grid-column: 2; } }

/* === Brief stepper (shown above step screens) === */
.fmcp-label {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px;
    border: 1px solid var(--fm-line2); border-radius: 99px;
    font-family: var(--fm-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: #38405c; font-weight: 500;
}
.fmcp-label::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--fm-pur); }
.fmcp h1 { font-size: clamp(34px, 4.6vw, 56px); font-weight: 700; margin: 18px 0 12px; line-height: 1.05; color: var(--fm-ink); }
.fmcp h1 em { font-style: normal; color: var(--fm-pur); }
.fmcp-sub { color: var(--fm-mut); margin: 0 0 28px; font-size: 17px; line-height: 1.6; max-width: 640px; }
.fmcp-mono { font-family: var(--fm-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--fm-mut); }
.fmcp-section-label {
    font-family: var(--fm-mono); font-size: 12px; letter-spacing: .07em; text-transform: uppercase;
    color: var(--fm-mut); font-weight: 500; padding: 28px 0 12px; border-bottom: 1px solid var(--fm-line); margin-bottom: 18px;
}

/* === Cards === */
.fmcp-card {
    background: var(--fm-card); border: 1px solid var(--fm-line); border-radius: 20px;
    padding: 22px; margin-bottom: 16px; color: var(--fm-ink);
}
@media (min-width: 768px) { .fmcp-card { padding: 26px; } }
.fmcp-card h3 { font-size: 19px; font-weight: 600; margin: 0 0 6px; }
.fmcp-card-desc { color: var(--fm-mut); font-size: 14.5px; margin: 0 0 16px; }
.fmcp-card-highlight { border-color: #bfe3a8; background: linear-gradient(180deg, #f3faef, var(--fm-card)); }
.fmcp-addon { border-color: var(--fm-line2); background: linear-gradient(180deg, var(--fm-card2), var(--fm-card)); }

/* Stat card */
.fmcp-stat .fmcp-mono { display: block; }
.fmcp-big { font-family: var(--fm-head); font-size: 34px; font-weight: 600; letter-spacing: -.025em; margin: 10px 0 4px; line-height: 1.1; }
.fmcp-big small { font-family: Inter, sans-serif; font-size: 15px; color: var(--fm-mut); font-weight: 500; letter-spacing: 0; }
.fmcp-note { color: var(--fm-mut); font-size: 14.5px; line-height: 1.5; }

/* === Grids === */
.fmcp-grid-2, .fmcp-grid-3 { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .fmcp-grid-2 { grid-template-columns: 1fr 1fr; } .fmcp-grid-3 { grid-template-columns: repeat(3, 1fr); } }
.fmcp-grid-4 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (min-width: 900px) { .fmcp-grid-4 { grid-template-columns: repeat(4, 1fr); } }

/* === Hero (dashboard / payments heading) === */
.fmcp-hero { display: flex; gap: 40px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 8px 0 40px; }
.fmcp-hero-copy { flex: 1 1 460px; min-width: 0; }
.fmcp-hero-panel {
    flex: 0 1 380px; width: 380px; max-width: 100%; border: 1px solid var(--fm-line); border-radius: 22px;
    background: linear-gradient(180deg, var(--fm-card2), var(--fm-card)); padding: 22px; box-shadow: 0 30px 80px rgba(27,51,117,.20);
}
.fmcp-cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 8px; }
.fmcp-hero .fmcp-sub { margin-bottom: 24px; }

/* Progress list in hero panel */
.fmcp-prow { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--fm-line); font-size: 14.5px; }
.fmcp-prow:first-of-type { border-top: 0; }
.fmcp-tick { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--fm-g); color: #fff; flex: 0 0 22px; }
.fmcp-tick.now { background: transparent; border: 2px solid var(--fm-pur); box-shadow: 0 0 0 4px rgba(27,51,117,.18); }
.fmcp-tick.todo { background: transparent; border: 2px solid var(--fm-line2); }

/* === Progress bar === */
.fmcp-progress { margin-bottom: 24px; }
.fmcp-progress-bar { height: 8px; background: var(--fm-line); border-radius: 99px; overflow: hidden; margin: 12px 0; }
.fmcp-progress-fill { height: 100%; background: linear-gradient(90deg, #42b72a, #2e7d32); border-radius: 99px; transition: width .4s ease; }
.fmcp-progress-big { font-family: var(--fm-head); font-size: 40px; font-weight: 700; line-height: 1; }
.fmcp-progress-steps { display: grid; grid-template-columns: repeat(8, 1fr); gap: 4px; margin-top: 16px; }
.fmcp-progress-step { font-size: 11px; color: var(--fm-mut); }
.fmcp-progress-step i { display: block; height: 3px; border-radius: 2px; background: var(--fm-line); margin-bottom: 6px; }
.fmcp-progress-step.done i { background: var(--fm-gl); }
.fmcp-progress-step.now i { background: var(--fm-pur); }
.fmcp-progress-step.now { color: var(--fm-ink); }
.fmcp-steps-bar { display: flex; gap: 6px; margin-bottom: 24px; }
.fmcp-steps-bar div { flex: 1; height: 4px; border-radius: 2px; background: var(--fm-line); }
.fmcp-steps-bar .done { background: var(--fm-gl); }
.fmcp-steps-bar .now { background: var(--fm-pur); }

/* === Rows === */
.fmcp-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--fm-line); font-size: 15px; }
.fmcp-row:last-child { border-bottom: none; }
.fmcp-row span { color: var(--fm-mut); }

/* === Tables (brief list, payment history) === */
.fmcp-table-wrap { overflow-x: auto; }
.fmcp-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.fmcp-table th { text-align: left; font-family: var(--fm-mono); font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--fm-mut); font-weight: 500; padding: 12px 14px; border-bottom: 1px solid var(--fm-line); }
.fmcp-table td { padding: 15px 14px; border-bottom: 1px solid var(--fm-line); border-left: 0; border-right: 0; border-top: 0; }
.fmcp-table tr:last-child td { border-bottom: 0; }
.fmcp-table a.fmcp-link { color: var(--fm-gl); font-weight: 600; }

/* Plain price lines (no table borders) */
.fmcp-lines .fmcp-line { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--fm-line); font-size: 16px; }
.fmcp-lines .fmcp-line:first-child { border-top: 0; }
.fmcp-lines .fmcp-line.total { font-family: var(--fm-head); font-size: 22px; font-weight: 600; }
.fmcp-lines .fmcp-line .ok { color: var(--fm-gl); }

/* === Pills / tags === */
.fmcp-pill {
    display: inline-flex; font-size: 12.5px; font-weight: 600; border-radius: 99px; padding: 4px 12px;
    border: 0; background: rgba(22,27,48,.05); color: #38405c;
}
.fmcp-pill-ok { background: rgba(91,191,42,.12); color: var(--fm-gl); }
.fmcp-pill-warn { background: var(--fm-warntint); color: var(--fm-warn); }
.fmcp-pill-blue { background: rgba(27,51,117,.14); color: var(--fm-pur); }

/* === Buttons === */
.fmcp-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 24px;
    border: 1px solid transparent; border-radius: 99px; font-size: 15px; font-weight: 600; cursor: pointer;
    transition: opacity .15s, background .15s; text-decoration: none; font-family: Inter, sans-serif;
}
.fmcp-btn:hover { opacity: .88; }
.fmcp .fmcp-btn-primary { background: var(--fm-pur); color: #fff; }
.fmcp .fmcp-btn-green { background: var(--fm-g); color: #fff; }
.fmcp .fmcp-btn-amber { background: #ffc107; color: #1e293b; }
.fmcp-btn-ghost { background: transparent; border-color: var(--fm-line2); color: var(--fm-ink); }
.fmcp-btn-sm { height: 38px; padding: 0 18px; font-size: 14px; }
.fmcp-btn:focus-visible, .fmcp a:focus-visible { outline: 2px solid var(--fm-pur); outline-offset: 2px; }
@media (max-width: 767px) { .fmcp-btn { width: 100%; }  }

/* === Forms === */
.fmcp-field { margin-bottom: 18px; }
.fmcp-field label { display: block; font-size: 13.5px; color: #38405c; margin-bottom: 7px; font-weight: 500; }
.fmcp-field input, .fmcp-field textarea, .fmcp-field select {
    width: 100%; height: 48px; background: var(--fm-card2); border: 1px solid var(--fm-line2); border-radius: 12px;
    color: var(--fm-ink); padding: 0 14px; transition: border-color .15s;
}
.fmcp-field input::placeholder, .fmcp-field textarea::placeholder { color: var(--fm-mut); }
.fmcp-field input:focus, .fmcp-field textarea:focus, .fmcp-field select:focus { outline: none; border-color: var(--fm-gl); box-shadow: 0 0 0 3px rgba(91,191,42,.15); }
.fmcp-field textarea { height: 110px; padding: 12px 14px; resize: vertical; }
.fmcp input[type="range"] { width: 100%; height: 6px; accent-color: var(--fm-gl); margin: 12px 0 6px; padding: 0; background: transparent; border: 0; }
.fmcp input[type="color"] { background: var(--fm-card2); border: 1px solid var(--fm-line2); border-radius: 10px; }
.fmcp select { background: var(--fm-card2); color: var(--fm-ink); border: 1px solid var(--fm-line2); border-radius: 12px; padding: 0 14px; height: 48px; }

/* === Selectable options === */
.fmcp-option {
    border: 1px solid var(--fm-line2); border-radius: 14px; padding: 16px; background: var(--fm-card2);
    cursor: pointer; transition: border-color .15s, background .15s; display: flex; gap: 12px; align-items: flex-start;
}
.fmcp-option:hover { border-color: #b9c2da; }
.fmcp-option.selected { border-color: var(--fm-gl); background: var(--fm-gtint); }
.fmcp-option input[type="radio"], .fmcp-option input[type="checkbox"] { margin-top: 3px; accent-color: var(--fm-gl); flex-shrink: 0; }
.fmcp-option b { display: block; font-weight: 600; margin-bottom: 2px; }
.fmcp-option span { color: var(--fm-mut); font-size: 13.5px; line-height: 1.4; }

/* === Colour palette cards === */
.fmcp-palette { border: 1px solid var(--fm-line2); border-radius: 14px; overflow: hidden; cursor: pointer; background: var(--fm-card2); transition: border-color .15s, box-shadow .15s; }
.fmcp-palette:hover { border-color: #b9c2da; }
.fmcp-palette.selected { border-color: var(--fm-gl); box-shadow: 0 0 0 3px rgba(91,191,42,.18); }
.fmcp-palette-strip { height: 52px; display: flex; }
.fmcp-palette-strip div { flex: 1; }
.fmcp-palette-info { padding: 12px 14px; }
.fmcp-palette-info b { display: block; font-weight: 600; font-size: 14.5px; }
.fmcp-palette-info span { color: var(--fm-mut); font-size: 12.5px; }
.fmcp-palette-dots { display: flex; gap: 6px; margin-top: 8px; }
.fmcp-palette-dot { width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(22,27,48,.12); }

/* === Font pair cards === */
.fmcp-font-pair { border: 1px solid var(--fm-line2); border-radius: 14px; padding: 16px; background: var(--fm-card2); cursor: pointer; transition: border-color .15s; }
.fmcp-font-pair:hover { border-color: #b9c2da; }
.fmcp-font-pair.selected { border-color: var(--fm-gl); background: var(--fm-gtint); }
.fmcp-font-preview-heading { font-size: 22px; font-weight: 600; margin-bottom: 4px; line-height: 1.2; }
.fmcp-font-preview-body { font-size: 14px; color: var(--fm-mut); line-height: 1.5; }
.fmcp-font-pair-label { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 12px; color: var(--fm-mut); }
.fmcp-font-tag { font-family: var(--fm-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; background: rgba(22,27,48,.05); padding: 2px 7px; border-radius: 99px; color: #38405c; }

/* === Upload zones === */
.fmcp-upload { border: 2px dashed var(--fm-line2); border-radius: 16px; padding: 26px; text-align: center; cursor: pointer; transition: border-color .15s; background: var(--fm-card2); }
.fmcp-upload:hover { border-color: var(--fm-pur); }
.fmcp-upload p { color: var(--fm-mut); font-size: 14.5px; margin: 8px 0 0; }
.fmcp-upload-icon { font-size: 32px; opacity: .5; }
.fmcp-upload-thumbs { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.fmcp-upload-thumb { width: 60px; height: 60px; border-radius: 10px; background: var(--fm-line); object-fit: cover; }

/* === Mood cards === */
.fmcp-mood { border: 1px solid var(--fm-line2); border-radius: 14px; overflow: hidden; cursor: pointer; background: var(--fm-card2); transition: border-color .15s; }
.fmcp-mood:hover { border-color: #b9c2da; }
.fmcp-mood.selected { border-color: var(--fm-gl); box-shadow: 0 0 0 3px rgba(91,191,42,.18); }
.fmcp-mood-preview { height: 84px; padding: 12px; }
.fmcp-mood-info { padding: 10px 14px; }
.fmcp-mood-info b { display: block; font-weight: 600; font-size: 14.5px; }
.fmcp-mood-info span { color: var(--fm-mut); font-size: 12.5px; }

/* === Actions bar === */
.fmcp-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--fm-line); }
@media (max-width: 767px) { .fmcp-actions { flex-direction: column; } .fmcp-actions .fmcp-btn { width: 100%; } }
.fmcp-save-status { color: var(--fm-mut); font-size: 13.5px; }

/* === Submit box === */
.fmcp-submit-box { background: var(--fm-gtint); border: 1px solid #bfe3a8; border-radius: 20px; padding: 26px; text-align: center; margin-top: 24px; }
.fmcp-submit-box h3 { font-size: 20px; margin-bottom: 8px; }
.fmcp-submit-box p { color: var(--fm-mut); font-size: 14.5px; margin-bottom: 16px; }

/* === Messages === */
.fmcp-message { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--fm-line); }
.fmcp-message:last-child { border-bottom: none; }
.fmcp-message p { margin: 4px 0 0; color: #38405c; font-size: 15px; line-height: 1.6; }
.fmcp-message b { font-weight: 600; }
.fmcp-message small { color: var(--fm-mut); font-size: 12.5px; }

/* === Draft preview === */
.fmcp-browser { border: 1px solid var(--fm-line2); border-radius: 16px; overflow: hidden; background: var(--fm-card2); }
.fmcp-browser-chrome { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--fm-line); background: var(--fm-card); }
.fmcp-browser-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--fm-line2); }
.fmcp-browser-url { flex: 1; margin-left: 8px; height: 28px; border-radius: 99px; background: var(--fm-card2); display: flex; align-items: center; padding: 0 12px; font-size: 12px; color: var(--fm-mut); }
.fmcp-split { display: grid; gap: 20px; }
@media (min-width: 900px) { .fmcp-split { grid-template-columns: 1fr 340px; align-items: start; } }

/* === Toggle === */
.fmcp-toggle { width: 48px; height: 28px; border-radius: 14px; background: var(--fm-line2); position: relative; cursor: pointer; transition: background .2s; }
.fmcp-toggle.on { background: var(--fm-g); }
.fmcp-toggle::after { content: ''; position: absolute; left: 3px; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: transform .2s; }
.fmcp-toggle.on::after { transform: translateX(20px); }

/* === Instalments === */
.fmcp-instalments { display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); gap: 8px; margin-top: 14px; }
.fmcp-instalment { border: 1px solid var(--fm-line2); border-radius: 12px; padding: 10px; text-align: center; font-size: 12px; color: var(--fm-mut); background: var(--fm-card2); }
.fmcp-instalment b { display: block; font-size: 14px; color: var(--fm-ink); font-weight: 600; margin-top: 2px; }
.fmcp-instalment.paid { border-color: #bfe3a8; }
.fmcp-instalment.paid b { color: var(--fm-gl); }

/* === Segmented choice (balance timing) === */
.fmcp-seg { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 22px; }
.fmcp-seg button { padding: 11px 18px; border: 1px solid var(--fm-line2); border-radius: 99px; background: transparent; color: var(--fm-ink); font-size: 14.5px; font-weight: 500; cursor: pointer; }
.fmcp-seg button.on { border-color: var(--fm-gl); color: var(--fm-gl); background: var(--fm-gtint); font-weight: 600; }
.fmcp-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.fmcp-tile { border: 1px solid var(--fm-line); border-radius: 16px; padding: 18px; background: var(--fm-card2); }
.fmcp-tile b { display: block; font-family: var(--fm-head); font-size: 26px; font-weight: 600; margin: 6px 0 2px; }
@media (max-width: 520px) { .fmcp-tiles { grid-template-columns: 1fr; } }

/* === Empty states === */
.fmcp-empty { text-align: center; padding: 40px 20px; color: var(--fm-mut); }
.fmcp-empty-icon { font-size: 48px; opacity: .3; margin-bottom: 12px; }

/* === Toast === */
.fmcp-toast {
    position: fixed; bottom: 24px; right: 24px; background: #1b3375; color: #fff; border: 1px solid var(--fm-line2);
    padding: 11px 18px; border-radius: 99px; font-size: 14px; z-index: 9999; opacity: 0; transform: translateY(8px);
    transition: opacity .3s, transform .3s; pointer-events: none;
}
.fmcp-toast.show { opacity: 1; transform: translateY(0); }

/* === Landing / join / login (logged out) === */
.fmcp-landing { max-width: none; padding: 0; background: transparent; }
.fmcp-landing .fmcp-hero { padding: 56px 0 56px; }
.fmcp-landing h1 { font-size: clamp(42px, 6vw, 72px); }
.fmcp-lead { font-size: 19px; line-height: 1.6; color: var(--fm-mut); max-width: 580px; margin: 0 0 28px; }
.fmcp-shot { flex: 0 1 440px; width: 440px; max-width: 100%; border: 1px solid var(--fm-line); border-radius: 22px; background: linear-gradient(180deg, var(--fm-card2), var(--fm-card)); padding: 18px; box-shadow: 0 30px 80px rgba(27,51,117,.25); }
.fmcp-shot-dots { display: flex; gap: 6px; margin-bottom: 14px; }
.fmcp-shot-dots i { width: 10px; height: 10px; border-radius: 50%; background: var(--fm-line2); }
.fmcp-sk { height: 10px; border-radius: 99px; background: var(--fm-line); margin: 10px 0; }
.fmcp-sec { margin: 72px 0 26px; }
.fmcp-sec h2 { font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; margin-top: 16px; }
.fmcp-price { font-family: var(--fm-head); font-size: 42px; font-weight: 600; letter-spacing: -.03em; margin: 12px 0 4px; }
.fmcp-price small { font-family: Inter, sans-serif; font-size: 15px; color: var(--fm-mut); font-weight: 500; letter-spacing: 0; }
.fmcp-muted { color: var(--fm-mut); font-size: 15px; line-height: 1.55; }
.fmcp-fmn { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--fm-line); color: var(--fm-gl); font-size: 14.5px; font-weight: 500; }
.fmcp-feat { border-color: var(--fm-line2); background: linear-gradient(180deg, var(--fm-card2), var(--fm-card)); box-shadow: 0 20px 60px rgba(27,51,117,.18); }
.fmcp-howgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; }
.fmcp-howgrid .fmcp-card b { display: block; font-family: var(--fm-head); font-size: 19px; margin: 14px 0 6px; }
.fmcp-n { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--fm-line2); color: var(--fm-pur); font-family: var(--fm-mono); font-size: 13px; }
.fmcp-cta-band { margin-top: 72px; display: flex; gap: 28px; align-items: center; justify-content: space-between; flex-wrap: wrap; border: 1px solid var(--fm-line2); border-radius: 28px; padding: 36px; background: linear-gradient(120deg, var(--fm-card2), var(--fm-card)); }
.fmcp-cta-band h2 { font-size: clamp(26px, 3vw, 38px); font-weight: 700; max-width: 560px; }
.fmcp-unlock { max-width: 480px; }

.fmcp-auth { display: flex; align-items: center; justify-content: center; min-height: 80vh; padding: 20px 16px; background: transparent; position: relative; z-index: 1; }
.fmcp-auth-card { width: 100%; max-width: 440px; border: 1px solid var(--fm-line); border-radius: 24px; background: var(--fm-card); padding: 32px; }
.fmcp-alert { padding: 12px 16px; border-radius: 12px; font-size: 14px; margin-bottom: 16px; }
.fmcp-alert-error { background: var(--fm-errtint); color: var(--fm-err); border: 1px solid var(--fm-err); }

@media (prefers-reduced-motion: reduce) { .fmcp * { transition: none !important; } }

/* === Dashboard widgets (v1.6) === */
.fmcp-dash-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; }
.fmcp-dash-welcome { font-family: var(--fm-head); font-size: 22px; font-weight: 600; margin-top: 4px; letter-spacing: -.02em; }
.fmcp-wgrid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.fmcp-wgrid > .fmcp-card { margin: 0; }
@media (min-width: 1100px) {
    .fmcp-wgrid { grid-template-columns: repeat(12, 1fr); }
    .fmcp-c4 { grid-column: span 4; } .fmcp-c8 { grid-column: span 8; } .fmcp-c12 { grid-column: span 12; }
}
@media (min-width: 700px) and (max-width: 1099px) {
    .fmcp-wgrid { grid-template-columns: 1fr 1fr; }
    .fmcp-c8, .fmcp-c12 { grid-column: span 2; }
}
.fmcp-w-next { background: linear-gradient(120deg, var(--fm-card2), var(--fm-card)); border-color: var(--fm-line2); display: flex; flex-direction: column; justify-content: center; }
.fmcp-w-next .fmcp-label { align-self: flex-start; }
.fmcp-w-next h1 { font-size: clamp(32px, 3.6vw, 46px); margin: 16px 0 12px; }
.fmcp-w-next .fmcp-sub { font-size: 17px; margin-bottom: 22px; }
.fmcp-ring { --p: 0; width: 120px; height: 120px; border-radius: 50%; margin: 8px auto 14px; display: grid; place-items: center;
    background: conic-gradient(var(--fm-gl) calc(var(--p) * 1%), var(--fm-line) 0); }
.fmcp-ring div { width: 92px; height: 92px; border-radius: 50%; background: var(--fm-card); display: grid; place-items: center;
    font-family: var(--fm-head); font-size: 28px; font-weight: 600; line-height: 1; }
.fmcp-chips { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 14px; }
.fmcp-chips a { width: 28px; height: 28px; border-radius: 8px; background: rgba(91,191,42,.14); color: var(--fm-gl); font-size: 12px; font-weight: 600;
    display: grid; place-items: center; text-decoration: none; }
.fmcp-chips a.n { background: transparent; border: 1.5px solid var(--fm-pur); color: var(--fm-pur); }
.fmcp-chips a.t { background: var(--fm-line); color: var(--fm-mut); }
.fmcp-tl-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.fmcp-tl { display: flex; align-items: flex-start; position: relative; padding: 6px 8px 0; }
.fmcp-tl:before { content: ''; position: absolute; left: 8.33%; right: 8.33%; top: 22px; height: 2px; background: var(--fm-line); }
.fmcp-tl:after { content: ''; position: absolute; left: 8.33%; width: calc(83.34% * var(--tl, 0%) / 100%); top: 22px; height: 2px; background: var(--fm-gl); }
.fmcp-st { flex: 1; text-align: center; position: relative; z-index: 1; min-width: 0; }
.fmcp-st .n { width: 32px; height: 32px; border-radius: 50%; margin: 0 auto 10px; display: grid; place-items: center; background: var(--fm-bg);
    border: 2px solid var(--fm-line2); font-size: 13px; color: var(--fm-mut); }
.fmcp-st.ok .n { background: var(--fm-g); border-color: var(--fm-g); color: #fff; }
.fmcp-st.now .n { border-color: var(--fm-pur); color: var(--fm-pur); box-shadow: 0 0 0 5px rgba(27,51,117,.18); }
.fmcp-st b { display: block; font-size: 14.5px; }
.fmcp-st em { font-style: normal; font-size: 12.5px; color: var(--fm-mut); }
.fmcp-wl { display: flex; justify-content: space-between; padding: 10px 0; border-top: 1px solid var(--fm-line); font-size: 14.5px; }
.fmcp-thumb { height: 118px; border-radius: 14px; margin: 12px 0; position: relative; overflow: hidden; background: linear-gradient(135deg, #42b72a, #3B6D11); }
.fmcp-thumb:before { content: ''; position: absolute; left: 14px; top: 14px; width: 46%; height: 10px; border-radius: 99px; background: #ffffff55; }
.fmcp-thumb:after { content: ''; position: absolute; left: 14px; top: 34px; width: 30%; height: 10px; border-radius: 99px; background: #ffffff33; }
.fmcp-promo { position: relative; background: linear-gradient(110deg, var(--fm-card2), var(--fm-card) 70%); border-color: var(--fm-line2); padding: 28px; }
.fmcp-promo-slide { display: none; gap: 28px; align-items: center; }
.fmcp-promo-slide.is-on { display: flex; animation: fmcpFade .45s ease; }
@keyframes fmcpFade { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
.fmcp-promo-art { width: 250px; flex: 0 0 250px; line-height: 0; }
.fmcp-promo-art svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 18px 40px rgba(27,51,117,.28)); }
.fmcp-promo h3 { font-size: 26px; margin: 10px 0 8px; }
.fmcp-x { position: absolute; right: 16px; top: 12px; background: none; border: 0; color: var(--fm-mut); font-size: 22px; cursor: pointer; line-height: 1; }
.fmcp-x:hover { color: var(--fm-ink); }
.fmcp-dots { display: flex; gap: 6px; margin-top: 18px; padding-left: 278px; }
.fmcp-dots button { width: 7px; height: 7px; border-radius: 50%; border: 0; padding: 0; background: var(--fm-line2); cursor: pointer; }
.fmcp-dots button.on { width: 22px; border-radius: 99px; background: var(--fm-pur); }
@media (max-width: 700px) {
    .fmcp-promo-slide { flex-direction: column; align-items: flex-start; }
    .fmcp-promo-art { width: 100%; flex-basis: auto; max-width: 280px; }
    .fmcp-dots { padding-left: 0; }
    .fmcp-tl { flex-wrap: wrap; row-gap: 14px; } .fmcp-st { flex: 0 0 33.33%; } .fmcp-tl:before, .fmcp-tl:after { display: none; }
}

/* Stage card (ring + tasks) */
.fmcp-stagebox { display: flex; flex-direction: column; gap: 18px; align-items: center; }
.fmcp-ring-sm { width: 96px; height: 96px; margin: 0; flex: 0 0 96px; }
.fmcp-ring-sm div { width: 72px; height: 72px; font-size: 22px; }
.fmcp-tasks { list-style: none; margin: 0; padding: 0; width: 100%; }
.fmcp-tasks li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--fm-line); font-size: 14.5px; color: var(--fm-mut); }
.fmcp-tasks li:first-child { border-top: 0; }
.fmcp-tasks li.now { color: var(--fm-ink); font-weight: 600; }
.fmcp-tasks li.done { color: var(--fm-ink); }
.fmcp-tasks .fmcp-tick { flex: 0 0 22px; }

/* Draft preview: browser frame in the school's own colours */
.fmcp-browser-mock { border: 1px solid var(--fm-line); border-radius: 14px; overflow: hidden; margin: 12px 0; background: var(--fm-card2); }
.fmcp-browser-mock .bm-bar { display: flex; align-items: center; gap: 5px; padding: 8px 10px; background: var(--fm-card2); }
.fmcp-browser-mock .bm-bar i { width: 8px; height: 8px; border-radius: 50%; background: var(--fm-line2); }
.fmcp-browser-mock .bm-bar span { margin-left: 8px; font-family: var(--fm-mono); font-size: 10.5px; color: var(--fm-mut); }
.fmcp-browser-mock .bm-hero { height: 78px; background: linear-gradient(135deg, var(--b1), var(--b2)); display: flex; align-items: flex-end; padding: 10px 14px; }
.fmcp-browser-mock .bm-hero b { font-family: var(--fm-head); font-size: 16px; color: #fff; text-shadow: 0 1px 8px rgba(20,30,70,.08); }
.fmcp-browser-mock .bm-row { display: flex; gap: 8px; padding: 10px; background: #f6f7fb; }
.fmcp-browser-mock .bm-row i { flex: 1; height: 26px; border-radius: 6px; background: var(--b3); opacity: .22; }

/* === Step layout: cards + live preview (v1.5.3) === */
.fmcp-view-step:has(.fmcp-step-split) { max-width: 1340px; }
.fmcp-step-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 4px; }
.fmcp-step-split { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: start; }
@media (min-width: 1100px) { .fmcp-step-split { grid-template-columns: minmax(0, 1fr) 340px; } }
.fmcp-step-main > .fmcp-card { margin-bottom: 16px; }
.fmcp-step-side { position: sticky; top: 24px; }
@media (max-width: 1099px) { .fmcp-step-side { position: static; } }
.fmcp-sh { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; }
.fmcp-sh .n { width: 28px; height: 28px; border-radius: 9px; background: rgba(27,51,117,.14); color: var(--fm-pur); display: grid; place-items: center; font-size: 13px; font-weight: 700; flex: 0 0 28px; }
.fmcp-sh h3 { margin: 0; font-size: 20px; }
.fmcp-sh > .fmcp-note { margin-left: auto; font-size: 13px; }
.fmcp-field label small { margin-left: 6px; font-weight: 500; }
.fmcp-typechips { display: flex; flex-wrap: wrap; gap: 8px; }
.fmcp-typechip { display: inline-flex; margin: 0; cursor: pointer; }
.fmcp-field .fmcp-typechip { margin-bottom: 0; }
.fmcp-typechip input { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; }
.fmcp-typechip span { padding: 10px 16px; border: 1px solid var(--fm-line2); border-radius: 99px; font-size: 14px; color: #38405c; transition: .15s; }
.fmcp-typechip:hover span { border-color: #b9c2da; }
.fmcp-typechip.on span { border-color: var(--fm-gl); color: var(--fm-gl); background: rgba(91,191,42,.08); font-weight: 600; }
.fmcp-typechip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(91,191,42,.25); }
.fmcp-ideas { margin-top: 12px; }
.fmcp-ideas > div { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.fmcp-idea { padding: 7px 13px; border: 1px solid var(--fm-line2); border-radius: 99px; background: transparent; color: #38405c; font-size: 13px; cursor: pointer; font-family: inherit; }
.fmcp-idea:hover { border-color: var(--fm-gl); color: var(--fm-gl); }
.fmcp-same { display: flex !important; align-items: center; gap: 8px; margin: 8px 0 0 !important; font-size: 13px !important; color: var(--fm-mut) !important; font-weight: 500; }
.fmcp-same input { width: auto; height: auto; accent-color: var(--fm-gl); }
.fmcp-field input[readonly] { opacity: .7; }
.fmcp-sc { border: 1px solid var(--fm-line); border-radius: 18px; overflow: hidden; background: var(--fm-card2); margin-top: 14px; }
.fmcp-sc .hd { height: 86px; background: linear-gradient(135deg, #3B6D11, #42b72a); }
.fmcp-sc .bd { padding: 0 18px 18px; margin-top: -26px; }
.fmcp-sc .lg { width: 52px; height: 52px; border-radius: 14px; background: #fff; color: var(--fm-bg); display: grid; place-items: center; font-family: var(--fm-head); font-weight: 700; font-size: 18px; border: 3px solid var(--fm-card2); }
.fmcp-sc h4 { font-family: var(--fm-head); font-size: 20px; margin: 10px 0 2px; }
.fmcp-sc .r { display: flex; gap: 10px; align-items: center; font-size: 13.5px; color: #38405c; padding: 8px 0; border-top: 1px solid var(--fm-line); word-break: break-word; }
.fmcp-sc .r svg { color: var(--fm-gl); flex: 0 0 16px; }

/* ---- v1.6.0: import strip, pickers, class rows, glance, readiness ---- */
.fmcp-import{border-color:rgba(27,51,117,.35);background:linear-gradient(180deg,rgba(27,51,117,.08),var(--fm-card))}
.fmcp-import-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fmcp-import-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(27,51,117,.18);color:var(--fm-pur);flex:none}
.fmcp-import-copy{flex:1;min-width:200px}
.fmcp-import-copy b{display:block;margin-bottom:2px}
.fmcp-import-msg{margin-top:10px;min-height:0}
.fmcp-import-msg:empty{display:none}

.fmcp-picker-label{display:block;font-weight:600;margin-bottom:8px}
.fmcp-picker-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;min-height:0}
.fmcp-pchip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 12px;border-radius:999px;border:1px solid rgba(91,191,42,.45);background:var(--fm-gtint);color:var(--fm-ink);font:inherit;font-size:13px;cursor:pointer}
.fmcp-pchip i{font-style:normal;opacity:.7;font-size:15px;line-height:1}
.fmcp-pchip:hover i{opacity:1}
.fmcp-picker-q{width:100%;margin-bottom:8px}
.fmcp-picker-list{max-height:230px;overflow:auto;border:1px solid var(--fm-line);border-radius:12px;background:var(--fm-card2,rgba(22,27,48,.03));padding:4px}
.fmcp-picker-opt{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px}
.fmcp-picker-opt[hidden]{display:none}
.fmcp-picker-opt:hover{background:rgba(22,27,48,.04)}
.fmcp-picker-opt.on{background:var(--fm-gtint)}
.fmcp-picker-none{padding:12px}

.fmcp-classrow{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(120px,1.2fr) 100px 100px 34px;gap:8px;margin-bottom:8px;align-items:center}
.fmcp-classrow-x{width:34px;height:34px;border-radius:8px;border:1px solid var(--fm-line);background:none;color:var(--fm-mut);font-size:18px;cursor:pointer}
.fmcp-classrow-x:hover{color:var(--fm-ink);border-color:var(--fm-err)}
@media (max-width:640px){.fmcp-classrow{grid-template-columns:1fr 1fr;padding:12px;border:1px solid var(--fm-line);border-radius:12px}.fmcp-classrow select,.fmcp-classrow input[name$="[class]"]{grid-column:1 / -1}.fmcp-classrow-x{grid-column:1 / -1;width:100%}}

.fmcp-glance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.fmcp-glance div{padding:12px;border-radius:12px;background:rgba(22,27,48,.03);border:1px solid var(--fm-line)}
.fmcp-glance b{display:block;font:700 26px/1 Inter,sans-serif;color:var(--fm-gl)}
.fmcp-glance span{font-size:12px;color:var(--fm-mut)}
.fmcp-glance-rows .r{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--fm-line);font-size:13px}
.fmcp-glance-rows .r span{color:var(--fm-mut)}

.fmcp-ready{margin-bottom:8px}
.fmcp-ready-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;margin-bottom:10px}
.fmcp-ready-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px}
.fmcp-ready-list li{font-size:14px;color:var(--fm-mut)}
.fmcp-ready-list li.ok{color:var(--fm-gl)}
.fmcp-classrow input,.fmcp-classrow select,.fmcp-picker-q,.fmcp-view-step input[type=search]{width:100%;padding:12px 14px;background:var(--fm-card2);border:1px solid var(--fm-line2);border-radius:10px;color:var(--fm-ink);font:inherit;font-size:14.5px;box-sizing:border-box}
.fmcp-classrow input:focus,.fmcp-classrow select:focus,.fmcp-picker-q:focus{outline:none;border-color:var(--fm-gl)}
.fmcp-classrow{margin-bottom:10px}
#fmcp-add-class{margin-top:4px}
.fmcp-view-step .fmcp-typechips + .fmcp-section-label{margin-top:18px}

/* v1.6.1: live draft preview on the Overview */
.fmcp-live{display:block;margin:12px 0 14px;border:1px solid var(--fm-line2);border-radius:14px;overflow:hidden;background:var(--fm-card2);text-decoration:none;color:inherit}
.fmcp-live-bar{display:flex;align-items:center;gap:5px;padding:8px 10px;background:var(--fm-card);border-bottom:1px solid var(--fm-line)}
.fmcp-live-bar i{width:8px;height:8px;border-radius:50%;background:var(--fm-line2)}
.fmcp-live-bar span{margin-left:8px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--fm-mut)}
.fmcp-live-view{position:relative;aspect-ratio:16/10;overflow:hidden;background:#fff}
.fmcp-live-view iframe{position:absolute;left:0;top:0;width:1280px;height:800px;border:0;transform-origin:0 0;pointer-events:none}
.fmcp-live-empty .fmcp-live-view{background:var(--fm-card2);display:grid;place-items:center;padding:16px;text-align:center}

/* ---- v1.7.0: brief page (accordion + progress rail) ---- */
[hidden]{display:none !important}
.fmcp-view-brief{max-width:1340px}
.fmcp-brief{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
@media (min-width:1100px){.fmcp-brief{grid-template-columns:minmax(0,1fr) 340px}}
.fmcp-rail{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 20px);display:flex;flex-direction:column;gap:16px}
@media (max-width:1099px){.fmcp-rail{position:static;order:-1}}

.fmcp-acc-list{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.fmcp-acc{border:1px solid var(--fm-line);border-radius:16px;background:var(--fm-card);overflow:hidden}
.fmcp-acc.is-open{border-color:var(--fm-line2);box-shadow:0 20px 50px rgba(20,30,70,.08)}
.fmcp-acc-head{display:flex;align-items:center;gap:14px;padding:16px 20px;color:var(--fm-ink);text-decoration:none}
a.fmcp-acc-head:hover{background:rgba(22,27,48,.03)}
.fmcp-acc-mark{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;font:600 13px var(--fm-mono);border:1.5px solid var(--fm-line2);color:var(--fm-mut)}
.fmcp-acc.is-open .fmcp-acc-mark{border-color:var(--fm-pur);color:var(--fm-pur)}
.fmcp-acc.is-done .fmcp-acc-mark{background:var(--fm-g);border-color:var(--fm-g);color:#fff}
.fmcp-acc-title{flex:1;font:600 16.5px var(--fm-head);letter-spacing:-.01em}
.fmcp-acc-tag{font:500 12px var(--fm-mono);color:var(--fm-mut)}
.fmcp-acc.is-done .fmcp-acc-tag{color:var(--fm-gl)}
.fmcp-acc-body{padding:4px 20px 24px;border-top:1px solid var(--fm-line)}
/* the step views bring their own title block; the row already has one */
.fmcp-brief-body > h1,.fmcp-brief-body > .fmcp-label,.fmcp-brief-body > .fmcp-steps-bar,.fmcp-brief-body .fmcp-step-top .fmcp-label,.fmcp-brief-body > form > .fmcp-actions > a.fmcp-btn-ghost,.fmcp-brief-body .fmcp-actions a[href*="view=step"]{display:none}
.fmcp-brief-body .fmcp-sub{margin:16px 0 8px}
.fmcp-brief-body .fmcp-step-top{justify-content:flex-end;min-height:0;margin:0}
.fmcp-brief-body .fmcp-step-split{display:block;max-width:none}
.fmcp-brief-body .fmcp-card{background:var(--fm-card2)}
.fmcp-group-next{display:flex;align-items:center;gap:14px;margin:4px 0 8px}
.fmcp-brief-done{margin-top:22px}
.fmcp-brief-done h3{margin:0 0 6px}
.fmcp-brief-done .fmcp-btn{margin-top:10px}

.fmcp-wiz-top{display:flex;align-items:center;gap:14px;margin:14px 0}
.fmcp-wiz-now{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;background:var(--fm-gtint);border:1px solid rgba(91,191,42,.25);margin-bottom:14px}
.fmcp-wiz-now b{font-size:15px}
.fmcp-wiz-list{list-style:none;margin:0;padding:0}
.fmcp-wiz-list li a{display:flex;align-items:center;gap:10px;padding:8px 4px;color:var(--fm-mut);text-decoration:none;font-size:14px}
.fmcp-wiz-list li a:hover{color:var(--fm-ink)}
.fmcp-wiz-list .m{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font:600 11px var(--fm-mono);border:1.5px solid var(--fm-line2)}
.fmcp-wiz-list li.now a{color:var(--fm-ink);font-weight:600}
.fmcp-wiz-list li.now .m{border-color:var(--fm-pur);color:var(--fm-pur)}
.fmcp-wiz-list li.done a{color:var(--fm-ink)}
.fmcp-wiz-list li.done .m{background:var(--fm-g);border-color:var(--fm-g);color:#fff}

.fmcp-nav-prog{padding:2px 12px 8px}
.fmcp-nav-prog .bar{height:4px;border-radius:99px;background:var(--fm-line2);overflow:hidden}
.fmcp-nav-prog .bar div{height:100%;background:var(--fm-gl);border-radius:99px}
.fmcp-nav-prog span{display:block;margin-top:6px;font:500 11.5px var(--fm-mono);color:var(--fm-mut)}
.fmcp-brief-body .fmcp-actions a.fmcp-btn-ghost{display:none}
.fmcp-brief-body .fmcp-actions{justify-content:flex-end}
.fmcp-brief-body .fmcp-typechips{margin-top:10px;gap:8px}

/* v1.7.1: phone top bar instead of a full-height sidebar */
.fmcp-menu-btn{display:none}
.fmcp-side-panel{display:contents}
@media (max-width:959px){
    .fmcp-side{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:20;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0;padding:10px 16px}
    .fmcp-menu-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:99px;border:1px solid var(--fm-line2);background:var(--fm-card2);color:var(--fm-ink);font:600 13.5px var(--fm-head);cursor:pointer}
    .fmcp-menu-count{font:600 12px var(--fm-mono);color:var(--fm-gl)}
    .fmcp-side-panel{display:none;flex:0 0 100%;max-height:calc(100vh - 76px);overflow-y:auto;padding:8px 0 4px;margin-top:10px;border-top:1px solid var(--fm-line)}
    .fmcp-side.menu-open .fmcp-side-panel{display:flex;flex-direction:column;gap:14px}
}

/* v1.7.2: dropdown control (any choice with 5+ options) */
.fmcp-acc{overflow:visible}
.fmcp-dd{position:relative}
.fmcp-dd-label{display:block;font-weight:600;font-size:14px;margin-bottom:8px}
.fmcp-dd-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;background:var(--fm-card2);border:1px solid var(--fm-line2);border-radius:10px;color:var(--fm-mut);font:inherit;font-size:14.5px;text-align:left;cursor:pointer}
.fmcp-dd.has-value .fmcp-dd-trigger{color:var(--fm-ink)}
.fmcp-dd-trigger:hover,.fmcp-dd.is-open .fmcp-dd-trigger{border-color:var(--fm-gl)}
.fmcp-dd.is-open .fmcp-dd-trigger svg{transform:rotate(180deg)}
.fmcp-dd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.fmcp-dd-chips:empty{display:none}
.fmcp-dd-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 12px;border-radius:99px;border:1px solid rgba(91,191,42,.45);background:var(--fm-gtint);color:var(--fm-ink);font:inherit;font-size:13px;cursor:pointer}
.fmcp-dd-chip i{font-style:normal;opacity:.7;font-size:15px;line-height:1}
.fmcp-dd-panel{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:var(--fm-card);border:1px solid var(--fm-line2);border-radius:12px;box-shadow:0 24px 60px rgba(20,30,70,.13);padding:8px}
.fmcp-dd.has-chips-gap .fmcp-dd-panel{top:auto}
.fmcp-dd-q{width:100%;padding:11px 14px;margin-bottom:6px;background:var(--fm-card2);border:1px solid var(--fm-line2);border-radius:8px;color:var(--fm-ink);font:inherit;font-size:14.5px;box-sizing:border-box}
.fmcp-dd-q:focus{outline:none;border-color:var(--fm-gl)}
.fmcp-dd-list{max-height:260px;overflow:auto}
.fmcp-dd-opt{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:8px;cursor:pointer;font-size:14.5px}
.fmcp-dd-opt[hidden]{display:none}
.fmcp-dd-opt:hover{background:rgba(22,27,48,.04)}
.fmcp-dd-opt.on{background:var(--fm-gtint)}
.fmcp-dd-none{padding:12px}

/* sub-sections inside a brief section (accordion in the accordion) */
.fmcp-subsec .fmcp-sh{cursor:pointer;user-select:none;margin-bottom:0}
.fmcp-subsec.is-open .fmcp-sh{margin-bottom:16px}
.fmcp-sub-chev{margin-left:10px;color:var(--fm-mut);display:inline-flex;transition:transform .15s}
.fmcp-subsec.is-open .fmcp-sub-chev{transform:rotate(180deg)}
.fmcp-subsec .fmcp-sh .n{display:grid;place-items:center}
.fmcp-subsec.is-done .fmcp-sh .n{background:var(--fm-g);color:#fff;border-color:var(--fm-g)}
.fmcp-sub-next{margin-top:18px}
.fmcp-sub-body{overflow:visible}

.fmcp-draft-empty{margin:14px 0 0;font-size:15.5px;line-height:1.55;color:var(--fm-mut)}
.fmcp-view-dashboard section[aria-label="Money"],.fmcp-view-dashboard section[aria-label="Messages"],.fmcp-view-dashboard section[aria-label="Help"]{align-self:start}
.fmcp-view-dashboard section[aria-label="Latest draft"]{align-self:start}

/* v1.7.4: thank-you after a saved section */
.fmcp-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(22,27,48,.5);backdrop-filter:blur(3px)}
.fmcp-modal[hidden]{display:none}
.fmcp-modal-card{width:100%;max-width:420px;text-align:center;padding:32px 28px 26px;border-radius:20px;background:var(--fm-card);border:1px solid var(--fm-line2);box-shadow:0 40px 100px rgba(20,30,70,.15);display:flex;flex-direction:column;align-items:center;gap:10px;animation:fmcp-pop .22s ease-out}
.fmcp-modal-card h2{margin:6px 0 0;font-size:24px}
.fmcp-modal-card p{margin:0 0 10px;font-size:15.5px;line-height:1.5}
.fmcp-modal-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--fm-g);color:#fff}
.fmcp-modal-card.is-complete .fmcp-modal-icon{width:88px;height:88px;background:rgba(242,193,78,.12);border:1px solid rgba(242,193,78,.4)}
.fmcp-modal-card .fmcp-btn{width:100%;justify-content:center}
@keyframes fmcp-pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fmcp-modal-card{animation:none}}

.fmcp-dd-group{padding:12px 10px 6px;font:600 11px var(--fm-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fm-mut)}
.fmcp-dd-group:first-child{padding-top:4px}
.fmcp-dd-group[hidden]{display:none}

/* ── Group titles inside a section: make each new group obvious ── */
.fmcp-brief-body .fmcp-field:has(> .fmcp-typechips, > .fmcp-dd, > .fmcp-chip-row, > .fmcp-pick),
.fmcp-brief-body .fmcp-field:has(> .fmcp-dd-label){position:relative}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row){margin-top:0;padding-top:22px;margin-bottom:0;border-top:1px solid rgba(22,27,48,.06)}
.fmcp-brief-body .fmcp-card .fmcp-sub-body > .fmcp-field:first-child,
.fmcp-brief-body .fmcp-card .fmcp-sh + .fmcp-field:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row){border-top:0;padding-top:4px}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row) > label,
.fmcp-brief-body .fmcp-card .fmcp-dd-label{display:flex;align-items:center;gap:9px;font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:var(--fm-ink);letter-spacing:.1px;margin-bottom:12px}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row) > label::before,
.fmcp-brief-body .fmcp-card .fmcp-dd-label::before{content:'';width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--fm-pur),var(--fm-grn,#5BBF2A));flex:none}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row) + .fmcp-field:not(:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row)){margin-top:22px}
/* soft swap between sections */
#fmcp-portal{transition:opacity .18s ease}
#fmcp-portal.is-swapping{opacity:.35;pointer-events:none}
@media (prefers-reduced-motion:reduce){#fmcp-portal{transition:none}}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips, .fmcp-dd) .fmcp-typechips{padding-bottom:20px}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips) > input{margin-bottom:20px}
.fmcp-extra-tag{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 9px 2px 3px;border-radius:999px;border:1px solid rgba(165,113,15,.45);background:rgba(165,113,15,.08);color:#a5710f;font:600 11px/1.4 Inter,sans-serif;letter-spacing:.02em;white-space:nowrap}
.fmcp-extra-tag i{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1.5px solid #a5710f;font-style:normal;font-size:9px;font-weight:700}
.fmcp-sh h3 .fmcp-note{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:999px;border:1px solid rgba(22,27,48,.11);font:500 11px/1.5 Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--fm-mut,var(--fm-mut));white-space:nowrap;vertical-align:middle}
/* palette slider */
.fmcp-pal-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;scrollbar-width:none}
.fmcp-pal-filters::-webkit-scrollbar{display:none}
.fmcp-pal-chip{flex:none;padding:7px 14px;border-radius:999px;border:1px solid rgba(22,27,48,.11);background:transparent;color:var(--fm-mut,var(--fm-mut));font:500 13px Inter,sans-serif;cursor:pointer;transition:.15s}
.fmcp-pal-chip:hover{border-color:rgba(22,27,48,.24);color:var(--fm-ink)}
.fmcp-pal-chip.on{background:rgba(27,51,117,.16);border-color:var(--fm-pur,var(--fm-pur));color:var(--fm-ink)}
.fmcp-pal-wrap{position:relative}
.fmcp-pal-track{display:grid;grid-auto-flow:column;grid-template-rows:auto;grid-auto-columns:200px;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 14px;scrollbar-width:thin}
.fmcp-pal-track .fmcp-palette{scroll-snap-align:start}
.fmcp-pal-track .fmcp-palette[hidden]{display:none}
.fmcp-pal-arrow{position:absolute;top:50%;transform:translateY(-62%);z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid rgba(22,27,48,.16);background:rgba(255,255,255,.96);color:var(--fm-ink);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 18px rgba(20,30,70,.10)}
.fmcp-pal-arrow.prev{left:-12px}.fmcp-pal-arrow.next{right:-12px}
.fmcp-pal-arrow.off{opacity:0;pointer-events:none}
.fmcp-pal-pop{font-style:normal;margin-left:6px;padding:1px 7px;border-radius:999px;background:rgba(91,191,42,.15);color:var(--fm-gl,#2e7d32);font:600 10px Inter,sans-serif;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}
.fmcp-pal-hint{margin:2px 0 0;font-size:13px;color:var(--fm-mut,var(--fm-mut))}
@media (max-width:959px){.fmcp-pal-arrow{display:none}.fmcp-pal-track{grid-auto-columns:170px}}
/* mood cards: tiny animated scenes */
.fmcp-mood-track{grid-auto-columns:230px}
.fmcp-mood-track .fmcp-mood{scroll-snap-align:start}
.fmcp-mood-preview{position:relative;height:132px;padding:0;overflow:hidden;background:linear-gradient(135deg,var(--m1),var(--m2));color:var(--mac)}
.fmcp-mood-preview .ic{position:absolute;top:10px;right:10px;opacity:.85;z-index:2}
.fmcp-mood-preview .mini{position:absolute;left:14px;bottom:14px;width:62%;display:flex;flex-direction:column;gap:6px;z-index:2}
.fmcp-mood-preview .mini i{display:block;height:6px;width:40%;border-radius:var(--mr);background:var(--mac);opacity:.9}
.fmcp-mood-preview .mini b{display:block;height:8px;width:100%;border-radius:var(--mr);background:var(--mac);opacity:.55}
.fmcp-mood-preview .mini b.s{width:70%;opacity:.35}
.fmcp-mood-preview .mini u{display:block;width:44px;height:14px;border-radius:var(--mr);background:var(--mac);margin-top:2px}
.fmcp-mood-preview .d{position:absolute;display:block;background:var(--mac);opacity:.28;z-index:1}
.fmcp-mood-preview .d1{width:34px;height:34px;left:62%;top:26px}
.fmcp-mood-preview .d2{width:20px;height:20px;left:74%;top:70px}
.fmcp-mood-preview .d3{width:12px;height:12px;left:52%;top:14px}
.fmcp-sh-circle .d,.fmcp-sh-ring .d,.fmcp-sh-blob .d,.fmcp-sh-heart .d{border-radius:50%}
.fmcp-sh-ring .d{background:transparent;border:3px solid var(--mac);opacity:.4}
.fmcp-sh-blob .d1{border-radius:60% 40% 55% 45%}.fmcp-sh-blob .d2{border-radius:45% 55% 40% 60%}
.fmcp-sh-heart .d{border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.fmcp-sh-leaf .d{border-radius:0 100% 0 100%}
.fmcp-sh-tri .d{background:transparent;width:0!important;height:0!important;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:24px solid var(--mac)}
.fmcp-sh-diamond .d{transform:rotate(45deg)}
.fmcp-sh-square .d{border-radius:4px}
.fmcp-sh-line .d{height:3px!important;width:46px!important;border-radius:2px}
@keyframes fmcp-an-bounce{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes fmcp-an-float{0%,100%{translate:0 0}50%{translate:6px -8px}}
@keyframes fmcp-an-sway{0%,100%{rotate:-10deg}50%{rotate:12deg}}
@keyframes fmcp-an-pulse{0%,100%{scale:1;opacity:.28}50%{scale:1.35;opacity:.6}}
@keyframes fmcp-an-slide{0%,100%{translate:0 0}50%{translate:-16px 0}}
@keyframes fmcp-an-drift{0%{translate:0 0;rotate:0deg}50%{translate:-10px 8px;rotate:20deg}100%{translate:0 0;rotate:0deg}}
@keyframes fmcp-an-spin{to{rotate:360deg}}
@keyframes fmcp-an-shimmer{0%,100%{opacity:.15}50%{opacity:.6}}
.fmcp-an-bounce .d{animation:fmcp-an-bounce 1.6s ease-in-out infinite}
.fmcp-an-float .d{animation:fmcp-an-float 3.2s ease-in-out infinite}
.fmcp-an-sway .d{animation:fmcp-an-sway 3s ease-in-out infinite;transform-origin:50% 100%}
.fmcp-an-pulse .d{animation:fmcp-an-pulse 1.4s ease-in-out infinite}
.fmcp-an-slide .d{animation:fmcp-an-slide 3.4s ease-in-out infinite}
.fmcp-an-drift .d{animation:fmcp-an-drift 4s ease-in-out infinite}
.fmcp-an-spin .d{animation:fmcp-an-spin 6s linear infinite}
.fmcp-an-shimmer .d{animation:fmcp-an-shimmer 2.6s ease-in-out infinite}
.fmcp-mood-preview .d2{animation-delay:-.5s!important}.fmcp-mood-preview .d3{animation-delay:-1s!important}
.fmcp-an-bounce .ic{animation:fmcp-an-bounce 1.6s ease-in-out infinite}
.fmcp-an-pulse .ic{animation:fmcp-an-pulse 1.4s ease-in-out infinite}
.fmcp-an-spin .ic{animation:fmcp-an-spin 8s linear infinite}
@media (prefers-reduced-motion:reduce){.fmcp-mood-preview .d,.fmcp-mood-preview .ic{animation:none!important}}
/* two rows that slide sideways together */
.fmcp-pal-track{grid-template-rows:repeat(2,auto)}
.fmcp-pal-track .fmcp-palette,.fmcp-pal-track .fmcp-mood{align-self:start}
.fmcp-mood-preview{height:110px}
.fmcp-pal-arrow{top:calc(50% - 8px)}
/* any remaining small section label reads as a real heading */
.fmcp-view-step .fmcp-section-label,.fmcp-view-payments .fmcp-section-label,.fmcp-section-label{font-family:Inter,sans-serif;font-size:18px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--fm-ink);border-bottom:1px solid rgba(22,27,48,.08);padding:26px 0 12px}
.fmcp-sh h3{font-family:var(--fm-head);font-size:21px;font-weight:800;color:var(--fm-ink)}

.fmcp-pal-track.fmcp-row1{grid-template-rows:auto;grid-auto-columns:270px}
.fmcp-row1 .fmcp-option{align-self:stretch}
/* final review */
.fmcp-review-card{max-width:560px;text-align:left}
.fmcp-review-card h2{text-align:left}
.fmcp-rv{margin:16px 0 20px;border:1px solid rgba(22,27,48,.08);border-radius:14px;overflow:hidden}
.fmcp-rv-row{display:flex;justify-content:space-between;gap:18px;padding:12px 16px;border-bottom:1px solid rgba(22,27,48,.05);font-size:14px}
.fmcp-rv-row:last-child{border-bottom:0}
.fmcp-rv-row span{color:var(--fm-mut,var(--fm-mut));flex:none}
.fmcp-rv-row b{font-weight:600;text-align:right}
.fmcp-rv-total{background:rgba(91,191,42,.08)}.fmcp-rv-total b{font-size:18px;color:var(--fm-gl,#2e7d32)}
.fmcp-rv-change{padding:12px 16px;background:rgba(165,113,15,.08);border-bottom:1px solid rgba(165,113,15,.25);display:flex;flex-direction:column;gap:4px;font-size:14px}
.fmcp-rv-change b{color:#a5710f}.fmcp-rv-change span{color:#38405c}
.fmcp-review-card .fmcp-btn{margin-right:8px}
/* opening fork: full brief or quick brief */
.fmcp-fork{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 24px}
.fmcp-fork-card{position:relative;text-align:left;display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:18px;border:1px solid rgba(22,27,48,.09);background:var(--fm-card,var(--fm-card));color:inherit;font:inherit;cursor:pointer;transition:border-color .15s,transform .15s}
.fmcp-fork-card:hover{border-color:var(--fm-pur,var(--fm-pur));transform:translateY(-2px)}
.fmcp-fork-card.is-rec{border-color:rgba(91,191,42,.5);background:linear-gradient(160deg,rgba(91,191,42,.08),transparent 60%),var(--fm-card,var(--fm-card))}
.fmcp-fork-card b{font:600 21px Inter,sans-serif;color:var(--fm-ink)}
.fmcp-fork-card span:not(.fmcp-fork-ic):not(.fmcp-fork-tag){color:var(--fm-mut,var(--fm-mut));font-size:14.5px;line-height:1.5}
.fmcp-fork-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(27,51,117,.14);color:var(--fm-pur,var(--fm-pur))}
.is-rec .fmcp-fork-ic{background:rgba(91,191,42,.14);color:var(--fm-gl,#2e7d32)}
.fmcp-fork-tag{position:absolute;top:18px;right:18px;padding:2px 10px;border-radius:999px;background:rgba(91,191,42,.15);color:var(--fm-gl,#2e7d32);font:600 11px Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.fmcp-fork-card:disabled{opacity:.6;pointer-events:none}
@media (max-width:700px){.fmcp-fork{grid-template-columns:1fr}}
.fmcp-acc-mark.is-auto,.fmcp-wiz-list .m.is-auto{background:rgba(27,51,117,.16);color:var(--fm-pur,var(--fm-pur));border-color:rgba(27,51,117,.4)}
.fmcp-wiz-mode{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(22,27,48,.08);font-size:13px;color:#38405c;display:flex;flex-direction:column;gap:6px}
.fmcp-link{background:none;border:0;padding:0;text-align:left;color:var(--fm-pur,var(--fm-pur));font:600 13px Inter,sans-serif;cursor:pointer;text-decoration:underline}
.fmcp-wiz-list li .m.is-auto,.fmcp-wiz-list li.done .m.is-auto,.fmcp-acc.is-done .fmcp-acc-mark.is-auto{background:rgba(27,51,117,.16)!important;color:var(--fm-pur,var(--fm-pur))!important;border:1px solid rgba(27,51,117,.45)!important}
/* autopilot switch in the sidebar */
.fmcp-autopilot{display:flex;align-items:center;gap:10px;width:100%;margin:4px 0 8px;padding:10px 12px;border-radius:12px;border:1px solid rgba(22,27,48,.09);background:rgba(22,27,48,.03);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.fmcp-autopilot:hover{border-color:rgba(27,51,117,.5)}
.fmcp-autopilot.is-on{border-color:rgba(27,51,117,.55);background:rgba(27,51,117,.1)}
.fmcp-ap-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(27,51,117,.16);color:var(--fm-pur,var(--fm-pur));flex:none}
.fmcp-ap-txt{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.25}
.fmcp-ap-txt b{font:600 14px Inter,sans-serif;color:var(--fm-ink)}.fmcp-ap-txt small{font-size:12px;color:var(--fm-mut,var(--fm-mut))}
.fmcp-ap-sw{width:34px;height:20px;border-radius:999px;background:rgba(22,27,48,.11);position:relative;flex:none;transition:background .15s}
.fmcp-ap-sw i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.is-on .fmcp-ap-sw{background:var(--fm-pur,var(--fm-pur))}.is-on .fmcp-ap-sw i{transform:translateX(14px)}
.fmcp-autopilot:disabled{opacity:.6;pointer-events:none}

/* === Payments: deposit, balance, hosting, code, upgrade === */
.fmcp-k{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-mut)}
.fmcp-k2{display:block;font-size:13.5px;color:var(--fm-mut);line-height:1.5}
.fmcp-v{font:800 24px/1.2 var(--fm-head);color:var(--fm-ink);margin:4px 0}
.fmcp-sh2{font:800 16px var(--fm-head);color:var(--fm-ink);text-align:center;margin:26px 0 12px}
.fmcp-linkbtn{background:none;border:0;padding:0;color:var(--fm-pur);font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline}
.fmcp-plan{padding:28px}
.fmcp-plan-help{max-width:620px;margin:0 auto 22px;text-align:center;color:var(--fm-mut);font-size:14.5px;line-height:1.55}
.fmcp-dep{max-width:560px;margin:0 auto;text-align:center}
.fmcp-dep-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-mut)}
.fmcp-dep-amt{font:800 clamp(40px,7vw,56px)/1.1 var(--fm-head);color:var(--fm-pur);letter-spacing:-.02em;margin:6px 0 18px}
.fmcp-dep input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:99px;outline:0;cursor:pointer;
  background:linear-gradient(to right,var(--fm-g) 0,var(--fm-g) var(--pct,50%),#e2e6f0 var(--pct,50%),#e2e6f0 100%)}
.fmcp-dep input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:3px solid var(--fm-pur);box-shadow:0 2px 6px rgba(27,42,120,.25)}
.fmcp-dep input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--fm-pur);box-shadow:0 2px 6px rgba(27,42,120,.25)}
.fmcp-dep input[type=range]:focus-visible{box-shadow:0 0 0 3px rgba(27,42,120,.25)}
.fmcp-dep-ends{display:flex;justify-content:space-between;font-size:12.5px;color:var(--fm-mut);margin:8px 2px 14px}
.fmcp-dep-chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.fmcp-dep-chips button{height:40px;padding:0 18px;border-radius:99px;border:1px solid var(--fm-line2);background:#fff;color:var(--fm-pur);font:700 14px var(--fm-head);cursor:pointer}
.fmcp-dep-chips button:hover,.fmcp-dep-chips button.on{background:var(--fm-gtint);border-color:var(--fm-gd)}
.fmcp-months{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:680px;margin:0 auto}
.fmcp-month{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:16px 10px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px var(--fm-line);cursor:pointer}
.fmcp-month input{position:absolute;opacity:0;pointer-events:none}
.fmcp-month b{font:800 15px var(--fm-head)}.fmcp-month span{font-size:13px;color:var(--fm-mut)}
.fmcp-month.on{background:var(--fm-gtint);box-shadow:0 0 0 2px var(--fm-gd)}
.fmcp-code{margin-top:14px;padding-top:14px;border-top:1px solid var(--fm-line);display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fmcp-code label{font-weight:700;font-size:14px}
.fmcp-code-row{display:flex;gap:8px;flex:1;min-width:220px;max-width:380px}
.fmcp-code-row input{flex:1;height:38px;padding:0 14px;border-radius:12px;border:1px solid var(--fm-line2);font:600 14px var(--fm-head);text-transform:uppercase;letter-spacing:.06em}
.fmcp-code-msg{flex-basis:100%;font-size:13px;color:var(--fm-err)}
.fmcp-code-msg.ok{color:var(--fm-gd)}
.fmcp-code-on{display:inline-flex;align-items:center;gap:6px;color:var(--fm-gd);font-weight:600}
.fmcp-hosts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.fmcp-host{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 20px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--fm-line);cursor:pointer;transition:box-shadow .15s,transform .15s}
.fmcp-host:hover{transform:translateY(-2px)}
.fmcp-host input{position:absolute;opacity:0;pointer-events:none}
.fmcp-host input:focus-visible ~ .fmcp-host-n{outline:2px solid var(--fm-pur);outline-offset:4px;border-radius:4px}
.fmcp-host-tag{align-self:flex-start;padding:3px 10px;border-radius:99px;background:#ffc107;color:#1e293b;font:800 11px var(--fm-head);letter-spacing:.04em;text-transform:uppercase}
.fmcp-host-n{font:800 18px var(--fm-head);color:var(--fm-ink)}
.fmcp-host-p{font-size:14px;color:var(--fm-mut)}.fmcp-host-p strong{font:800 28px var(--fm-head);color:var(--fm-pur)}
.fmcp-host ul{list-style:none;margin:8px 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--fm-ink)}
.fmcp-host li{display:flex;gap:8px;align-items:flex-start}.fmcp-host li svg{flex:none;margin-top:2px;color:var(--fm-gd)}
.fmcp-host-sel{display:none;margin-top:auto;align-items:center;gap:6px;font:800 13px var(--fm-head);color:var(--fm-gd)}
.fmcp-host.on{background:var(--fm-gtint);box-shadow:0 0 0 2px var(--fm-gd)}.fmcp-host.on .fmcp-host-sel{display:inline-flex}
.fmcp-upgrade{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.fmcp-upgrade-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
@media (max-width:767px){.fmcp-months,.fmcp-hosts{grid-template-columns:1fr}.fmcp-plan{padding:20px 16px}.fmcp-upgrade-r{align-items:stretch;text-align:left;width:100%}.fmcp-code-row{max-width:none}}

/* White-label branding */
.fmcp-brand{display:flex;align-items:center;padding:0 8px;text-decoration:none}
.fmcp-brand img{display:block;max-width:100%;object-fit:contain}
.fmcp-powered{margin:36px 0 8px;text-align:center;font-size:12.5px;letter-spacing:.02em;color:var(--fm-mut)}
.fmcp-powered b{font-weight:700;color:var(--fm-pur)}

/* Basket */
.fmcp-basket-btn{position:fixed;top:16px;right:20px;z-index:90;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:99px;border:0;background:#fff;color:var(--fm-pur);font:700 14px var(--fm-head);box-shadow:0 0 0 1px var(--fm-line),0 6px 18px rgba(27,42,120,.12);cursor:pointer}
.fmcp-basket-btn b{font-weight:800;color:var(--fm-ink)}
.fmcp-basket-back{position:fixed;inset:0;z-index:120;background:rgba(16,26,85,.45)}
.fmcp-basket{position:fixed;z-index:121;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(16,26,85,.2)}
.fmcp-basket[hidden],.fmcp-basket-back[hidden]{display:none}
.fmcp-basket-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--fm-line)}
.fmcp-basket-head h3{margin:0;font:800 20px var(--fm-head)}
.fmcp-basket-x{width:40px;height:40px;border-radius:50%;border:0;background:var(--fm-bg);font-size:24px;line-height:1;color:var(--fm-ink);cursor:pointer}
.fmcp-basket-body{flex:1;overflow:auto;padding:8px 22px 18px}
.fmcp-basket-foot{padding:16px 22px;border-top:1px solid var(--fm-line)}.fmcp-basket-foot .fmcp-btn{width:100%;justify-content:center}
.fmcp-bk{width:100%;border-collapse:collapse;font-size:14.5px}.fmcp-bk td{padding:10px 0;border-bottom:1px solid var(--fm-line);vertical-align:top}
.fmcp-bk td:last-child{text-align:right;font-weight:700;white-space:nowrap;padding-left:12px}.fmcp-bk small{display:block;color:var(--fm-mut);font-weight:500}
.fmcp-bk .g td{color:var(--fm-gd)}.fmcp-bk .t td{border-bottom:0;font-weight:800;font-size:16px}
.fmcp-bk-h{font:800 12px var(--fm-head);letter-spacing:.08em;text-transform:uppercase;color:var(--fm-mut);margin:20px 0 2px}.fmcp-bk-h small{text-transform:none;letter-spacing:0;font-weight:500}
@media (max-width:767px){.fmcp-basket-btn{top:auto;bottom:16px;right:16px}.fmcp-basket{top:auto;width:100%;max-height:88vh;border-radius:24px 24px 0 0}}

/* Landing page: single column, own top bar */
.fmcp-landing .fmcp-wrap{display:block;max-width:1180px;margin:0 auto;padding:0 20px}
.fmcp-topnav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--fm-line)}
.fmcp-topnav .fmcp-nav{display:flex;flex-direction:row;gap:6px;flex:1;justify-content:center}
.fmcp-topnav .fmcp-nav a{padding:8px 14px;border-radius:99px;font-weight:600;font-size:15px;color:var(--fm-mut)}
.fmcp-topnav .fmcp-nav a:hover{background:var(--fm-gtint);color:var(--fm-pur)}
.fmcp-topnav-right{display:flex;gap:10px;align-items:center}
@media (max-width:767px){.fmcp-topnav{flex-wrap:wrap}.fmcp-topnav .fmcp-nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto}}

/* Overview ad strip */
.fmcp-strip{position:relative;display:grid;margin:0 0 16px;border-radius:16px;background:var(--fm-gtint);box-shadow:0 0 0 1px #c9e2ab;overflow:hidden}
.fmcp-strip-item{grid-area:1/1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 56px 12px 16px;opacity:0;visibility:hidden;transition:opacity .35s}
.fmcp-strip-item.is-on{opacity:1;visibility:visible}
.fmcp-strip-tag{flex:none;padding:4px 12px;border-radius:99px;background:var(--fm-pur);color:#fff;font:800 11px var(--fm-head);letter-spacing:.06em;text-transform:uppercase}
.fmcp-strip-text{flex:1 1 280px;font-size:14.5px;line-height:1.45;color:var(--fm-ink)}
.fmcp-strip .fmcp-strip-go{flex:none;font:800 14px var(--fm-head);color:var(--fm-pur);text-decoration:underline}
.fmcp-strip-dots{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;gap:6px}
.fmcp-strip-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#b7cf9a;cursor:pointer}.fmcp-strip-dots button.on{background:var(--fm-pur)}
@media (max-width:767px){.fmcp-strip-item{padding:12px 14px 26px}.fmcp-strip-dots{right:50%;top:auto;bottom:8px;transform:translateX(50%)}}
@media (prefers-reduced-motion:reduce){.fmcp-strip-item{transition:none}}

/* Messages: chat bubbles and composer */
.fmcp-messages-container{display:flex;flex-direction:column;gap:12px}
.fmcp-msg{max-width:min(560px,86%);padding:12px 16px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--fm-line)}
.fmcp-msg-in{align-self:flex-start;border-bottom-left-radius:6px}
.fmcp-msg-out{align-self:flex-end;background:var(--fm-pur);color:#fff;box-shadow:none;border-bottom-right-radius:6px}
.fmcp-msg-meta{display:flex;gap:10px;align-items:baseline;font-size:12.5px;margin-bottom:4px;color:var(--fm-mut)}
.fmcp-msg-meta b{color:var(--fm-ink)}
.fmcp-msg-out .fmcp-msg-meta,.fmcp-msg-out .fmcp-msg-meta b{color:rgba(255,255,255,.85)}
.fmcp-msg-body{font-size:15px;line-height:1.5}
#fmcp-message-form{background:var(--fm-bg)!important;border-top:0!important;padding:12px 0 8px!important}

/* v1.9.1: frosted light-blue sidebar (Gameed, 4 Nov 2026) */
.fmcp-side { background: linear-gradient(180deg, rgba(222,234,255,.92) 0%, rgba(232,241,255,.88) 55%, rgba(226,240,236,.86) 100%); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); border-color: rgba(27,42,120,.10); box-shadow: 1px 0 24px rgba(27,42,120,.06); }
.fmcp-side .fmcp-nav a:hover { background: rgba(255,255,255,.65); }
.fmcp-side .fmcp-nav a.on { background: rgba(255,255,255,.92); box-shadow: 0 1px 4px rgba(27,42,120,.10); }
.fmcp-side .fmcp-nav-label { color: #3b4a78; }
.fmcp-side .fmcp-side-foot { border-top-color: rgba(27,42,120,.12); }
.fmcp-side .fmcp-logout { background: rgba(255,255,255,.7); border-color: rgba(27,42,120,.16); }

/* v1.9.1: estimate is a basket in a slim top line (desktop): hover shows the detail, no space taken from the page */
@media (min-width:960px){
    .fmcp-main{padding-top:84px}
    .fmcp-main::before{content:"";position:fixed;z-index:80;top:var(--wp-admin--admin-bar--height,0px);left:288px;right:0;height:56px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--fm-line)}
    .fmcp-basket-btn{top:calc(var(--wp-admin--admin-bar--height,0px) + 9px);right:24px;height:38px;padding:0 14px 0 12px;gap:8px;font-size:13.5px;background:#fff;color:#1b2a78;box-shadow:0 0 0 1px var(--fm-line2)}
    .fmcp-basket-btn:hover,.fmcp-basket-btn[aria-expanded=true]{box-shadow:0 0 0 1.5px #1b2a78}
    .fmcp-basket-btn b{color:#1b2a78}
}
@media (min-width:960px) and (hover:hover){
    .fmcp-basket-back{display:none!important}
    .fmcp-basket{top:calc(var(--wp-admin--admin-bar--height,0px) + 52px);right:24px;bottom:auto;width:390px;max-height:calc(100vh - 96px);border-radius:18px;box-shadow:0 0 0 1px var(--fm-line),0 18px 48px rgba(16,26,85,.2);z-index:95}
    .fmcp-basket-head{padding:14px 20px}.fmcp-basket-head h3{font-size:17px}.fmcp-basket-x{display:none}
    .fmcp-basket-body{padding:4px 20px 12px}.fmcp-basket-foot{padding:12px 20px}
}

/* v1.9.1: brief fills the full width, progress panel sits at the right edge and is a little bigger (no dead gap) */
@media (min-width:1100px){
    .fmcp-view-brief,.fmcp-view-step:has(.fmcp-step-split){max-width:none}
    .fmcp-brief{grid-template-columns:minmax(0,1fr) 380px;gap:32px}
}
@media (min-width:1600px){.fmcp-brief{grid-template-columns:minmax(0,1fr) 440px;gap:40px}}

/* v1.9.1: right-hand progress panel collapses to a slim icon strip; the form widens (desktop; remembered) */
.fmcp-rail-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fmcp-rail-toggle{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--fm-line2);background:#fff;color:var(--fm-mut);cursor:pointer;padding:0;transition:background .15s,color .15s}
.fmcp-rail-toggle:hover{background:var(--fm-bg);color:var(--fm-ink)}
.fmcp-rail-full{display:flex;flex-direction:column;gap:16px}
.fmcp-rail-strip{display:none}
.fmcp-ring-xs{--p:0;width:44px;height:44px;border-radius:50%;margin:0;display:grid;place-items:center;background:conic-gradient(var(--fm-g) calc(var(--p) * 1%),var(--fm-line) 0)}
.fmcp-ring-xs>span{width:34px;height:34px;border-radius:50%;background:#fff;display:grid;place-items:center;font:700 11px var(--fm-head);color:var(--fm-ink)}
@media (max-width:1099px){.fmcp-rail-toggle{display:none}}
@media (min-width:1100px){
    .fmcp-brief{transition:grid-template-columns .25s ease}
    .fmcp-brief.is-rail-collapsed{grid-template-columns:minmax(0,1fr) 64px}
    .fmcp-brief.is-rail-collapsed .fmcp-rail-full{display:none}
    .fmcp-brief.is-rail-collapsed .fmcp-rail-strip{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 8px;border:1px solid var(--fm-line);border-radius:18px;background:#fff}
    .fmcp-strip-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;border:0;background:transparent;color:var(--fm-mut);cursor:pointer;padding:0;transition:background .15s,color .15s}
    .fmcp-strip-btn:hover{background:var(--fm-bg);color:var(--fm-ink)}
}

/* Brief: fold arrow on every section header */
.fmcp-acc-head{cursor:pointer}
.fmcp-acc-chev{flex:none;margin-left:10px;color:var(--fm-mut);transition:transform .2s}
.fmcp-acc.is-open .fmcp-acc-chev{transform:rotate(180deg);color:var(--fm-pur)}
.fmcp-acc.is-open.is-collapsed .fmcp-acc-chev{transform:rotate(0)}
.fmcp-acc.is-collapsed .fmcp-acc-body{display:none}
.fmcp-acc-head:focus-visible{outline:2px solid var(--fm-pur);outline-offset:2px;border-radius:12px}

/* === Sidebar, app style: icon + label rows, foldable groups, user menu === */
.fmcp-nav{gap:2px}
.fmcp-nav a.fmcp-ni-row,.fmcp-user-pop a{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 12px;border-radius:10px;font-size:15px;font-weight:500;color:var(--fm-ink)}
.fmcp-ni{display:inline-flex;flex:none;width:20px;justify-content:center;color:var(--fm-mut)}
.fmcp-nl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fmcp-side .fmcp-nav a.fmcp-ni-row:hover{background:rgba(255,255,255,.6)}
.fmcp-side .fmcp-nav a.fmcp-ni-row.on{background:rgba(27,42,120,.09);box-shadow:none;color:var(--fm-pur);font-weight:700}
.fmcp-nav a.fmcp-ni-row.on .fmcp-ni{color:var(--fm-pur)}
.fmcp-tick{display:inline-flex;flex:none;width:18px;height:18px;border-radius:50%;background:var(--fm-gd);color:#fff;align-items:center;justify-content:center}
.fmcp-nav .fmcp-badge{margin-left:auto}
.fmcp-grp-t{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;cursor:pointer;text-align:left;font:700 12px var(--fm-head);letter-spacing:.06em;text-transform:uppercase;color:#3b4a78;padding:16px 12px 6px}
.fmcp-grp-t svg{margin-left:auto;transition:transform .2s;opacity:.7}
.fmcp-grp-n{font-weight:600;letter-spacing:0;text-transform:none;opacity:.75}
.fmcp-grp.is-folded .fmcp-grp-b{display:none}.fmcp-grp.is-folded .fmcp-grp-t svg{transform:rotate(-90deg)}
.fmcp-grp-t:focus-visible{outline:2px solid var(--fm-pur);outline-offset:-2px;border-radius:10px}
.fmcp-side-foot{position:relative;gap:6px}
.fmcp-user{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:12px;background:rgba(255,255,255,.55);cursor:pointer;text-align:left;font:inherit;color:inherit}
.fmcp-user:hover{background:rgba(255,255,255,.9)}
.fmcp-user>svg{margin-left:auto;color:var(--fm-mut);flex:none}
.fmcp-user-pop{position:absolute;left:0;right:0;bottom:calc(100% + 6px);padding:6px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--fm-line),0 12px 30px rgba(27,42,120,.18);z-index:5}
.fmcp-user-pop[hidden]{display:none}
.fmcp-user-pop a:hover{background:var(--fm-bg)}
/* right-hand progress panel title */
.fmcp-rail-head .fmcp-mono{font:800 16px var(--fm-head);letter-spacing:0;text-transform:none;color:var(--fm-ink)}

/* v1.9.1 (phone): the estimate pill must not sit on top of the open menu drawer or the last lines of a page */
@media (max-width:959px){
    .fmcp-side.menu-open ~ .fmcp-basket-btn{display:none}
}
@media (max-width:767px){
    .fmcp-main{padding-bottom:96px}
}

/* v1.9.1: the sticky progress panel must sit below the slim top line (56px), not under it */
@media (min-width:1100px){.fmcp-rail{top:calc(var(--wp-admin--admin-bar--height,0px) + 76px)}}

/* v1.9.2: one title system. Every h2/h3, group title and mini title (field label) carries a bar:
   blue = not complete yet, green = complete. Bolder headings so they stand out from the body text. */
:root{--fm-bar:#2f55d4;--fm-bar-done:#2a8a2e}
.fmcp-main h2,.fmcp-main h3,.fmcp-brief-body .fmcp-field > label,.fmcp-brief-body .fmcp-dd-label{--tbar:var(--fm-bar)}
.fmcp-main h2,.fmcp-main h3:not(.fmcp-sh h3):not(.fmcp-acc-title){display:flex;align-items:center;gap:10px;font-weight:800;color:#121a3a;letter-spacing:-.015em}
.fmcp-main h2::before,.fmcp-main h3:not(.fmcp-sh h3):not(.fmcp-acc-title)::before{content:'';flex:none;width:4px;height:1.05em;border-radius:3px;background:var(--tbar)}
.fmcp-sh h3{font-weight:800;color:#121a3a;letter-spacing:-.015em}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row) > label::before,
.fmcp-brief-body .fmcp-card .fmcp-dd-label::before{background:var(--tbar)!important;width:4px;height:18px}
.fmcp-brief-body .fmcp-card .fmcp-field:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row) > label,
.fmcp-brief-body .fmcp-card .fmcp-dd-label{font-weight:700;color:#121a3a}
/* plain field labels (Street address, City / town ...) */
.fmcp-brief-body .fmcp-field:not(:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row)) > label{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:#121a3a;margin-bottom:8px}
.fmcp-brief-body .fmcp-field:not(:has(.fmcp-typechips, .fmcp-dd, .fmcp-chip-row)) > label::before{content:'';flex:none;width:3px;height:15px;border-radius:2px;background:var(--tbar)}
.fmcp-brief-body .fmcp-field > label small{font-weight:500;color:var(--fm-mut)}
/* complete = green: a filled field, a finished sub-section, a finished section */
.fmcp-field.is-filled > label,.fmcp-field.is-filled > .fmcp-dd-label,.fmcp-field.is-filled .fmcp-dd-label,
.fmcp-subsec.is-done h2,.fmcp-subsec.is-done h3,.fmcp-acc.is-done .fmcp-acc-body h2,.fmcp-acc.is-done .fmcp-acc-body h3{--tbar:var(--fm-bar-done)}
/* v1.9.2: section titles on Plan and payments ("Your deposit and payment plan", "After launch", "Need more?") use the same bar */
.fmcp-section-label{--tbar:var(--fm-bar);display:flex;align-items:center;gap:10px;font:800 19px var(--fm-head);letter-spacing:-.015em;color:#121a3a;margin:34px 0 14px}
.fmcp-section-label::before{content:'';flex:none;width:4px;height:1.05em;border-radius:3px;background:var(--tbar)}

/* v1.9.2: pills, chips, tiles and option cards read as buttons: a visible outline, a lift, a clear hover and a strong selected state */
:root{--fm-edge:#8d99bd;--fm-edge-hover:#1b2a78}
.fmcp-option,.fmcp-palette,.fmcp-font-pair,.fmcp-mood,.fmcp-fork-card,.fmcp-grid-4 > div,
.fmcp-typechip span,.fmcp-pal-chip,.fmcp-dd-trigger,.fmcp-dep-chips button,.fmcp-dd-chip,.fmcp-pchip{border:1.5px solid var(--fm-edge)!important;background-color:#fff;box-shadow:0 1px 0 rgba(27,42,120,.10),0 1px 3px rgba(27,42,120,.06)}
.fmcp-grid-4 > div{border-radius:10px!important;font-weight:500;color:#1e293b}
.fmcp-option:hover,.fmcp-palette:hover,.fmcp-font-pair:hover,.fmcp-mood:hover,.fmcp-fork-card:hover,
.fmcp-typechip:hover span,.fmcp-pal-chip:hover,.fmcp-dd-trigger:hover,.fmcp-dep-chips button:hover{border-color:var(--fm-edge-hover)!important;box-shadow:0 0 0 3px rgba(27,42,120,.08),0 2px 6px rgba(27,42,120,.10)}
/* selected */
.fmcp-option.selected,.fmcp-palette.selected,.fmcp-font-pair.selected,.fmcp-mood.selected,.fmcp-typechip input:checked + span,.fmcp-pal-chip.on,.fmcp-dep-chips button.on{border-color:var(--fm-bar-done,#2a8a2e)!important;box-shadow:0 0 0 3px rgba(42,138,46,.16)}
.fmcp-dd-chip,.fmcp-pchip{border-color:rgba(42,138,46,.65)!important}
.fmcp-dd-trigger:focus-visible,.fmcp-typechip input:focus-visible + span{outline:2px solid var(--fm-edge-hover);outline-offset:2px}

/* v1.9.2: waiting / empty states sit open on the page (no white box), centred and roomy */
.fmcp-wait{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:56px 20px 40px;max-width:640px;margin:0 auto}
.fmcp-wait-ic{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:rgba(47,85,212,.09);color:#2f55d4;box-shadow:0 0 0 10px rgba(47,85,212,.05)}
.fmcp-wait h2{display:block;margin:10px 0 0;font:800 30px/1.15 var(--fm-head);letter-spacing:-.02em;color:#121a3a}
.fmcp-wait h2::before{display:none}
.fmcp-wait p{margin:0;max-width:520px;font-size:16.5px;line-height:1.6;color:var(--fm-mut)}
.fmcp-wait .fmcp-btn{margin-top:6px}
.fmcp-wait-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;list-style:none;margin:18px 0 0;padding:0}
.fmcp-wait-steps li{display:flex;align-items:center;gap:9px;font:600 14.5px var(--fm-head);color:var(--fm-mut)}
.fmcp-wait-steps i{width:18px;height:18px;border-radius:50%;border:2px solid var(--fm-edge,#8d99bd);background:transparent;flex:none}
.fmcp-wait-steps li.done{color:#121a3a}.fmcp-wait-steps li.done i{background:var(--fm-bar-done,#2a8a2e);border-color:var(--fm-bar-done,#2a8a2e)}
.fmcp-wait-steps li.now{color:#121a3a}.fmcp-wait-steps li.now i{border-color:#2f55d4;box-shadow:0 0 0 4px rgba(47,85,212,.18)}
@media (max-width:600px){.fmcp-wait{padding:36px 8px 28px}.fmcp-wait h2{font-size:25px}.fmcp-wait-steps{flex-direction:column;align-items:flex-start;gap:10px}}

.fmcp-wait--ok .fmcp-wait-ic{background:rgba(42,138,46,.12);color:#2a8a2e;box-shadow:0 0 0 10px rgba(42,138,46,.06)}
.fmcp-messages-container:has(.fmcp-msg-empty){background:transparent;border:0;box-shadow:none}

/* v1.9.2: sidebar highlight: white pill with a navy bar and navy text (was navy tint on blue, muddy and low contrast) */
.fmcp-side .fmcp-nav a.fmcp-ni-row{position:relative;transition:background .15s,box-shadow .15s,color .15s}
.fmcp-side .fmcp-nav a.fmcp-ni-row:hover{background:rgba(255,255,255,.82);color:#101a55;box-shadow:0 1px 3px rgba(27,42,120,.10)}
.fmcp-side .fmcp-nav a.fmcp-ni-row:hover .fmcp-ni{color:#101a55}
.fmcp-side .fmcp-nav a.fmcp-ni-row.on{background:#fff;color:#101a55;font-weight:700;box-shadow:0 1px 6px rgba(27,42,120,.16),0 0 0 1px rgba(27,42,120,.08)}
.fmcp-side .fmcp-nav a.fmcp-ni-row.on::before{content:'';position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#1b2a78}
.fmcp-nav a.fmcp-ni-row.on .fmcp-ni{color:#1b2a78}
.fmcp-user-pop a:hover{background:#eef2fb;color:#101a55}

/* v1.9.2: no more pages hugging the left edge. Narrow-column pages sit centred in the content area;
   open-state pages centre their header too; the big payment-plan wrapper is open (no white box). */
@media (min-width:960px){
    .fmcp-view-step:not(:has(.fmcp-step-split)),.fmcp-view-messages{max-width:1040px;margin-left:auto;margin-right:auto;width:100%}
}
.fmcp-main:has(.fmcp-wait){text-align:center}
.fmcp-main:has(.fmcp-wait) .fmcp-label{display:inline-flex}
.fmcp-main:has(.fmcp-wait) .fmcp-steps-bar{margin-left:auto;margin-right:auto}
.fmcp-main:has(.fmcp-wait) .fmcp-sub{margin-left:auto;margin-right:auto;max-width:640px}
.fmcp-main:has(.fmcp-wait) .fmcp-actions{justify-content:center}
.fmcp-main:has(.fmcp-wait) .fmcp-powered{text-align:center}
.fmcp-view-payments .fmcp-card.fmcp-plan{background:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}

/* v1.9.2: sidebar group headings and the school button must never pick up the theme's blue button hover */
.fmcp-side .fmcp-grp-t,.fmcp-side .fmcp-grp-t:hover,.fmcp-side .fmcp-grp-t:focus,.fmcp-side .fmcp-grp-t:active,
.fmcp-side .fmcp-user,.fmcp-side .fmcp-user:hover,.fmcp-side .fmcp-user:focus,.fmcp-side .fmcp-user:active{background-image:none;box-shadow:none;border-color:transparent;text-decoration:none}
.fmcp-side .fmcp-grp-t{background-color:transparent!important;color:#3b4a78!important;border-radius:10px}
.fmcp-side .fmcp-grp-t:hover,.fmcp-side .fmcp-grp-t:focus-visible{background-color:rgba(255,255,255,.7)!important;color:#101a55!important}
.fmcp-side .fmcp-grp-t:active{background-color:rgba(255,255,255,.9)!important;color:#101a55!important}
.fmcp-side .fmcp-user{background-color:rgba(255,255,255,.7)!important;color:#1e293b!important}
.fmcp-side .fmcp-user:hover,.fmcp-side .fmcp-user:focus-visible,.fmcp-side .fmcp-user[aria-expanded=true]{background-color:#fff!important;color:#101a55!important;box-shadow:0 1px 6px rgba(27,42,120,.14)}
.fmcp-side .fmcp-user:focus-visible,.fmcp-side .fmcp-grp-t:focus-visible{outline:2px solid #1b2a78;outline-offset:-2px}

/* v1.9.2: every palette and mood card in the slider is exactly the same size */
.fmcp-pal-track{grid-template-rows:repeat(2,1fr);grid-auto-rows:1fr}
.fmcp-pal-track .fmcp-palette,.fmcp-pal-track .fmcp-mood{align-self:stretch;display:flex;flex-direction:column;height:100%;box-sizing:border-box}
.fmcp-pal-track .fmcp-palette-info{flex:1;display:flex;flex-direction:column}
.fmcp-pal-track .fmcp-palette-info > span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.8em;line-height:1.4}
.fmcp-pal-track .fmcp-palette-dots{margin-top:auto;padding-top:10px}

/* v1.9.2: font cards match the mood and palette cards */
.fmcp-fontcard{position:relative;padding:0!important;overflow:hidden;gap:0!important;background:#fff}
.fmcp-fontcard-head{padding:16px 46px 16px 18px;background:linear-gradient(135deg,#1b2a78,#2f4fb8);color:#fff}
.fmcp-fontcard-head input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.fmcp-fontcard-head b{font:800 16px var(--fm-head);color:#fff;margin-bottom:4px}
.fmcp-fontcard-head span{font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.88)}
.fmcp-fontcard-sample{margin:0!important;padding:16px 18px 14px!important;border-top:0!important;background:#fff;flex:1;display:flex;flex-direction:column}
.fmcp-fontcard-name{margin-top:auto!important;padding-top:10px;font:600 11px var(--fm-mono)!important;letter-spacing:.02em;color:#3b4a78!important}
.fmcp-fontcard.selected::after{content:'';position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;background:#2a8a2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat}

/* v1.9.2: "You choose for me" = the recommended choice. One amber block with white text, everywhere. */
:root{--fm-rec:#2a7d2e;--fm-rec-dark:#1f6323}
.fmcp-option.is-rec,.fmcp-typechip.is-rec span,.fmcp-dd-opt.is-rec{background:var(--fm-rec)!important;border-color:var(--fm-rec-dark)!important;color:#fff!important}
.fmcp-option.is-rec b,.fmcp-option.is-rec span,.fmcp-option.is-rec .fmcp-fontcard-head b,.fmcp-option.is-rec .fmcp-fontcard-head span,.fmcp-dd-opt.is-rec,.fmcp-dd-opt.is-rec *{color:#fff!important}
.fmcp-option.is-rec input[type=radio],.fmcp-option.is-rec input[type=checkbox]{accent-color:#fff}
.fmcp-palette.is-rec,.fmcp-mood.is-rec{border-color:var(--fm-rec-dark)!important}
.fmcp-palette.is-rec .fmcp-palette-info,.fmcp-mood.is-rec .fmcp-mood-info{background:var(--fm-rec)}
.fmcp-palette.is-rec .fmcp-palette-info *,.fmcp-mood.is-rec .fmcp-mood-info *{color:#fff!important}
.fmcp-palette.is-rec .fmcp-palette-info .fmcp-pal-pop,.fmcp-palette.is-rec .fmcp-palette-info em{background:rgba(255,255,255,.22)!important;color:#fff!important}
.fmcp-is-rec-tag,.fmcp-option.is-rec::before,.fmcp-palette.is-rec::before,.fmcp-mood.is-rec::before{content:'Recommended';position:absolute;top:10px;right:10px;z-index:3;padding:3px 9px;border-radius:99px;background:#fff;color:var(--fm-rec-dark);font:800 10px/1.4 var(--fm-head);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.fmcp-option.is-rec,.fmcp-palette.is-rec,.fmcp-mood.is-rec{position:relative}
.fmcp-option.is-rec:hover,.fmcp-palette.is-rec:hover,.fmcp-mood.is-rec:hover,.fmcp-dd-opt.is-rec:hover{filter:brightness(1.06)}
.fmcp-option.is-rec.selected,.fmcp-palette.is-rec.selected,.fmcp-mood.is-rec.selected,.fmcp-typechip input:checked + span.is-rec{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--fm-rec)!important}
.fmcp-fontcard.is-rec::after{display:none}
.fmcp-fontcard.is-rec .fmcp-fontcard-sample{display:none}
.fmcp-fontcard.is-rec{background:var(--fm-rec)!important}
.fmcp-fontcard.is-rec .fmcp-fontcard-head{background:transparent;flex:1;display:flex;align-items:center;padding:22px 20px;padding-top:44px}
.fmcp-fontcard.is-rec .fmcp-fontcard-head b{font-size:19px}
.fmcp-fontcard.is-rec .fmcp-fontcard-head span{font-size:14.5px;color:rgba(255,255,255,.95)!important}
.fmcp-palette.is-rec,.fmcp-mood.is-rec{background:var(--fm-rec)!important}

/* Phone: keep the brief progress panel compact so the form starts on the first screen (full list is in the Menu) */
@media (max-width:1099px){.fmcp-wiz-list{display:none}.fmcp-wiz>.fmcp-note{display:none}.fmcp-wiz .fmcp-wiz-now{margin-bottom:0}}

/* ---- Overview: equal-height cards ---- */
.fmcp .fmcp-wgrid{align-items:stretch;grid-auto-rows:auto}
.fmcp .fmcp-wgrid > .fmcp-card,.fmcp .fmcp-wgrid > section,.fmcp .fmcp-wgrid > aside{align-self:stretch;height:auto;display:flex;flex-direction:column}
.fmcp .fmcp-wgrid > .fmcp-card > .fmcp-btn:last-child,.fmcp .fmcp-wgrid > .fmcp-card > a.fmcp-btn:last-child{margin-top:auto;align-self:flex-start}
.fmcp .fmcp-wgrid > .fmcp-card > p:last-of-type{margin-bottom:14px}

/* ---- Upload content step ---- */
.fmcp .fmcp-sec-help{color:var(--fm-mut);font-size:14.5px;line-height:1.55;margin:0 0 16px;max-width:60ch}
.fmcp .fmcp-upload-zone{border:1.5px dashed #b9c2da;border-radius:16px;background:#f8f9fc;padding:22px 18px;text-align:center;transition:border-color .15s,background .15s}
.fmcp .fmcp-upload-zone:hover,.fmcp .fmcp-upload-zone.is-over{border-color:var(--fm-navy,#1b2a78);background:#f1f4fd}
.fmcp .fmcp-upload-ic{width:56px;height:56px;border-radius:16px;background:#fff;box-shadow:0 0 0 1px #e2e6f0;display:inline-flex;align-items:center;justify-content:center;color:var(--fm-navy,#1b2a78);margin-bottom:12px}
.fmcp .fmcp-upload-t{margin:0;font-family:var(--fm-head);font-weight:800;font-size:16px;color:#1e293b}
.fmcp .fmcp-upload-s{margin:4px 0 14px;color:var(--fm-mut);font-size:13.5px}
.fmcp .fmcp-browse{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.fmcp .fmcp-upload-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin-bottom:16px;text-align:left}
.fmcp .fmcp-thumb{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#eef1f8;box-shadow:0 0 0 1px #e2e6f0}
.fmcp .fmcp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.fmcp .fmcp-photo-remove,.fmcp .fmcp-doc-remove,.fmcp .fmcp-staff-remove{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font-size:13px;line-height:1;transition:.15s}
.fmcp .fmcp-photo-remove{position:absolute;top:6px;right:6px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.95);color:#1e293b;box-shadow:0 1px 4px rgba(27,42,120,.25)}
.fmcp .fmcp-photo-remove:hover{background:#fdecea;color:#c0392b}
.fmcp .fmcp-doc-list{display:grid;gap:8px;margin-bottom:16px;text-align:left}
.fmcp .fmcp-doc-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border-radius:12px;box-shadow:0 0 0 1px #e2e6f0}
.fmcp .fmcp-doc-ic{display:inline-flex;color:var(--fm-navy,#1b2a78)}
.fmcp .fmcp-doc-name{flex:1;min-width:0;font-size:14.5px;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fmcp .fmcp-doc-remove,.fmcp .fmcp-staff-remove{width:32px;height:32px;border-radius:10px;background:#f4f6fb;color:#475569}
.fmcp .fmcp-doc-remove:hover,.fmcp .fmcp-staff-remove:hover{background:#fdecea;color:#c0392b}
.fmcp .fmcp-staff-card{background:#f8f9fc;border-radius:16px;box-shadow:0 0 0 1px #e2e6f0;padding:16px;margin-bottom:12px}
.fmcp .fmcp-staff-row{display:flex;gap:10px;align-items:flex-start}
.fmcp .fmcp-staff-fields{flex:1;min-width:0}
.fmcp .fmcp-add-staff{margin-bottom:4px}
.fmcp .fmcp-consent{margin-top:20px;padding:16px 18px;background:#f8f9fc;border-radius:16px;box-shadow:0 0 0 1px #e2e6f0}
.fmcp .fmcp-consent label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;margin:0}
.fmcp .fmcp-consent input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--fm-navy,#1b2a78)}
.fmcp .fmcp-consent b{display:block;font-size:14.5px;color:#1e293b;margin-bottom:2px}
.fmcp .fmcp-consent .fmcp-note{display:block;font-size:13.5px;line-height:1.5}
.fmcp .fmcp-submit-box{margin-top:16px;padding:20px;border-radius:16px;background:#e3f1d0;box-shadow:0 0 0 1px rgba(33,122,44,.25)}
.fmcp .fmcp-submit-box h3{margin:0 0 6px;font-size:18px;color:#12310a}
.fmcp .fmcp-submit-box .fmcp-sec-help{color:#2c4a1e;margin-bottom:14px}
.fmcp .fmcp-submit-box label{display:flex;gap:12px;align-items:center;cursor:pointer;margin:0;font-weight:700;color:#12310a;font-size:14.5px}
.fmcp .fmcp-submit-box input{width:18px;height:18px;flex:none;accent-color:#217a2c}
.fmcp .fmcp-actions-btns{display:flex;gap:10px}
.fmcp .fmcp-ready{background:#f8f9fc;border-radius:16px;box-shadow:0 0 0 1px #e2e6f0;padding:18px 20px}
.fmcp .fmcp-ready-list li{display:flex;align-items:center;gap:8px}
@media (max-width:768px){.fmcp .fmcp-actions-btns{width:100%}.fmcp .fmcp-actions-btns .fmcp-btn{flex:1}.fmcp .fmcp-staff-row{flex-direction:column-reverse;align-items:stretch}.fmcp .fmcp-staff-remove{align-self:flex-end}}

/* ---- Brief sent: view only ---- */
.fmcp .fmcp-lockbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:14px 18px;margin:0 0 16px;border-radius:16px;background:#fff3cd;box-shadow:0 0 0 1px rgba(138,93,0,.25);color:#5c3d00}
.fmcp .fmcp-lockbar > svg{flex:none;color:#8a5d00}
.fmcp .fmcp-lockbar div{flex:1;min-width:200px}
.fmcp .fmcp-lockbar b{display:block;color:#5c3d00}
.fmcp .fmcp-lockbar span{font-size:14px}
.fmcp .fmcp-brief.is-locked .fmcp-brief-body :is(input,textarea,select,button):not([data-close]){cursor:not-allowed}
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-actions,
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-submit-box,
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-browse,
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-add-staff,
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-photo-remove,
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-doc-remove,
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-staff-remove,
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-upload-empty{display:none!important}
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-upload-zone:not(:has(.fmcp-thumb,.fmcp-doc-row)){display:none}
.fmcp .fmcp-brief.is-locked .fmcp-brief-body .fmcp-upload-zone{border-style:solid}
.fmcp .fmcp-brief.is-locked .fmcp-brief-body :is(label,.fmcp-option,.fmcp-palette,.fmcp-mood,.fmcp-font-pair,.fmcp-pal-chip,.fmcp-dd-trigger){pointer-events:none}
.fmcp .fmcp-brief.is-locked .fmcp-brief-body :is(input,textarea,select):disabled{opacity:1;background:#f4f6fb;color:#1e293b}

/* ---- Project timeline: tinted glass strip ---- */
.fmcp .fmcp-wgrid > .fmcp-w-timeline{background:linear-gradient(135deg,rgba(27,42,120,.10),rgba(27,42,120,.05) 55%,rgba(33,122,44,.07));-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 0 0 1px rgba(27,42,120,.16),0 8px 24px rgba(27,42,120,.08),inset 0 1px 0 rgba(255,255,255,.7)}

/* ---- Project strip in the progress rail ---- */
.fmcp .fmcp-pj{background:linear-gradient(135deg,rgba(27,42,120,.10),rgba(27,42,120,.05) 60%,rgba(33,122,44,.07));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px rgba(27,42,120,.16),0 6px 18px rgba(27,42,120,.08);margin-bottom:14px;padding:16px 18px}
.fmcp .fmcp-pj-body{display:flex;align-items:center;gap:14px;margin:10px 0 12px}
.fmcp .fmcp-pj-body b{font-family:var(--fm-head);font-size:17px;color:#1e293b}
.fmcp .fmcp-pj-dots{display:flex;gap:6px}
.fmcp .fmcp-pj-dots i{flex:1;height:5px;border-radius:99px;background:rgba(27,42,120,.14)}
.fmcp .fmcp-pj-dots i.d{background:#217a2c}.fmcp .fmcp-pj-dots i.n{background:#1b2a78}
@media (max-width:1099px){.fmcp .fmcp-pj{display:none}}

/* v1.9.3 follow-up: a locked (view only) brief shows no Continue buttons between parts either */
.fmcp .fmcp-brief.is-locked .fmcp-sub-next{display:none!important}

/* v1.9.4: slimmer sidebar (252px, tighter rows) and the Your project card explains now and next */
@media (min-width:960px){
    .fmcp-wrap{grid-template-columns:252px minmax(0,1fr)}
    .fmcp-side{width:252px;padding:20px 12px 16px}
    .fmcp-main::before{left:252px}
}
.fmcp-side .fmcp-brand img{height:36px!important}
.fmcp-nav a.fmcp-ni-row,.fmcp-user-pop a{min-height:36px;font-size:14px;gap:10px;padding:0 10px}
.fmcp-side .fmcp-grp-t{font-size:11px;padding:12px 10px 5px}
.fmcp-side .fmcp-nav-prog{margin-bottom:4px}
.fmcp-side .fmcp-user{padding:8px 10px}
.fmcp-side .fmcp-user-text b{font-size:13.5px}
.fmcp-side .fmcp-user-text small{font-size:12px}
.fmcp .fmcp-pj-text{margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.fmcp .fmcp-pj-text div{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:start}
.fmcp .fmcp-pj-text dt{font:800 10.5px var(--fm-head);letter-spacing:.08em;text-transform:uppercase;color:#1b2a78;padding-top:3px}
.fmcp .fmcp-pj-text div:last-child dt{color:#217a2c}
.fmcp .fmcp-pj-text dd{margin:0;font-size:13.5px;line-height:1.45;color:#1e293b}

/* v1.9.4: the Your project strip on Overview is bolder: thicker line, bigger numbered circles, firmer outlines, heavier labels */
.fmcp .fmcp-view-dashboard section[aria-label="Project timeline"]{border:1.5px solid rgba(27,42,120,.28);box-shadow:0 1px 0 rgba(27,42,120,.10),0 8px 24px rgba(27,42,120,.08);padding-top:22px;padding-bottom:22px}
.fmcp-view-dashboard section[aria-label="Project timeline"] .fmcp-tl-head .fmcp-mono{font-weight:800;color:#1b2a78;letter-spacing:.1em}
.fmcp-view-dashboard section[aria-label="Project timeline"] .fmcp-tl-head .fmcp-mono:last-child{color:#217a2c}
.fmcp-tl{padding-top:8px}
.fmcp-tl:before{top:26px;height:4px;border-radius:4px;background:#b9c2dc}
.fmcp-tl:after{top:26px;height:4px;border-radius:4px;background:#217a2c}
.fmcp-st .n{width:40px;height:40px;margin-bottom:12px;border:2.5px solid #8d99bd;background:#fff;color:#1b2a78;font:800 15px var(--fm-head)}
.fmcp-st.ok .n{background:#217a2c;border-color:#217a2c;color:#fff;box-shadow:0 2px 6px rgba(33,122,44,.35)}
.fmcp-st.ok .n svg{width:18px;height:18px;stroke-width:3.2}
.fmcp-st.now .n{background:#1b2a78;border-color:#1b2a78;color:#fff;box-shadow:0 0 0 6px rgba(27,42,120,.20),0 3px 10px rgba(27,42,120,.35)}
.fmcp-st b{font:800 15.5px var(--fm-head);color:#121a3a}
.fmcp-st em{font-weight:600;font-size:12.5px;color:#475569}
.fmcp-st.now em{color:#1b2a78;font-weight:800}
.fmcp-st.ok em{color:#217a2c;font-weight:700}
.fmcp .fmcp-pj{box-shadow:0 0 0 1.5px rgba(27,42,120,.26),0 6px 18px rgba(27,42,120,.08)}
.fmcp .fmcp-pj-dots{gap:5px}
.fmcp .fmcp-pj-dots i{height:8px;background:#c9d1e6}
.fmcp .fmcp-pj-dots i.d{background:#217a2c}.fmcp .fmcp-pj-dots i.n{background:#1b2a78;box-shadow:0 0 0 2px rgba(27,42,120,.18)}
.fmcp .fmcp-pj-body b{font-weight:800}
.fmcp-tasks .fmcp-tick{border-width:2.5px}
.fmcp-tasks .fmcp-tick.todo{border-color:#8d99bd}
.fmcp-tasks li.now{font-weight:700}

/* v1.9.4: empty cards are filled with an icon and centred text; the Overview message card shows the last two messages;
   the Messages page shows the last four with the rest behind a button */
.fmcp .fmcp-fillstate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:10px 6px 18px;min-height:120px}
.fmcp .fmcp-fillstate p{margin:0;font-size:15px;line-height:1.55;color:var(--fm-mut);max-width:34ch}
.fmcp .fmcp-fill-ic{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:rgba(47,85,212,.09);color:#2f55d4;box-shadow:0 0 0 7px rgba(47,85,212,.05)}
.fmcp-view-dashboard section[aria-label="Messages"],.fmcp-view-dashboard section[aria-label="Latest draft"]{display:flex;flex-direction:column}
.fmcp-view-dashboard section[aria-label="Messages"] > .fmcp-btn{margin-top:auto;align-self:flex-start}
.fmcp .fmcp-mini-msgs{display:flex;flex-direction:column;gap:10px;margin:14px 0 16px}
.fmcp .fmcp-mini-msg{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-radius:14px;max-width:92%;font-size:14px;line-height:1.45}
.fmcp .fmcp-mini-msg .who{font:800 11.5px var(--fm-head);letter-spacing:.02em}.fmcp .fmcp-mini-msg .who i{font-style:normal;font-weight:600;opacity:.7;margin-left:4px}
.fmcp .fmcp-mini-msg.is-in{align-self:flex-start;background:#eef2fb;color:#1e293b;border-bottom-left-radius:5px}
.fmcp .fmcp-mini-msg.is-out{align-self:flex-end;background:#1b2a78;color:#fff;border-bottom-right-radius:5px}
.fmcp .fmcp-old{display:none}
.fmcp .show-old .fmcp-old{display:block}
.fmcp .fmcp-earlier{align-self:center;margin:0 auto 6px}

/* v1.9.4: empty cards use the whole card: the icon and text stretch and centre in the full height */
.fmcp .fmcp-view-dashboard section[aria-label="Messages"] > .fmcp-fillstate,
.fmcp .fmcp-view-dashboard section[aria-label="Latest draft"] > .fmcp-fillstate{flex:1 1 auto;min-height:0;padding:8px 6px 16px}
.fmcp .fmcp-view-dashboard .fmcp-fillstate .fmcp-fill-ic{width:84px;height:84px;box-shadow:0 0 0 10px rgba(47,85,212,.06)}
.fmcp .fmcp-view-dashboard .fmcp-fillstate .fmcp-fill-ic svg{width:36px;height:36px}
.fmcp .fmcp-view-dashboard .fmcp-fillstate p{font-size:16.5px;line-height:1.55;max-width:30ch;color:#334155}
.fmcp .fmcp-view-dashboard section[aria-label="Messages"] > .fmcp-btn{align-self:center;margin-top:0}
.fmcp .fmcp-view-dashboard .fmcp-mini-msgs{flex:1 1 auto;justify-content:center;margin:14px 0}
.fmcp .fmcp-view-dashboard .fmcp-mini-msg{font-size:15px}
.fmcp .fmcp-brief.is-locked .fmcp-sub-next{display:none!important}

/* ---- News strip lives in the top header, next to "Your estimate" (desktop) ---- */
.fmcp-time{display:flex;align-items:center;gap:8px;margin:0 0 18px;font-size:14.5px;color:var(--fm-mut)}
.fmcp-time svg{color:var(--fm-navy,#1b2a78);flex:none}.fmcp-time b{color:#1e293b}
@media (min-width:960px){
  .fmcp .fmcp-strip{position:fixed;z-index:91;top:calc(var(--wp-admin--admin-bar--height,0px) + 9px);left:276px;right:268px;height:38px;margin:0;border-radius:99px;background:#e3f1d0;box-shadow:0 0 0 1px #c9e2ab}
  .fmcp .fmcp-strip.no-basket{right:24px}
  .fmcp .fmcp-strip-item{padding:0 64px 0 6px;flex-wrap:nowrap;gap:10px;height:38px}
  .fmcp .fmcp-strip-tag{background:#1b2a78;padding:4px 11px}
  .fmcp .fmcp-strip-text{flex:1 1 auto;min-width:0;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .fmcp .fmcp-strip .fmcp-strip-go{white-space:nowrap;color:#1b2a78;font-size:13.5px}
  .fmcp .fmcp-strip-dots{right:14px}
  .fmcp .fmcp-strip-dots button.on{background:#1b2a78}
}
@media (max-width:959px){.fmcp .fmcp-strip{display:none}}

/* ---- Overview: the draft preview is a short window, not a full page ---- */
.fmcp .fmcp-live-view{aspect-ratio:auto;height:clamp(220px,26vw,330px);border-radius:0;box-shadow:none}
.fmcp .fmcp-live{display:block;border-radius:16px;overflow:hidden;background:#fff;border:1.5px solid #c3cbe0;box-shadow:0 10px 28px rgba(27,42,120,.14),0 2px 6px rgba(27,42,120,.08);transition:box-shadow .2s,transform .2s}
.fmcp .fmcp-live:hover{box-shadow:0 14px 34px rgba(27,42,120,.20),0 2px 8px rgba(27,42,120,.10);transform:translateY(-1px)}
.fmcp .fmcp-live-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:linear-gradient(180deg,#eef1f9,#e4e9f5);border-bottom:1px solid #c3cbe0}
.fmcp .fmcp-live-bar i{width:11px;height:11px;border-radius:50%;background:#ff5f57;flex:none}
.fmcp .fmcp-live-bar i:nth-child(2){background:#febc2e}.fmcp .fmcp-live-bar i:nth-child(3){background:#28c840}
.fmcp .fmcp-live-bar span{flex:1;min-width:0;margin-left:8px;height:28px;display:flex;align-items:center;padding:0 14px;border-radius:99px;background:#fff;box-shadow:0 0 0 1px #d5dbea;font:500 12.5px var(--fm-body,Inter,sans-serif);color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- Overview with a draft: slim top row, the preview is the main thing ---- */
.fmcp .fmcp-wgrid.has-draft > *{order:5}
.fmcp .fmcp-wgrid.has-draft > [aria-label="Your next step"]{order:1;padding:18px 22px}
.fmcp .fmcp-wgrid.has-draft > [aria-label="This stage"]{order:2;padding:18px 22px}
.fmcp .fmcp-wgrid.has-draft > .fmcp-w-draft{order:3}
.fmcp .fmcp-wgrid.has-draft > .fmcp-w-timeline{order:4}
.fmcp .fmcp-wgrid.has-draft .fmcp-w-next h1{font-size:clamp(22px,2.2vw,30px);margin:8px 0 6px}
.fmcp .fmcp-wgrid.has-draft .fmcp-w-next .fmcp-sub{font-size:14.5px;margin-bottom:12px}
.fmcp .fmcp-wgrid.has-draft .fmcp-w-draft .fmcp-live-view{height:clamp(340px,40vw,600px)}
@media (min-width:1100px){.fmcp .fmcp-wgrid.has-draft > .fmcp-card{min-height:0}}

/* v1.9.5: with a draft the Money card and the Message card share the row, so the message card takes the rest (no empty third) */
@media (min-width:1100px){.fmcp .fmcp-wgrid.has-draft > [aria-label="Messages"]{grid-column:span 8}}

/* v1.9.5 (Gameed): the draft preview stays a small card like the others: browser-window look, short window, same grid as without a draft */
.fmcp .fmcp-view-dashboard [aria-label="Latest draft"] .fmcp-live-view{height:210px}
.fmcp .fmcp-view-dashboard [aria-label="Latest draft"] .fmcp-live{margin-bottom:14px}
.fmcp .fmcp-view-dashboard [aria-label="Latest draft"] .fmcp-live-bar{padding:8px 12px}
.fmcp .fmcp-view-dashboard [aria-label="Latest draft"] .fmcp-live-bar span{height:24px;font-size:11.5px}
.fmcp .fmcp-view-dashboard [aria-label="Latest draft"] .fmcp-live-bar i{width:9px;height:9px}
.fmcp .fmcp-live-view iframe{max-width:none!important;min-width:1280px}

/* ---- Plans page ---- */
.fmcp .fmcp-view-plans{max-width:1240px}
.fmcp .fmcp-plan-status{display:flex;align-items:center;gap:10px;padding:12px 16px;margin:0 0 20px;border-radius:14px;background:#f8f9fc;box-shadow:0 0 0 1px #e2e6f0;font-size:14.5px;color:#475569}
.fmcp .fmcp-plan-status.ok{background:#e3f1d0;box-shadow:0 0 0 1px #c9e2ab;color:#12310a}.fmcp .fmcp-plan-status svg{flex:none}
.fmcp .fmcp-plans{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 24px}
@media (min-width:700px){.fmcp .fmcp-plans{grid-template-columns:1fr 1fr}}
@media (min-width:1180px){.fmcp .fmcp-plans{grid-template-columns:repeat(4,1fr)}}
.fmcp .fmcp-plan-card{position:relative;display:flex;flex-direction:column;padding:24px 20px 20px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px #e2e6f0;transition:box-shadow .15s,transform .15s}
.fmcp .fmcp-plan-card:hover{box-shadow:0 0 0 1.5px #1b2a78,0 10px 26px rgba(27,42,120,.10)}
.fmcp .fmcp-plan-card.is-current{box-shadow:0 0 0 2px #217a2c;background:linear-gradient(180deg,#f3f9ea,#fff 40%)}
.fmcp .fmcp-plan-card.is-picked{box-shadow:0 0 0 2px #1b2a78,0 10px 26px rgba(27,42,120,.14)}
.fmcp .fmcp-plan-flag{position:absolute;top:-11px;left:18px;padding:4px 12px;border-radius:99px;background:#217a2c;color:#fff;font:800 11px var(--fm-head);letter-spacing:.06em;text-transform:uppercase}
.fmcp .fmcp-plan-flag.alt{background:#ffc107;color:#12310a}
.fmcp .fmcp-plan-card h3{margin:0;font-size:20px}
.fmcp .fmcp-plan-range{margin:2px 0 14px;color:#475569;font-size:14px}
.fmcp .fmcp-plan-price b{display:block;font:800 30px var(--fm-head);color:#1b2a78;letter-spacing:-.02em}
.fmcp .fmcp-plan-price span{display:block;font-size:13px;color:#475569;margin-top:2px}
.fmcp .fmcp-plan-price s{color:#64748b}
.fmcp .fmcp-plan-tag{margin:14px 0 10px;font-weight:600;font-size:14.5px;color:#1e293b}
.fmcp .fmcp-plan-list,.fmcp .fmcp-plan-feats{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.fmcp .fmcp-plan-list{flex:1}
.fmcp .fmcp-plan-list li,.fmcp .fmcp-plan-feats li{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.45;color:#334155}
.fmcp .fmcp-plan-list svg,.fmcp .fmcp-plan-feats svg{flex:none;margin-top:3px;color:#217a2c}
.fmcp .fmcp-plan-card .fmcp-btn{width:100%;justify-content:center}
.fmcp .fmcp-plan-block{margin:0 0 16px}
.fmcp .fmcp-plan-block h3{margin:0 0 12px}
.fmcp .fmcp-plan-feats{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:12px}
.fmcp .fmcp-plan-hosts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:10px}
.fmcp .fmcp-plan-hosts div{padding:14px 16px;border-radius:14px;background:#f8f9fc;box-shadow:0 0 0 1px #e2e6f0}
.fmcp .fmcp-plan-hosts b{display:block;font:800 15px var(--fm-head);color:#1e293b}.fmcp .fmcp-plan-hosts span{font-size:13.5px;color:#475569}
.fmcp .fmcp-plan-confirm{position:sticky;bottom:16px;z-index:60;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 20px;padding:16px 20px;border-radius:18px;background:#fff;box-shadow:0 0 0 2px #1b2a78,0 14px 34px rgba(27,42,120,.22)}
.fmcp .fmcp-plan-confirm[hidden]{display:none}
.fmcp .fmcp-plan-confirm b{display:block;font:800 16px var(--fm-head);margin-bottom:6px}
.fmcp .fmcp-pc-agree{display:flex;gap:10px;align-items:center;cursor:pointer;margin:0;font-size:14.5px}
.fmcp .fmcp-pc-agree input{width:18px;height:18px;accent-color:#1b2a78}
.fmcp .fmcp-pc-btns{display:flex;gap:10px}
@media (max-width:767px){.fmcp .fmcp-plan-confirm{bottom:76px}.fmcp .fmcp-pc-btns{width:100%}.fmcp .fmcp-pc-btns .fmcp-btn{flex:1}}

/* ---- Right-hand rail stays put while the page scrolls (desktop) ---- */
@media (min-width:1100px){
  .fmcp .fmcp-brief{align-items:start}
  .fmcp .fmcp-rail{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 76px);align-self:start;max-height:calc(100vh - 92px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}

/* ---- Brief: import from the school's own listing ---- */
.fmcp .fmcp-import-all{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:0 0 16px;padding:16px 18px;background:#f1f4fd;box-shadow:0 0 0 1px #d5dcf2}
.fmcp .fmcp-import-all > div{flex:1;min-width:220px}
.fmcp .fmcp-import-all b{display:block;font:800 15.5px var(--fm-head);color:#1e293b;margin-bottom:2px}
.fmcp .fmcp-import-all .fmcp-note{display:block;font-size:13.5px}
.fmcp .fmcp-import-ic{width:44px;height:44px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px #e2e6f0;display:grid;place-items:center;color:#1b2a78;flex:none}

/* ---- Progress list: done, we choose, open and to do look clearly different ---- */
@media (min-width:1100px){.fmcp .fmcp-wiz-list{display:grid;gap:4px}}
@media (max-width:1099px){.fmcp .fmcp-wiz-list{display:none}}
.fmcp .fmcp-wiz-list li a{padding:8px 10px;border-radius:12px;gap:12px;color:#475569}
.fmcp .fmcp-wiz-list li a .t{flex:1;min-width:0}
.fmcp .fmcp-wiz-list li .st{font-style:normal;font:700 11.5px var(--fm-body,Inter,sans-serif);letter-spacing:.02em;padding:3px 9px;border-radius:99px;background:#eef1f8;color:#64748b;flex:none}
.fmcp .fmcp-wiz-list .m{width:26px;height:26px;border:1.5px solid #b9c2da;background:#fff;color:#64748b}
.fmcp .fmcp-wiz-list li.done a{background:#e3f1d0;color:#12310a;font-weight:700}
.fmcp .fmcp-wiz-list li.done .m{background:#217a2c!important;border-color:#217a2c!important;color:#fff!important}
.fmcp .fmcp-wiz-list li.done .st{background:#217a2c;color:#fff}
.fmcp .fmcp-wiz-list li.auto a{background:#f4efff;color:#3b2a78;font-weight:600}
.fmcp .fmcp-wiz-list li.auto .m.is-auto{background:#fff!important;border:1.5px dashed #7c5cd6!important;color:#7c5cd6!important}
.fmcp .fmcp-wiz-list li.auto .st{background:#e6dcff;color:#3b2a78}
.fmcp .fmcp-wiz-list li.now a{background:#fff;box-shadow:0 0 0 2px #1b2a78;color:#1e293b;font-weight:800}
.fmcp .fmcp-wiz-list li.now .m{border-color:#1b2a78!important;color:#1b2a78!important;background:#fff!important}
.fmcp .fmcp-wiz-list li.now .st{background:#1b2a78;color:#fff}
.fmcp .fmcp-wiz-list li.done.now a{box-shadow:0 0 0 2px #1b2a78}

/* ---- Phone: slimmer rows and smaller text across the portal (inputs stay 16px so iOS does not zoom) ---- */
@media (max-width:767px){
  .fmcp{font-size:14px}
  .fmcp .fmcp-main h1{font-size:clamp(26px,7.4vw,31px);line-height:1.1}
  .fmcp .fmcp-sub{font-size:14.5px;line-height:1.5}
  .fmcp .fmcp-label,.fmcp .fmcp-mono{font-size:11px}
  .fmcp .fmcp-note{font-size:12.5px}
  .fmcp .fmcp-btn{font-size:14.5px;height:46px}
  .fmcp .fmcp-btn-sm{height:40px;font-size:13.5px}
  .fmcp input,.fmcp select,.fmcp textarea{font-size:16px}
  .fmcp .fmcp-field label{font-size:13.5px}
  .fmcp .fmcp-card{padding:16px}
  /* brief sections */
  .fmcp .fmcp-acc-head{padding:11px 14px;gap:10px;min-height:0}
  .fmcp .fmcp-acc-title{font-size:15px}
  .fmcp .fmcp-acc-tag{font-size:11.5px;padding:2px 8px}
  .fmcp .fmcp-acc-mark{width:26px;height:26px;font-size:12px}
  .fmcp .fmcp-acc-body{padding:4px 14px 16px}
  /* parts inside a section: thin rows */
  .fmcp .fmcp-subsec{padding:0;border-radius:14px;margin-bottom:8px}
  .fmcp .fmcp-subsec .fmcp-sh{padding:9px 12px;gap:9px;flex-wrap:nowrap;align-items:center}
  .fmcp .fmcp-subsec .fmcp-sh h3{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
  .fmcp .fmcp-subsec .fmcp-sh > .fmcp-note{display:none}
  .fmcp .fmcp-subsec .fmcp-sh .n{width:24px;height:24px;border-radius:8px;font-size:12px}
  .fmcp .fmcp-subsec .fmcp-sh h3 .fmcp-note{display:none}
  .fmcp .fmcp-subsec.is-open .fmcp-sh{margin-bottom:0;padding-bottom:6px}
  .fmcp .fmcp-subsec .fmcp-sub-body{padding:4px 12px 14px}
  .fmcp .fmcp-sub-chev svg{width:15px;height:15px}
  .fmcp .fmcp-sec-help,.fmcp .fmcp-subsec .fmcp-sub-body > p{font-size:13.5px}
  .fmcp .fmcp-section-label{font-size:11px}
  /* plan, payment and overview text */
  .fmcp .fmcp-big,.fmcp .fmcp-v{font-size:26px}
  .fmcp .fmcp-plan-price b{font-size:26px}
  .fmcp .fmcp-plan-list li,.fmcp .fmcp-plan-feats li,.fmcp .fmcp-plan-hosts span{font-size:13.5px}
  .fmcp .fmcp-ni-row .fmcp-nl{font-size:14.5px}
}

.fmcp .fmcp-connect-note{margin:14px 0 4px;padding:12px 16px;border-radius:12px;background:#eef2fb;box-shadow:0 0 0 1px #d5dbea;font-size:14px;line-height:1.5;color:#1e293b}

/* v1.9.10b (Gameed): on phones the basket is just a small round icon in the bottom-right corner.
   Hover or keyboard focus shows the amount; a tap opens the estimate sheet. */
@media (max-width:767px){
    .fmcp .fmcp-basket-btn{width:52px;height:52px;padding:0;gap:0;justify-content:center;right:14px;bottom:14px;top:auto;border-radius:50%;background:#1b2a78;color:#fff;box-shadow:0 6px 18px rgba(27,42,120,.35);overflow:hidden}
    .fmcp .fmcp-basket-btn svg{width:24px;height:24px;flex:none}
    .fmcp .fmcp-basket-btn span{display:none}
    .fmcp .fmcp-basket-btn b{display:none;color:#fff;font-size:14px;white-space:nowrap}
    .fmcp .fmcp-basket-btn:hover,.fmcp .fmcp-basket-btn:focus-visible{width:auto;padding:0 18px 0 16px;gap:8px;border-radius:99px}
    .fmcp .fmcp-basket-btn:hover b,.fmcp .fmcp-basket-btn:focus-visible b{display:inline}
    .fmcp .fmcp-basket-btn[aria-expanded=true]{display:none}
    .fmcp .fmcp-main{padding-bottom:84px}
}

/* v1.9.10b: the phone estimate sheet does not lock the page: no blocking backdrop, the page behind still scrolls, the sheet scrolls on its own */
@media (max-width:767px){
    .fmcp .fmcp-basket-back{display:none!important}
    .fmcp .fmcp-basket{overscroll-behavior:contain;box-shadow:0 -10px 32px rgba(16,26,85,.28),0 0 0 1px #d5dbea}
    .fmcp .fmcp-basket-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}

/* v1.9.10c (Gameed): on phones and tablets the Progress panel is a slim strip: a small ring, the count and where you are, nothing else */
@media (max-width:1099px){
    .fmcp .fmcp-rail .fmcp-wiz{padding:10px 14px;border-radius:16px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px}
    .fmcp .fmcp-rail .fmcp-wiz .fmcp-rail-head,
    .fmcp .fmcp-rail .fmcp-wiz .fmcp-wiz-mode,
    .fmcp .fmcp-rail .fmcp-wiz .fmcp-wiz-list,
    .fmcp .fmcp-rail .fmcp-wiz > .fmcp-note,
    .fmcp .fmcp-rail .fmcp-wiz .fmcp-wiz-now .fmcp-mono,
    .fmcp .fmcp-rail .fmcp-wiz .fmcp-wiz-top .fmcp-note + *{display:none!important}
    .fmcp .fmcp-rail .fmcp-wiz-top{display:contents}
    .fmcp .fmcp-rail .fmcp-wiz-top .fmcp-ring{width:44px;height:44px;margin:0;grid-row:1 / span 2}
    .fmcp .fmcp-rail .fmcp-wiz-top .fmcp-ring div{width:32px;height:32px;font-size:12px}
    .fmcp .fmcp-rail .fmcp-wiz-top > div:last-child{grid-column:2;min-width:0}
    .fmcp .fmcp-rail .fmcp-wiz-top b{font-size:14px;line-height:1.25}
    .fmcp .fmcp-rail .fmcp-wiz-top .fmcp-note{font-size:12px!important;line-height:1.3;margin:0}
    .fmcp .fmcp-rail .fmcp-wiz-now{grid-column:2;margin:0;padding:0;background:none;border:0;box-shadow:none}
    .fmcp .fmcp-rail .fmcp-wiz-now b{font-size:13px;color:#217a2c;font-weight:800}
    .fmcp .fmcp-rail .fmcp-wiz-now b::before{content:"Now: ";font-weight:600;color:#475569}
    .fmcp .fmcp-rail{gap:8px}
}

/* v1.9.10c (Gameed): sets of option cards slide sideways with the arrows above; plans and months only slide where they would not fit in one row */
.fmcp .fmcp-slider-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 8px}
.fmcp .fmcp-slider-bar.is-static{display:none}
.fmcp .fmcp-slider-hint{font-size:13px;font-weight:600;color:var(--fm-mut)}
.fmcp .fmcp-slider-btns{display:flex;gap:8px}
.fmcp .fmcp-slider-btn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid #8d99bd;background:#fff;color:#1b2a78;cursor:pointer;padding:0;box-shadow:0 1px 3px rgba(27,42,120,.12);transition:background .15s,border-color .15s}
.fmcp .fmcp-slider-btn:hover:not(:disabled){background:#eef2fb;border-color:#1b2a78}
.fmcp .fmcp-slider-btn:disabled{opacity:.35;cursor:default}
.fmcp .fmcp-slider{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-auto-columns:min(270px,80%);gap:14px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:4px 2px 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.fmcp .fmcp-slider > *{scroll-snap-align:start;align-self:stretch;min-width:0;margin:0}
@media (min-width:700px){.fmcp .fmcp-months.fmcp-slider{display:grid!important;grid-auto-flow:row;grid-template-columns:repeat(3,1fr)!important;overflow:visible;padding:0}.fmcp .fmcp-months.fmcp-slider + *,.fmcp-slider-bar:has(+ .fmcp-months.fmcp-slider){}}
@media (min-width:700px){.fmcp .fmcp-slider-bar:has(+ .fmcp-months){display:none}}
@media (min-width:1180px){.fmcp .fmcp-plans.fmcp-slider{display:grid!important;grid-auto-flow:row;grid-template-columns:repeat(4,1fr)!important;overflow:visible;padding:0}.fmcp .fmcp-slider-bar:has(+ .fmcp-plans){display:none}}
.fmcp .fmcp-plans.fmcp-slider{padding-top:16px}
@media (min-width:1180px){.fmcp .fmcp-plans.fmcp-slider{padding-top:0}}

/* v1.9.10d (Gameed): both side bars stay put while the page scrolls. The left menu was already fixed; the right panel is now fixed too (desktop). */
@media (min-width:1100px){
    .fmcp .fmcp-rail{position:fixed!important;top:calc(var(--wp-admin--admin-bar--height,0px) + 76px);right:48px;width:380px;max-height:calc(100vh - var(--wp-admin--admin-bar--height,0px) - 92px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:30}
    .fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail{width:64px}
}
@media (min-width:1600px){.fmcp .fmcp-rail{width:440px}.fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail{width:64px}}

/* ---- Pay by EFT ---- */
.fmcp .fmcp-eft-list{display:grid;gap:8px;margin:0 0 12px;padding:0}
.fmcp .fmcp-eft-list > div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:12px;background:#f8f9fc;box-shadow:0 0 0 1px #e2e6f0}
.fmcp .fmcp-eft-list dt{font-size:12.5px;color:#64748b;font-weight:600;margin:0}
.fmcp .fmcp-eft-list dd{display:flex;align-items:center;gap:10px;margin:0;font-weight:800;color:#1e293b;font-size:14.5px;min-width:0}
.fmcp .fmcp-eft-list dd span{overflow-wrap:anywhere;text-align:right}
.fmcp .fmcp-copy{border:0;border-radius:99px;background:#fff;box-shadow:0 0 0 1px #cbd2e3;color:#1b2a78;font:700 12px var(--fm-body,Inter,sans-serif);padding:5px 12px;cursor:pointer;flex:none}
.fmcp .fmcp-copy:hover{box-shadow:0 0 0 1.5px #1b2a78}

/* v1.9.11b (Gameed): Pay by EFT is a button that opens a popup with the bank details */
.fmcp .fmcp-eft-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fmcp .fmcp-eft-cta b{display:block;font:800 16px var(--fm-head);margin-bottom:4px}
.fmcp .fmcp-eft-cta .fmcp-note{margin:0}
.fmcp .fmcp-eft-modal{overflow-y:auto}
.fmcp .fmcp-eft-card{position:relative;max-width:520px;text-align:left;max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain}
.fmcp .fmcp-eft-card h2{margin:0 0 6px;font-size:22px}
.fmcp .fmcp-eft-card .fmcp-eft-list{margin:14px 0 10px}
.fmcp .fmcp-eft-card .fmcp-note{margin:0 0 6px;text-align:left}
.fmcp .fmcp-eft-x{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:50%;border:0;background:#eef2fb;color:#1e293b;font-size:24px;line-height:1;cursor:pointer}
.fmcp .fmcp-eft-x:hover{background:#dbe3f6}
.fmcp .fmcp-eft-card .fmcp-btn{width:auto}
@media (max-width:767px){.fmcp .fmcp-eft-cta .fmcp-btn{width:100%;justify-content:center}.fmcp .fmcp-eft-modal{align-items:end;padding:0}.fmcp .fmcp-eft-card{max-width:none;border-radius:22px 22px 0 0;max-height:88vh}}

/* v1.9.11c (Gameed): bigger EFT popup, easier to read; Copy is a coloured icon button that turns into a green tick */
.fmcp .fmcp-eft-modal .fmcp-eft-card{max-width:680px;padding:40px 40px 34px}
.fmcp .fmcp-eft-card h2{font-size:30px;margin:0 0 10px;padding-right:50px}
.fmcp .fmcp-eft-card > .fmcp-note{font-size:17px;line-height:1.55;margin:0 0 16px}
.fmcp .fmcp-eft-card .fmcp-eft-list{display:grid;gap:12px;margin:18px 0 18px}
.fmcp .fmcp-eft-card .fmcp-eft-list > div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:16px;background:#f4f6fb;box-shadow:0 0 0 1px #d9dfee}
.fmcp .fmcp-eft-card .fmcp-eft-list dt{flex:0 0 150px;font:700 13px var(--fm-head);letter-spacing:.07em;text-transform:uppercase;color:#475569;margin:0}
.fmcp .fmcp-eft-card .fmcp-eft-list dd{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:0;min-width:0}
.fmcp .fmcp-eft-card .fmcp-eft-list dd span{font:800 21px var(--fm-head);color:#121a3a;letter-spacing:-.01em;text-align:right;overflow-wrap:anywhere}
.fmcp .fmcp-eft-card .fmcp-copy{flex:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border-radius:14px;border:0;background:#1b2a78;color:#fff;cursor:pointer;box-shadow:0 2px 6px rgba(27,42,120,.30);transition:background .15s,transform .15s}
.fmcp .fmcp-eft-card .fmcp-copy:hover{background:#2f4fb8;transform:translateY(-1px)}
.fmcp .fmcp-eft-card .fmcp-copy .ic-ok{display:none}
.fmcp .fmcp-eft-card .fmcp-copy.is-copied{background:#217a2c;box-shadow:0 2px 6px rgba(33,122,44,.35)}
.fmcp .fmcp-eft-card .fmcp-copy.is-copied .ic-copy{display:none}
.fmcp .fmcp-eft-card .fmcp-copy.is-copied .ic-ok{display:block}
.fmcp .fmcp-eft-card .fmcp-note a.fmcp-link{font-weight:800}
.fmcp .fmcp-eft-x{width:44px;height:44px;font-size:28px;top:16px;right:18px}
@media (max-width:767px){
    .fmcp .fmcp-eft-modal .fmcp-eft-card{padding:28px 18px 24px}
    .fmcp .fmcp-eft-card h2{font-size:25px}
    .fmcp .fmcp-eft-card .fmcp-eft-list > div{flex-wrap:wrap;gap:6px 12px;padding:14px 16px}
    .fmcp .fmcp-eft-card .fmcp-eft-list dt{flex:1 0 100%}
    .fmcp .fmcp-eft-card .fmcp-eft-list dd{justify-content:space-between;width:100%}
    .fmcp .fmcp-eft-card .fmcp-eft-list dd span{text-align:left;font-size:19px}
}

/* v1.9.14: welcome popup, first arrival from the Nursery Centre */
html.fmcp-modal-open{overflow:hidden}
.fmcp .fmcp-welcome{z-index:9999}
.fmcp .fmcp-welcome-card{position:relative;max-width:560px;text-align:left;padding:34px 32px 26px;max-height:calc(100vh - 32px);overflow-y:auto}
.fmcp .fmcp-welcome-x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:#eef2fb;color:#1e293b;font-size:26px;line-height:1;cursor:pointer}
.fmcp .fmcp-welcome-x:hover{background:#dbe3f6}
.fmcp .fmcp-welcome-ic{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#e3f1d0;color:#217a2c;margin:0 0 14px}
.fmcp .fmcp-welcome-card h2{margin:0 0 8px;font-size:28px;padding-right:44px;text-align:left;display:block}
.fmcp .fmcp-welcome-card h2::before{display:none}
.fmcp .fmcp-welcome-lead{margin:0 0 18px;font-size:16.5px;line-height:1.55;color:#475569;text-align:left}
.fmcp .fmcp-welcome-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:12px;counter-reset:w}
.fmcp .fmcp-welcome-steps li{counter-increment:w;position:relative;padding:14px 16px 14px 62px;border-radius:16px;background:#f4f6fb;box-shadow:0 0 0 1px #d9dfee;display:grid;gap:3px}
.fmcp .fmcp-welcome-steps li::before{content:counter(w);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;background:#1b2a78;color:#fff;display:grid;place-items:center;font:800 15px var(--fm-head)}
.fmcp .fmcp-welcome-steps b{font:800 16px var(--fm-head);color:#121a3a}
.fmcp .fmcp-welcome-steps span{font-size:14.5px;line-height:1.5;color:#475569}
.fmcp .fmcp-welcome-btns{display:flex;gap:10px;flex-wrap:wrap}
.fmcp .fmcp-welcome-btns .fmcp-btn{width:auto;justify-content:center;min-height:48px;padding:0 24px}
.fmcp .fmcp-welcome-help{margin:14px 0 0;text-align:left}
@media (max-width:767px){
    .fmcp .fmcp-welcome{align-items:end;padding:0}
    .fmcp .fmcp-welcome-card{max-width:none;border-radius:24px 24px 0 0;padding:26px 18px calc(22px + env(safe-area-inset-bottom,0px));max-height:92vh}
    .fmcp .fmcp-welcome-card h2{font-size:24px}
    .fmcp .fmcp-welcome-btns .fmcp-btn{flex:1 1 100%}
}
/* v1.9.14: welcome popup: icon, heading, text and buttons all centred; the three steps stay left-aligned */
.fmcp .fmcp-welcome-card{text-align:center}
.fmcp .fmcp-welcome-ic{margin:0 auto 14px}
.fmcp .fmcp-welcome-card h2{text-align:center!important;padding-right:0}
.fmcp .fmcp-welcome-lead,.fmcp .fmcp-welcome-help{text-align:center!important}
.fmcp .fmcp-welcome-steps{text-align:left}
.fmcp .fmcp-welcome-btns{justify-content:center}

/* v1.9.14: portal header strip: the message shrinks with an ellipsis, the button and dots never overlap it */
@media (min-width:960px){
    .fmcp .fmcp-strip{box-sizing:border-box}
    .fmcp .fmcp-strip-item{padding-right:76px;box-sizing:border-box;width:100%}
    .fmcp .fmcp-strip-text{flex:1 1 0;min-width:0}
    .fmcp .fmcp-strip .fmcp-strip-go{flex:none}
    .fmcp .fmcp-strip-dots{right:16px}
}
@media (min-width:960px) and (max-width:1179px){
    .fmcp .fmcp-strip-item{padding-right:66px}
    .fmcp .fmcp-strip .fmcp-strip-go{display:none}
}
@media (min-width:960px) and (max-width:1179px){
    .fmcp .fmcp-strip-item{padding-right:14px}
    .fmcp .fmcp-strip-dots{display:none}
}

.fmcp-beta{display:block;margin:10px 14px 0;padding:10px 12px;border-radius:12px;background:#e3f1d0;color:#1b2a78;font-size:12px;line-height:1.4;text-decoration:none}.fmcp-beta b{display:block;font-size:12.5px;margin-bottom:2px}.fmcp-beta span{display:block}.fmcp-beta:hover{filter:brightness(.98)}@media (max-width:767px){.fmcp-beta{font-size:11.5px;padding:8px 10px}}

/* === Landing v2: hero image, section bands, compact logged-in === */
.fmcp-landing{position:relative;isolation:isolate;overflow-x:clip}
.fmcp-band{position:relative;padding:56px 0}
.fmcp-band::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1}
.fmcp-b-hero::before{background:linear-gradient(180deg,#fff 0%,#f4fbef 100%)}
.fmcp-b-hero::after{content:"";position:absolute;right:-6%;top:-10%;width:55%;height:120%;background:radial-gradient(closest-side,rgba(91,191,42,.18),transparent 70%);z-index:-1;pointer-events:none}
.fmcp-b-tint::before{background:#f4fbef}
.fmcp-b-dots::before{background:#fff radial-gradient(rgba(91,191,42,.22) 1.2px,transparent 1.2px) 0 0/22px 22px}
.fmcp-b-navy::before{background:#1a1a2e radial-gradient(circle at 15% 20%,rgba(91,191,42,.25),transparent 40%),radial-gradient(circle at 85% 80%,rgba(139,92,246,.22),transparent 45%)}
.fmcp-b-navy .fmcp-sec h2{color:#fff}.fmcp-b-navy .fmcp-label{background:rgba(255,255,255,.1);color:#cfeebb;border-color:rgba(255,255,255,.25)}
.fmcp-band .fmcp-sec{margin-top:0!important}
.fmcp-wave{height:0}
.fmcp-landing .fmcp-hero{padding:24px 0;gap:48px;flex-wrap:nowrap}
.fmcp-landing .fmcp-hero-copy{flex:1 1 50%}
.fmcp-shot2{flex:1 1 48%;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px rgba(26,26,46,.22)}
.fmcp-shot2 img{display:block;width:100%;height:auto}
.fmcp-welcome{max-width:560px}
.fmcp-welcome-line{margin:0 0 16px;font-size:16px;line-height:1.55;color:var(--fm-mut)}
.fmcp-welcome-line b{color:#1a1a2e}
.fmcp-code-panel{margin-top:16px;padding:16px;border:1px solid var(--fm-line);border-radius:14px;background:#fff}
.fmcp-code-panel[hidden]{display:none}
.fmcp-code-panel label{display:block;font-size:13px;margin-bottom:6px;font-weight:600}
.fmcp-code-row{display:flex;gap:10px}.fmcp-code-row input{flex:1;min-width:0}
@media(max-width:860px){.fmcp-landing .fmcp-hero{flex-wrap:wrap}.fmcp-band{padding:40px 0}}

/* landing v3: transparent hero image, bigger; plan cards */
.fmcp-landing .fmcp-hero{align-items:center}
.fmcp-landing .fmcp-hero-copy{flex:1 1 42%}
.fmcp-shot2{flex:1 1 58%;border-radius:0;overflow:visible;box-shadow:none;background:none;margin-right:-6%}
.fmcp-shot2 img{width:118%;max-width:none;margin-left:-12%;filter:drop-shadow(0 24px 30px rgba(26,26,46,.18))}
@media(max-width:860px){.fmcp-shot2{margin:0}.fmcp-shot2 img{width:100%;margin:0}}
.fmcp-landing .fmcp-grid-4>.fmcp-card,.fmcp-landing .fmcp-grid-3>.fmcp-card{position:relative;background:#fff;border:1.5px solid #e2e6f0;border-radius:20px;box-shadow:0 8px 24px rgba(26,26,46,.06);transition:transform .18s,box-shadow .18s,border-color .18s}
.fmcp-landing .fmcp-grid-4>.fmcp-card:hover,.fmcp-landing .fmcp-grid-3>.fmcp-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(26,26,46,.12);border-color:#b9c3e6}
.fmcp-landing .fmcp-card.fmcp-feat{border:2px solid #5BBF2A;background:linear-gradient(180deg,#f3faec,#fff 45%);box-shadow:0 22px 50px rgba(91,191,42,.25);transform:translateY(-8px)}
.fmcp-landing .fmcp-card.fmcp-feat:hover{transform:translateY(-12px)}
.fmcp-landing .fmcp-card.fmcp-feat::before{content:"Most popular";position:absolute;top:-13px;left:50%;transform:translateX(-50%);padding:5px 14px;border-radius:99px;background:#5BBF2A;color:#fff;font:700 11px/1 "Space Grotesk",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 14px rgba(91,191,42,.4)}
#after-launch .fmcp-card.fmcp-feat::before{content:"Best value"}
.fmcp-landing .fmcp-price{color:#1a1a2e}
.fmcp-landing .fmcp-fmn{display:inline-block;margin-top:14px;padding:6px 10px;border-radius:10px;background:#e8f5e0;color:#2d6a0f;font-weight:600;font-size:13.5px}
.fmcp-shot2{margin-right:0}.fmcp-shot2 img{width:100%;margin-left:0}
@media(min-width:1180px){.fmcp-shot2{margin-right:-5%}.fmcp-shot2 img{width:112%;margin-left:-6%}}
@media(max-width:1000px){.fmcp-landing .fmcp-hero{flex-wrap:wrap}.fmcp-shot2{flex-basis:100%}}

/* plans page matches landing */
.fmcp .fmcp-plan-card{border-radius:20px;box-shadow:0 0 0 1.5px #e2e6f0,0 8px 24px rgba(26,26,46,.06)}
.fmcp .fmcp-plan-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1.5px #b9c3e6,0 18px 40px rgba(26,26,46,.12)}
.fmcp .fmcp-plan-card.is-pop{box-shadow:0 0 0 2px #5BBF2A,0 22px 50px rgba(91,191,42,.25);background:linear-gradient(180deg,#f3faec,#fff 45%);transform:translateY(-6px)}
.fmcp .fmcp-plan-card.is-pop:hover{transform:translateY(-10px)}
.fmcp .fmcp-plan-flag.alt{background:#5BBF2A;color:#fff;left:50%;transform:translateX(-50%);box-shadow:0 6px 14px rgba(91,191,42,.4);white-space:nowrap}
.fmcp .fmcp-plan-price span s{opacity:.7}
.fmcp .fmcp-plan-price span{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:10px;background:#e8f5e0;color:#2d6a0f;font-weight:600;font-size:13px}
.fmcp-host-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:14px 0}
.fmcp-host-card{position:relative;padding:22px 20px;border-radius:20px;background:#fff;box-shadow:0 0 0 1.5px #e2e6f0,0 8px 24px rgba(26,26,46,.06);transition:transform .18s,box-shadow .18s}
.fmcp-host-card:hover{transform:translateY(-4px);box-shadow:0 0 0 1.5px #b9c3e6,0 18px 40px rgba(26,26,46,.12)}
.fmcp-host-card h4{margin:0 0 8px;font-size:16px;color:#1a1a2e}
.fmcp-host-card p{margin:10px 0 0;font-size:14px;line-height:1.55;color:#65676b}
.fmcp-host-price{font:700 32px/1.1 var(--fm-head,inherit);color:#1a1a2e}.fmcp-host-price small{font-size:14px;font-weight:500;color:#65676b}
.fmcp-host-card.is-best{box-shadow:0 0 0 2px #5BBF2A,0 22px 50px rgba(91,191,42,.22);background:linear-gradient(180deg,#f3faec,#fff 45%)}
.fmcp-host-flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);padding:4px 12px;border-radius:99px;background:#5BBF2A;color:#fff;font:700 11px var(--fm-head,inherit);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

/* landing keeps the site header/footer: room for the floating header, no own topnav */
body.fmcp-landing-page .fmcp-landing .fmcp-b-hero{padding-top:130px}
body.fmcp-landing-page{background:#fff}
body.fmcp-landing-page .entry-title,body.fmcp-landing-page .entry-header,body.fmcp-landing-page .page-title,body.fmcp-landing-page .ast-breadcrumbs-wrapper{display:none!important}
@media(max-width:860px){body.fmcp-landing-page .fmcp-landing .fmcp-b-hero{padding-top:110px}}
/* seamless: no Astra breadcrumb bar line under the floating header, bands run edge to edge */
body.fmcp-landing-page .main-header-bar,body.fmcp-landing-page .ast-header-breadcrumb,body.fmcp-landing-page .ast-breadcrumbs-inner{display:none!important;border:0!important}
body.fmcp-landing-page{overflow-x:hidden}
body.fmcp-landing-page .fmcp-landing{overflow-x:visible}
body.fmcp-landing-page .fmcp-landing .fmcp-b-hero{padding-top:150px}
/* Theme button hover (blue fill, white text) must never apply to portal cards and chips */
.fmcp .fmcp-fork-card:hover,.fmcp .fmcp-fork-card:focus,.fmcp .fmcp-fork-card:active,
.fmcp .fmcp-option:hover,.fmcp .fmcp-option:focus,.fmcp .fmcp-palette:hover,.fmcp .fmcp-palette:focus,
.fmcp .fmcp-font-pair:hover,.fmcp .fmcp-font-pair:focus,.fmcp .fmcp-mood:hover,.fmcp .fmcp-mood:focus,
.fmcp .fmcp-pal-chip:hover,.fmcp .fmcp-pal-chip:focus,.fmcp .fmcp-dd-trigger:hover,.fmcp .fmcp-dd-trigger:focus,
.fmcp .fmcp-dep-chips button:hover,.fmcp .fmcp-dep-chips button:focus,.fmcp .fmcp-dd-chip:hover,.fmcp .fmcp-pchip:hover{background-color:#f6f8ff!important;color:#1a1a2e!important}
.fmcp .fmcp-fork-card.is-rec:hover,.fmcp .fmcp-fork-card.is-rec:focus{background:linear-gradient(160deg,rgba(91,191,42,.12),#f6f8ff 60%)!important}
.fmcp .fmcp-fork-card:hover b,.fmcp .fmcp-fork-card:focus b{color:#1a1a2e!important}
.fmcp .fmcp-fork-card:hover span:not(.fmcp-fork-ic):not(.fmcp-fork-tag),.fmcp .fmcp-fork-card:focus span:not(.fmcp-fork-ic):not(.fmcp-fork-tag){color:#475569!important}
.fmcp .fmcp-fork-card:hover .fmcp-fork-ic{background:rgba(27,51,117,.14)!important;color:#1b3375!important}
.fmcp .fmcp-fork-card.is-rec:hover .fmcp-fork-ic{background:rgba(91,191,42,.18)!important;color:#2d6a0f!important}

.fmcp-import-all{position:relative;padding-right:44px}
.fmcp-import-x{position:absolute;top:10px;right:12px;width:28px;height:28px;border:0;border-radius:50%;background:transparent!important;color:#65676b!important;font-size:22px;line-height:1;cursor:pointer;padding:0}
.fmcp-import-x:hover,.fmcp-import-x:focus{background:#eef1f7!important;color:#1a1a2e!important}

/* ── Plans (choose) and checkout (pay) split: same theme, mobile first ── */
.fmcp.fmcp-v2 .fmcp-strip{display:none!important}
.fmcp .fmcp-flow{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:0}
.fmcp .fmcp-flow li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:99px;background:#fff;box-shadow:0 0 0 1px var(--fm-line);font:700 14px var(--fm-head);color:var(--fm-mut)}
.fmcp .fmcp-flow li span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#eef1f7;color:var(--fm-mut);font-size:13px}
.fmcp .fmcp-flow li.now{color:var(--fm-pur);box-shadow:0 0 0 2px var(--fm-pur)}
.fmcp .fmcp-flow li.now span{background:var(--fm-pur);color:#fff}
.fmcp .fmcp-flow li.done{color:var(--fm-gd);box-shadow:0 0 0 1px #c9e2ab;background:var(--fm-gtint)}
.fmcp .fmcp-flow li.done span{background:var(--fm-gd);color:#fff}
.fmcp .fmcp-next{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.fmcp .fmcp-next b{display:block;font:800 16px var(--fm-head);margin-bottom:4px}
.fmcp .fmcp-next .fmcp-note{margin:0}
.fmcp .fmcp-order{padding:6px 20px 14px}
.fmcp .fmcp-order-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--fm-line);font-size:15px}
.fmcp .fmcp-order-row span{color:var(--fm-mut)}
.fmcp .fmcp-order-row b{text-align:right;font-weight:700;color:var(--fm-ink)}
.fmcp .fmcp-order-sub{font-size:14px}
.fmcp .fmcp-order-change{display:inline-block;margin-top:12px;font:700 14px var(--fm-head);color:var(--fm-pur);text-decoration:underline}
.fmcp .fmcp-plan.is-v2 .fmcp-dep-chips{margin-top:12px}
.fmcp .fmcp-plan.is-v2 .fmcp-dep-range-wrap{margin-top:14px}
.fmcp .fmcp-plan.is-v2 .fmcp-dep-range-wrap[hidden]{display:none}
.fmcp .fmcp-sub-label{font-size:16px!important;padding-top:14px!important}
@media (max-width:767px){
  .fmcp .fmcp-flow{flex-direction:column;align-items:stretch}
  .fmcp .fmcp-flow li{justify-content:flex-start}
  .fmcp .fmcp-next{flex-direction:column;align-items:stretch}
  .fmcp .fmcp-next .fmcp-btn{width:100%;justify-content:center}
  .fmcp .fmcp-order{padding:4px 16px 14px}
  .fmcp .fmcp-order-row{flex-direction:column;gap:2px}
  .fmcp .fmcp-order-row b{text-align:left}
}

/* Checkout: pay in full by default, spread-the-cost popup */
.fmcp .fmcp-paynow{text-align:center;padding:26px 20px 20px;margin-bottom:20px}
.fmcp .fmcp-paynow-amt{font:800 clamp(40px,7vw,56px)/1.1 var(--fm-head);color:var(--fm-pur);letter-spacing:-.02em}
.fmcp .fmcp-paynow-sub{max-width:520px;margin:8px auto 14px}
.fmcp .fmcp-plan-sheet{max-width:600px;width:100%;text-align:left;align-items:stretch;max-height:90vh;overflow-y:auto;padding:26px 22px 22px}
.fmcp .fmcp-plan-sheet h2{margin:0 0 12px;text-align:left;font-size:22px}
.fmcp .fmcp-plan-sheet .fmcp-plan{box-shadow:none;border:0;padding:0;margin:0;background:transparent}
.fmcp .fmcp-plan-sheet .fmcp-plan-help{text-align:left;margin-left:0}
@media (max-width:767px){
  .fmcp .fmcp-plan-sheet{max-width:none;border-radius:22px 22px 0 0;max-height:92vh;padding:22px 16px 18px}
  .fmcp .fmcp-plan-modal{align-items:end;padding:0}
  .fmcp .fmcp-plan-sheet #fmcp-save-plan{width:100%;justify-content:center}
}

/* Checkout v2: hosting as its own next step */
.fmcp .fmcp-hoststep{margin:32px 0 20px;padding:22px;border-radius:18px;background:var(--fm-gtint);box-shadow:0 0 0 1px #c9e2ab}
.fmcp .fmcp-hoststep.is-locked{background:#f6f7fb;box-shadow:0 0 0 1px var(--fm-line)}
.fmcp .fmcp-hoststep-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.fmcp .fmcp-hoststep-no{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--fm-pur);color:#fff;font:700 16px var(--fm-head)}
.fmcp .fmcp-hoststep.is-locked .fmcp-hoststep-no{background:#b9c0d0}
.fmcp .fmcp-hoststep-kicker{display:block;font:700 12px var(--fm-head);letter-spacing:.06em;text-transform:uppercase;color:var(--fm-pur)}
.fmcp .fmcp-hoststep.is-locked .fmcp-hoststep-kicker{color:var(--fm-mut)}
.fmcp .fmcp-hoststep h2{margin:0;font-size:22px}
.fmcp .fmcp-hoststep-intro{margin:0 0 12px}
.fmcp .fmcp-hoststep-lock{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;font:600 13px var(--fm-head);color:var(--fm-mut)}
.fmcp .fmcp-hoststep.is-locked .fmcp-hoststep-body{opacity:.5;pointer-events:none;user-select:none}
.fmcp .fmcp-hoststep-body .fmcp-card{background:#fff}
@media(max-width:640px){.fmcp .fmcp-hoststep{padding:16px;border-radius:14px}.fmcp .fmcp-hoststep h2{font-size:19px}}
.fmcp .fmcp-hoststep.is-open{box-shadow:0 0 0 2px var(--fm-pur);background:#fff}
.fmcp .fmcp-hoststep-body .fmcp-section-label:first-child{margin-top:4px}
.fmcp .fmcp-host-banner{margin-bottom:16px;border-color:var(--fm-pur)}
.fmcp .fmcp-hostline{align-items:center}
.fmcp .fmcp-import-ok{display:block;margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--fm-gtint);color:var(--fm-gd);font-weight:700}

/* Brief: the collapsed progress panel pulses gently so people know it can be opened */
@keyframes fmcpRailPulse{0%{box-shadow:0 0 0 0 rgba(44,52,140,.45)}70%{box-shadow:0 0 0 12px rgba(44,52,140,0)}100%{box-shadow:0 0 0 0 rgba(44,52,140,0)}}
.fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail-strip .fmcp-rail-toggle,
.fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail-strip .fmcp-strip-btn:nth-of-type(1){border-radius:50%;animation:fmcpRailPulse 2.2s ease-out infinite}
.fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail-strip:hover .fmcp-rail-toggle,
.fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail-strip:hover .fmcp-strip-btn{animation:none}
.fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail-strip .fmcp-rail-toggle:hover{background:var(--fm-pur);color:#fff}
@media (prefers-reduced-motion:reduce){.fmcp .fmcp-brief.is-rail-collapsed .fmcp-rail-strip *{animation:none!important}}

/* Bolder arrows and ticks across the portal */
.fmcp .fmcp-acc-chev,
.fmcp .fmcp-rail-toggle svg,
.fmcp .fmcp-grp-t svg,
.fmcp svg:has(> path[d="M6 9l6 6 6-6"]),
.fmcp svg:has(> polyline[points="6 9 12 15 18 9"]),
.fmcp svg:has(> polyline[points="15 6 9 12 15 18"]){stroke-width:3.2}
.fmcp svg:has(> path[d="M5 12.5l4.5 4.5L19 7.5"]){stroke-width:3.2}
