/*
 * Keto in a Crunch Macro Calculator
 * Brand styling intentionally inherits Elementor Global Colors & Typography
 * from the page where the shortcode is rendered. Fallbacks keep the plugin
 * usable when Elementor globals are unavailable.
 */
.kic-wrap {
    --kic-primary: var(--e-global-color-primary, #1f6f4a);
    --kic-secondary: var(--e-global-color-secondary, #143e2b);
    --kic-text: var(--e-global-color-text, #18221d);
    --kic-accent: var(--e-global-color-accent, #f28b35);
    --kic-white: #ffffff;
    --kic-muted: color-mix(in srgb, var(--kic-text) 68%, #ffffff);
    --kic-soft: color-mix(in srgb, var(--e-global-color-c5f1788) 6%, #ffffff);
    --kic-soft-strong: color-mix(in srgb, var(--e-global-color-c5f1788) 10%, #ffffff);
    --kic-line: color-mix(in srgb, var(--e-global-color-c5f1788) 18%, #ffffff);
    --kic-primary-shadow: color-mix(in srgb, var(--e-global-color-c5f1788) 20%, transparent);
    --kic-accent-shadow: color-mix(in srgb, var(--kic-accent) 28%, transparent);
    --kic-body-font: var(--e-global-typography-text-font-family, inherit);
    --kic-heading-font: var(--e-global-typography-primary-font-family, var(--kic-body-font));
    --kic-button-font: var(--e-global-typography-accent-font-family, var(--kic-body-font));

    color: var(--kic-text);
    font-family: var(--kic-body-font);
    font-size: var(--e-global-typography-text-font-size, inherit);
    font-weight: var(--e-global-typography-text-font-weight, inherit);
    line-height: var(--e-global-typography-text-line-height, 1.55);
}

.kic-wrap * { box-sizing: border-box; }
.kic-container { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }

.kic-wrap h2,
.kic-wrap h3 {
    margin: 0;
    color: var(--kic-text);
    font-family: var(--kic-heading-font);
    font-weight: var(--e-global-typography-primary-font-weight, 700);
    text-transform: var(--e-global-typography-primary-text-transform, none);
    font-style: var(--e-global-typography-primary-font-style, normal);
    text-decoration: var(--e-global-typography-primary-text-decoration, none);
    line-height: var(--e-global-typography-primary-line-height, 1.08);
}

.kic-wrap h2 { font-size: clamp(28px, 3.5vw, 44px); letter-spacing: -0.03em; }
.kic-wrap h3 { font-size: 23px; }

/* Buttons follow Elementor Accent + Accent Typography */
.kic-btn {
    appearance: none;
    border: 0;
    border-radius: 999px;
    min-height: 50px;
    padding: 15px 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-family: var(--kic-button-font);
    font-size: var(--e-global-typography-accent-font-size, 14px);
    font-weight: var(--e-global-typography-accent-font-weight, 700);
    line-height: var(--e-global-typography-accent-line-height, 1.2);
    letter-spacing: var(--e-global-typography-accent-letter-spacing, 0.02em);
    text-transform: var(--e-global-typography-accent-text-transform, none);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.kic-btn:hover { transform: translateY(-1px); filter: brightness(0.97); }
.kic-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
.kic-btn-primary {
    background: var(--kic-accent);
    color: var(--kic-white);
    box-shadow: 0 8px 22px var(--kic-accent-shadow);
}
.kic-btn-secondary {
    background: var(--kic-white);
    color: var(--e-global-color-c5f1788);
    border: 1px solid var(--kic-line);
}
.kic-btn-secondary:hover { background: var( --e-global-color-f7c52d3 ); }
.kic-reassurance {
    margin-top: 14px;
    color: var(--kic-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

/* Calculator */
.kic-calc-section {
    padding: 72px 0;
    background: var( --e-global-color-f7c52d3 );
    scroll-margin-top: 20px;
}
.kic-calculator-card {
    max-width: 100%;
    margin: 0 auto;
    padding: 34px;
    background: var(--kic-white);
    border: 1px solid var(--kic-line);
    border-radius: 28px;
    box-shadow: 0 20px 50px var(--kic-primary-shadow);
    scroll-margin-top: 24px;
}
.kic-progress {
    height: 7px;
    margin-bottom: 30px;
    overflow: hidden;
    background: var(--kic-soft-strong);
    border-radius: 99px;
}
.kic-progress span {
    width: 33.333%;
    height: 100%;
    display: block;
    background: var(--e-global-color-c5f1788);
    border-radius: 99px;
    transition: width 0.25s ease;
}
.kic-screen { display: none; }
.kic-screen.is-active { display: block; }
.kic-step-label {
    margin-bottom: 9px;
    color: var(--e-global-color-c5f1788);
    font-family: var(--kic-heading-font);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.kic-screen > p { margin: 10px 0 24px; color: var(--kic-muted); }
.kic-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.kic-field { display: flex; flex-direction: column; gap: 8px; color: var(--kic-text); font-weight: 700; }
.kic-field > span,
.kic-field-head > span { font-size: 14px; }
.kic-field input {
    width: 100%;
    min-height: 50px;
    padding: 14px 15px;
    outline: none;
    background: var(--kic-white);
    color: var(--kic-text);
    border: 1px solid var(--kic-line);
    border-radius: 14px;
    font-family: var(--kic-body-font);
    font-size: 16px;
}
.kic-field input::placeholder { color: var(--kic-muted); opacity: 0.75; }
.kic-field input:focus {
    border-color: var(--e-global-color-c5f1788);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--e-global-color-c5f1788) 12%, transparent);
}
.kic-field small { color: var(--kic-muted); font-weight: 400; }
.kic-full { grid-column: 1 / -1; }
.kic-field-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }

.kic-segment,
.kic-unit-toggle {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: var( --e-global-color-f7c52d3 );
    border-radius: 12px;
}
.kic-segment button,
.kic-unit-toggle button {
    padding: 9px 13px;
    cursor: pointer;
    background: transparent;
    color: var(--kic-muted);
    border: 0;
    border-radius: 9px;
    font-family: var(--kic-button-font);
    font-weight: 700;
}
.kic-segment button.is-selected,
.kic-unit-toggle button.is-active {
    background: var(--kic-white);
    color: var(--e-global-color-c5f1788);
    box-shadow: 0 2px 7px var(--kic-primary-shadow);
}

[data-kic="height-imperial"],
[data-kic="height-metric"],
[data-kic="weight-imperial"],
[data-kic="weight-metric"] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}
[data-kic="height-metric"],
[data-kic="weight-imperial"],
[data-kic="weight-metric"] { grid-template-columns: minmax(0, 1fr) auto; }

.kic-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--kic-muted);
    font-size: 13px;
    font-weight: 500;
}
.kic-check input { margin-top: 4px; flex: 0 0 auto; accent-color: var(--e-global-color-c5f1788); }
.kic-medical {
    padding: 13px;
    background: color-mix(in srgb, var(--kic-accent) 8%, var(--kic-white));
    border: 1px solid color-mix(in srgb, var(--kic-accent) 28%, var(--kic-white));
    border-radius: 14px;
}

.kic-choice-list { display: grid; gap: 12px; margin: 22px 0; }
.kic-choice-list button {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    text-align: left;
    background: var(--kic-white);
    color: var(--kic-text);
    border: 1px solid var(--kic-line);
    border-radius: 18px;
    font-family: var(--kic-body-font);
}
.kic-choice-list button:hover,
.kic-choice-list button.is-selected {
    background: var( --e-global-color-f7c52d3 );
    border-color: var(--e-global-color-c5f1788);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--e-global-color-c5f1788) 8%, transparent);
}
.kic-choice-list b { font-size: 17px; }
.kic-choice-list span { color: var(--kic-muted); font-size: 14px; }
.kic-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; }
.kic-error { min-height: 22px; margin: 10px 0; color: #b42318; font-size: 14px; font-weight: 700; }
.kic-privacy,
.kic-disclaimer { color: var(--kic-muted) !important; font-size: 12px !important; }
.kic-privacy a { color: var(--e-global-color-c5f1788); font-weight: 700; }
.kic-ready-icon {
    width: 54px;
    height: 54px;
    margin-bottom: 18px;
    display: grid;
    place-items: center;
    background: var(--kic-soft-strong);
    color: var(--e-global-color-c5f1788);
    border-radius: 50%;
    font-size: 26px;
    font-weight: 800;
}
.kic-email-field { max-width: 540px; margin: 18px 0; }
.kic-marketing { max-width: 680px; margin: 14px 0; }
.kic-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Results */
.kic-results-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 24px 0; }
.kic-results-grid > div {
    padding: 18px 12px;
    display: flex;
    flex-direction: column;
    text-align: center;
    background: var( --e-global-color-f7c52d3 );
    border: 1px solid var(--kic-line);
    border-radius: 18px;
}
.kic-results-grid span { color: var(--e-global-color-c5f1788); font-size: 11px; font-weight: 800; letter-spacing: 0.08em; }
.kic-results-grid strong {
    margin: 8px 0;
    color: var(--kic-text);
    font-family: var(--kic-heading-font);
    font-size: 30px;
    font-weight: var(--e-global-typography-primary-font-weight, 700);
    line-height: 1.1;
}
.kic-results-grid small { color: var(--kic-muted); font-size: 11px; }
.kic-selection-summary { color: var(--kic-text) !important; text-align: center; }
.kic-carb-note { font-size: 12px !important; text-align: center; }
.kic-floor-warning {
    padding: 12px;
    background: color-mix(in srgb, var(--kic-accent) 10%, var(--kic-white));
    color: var(--kic-text) !important;
    border: 1px solid color-mix(in srgb, var(--kic-accent) 35%, var(--kic-white));
    border-radius: 12px;
    font-weight: 700;
}
.kic-email-sent { color: var(--e-global-color-c5f1788) !important; text-align: center; font-weight: 700; }
.kic-email-failed { color: #b45309 !important; text-align: center; font-weight: 700; }
.kic-result-actions { justify-content: center; flex-wrap: wrap; }
.kic-howto,
.kic-howcalc {
    margin-top: 24px;
    padding: 22px;
    background: var(--kic-white);
    border: 1px solid var(--kic-line);
    border-radius: 18px;
}
.kic-howto ul { margin: 14px 0 0; padding-left: 20px; }
.kic-howto li { margin: 8px 0; color: var(--kic-muted); }
.kic-howcalc summary { cursor: pointer; color: var(--e-global-color-c5f1788); font-weight: 800; }
.kic-howcalc p { color: var(--kic-muted); }
.kic-plate { margin: 24px 0; text-align: center; }
.kic-plate img { max-width: 100%; height: auto; border: 1px solid var(--kic-line); border-radius: 18px; }
.kic-plate small { display: block; margin-top: 8px; color: var(--kic-muted); }
.kic-plate-placeholder {
    margin: 24px 0;
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: center;
    background: var( --e-global-color-f7c52d3 );
    border: 1px dashed color-mix(in srgb, var(--e-global-color-c5f1788) 38%, var(--kic-white));
    border-radius: 18px;
}
.kic-plate-placeholder span { color: var(--e-global-color-c5f1788); font-weight: 800; }
.kic-plate-placeholder small { color: var(--kic-muted); }

.kic-wrap [hidden] { display: none !important; }
.kic-btn:focus-visible,
.kic-choice-list button:focus-visible,
.kic-segment button:focus-visible,
.kic-unit-toggle button:focus-visible,
.kic-check input:focus-visible {
    outline: 3px solid var(--e-global-color-c5f1788);
    outline-offset: 2px;
}

/* If a theme/Elementor does not expose color-mix support, these declarations keep core UI legible. */
@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
    .kic-wrap {
        --kic-muted: #66736b;
        --kic-soft: #f2f7f4;
        --kic-soft-strong: #e8f1eb;
        --kic-line: #dfe8e2;
        --kic-primary-shadow: rgba(24, 49, 35, 0.12);
        --kic-accent-shadow: rgba(242, 139, 53, 0.22);
    }
}

@media (max-width: 640px) {
    .kic-container { width: min(calc(100% - 22px), 1200px); }
    .kic-wrap h2 { font-size: 30px; }
    .kic-calc-section { padding: 34px 0; }
    .kic-calculator-card { padding: 22px 16px; border-radius: 20px; }
    .kic-form-grid { grid-template-columns: 1fr; }
    .kic-full { grid-column: auto; }
    .kic-results-grid { grid-template-columns: 1fr 1fr; }
    .kic-actions { flex-direction: column-reverse; }
    .kic-actions .kic-btn { width: 100%; }
}

/* Results layout v2.0.3 — match supplied reference more closely */
.kic-results-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.96fr) minmax(360px, 0.92fr);
    gap: 36px;
    align-items: start;
}
.kic-results-copy-col .kic-step-label {
        color: var(--e-global-color-758b96f) !important;
    letter-spacing: 0;
    text-transform: none;
    font-size: 14px;
    margin-bottom: 15px;
    font-weight: 500;
}
.kic-results-copy-col h2 {
    font-family: "Roboto", Sans-serif;
    font-size: 35px;
    font-weight: 800;
    text-transform: capitalize;
    color: var(--e-global-color-c5f1788);
}
.kic-results-intro {
    margin: 5px 0 8px !important;
    font-size: 14px;
    line-height: 1.23;
    color: var(--e-global-color-d8e5039) !important;
}
.kic-results-tagline {
    margin: 0 0 15px !important;
    color: #f97316 !important;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}
.kic-results-message-card, .kic-educational-card {
    padding: 20px;
    background: var(--e-global-color-f7c52d3);
    border: 1px solid var(--e-global-color-f7c52d3);
    border-radius: 20px;
}

.kic-results-message-card {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 18px;
    align-items: center;
    margin-bottom: 24px;
}
.kic-results-message-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    background: var( --e-global-color-c5f1788 );
    color: #fff;
    border-radius: 10px;
    font-size: 34px;
    line-height: 1;
}
.kic-results-message-copy p {
    margin: 0;
    color: var(--kic-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45;
}
.kic-result-actions-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin: 0 0 26px;
}
.kic-result-actions-stack .kic-btn {
    width: 100%;
    min-height: 60px;
    padding: 18px 24px;
    border-radius: 0 0 28px 28px / 0 0 24px 24px;
    justify-content: center;
    font-size: 17px;
    font-weight: 800;
}
.kic-result-actions-stack .kic-btn-primary {
    background: #234d00;
    box-shadow: none;
}
.kic-result-actions-stack .kic-btn-secondary {
    border: 1.5px solid #5f7f3c;
    background: #fff;
    color: #234d00;
}
.kic-educational-card { margin-bottom: 18px; }
.kic-educational-card h3 {
    margin-bottom: 10px;
    color: #111827;
    font-size: 17px;
    line-height: 1.2;
}
.kic-educational-card p {
    margin: 0;
    color: #111827;
    font-size: 17px;
    line-height: 1.5;
}
.kic-selection-summary {
    margin-top: 14px !important;
    color: #364152 !important;
    font-size: 14px !important;
    line-height: 1.5;
    text-align: left;
}
.kic-carb-note {
    margin: 0 0 16px !important;
    color: var(--kic-muted) !important;
    font-size: 13px !important;
    text-align: left;
}
.kic-results-panel {
    padding: 26px 34px;
    background: #fff;
    border: 1px solid rgba(34, 57, 19, 0.08);
    border-radius: 32px;
    box-shadow: 0 18px 40px rgba(17, 24, 39, 0.06);
}
.kic-result-row {
    display: grid;
    grid-template-columns: 80px 1fr 170px;
    gap: 20px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #eceae1;
}
.kic-result-row:last-child { border-bottom: 0; }
.kic-result-icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 30px;
    line-height: 1;
}
.kic-result-value span {
    display: block;
        font-size: 13px;
    font-weight: 800;
    color: #12202a;
    line-height: 1.2;
    margin-bottom: 3px;
    text-transform: uppercase;
}
.kic-result-value strong {
    display: block;
    font-family: var(--kic-heading-font);
    font-size: 29px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 4px;
}
.kic-result-value small {
    display: block;
    font-size: 14px;
    color: #53606b;
    line-height: 1.3;
}
.kic-result-desc {
    border-left: 1px solid #e5e7eb;
    font-size: 12px;
    line-height: 1.45;
    color: #5d6871;
}
.kic-result-calories .kic-result-icon { background: #f8e9dd; }
.kic-result-calories .kic-result-value strong { color: #f97316; }
.kic-result-protein .kic-result-icon { background: #dff1e2; }
.kic-result-protein .kic-result-value strong { color: #159947; }
.kic-result-carbs .kic-result-icon { background: #e2ecff; }
.kic-result-carbs .kic-result-value strong { color: #2563eb; }
.kic-result-fat .kic-result-icon { background: #f2e9c9; }
.kic-result-fat .kic-result-value strong { color: #b27a00; }
.kic-result-fluid .kic-result-icon { background: #dff0e6; }
.kic-result-fluid .kic-result-value strong { color: #10804c; }

@media (max-width: 980px) {
    .kic-results-layout { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .kic-results-message-card { grid-template-columns: 58px 1fr; gap: 14px; }
    .kic-results-message-icon,
    .kic-result-icon { width: 52px; height: 52px; font-size: 26px; }
    .kic-results-panel { padding: 18px 18px 10px; border-radius: 24px; }
    .kic-result-row { grid-template-columns: 52px 1fr; gap: 14px; }
    .kic-result-desc { grid-column: 2; padding-left: 0; border-left: 0; font-size: 14px; }
    .kic-result-value strong { font-size: 38px; }
    .kic-results-intro { font-size: 18px; }
    .kic-results-tagline { font-size: 20px; }
    .kic-result-actions-stack .kic-btn { min-height: 56px; font-size: 16px; }
}

/* Standalone live results shortcode: [keto_macro_results] */
.kic-external-results {
    width: 100%;
}
/* The standalone/second results block must remain completely hidden until
   the calculator has successfully captured and validated an email. */
.kic-external-results:not(.has-results) {
    display: none !important;
}
.kic-external-results-head {
    max-width: 760px;
    margin: 0 auto 26px;
    text-align: center;
}
.kic-external-results-head .kic-step-label {
    color: var(--kic-accent);
    text-transform: none;
    letter-spacing: 0;
    font-size: 16px;
}
.kic-external-results-head p {
    margin: 12px 0 0;
    color: var(--kic-muted);
    font-size: 16px;
}
.kic-results-panel-shortcode {
    max-width: 760px;
    margin: 0 auto;
}
.kic-external-meta {
    max-width: 760px;
    margin: 16px auto 0;
    padding: 14px 18px;
    display: flex;
    justify-content: center;
    gap: 22px;
    flex-wrap: wrap;
    background: var( --e-global-color-f7c52d3 );
    border: 1px solid var(--kic-line);
    border-radius: 14px;
    color: var(--kic-text);
    font-size: 14px;
}
.kic-external-results:not(.has-results) .kic-result-value strong {
    opacity: 0.55;
}
.kic-external-results.has-results .kic-result-value strong {
    opacity: 1;
    transition: opacity .2s ease, transform .2s ease;
}
@media (max-width: 640px) {
    .kic-external-results-head { margin-bottom: 18px; }
    .kic-external-meta { gap: 10px 16px; justify-content: flex-start; }
}

/* Step 2 + Step 3 option cards: always use the full calculator width. */
.kic-choice-list {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
}
.kic-choice-list button {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    justify-self: stretch;
    box-sizing: border-box;
}

/* Font Awesome result icons — icon color matches the counter color. */
.kic-result-icon i {
    font-size: 26px;
    line-height: 1;
}
.kic-result-calories .kic-result-icon { color: #f97316; }
.kic-result-protein .kic-result-icon { color: #159947; }
.kic-result-carbs .kic-result-icon { color: #2563eb; }
.kic-result-fat .kic-result-icon { color: #b27a00; }
.kic-result-fluid .kic-result-icon { color: #10804c; }

.kic-external-email-sent {
    max-width: 760px;
    margin: 0 auto 20px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--e-global-color-f7c52d3, #f4f2e7);
    border: 1px solid var(--kic-line);
    border-radius: 16px;
    color: var(--kic-text);
    font-weight: 700;
}
.kic-external-email-sent i {
    color: var(--kic-primary);
    font-size: 20px;
}
.kic-external-email-sent[hidden] { display: none !important; }

/* v2.0.8 — post-results email form (results show first, email is optional afterward) */
.kic-results-email-form {
    margin: 0 0 18px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #e3e7dc;
    border-radius: 18px;
}
.kic-results-email-form h3 {
    margin: 0 0 6px;
    color: var(--kic-secondary);
    font-size: 19px;
}
.kic-results-email-form > p {
    margin: 0 0 14px !important;
    color: var(--kic-muted) !important;
    font-size: 14px !important;
}
.kic-results-email-form .kic-email-field {
    max-width: none;
    margin: 12px 0;
}
.kic-results-email-form .kic-marketing {
    max-width: none;
    margin: 12px 0;
}
.kic-results-email-form .kic-send-results-btn {
    width: 100%;
    margin-top: 8px;
}


/* 2026-09-21 client revisions: contrast, selected states, health screening. */
.kic-wrap {
    --kic-muted: color-mix(in srgb, var(--kic-text) 82%, #ffffff);
    --kic-selected: var(--e-global-color-c5f1788, #234d00);
}

.kic-screen > p,
.kic-check,
.kic-choice-list span,
.kic-privacy,
.kic-disclaimer,
.kic-field small {
    color: var(--kic-muted);
}

.kic-email-required-note {
    margin: 14px 0 22px !important;
    padding: 13px 15px;
    background: var(--kic-soft);
    border-left: 4px solid var(--kic-primary);
    border-radius: 10px;
    color: var(--kic-text) !important;
    font-weight: 700;
    line-height: 1.5;
}

.kic-consent-notice {
    padding: 13px 15px;
    background: var(--kic-soft);
    border: 1px solid var(--kic-line);
    border-radius: 12px;
    color: var(--kic-text);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.kic-health-field > span {
    color: var(--kic-text);
    line-height: 1.5;
}

.kic-health-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.kic-health-options button {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    cursor: pointer;
    background: var(--kic-white);
    color: var(--kic-text);
    border: 1px solid var(--kic-line);
    border-radius: 12px;
    font-family: var(--kic-body-font);
    font-weight: 700;
}

.kic-health-options button.is-selected,
.kic-segment button.is-selected,
.kic-unit-toggle button.is-active,
.kic-choice-list button.is-selected {
    background: var(--kic-selected) !important;
    color: #ffffff !important;
    border-color: var(--kic-selected) !important;
    box-shadow: none !important;
}

.kic-choice-list button.is-selected b,
.kic-choice-list button.is-selected span,
.kic-health-options button.is-selected,
.kic-segment button.is-selected,
.kic-unit-toggle button.is-active {
    color: #ffffff !important;
}

.kic-choice-list button:hover:not(.is-selected),
.kic-health-options button:hover:not(.is-selected) {
    background: var(--kic-soft);
    border-color: var(--kic-primary);
}

.kic-health-referral {
    margin-top: 12px;
    padding: 14px 16px;
    background: #fff7ed;
    color: #7c2d12;
    border: 1px solid #fdba74;
    border-radius: 12px;
    font-weight: 700;
    line-height: 1.5;
}
.kic-health-referral[hidden] { display:none !important; }

@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
    .kic-wrap { --kic-muted: #445148; }
}

@media (max-width: 640px) {
    .kic-health-options { grid-template-columns: 1fr; }
}
