/*
 * Kids & Family FUN — global design system
 * Consolidated without changing existing PHP/JS class names.
 * Order is preserved so the current cascade remains compatible.
 */

:root {
    --kff-navy: #15233b; --kff-text: #344054;
    --kff-muted: #667085; --kff-border: #e5e9f0;
    --kff-surface: #ffffff; --kff-surface-soft: #f8fafc;
    --kff-blue: #3276e8; --kff-blue-soft: #eef5ff;
    --kff-pink: #f34f92; --kff-pink-soft: #fff0f6;
    --kff-green: #35a76f; --kff-green-soft: #edf9f2;
    --kff-orange: #f49a3f; --kff-orange-soft: #fff6e9;
    --kff-purple: #8067d9; --kff-radius-sm: 10px;
    --kff-radius-md: 14px; --kff-radius-lg: 18px;
    --kff-shadow-sm: 0 4px 14px rgba(21, 35, 59, 0.05); --kff-shadow-md: 0 10px 30px rgba(21, 35, 59, 0.07);
    --kff-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* =========================================================
   ABOUT US
   ========================================================= */

body:has(.kff-about-page) .site-content,
body:has(.kff-about-page) .ast-container,
body:has(.kff-about-page) .content-area,
body:has(.kff-about-page) .site-main,
body:has(.kff-about-page) .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.kff-about-page) .entry-header,
body:has(.kff-about-page) .entry-title {
    display: none !important;
}

.kff-about-page,
.kff-about-page * {
    box-sizing: border-box;
}

.kff-about-page {
    --about-navy: #13213d;
    --about-blue: #3478f6;
    --about-pink: #e34791;
    --about-green: #55b95f;
    --about-orange: #ff9c36;
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 30px 28px 60px !important;
    color: var(--about-navy);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kff-about-page h1,
.kff-about-page h2,
.kff-about-page h3,
.kff-about-page p {
    margin-top: 0;
}

.kff-about-page h1 {
    max-width: 690px;
    margin-bottom: 16px;
    color: var(--about-navy);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.16;
}

.kff-about-page h2 {
    margin-bottom: 14px;
    color: var(--about-navy);
    font-size: 27px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.22;
}

.kff-about-page h3 {
    margin-bottom: 8px;
    color: var(--about-navy);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
}

.kff-about-page p {
    color: #61708c;
    font-size: 15px;
    line-height: 1.75;
}

.kff-about-kicker,
.kff-about-section-label {
    margin-bottom: 13px;
    color: var(--about-pink);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.kff-about-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr);
    align-items: center;
    gap: clamp(40px, 7vw, 105px);
    min-height: 390px;
    padding: 54px 64px;
    overflow: hidden;
    border: 1px solid #e2e8f2;
    border-radius: 28px;
    background: linear-gradient(120deg, #fff 0%, #fff 57%, #f3f7ff 100%);
    box-shadow: 0 18px 50px rgba(19, 33, 61, .07);
}

.kff-about-hero::before,
.kff-about-hero::after {
    position: absolute;
    border-radius: 999px;
    content: "";
    pointer-events: none;
}

.kff-about-hero::before {
    top: -110px;
    right: 250px;
    width: 210px;
    height: 210px;
    background: rgba(227, 71, 145, .08);
}

.kff-about-hero::after {
    right: -55px;
    bottom: -85px;
    width: 220px;
    height: 220px;
    background: rgba(85, 185, 95, .09);
}

.kff-about-hero-copy,
.kff-about-hero-visual {
    position: relative;
    z-index: 1;
}

.kff-about-lead {
    max-width: 650px;
    margin-bottom: 25px !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
}

.kff-about-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.kff-about-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 21px;
    border: 1px solid #d7e0ed;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.kff-about-button:hover {
    transform: translateY(-2px);
}

.kff-about-button-primary,
.kff-about-button-primary:hover,
.kff-about-button-primary:focus {
    border-color: var(--about-blue);
    background: var(--about-blue);
    color: #fff !important;
    box-shadow: 0 9px 20px rgba(52, 120, 246, .23);
}

.kff-about-button-secondary,
.kff-about-button-secondary:hover,
.kff-about-button-secondary:focus {
    background: #fff;
    color: var(--about-blue) !important;
}

.kff-about-hero-visual {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.kff-about-orbit {
    display: flex;
    min-height: 132px;
    padding: 20px;
    flex-direction: column;
    justify-content: flex-end;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 22px;
    box-shadow: 0 14px 32px rgba(19, 33, 61, .1);
}

.kff-about-orbit:nth-child(2),
.kff-about-orbit:nth-child(4) {
    transform: translateY(18px);
}

.kff-about-orbit > span {
    display: grid;
    width: 37px;
    height: 37px;
    margin-bottom: 13px;
    place-items: center;
    border-radius: 12px;
    background: rgba(255, 255, 255, .9);
    font-size: 19px;
}

.kff-about-orbit strong {
    font-size: 15px;
}

.kff-about-orbit small {
    margin-top: 2px;
    color: rgba(19, 33, 61, .67);
    font-size: 12px;
}

.kff-about-orbit-blue { background: #dceaff; }
.kff-about-orbit-blue > span { color: var(--about-blue); }
.kff-about-orbit-pink { background: #fde1ef; }
.kff-about-orbit-pink > span { color: var(--about-pink); }
.kff-about-orbit-orange { background: #fff0d7; }
.kff-about-orbit-orange > span { color: #e68117; }
.kff-about-orbit-green { background: #e1f5e3; }
.kff-about-orbit-green > span { color: var(--about-green); }

.kff-about-section {
    padding: 72px 0;
}

.kff-about-mission {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: clamp(50px, 10vw, 150px);
    border-bottom: 1px solid #e5eaf2;
}

.kff-about-mission-copy {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
}

.kff-about-mission-copy p {
    margin-bottom: 0;
}

.kff-about-section-head {
    max-width: 650px;
    margin-bottom: 30px;
}

.kff-about-section-head p {
    margin-bottom: 0;
}

.kff-about-values-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.kff-about-value-card {
    position: relative;
    min-height: 225px;
    padding: 25px;
    overflow: hidden;
    border: 1px solid #e1e7f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(19, 33, 61, .055);
}

.kff-about-value-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 5px;
    content: "";
}

.kff-about-value-blue::before { background: var(--about-blue); }
.kff-about-value-pink::before { background: var(--about-pink); }
.kff-about-value-orange::before { background: var(--about-orange); }
.kff-about-value-green::before { background: var(--about-green); }

.kff-about-value-icon {
    display: grid;
    width: 44px;
    height: 44px;
    margin-bottom: 25px;
    place-items: center;
    border-radius: 14px;
    font-size: 21px;
    font-weight: 800;
}

.kff-about-value-blue .kff-about-value-icon { background: #e8f0ff; color: var(--about-blue); }
.kff-about-value-pink .kff-about-value-icon { background: #fde8f2; color: var(--about-pink); }
.kff-about-value-orange .kff-about-value-icon { background: #fff0dc; color: #e47b0e; }
.kff-about-value-green .kff-about-value-icon { background: #e5f6e7; color: #3d9f49; }

.kff-about-value-card p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.65;
}

.kff-about-local {
    display: grid;
    grid-template-columns: minmax(340px, .8fr) 1fr;
    align-items: center;
    gap: clamp(45px, 8vw, 110px);
    padding: 55px 64px;
    border: 1px solid #dfe7f2;
    border-radius: 26px;
    background: #f7f9fd;
}

.kff-about-local-map {
    position: relative;
    min-height: 270px;
    overflow: hidden;
    border: 1px solid #d9e5f3;
    border-radius: 22px;
    background-color: #edf5ff;
    background-image: linear-gradient(36deg, transparent 46%, rgba(85, 185, 95, .16) 47%, rgba(85, 185, 95, .16) 52%, transparent 53%), linear-gradient(145deg, transparent 42%, rgba(52, 120, 246, .13) 43%, rgba(52, 120, 246, .13) 48%, transparent 49%);
}

.kff-about-local-map::before,
.kff-about-local-map::after {
    position: absolute;
    width: 150%;
    height: 70px;
    border: 3px solid rgba(255, 255, 255, .95);
    border-radius: 50%;
    content: "";
    transform: rotate(-19deg);
}

.kff-about-local-map::before { top: 45px; left: -80px; }
.kff-about-local-map::after { right: -100px; bottom: 25px; transform: rotate(23deg); }

.kff-about-map-dot {
    position: absolute;
    z-index: 2;
    width: 14px;
    height: 14px;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 3px 9px rgba(19, 33, 61, .16);
}

.kff-about-map-dot-one { top: 48px; left: 26%; background: var(--about-pink); }
.kff-about-map-dot-two { top: 62%; left: 19%; background: var(--about-orange); }
.kff-about-map-dot-three { right: 20%; bottom: 23%; background: var(--about-green); }

.kff-about-map-pin {
    position: absolute;
    top: 44%;
    left: 53%;
    z-index: 3;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 5px solid #fff;
    border-radius: 50% 50% 50% 10%;
    background: var(--about-blue);
    color: #fff;
    font-size: 23px;
    box-shadow: 0 10px 25px rgba(52, 120, 246, .32);
    transform: translate(-50%, -50%) rotate(-45deg);
}

.kff-about-map-pin::first-letter {
    transform: rotate(45deg);
}

.kff-about-local-copy p {
    max-width: 620px;
}

.kff-about-local-tags {
    display: block;
    margin-top: 22px;
    color: #52617c;
    font-size: 12px;
    font-weight: 700;
}

.kff-about-local-tags span {
    display: inline;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    cursor: default;
}

.kff-about-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.kff-about-step {
    display: flex;
    gap: 18px;
    min-height: 142px;
    padding: 24px;
    border: 1px solid #e0e6ef;
    border-radius: 19px;
    background: #fff;
}

.kff-about-step > span {
    display: grid;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    place-items: center;
    border-radius: 12px;
    background: var(--about-blue);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.kff-about-step:nth-child(2) > span { background: var(--about-pink); }
.kff-about-step:nth-child(3) > span { background: var(--about-green); }
.kff-about-step p { margin-bottom: 0; font-size: 14px; line-height: 1.6; }

.kff-about-trust {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 24px;
    max-width: 910px;
    margin: 0 auto 72px;
    padding: 31px;
    border: 1px solid #ffe2bb;
    border-radius: 22px;
    background: #fffaf2;
}

.kff-about-trust-icon {
    display: grid;
    width: 49px;
    height: 49px;
    place-items: center;
    border-radius: 15px;
    background: #fff0d9;
    color: var(--about-orange);
    font-size: 19px;
}

.kff-about-trust p { margin-bottom: 0; }

.kff-about-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 40px 45px;
    border-radius: 25px;
    background: var(--about-navy);
}

.kff-about-cta h2,
.kff-about-cta p {
    color: #fff;
}

.kff-about-cta h2 { margin-bottom: 8px; }
.kff-about-cta p { margin-bottom: 0; color: #c9d2e3; }
.kff-about-cta .kff-about-section-label { color: #ff7db7; }
.kff-about-cta .kff-about-button-secondary { border-color: rgba(255,255,255,.25); background: transparent; color: #fff !important; }

@media (min-width: 922px) {
    body:has(.kff-about-page) .site-header .ast-primary-header-bar {
        min-height: 82px !important;
    }

    body:has(.kff-about-page) .site-header .ast-container {
        max-width: 1380px !important;
        margin: 0 auto !important;
        padding-right: 32px !important;
        padding-left: 32px !important;
    }
}

@media (max-width: 980px) {
    .kff-about-hero {
        grid-template-columns: 1fr;
        padding: 44px;
    }

    .kff-about-hero-visual {
        max-width: 610px;
    }

    .kff-about-values-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kff-about-local {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .kff-about-page {
        padding: 20px 16px 50px;
    }

    .kff-about-page h1 { font-size: 28px; }
    .kff-about-page h2 { font-size: 24px; }

    .kff-about-hero {
        gap: 34px;
        min-height: 0;
        padding: 30px 22px 36px;
        border-radius: 22px;
    }

    .kff-about-lead { font-size: 15px !important; }

    .kff-about-hero-visual,
    .kff-about-mission-copy,
    .kff-about-values-grid,
    .kff-about-steps {
        grid-template-columns: 1fr;
    }

    .kff-about-orbit {
        min-height: 112px;
    }

    .kff-about-orbit:nth-child(2),
    .kff-about-orbit:nth-child(4) {
        transform: none;
    }

    .kff-about-section {
        padding: 50px 0;
    }

    .kff-about-mission {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .kff-about-local {
        gap: 32px;
        padding: 25px 20px;
        border-radius: 21px;
    }

    .kff-about-local-map {
        min-height: 215px;
    }

    .kff-about-trust {
        grid-template-columns: 1fr;
        margin-bottom: 50px;
        padding: 24px;
    }

    .kff-about-cta {
        align-items: flex-start;
        padding: 30px 23px;
        flex-direction: column;
    }

    .kff-about-actions,
    .kff-about-button {
        width: 100%;
    }
}

/* =========================================================
   HELP CENTER
   ========================================================= */

body:has(.kff-help-page) .site-content,
body:has(.kff-help-page) .ast-container,
body:has(.kff-help-page) .content-area,
body:has(.kff-help-page) .site-main,
body:has(.kff-help-page) .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.kff-help-page) .entry-header,
body:has(.kff-help-page) .entry-title { display: none !important; }

.kff-help-page,
.kff-help-page * { box-sizing: border-box; }

.kff-help-page {
    --help-navy: #13213d;
    --help-blue: #3478f6;
    --help-pink: #e34791;
    --help-green: #55b95f;
    --help-orange: #ff9c36;
    max-width: 1380px;
    margin: 0 auto;
    padding: 24px 32px 64px;
    color: var(--help-navy);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kff-help-page h1,
.kff-help-page h2,
.kff-help-page h3,
.kff-help-page p { margin-top: 0; }

.kff-help-page h1 {
    margin-bottom: 14px;
    color: var(--help-navy);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.16;
}

.kff-help-page h2 {
    margin-bottom: 12px;
    color: var(--help-navy);
    font-size: 27px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.22;
}

.kff-help-page h3 {
    color: var(--help-navy);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}

.kff-help-page p {
    color: #61708c;
    font-size: 15px;
    line-height: 1.7;
}

.kff-help-kicker,
.kff-help-section-label {
    margin-bottom: 12px;
    color: var(--help-pink);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.kff-help-hero {
    display: flex;
    min-height: 300px;
    padding: 48px 55px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    border: 1px solid #e2e8f2;
    border-radius: 27px;
    background: radial-gradient(circle at 15% 20%, rgba(227,71,145,.09), transparent 22%), radial-gradient(circle at 86% 75%, rgba(85,185,95,.11), transparent 23%), #f7f9ff;
    box-shadow: 0 16px 45px rgba(19,33,61,.065);
}

.kff-help-hero > p {
    max-width: 690px;
    margin-bottom: 25px;
    font-size: 16px;
}

.kff-help-search {
    display: grid;
    grid-template-columns: auto minmax(200px, 1fr) auto;
    align-items: center;
    width: min(720px, 100%);
    min-height: 60px;
    padding: 6px 7px 6px 19px;
    border: 1px solid #dce3ee;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(19,33,61,.08);
}

.kff-help-search > span {
    color: var(--help-blue);
    font-size: 22px;
    font-weight: 800;
}

.kff-help-search input {
    min-width: 0;
    height: 46px;
    padding: 0 14px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--help-navy);
    font-family: inherit;
    font-size: 14px;
    box-shadow: none;
}

.kff-help-search button {
    height: 46px;
    padding: 0 19px;
    border: 1px solid var(--help-blue);
    border-radius: 12px;
    background: var(--help-blue);
    color: #fff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(52,120,246,.2);
}

.kff-help-search button:hover,
.kff-help-search button:focus { border-color: var(--help-blue); background: var(--help-blue); color: #fff; }

.kff-help-section { padding: 65px 0; }
.kff-help-section-head { margin-bottom: 27px; }

.kff-help-categories {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.kff-help-category {
    position: relative;
    display: block;
    min-height: 220px;
    padding: 25px;
    overflow: hidden;
    border: 1px solid #e1e7f0;
    border-radius: 20px;
    background: #fff;
    color: inherit;
    text-decoration: none !important;
    box-shadow: 0 10px 30px rgba(19,33,61,.055);
    transition: transform .18s ease, box-shadow .18s ease;
}

.kff-help-category:hover { transform: translateY(-3px); box-shadow: 0 15px 34px rgba(19,33,61,.09); }
.kff-help-category::before { position: absolute; top: 0; right: 0; left: 0; height: 5px; content: ""; }
.kff-help-category-blue::before { background: var(--help-blue); }
.kff-help-category-pink::before { background: var(--help-pink); }
.kff-help-category-orange::before { background: var(--help-orange); }
.kff-help-category-green::before { background: var(--help-green); }

.kff-help-category > span {
    display: grid;
    width: 44px;
    height: 44px;
    margin-bottom: 22px;
    place-items: center;
    border-radius: 14px;
    font-size: 20px;
    font-weight: 800;
}

.kff-help-category-blue > span { background: #e7efff; color: var(--help-blue); }
.kff-help-category-pink > span { background: #fde5f0; color: var(--help-pink); }
.kff-help-category-orange > span { background: #fff0d9; color: #e47b0e; }
.kff-help-category-green > span { background: #e3f5e5; color: #3e9e49; }
.kff-help-category h3 { margin-bottom: 7px; }
.kff-help-category p { margin-bottom: 16px; font-size: 13px; line-height: 1.55; }
.kff-help-category strong { color: var(--help-blue); font-size: 12px; }
.kff-help-category-pink strong { color: var(--help-pink); }
.kff-help-category-orange strong { color: #df7b12; }
.kff-help-category-green strong { color: #3e9e49; }

.kff-help-faq-wrap {
    display: grid;
    grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr);
    align-items: start;
    gap: clamp(40px,7vw,100px);
    padding: 58px 60px;
    border: 1px solid #e1e7f0;
    border-radius: 26px;
    background: #f8faff;
}

.kff-help-faq-intro { position: sticky; top: 115px; }
.kff-help-faq-intro p { margin-bottom: 0; }
.kff-help-faqs { display: grid; gap: 35px; }
.kff-help-faq-group { scroll-margin-top: 115px; }

.kff-help-faq-title {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 10px;
}

.kff-help-faq-title span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 11px;
    font-weight: 800;
}

.kff-help-faq-title h3 { margin: 0; font-size: 17px; }
.kff-help-faq-title-blue span { background: #e7efff; color: var(--help-blue); }
.kff-help-faq-title-pink span { background: #fde5f0; color: var(--help-pink); }
.kff-help-faq-title-orange span { background: #fff0d9; color: #e47b0e; }
.kff-help-faq-title-green span { background: #e3f5e5; color: #3e9e49; }

.kff-help-faq-group details {
    border-bottom: 1px solid #dfe5ee;
    background: transparent;
}

.kff-help-faq-group summary {
    position: relative;
    padding: 17px 35px 17px 0;
    color: var(--help-navy);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    list-style: none;
    cursor: pointer;
}

.kff-help-faq-group summary::-webkit-details-marker { display: none; }
.kff-help-faq-group summary::after { position: absolute; top: 14px; right: 3px; color: var(--help-blue); font-size: 21px; font-weight: 500; content: "+"; }
.kff-help-faq-group details[open] summary::after { content: "−"; }
.kff-help-faq-group details p { margin: -3px 35px 17px 0; font-size: 13px; line-height: 1.65; }

.kff-help-cta {
    display: flex;
    margin-top: 55px;
    padding: 38px 43px;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    border-radius: 24px;
    background: var(--help-navy);
}

.kff-help-cta h2 { margin-bottom: 7px; color: #fff; }
.kff-help-cta p { margin-bottom: 0; color: #c9d2e3; }
.kff-help-cta .kff-help-section-label { color: #ff7db7; }
.kff-help-cta > a { display: inline-flex; min-height: 46px; padding: 0 20px; align-items: center; gap: 9px; flex: 0 0 auto; border-radius: 14px; background: var(--help-blue); color: #fff !important; font-size: 14px; font-weight: 700; text-decoration: none !important; box-shadow: 0 9px 20px rgba(52,120,246,.25); }

@media (min-width: 922px) {
    body:has(.kff-help-page) .site-header .ast-primary-header-bar { min-height: 82px !important; }
    body:has(.kff-help-page) .site-header .ast-container { max-width: 1380px !important; margin: 0 auto !important; padding-right: 32px !important; padding-left: 32px !important; }
}

@media (max-width: 980px) {
    .kff-help-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .kff-help-faq-wrap { grid-template-columns: 1fr; padding: 45px; }
    .kff-help-faq-intro { position: static; }
}

@media (max-width: 700px) {
    .kff-help-page { padding: 20px 16px 50px; }
    .kff-help-page h1 { font-size: 28px; }
    .kff-help-page h2 { font-size: 24px; }
    .kff-help-hero { min-height: 0; padding: 31px 20px; border-radius: 22px; }
    .kff-help-search { grid-template-columns: auto minmax(0,1fr); padding: 6px 10px 6px 16px; }
    .kff-help-search button { grid-column: 1 / -1; width: 100%; margin-top: 5px; }
    .kff-help-categories { grid-template-columns: 1fr; }
    .kff-help-category { min-height: 0; }
    .kff-help-section { padding: 50px 0; }
    .kff-help-faq-wrap { padding: 30px 20px; border-radius: 21px; }
    .kff-help-cta { padding: 30px 23px; align-items: flex-start; flex-direction: column; }
    .kff-help-cta > a { width: 100%; justify-content: center; }
}

[class^="kff-"],
[class*=" kff-"] {
    font-family: var(--kff-font);
}

[class^="kff-"] button,
[class^="kff-"] input,
[class^="kff-"] select,
[class^="kff-"] textarea,
[class*=" kff-"] button,
[class*=" kff-"] input,
[class*=" kff-"] select,
[class*=" kff-"] textarea {
    font: inherit;
}

[class^="kff-"] :focus-visible,
[class*=" kff-"] :focus-visible {
    outline: 3px solid rgba(50, 118, 232, 0.2); outline-offset: 2px;
}

.kff-explore,
.kff-explore * {
    box-sizing: border-box;
}

.kff-explore {
    width: 100%; color: var(--kff-navy);
    font-family: var(--kff-font);
}

.kff-explore button,
.kff-explore input,
.kff-explore select {
    font-family: inherit;
}

.kff-explore-heading {
    margin-bottom: 18px;
}

.kff-main-search {
    display: grid; background: #ffffff;
}

.kff-main-search input {
    background: #ffffff; color: #344054;
    outline: none;
}

.kff-main-search input:focus {
    box-shadow: 0 0 0 3px rgba(50, 118, 232, .1);
}

.kff-search-btn {
    border: 0; color: #ffffff;
    cursor: pointer;
}

.kff-top-filter-area {
    display: flex; flex-wrap: wrap;
    align-items: center; margin-top: 12px;
    margin-bottom: 22px;
}

.kff-age-control {
    display: flex; align-items: center;
    border: 1px solid #e4e7ec; background: #ffffff;
}

.kff-age-control label {
    color: #344054; white-space: nowrap;
}

.kff-age-control select {
    border: 0; border-radius: 8px;
    background: #f6f7f9; color: #344054;
    outline: none;
}

.kff-chip {
    border: 1px solid #e4e7ec; border-radius: 999px;
    background: #ffffff; color: #475467;
    cursor: pointer; white-space: nowrap;
    transition: .15s ease;
}

.kff-more-btn {
    border: 1px solid #e4e7ec; background: #ffffff;
    color: #475467; cursor: pointer;
    white-space: nowrap; transition: .15s ease;
}

.kff-more-btn {
    border-radius: 12px;
}

.kff-explore-layout {
    display: grid; align-items: start;
}

.kff-filter-panel {
    position: sticky; overflow: hidden;
    border: 1px solid #eaecf0; background: #ffffff;
}

.kff-filter-head {
    display: flex; align-items: center;
    justify-content: space-between; gap: 10px;
}

.kff-filter-head h2 {
    margin: 0;
}

.kff-clear-all {
    padding: 0; border: 0;
    background: transparent; cursor: pointer;
}

.kff-filter-scroll {
    max-height: calc(100vh - 150px); overflow-y: auto;
}

.kff-filter-group {
    border-top: 1px solid #eef0f3;
}

.kff-filter-group-title {
    margin: 0 0 10px; color: #344054;
    text-transform: uppercase;
}

.kff-filter-option {
    display: flex; align-items: flex-start;
    color: #667085; line-height: 1.35;
    cursor: pointer;
}

.kff-filter-option input {
    flex: 0 0 auto; margin-top: 1px;
}

.kff-distance-select {
    width: 100%; padding: 0 10px;
    border: 1px solid #e4e7ec; border-radius: 10px;
    background: #ffffff; color: #475467;
}

.kff-results-header {
    display: flex; align-items: center;
    justify-content: space-between; gap: 15px;
    margin-bottom: 16px;
}

.kff-results-count {
    color: #667085;
}

.kff-results-count strong {
    color: #101828;
}

.kff-results-actions {
    display: flex; align-items: center;
    gap: 8px;
}

.kff-map-link,
.kff-sort-select {
    border: 1px solid #e4e7ec; background: #ffffff;
    color: #475467;
}

.kff-map-link {
    text-decoration: none !important;
}

.kff-active-summary {
    display: none; flex-wrap: wrap;
    gap: 6px; margin-bottom: 14px;
}

.kff-active-summary.has-items {
    display: flex;
}

.kff-active-pill {
    padding: 5px 8px; border-radius: 999px;
    background: var(--kff-blue-soft); color: #245fbf;
    font-size: 9px; font-weight: 600;
}

.kff-results-grid {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kff-place-card {
    overflow: hidden; border: 1px solid #eaecf0;
    background: #ffffff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kff-place-card:hover {
    transform: translateY(-2px); border-color: #d7deea;
    box-shadow: 0 10px 26px rgba(21, 35, 59, .09);
}

.kff-card-image {
    position: relative; overflow: hidden;
}

.kff-card-image img {
    display: block; width: 100%;
    height: 100%; object-fit: cover;
    object-position: center;
}

.kff-photo-1 {
    background: linear-gradient(135deg, #ffb374, #f17372);
}

.kff-photo-2 {
    background: linear-gradient(135deg, #55badf, #557ad0);
}

.kff-photo-3 {
    background: linear-gradient(135deg, #65c88c, #3f9073);
}

.kff-photo-4 {
    background: linear-gradient(135deg, #aa8cf4, #755fd0);
}

.kff-photo-5 {
    background: linear-gradient(135deg, #f8c660, #e98b47);
}

.kff-photo-6 {
    background: linear-gradient(135deg, #61c6c4, #397fa8);
}

.kff-category-badge {
    position: absolute; z-index: 2;
    border-radius: 999px;
}

.kff-heart {
    position: absolute; z-index: 2;
    padding: 0; margin: 0;
    border-radius: 50%; line-height: 1;
    cursor: pointer; transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}

.kff-heart:hover {
    transform: scale(1.06);
}

.kff-heart.is-saved:hover {
    background: #ffe4ef !important;
}

.kff-heart:disabled {
    opacity: .6; cursor: wait;
}

.kff-place-name {
    margin: 0 0 5px;
}

.kff-place-location {
    color: #667085;
}

.kff-card-tags {
    display: flex; flex-wrap: wrap;
    gap: 5px; min-height: 25px;
    margin-bottom: 10px;
}

.kff-card-tag {
    border-radius: 999px;
}

.kff-card-rating {
    margin-bottom: 10px; color: #667085;
    font-size: 9px;
}

.kff-card-bottom {
    display: flex; align-items: center;
    justify-content: space-between; gap: 8px;
}

.kff-view-place {
    text-decoration: none !important;
}

.kff-no-results {
    display: none; padding: 55px 25px;
    border: 1px dashed #d0d5dd; border-radius: 18px;
    background: #fafafa; text-align: center;
    color: #667085;
}

.kff-mobile-filter-toggle {
    display: none;
}

@media (max-width: 1200px) {
    .kff-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .kff-explore-layout {
        grid-template-columns: 1fr;
    }

    .kff-filter-panel {
        display: none; position: static;
    }

    .kff-filter-panel.open {
        display: block;
    }

    .kff-filter-scroll {
        max-height: none;
    }

    .kff-mobile-filter-toggle {
        display: block; width: 100%;
        min-height: 44px; margin-bottom: 14px;
        border: 1px solid #e4e7ec; border-radius: 12px;
        background: #ffffff; font-weight: 800;
    }
}

@media (max-width: 650px) {
    .kff-explore {
        padding: 24px 16px 55px;
    }

    .kff-main-search {
        grid-template-columns: 1fr;
    }

    .kff-top-filter-area {
        align-items: stretch;
    }

    .kff-age-control {
        width: 100%;
    }

    .kff-age-control select {
        flex: 1;
    }

    .kff-results-grid {
        grid-template-columns: 1fr;
    }
}

.kff-chip:hover,
.kff-more-btn:hover {
    transform: translateY(-1px);
}

.kff-filter-option input,
.kff-price-filter,
.kff-category-filter,
.kff-feature-filter,
.kff-fencing-filter {
    accent-color: var(--kff-pink) !important;
}

.kff-place-type-nature {
    background: linear-gradient(135deg, #b9ec79 0%, #39bd78 100%) !important;
}

.kff-place-type-water {
    background: linear-gradient(135deg, #5ee1f2 0%, #2185f5 100%) !important;
}

.kff-place-type-play {
    background: linear-gradient(135deg, #ffd45b 0%, #ff8b34 100%) !important;
}

.kff-place-type-learning {
    background: linear-gradient(135deg, #55c6ff 0%, #7057ed 100%) !important;
}

.kff-place-type-animals {
    background: linear-gradient(135deg, #a7e85b 0%, #29a95f 100%) !important;
}

.kff-place-type-indoor {
    background: linear-gradient(135deg, #c47dff 0%, #7442ed 100%) !important;
}

.kff-place-type-sports {
    background: linear-gradient(135deg, #ff9d4d 0%, #ff4f75 100%) !important;
}

.kff-place-type-food {
    background: linear-gradient(135deg, #ffce3f 0%, #ff6a3d 100%) !important;
}

.kff-place-type-fun {
    background: linear-gradient(135deg, #ff73b5 0%, #7c4df2 100%) !important;
}

.kff-place-type-family {
    background: linear-gradient(135deg, #60cdf2 0%, #4d79e8 100%) !important;
}

.kff-place-visual-icon {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    font-size: 54px; line-height: 1;
    filter: drop-shadow(0 8px 12px rgba(21, 35, 59, .16)); transform: translateY(3px);
}

.kff-category-badge {
    background: rgba(255, 255, 255, .93) !important; box-shadow: 0 3px 10px rgba(21, 35, 59, .08) !important;
}

.kff-heart {
    overflow: hidden !important; border: 1px solid rgba(255, 255, 255, .8) !important;
    background: rgba(255, 255, 255, .94) !important; color: #64748b !important;
    box-shadow: 0 4px 12px rgba(21, 35, 59, .12) !important;
}

.kff-heart:hover {
    border-color: #ffc3da !important; background: #fff0f6 !important;
    color: var(--kff-pink) !important;
}

.kff-heart.is-saved {
    border-color: var(--kff-pink) !important; background: var(--kff-pink) !important;
    color: #fff !important;
}

.kff-card-rating {
    display: flex !important; align-items: center;
    gap: 6px; min-height: 17px;
    margin: 2px 0 9px !important;
}

.kff-stars {
    display: inline-flex; letter-spacing: 1px;
    font-size: 12px; line-height: 1;
}

.kff-stars-filled {
    color: #ffad21;
}

.kff-stars-empty {
    color: #d7dde7;
}

.kff-rating-label {
    color: var(--kff-muted); font-size: 9px;
    font-weight: 500;
}

body:has(.kff-explore) .site-content,
body:has(.kff-explore) #content {
    padding-top: 0 !important; margin-top: 0 !important;
}

body:has(.kff-explore) .ast-container,
body:has(.kff-explore) .site-content > .ast-container,
body:has(.kff-explore) .content-area,
body:has(.kff-explore) .site-main,
body:has(.kff-explore) article,
body:has(.kff-explore) .entry-content,
body:has(.kff-explore) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-explore) .entry-header,
body:has(.kff-explore) .entry-title {
    display: none !important;
}

@media (min-width: 922px) {
    body:has(.kff-explore) #masthead,
    body:has(.kff-explore) .site-header,
    body:has(.kff-explore) .ast-primary-header-bar,
    body:has(.kff-explore) .site-primary-header-wrap,
    body:has(.kff-explore) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-explore) .ast-primary-header-bar {
        padding-top: 0 !important; padding-bottom: 0 !important;
    }

    body:has(.kff-explore) #masthead .ast-container,
    body:has(.kff-explore) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important; padding-left: 32px !important;
        padding-right: 32px !important;
    }
}

.kff-explore {
    max-width: 1320px !important; margin: 0 auto !important;
    padding: 30px 28px 60px !important; background: #fff;
}

.kff-explore-heading {
    margin: 0 0 17px !important;
}

.kff-explore-heading h1 {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important; font-size: 32px !important;
    line-height: 1.15 !important; font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.kff-explore-heading p {
    margin: 0 !important; color: var(--kff-muted) !important;
    font-size: 13px !important; line-height: 1.5 !important;
}

.kff-main-search {
    grid-template-columns: minmax(300px, 1fr) 230px 46px !important; gap: 8px !important;
    padding: 8px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important; box-shadow: 0 8px 25px rgba(21, 35, 59, .07) !important;
}

.kff-main-search input {
    min-height: 42px !important; height: 42px !important;
    padding: 0 13px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 10px !important; font-family: var(--kff-font) !important;
    font-size: 12px !important; font-weight: 400 !important;
}

.kff-main-search input:focus {
    border-color: var(--kff-blue) !important;
}

.kff-search-btn {
    width: 46px !important; min-width: 46px !important;
    min-height: 42px !important; height: 42px !important;
    padding: 0 !important; border-radius: 10px !important;
    background: var(--kff-pink) !important; font-size: 16px !important;
}

.kff-top-filter-area {
    gap: 7px !important; margin: 10px 0 22px !important;
}

.kff-age-control,
.kff-chip,
.kff-more-btn {
    min-height: 34px !important; height: 34px !important;
    border-color: var(--kff-border) !important; box-shadow: 0 2px 5px rgba(21, 35, 59, .035) !important;
}

.kff-age-control {
    gap: 5px !important; padding: 3px 5px 3px 10px !important;
    border-radius: 10px !important;
}

.kff-age-control label,
.kff-chip,
.kff-more-btn {
    font-size: 11px !important; font-weight: 600 !important;
}

.kff-age-control select {
    min-width: 118px !important; height: 26px !important;
    padding: 0 7px !important; font-size: 11px !important;
    font-weight: 600 !important;
}

.kff-chip,
.kff-more-btn {
    padding: 0 11px !important;
}

.kff-explore-layout {
    grid-template-columns: 230px minmax(0, 1fr) !important; gap: 20px !important;
}

.kff-filter-panel {
    top: 92px !important; border-color: var(--kff-border) !important;
    border-radius: 15px !important; box-shadow: none !important;
}

.kff-filter-head {
    padding: 15px 15px 12px !important;
}

.kff-filter-head h2 {
    font-size: 16px !important; line-height: 1.2 !important;
    font-weight: 700 !important;
}

.kff-clear-all {
    color: var(--kff-blue) !important; font-size: 10px !important;
    font-weight: 600 !important;
}

.kff-filter-scroll {
    padding: 0 15px 18px !important;
}

.kff-filter-group {
    padding: 13px 0 !important;
}

.kff-filter-group-title {
    margin-bottom: 8px !important; font-size: 9px !important;
    font-weight: 700 !important; letter-spacing: .04em !important;
}

.kff-filter-option {
    gap: 7px !important; margin: 7px 0 !important;
    font-size: 10px !important;
}

.kff-distance-select {
    height: 34px !important; font-size: 10px !important;
}

.kff-results-header {
    min-height: 36px !important; margin: 0 0 12px !important;
}

.kff-results-count {
    font-size: 11px !important;
}

.kff-map-link,
.kff-sort-select {
    min-height: 34px !important; height: 34px !important;
    padding: 0 10px !important; border-color: var(--kff-border) !important;
    border-radius: 9px !important; font-size: 10px !important;
    font-weight: 600 !important;
}

.kff-results-grid {
    gap: 14px !important;
}

.kff-place-card {
    border-color: var(--kff-border) !important; border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(21, 35, 59, .055) !important;
}

.kff-card-image {
    height: 150px !important;
}

.kff-category-badge {
    top: 10px !important; left: 10px !important;
    padding: 5px 8px !important; color: var(--kff-blue) !important;
    font-weight: 700 !important;
}

.kff-heart {
    top: 10px !important; right: 10px !important;
    width: 30px !important; height: 30px !important;
}

.kff-card-body {
    padding: 12px !important;
}

.kff-place-name {
    margin-bottom: 4px !important; font-size: 14px !important;
    line-height: 1.25 !important; font-weight: 700 !important;
}

.kff-place-location {
    margin-bottom: 7px !important; font-size: 9px !important;
}

.kff-card-tag {
    padding: 4px 6px !important; font-size: 8px !important;
    font-weight: 600 !important;
}

.kff-view-place {
    color: var(--kff-blue) !important; font-size: 10px !important;
    font-weight: 700 !important;
}

@media (max-width: 900px) {
    .kff-explore {
        padding: 22px 18px 50px !important;
    }

    .kff-explore-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 650px) {
    .kff-explore-heading h1 {
        font-size: 28px !important;
    }

    .kff-main-search {
        grid-template-columns: 1fr !important;
    }

    .kff-search-btn {
        width: 100% !important;
    }

    .kff-card-image {
        height: 180px !important;
    }
}

.kff-chip:hover,
.kff-more-btn:hover {
    border-color: #f5a8c6 !important; background: #fff0f6 !important;
    color: #c92f70 !important; box-shadow: 0 4px 12px rgba(243, 79, 146, .12) !important;
}

.kff-chip.active,
.kff-chip.active:hover {
    border-color: var(--kff-pink) !important; background: linear-gradient(135deg, #fff0f6, #ffe3ef) !important;
    color: #c52e6d !important; box-shadow: 0 4px 13px rgba(243, 79, 146, .16) !important;
}

#kffHeaderLogin {
    color: #fff !important; font-family: var(--kff-font) !important;
    font-weight: 700 !important; text-decoration: none !important;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}

#kffHeaderLogin:hover,
#kffHeaderLogin:focus {
    color: #fff !important; transform: translateY(-1px);
}

#kffHeaderLogin {
    font-size: 13px !important;
}

.kff-map-link {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; width: auto !important;
    min-width: 78px !important; white-space: nowrap !important;
    word-break: normal !important; line-height: 1 !important;
}

.kff-heart {
    display: flex !important; align-items: center !important;
    justify-content: center !important; font-size: 0 !important;
}

.kff-heart > span {
    display: none !important;
}

.kff-heart::before {
    display: block !important; content: "♡" !important;
    font-family: Arial, sans-serif !important; font-size: 20px !important;
    line-height: 1 !important; font-weight: 700 !important;
}

.kff-heart.is-saved::before {
    content: "♥" !important;
}

.kff-category-badge {
    display: inline-flex !important; align-items: center !important;
    gap: 5px !important; border: 0 !important;
    font-size: 9px !important;
}

.kff-category-icon {
    font-size: 13px; line-height: 1;
}

.kff-card-type-nature .kff-category-badge,
.kff-card-type-animals .kff-category-badge {
    background: #edffe2 !important; color: #267c45 !important;
}

.kff-card-type-water .kff-category-badge,
.kff-card-type-learning .kff-category-badge {
    background: #e8f5ff !important; color: #1767bd !important;
}

.kff-card-type-play .kff-category-badge,
.kff-card-type-food .kff-category-badge {
    background: #fff4d8 !important; color: #b75a16 !important;
}

.kff-card-type-indoor .kff-category-badge,
.kff-card-type-fun .kff-category-badge {
    background: #f3eaff !important; color: #6d38c5 !important;
}

.kff-card-type-sports .kff-category-badge {
    background: #ffe9ee !important; color: #c63757 !important;
}

.kff-card-tag {
    display: inline-flex !important; align-items: center !important;
    gap: 4px !important; border: 1px solid #edf0f5 !important;
    background: #fafbfc !important; color: #596579 !important;
}

.kff-tag-icon {
    display: inline-grid; place-items: center;
    width: 14px; height: 14px;
    border-radius: 50%; background: #eef5ff;
    color: #2870d5; font-size: 8px;
    line-height: 1; font-weight: 800;
}

.kff-card-tag:nth-child(2) .kff-tag-icon {
    background: #edf9f2; color: #28965e;
}

.kff-card-tag:nth-child(3) .kff-tag-icon {
    background: #fff4dc; color: #dc7a1f;
}

.kff-card-tag:nth-child(4) .kff-tag-icon {
    background: #fff0f6; color: #d83b7b;
}

#kffHeaderLogin {
    position: relative !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    vertical-align: middle !important; line-height: 1 !important;
    text-align: center !important;
}

#kffHeaderLogin > a,
#kffHeaderLogin > span,
#kffHeaderLogin .menu-link,
#kffHeaderLogin .wp-block-button__link {
    position: static !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    margin: 0 !important; padding: 0 !important;
    border: 0 !important; background: transparent !important;
    font: inherit !important; line-height: 1 !important;
    text-align: center !important; text-decoration: none !important;
    transform: none !important;
}

#kffHeaderLogin {
    box-sizing: border-box !important; padding: 0 !important;
    overflow: hidden !important; border: 1px solid #0565ed !important;
    background: linear-gradient( 180deg, #1f91ff 0%, #0877fa 38%, #0064ed 100% ) !important; box-shadow: inset 0 2px 1px rgba(255, 255, 255, .38), inset 0 -2px 2px rgba(0, 49, 176, .22), 0 4px 10px rgba(0, 100, 237, .22) !important;
}

#kffHeaderLogin > a,
#kffHeaderLogin > span,
#kffHeaderLogin .menu-link,
#kffHeaderLogin .wp-block-button__link {
    color: #fff !important; font-family: "Arial Rounded MT Bold", "Trebuchet MS", var(--kff-font) !important;
    font-weight: 800 !important; letter-spacing: -.02em !important;
    text-shadow: 0 1px 1px rgba(0, 45, 145, .35) !important;
}

#kffHeaderLogin:hover,
#kffHeaderLogin:focus {
    border-color: #0055d6 !important; background: linear-gradient( 180deg, #1688fb 0%, #006cef 42%, #0059dc 100% ) !important;
    box-shadow: inset 0 2px 1px rgba(255, 255, 255, .32), inset 0 -2px 2px rgba(0, 43, 157, .25), 0 5px 12px rgba(0, 100, 237, .28) !important;
}

body:has(.kff-map-page) .site-content,
body:has(.kff-map-page) #content {
    padding-top: 0 !important; margin-top: 0 !important;
}

body:has(.kff-map-page) .site-content > .ast-container,
body:has(.kff-map-page) .content-area,
body:has(.kff-map-page) .site-main,
body:has(.kff-map-page) article,
body:has(.kff-map-page) .entry-content,
body:has(.kff-map-page) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-map-page) .entry-header,
body:has(.kff-map-page) .entry-title {
    display: none !important;
}

@media (min-width: 922px) {
    body:has(.kff-map-page) #masthead,
    body:has(.kff-map-page) .site-header,
    body:has(.kff-map-page) .ast-primary-header-bar,
    body:has(.kff-map-page) .site-primary-header-wrap,
    body:has(.kff-map-page) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-map-page) #masthead .ast-container,
    body:has(.kff-map-page) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important; padding-left: 32px !important;
        padding-right: 32px !important;
    }
}

.kff-map-page {
    width: 100% !important; max-width: 1320px !important;
    margin: 0 auto !important; padding: 30px 28px 60px !important;
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
}

.kff-map-heading h1 {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important; font-size: 32px !important;
    line-height: 1.15 !important; font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.kff-map-heading p {
    margin: 0 !important; color: var(--kff-muted) !important;
    font-size: 13px !important; line-height: 1.5 !important;
}

.kff-map-search {
    grid-template-columns: minmax(300px, 1fr) 230px 46px !important; gap: 8px !important;
    margin-top: 17px !important; padding: 8px !important;
    border: 1px solid var(--kff-border) !important; border-radius: 15px !important;
    box-shadow: 0 8px 25px rgba(21, 35, 59, .07) !important;
}

.kff-map-search input {
    min-height: 42px !important; height: 42px !important;
    padding: 0 13px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 10px !important; font-family: var(--kff-font) !important;
    font-size: 12px !important; font-weight: 400 !important;
}

.kff-map-search input:focus {
    border-color: var(--kff-pink) !important; box-shadow: 0 0 0 3px rgba(243, 79, 146, .1) !important;
}

.kff-map-search-button {
    width: 46px !important; min-width: 46px !important;
    min-height: 42px !important; height: 42px !important;
    padding: 0 !important; border-radius: 10px !important;
    background: var(--kff-pink) !important; font-size: 16px !important;
}

.kff-map-quick-row {
    gap: 7px !important; margin: 10px 0 22px !important;
}

.kff-map-age,
.kff-map-chip,
.kff-map-more {
    min-height: 34px !important; height: 34px !important;
    border-color: var(--kff-border) !important; box-shadow: 0 2px 5px rgba(21, 35, 59, .035) !important;
}

.kff-map-age {
    gap: 5px !important; padding: 3px 5px 3px 10px !important;
    border-radius: 10px !important;
}

.kff-map-age label,
.kff-map-chip,
.kff-map-more {
    font-size: 11px !important; font-weight: 600 !important;
}

.kff-map-age select {
    min-width: 118px !important; height: 26px !important;
    padding: 0 7px !important; font-size: 11px !important;
    font-weight: 600 !important;
}

.kff-map-chip,
.kff-map-more {
    padding: 0 11px !important;
}

.kff-map-chip:hover,
.kff-map-more:hover {
    border-color: #f5a8c6 !important; background: #fff0f6 !important;
    color: #c92f70 !important;
}

.kff-map-chip.active,
.kff-map-chip.active:hover {
    border-color: var(--kff-pink) !important; background: linear-gradient(135deg, #fff0f6, #ffe3ef) !important;
    color: #c52e6d !important; box-shadow: 0 4px 13px rgba(243, 79, 146, .16) !important;
}

.kff-map-layout {
    grid-template-columns: 230px minmax(0, 1fr) !important; gap: 20px !important;
}

.kff-map-filter-panel {
    border-color: var(--kff-border) !important; border-radius: 15px !important;
    box-shadow: none !important;
}

.kff-map-filter-head {
    padding: 15px 15px 12px !important;
}

.kff-map-filter-head h2 {
    font-size: 16px !important; line-height: 1.2 !important;
    font-weight: 700 !important;
}

.kff-map-clear {
    color: var(--kff-pink) !important; font-size: 10px !important;
    font-weight: 600 !important;
}

.kff-map-filter-scroll {
    max-height: 600px !important; padding: 0 15px 18px !important;
}

.kff-map-filter-group {
    padding: 13px 0 !important;
}

.kff-map-filter-title {
    margin-bottom: 8px !important; font-size: 9px !important;
    font-weight: 700 !important; letter-spacing: .04em !important;
}

.kff-map-filter-option {
    gap: 7px !important; margin: 7px 0 !important;
    font-size: 10px !important;
}

.kff-map-filter-option input {
    accent-color: var(--kff-pink) !important;
}

.kff-map-distance {
    height: 34px !important; font-size: 10px !important;
}

.kff-map-toolbar {
    min-height: 36px !important; margin: 0 0 10px !important;
}

.kff-map-count {
    font-size: 11px !important;
}

.kff-list-view {
    min-height: 34px !important; height: 34px !important;
    padding: 0 11px !important; border-color: var(--kff-border) !important;
    border-radius: 9px !important;
}

#kffLeafletMap {
    height: 600px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important; box-shadow: 0 5px 18px rgba(21, 35, 59, .06) !important;
}

.kff-map-page .leaflet-popup-content-wrapper {
    border-radius: 14px !important; box-shadow: 0 10px 28px rgba(21, 35, 59, .16) !important;
}

.kff-popup-photo {
    position: relative; height: 132px !important;
}

.kff-popup-visual-icon {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    font-size: 46px; filter: drop-shadow(0 7px 10px rgba(21, 35, 59, .16));
}

.kff-popup-body {
    padding: 12px 14px 14px !important;
}

.kff-popup-category {
    color: var(--kff-pink) !important; font-size: 8px !important;
    font-weight: 700 !important;
}

.kff-popup-type-nature .kff-popup-category,
.kff-popup-type-animals .kff-popup-category {
    color: #21824b !important;
}

.kff-popup-type-water .kff-popup-category,
.kff-popup-type-learning .kff-popup-category {
    color: #236ac4 !important;
}

.kff-popup-type-play .kff-popup-category,
.kff-popup-type-food .kff-popup-category {
    color: #c5611e !important;
}

.kff-popup-type-indoor .kff-popup-category,
.kff-popup-type-fun .kff-popup-category {
    color: #7040cb !important;
}

.kff-popup-type-sports .kff-popup-category {
    color: #cf3e5c !important;
}

.kff-popup-type-family .kff-popup-category {
    color: var(--kff-pink) !important;
}

.kff-popup-name {
    color: var(--kff-navy) !important; font-size: 14px !important;
    font-weight: 700 !important;
}

.kff-popup-link {
    color: var(--kff-blue) !important; font-weight: 700 !important;
}

.kff-place-marker-shell {
    border: 0 !important; background: transparent !important;
}

.kff-place-marker {
    position: relative; display: grid;
    place-items: center; width: 34px;
    height: 34px; border: 3px solid #fff;
    border-radius: 50% 50% 50% 10px; box-shadow: 0 4px 10px rgba(21, 35, 59, .28);
    transform: rotate(-45deg);
}

.kff-place-marker > span {
    font-size: 15px; line-height: 1;
    transform: rotate(45deg);
}

.kff-marker-nature,
.kff-marker-animals {
    background: #58c872;
}

.kff-marker-water,
.kff-marker-learning {
    background: #3597f2;
}

.kff-marker-play,
.kff-marker-food {
    background: #ffae35;
}

.kff-marker-indoor,
.kff-marker-fun {
    background: #8a5bec;
}

.kff-marker-sports {
    background: #f05e74;
}

.kff-marker-family {
    background: #f34f92;
}

#kffHeaderLogin,
#kffHeaderLogin > a,
#kffHeaderLogin > span,
#kffHeaderLogin .menu-link,
#kffHeaderLogin .wp-block-button__link {
    width: 76px !important; min-width: 76px !important;
    max-width: 76px !important; height: 32px !important;
    min-height: 32px !important; max-height: 32px !important;
}

#kffHeaderLogin {
    border-radius: 11px !important;
}

#kffHeaderLogin > a,
#kffHeaderLogin > span,
#kffHeaderLogin .menu-link,
#kffHeaderLogin .wp-block-button__link {
    font-size: 13px !important;
}

@media (max-width: 950px) {
    .kff-map-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 650px) {
    .kff-map-page {
        padding: 22px 16px 50px !important;
    }

    .kff-map-search {
        grid-template-columns: 1fr !important;
    }

    .kff-map-search-button {
        width: 100% !important;
    }

    #kffLeafletMap {
        height: 520px !important;
    }
}

body:has(.kff-events-page) .site-content,
body:has(.kff-events-page) #content {
    padding-top: 0 !important; margin-top: 0 !important;
}

body:has(.kff-events-page) .site-content > .ast-container,
body:has(.kff-events-page) .content-area,
body:has(.kff-events-page) .site-main,
body:has(.kff-events-page) article,
body:has(.kff-events-page) .entry-content,
body:has(.kff-events-page) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-events-page) .entry-header,
body:has(.kff-events-page) .entry-title {
    display: none !important;
}

@media (min-width: 922px) {
    body:has(.kff-events-page) #masthead,
    body:has(.kff-events-page) .site-header,
    body:has(.kff-events-page) .ast-primary-header-bar,
    body:has(.kff-events-page) .site-primary-header-wrap,
    body:has(.kff-events-page) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-events-page) #masthead .ast-container,
    body:has(.kff-events-page) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important; padding-left: 32px !important;
        padding-right: 32px !important;
    }
}

.kff-events-page {
    width: 100% !important; color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important; background: #fff !important;
}

.kff-events-eyebrow {
    align-items: center; min-height: 24px;
    margin: 0 0 9px !important; padding: 0 9px;
    border-radius: 999px; background: #fff0f6;
    color: #c92f70 !important; font-size: 9px !important;
    line-height: 1 !important; font-weight: 700 !important;
    letter-spacing: .08em !important;
}

.kff-events-hero h1 {
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
}

.kff-events-hero p {
    color: var(--kff-muted) !important;
}

.kff-events-filter-row {
    border: 1px solid var(--kff-border) !important; border-radius: 15px !important;
    box-shadow: 0 8px 25px rgba(21, 35, 59, .08) !important;
}

.kff-events-search,
.kff-events-select {
    min-height: 40px !important; height: 40px !important;
    border: 1px solid var(--kff-border) !important; border-radius: 10px !important;
    background: #fff !important; color: var(--kff-text) !important;
    font-family: var(--kff-font) !important; font-size: 11px !important;
    font-weight: 500 !important;
}

.kff-events-free-filter {
    min-height: 40px !important; height: 40px !important;
    border: 1px solid var(--kff-border) !important; border-radius: 10px !important;
    background: #fff !important; color: var(--kff-text) !important;
    font-family: var(--kff-font) !important; font-size: 11px !important;
}

.kff-events-search,
.kff-events-select {
    padding: 0 11px !important;
}

.kff-events-search:focus,
.kff-events-select:focus {
    border-color: var(--kff-pink) !important; box-shadow: 0 0 0 3px rgba(243, 79, 146, .1) !important;
}

.kff-events-free-filter {
    padding: 0 12px !important; font-weight: 600 !important;
}

.kff-events-free-filter:hover {
    border-color: #f5a8c6 !important; background: #fff0f6 !important;
    color: #c92f70 !important;
}

.kff-events-free-filter input {
    width: 15px !important; height: 15px !important;
    accent-color: var(--kff-pink) !important;
}

.kff-events-content-header {
    margin-bottom: 16px !important;
}

.kff-events-section-label {
    margin-bottom: 4px !important; color: var(--kff-orange) !important;
    font-size: 9px !important; font-weight: 700 !important;
    letter-spacing: .08em !important;
}

.kff-events-content h2 {
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
    font-size: 24px !important; line-height: 1.2 !important;
    font-weight: 700 !important; letter-spacing: -.025em !important;
}

.kff-events-result-count {
    color: var(--kff-muted) !important; font-size: 11px !important;
    font-weight: 500 !important;
}

.kff-event-card {
    border: 1px solid var(--kff-border) !important; border-radius: 15px !important;
    box-shadow: 0 4px 14px rgba(21, 35, 59, .05) !important;
}

.kff-event-card:hover {
    transform: translateY(-2px) !important; border-color: #d7deea !important;
    box-shadow: 0 10px 26px rgba(21, 35, 59, .09) !important;
}

.kff-event-card:nth-child(5n + 1) .kff-event-image {
    background: linear-gradient(135deg, #ffcf63, #f27870) !important;
}

.kff-event-card:nth-child(5n + 2) .kff-event-image {
    background: linear-gradient(135deg, #70d9ee, #5285e7) !important;
}

.kff-event-card:nth-child(5n + 3) .kff-event-image {
    background: linear-gradient(135deg, #a9e778, #4dbc77) !important;
}

.kff-event-card:nth-child(5n + 4) .kff-event-image {
    background: linear-gradient(135deg, #cb8cff, #7455e9) !important;
}

.kff-event-card:nth-child(5n + 5) .kff-event-image {
    background: linear-gradient(135deg, #ff83b7, #f04f83) !important;
}

.kff-event-date-box {
    padding: 7px 3px !important; border-radius: 10px !important;
    box-shadow: 0 4px 13px rgba(21, 35, 59, .14) !important;
}

.kff-event-date-month {
    color: var(--kff-pink) !important; font-size: 8px !important;
    font-weight: 800 !important;
}

.kff-event-date-day {
    margin-top: 3px !important; color: var(--kff-navy) !important;
    font-size: 20px !important; font-weight: 700 !important;
}

.kff-event-image-placeholder {
    font-size: 47px !important; filter: drop-shadow(0 7px 11px rgba(21, 35, 59, .15));
}

.kff-event-body {
    padding: 14px !important;
}

.kff-event-categories {
    min-height: 21px !important; margin-bottom: 7px !important;
    gap: 5px !important;
}

.kff-event-category {
    padding: 5px 8px !important; background: #eef5ff !important;
    color: #236ac4 !important; font-size: 8px !important;
    font-weight: 700 !important;
}

.kff-event-card:nth-child(4n + 2) .kff-event-category:not(.free) {
    background: #fff0f6 !important; color: #c92f70 !important;
}

.kff-event-card:nth-child(4n + 3) .kff-event-category:not(.free) {
    background: #edf9f2 !important; color: #21824b !important;
}

.kff-event-card:nth-child(4n + 4) .kff-event-category:not(.free) {
    background: #fff4dc !important; color: #c5611e !important;
}

.kff-event-category.free {
    background: #edf9f2 !important; color: #21824b !important;
}

.kff-event-title {
    color: var(--kff-navy) !important; font-size: 16px !important;
    line-height: 1.28 !important; font-weight: 700 !important;
}

.kff-event-title a:hover {
    color: var(--kff-pink) !important;
}

.kff-event-description {
    margin: 7px 0 11px !important; color: var(--kff-muted) !important;
    font-size: 10px !important; line-height: 1.5 !important;
}

.kff-event-details {
    gap: 6px !important;
}

.kff-event-detail {
    gap: 6px !important; color: #526075 !important;
    font-size: 10px !important;
}

.kff-event-detail-icon {
    width: 16px !important; flex-basis: 16px !important;
}

.kff-event-bottom {
    margin-top: 12px !important; padding-top: 10px !important;
}

.kff-event-price {
    color: var(--kff-navy) !important; font-size: 11px !important;
    font-weight: 700 !important;
}

.kff-event-price.free {
    color: #21824b !important;
}

.kff-event-view {
    color: var(--kff-blue) !important; font-size: 10px !important;
    font-weight: 700 !important;
}

.kff-events-loading,
.kff-events-empty,
.kff-events-error {
    padding: 45px 20px !important; border-radius: 14px !important;
    font-size: 12px !important;
}

@media (max-width: 1300px) {
    .kff-events-hero,
    .kff-events-content {
        margin-left: 28px !important; margin-right: 28px !important;
    }
}

@media (max-width: 980px) {
    .kff-events-filter-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kff-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 650px) {
    .kff-events-hero {
        margin: 20px 14px 0 !important; padding: 26px 20px 25px !important;
    }

    .kff-events-hero h1 {
        font-size: 28px !important;
    }

    .kff-events-filters {
        padding: 0 14px !important;
    }

    .kff-events-filter-row {
        grid-template-columns: 1fr !important; padding: 9px !important;
    }

    .kff-events-content {
        margin: 0 16px !important; padding: 30px 0 60px !important;
    }

    .kff-events-grid {
        grid-template-columns: 1fr !important;
    }
}

.kff-events-page,
.kff-events-page * {
    box-sizing: border-box;
}

.kff-events-page {
    max-width: 1320px !important; margin: 0 auto !important;
    padding: 30px 28px 60px !important;
}

.kff-events-hero {
    display: block !important; max-width: none !important;
    margin: 0 !important; padding: 0 !important;
    overflow: visible !important; border: 0 !important;
    border-radius: 0 !important; background: transparent !important;
}

.kff-events-hero-content {
    max-width: none !important; margin: 0 !important;
}

.kff-events-eyebrow {
    display: none !important;
}

.kff-events-hero h1 {
    max-width: none !important; margin: 0 0 5px !important;
    font-size: 32px !important; line-height: 1.15 !important;
    font-weight: 700 !important; letter-spacing: -.035em !important;
}

.kff-events-hero p {
    max-width: none !important; margin: 0 !important;
    font-size: 13px !important; line-height: 1.5 !important;
}

.kff-events-filters {
    display: block !important; margin: 17px 0 0 !important;
    padding: 0 !important;
}

.kff-events-filter-row {
    display: grid !important; grid-template-columns: minmax(280px, 1.55fr) minmax(125px, .7fr) minmax(145px, .8fr) minmax(115px, .65fr) auto !important;
    align-items: center !important; max-width: none !important;
    margin: 0 !important; padding: 8px !important;
    gap: 8px !important;
}

.kff-events-search-wrap {
    display: block !important; min-width: 0 !important;
}

.kff-events-search,
.kff-events-select {
    display: block !important; width: 100% !important;
    min-width: 0 !important; margin: 0 !important;
}

.kff-events-free-filter {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; gap: 7px !important;
    width: auto !important; min-width: 92px !important;
    margin: 0 !important; white-space: nowrap !important;
}

.kff-events-content {
    display: block !important; max-width: none !important;
    margin: 0 !important; padding: 30px 0 0 !important;
}

.kff-events-content-header {
    display: flex !important; align-items: flex-end !important;
    justify-content: space-between !important; gap: 16px !important;
}

.kff-events-grid {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.kff-event-card {
    position: relative !important; display: flex !important;
    flex-direction: column !important; min-width: 0 !important;
    overflow: hidden !important; background: #fff !important;
}

.kff-event-image {
    display: flex !important; align-items: center !important;
    justify-content: center !important; overflow: hidden !important;
}

.kff-event-body {
    display: flex !important; flex: 1 !important;
    flex-direction: column !important;
}

.kff-event-categories,
.kff-event-detail,
.kff-event-bottom {
    display: flex !important;
}

.kff-event-categories {
    flex-wrap: wrap !important;
}

.kff-event-details {
    display: grid !important; margin-top: auto !important;
}

.kff-event-detail {
    align-items: flex-start !important;
}

.kff-event-bottom {
    align-items: center !important; justify-content: space-between !important;
}

.kff-events-loading,
.kff-events-empty,
.kff-events-error {
    text-align: center !important; border: 1px dashed #dce3eb !important;
}

.kff-events-error {
    border-color: #f4c7c3 !important; background: #fff8f7 !important;
    color: #b42318 !important;
}

.kff-events-page [hidden] {
    display: none !important;
}

@media (max-width: 980px) {
    .kff-events-filter-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kff-events-search-wrap {
        grid-column: 1 / -1 !important;
    }

    .kff-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 650px) {
    .kff-events-page {
        padding: 22px 16px 50px !important;
    }

    .kff-events-hero h1 {
        font-size: 28px !important;
    }

    .kff-events-filter-row,
    .kff-events-grid {
        grid-template-columns: 1fr !important;
    }

    .kff-events-search-wrap {
        grid-column: auto !important;
    }

    .kff-events-free-filter {
        width: 100% !important;
    }
}

.kff-business {
    --kff-blue-soft: #eef4ff; --kff-green-soft: #ecfdf3;
    --kff-orange-soft: #fff7ed;
}

.kff-business * {
    box-sizing: border-box;
}

.kff-business-eyebrow {
    align-items: center; gap: 7px;
    background: var(--kff-blue-soft); color: var(--kff-blue-dark);
    border-radius: 999px; padding: 7px 11px;
    font-size: 13px; font-weight: 800;
    margin-bottom: 12px;
}

.kff-business-btn {
    font: inherit; cursor: pointer;
}

.kff-business-checks {
    flex-direction: column;
}

.kff-business-section {
    margin-top: 44px;
}

.kff-business-section-heading {
    margin-bottom: 20px;
}

.kff-claim-search-row {
    max-width: 820px;
}

.kff-claim-input {
    flex: 1 1 auto; min-width: 0;
    font: inherit;
}

.kff-claim-search-button {
    flex: 0 0 auto; font: inherit;
}

.kff-claim-search-button:disabled {
    opacity: .65; cursor: wait;
}

.kff-claim-results-grid {
    display: grid; gap: 12px;
}

.kff-claim-result-card {
    display: grid; grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 14px; align-items: center;
    background: #ffffff; border: 1px solid var(--kff-border);
    border-radius: 16px; padding: 12px;
}

.kff-claim-result-image {
    width: 76px; height: 76px;
    overflow: hidden; border-radius: 12px;
    background: var(--kff-blue-soft); display: grid;
    place-items: center; font-size: 26px;
}

.kff-claim-result-image img {
    width: 100%; height: 100%;
    object-fit: cover;
}

.kff-claim-result-info {
    min-width: 0;
}

.kff-claim-result-title {
    margin: 0 0 4px; font-size: 17px;
}

.kff-claim-result-location {
    color: var(--kff-muted); font-size: 13px;
    margin-bottom: 5px;
}

.kff-claim-result-category {
    display: inline-flex; background: var(--kff-blue-soft);
    color: var(--kff-blue-dark); border-radius: 999px;
    padding: 4px 8px; font-size: 11px;
    font-weight: 800;
}

.kff-claim-result-actions {
    display: flex; flex-direction: column;
    gap: 7px;
}

.kff-claim-action {
    min-height: 38px; display: inline-flex;
    align-items: center; justify-content: center;
    border-radius: 10px; padding: 0 12px;
    text-decoration: none !important; font-size: 13px;
    font-weight: 800; white-space: nowrap;
}

.kff-claim-action-primary {
    background: var(--kff-blue); color: #ffffff !important;
    border: 1px solid var(--kff-blue);
}

.kff-claim-action-secondary {
    background: #ffffff; color: var(--kff-text) !important;
    border: 1px solid var(--kff-border);
}

.kff-business-step {
    position: relative;
}

.kff-business-party {
    margin-top: 44px;
}

.kff-business-party-list {
    flex-direction: column;
}

.kff-business-party-list li {
    display: flex; gap: 8px;
}

.kff-business-bottom-cta {
    margin-top: 44px; color: #ffffff;
}

.kff-business-bottom-cta p {
    max-width: 680px;
}

.kff-business-bottom-cta .kff-business-btn-primary {
    flex: 0 0 auto;
}

@media (max-width: 950px) {
    .kff-business-hero {
        grid-template-columns: 1fr;
    }

    .kff-business-benefits {
        grid-template-columns: repeat( 2, minmax(0, 1fr) );
    }

    .kff-business-steps {
        grid-template-columns: repeat( 2, minmax(0, 1fr) );
    }

    .kff-business-party {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .kff-business-shell {
        padding-left: 12px; padding-right: 12px;
    }

    .kff-business-hero {
        padding: 22px;
    }

    .kff-business-hero-actions {
        flex-direction: column;
    }

    .kff-business-btn {
        width: 100%;
    }

    .kff-business-benefits {
        grid-template-columns: 1fr;
    }

    .kff-claim-search-row {
        flex-direction: column;
    }

    .kff-claim-search-button {
        width: 100%;
    }

    .kff-claim-result-card {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .kff-claim-result-image {
        width: 64px; height: 64px;
    }

    .kff-claim-result-actions {
        grid-column: 1 / -1; flex-direction: row;
    }

    .kff-claim-action {
        flex: 1 1 50%;
    }

    .kff-business-steps {
        grid-template-columns: 1fr;
    }

    .kff-business-bottom-cta {
        flex-direction: column; align-items: stretch;
    }
}

.kff-guides {
    --kff-radius: 18px;
}

.kff-guides * {
    box-sizing: border-box;
}

.kff-guides-hero {
    margin-bottom: 24px;
}

.kff-guides-eyebrow {
    align-items: center; gap: 7px;
    font-size: 13px; font-weight: 700;
    color: var(--kff-blue-dark); background: var(--kff-chip);
    padding: 7px 11px; border-radius: 999px;
    margin-bottom: 10px;
}

.kff-guides-controls {
    flex-wrap: wrap; margin-top: 22px;
}

.kff-select,
.kff-location-button {
    font: inherit;
}

.kff-location-button:disabled {
    opacity: .65; cursor: wait;
}

.kff-location-status {
    margin-top: 12px; flex-wrap: wrap;
}

.kff-location-input {
    font: inherit;
}

.kff-location-search-button {
    font: inherit;
}

.kff-location-search-button:disabled {
    opacity: .65; cursor: wait;
}

.kff-guide-see-all {
    flex: 0 0 auto; text-decoration: none !important;
}

.kff-guide-see-all:hover {
    text-decoration: underline !important;
}

.kff-guide-card {
    text-decoration: none !important; color: inherit !important;
    transition: transform .16s ease, border-color .16s ease;
}

.kff-card-category {
    color: var(--kff-blue-dark); background: var(--kff-chip);
    border-radius: 999px; padding: 5px 8px;
    font-size: 11px; font-weight: 800;
    white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; max-width: 66%;
}

.kff-card-distance {
    color: var(--kff-muted); font-size: 12px;
    white-space: nowrap;
}

.kff-card-title {
    margin: 0; font-size: 18px;
    line-height: 1.25;
}

.kff-card-location {
    color: var(--kff-muted); font-size: 13px;
}

.kff-card-description {
    margin: 0; color: var(--kff-muted);
    font-size: 14px; line-height: 1.45;
    display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}

.kff-rating {
    font-weight: 800; color: #344054;
}

.kff-card-meta {
    padding-top: 2px;
}

.kff-guide-state {
    text-align: center;
}

.kff-guide-loader {
    border: 3px solid #dbeafe; border-radius: 50%;
    animation: kff-spin .8s linear infinite;
}

@keyframes kff-spin {
    to {
        transform: rotate(360deg);
    }
}

.kff-single-guide {
    display: none;
}

.kff-single-guide.is-active {
    display: block;
}

.kff-single-guide-header {
    display: flex; justify-content: space-between;
    align-items: center; gap: 16px;
    margin-bottom: 18px;
}

.kff-single-guide-title {
    margin: 0; letter-spacing: -0.02em;
}

.kff-back-guides {
    font: inherit; cursor: pointer;
}

.kff-load-more-wrap {
    text-align: center; padding-top: 20px;
}

.kff-load-more {
    font: inherit; cursor: pointer;
}

@media (max-width: 1000px) {
    .kff-guide-grid {
        grid-template-columns: repeat( 3, minmax(0, 1fr) );
    }
}

@media (max-width: 780px) {
    .kff-guide-grid {
        grid-template-columns: repeat( 2, minmax(0, 1fr) );
    }
}

@media (max-width: 620px) {
    .kff-guides-shell {
        padding-left: 12px; padding-right: 12px;
    }

    .kff-guides-hero {
        padding: 20px;
    }

    .kff-guides-controls {
        flex-direction: column; align-items: stretch;
    }

    .kff-field,
    .kff-select,
    .kff-location-button {
        width: 100%;
    }

    .kff-location-search-field {
        width: 100%; min-width: 0;
    }

    .kff-location-search-row {
        width: 100%;
    }

    .kff-location-input {
        min-width: 0;
    }

    .kff-location-search-button {
        flex: 0 0 auto;
    }

    .kff-guide-section {
        padding: 14px;
    }

    .kff-guide-section-header {
        align-items: flex-start;
    }

    .kff-guide-grid {
        grid-template-columns: 1fr;
    }

    .kff-guide-section-title {
        font-size: 22px;
    }

    .kff-single-guide-header {
        align-items: flex-start; flex-direction: column;
    }
}

body:has(.kff-guides) .site-content,
body:has(.kff-guides) #content {
    padding-top: 0 !important; margin-top: 0 !important;
}

body:has(.kff-guides) .site-content > .ast-container,
body:has(.kff-guides) .content-area,
body:has(.kff-guides) .site-main,
body:has(.kff-guides) article,
body:has(.kff-guides) .entry-content,
body:has(.kff-guides) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-guides) .entry-header,
body:has(.kff-guides) .entry-title {
    display: none !important;
}

@media (min-width: 922px) {
    body:has(.kff-guides) #masthead,
    body:has(.kff-guides) .site-header,
    body:has(.kff-guides) .ast-primary-header-bar,
    body:has(.kff-guides) .site-primary-header-wrap,
    body:has(.kff-guides) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-guides) #masthead .ast-container,
    body:has(.kff-guides) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important; padding-left: 32px !important;
        padding-right: 32px !important;
    }
}

.kff-guides {
    --kff-blue: #3276e8 !important; --kff-blue-dark: #245fbf !important;
    --kff-bg: #f8fafc !important; --kff-card: #fff !important;
    --kff-text: #15233b !important; --kff-muted: #667085 !important;
    --kff-border: #e5e9f0 !important; --kff-chip: #eef5ff !important;
    width: 100% !important; color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important; background: #fff !important;
}

.kff-guides-shell {
    width: 100% !important; max-width: 1320px !important;
    margin: 0 auto !important; padding: 30px 28px 60px !important;
}

.kff-guides-hero {
    margin: 0 0 26px !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important;
    background: transparent !important;
}

.kff-guides-eyebrow {
    display: none !important;
}

.kff-guides-title {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important; font-size: 32px !important;
    line-height: 1.15 !important; font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.kff-guides-subtitle {
    max-width: none !important; margin: 0 !important;
    color: var(--kff-muted) !important; font-size: 13px !important;
    line-height: 1.5 !important;
}

.kff-guides-controls {
    display: grid !important; grid-template-columns: 150px 115px minmax(240px, 1fr) auto !important;
    align-items: end !important; gap: 8px !important;
    margin: 17px 0 0 !important; padding: 9px !important;
    border: 1px solid var(--kff-border) !important; border-radius: 15px !important;
    background: #fff !important; box-shadow: 0 8px 25px rgba(21, 35, 59, .07) !important;
}

.kff-field {
    display: flex !important; flex-direction: column !important;
    gap: 4px !important; min-width: 0 !important;
}

.kff-field label {
    color: var(--kff-muted) !important; font-size: 9px !important;
    line-height: 1 !important; font-weight: 700 !important;
    letter-spacing: .035em !important; text-transform: uppercase;
}

.kff-select,
.kff-location-input {
    box-sizing: border-box !important; min-height: 36px !important;
    height: 36px !important; margin: 0 !important;
    border: 1px solid var(--kff-border) !important; border-radius: 9px !important;
    font-family: var(--kff-font) !important; font-size: 10px !important;
    font-weight: 500 !important;
}

.kff-location-search-button,
.kff-location-button {
    box-sizing: border-box !important; min-height: 36px !important;
    height: 36px !important; margin: 0 !important;
    border: 1px solid var(--kff-border) !important; border-radius: 9px !important;
    font-family: var(--kff-font) !important; font-size: 10px !important;
}

.kff-select,
.kff-location-input {
    width: 100% !important; padding: 0 10px !important;
    background: #fff !important; color: var(--kff-text) !important;
}

.kff-select:focus,
.kff-location-input:focus {
    outline: 0 !important; border-color: var(--kff-pink) !important;
    box-shadow: 0 0 0 3px rgba(243, 79, 146, .1) !important;
}

.kff-location-search-field {
    width: auto !important; min-width: 0 !important;
    flex: none !important;
}

.kff-location-search-row {
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px !important; width: 100% !important;
}

.kff-location-search-button {
    padding: 0 12px !important; background: #fff0f6 !important;
    border-color: #f5a8c6 !important; color: #c92f70 !important;
    font-weight: 600 !important; cursor: pointer !important;
}

.kff-location-search-button:hover {
    background: #ffe3ef !important;
}

.kff-location-button {
    padding: 0 13px !important; border-color: var(--kff-blue) !important;
    background: var(--kff-blue) !important; color: #fff !important;
    font-weight: 600 !important; white-space: nowrap !important;
    cursor: pointer !important;
}

.kff-location-button:hover {
    background: #245fbf !important;
}

.kff-location-status {
    display: flex !important; align-items: center !important;
    gap: 6px !important; margin: 8px 0 0 !important;
    color: var(--kff-muted) !important; font-size: 10px !important;
}

.kff-location-status strong {
    color: var(--kff-navy) !important;
}

.kff-discovery {
    display: flex !important; flex-direction: column !important;
    gap: 22px !important;
}

.kff-guide-section {
    padding: 16px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important; background: #f8fbff !important;
}

.kff-guide-section:nth-child(4n + 2) {
    background: #fff9ec !important;
}

.kff-guide-section:nth-child(4n + 3) {
    background: #f2fbf5 !important;
}

.kff-guide-section:nth-child(4n + 4) {
    background: #fff5f9 !important;
}

.kff-guide-section-header {
    display: flex !important; align-items: flex-end !important;
    justify-content: space-between !important; gap: 14px !important;
    margin-bottom: 12px !important;
}

.kff-guide-section-title {
    margin: 0 !important; color: var(--kff-navy) !important;
    font-size: 18px !important; line-height: 1.2 !important;
    font-weight: 700 !important; letter-spacing: -.02em !important;
}

.kff-guide-section-subtitle {
    margin: 3px 0 0 !important; color: var(--kff-muted) !important;
    font-size: 10px !important;
}

.kff-guide-see-all {
    color: var(--kff-pink) !important; font-size: 10px !important;
    font-weight: 700 !important; white-space: nowrap !important;
}

.kff-guide-grid {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.kff-guide-card {
    display: flex !important; flex-direction: column !important;
    min-width: 0 !important; overflow: hidden !important;
    border: 1px solid var(--kff-border) !important; border-radius: 13px !important;
    background: #fff !important; box-shadow: 0 3px 11px rgba(21, 35, 59, .045) !important;
}

.kff-guide-card:hover {
    transform: translateY(-2px) !important; border-color: #d7deea !important;
    box-shadow: 0 8px 20px rgba(21, 35, 59, .09) !important;
}

.kff-guide-card-image {
    position: relative !important; width: 100% !important;
    aspect-ratio: 16 / 9 !important; overflow: hidden !important;
    background: linear-gradient(135deg, #70d9ee, #5285e7) !important;
}

.kff-guide-card:nth-child(4n + 2) .kff-guide-card-image {
    background: linear-gradient(135deg, #ffcf63, #f27870) !important;
}

.kff-guide-card:nth-child(4n + 3) .kff-guide-card-image {
    background: linear-gradient(135deg, #a9e778, #4dbc77) !important;
}

.kff-guide-card:nth-child(4n + 4) .kff-guide-card-image {
    background: linear-gradient(135deg, #cb8cff, #7455e9) !important;
}

.kff-guide-card-image img {
    display: block !important; width: 100% !important;
    height: 100% !important; object-fit: cover !important;
}

.kff-guide-card-no-image {
    display: grid !important; place-items: center !important;
    width: 100% !important; height: 100% !important;
    font-size: 34px !important; filter: drop-shadow(0 6px 9px rgba(21, 35, 59, .14));
}

.kff-guide-card-body {
    display: flex !important; flex: 1 !important;
    flex-direction: column !important; gap: 6px !important;
    padding: 11px !important;
}

.kff-card-topline {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 7px !important;
}

.kff-guides .kff-card-category {
    max-width: 68% !important; padding: 4px 7px !important;
    border-radius: 999px !important; background: #eef5ff !important;
    color: #236ac4 !important; font-size: 8px !important;
    font-weight: 700 !important;
}

.kff-guides .kff-card-distance {
    color: var(--kff-muted) !important; font-size: 8px !important;
}

.kff-guides .kff-card-title {
    margin: 0 !important; color: var(--kff-navy) !important;
    font-size: 13px !important; line-height: 1.25 !important;
    font-weight: 700 !important;
}

.kff-guides .kff-card-location,
.kff-guides .kff-card-description {
    color: var(--kff-muted) !important; font-size: 9px !important;
}

.kff-guides .kff-card-description {
    margin: 0 !important; line-height: 1.4 !important;
}

.kff-guides .kff-rating {
    color: #ffad21 !important; font-weight: 700 !important;
}

.kff-card-meta {
    display: flex !important; flex-wrap: wrap !important;
    gap: 5px !important; margin-top: auto !important;
}

.kff-card-pill {
    padding: 4px 6px !important; border: 1px solid #edf0f5 !important;
    border-radius: 999px !important; background: #fafbfc !important;
    color: #596579 !important; font-size: 8px !important;
}

.kff-guide-state {
    padding: 30px 18px !important; border: 1px dashed #dce3eb !important;
    border-radius: 12px !important; background: #fff !important;
    color: var(--kff-muted) !important; font-size: 10px !important;
}

.kff-guide-loader {
    width: 24px !important; height: 24px !important;
    margin: 0 auto 8px !important; border-color: #ffe3ef !important;
    border-top-color: var(--kff-pink) !important;
}

.kff-single-guide-box {
    padding: 16px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important; background: #f8fafc !important;
}

.kff-single-guide-title {
    color: var(--kff-navy) !important; font-size: 22px !important;
    font-weight: 700 !important;
}

.kff-back-guides,
.kff-load-more {
    min-height: 34px !important; padding: 0 11px !important;
    border: 1px solid #f5a8c6 !important; border-radius: 9px !important;
    background: #fff0f6 !important; color: #c92f70 !important;
    font-family: var(--kff-font) !important; font-size: 10px !important;
    font-weight: 600 !important;
}

@media (max-width: 1000px) {
    .kff-guide-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 780px) {
    .kff-guides-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .kff-guide-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .kff-guides-shell {
        padding: 22px 16px 50px !important;
    }

    .kff-guides-title {
        font-size: 28px !important;
    }

    .kff-guides-controls,
    .kff-guide-grid {
        grid-template-columns: 1fr !important;
    }

    .kff-guide-section {
        padding: 13px !important;
    }
}

body:has(.kff-business) .site-content,
body:has(.kff-business) #content {
    padding-top: 0 !important; margin-top: 0 !important;
}

body:has(.kff-business) .site-content > .ast-container,
body:has(.kff-business) .content-area,
body:has(.kff-business) .site-main,
body:has(.kff-business) article,
body:has(.kff-business) .entry-content,
body:has(.kff-business) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-business) .entry-header,
body:has(.kff-business) .entry-title {
    display: none !important;
}

@media (min-width: 922px) {
    body:has(.kff-business) #masthead,
    body:has(.kff-business) .site-header,
    body:has(.kff-business) .ast-primary-header-bar,
    body:has(.kff-business) .site-primary-header-wrap,
    body:has(.kff-business) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-business) #masthead .ast-container,
    body:has(.kff-business) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important; padding-left: 32px !important;
        padding-right: 32px !important;
    }
}

.kff-business {
    --kff-blue: #3276e8 !important; --kff-blue-dark: #245fbf !important;
    --kff-pink: #f34f92 !important; --kff-green: #35a76f !important;
    --kff-orange: #f49a3f !important; --kff-purple: #8067d9 !important;
    --kff-bg: #f8fafc !important; --kff-card: #fff !important;
    --kff-text: #15233b !important; --kff-muted: #667085 !important;
    --kff-border: #e5e9f0 !important; width: 100% !important;
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
    background: #fff !important;
}

.kff-business-shell {
    width: 100% !important; max-width: 1320px !important;
    margin: 0 auto !important; padding: 30px 28px 60px !important;
}

.kff-business-hero {
    display: grid !important; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr) !important;
    align-items: center !important; gap: 28px !important;
    margin: 0 0 34px !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important;
    background: transparent !important;
}

.kff-business-eyebrow {
    display: none !important;
}

.kff-business-title {
    max-width: none !important; margin: 0 0 5px !important;
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
    font-size: 32px !important; line-height: 1.15 !important;
    font-weight: 700 !important; letter-spacing: -.035em !important;
}

.kff-business-intro {
    max-width: 680px !important; margin: 0 !important;
    color: var(--kff-muted) !important; font-size: 13px !important;
    line-height: 1.55 !important;
}

.kff-business-hero-actions {
    display: flex !important; flex-wrap: wrap !important;
    gap: 8px !important; margin-top: 17px !important;
}

.kff-business-btn {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; min-height: 36px !important;
    padding: 0 13px !important; border-radius: 9px !important;
    font-family: var(--kff-font) !important; font-size: 10px !important;
    font-weight: 700 !important; line-height: 1 !important;
    text-decoration: none !important;
}

.kff-business-btn-primary {
    border: 1px solid var(--kff-pink) !important; background: var(--kff-pink) !important;
    color: #fff !important; box-shadow: 0 4px 11px rgba(243, 79, 146, .18) !important;
}

.kff-business-btn-primary:hover {
    border-color: #dc3e80 !important; background: #dc3e80 !important;
    color: #fff !important;
}

.kff-business-btn-secondary {
    border: 1px solid #a9c7f8 !important; background: #eef5ff !important;
    color: #245fbf !important;
}

.kff-business-btn-secondary:hover {
    border-color: var(--kff-blue) !important; background: #e3efff !important;
    color: #1f55a8 !important;
}

.kff-business-hero-card {
    padding: 18px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important; background: radial-gradient(circle at 100% 0, rgba(128, 103, 217, .12), transparent 35%), linear-gradient(135deg, #f7f4ff, #f4f8ff) !important;
    box-shadow: 0 6px 20px rgba(21, 35, 59, .055) !important;
}

.kff-business-hero-card h2 {
    margin: 0 0 11px !important; color: var(--kff-navy) !important;
    font-size: 14px !important; line-height: 1.25 !important;
    font-weight: 700 !important;
}

.kff-business-checks {
    display: grid !important; gap: 7px !important;
    margin: 0 !important; padding: 0 !important;
    list-style: none !important;
}

.kff-business-checks li {
    display: flex !important; align-items: flex-start !important;
    gap: 7px !important; color: #596579 !important;
    font-size: 9px !important; line-height: 1.4 !important;
}

.kff-business-check {
    display: inline-grid !important; place-items: center !important;
    flex: 0 0 17px !important; width: 17px !important;
    height: 17px !important; border-radius: 50% !important;
    background: #edf9f2 !important; color: var(--kff-green) !important;
    font-size: 9px !important; font-weight: 800 !important;
}

.kff-business-section {
    margin: 0 0 28px !important;
}

.kff-business-section-heading {
    max-width: 690px !important; margin: 0 0 14px !important;
}

.kff-business-section-title {
    margin: 0 !important; color: var(--kff-navy) !important;
    font-size: 21px !important; line-height: 1.2 !important;
    font-weight: 700 !important; letter-spacing: -.025em !important;
}

.kff-business-section-text {
    margin: 4px 0 0 !important; color: var(--kff-muted) !important;
    font-size: 10px !important; line-height: 1.5 !important;
}

.kff-business-benefits {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.kff-business-benefit-card {
    min-width: 0 !important; padding: 15px !important;
    border: 1px solid var(--kff-border) !important; border-radius: 13px !important;
    background: #fff !important; box-shadow: 0 3px 11px rgba(21, 35, 59, .045) !important;
}

.kff-business-benefit-card:nth-child(6n + 1),
.kff-business-benefit-card:nth-child(6n + 4) {
    background: #f8fbff !important;
}

.kff-business-benefit-card:nth-child(6n + 2),
.kff-business-benefit-card:nth-child(6n + 5) {
    background: #f4fbf6 !important;
}

.kff-business-benefit-card:nth-child(6n + 3),
.kff-business-benefit-card:nth-child(6n + 6) {
    background: #fff7eb !important;
}

.kff-business-benefit-icon {
    display: grid !important; place-items: center !important;
    width: 32px !important; height: 32px !important;
    margin-bottom: 9px !important; border-radius: 10px !important;
    background: #eef5ff !important; font-size: 17px !important;
}

.kff-business-benefit-card:nth-child(3n + 2) .kff-business-benefit-icon {
    background: #edf9f2 !important;
}

.kff-business-benefit-card:nth-child(3n + 3) .kff-business-benefit-icon {
    background: #fff0f6 !important;
}

.kff-business-benefit-card h3,
.kff-business-step h3 {
    margin: 0 0 4px !important; color: var(--kff-navy) !important;
    font-size: 12px !important; line-height: 1.3 !important;
    font-weight: 700 !important;
}

.kff-business-benefit-card p,
.kff-business-step p {
    margin: 0 !important; color: var(--kff-muted) !important;
    font-size: 9px !important; line-height: 1.5 !important;
}

.kff-claim-box {
    padding: 15px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important; background: #f8fafc !important;
}

.kff-claim-search-row {
    display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
}

.kff-claim-input,
.kff-claim-search-button {
    box-sizing: border-box !important; min-height: 38px !important;
    height: 38px !important; margin: 0 !important;
    border-radius: 9px !important; font-family: var(--kff-font) !important;
    font-size: 10px !important;
}

.kff-claim-input {
    width: 100% !important; padding: 0 11px !important;
    border: 1px solid var(--kff-border) !important; background: #fff !important;
    color: var(--kff-text) !important;
}

.kff-claim-input:focus {
    outline: 0 !important; border-color: var(--kff-pink) !important;
    box-shadow: 0 0 0 3px rgba(243, 79, 146, .1) !important;
}

.kff-claim-search-button {
    padding: 0 15px !important; border: 1px solid var(--kff-pink) !important;
    background: var(--kff-pink) !important; color: #fff !important;
    font-weight: 700 !important; cursor: pointer !important;
}

.kff-claim-search-button:hover {
    background: #dc3e80 !important;
}

.kff-claim-help,
.kff-claim-state {
    color: var(--kff-muted) !important; font-size: 9px !important;
}

.kff-claim-help {
    margin: 7px 0 0 !important;
}

.kff-claim-results {
    margin-top: 11px !important;
}

.kff-claim-state {
    padding: 18px !important; border: 1px dashed #dce3eb !important;
    border-radius: 10px !important; background: #fff !important;
    text-align: center !important;
}

.kff-business-steps {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.kff-business-step {
    min-width: 0 !important; padding: 14px !important;
    border: 1px solid var(--kff-border) !important; border-radius: 13px !important;
    background: #fff !important;
}

.kff-business-step-number {
    display: grid !important; place-items: center !important;
    width: 27px !important; height: 27px !important;
    margin-bottom: 8px !important; border-radius: 9px !important;
    background: linear-gradient(135deg, #fff0f6, #ffe3ef) !important; color: #c92f70 !important;
    font-size: 11px !important; font-weight: 800 !important;
}

.kff-business-party {
    display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr) !important;
    align-items: center !important; gap: 25px !important;
    margin: 0 0 28px !important; padding: 20px !important;
    border: 1px solid #ffe0b0 !important; border-radius: 15px !important;
    background: radial-gradient(circle at 100% 0, rgba(243, 79, 146, .11), transparent 30%), linear-gradient(135deg, #fff9eb, #fff5f9) !important;
}

.kff-business-party h2,
.kff-business-bottom-cta h2 {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-size: 18px !important; line-height: 1.25 !important;
    font-weight: 700 !important;
}

.kff-business-party p,
.kff-business-bottom-cta p {
    margin: 0 !important; color: var(--kff-muted) !important;
    font-size: 10px !important; line-height: 1.5 !important;
}

.kff-business-party-list {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px 12px !important; margin: 0 !important;
    padding: 0 !important; list-style: none !important;
}

.kff-business-party-list li {
    color: #596579 !important; font-size: 9px !important;
}

.kff-business-bottom-cta {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 20px !important;
    padding: 18px 20px !important; border: 1px solid #dce8fb !important;
    border-radius: 15px !important; background: linear-gradient(135deg, #f4f8ff, #f8f5ff) !important;
}

@media (max-width: 980px) {
    .kff-business-hero,
    .kff-business-party {
        grid-template-columns: 1fr !important;
    }

    .kff-business-benefits,
    .kff-business-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .kff-business-shell {
        padding: 22px 16px 50px !important;
    }

    .kff-business-title {
        font-size: 28px !important;
    }

    .kff-business-benefits,
    .kff-business-steps,
    .kff-business-party-list {
        grid-template-columns: 1fr !important;
    }

    .kff-business-hero-actions,
    .kff-business-bottom-cta {
        align-items: stretch !important; flex-direction: column !important;
    }

    .kff-business-btn {
        width: 100% !important;
    }
}

.kff-event-card {
    padding: 0 !important;
}

.kff-event-image {
    position: relative !important; order: 0 !important;
    width: 100% !important; height: 160px !important;
    min-height: 160px !important; margin: 0 !important;
    padding: 0 !important; border: 0 !important;
    border-radius: 0 !important; line-height: 0 !important;
}

.kff-event-image img {
    position: absolute !important; inset: 0 !important;
    display: block !important; width: 100% !important;
    height: 100% !important; margin: 0 !important;
    padding: 0 !important; object-fit: cover !important;
}

.kff-event-date-box {
    position: absolute !important; top: 11px !important;
    left: 11px !important; z-index: 5 !important;
    display: block !important; width: 49px !important;
    margin: 0 !important; background: rgba(255, 255, 255, .96) !important;
    backdrop-filter: blur(5px);
}

.kff-event-body {
    order: 1 !important;
}

body:has(.kff-birthday-page) .site-content,
body:has(.kff-birthday-page) #content {
    padding-top: 0 !important; margin-top: 0 !important;
}

body:has(.kff-birthday-page) .site-content > .ast-container,
body:has(.kff-birthday-page) .content-area,
body:has(.kff-birthday-page) .site-main,
body:has(.kff-birthday-page) article,
body:has(.kff-birthday-page) .entry-content,
body:has(.kff-birthday-page) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-birthday-page) .entry-header,
body:has(.kff-birthday-page) .entry-title {
    display: none !important;
}

@media (min-width: 922px) {
    body:has(.kff-birthday-page) #masthead,
    body:has(.kff-birthday-page) .site-header,
    body:has(.kff-birthday-page) .ast-primary-header-bar,
    body:has(.kff-birthday-page) .site-primary-header-wrap,
    body:has(.kff-birthday-page) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-birthday-page) #masthead .ast-container,
    body:has(.kff-birthday-page) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important; padding-left: 32px !important;
        padding-right: 32px !important;
    }
}

.kff-birthday-page,
.kff-birthday-page * {
    box-sizing: border-box;
}

.kff-birthday-page {
    width: 100% !important; max-width: 1320px !important;
    min-height: 0 !important; margin: 0 auto !important;
    padding: 30px 28px 60px !important; color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important; background: #fff !important;
}

.kff-birthday-hero {
    display: block !important; margin: 0 !important;
    padding: 0 !important; border: 0 !important;
    background: transparent !important;
}

.kff-birthday-hero-inner {
    max-width: none !important; margin: 0 !important;
}

.kff-birthday-eyebrow {
    display: none !important;
}

.kff-birthday-hero h1 {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important; font-size: 32px !important;
    line-height: 1.15 !important; font-weight: 700 !important;
    letter-spacing: -.035em !important;
}

.kff-birthday-hero p {
    max-width: none !important; margin: 0 !important;
    color: var(--kff-muted) !important; font-size: 13px !important;
    line-height: 1.5 !important;
}

.kff-birthday-layout {
    display: grid !important; grid-template-columns: 230px minmax(0, 1fr) !important;
    align-items: start !important; gap: 20px !important;
    max-width: none !important; margin: 22px 0 0 !important;
    padding: 0 !important;
}

.kff-birthday-filters,
.kff-birthday-results {
    min-width: 0 !important;
}

.kff-birthday-filter-card {
    position: sticky !important; top: 92px !important;
    padding: 15px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important; background: #fff !important;
    box-shadow: none !important;
}

.kff-birthday-filter-card h2 {
    margin: 0 0 13px !important; color: var(--kff-navy) !important;
    font-size: 16px !important; line-height: 1.2 !important;
    font-weight: 700 !important;
}

.kff-birthday-label {
    display: block !important; margin: 12px 0 5px !important;
    color: var(--kff-text) !important; font-size: 9px !important;
    line-height: 1.2 !important; font-weight: 700 !important;
    letter-spacing: .035em !important; text-transform: uppercase;
}

.kff-birthday-input,
.kff-birthday-select {
    box-sizing: border-box !important; width: 100% !important;
    min-height: 34px !important; height: 34px !important;
    margin: 0 !important; padding: 0 9px !important;
    border: 1px solid var(--kff-border) !important; border-radius: 9px !important;
    background: #fff !important; color: var(--kff-text) !important;
    font-family: var(--kff-font) !important; font-size: 10px !important;
    font-weight: 500 !important; outline: none !important;
}

.kff-birthday-sort {
    box-sizing: border-box !important; min-height: 34px !important;
    height: 34px !important; margin: 0 !important;
    padding: 0 9px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 9px !important; background: #fff !important;
    color: var(--kff-text) !important; font-family: var(--kff-font) !important;
    font-size: 10px !important; font-weight: 500 !important;
    outline: none !important;
}

.kff-birthday-input:focus,
.kff-birthday-select:focus,
.kff-birthday-sort:focus {
    border-color: var(--kff-pink) !important; box-shadow: 0 0 0 3px rgba(243, 79, 146, .1) !important;
}

.kff-birthday-checks {
    display: grid !important; gap: 3px !important;
    margin-top: 14px !important;
}

.kff-birthday-check {
    display: flex !important; align-items: center !important;
    gap: 7px !important; margin: 0 !important;
    padding: 7px 6px !important; border-radius: 8px !important;
    color: #596579 !important; font-size: 10px !important;
    line-height: 1.3 !important; font-weight: 500 !important;
    cursor: pointer !important;
}

.kff-birthday-check:hover {
    background: #fff0f6 !important; color: #c92f70 !important;
}

.kff-birthday-check.important {
    margin: 0 0 2px !important; background: #fff6e8 !important;
    color: #a85a18 !important; font-weight: 600 !important;
}

.kff-birthday-check input {
    flex: 0 0 auto !important; width: 15px !important;
    height: 15px !important; margin: 0 !important;
    accent-color: var(--kff-pink) !important;
}

.kff-birthday-clear {
    width: 100% !important; min-height: 34px !important;
    margin-top: 13px !important; padding: 0 9px !important;
    border: 1px solid #f5a8c6 !important; border-radius: 9px !important;
    background: #fff0f6 !important; color: #c92f70 !important;
    font-family: var(--kff-font) !important; font-size: 10px !important;
    font-weight: 600 !important; cursor: pointer !important;
}

.kff-birthday-clear:hover {
    background: #ffe3ef !important;
}

.kff-birthday-results-header {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 16px !important;
    min-height: 36px !important; margin: 0 0 12px !important;
    color: var(--kff-muted) !important; font-size: 11px !important;
}

.kff-birthday-results-header strong {
    color: var(--kff-navy) !important; font-size: 12px !important;
    font-weight: 700 !important;
}

.kff-birthday-sort {
    width: auto !important; min-width: 145px !important;
}

.kff-birthday-grid {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.kff-birthday-card {
    min-width: 0 !important; overflow: hidden !important;
    border: 1px solid var(--kff-border) !important; border-radius: 15px !important;
    background: #fff !important; box-shadow: 0 4px 14px rgba(21, 35, 59, .05) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.kff-birthday-card:hover {
    transform: translateY(-2px) !important; border-color: #d7deea !important;
    box-shadow: 0 10px 26px rgba(21, 35, 59, .09) !important;
}

.kff-birthday-image {
    position: relative !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    width: 100% !important; height: 170px !important;
    overflow: hidden !important; background: linear-gradient(135deg, #ffcf63, #f27870) !important;
    font-size: 48px !important;
}

.kff-birthday-card:nth-child(4n + 2) .kff-birthday-image {
    background: linear-gradient(135deg, #70d9ee, #5285e7) !important;
}

.kff-birthday-card:nth-child(4n + 3) .kff-birthday-image {
    background: linear-gradient(135deg, #a9e778, #4dbc77) !important;
}

.kff-birthday-card:nth-child(4n + 4) .kff-birthday-image {
    background: linear-gradient(135deg, #cb8cff, #7455e9) !important;
}

.kff-birthday-image img {
    display: block !important; width: 100% !important;
    height: 100% !important; margin: 0 !important;
    object-fit: cover !important;
}

.kff-birthday-private-badge {
    position: absolute !important; left: 11px !important;
    bottom: 11px !important; padding: 6px 8px !important;
    border-radius: 8px !important; background: rgba(255, 255, 255, .94) !important;
    color: #7040cb !important; font-size: 8px !important;
    font-weight: 700 !important; box-shadow: 0 3px 10px rgba(21, 35, 59, .1) !important;
}

.kff-birthday-card-body {
    padding: 14px !important;
}

.kff-birthday-card-name {
    margin: 0 0 4px !important; color: var(--kff-navy) !important;
    font-size: 16px !important; line-height: 1.25 !important;
    font-weight: 700 !important;
}

.kff-birthday-location {
    margin: 0 0 11px !important; color: var(--kff-muted) !important;
    font-size: 9px !important;
}

.kff-birthday-facts {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important; margin-bottom: 11px !important;
}

.kff-birthday-fact {
    padding: 7px 8px !important; border: 1px solid #edf0f5 !important;
    border-radius: 8px !important; background: #fafbfc !important;
    color: #526075 !important; font-size: 9px !important;
}

.kff-birthday-features {
    display: flex !important; flex-wrap: wrap !important;
    gap: 5px !important; min-height: 24px !important;
    margin-bottom: 11px !important;
}

.kff-birthday-feature {
    padding: 5px 7px !important; border-radius: 999px !important;
    background: #eef5ff !important; color: #236ac4 !important;
    font-size: 8px !important; font-weight: 600 !important;
}

.kff-birthday-feature:nth-child(2) {
    background: #edf9f2 !important; color: #21824b !important;
}

.kff-birthday-feature:nth-child(3) {
    background: #fff4dc !important; color: #c5611e !important;
}

.kff-birthday-feature:nth-child(4) {
    background: #fff0f6 !important; color: #c92f70 !important;
}

.kff-birthday-price-row {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 12px !important;
    padding-top: 11px !important; border-top: 1px solid #edf0f4 !important;
}

.kff-birthday-price-label {
    display: block !important; margin-bottom: 2px !important;
    color: var(--kff-muted) !important; font-size: 8px !important;
}

.kff-birthday-price {
    color: var(--kff-navy) !important; font-size: 16px !important;
    font-weight: 700 !important;
}

.kff-birthday-view {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; min-height: 32px !important;
    padding: 0 11px !important; border-radius: 9px !important;
    background: var(--kff-pink) !important; color: #fff !important;
    font-size: 9px !important; font-weight: 700 !important;
    text-decoration: none !important;
}

.kff-birthday-view:hover {
    background: #dc3e80 !important; color: #fff !important;
}

.kff-birthday-message {
    padding: 35px 20px !important; border: 1px dashed #dce3eb !important;
    border-radius: 14px !important; background: #fff !important;
    color: var(--kff-muted) !important; font-size: 11px !important;
    text-align: center !important;
}

.kff-birthday-error {
    border-color: #f4c7c3 !important; background: #fff8f7 !important;
    color: #b42318 !important;
}

.kff-birthday-page [hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .kff-birthday-layout {
        grid-template-columns: 1fr !important;
    }

    .kff-birthday-filter-card {
        position: static !important;
    }
}

@media (max-width: 640px) {
    .kff-birthday-page {
        padding: 22px 16px 50px !important;
    }

    .kff-birthday-hero h1 {
        font-size: 28px !important;
    }

    .kff-birthday-grid {
        grid-template-columns: 1fr !important;
    }

    .kff-birthday-results-header {
        align-items: flex-start !important; flex-direction: column !important;
    }

    .kff-birthday-sort {
        width: 100% !important;
    }
}

.kff-auth,
.kff-auth * {
    box-sizing: border-box !important;
}

.kff-auth {
    width: 100% !important; max-width: 1380px !important;
    margin: 0 auto !important; padding: 30px 32px 64px !important;
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
}

.kff-auth-wrap {
    display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.75fr) !important;
    align-items: center !important; border: 1px solid var(--kff-border) !important;
    border-radius: 24px !important; background: radial-gradient(circle at 8% 12%, rgba(50, 118, 232, .08), transparent 25%), radial-gradient(circle at 42% 88%, rgba(53, 167, 111, .08), transparent 24%), #fff !important;
    box-shadow: var(--kff-shadow-md) !important;
}

.kff-auth-side {
    position: relative !important; overflow: hidden !important;
    display: flex !important; align-items: center !important;
    border-radius: 19px !important; background: #f8fbff !important;
    color: var(--kff-navy) !important;
}

.kff-auth-side::before,
.kff-auth-side::after {
    content: "" !important; position: absolute !important;
    border-radius: 999px !important; pointer-events: none !important;
}

.kff-auth-side::before {
    width: 170px !important; height: 170px !important;
    top: -92px !important; right: -52px !important;
    background: rgba(243, 79, 146, .12) !important;
}

.kff-auth-side::after {
    width: 120px !important; height: 120px !important;
    left: -62px !important; bottom: -52px !important;
    background: rgba(244, 154, 63, .14) !important;
}

.kff-auth-side-inner {
    position: relative !important; z-index: 1 !important;
    width: 100% !important; max-width: 590px !important;
}

.kff-auth-kicker {
    display: inline-flex !important; align-items: center !important;
    min-height: 28px !important; margin: 0 0 14px !important;
    padding: 0 12px !important; border-radius: 999px !important;
    background: var(--kff-pink-soft) !important; color: #ca3473 !important;
    font-size: 10px !important; font-weight: 700 !important;
    letter-spacing: .05em !important; text-transform: uppercase !important;
}

.kff-auth-side h1 {
    margin: 0 0 14px !important; color: var(--kff-navy) !important;
    font-weight: 700 !important; letter-spacing: -.035em !important;
    line-height: 1.14 !important;
}

.kff-auth-side p {
    max-width: 540px !important; margin: 0 0 26px !important;
    color: var(--kff-muted) !important; line-height: 1.65 !important;
}

.kff-auth-benefits {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 11px !important;
}

.kff-auth-benefit {
    display: flex !important; align-items: center !important;
    gap: 10px !important; border: 1px solid #e8edf4 !important;
    border-radius: 14px !important; background: #fff !important;
    box-shadow: var(--kff-shadow-sm) !important;
}

.kff-auth-benefit-icon {
    flex: 0 0 35px !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    border-radius: 11px !important; font-size: 16px !important;
    font-weight: 700 !important;
}

.kff-auth-benefit:nth-child(1) .kff-auth-benefit-icon {
    background: var(--kff-pink-soft) !important; color: var(--kff-pink) !important;
}

.kff-auth-benefit:nth-child(2) .kff-auth-benefit-icon {
    background: var(--kff-blue-soft) !important; color: var(--kff-blue) !important;
}

.kff-auth-benefit:nth-child(3) .kff-auth-benefit-icon {
    background: var(--kff-orange-soft) !important; color: var(--kff-orange) !important;
}

.kff-auth-benefit:nth-child(4) .kff-auth-benefit-icon {
    background: var(--kff-green-soft) !important; color: var(--kff-green) !important;
}

.kff-auth-benefit strong {
    display: block !important; margin: 0 0 2px !important;
    color: var(--kff-navy) !important; font-size: 11px !important;
    font-weight: 700 !important; line-height: 1.3 !important;
}

.kff-auth-benefit span {
    display: block !important; color: var(--kff-muted) !important;
    font-size: 9px !important; line-height: 1.4 !important;
}

.kff-auth-card {
    width: 100% !important; justify-self: center !important;
    border: 1px solid var(--kff-border) !important; border-radius: 19px !important;
    background: #fff !important; box-shadow: 0 12px 34px rgba(21, 35, 59, .08) !important;
}

.kff-auth-tabs {
    display: grid !important; grid-template-columns: 1fr 1fr !important;
    gap: 5px !important; margin: 0 0 22px !important;
    padding: 4px !important; border-radius: 12px !important;
    background: #f2f5f9 !important;
}

.kff-auth-tab {
    min-height: 38px !important; padding: 0 10px !important;
    border: 0 !important; border-radius: 9px !important;
    background: transparent !important; color: var(--kff-muted) !important;
    font-size: 11px !important; font-weight: 700 !important;
    cursor: pointer !important; box-shadow: none !important;
}

.kff-auth-tab:hover {
    background: rgba(255, 255, 255, .7) !important; color: var(--kff-navy) !important;
}

.kff-auth-tab.active,
.kff-auth-tab.active:hover {
    background: var(--kff-pink) !important; color: #fff !important;
    box-shadow: 0 4px 12px rgba(243, 79, 146, .22) !important;
}

.kff-auth-panel {
    display: none !important;
}

.kff-auth-panel.active {
    display: block !important;
}

.kff-auth-panel h2 {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-size: 23px !important; font-weight: 700 !important;
    letter-spacing: -.02em !important; line-height: 1.25 !important;
}

.kff-auth-panel-sub {
    margin: 0 0 18px !important; color: var(--kff-muted) !important;
    font-size: 11px !important; line-height: 1.5 !important;
}

.kff-social-btn {
    width: 100% !important; min-height: 42px !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important; gap: 8px !important;
    padding: 0 14px !important; border: 1px solid #dfe5ed !important;
    border-radius: 10px !important; background: #fff !important;
    color: var(--kff-navy) !important; font-size: 11px !important;
    font-weight: 700 !important; cursor: pointer !important;
    box-shadow: none !important;
}

.kff-social-btn:hover {
    border-color: #bdd2f4 !important; background: var(--kff-blue-soft) !important;
    color: var(--kff-blue) !important;
}

.kff-divider {
    display: flex !important; align-items: center !important;
    gap: 10px !important; color: #98a2b3 !important;
    font-size: 8px !important; font-weight: 600 !important;
    letter-spacing: .05em !important; text-transform: uppercase !important;
}

.kff-divider::before,
.kff-divider::after {
    content: "" !important; flex: 1 !important;
    height: 1px !important; background: #e8ecf2 !important;
}

.kff-auth-field {
    margin: 0 0 12px !important;
}

.kff-auth-label {
    display: block !important; margin: 0 0 5px !important;
    color: var(--kff-text) !important; font-size: 10px !important;
    font-weight: 700 !important;
}

.kff-auth-input {
    width: 100% !important; height: 42px !important;
    padding: 0 12px !important; border: 1px solid #dfe5ed !important;
    border-radius: 10px !important; background: #fff !important;
    color: var(--kff-navy) !important; font-size: 11px !important;
    outline: none !important; box-shadow: none !important;
}

.kff-auth-input::placeholder {
    color: #98a2b3 !important;
}

.kff-auth-input:focus {
    border-color: var(--kff-blue) !important; box-shadow: 0 0 0 3px rgba(50, 118, 232, .11) !important;
}

.kff-password-wrap {
    position: relative !important;
}

.kff-password-wrap .kff-auth-input {
    padding-right: 58px !important;
}

.kff-show-password {
    position: absolute !important; top: 50% !important;
    right: 7px !important; transform: translateY(-50%) !important;
    min-height: 28px !important; padding: 0 7px !important;
    border: 0 !important; background: transparent !important;
    color: var(--kff-blue) !important; font-size: 9px !important;
    font-weight: 700 !important; cursor: pointer !important;
    box-shadow: none !important;
}

.kff-show-password:hover {
    background: var(--kff-blue-soft) !important; color: #245fc2 !important;
}

.kff-auth-row {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 12px !important;
    margin: 2px 0 15px !important;
}

.kff-auth-check {
    display: flex !important; align-items: flex-start !important;
    gap: 7px !important; color: var(--kff-muted) !important;
    font-size: 9px !important; line-height: 1.45 !important;
}

.kff-auth-check input {
    width: 14px !important; height: 14px !important;
    margin: 0 !important; accent-color: var(--kff-pink) !important;
}

.kff-forgot {
    padding: 0 !important; border: 0 !important;
    background: transparent !important; color: var(--kff-pink) !important;
    font-size: 9px !important; font-weight: 700 !important;
    cursor: pointer !important; box-shadow: none !important;
}

.kff-forgot:hover {
    color: #d63879 !important; text-decoration: underline !important;
}

.kff-auth-submit {
    width: 100% !important; min-height: 42px !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important; padding: 0 16px !important;
    border: 0 !important; border-radius: 10px !important;
    background: var(--kff-blue) !important; color: #fff !important;
    font-size: 11px !important; font-weight: 700 !important;
    cursor: pointer !important; box-shadow: 0 6px 16px rgba(50, 118, 232, .2) !important;
}

.kff-auth-submit:hover {
    background: #2468d8 !important; color: #fff !important;
    transform: translateY(-1px) !important;
}

.kff-auth-submit.signup {
    background: var(--kff-pink) !important; box-shadow: 0 6px 16px rgba(243, 79, 146, .2) !important;
}

.kff-auth-submit.signup:hover {
    background: #dc3e80 !important;
}

.kff-auth-reset-submit {
    margin-top: 9px !important;
}

.kff-auth-signup-submit {
    margin-top: 16px !important;
}

.kff-signup-note {
    margin: 14px 0 !important; padding: 11px 12px !important;
    border-radius: 10px !important; background: var(--kff-green-soft) !important;
    color: var(--kff-muted) !important; font-size: 9px !important;
    line-height: 1.5 !important;
}

.kff-signup-note strong {
    color: var(--kff-green) !important;
}

.kff-auth-terms {
    margin: 12px 0 0 !important; color: #98a2b3 !important;
    font-size: 8px !important; line-height: 1.5 !important;
    text-align: center !important;
}

.kff-auth-terms a {
    color: var(--kff-blue) !important; text-decoration: none !important;
}

.kff-auth-message,
.kff-auth-error {
    display: none; margin-top: 12px !important;
    padding: 10px 11px !important; border-radius: 9px !important;
    font-size: 9px !important; font-weight: 700 !important;
    line-height: 1.45 !important; text-align: center !important;
}

.kff-auth-message {
    background: var(--kff-green-soft) !important; color: #177a52 !important;
}

.kff-auth-error {
    background: #fff1f1 !important; color: #b42318 !important;
}

.kff-forgot-box {
    display: none; margin-top: 14px !important;
    padding: 13px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 11px !important; background: var(--kff-surface-soft) !important;
}

.kff-forgot-box strong {
    display: block !important; margin-bottom: 8px !important;
    color: var(--kff-navy) !important; font-size: 10px !important;
}

@media (max-width: 980px) {
    .kff-auth-wrap {
        grid-template-columns: 1fr !important; min-height: 0 !important;
    }

    .kff-auth-side {
        min-height: 0 !important;
    }

    .kff-auth-card {
        max-width: 580px !important;
    }
}

@media (max-width: 640px) {
    .kff-auth {
        padding: 22px 16px 50px !important;
    }

    .kff-auth-wrap {
        gap: 18px !important; padding: 14px !important;
        border-radius: 18px !important;
    }

    .kff-auth-side {
        padding: 27px 21px !important; border-radius: 14px !important;
    }

    .kff-auth-side h1 {
        font-size: 29px !important;
    }

    .kff-auth-benefits {
        grid-template-columns: 1fr !important;
    }

    .kff-auth-benefit:nth-child(n + 3) {
        display: none !important;
    }

    .kff-auth-card {
        padding: 20px !important; border-radius: 14px !important;
    }

    .kff-auth-row {
        align-items: flex-start !important;
    }
}

body:has(.kff-auth) .site-content,
body:has(.kff-auth) #content {
    padding-top: 0 !important; margin-top: 0 !important;
}

body:has(.kff-auth) .site-content > .ast-container,
body:has(.kff-auth) .content-area,
body:has(.kff-auth) .site-main,
body:has(.kff-auth) article,
body:has(.kff-auth) .entry-content,
body:has(.kff-auth) .wp-block-html {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-auth) .entry-content > * {
    margin-block-start: 0 !important; margin-block-end: 0 !important;
}

body:has(.kff-auth) .entry-header,
body:has(.kff-auth) .entry-title {
    display: none !important;
}

.kff-auth {
    padding-top: 16px !important; padding-bottom: 28px !important;
}

.kff-auth-wrap {
    min-height: 500px !important; gap: 26px !important;
    padding: 24px !important;
}

.kff-auth-side {
    min-height: 410px !important; padding: 32px 38px !important;
}

.kff-auth-side h1 {
    font-size: 32px !important;
}

.kff-auth-side p {
    margin-bottom: 20px !important; font-size: 12px !important;
}

.kff-auth-benefit {
    min-height: 60px !important; padding: 9px 10px !important;
}

.kff-auth-benefit-icon {
    width: 32px !important; height: 32px !important;
    flex-basis: 32px !important;
}

.kff-auth-card {
    max-width: 440px !important; padding: 21px !important;
}

.kff-auth-tabs {
    margin-bottom: 17px !important;
}

.kff-auth-panel-sub {
    margin-bottom: 14px !important;
}

.kff-divider {
    margin: 13px 0 !important;
}

@media (min-width: 922px) {
    body:has(.kff-auth) #masthead,
    body:has(.kff-auth) .site-header,
    body:has(.kff-auth) .ast-primary-header-bar,
    body:has(.kff-auth) .site-primary-header-wrap,
    body:has(.kff-auth) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-auth) .ast-primary-header-bar {
        padding-top: 0 !important; padding-bottom: 0 !important;
    }

    body:has(.kff-auth) #masthead .ast-container,
    body:has(.kff-auth) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important;
    }

    #kffHeaderLogin {
        top: 7px !important;
    }
}

@media (max-width: 640px) {
    .kff-auth {
        padding-top: 12px !important;
    }

    .kff-auth-wrap {
        padding: 12px !important;
    }
}

.kff-account,
.kff-account * {
    box-sizing: border-box;
}

.kff-account {
    width: 100%; margin: 0 auto;
}

.kff-account-head {
    display: flex; justify-content: space-between;
    align-items: flex-end; gap: 20px;
}

.kff-account-kicker {
    text-transform: uppercase; letter-spacing: .7px;
}

.kff-account-title {
    margin: 0 0 8px; line-height: 1.15;
}

.kff-account-subtitle {
    margin: 0; line-height: 1.6;
}

.kff-profile-card {
    display: grid; grid-template-columns: auto 1fr auto;
    gap: 18px; align-items: center;
    border: 1px solid #e9edf2;
}

.kff-avatar {
    display: flex; align-items: center;
    justify-content: center; border-radius: 50%;
    color: #fff;
}

.kff-profile-name {
    margin: 0 0 4px;
}

.kff-profile-location {
    margin-bottom: 8px; color: #667085;
    font-size: 10px;
}

.kff-profile-badges {
    display: flex; gap: 7px;
    flex-wrap: wrap;
}

.kff-profile-badge {
    padding: 6px 9px; border-radius: 999px;
    font-size: 8px;
}

.kff-profile-edit {
    padding: 0 14px; border: 1px solid #e4e7ec;
    border-radius: 9px; font-size: 9px;
    cursor: pointer;
}

.kff-account-stats {
    display: grid; grid-template-columns: repeat(4,1fr);
}

.kff-stat {
    border: 1px solid #e9edf2; background: #fff;
}

.kff-stat-value {
    margin-bottom: 3px;
}

.kff-stat-label {
    font-size: 9px;
}

.kff-account-layout {
    display: grid; align-items: start;
}

.kff-account-nav {
    position: sticky; overflow: hidden;
    border: 1px solid #e9edf2; background: #fff;
}

.kff-account-nav button {
    width: 100%; display: flex;
    gap: 9px; align-items: center;
    border: 0; border-bottom: 1px solid #f0f2f4;
    background: #fff; text-align: left;
    font-size: 10px; cursor: pointer;
}

.kff-account-nav button:last-child {
    border-bottom: 0;
}

.kff-nav-icon {
    width: 20px; text-align: center;
}

.kff-account-panel {
    display: none;
}

.kff-account-panel.active {
    display: block;
}

.kff-panel-card {
    border: 1px solid #e9edf2; background: #fff;
}

.kff-panel-title {
    margin: 0 0 5px;
}

.kff-panel-subtitle {
    margin: 0 0 17px; font-size: 10px;
    line-height: 1.5;
}

.kff-quick-grid {
    display: grid; grid-template-columns: repeat(2,1fr);
    gap: 13px;
}

.kff-quick-card {
    border: 1px solid #e9edf2; border-radius: 14px;
}

.kff-quick-icon {
    margin-bottom: 9px; font-size: 21px;
}

.kff-quick-card h3 {
    margin: 0 0 5px; font-size: 13px;
}

.kff-quick-card p {
    margin: 0 0 12px; color: #667085;
    font-size: 9px; line-height: 1.5;
}

.kff-quick-card a {
    font-size: 9px; text-decoration: none;
}

.kff-activity {
    display: flex; gap: 12px;
    padding: 13px 0; border-bottom: 1px solid #eef0f3;
}

.kff-activity:last-child {
    border-bottom: 0;
}

.kff-activity-icon {
    width: 34px; height: 34px;
    flex: 0 0 auto; display: flex;
    align-items: center; justify-content: center;
    border-radius: 50%; background: #f3f0ff;
    font-size: 15px;
}

.kff-activity strong {
    display: block; margin-bottom: 3px;
    color: #344054; font-size: 10px;
}

.kff-activity span {
    color: #98a2b3; font-size: 9px;
}

.kff-review-item {
    padding: 15px 0; border-bottom: 1px solid #eef0f3;
}

.kff-review-item:last-child {
    border-bottom: 0;
}

.kff-review-top {
    display: flex; justify-content: space-between;
    gap: 10px; margin-bottom: 5px;
}

.kff-review-place {
    font-size: 11px; font-weight: 900;
}

.kff-review-stars {
    font-size: 10px;
}

.kff-review-text {
    margin: 0 0 7px; color: #667085;
    font-size: 9px; line-height: 1.55;
}

.kff-review-date {
    color: #98a2b3; font-size: 8px;
}

.kff-submission-row {
    display: grid; grid-template-columns: 1fr auto auto;
    gap: 12px; align-items: center;
    padding: 13px 0; border-bottom: 1px solid #eef0f3;
}

.kff-submission-row:last-child {
    border-bottom: 0;
}

.kff-submission-name {
    font-size: 10px; font-weight: 900;
}

.kff-submission-type {
    margin-top: 3px; color: #98a2b3;
    font-size: 8px;
}

.kff-status {
    padding: 6px 9px; border-radius: 999px;
    font-size: 8px; font-weight: 900;
}

.kff-status.approved {
    background: #eaf8ef; color: #137a53;
}

.kff-status.review {
    background: #fff6dc; color: #9c6a08;
}

.kff-status.draft {
    background: #f2f4f7; color: #667085;
}

.kff-submission-date {
    color: #98a2b3; font-size: 8px;
}

.kff-badge-grid {
    display: grid; grid-template-columns: repeat(3,1fr);
    gap: 12px;
}

.kff-badge-card {
    padding: 18px 13px; border: 1px solid #e9edf2;
    border-radius: 14px; text-align: center;
}

.kff-badge-icon {
    margin-bottom: 8px; font-size: 27px;
}

.kff-badge-card h3 {
    margin: 0 0 4px; font-size: 11px;
    font-weight: 900;
}

.kff-badge-card p {
    margin: 0; color: #98a2b3;
    font-size: 8px; line-height: 1.4;
}

.kff-badge-card.locked {
    opacity: .45;
}

.kff-setting-row {
    display: flex; justify-content: space-between;
    align-items: center; gap: 20px;
    padding: 15px 0; border-bottom: 1px solid #eef0f3;
}

.kff-setting-row:last-child {
    border-bottom: 0;
}

.kff-setting-row strong {
    display: block; margin-bottom: 3px;
    font-size: 10px;
}

.kff-setting-row p {
    margin: 0; color: #98a2b3;
    font-size: 8px;
}

.kff-toggle {
    position: relative; width: 40px;
    height: 23px; flex: 0 0 auto;
    border: 0; border-radius: 999px;
    background: #d0d5dd; cursor: pointer;
}

.kff-toggle::after {
    content: ""; position: absolute;
    top: 3px; left: 3px;
    width: 17px; height: 17px;
    border-radius: 50%; background: #fff;
    transition: .15s ease;
}

.kff-toggle.on::after {
    left: 20px;
}

.kff-danger {
    color: #d92d20 !important;
}

.kff-account-toast {
    position: fixed; right: 22px;
    bottom: 22px; z-index: 999999;
    display: none; padding: 12px 16px;
    color: #fff; font-size: 10px;
    font-weight: 800;
}

@media (max-width:900px) {
    .kff-account-layout {
        grid-template-columns: 1fr;
    }

    .kff-account-nav {
        position: static; display: flex;
        overflow-x: auto;
    }

    .kff-account-nav button {
        flex: 0 0 auto; width: auto;
        border-right: 1px solid #f0f2f4; border-bottom: 0;
    }

    .kff-account-stats {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width:650px) {
    .kff-account {
        padding: 22px 18px 50px;
    }

    .kff-account-head {
        flex-direction: column; align-items: flex-start;
    }

    .kff-account-title {
        font-size: 28px;
    }

    .kff-profile-card {
        grid-template-columns: auto 1fr;
    }

    .kff-profile-edit {
        grid-column: 1 / -1; width: 100%;
    }

    .kff-account-stats {
        grid-template-columns: 1fr 1fr;
    }

    .kff-quick-grid,
    .kff-badge-grid {
        grid-template-columns: 1fr;
    }

    .kff-submission-row {
        grid-template-columns: 1fr auto;
    }

    .kff-submission-date {
        display: none;
    }
}

body:has(.kff-account) .site-content,
body:has(.kff-account) #content {
    margin-top: 0 !important; padding-top: 0 !important;
}

body:has(.kff-account) .site-content > .ast-container,
body:has(.kff-account) .content-area,
body:has(.kff-account) .site-main,
body:has(.kff-account) article,
body:has(.kff-account) .entry-content,
body:has(.kff-account) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-account) .entry-header,
body:has(.kff-account) .entry-title {
    display: none !important;
}

.kff-account {
    max-width: 1380px !important; padding: 24px 32px 64px !important;
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
}

.kff-account-head {
    margin-bottom: 20px !important;
}

.kff-account-kicker {
    display: inline-flex !important; align-items: center !important;
    min-height: 27px !important; margin-bottom: 10px !important;
    padding: 0 11px !important; border-radius: 999px !important;
    background: var(--kff-pink-soft) !important; color: #ca3473 !important;
    font-size: 9px !important; font-weight: 700 !important;
}

.kff-account-title {
    margin-bottom: 6px !important; color: var(--kff-navy) !important;
    font-size: 32px !important; font-weight: 700 !important;
    letter-spacing: -.03em !important;
}

.kff-account-subtitle {
    color: var(--kff-muted) !important; font-size: 12px !important;
}

.kff-profile-card {
    margin-bottom: 18px !important; padding: 18px 20px !important;
    border-color: var(--kff-border) !important; border-radius: 18px !important;
    background: radial-gradient(circle at 94% 12%, rgba(243, 79, 146, .11), transparent 20%), radial-gradient(circle at 4% 100%, rgba(50, 118, 232, .10), transparent 24%), #fff !important; box-shadow: var(--kff-shadow-sm) !important;
}

.kff-avatar {
    width: 62px !important; height: 62px !important;
    background: linear-gradient(145deg, var(--kff-blue), #4b8ef2) !important; font-size: 21px !important;
    font-weight: 700 !important; box-shadow: 0 7px 18px rgba(50, 118, 232, .22) !important;
}

.kff-profile-name {
    color: var(--kff-navy) !important; font-size: 17px !important;
    font-weight: 700 !important;
}

.kff-profile-badge {
    background: var(--kff-green-soft) !important; color: var(--kff-green) !important;
    font-weight: 700 !important; box-shadow: none !important;
}

.kff-profile-edit {
    min-height: 36px !important; border-color: #f5b8d1 !important;
    background: var(--kff-pink-soft) !important; color: #c92f70 !important;
    font-weight: 700 !important;
}

.kff-profile-edit:hover {
    border-color: var(--kff-pink) !important; background: var(--kff-pink) !important;
    color: #fff !important;
}

.kff-account-stats {
    gap: 12px !important; margin-bottom: 20px !important;
}

.kff-stat {
    position: relative !important; overflow: hidden !important;
    min-height: 76px !important; padding: 14px 16px !important;
    border-color: var(--kff-border) !important; border-radius: 14px !important;
    box-shadow: var(--kff-shadow-sm) !important;
}

.kff-stat::after {
    content: "" !important; position: absolute !important;
    right: -16px !important; bottom: -21px !important;
    width: 58px !important; height: 58px !important;
    border-radius: 50% !important; opacity: .12 !important;
}

.kff-stat:nth-child(1)::after {
    background: var(--kff-pink) !important;
}

.kff-stat:nth-child(2)::after {
    background: var(--kff-green) !important;
}

.kff-stat:nth-child(3)::after {
    background: var(--kff-orange) !important;
}

.kff-stat:nth-child(4)::after {
    background: var(--kff-blue) !important;
}

.kff-stat-value {
    color: var(--kff-navy) !important; font-size: 20px !important;
    font-weight: 700 !important;
}

.kff-stat-label {
    color: var(--kff-muted) !important; font-weight: 600 !important;
}

.kff-account-layout {
    grid-template-columns: 210px minmax(0, 1fr) !important; gap: 18px !important;
}

.kff-account-nav {
    top: 96px !important; border-color: var(--kff-border) !important;
    border-radius: 15px !important; box-shadow: var(--kff-shadow-sm) !important;
}

.kff-account-nav button {
    min-height: 43px !important; padding: 0 14px !important;
    color: var(--kff-muted) !important; font-weight: 600 !important;
}

.kff-account-nav button:hover {
    background: var(--kff-surface-soft) !important; color: var(--kff-navy) !important;
}

.kff-account-nav button.active,
.kff-account-nav button.active:hover {
    background: var(--kff-pink-soft) !important; color: #cb3574 !important;
    box-shadow: inset 3px 0 0 var(--kff-pink) !important;
}

.kff-account-nav .kff-danger,
.kff-account-nav .kff-danger:hover {
    color: #d92d20 !important;
}

.kff-panel-card {
    margin-bottom: 15px !important; padding: 19px !important;
    border-color: var(--kff-border) !important; border-radius: 15px !important;
    box-shadow: var(--kff-shadow-sm) !important;
}

.kff-panel-title {
    color: var(--kff-navy) !important; font-size: 16px !important;
    font-weight: 700 !important;
}

.kff-panel-subtitle {
    margin-bottom: 14px !important; color: var(--kff-muted) !important;
}

.kff-quick-card {
    padding: 15px !important; border-color: var(--kff-border) !important;
    background: #fff !important; box-shadow: var(--kff-shadow-sm) !important;
}

.kff-quick-card:nth-child(1) .kff-quick-icon {
    color: var(--kff-pink) !important;
}

.kff-quick-card:nth-child(2) .kff-quick-icon {
    color: var(--kff-blue) !important;
}

.kff-quick-card:nth-child(3) .kff-quick-icon {
    color: var(--kff-orange) !important;
}

.kff-quick-card:nth-child(4) .kff-quick-icon {
    color: var(--kff-green) !important;
}

.kff-quick-card h3 {
    color: var(--kff-navy) !important; font-weight: 700 !important;
}

.kff-quick-card a {
    color: var(--kff-blue) !important; font-weight: 700 !important;
}

.kff-toggle.on {
    background: var(--kff-pink) !important;
}

.kff-review-stars {
    color: var(--kff-orange) !important;
}

.kff-account-toast {
    border-radius: 10px !important; background: var(--kff-navy) !important;
    font-family: var(--kff-font) !important;
}

@media (min-width: 922px) {
    body:has(.kff-account) #masthead,
    body:has(.kff-account) .site-header,
    body:has(.kff-account) .ast-primary-header-bar,
    body:has(.kff-account) .site-primary-header-wrap,
    body:has(.kff-account) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-account) .ast-primary-header-bar {
        padding-top: 0 !important; padding-bottom: 0 !important;
    }

    body:has(.kff-account) #masthead .ast-container,
    body:has(.kff-account) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 900px) {
    .kff-account-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 650px) {
    .kff-account {
        padding: 20px 16px 50px !important;
    }

    .kff-account-title {
        font-size: 28px !important;
    }

    .kff-profile-card {
        padding: 16px !important;
    }
}

body:has(.kff-favorites-page) .site-content,
body:has(.kff-favorites-page) #content {
    margin-top: 0 !important; padding-top: 0 !important;
}

body:has(.kff-favorites-page) .site-content > .ast-container,
body:has(.kff-favorites-page) .content-area,
body:has(.kff-favorites-page) .site-main,
body:has(.kff-favorites-page) article,
body:has(.kff-favorites-page) .entry-content,
body:has(.kff-favorites-page) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-favorites-page) .entry-header,
body:has(.kff-favorites-page) .entry-title {
    display: none !important;
}

.kff-favorites-page,
.kff-favorites-page * {
    box-sizing: border-box !important;
}

.kff-favorites-page {
    width: 100% !important; max-width: 1380px !important;
    margin: 0 auto !important; padding: 24px 32px 64px !important;
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
}

.kff-favorites-header {
    display: flex !important; align-items: flex-end !important;
    justify-content: space-between !important; gap: 24px !important;
    margin-bottom: 24px !important;
}

.kff-favorites-kicker {
    display: inline-flex !important; align-items: center !important;
    min-height: 27px !important; margin: 0 0 10px !important;
    padding: 0 11px !important; border-radius: 999px !important;
    background: var(--kff-pink-soft) !important; color: #ca3473 !important;
    font-size: 9px !important; font-weight: 700 !important;
    letter-spacing: .02em !important;
}

.kff-favorites-header h1 {
    margin: 0 0 6px !important; color: var(--kff-navy) !important;
    font-size: 32px !important; font-weight: 700 !important;
    letter-spacing: -.03em !important; line-height: 1.15 !important;
}

.kff-favorites-header p {
    max-width: 620px !important; margin: 0 !important;
    color: var(--kff-muted) !important; font-size: 12px !important;
    line-height: 1.55 !important;
}

.kff-favorites-explore,
.kff-empty-button {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; min-height: 38px !important;
    padding: 0 15px !important; border: 0 !important;
    border-radius: 10px !important; background: var(--kff-blue) !important;
    color: #fff !important; font-size: 10px !important;
    font-weight: 700 !important; text-decoration: none !important;
    white-space: nowrap !important; box-shadow: 0 6px 15px rgba(50, 118, 232, .18) !important;
}

.kff-favorites-explore:hover,
.kff-empty-button:hover {
    background: #2468d8 !important; color: #fff !important;
    transform: translateY(-1px) !important;
}

.kff-favorites-grid {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.kff-favorite-card {
    overflow: hidden !important; border: 1px solid var(--kff-border) !important;
    border-radius: 17px !important; background: #fff !important;
    box-shadow: var(--kff-shadow-sm) !important; transition: transform .18s ease, box-shadow .18s ease !important;
}

.kff-favorite-card:hover {
    transform: translateY(-3px) !important; box-shadow: 0 14px 30px rgba(21, 35, 59, .10) !important;
}

.kff-favorite-image {
    position: relative !important; overflow: hidden !important;
    height: 165px !important; background: linear-gradient(135deg, #78d28b, #51b9d5) !important;
}

.kff-favorite-card:nth-child(4n + 2) .kff-favorite-image {
    background: linear-gradient(135deg, #63bde8, #568ee0) !important;
}

.kff-favorite-card:nth-child(4n + 3) .kff-favorite-image {
    background: linear-gradient(135deg, #f6aa61, #ef7e79) !important;
}

.kff-favorite-card:nth-child(4n + 4) .kff-favorite-image {
    background: linear-gradient(135deg, #a58aea, #e47cac) !important;
}

.kff-favorite-image img {
    display: block !important; width: 100% !important;
    height: 100% !important; object-fit: cover !important;
    transition: transform .25s ease !important;
}

.kff-favorite-card:hover .kff-favorite-image img {
    transform: scale(1.025) !important;
}

.kff-favorite-placeholder {
    width: 100% !important; height: 100% !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important; color: rgba(255, 255, 255, .88) !important;
    font-size: 35px !important;
}

.kff-favorite-remove {
    position: absolute !important; top: 12px !important;
    right: 12px !important; width: 36px !important;
    height: 36px !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 0 !important; border: 1px solid rgba(243, 79, 146, .35) !important;
    border-radius: 50% !important; background: rgba(255, 255, 255, .96) !important;
    color: var(--kff-pink) !important; font-size: 17px !important;
    line-height: 1 !important; cursor: pointer !important;
    box-shadow: 0 5px 14px rgba(21, 35, 59, .13) !important;
}

.kff-favorite-remove:hover {
    border-color: var(--kff-pink) !important; background: var(--kff-pink) !important;
    color: #fff !important; transform: scale(1.06) !important;
}

.kff-favorite-remove:disabled {
    opacity: .55 !important; cursor: wait !important;
}

.kff-favorite-body {
    padding: 16px !important;
}

.kff-favorite-name {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-size: 16px !important; font-weight: 700 !important;
    line-height: 1.3 !important;
}

.kff-favorite-location {
    margin-bottom: 9px !important; color: var(--kff-muted) !important;
    font-size: 10px !important;
}

.kff-favorite-rating {
    display: flex !important; align-items: center !important;
    gap: 5px !important; min-height: 17px !important;
    margin-bottom: 10px !important; color: var(--kff-muted) !important;
    font-size: 9px !important;
}

.kff-favorite-stars {
    color: var(--kff-orange) !important; font-size: 11px !important;
    letter-spacing: .03em !important;
}

.kff-favorite-rating strong {
    color: var(--kff-navy) !important; font-weight: 700 !important;
}

.kff-favorite-rating-empty .kff-favorite-stars {
    color: #d7dce4 !important;
}

.kff-favorite-tags {
    display: flex !important; flex-wrap: wrap !important;
    gap: 6px !important; min-height: 25px !important;
    margin-bottom: 13px !important;
}

.kff-favorite-tag {
    display: inline-flex !important; align-items: center !important;
    min-height: 23px !important; padding: 0 8px !important;
    border-radius: 999px !important; background: var(--kff-surface-soft) !important;
    color: var(--kff-muted) !important; font-size: 8px !important;
    font-weight: 600 !important;
}

.kff-favorite-tag:nth-child(1) {
    background: var(--kff-green-soft) !important; color: var(--kff-green) !important;
}

.kff-favorite-tag:nth-child(2) {
    background: var(--kff-blue-soft) !important; color: var(--kff-blue) !important;
}

.kff-favorite-tag:nth-child(3) {
    background: var(--kff-orange-soft) !important; color: #d8791f !important;
}

.kff-favorite-tag:nth-child(4) {
    background: var(--kff-pink-soft) !important; color: #ca3473 !important;
}

.kff-favorite-bottom {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 10px !important;
    padding-top: 12px !important; border-top: 1px solid #edf0f4 !important;
}

.kff-favorite-view {
    color: var(--kff-blue) !important; font-size: 10px !important;
    font-weight: 700 !important; text-decoration: none !important;
}

.kff-favorite-view:hover {
    color: #245fc2 !important;
}

.kff-favorite-saved-date {
    color: #98a2b3 !important; font-size: 8px !important;
}

.kff-favorites-message {
    padding: 50px 24px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 17px !important; background: #fff !important;
    color: var(--kff-muted) !important; font-size: 11px !important;
    text-align: center !important; box-shadow: var(--kff-shadow-sm) !important;
}

.kff-favorites-empty {
    padding: 50px 24px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 17px !important; color: var(--kff-muted) !important;
    font-size: 11px !important; text-align: center !important;
    box-shadow: var(--kff-shadow-sm) !important;
}

.kff-favorites-empty {
    border-style: dashed !important; background: radial-gradient(circle at 50% 0, rgba(243, 79, 146, .08), transparent 34%), #fff !important;
}

.kff-empty-heart {
    margin-bottom: 10px !important; color: var(--kff-pink) !important;
    font-size: 40px !important;
}

.kff-favorites-empty h2 {
    margin: 0 0 7px !important; color: var(--kff-navy) !important;
    font-size: 20px !important; font-weight: 700 !important;
}

.kff-favorites-empty p {
    max-width: 420px !important; margin: 0 auto 17px !important;
    color: var(--kff-muted) !important; font-size: 11px !important;
    line-height: 1.55 !important;
}

.kff-favorites-page [hidden] {
    display: none !important;
}

@media (min-width: 922px) {
    body:has(.kff-favorites-page) #masthead,
    body:has(.kff-favorites-page) .site-header,
    body:has(.kff-favorites-page) .ast-primary-header-bar,
    body:has(.kff-favorites-page) .site-primary-header-wrap,
    body:has(.kff-favorites-page) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-favorites-page) .ast-primary-header-bar {
        padding-top: 0 !important; padding-bottom: 0 !important;
    }

    body:has(.kff-favorites-page) #masthead .ast-container,
    body:has(.kff-favorites-page) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 1200px) {
    .kff-favorites-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .kff-favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .kff-favorites-page {
        padding: 20px 16px 50px !important;
    }

    .kff-favorites-header {
        align-items: flex-start !important; flex-direction: column !important;
        gap: 16px !important;
    }

    .kff-favorites-header h1 {
        font-size: 28px !important;
    }

    .kff-favorites-grid {
        grid-template-columns: 1fr !important;
    }
}

#kffHeaderLogin.kff-hidden,
#kffHeaderUser.kff-hidden {
    display: none !important;
}

#kffHeaderUser {
    position: relative !important; font-family: var(--kff-font) !important;
}

#kffHeaderUserButton {
    min-width: 142px !important; height: 40px !important;
    min-height: 40px !important; display: inline-flex !important;
    align-items: center !important; justify-content: flex-start !important;
    gap: 10px !important; margin: 0 !important;
    padding: 4px 12px 4px 5px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 13px !important; font-size: 12px !important;
    font-weight: 700 !important; line-height: 1 !important;
    cursor: pointer !important;
}

#kffHeaderUserButton:hover,
#kffHeaderUserButton[aria-expanded="true"] {
    color: var(--kff-navy) !important;
}

#kffHeaderAvatar {
    width: 31px !important; height: 31px !important;
    flex: 0 0 31px !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    border-radius: 10px !important; color: #fff !important;
    font-size: 11px !important; font-weight: 800 !important;
    line-height: 1 !important;
}

#kffHeaderName {
    min-width: 0 !important; overflow: hidden !important;
    font-size: 12px !important; font-weight: 700 !important;
    line-height: 1.2 !important; text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#kffHeaderDropdown {
    position: absolute !important; z-index: 999999 !important;
    top: calc(100% + 9px) !important; right: 0 !important;
    display: none !important; overflow: hidden !important;
    border: 1px solid var(--kff-border) !important; border-radius: 13px !important;
}

#kffHeaderDropdown.kff-open {
    display: block !important;
}

#kffHeaderDropdown a,
#kffHeaderDropdown button {
    width: 100% !important; margin: 0 !important;
    border: 0 !important; border-radius: 8px !important;
    background: transparent !important; line-height: 1.2 !important;
    text-align: left !important; text-decoration: none !important;
    cursor: pointer !important; box-shadow: none !important;
}

#kffHeaderDropdown button:hover {
    background: var(--kff-blue-soft) !important; color: var(--kff-blue) !important;
}

#kffHeaderLogout {
    color: #d92d20 !important;
}

#kffHeaderLogout:hover {
    background: #fff1f1 !important; color: #bd2419 !important;
}

#kffHeaderDropdown > a,
#kffHeaderDropdown > button {
    margin: 0 !important;
}

#kffHeaderDropdown > a + a,
#kffHeaderDropdown > button {
    margin-top: 3px !important;
}

.kff-mobile-login {
    display: none !important;
}

@media (max-width: 921px) {
    .kff-mobile-login {
        position: absolute !important; z-index: 999998 !important;
        top: 19px !important; right: 69px !important;
        width: 68px !important; height: 32px !important;
        display: inline-flex !important; align-items: center !important;
        justify-content: center !important; margin: 0 !important;
        padding: 0 !important; border: 1px solid #0565ed !important;
        border-radius: 10px !important; background: linear-gradient(180deg, #1f91ff 0%, #0877fa 38%, #0064ed 100%) !important;
        color: #fff !important; font-family: "Arial Rounded MT Bold", "Trebuchet MS", var(--kff-font) !important;
        font-size: 12px !important; font-weight: 800 !important;
        line-height: 1 !important; text-align: center !important;
        text-decoration: none !important; box-shadow: inset 0 2px 1px rgba(255, 255, 255, .35), 0 4px 10px rgba(0, 100, 237, .22) !important;
    }

    .kff-mobile-login:hover,
    .kff-mobile-login:focus {
        background: linear-gradient(180deg, #1688fb 0%, #006cef 42%, #0059dc 100%) !important; color: #fff !important;
    }

    #kffHeaderUserButton {
        min-width: 0 !important; width: 40px !important;
        padding: 4px !important;
    }

    #kffHeaderName {
        display: none !important;
    }

    #kffHeaderDropdown {
        position: fixed !important; top: 64px !important;
        right: 14px !important;
    }
}

#kffHeaderUserButton {
    border-color: #9fc2f6 !important; background: linear-gradient(135deg, #eef5ff, #e5efff) !important;
    color: var(--kff-navy) !important; box-shadow: 0 5px 15px rgba(50, 118, 232, .13) !important;
}

#kffHeaderUserButton:hover,
#kffHeaderUserButton[aria-expanded="true"] {
    border-color: var(--kff-blue) !important; background: linear-gradient(135deg, #e2efff, #d8e8ff) !important;
    box-shadow: 0 6px 17px rgba(50, 118, 232, .20) !important;
}

#kffHeaderAvatar {
    background: linear-gradient(145deg, #4385ee, #286bdc) !important; box-shadow: 0 5px 12px rgba(50, 118, 232, .26) !important;
}

#kffHeaderName {
    color: #14223a !important;
}

#kffHeaderDropdown {
    width: 205px !important; padding: 7px !important;
    border-color: #d7e0ec !important; background: #fff !important;
    box-shadow: 0 16px 38px rgba(21, 35, 59, .18) !important;
}

#kffHeaderDropdown ul,
#kffHeaderDropdown ol {
    display: block !important; margin: 0 !important;
    padding: 0 !important; list-style: none !important;
}

#kffHeaderDropdown li {
    display: block !important; margin: 0 !important;
    padding: 0 !important; border: 0 !important;
}

#kffHeaderDropdown li + li {
    margin-top: 3px !important;
}

#kffHeaderDropdown a,
#kffHeaderDropdown button {
    min-height: 39px !important; display: flex !important;
    align-items: center !important; gap: 10px !important;
    padding: 0 10px !important; color: #263650 !important;
    font-size: 11px !important; font-weight: 700 !important;
}

#kffHeaderDropdown a::before,
#kffHeaderDropdown button::before {
    width: 25px !important; height: 25px !important;
    flex: 0 0 25px !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    border-radius: 8px !important; font-size: 12px !important;
    line-height: 1 !important;
}

#kffHeaderDropdown > a:nth-of-type(1)::before,
#kffHeaderDropdown li:nth-child(1) a::before {
    content: "●" !important; background: var(--kff-blue-soft) !important;
    color: var(--kff-blue) !important;
}

#kffHeaderDropdown > a:nth-of-type(2)::before,
#kffHeaderDropdown li:nth-child(2) a::before {
    content: "♥" !important; background: var(--kff-pink-soft) !important;
    color: var(--kff-pink) !important;
}

#kffHeaderDropdown > a:nth-of-type(3)::before,
#kffHeaderDropdown li:nth-child(3) a::before {
    content: "☰" !important; background: var(--kff-green-soft) !important;
    color: var(--kff-green) !important;
}

#kffHeaderLogout::before,
#kffHeaderDropdown > button:last-child::before,
#kffHeaderDropdown li:last-child button::before {
    content: "↪" !important; background: #fff0f0 !important;
    color: #d92d20 !important;
}

#kffHeaderDropdown a:hover {
    background: #eef5ff !important; color: #1f63ca !important;
}

#kffHeaderLogout {
    margin-top: 4px !important; border-top: 1px solid #edf0f4 !important;
    border-radius: 0 0 8px 8px !important;
}

body:has(.kff-my-lists-page) .site-content,
body:has(.kff-my-lists-page) #content {
    margin-top: 0 !important; padding-top: 0 !important;
}

body:has(.kff-my-lists-page) .site-content > .ast-container,
body:has(.kff-my-lists-page) .content-area,
body:has(.kff-my-lists-page) .site-main,
body:has(.kff-my-lists-page) article,
body:has(.kff-my-lists-page) .entry-content,
body:has(.kff-my-lists-page) .wp-block-shortcode {
    width: 100% !important; max-width: none !important;
    margin-top: 0 !important; margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-my-lists-page) .entry-header,
body:has(.kff-my-lists-page) .entry-title {
    display: none !important;
}

.kff-my-lists-page,
.kff-my-lists-page * {
    box-sizing: border-box !important;
}

.kff-my-lists-page {
    width: 100% !important; max-width: 1380px !important;
    margin: 0 auto !important; padding: 24px 32px 64px !important;
    color: var(--kff-navy) !important; font-family: var(--kff-font) !important;
}

.kff-my-lists-page [hidden] {
    display: none !important;
}

.kff-my-lists-header {
    display: flex !important; align-items: flex-end !important;
    justify-content: space-between !important; gap: 24px !important;
    margin-bottom: 24px !important;
}

.kff-my-lists-kicker {
    display: inline-flex !important; align-items: center !important;
    min-height: 27px !important; margin: 0 0 10px !important;
    padding: 0 11px !important; border-radius: 999px !important;
    background: var(--kff-green-soft) !important; color: var(--kff-green) !important;
    font-size: 9px !important; font-weight: 700 !important;
    letter-spacing: .02em !important;
}

.kff-my-lists-header h1 {
    margin: 0 0 6px !important; color: var(--kff-navy) !important;
    font-size: 32px !important; font-weight: 700 !important;
    letter-spacing: -.03em !important; line-height: 1.15 !important;
}

.kff-list-detail-title-row h1 {
    color: var(--kff-navy) !important; font-size: 32px !important;
    font-weight: 700 !important; letter-spacing: -.03em !important;
    line-height: 1.15 !important;
}

.kff-my-lists-header p {
    max-width: 620px !important; margin: 0 !important;
    color: var(--kff-muted) !important; font-size: 12px !important;
    line-height: 1.55 !important;
}

.kff-create-list-button,
.kff-empty-create-button,
.kff-list-save-button {
    min-height: 38px !important; display: inline-flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 0 15px !important; border: 0 !important;
    border-radius: 10px !important; background: var(--kff-pink) !important;
    color: #fff !important; font-size: 10px !important;
    font-weight: 700 !important; text-decoration: none !important;
    cursor: pointer !important; box-shadow: 0 6px 15px rgba(243, 79, 146, .18) !important;
}

.kff-create-list-button:hover,
.kff-empty-create-button:hover,
.kff-list-save-button:hover {
    background: #dc3e80 !important; color: #fff !important;
    transform: translateY(-1px) !important;
}

.kff-lists-grid,
.kff-list-detail-grid {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}

.kff-list-card,
.kff-list-place-card {
    overflow: hidden !important; border: 1px solid var(--kff-border) !important;
    border-radius: 17px !important; background: #fff !important;
    box-shadow: var(--kff-shadow-sm) !important; transition: transform .18s ease, box-shadow .18s ease !important;
}

.kff-list-card {
    min-height: 226px !important;
}

.kff-list-card:hover,
.kff-list-place-card:hover {
    transform: translateY(-3px) !important; box-shadow: 0 14px 30px rgba(21, 35, 59, .10) !important;
}

.kff-list-cover {
    height: 116px !important; display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; gap: 3px !important;
    overflow: hidden !important; background: linear-gradient(135deg, #eef5ff, #e9f8ef) !important;
}

.kff-list-card:nth-child(4n + 2) .kff-list-cover {
    background: linear-gradient(135deg, #fff1e2, #fff0f6) !important;
}

.kff-list-card:nth-child(4n + 3) .kff-list-cover {
    background: linear-gradient(135deg, #edf9f2, #e7f5ff) !important;
}

.kff-list-card:nth-child(4n + 4) .kff-list-cover {
    background: linear-gradient(135deg, #f2efff, #fff0f6) !important;
}

.kff-list-cover img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important;
}

.kff-list-cover-placeholder {
    width: 100% !important; height: 100% !important;
    background: rgba(255, 255, 255, .34) !important;
}

.kff-list-cover-empty {
    grid-column: 1 / -1 !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    color: var(--kff-green) !important; font-size: 32px !important;
}

.kff-list-body {
    padding: 15px 16px 16px !important;
}

.kff-list-top {
    display: flex !important; align-items: flex-start !important;
    justify-content: space-between !important; gap: 10px !important;
}

.kff-list-name {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-size: 16px !important; font-weight: 700 !important;
    line-height: 1.3 !important;
}

.kff-list-visibility {
    flex: 0 0 auto !important; min-height: 23px !important;
    display: inline-flex !important; align-items: center !important;
    padding: 0 8px !important; border-radius: 999px !important;
    background: var(--kff-blue-soft) !important; color: var(--kff-blue) !important;
    font-size: 8px !important; font-weight: 700 !important;
    text-transform: capitalize !important;
}

.kff-list-description {
    min-height: 34px !important; margin: 0 0 11px !important;
    color: var(--kff-muted) !important; font-size: 10px !important;
    line-height: 1.5 !important;
}

.kff-list-bottom {
    display: flex !important; align-items: flex-end !important;
    justify-content: space-between !important; gap: 10px !important;
    padding-top: 11px !important; border-top: 1px solid #edf0f4 !important;
}

.kff-list-count {
    color: var(--kff-text) !important; font-size: 9px !important;
    font-weight: 700 !important;
}

.kff-list-updated {
    margin-top: 3px !important; color: #98a2b3 !important;
    font-size: 8px !important;
}

.kff-list-view,
.kff-list-place-view,
.kff-list-detail-back {
    color: var(--kff-blue) !important; font-size: 10px !important;
    font-weight: 700 !important; text-decoration: none !important;
}

.kff-list-view:hover,
.kff-list-place-view:hover,
.kff-list-detail-back:hover {
    color: #245fc2 !important;
}

.kff-lists-message {
    padding: 50px 24px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 17px !important; background: #fff !important;
    color: var(--kff-muted) !important; font-size: 11px !important;
    text-align: center !important; box-shadow: var(--kff-shadow-sm) !important;
}

.kff-lists-empty {
    padding: 50px 24px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 17px !important; color: var(--kff-muted) !important;
    font-size: 11px !important; text-align: center !important;
    box-shadow: var(--kff-shadow-sm) !important;
}

.kff-lists-empty {
    border-style: dashed !important; background: radial-gradient(circle at 50% 0, rgba(53, 167, 111, .09), transparent 35%), #fff !important;
}

.kff-lists-empty-icon {
    margin-bottom: 10px !important; color: var(--kff-green) !important;
    font-size: 38px !important;
}

.kff-lists-empty h2 {
    margin: 0 0 7px !important; color: var(--kff-navy) !important;
    font-size: 20px !important; font-weight: 700 !important;
}

.kff-lists-empty p {
    max-width: 420px !important; margin: 0 auto 17px !important;
    color: var(--kff-muted) !important; font-size: 11px !important;
    line-height: 1.55 !important;
}

.kff-my-lists-page.kff-list-detail-mode .kff-my-lists-header,
.kff-my-lists-page.kff-list-detail-mode #kffListsLoading,
.kff-my-lists-page.kff-list-detail-mode #kffListsEmpty,
.kff-my-lists-page.kff-list-detail-mode #kffListsGrid {
    display: none !important;
}

.kff-list-detail {
    width: 100% !important; padding-bottom: 40px !important;
}

.kff-list-detail-back {
    display: inline-flex !important; margin-bottom: 17px !important;
}

.kff-list-detail-head {
    display: flex !important; align-items: flex-start !important;
    justify-content: space-between !important; gap: 22px !important;
    margin-bottom: 22px !important;
}

.kff-list-detail-title-row {
    display: flex !important; align-items: center !important;
    flex-wrap: wrap !important; gap: 10px !important;
}

.kff-list-detail-title-row h1 {
    margin: 0 !important;
}

.kff-list-detail-description {
    max-width: 700px !important; margin: 8px 0 6px !important;
    color: var(--kff-muted) !important; font-size: 11px !important;
    line-height: 1.55 !important;
}

.kff-list-detail-count {
    color: var(--kff-text) !important; font-size: 10px !important;
    font-weight: 700 !important;
}

.kff-delete-list-button {
    min-height: 34px !important; margin-top: 13px !important;
    padding: 0 12px !important; border: 1px solid #f5bbc0 !important;
    border-radius: 9px !important; background: #fff !important;
    color: #d92d20 !important; font-size: 9px !important;
    font-weight: 700 !important; cursor: pointer !important;
}

.kff-delete-list-button:hover {
    border-color: #e9787e !important; background: #fff1f1 !important;
}

.kff-list-detail-grid {
    margin-top: 22px !important; margin-bottom: 30px !important;
}

.kff-list-place-photo {
    display: block !important; height: 165px !important;
    overflow: hidden !important; background: linear-gradient(135deg, #edf9f2, #e8f4ff) !important;
}

.kff-list-place-photo img {
    width: 100% !important; height: 100% !important;
    object-fit: cover !important;
}

.kff-list-place-photo-empty {
    width: 100% !important; height: 100% !important;
    display: flex !important; align-items: center !important;
    justify-content: center !important; color: var(--kff-green) !important;
    font-size: 33px !important;
}

.kff-list-place-body {
    padding: 15px !important;
}

.kff-list-place-name {
    margin: 0 0 5px !important; color: var(--kff-navy) !important;
    font-size: 16px !important; font-weight: 700 !important;
    line-height: 1.3 !important;
}

.kff-list-place-location {
    min-height: 17px !important; margin-bottom: 12px !important;
    color: var(--kff-muted) !important; font-size: 10px !important;
}

.kff-list-place-actions {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; gap: 10px !important;
    padding-top: 11px !important; border-top: 1px solid #edf0f4 !important;
}

.kff-list-place-remove {
    padding: 4px 7px !important; border: 0 !important;
    border-radius: 7px !important; background: transparent !important;
    color: #98a2b3 !important; font-size: 9px !important;
    font-weight: 700 !important; cursor: pointer !important;
}

.kff-list-place-remove:hover {
    background: #fff1f1 !important; color: #d92d20 !important;
}

.kff-list-detail-explore {
    text-decoration: none !important;
}

.kff-list-modal {
    position: fixed !important; z-index: 999999 !important;
    inset: 0 !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 20px !important;
}

.kff-list-modal[hidden] {
    display: none !important;
}

.kff-list-modal-backdrop {
    position: absolute !important; inset: 0 !important;
    background: rgba(21, 35, 59, .50) !important; backdrop-filter: blur(3px) !important;
}

.kff-list-modal-card {
    position: relative !important; z-index: 1 !important;
    width: 100% !important; max-width: 480px !important;
    padding: 24px !important; border: 1px solid var(--kff-border) !important;
    border-radius: 18px !important; background: #fff !important;
    box-shadow: 0 24px 60px rgba(21, 35, 59, .24) !important;
}

.kff-list-modal-card h2 {
    margin: 0 0 6px !important; color: var(--kff-navy) !important;
    font-size: 21px !important; font-weight: 700 !important;
}

.kff-list-modal-card > p {
    margin: 0 0 18px !important; color: var(--kff-muted) !important;
    font-size: 11px !important; line-height: 1.5 !important;
}

.kff-list-modal-close {
    position: absolute !important; top: 12px !important;
    right: 12px !important; width: 32px !important;
    height: 32px !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    padding: 0 !important; border: 0 !important;
    border-radius: 9px !important; background: var(--kff-surface-soft) !important;
    color: var(--kff-muted) !important; font-size: 20px !important;
    cursor: pointer !important;
}

.kff-list-modal-close:hover {
    background: var(--kff-pink-soft) !important; color: var(--kff-pink) !important;
}

.kff-list-field {
    display: block !important; margin-bottom: 13px !important;
}

.kff-list-field span {
    display: block !important; margin-bottom: 5px !important;
    color: var(--kff-text) !important; font-size: 9px !important;
    font-weight: 700 !important;
}

.kff-list-field input,
.kff-list-field textarea,
.kff-list-field select {
    width: 100% !important; padding: 10px 11px !important;
    border: 1px solid #dce3ec !important; border-radius: 10px !important;
    background: #fff !important; color: var(--kff-navy) !important;
    font: inherit !important; font-size: 11px !important;
    outline: none !important; box-shadow: none !important;
}

.kff-list-field input:focus,
.kff-list-field textarea:focus,
.kff-list-field select:focus {
    border-color: var(--kff-blue) !important; box-shadow: 0 0 0 3px rgba(50, 118, 232, .10) !important;
}

.kff-list-field textarea {
    min-height: 86px !important; resize: vertical !important;
}

.kff-list-modal-actions {
    display: flex !important; justify-content: flex-end !important;
    gap: 9px !important; margin-top: 18px !important;
}

.kff-list-cancel-button {
    min-height: 38px !important; padding: 0 14px !important;
    border: 1px solid #dce3ec !important; border-radius: 10px !important;
    background: #fff !important; color: var(--kff-text) !important;
    font-size: 10px !important; font-weight: 700 !important;
    cursor: pointer !important;
}

.kff-list-cancel-button:hover {
    background: var(--kff-surface-soft) !important;
}

.kff-list-form-error {
    margin-top: 6px !important; padding: 9px 11px !important;
    border-radius: 9px !important; background: #fff1f1 !important;
    color: #c52d24 !important; font-size: 10px !important;
}

@media (min-width: 922px) {
    body:has(.kff-my-lists-page) #masthead,
    body:has(.kff-my-lists-page) .site-header,
    body:has(.kff-my-lists-page) .ast-primary-header-bar,
    body:has(.kff-my-lists-page) .site-primary-header-wrap,
    body:has(.kff-my-lists-page) .ast-builder-grid-row {
        min-height: 82px !important;
    }

    body:has(.kff-my-lists-page) .ast-primary-header-bar {
        padding-top: 0 !important; padding-bottom: 0 !important;
    }

    body:has(.kff-my-lists-page) #masthead .ast-container,
    body:has(.kff-my-lists-page) #masthead .site-primary-header-wrap {
        width: 100% !important; max-width: 1380px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 1050px) {
    .kff-lists-grid,
    .kff-list-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .kff-my-lists-page {
        padding: 20px 16px 50px !important;
    }

    .kff-my-lists-header {
        align-items: flex-start !important; flex-direction: column !important;
        gap: 16px !important;
    }

    .kff-my-lists-header h1,
    .kff-list-detail-title-row h1 {
        font-size: 28px !important;
    }

    .kff-lists-grid,
    .kff-list-detail-grid {
        grid-template-columns: 1fr !important;
    }

    .kff-create-list-button {
        width: 100% !important;
    }

    .kff-list-modal-card {
        padding: 20px !important;
    }
}

/* =========================================================
   CONTACT
   ========================================================= */

body:has(.kff-contact-page) .site-content,
body:has(.kff-contact-page) .ast-container,
body:has(.kff-contact-page) .content-area,
body:has(.kff-contact-page) .site-main,
body:has(.kff-contact-page) .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.kff-contact-page) .entry-header,
body:has(.kff-contact-page) .entry-title {
    display: none !important;
}

.kff-contact-page,
.kff-contact-page * {
    box-sizing: border-box;
}

.kff-contact-page {
    --contact-navy: #13213d;
    --contact-blue: #3478f6;
    --contact-pink: #e34791;
    --contact-green: #55b95f;
    --contact-orange: #ff9c36;
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 30px 28px 60px !important;
    color: var(--contact-navy);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kff-contact-page h1,
.kff-contact-page h2,
.kff-contact-page h3,
.kff-contact-page p {
    margin-top: 0;
}

.kff-contact-page h1 {
    margin-bottom: 14px;
    color: var(--contact-navy);
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.16;
}

.kff-contact-page h2 {
    margin-bottom: 13px;
    color: var(--contact-navy);
    font-size: 27px;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.22;
}

.kff-contact-page h3 {
    margin-bottom: 4px;
    color: var(--contact-navy);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
}

.kff-contact-page p {
    color: #61708c;
    font-size: 15px;
    line-height: 1.7;
}

.kff-contact-kicker,
.kff-contact-section-label {
    margin-bottom: 12px;
    color: var(--contact-pink);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.kff-contact-hero {
    display: flex;
    min-height: 205px;
    padding: 42px 55px;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    overflow: hidden;
    border: 1px solid #e2e8f2;
    border-radius: 27px;
    background: linear-gradient(118deg, #fff 0%, #fff 57%, #f3f7ff 100%);
    box-shadow: 0 16px 45px rgba(19, 33, 61, .065);
}

.kff-contact-hero-copy {
    max-width: 700px;
}

.kff-contact-hero-copy p {
    max-width: 680px;
    margin-bottom: 0;
    font-size: 16px;
}

.kff-contact-hero-icons {
    display: grid;
    grid-template-columns: repeat(2, 58px);
    gap: 11px;
    flex: 0 0 auto;
    transform: rotate(3deg);
}

.kff-contact-hero-icons span {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 18px;
    font-size: 23px;
    font-weight: 800;
    box-shadow: 0 9px 22px rgba(19, 33, 61, .08);
}

.kff-contact-icon-blue { background: #dceaff; color: var(--contact-blue); }
.kff-contact-icon-pink { background: #fde1ef; color: var(--contact-pink); }
.kff-contact-icon-orange { background: #fff0d7; color: #e68117; }
.kff-contact-icon-green { background: #e1f5e3; color: var(--contact-green); }

.kff-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(510px, 1.18fr);
    align-items: start;
    gap: clamp(35px, 6vw, 85px);
    padding: 64px 10px 55px;
}

.kff-contact-info {
    padding-top: 10px;
}

.kff-contact-intro {
    max-width: 500px;
    margin-bottom: 27px !important;
}

.kff-contact-topics {
    display: grid;
    gap: 11px;
}

.kff-contact-topic {
    display: flex;
    gap: 15px;
    padding: 17px 18px;
    border: 1px solid #e2e7ef;
    border-radius: 17px;
    background: #fff;
}

.kff-contact-topic > span {
    display: grid;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    place-items: center;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 800;
}

.kff-contact-topic p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.55;
}

.kff-contact-topic-blue > span { background: #e6efff; color: var(--contact-blue); }
.kff-contact-topic-pink > span { background: #fde5f0; color: var(--contact-pink); }
.kff-contact-topic-orange > span { background: #fff0d9; color: #e47b0e; }
.kff-contact-topic-green > span { background: #e3f5e5; color: #3e9e49; }

.kff-contact-form-card {
    padding: 32px;
    border: 1px solid #dfe5ef;
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(19, 33, 61, .075);
}

.kff-contact-form {
    display: grid;
    gap: 17px;
    margin-top: 23px;
}

.kff-contact-field-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.kff-contact-field {
    display: grid;
    gap: 7px;
    margin: 0;
}

.kff-contact-field > span {
    color: var(--contact-navy);
    font-size: 13px;
    font-weight: 700;
}

.kff-contact-field input,
.kff-contact-field select,
.kff-contact-field textarea {
    width: 100%;
    margin: 0;
    border: 1px solid #dbe2ed;
    border-radius: 13px;
    outline: 0;
    background: #fff;
    color: var(--contact-navy);
    font-family: inherit;
    font-size: 14px;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.kff-contact-field input,
.kff-contact-field select {
    height: 48px;
    padding: 0 14px;
}

.kff-contact-field textarea {
    min-height: 132px;
    padding: 13px 14px;
    resize: vertical;
}

.kff-contact-field input:focus,
.kff-contact-field select:focus,
.kff-contact-field textarea:focus {
    border-color: var(--contact-blue);
    box-shadow: 0 0 0 3px rgba(52, 120, 246, .12);
}

.kff-contact-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.kff-contact-submit {
    display: inline-flex;
    width: fit-content;
    min-height: 47px;
    margin-top: 2px;
    padding: 0 21px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid var(--contact-blue);
    border-radius: 14px;
    background: var(--contact-blue);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 9px 20px rgba(52, 120, 246, .23);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease;
}

.kff-contact-submit:hover,
.kff-contact-submit:focus {
    border-color: var(--contact-blue);
    background: var(--contact-blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(52, 120, 246, .28);
}

.kff-contact-note {
    margin: -5px 0 0 !important;
    color: #8a96a9 !important;
    font-size: 11px !important;
}

.kff-contact-alert {
    display: grid;
    gap: 2px;
    margin-bottom: 22px;
    padding: 14px 16px;
    border-radius: 13px;
    font-size: 13px;
}

.kff-contact-alert span { color: #61708c; }
.kff-contact-alert-success { border: 1px solid #c8e9cd; background: #effaf1; }
.kff-contact-alert-success strong { color: #32833c; }
.kff-contact-alert-error { border: 1px solid #f2cbd9; background: #fff2f7; }
.kff-contact-alert-error strong { color: #c73573; }

.kff-contact-bottom {
    display: flex;
    padding: 25px 29px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border: 1px solid #e1e7f0;
    border-radius: 20px;
    background: #f8faff;
}

.kff-contact-bottom > div {
    display: flex;
    align-items: center;
    gap: 13px;
}

.kff-contact-bottom > div > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 13px;
    background: #e3f5e5;
    color: #3e9e49;
    font-weight: 800;
}

.kff-contact-bottom strong,
.kff-contact-bottom small {
    display: block;
}

.kff-contact-bottom small {
    margin-top: 2px;
    color: #6e7c94;
    font-size: 12px;
}

.kff-contact-bottom > a {
    color: #66748d;
    font-size: 13px;
    text-decoration: none;
}

.kff-contact-bottom > a strong {
    display: inline;
    color: var(--contact-blue);
}

@media (min-width: 922px) {
    body:has(.kff-contact-page) .site-header .ast-primary-header-bar {
        min-height: 82px !important;
    }

    body:has(.kff-contact-page) .site-header .ast-container {
        max-width: 1380px !important;
        margin: 0 auto !important;
        padding-right: 32px !important;
        padding-left: 32px !important;
    }
}

@media (max-width: 900px) {
    .kff-contact-layout {
        grid-template-columns: 1fr;
    }

    .kff-contact-info {
        max-width: 680px;
    }
}

@media (max-width: 700px) {
    .kff-contact-page {
        padding: 20px 16px 50px;
    }

    .kff-contact-page h1 { font-size: 28px; }
    .kff-contact-page h2 { font-size: 24px; }

    .kff-contact-hero {
        min-height: 0;
        padding: 30px 22px;
        align-items: flex-start;
        flex-direction: column;
        gap: 28px;
        border-radius: 22px;
    }

    .kff-contact-hero-icons {
        grid-template-columns: repeat(4, 48px);
        transform: none;
    }

    .kff-contact-hero-icons span {
        width: 48px;
        height: 48px;
        border-radius: 15px;
        font-size: 19px;
    }

    .kff-contact-layout {
        padding: 48px 0 42px;
    }

    .kff-contact-form-card {
        padding: 23px 19px;
    }

    .kff-contact-field-row {
        grid-template-columns: 1fr;
    }

    .kff-contact-submit {
        width: 100%;
    }

    .kff-contact-bottom {
        align-items: flex-start;
        padding: 22px;
        flex-direction: column;
    }
}

/* =========================================================
   LEGAL
   ========================================================= */

body:has(.kff-legal-page) .site-content,
body:has(.kff-legal-page) .ast-container,
body:has(.kff-legal-page) .content-area,
body:has(.kff-legal-page) .site-main,
body:has(.kff-legal-page) .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body:has(.kff-legal-page) .entry-header,
body:has(.kff-legal-page) .entry-title { display: none !important; }
.kff-legal-page, .kff-legal-page * { box-sizing: border-box; }

.kff-legal-page {
    --legal-navy: #13213d;
    --legal-blue: #3478f6;
    --legal-pink: #e34791;
    --legal-green: #55b95f;
    --legal-orange: #ff9c36;
    max-width: 1380px;
    margin: 0 auto;
    padding: 24px 32px 64px;
    color: var(--legal-navy);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.kff-legal-page h1, .kff-legal-page h2, .kff-legal-page h3, .kff-legal-page p { margin-top: 0; }
.kff-legal-page h1 { max-width: 720px; margin-bottom: 14px; color: var(--legal-navy); font-size: 32px; font-weight: 700; letter-spacing: -.035em; line-height: 1.16; }
.kff-legal-page h2 { margin-bottom: 12px; color: var(--legal-navy); font-size: 25px; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.kff-legal-page h3 { margin: 25px 0 9px; color: var(--legal-navy); font-size: 16px; font-weight: 700; }
.kff-legal-page p, .kff-legal-page li { color: #61708c; font-size: 14px; line-height: 1.75; }
.kff-legal-page ul { margin: 0 0 20px 20px; }
.kff-legal-page li { margin-bottom: 6px; padding-left: 3px; }
.kff-legal-kicker, .kff-legal-section-label { margin-bottom: 11px; color: var(--legal-pink); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.kff-legal-hero {
    display: flex;
    min-height: 255px;
    padding: 45px 55px;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
    overflow: hidden;
    border: 1px solid #e1e7f0;
    border-radius: 27px;
    background: linear-gradient(118deg,#fff 0%,#fff 58%,#f2f7ff 100%);
    box-shadow: 0 16px 45px rgba(19,33,61,.065);
}

.kff-legal-hero > div:first-child { max-width: 760px; }
.kff-legal-hero p { margin-bottom: 13px; font-size: 16px; }
.kff-legal-hero small { color: #8a96a9; font-size: 11px; font-weight: 600; }
.kff-legal-hero-mark { display: grid; width: 112px; height: 112px; flex: 0 0 112px; place-items: center; border: 13px solid #fff; border-radius: 34px; background: #dceaff; color: var(--legal-blue); font-size: 48px; font-weight: 800; box-shadow: 0 16px 38px rgba(52,120,246,.14); transform: rotate(4deg); }

.kff-legal-nav {
    display: flex;
    margin: 18px 0 0;
    padding: 13px 18px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    border: 1px solid #e2e7ef;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(19,33,61,.04);
}

.kff-legal-nav a { display: inline-flex; padding: 7px 12px; align-items: center; gap: 7px; border-radius: 999px; color: #53617a; font-size: 12px; font-weight: 700; text-decoration: none !important; }
.kff-legal-nav a:hover { background: #f5f7fb; color: var(--legal-navy); }
.kff-legal-nav span { width: 8px; height: 8px; border-radius: 50%; }
.kff-legal-dot-blue { background: var(--legal-blue); }
.kff-legal-dot-pink { background: var(--legal-pink); }
.kff-legal-dot-orange { background: var(--legal-orange); }
.kff-legal-dot-green { background: var(--legal-green); }
.kff-legal-dot-purple { background: #8067d9; }

.kff-legal-layout {
    display: grid;
    grid-template-columns: 255px minmax(0,1fr);
    align-items: start;
    gap: clamp(40px,7vw,95px);
    padding: 62px 10px 50px;
}

.kff-legal-aside { position: sticky; top: 105px; display: grid; gap: 14px; }
.kff-legal-aside-card { display: grid; padding: 22px; border: 1px solid #e1e7f0; border-radius: 18px; background: #fff; box-shadow: 0 9px 28px rgba(19,33,61,.05); }
.kff-legal-aside-card a { padding: 9px 0; border-bottom: 1px solid #edf0f5; color: #5d6b83; font-size: 12px; font-weight: 650; text-decoration: none !important; }
.kff-legal-aside-card a:last-child { border-bottom: 0; }
.kff-legal-aside-card a:hover { color: var(--legal-blue); }
.kff-legal-aside .kff-legal-section-label { margin-bottom: 7px; }
.kff-legal-note { display: flex; gap: 10px; padding: 15px; border-radius: 15px; background: #f1f6ff; }
.kff-legal-note > span { display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 8px; background: var(--legal-blue); color: #fff; font-size: 12px; font-weight: 800; }
.kff-legal-note p { margin: 0; font-size: 11px; line-height: 1.55; }

.kff-legal-content { max-width: 850px; }
.kff-legal-section { padding: 0 0 46px; margin: 0 0 46px; border-bottom: 1px solid #e3e8f0; scroll-margin-top: 105px; }
.kff-legal-section:last-child { margin-bottom: 0; border-bottom: 0; }
.kff-legal-section > p:last-child { margin-bottom: 0; }
.kff-legal-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; }
.kff-legal-heading > span { display: grid; width: 45px; height: 45px; flex: 0 0 45px; place-items: center; border-radius: 14px; font-size: 12px; font-weight: 800; }
.kff-legal-heading h2, .kff-legal-heading .kff-legal-section-label { margin-bottom: 0; }
.kff-legal-heading .kff-legal-section-label { margin-bottom: 3px; }
.kff-legal-heading-blue > span { background: #e7efff; color: var(--legal-blue); }
.kff-legal-heading-pink > span { background: #fde5f0; color: var(--legal-pink); }
.kff-legal-heading-orange > span { background: #fff0d9; color: #df7b12; }
.kff-legal-heading-green > span { background: #e3f5e5; color: #3e9e49; }

.kff-legal-warning { display: flex; gap: 13px; margin: 22px 0; padding: 18px; border: 1px solid #f4d9b2; border-radius: 16px; background: #fff9ef; }
.kff-legal-warning > span { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 10px; background: var(--legal-orange); color: #fff; font-weight: 800; }
.kff-legal-warning p { margin: 0; color: #665a48; font-size: 13px; }

.kff-legal-contact-button { display: inline-flex; min-height: 46px; margin-top: 8px; padding: 0 20px; align-items: center; gap: 9px; border-radius: 14px; background: var(--legal-blue); color: #fff !important; font-size: 13px; font-weight: 700; text-decoration: none !important; box-shadow: 0 9px 20px rgba(52,120,246,.22); }
.kff-legal-footer-note { display: flex; max-width: 850px; margin-left: auto; padding: 25px 28px; align-items: center; gap: 15px; border: 1px solid #cfe8d3; border-radius: 19px; background: #f1faf2; }
.kff-legal-footer-note > span { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 13px; background: var(--legal-green); color: #fff; font-weight: 800; }
.kff-legal-footer-note strong { display: block; margin-bottom: 2px; color: var(--legal-navy); font-size: 14px; }
.kff-legal-footer-note p { margin: 0; font-size: 12px; }

@media (min-width: 922px) {
    body:has(.kff-legal-page) .site-header .ast-primary-header-bar { min-height: 82px !important; }
    body:has(.kff-legal-page) .site-header .ast-container { max-width: 1380px !important; margin: 0 auto !important; padding-right: 32px !important; padding-left: 32px !important; }
}

@media (max-width: 900px) {
    .kff-legal-layout { grid-template-columns: 1fr; }
    .kff-legal-aside { position: static; }
    .kff-legal-aside-card { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
    .kff-legal-aside-card .kff-legal-section-label { grid-column: 1/-1; }
    .kff-legal-content { max-width: none; }
}

@media (max-width: 700px) {
    .kff-legal-page { padding: 20px 16px 50px; }
    .kff-legal-page h1 { font-size: 28px; }
    .kff-legal-page h2 { font-size: 23px; }
    .kff-legal-hero { min-height: 0; padding: 30px 22px; align-items: flex-start; flex-direction: column; gap: 26px; border-radius: 22px; }
    .kff-legal-hero-mark { width: 72px; height: 72px; flex-basis: 72px; border-width: 8px; border-radius: 23px; font-size: 32px; }
    .kff-legal-nav { justify-content: flex-start; }
    .kff-legal-layout { padding: 48px 0 38px; gap: 42px; }
    .kff-legal-aside-card { grid-template-columns: 1fr; }
    .kff-legal-heading { align-items: flex-start; }
    .kff-legal-section { padding-bottom: 35px; margin-bottom: 35px; }
    .kff-legal-footer-note { align-items: flex-start; }
}

/* =========================================================
   PLACE DETAILS
   ========================================================= */

body:has(.kff-place-details) .site-content,
body:has(.kff-place-details) .ast-container,
body:has(.kff-place-details) .content-area,
body:has(.kff-place-details) .site-main,
body:has(.kff-place-details) .entry-content { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; }
body:has(.kff-place-details) .entry-header,
body:has(.kff-place-details) .entry-title { display:none!important; }
body:has(.kff-place-details) { background:#f6f8fc; }
body.kff-modal-open { overflow:hidden; }

.kff-place-details, .kff-place-details * { box-sizing:border-box; }
.kff-place-details { --place-accent:#55b95f; --place-accent-soft:#e7f7e9; width:100%; max-width:1380px; margin:0 auto; padding:24px 32px 70px; color:#13213d; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.kff-place-type-beach,.kff-place-type-splash-pad,.kff-place-type-water-park,.kff-place-type-swimming-pool,.kff-place-type-aquarium { --place-accent:#3478f6; --place-accent-soft:#e8f0ff; }
.kff-place-type-indoor-playground,.kff-place-type-childrens-museum,.kff-place-type-museum,.kff-place-type-library { --place-accent:#8067d9; --place-accent-soft:#f0edff; }
.kff-place-type-sports-complex,.kff-place-type-bowling,.kff-place-type-mini-golf,.kff-place-type-trampoline-park { --place-accent:#e34791; --place-accent-soft:#fde8f2; }
.kff-place-type-zoo,.kff-place-type-farm,.kff-place-type-petting-zoo,.kff-place-type-seasonal-farm { --place-accent:#ff9c36; --place-accent-soft:#fff0da; }
.kff-place-breadcrumb { margin:0 0 17px; color:#75829a; font-size:12px; }
.kff-place-breadcrumb a { color:#3478f6; text-decoration:none!important; }

.kff-place-top { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); min-height:390px; overflow:hidden; border:1px solid #e0e6ef; border-radius:26px; background:#fff; box-shadow:0 16px 45px rgba(19,33,61,.075); }
.kff-place-photo { position:relative; min-height:390px; overflow:hidden; background:linear-gradient(135deg,var(--place-accent-soft),var(--place-accent)); }
.kff-place-photo::after { position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(19,33,61,.22)); content:""; pointer-events:none; }
.kff-place-photo img { display:block; width:100%; height:100%; min-height:390px; object-fit:cover; object-position:center; }
.kff-place-photo-placeholder::before { position:absolute; top:50%; left:50%; color:rgba(255,255,255,.8); font-size:64px; content:"⌖"; transform:translate(-50%,-50%); }
.kff-place-photo-label { position:absolute; bottom:18px; left:18px; z-index:2; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.94); color:#61708c; font-size:11px; font-weight:750; }
.kff-photo-credit { position:absolute; right:12px; bottom:12px; z-index:2; padding:6px 9px; border-radius:9px; background:rgba(0,0,0,.58); color:#fff; font-size:9px; }
.kff-place-top-info { display:flex; padding:38px 42px; justify-content:center; flex-direction:column; }
.kff-place-categories { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:13px; }
.kff-place-category { padding:7px 11px; border-radius:999px; background:var(--place-accent-soft); color:var(--place-accent); font-size:10px; font-weight:800; }
.kff-place-top h1 { margin:0 0 9px; color:#13213d; font-size:32px; font-weight:700; letter-spacing:-.035em; line-height:1.15; }
.kff-place-location { margin-bottom:12px; color:#68768e; font-size:12px; }
.kff-place-rating-line { display:flex; min-height:23px; margin-bottom:6px; align-items:center; flex-wrap:wrap; gap:8px; color:#68768e; font-size:12px; }
.kff-place-rating-line strong { color:#13213d; font-size:13px; }
.kff-stars { color:#f3a11a; font-size:15px; letter-spacing:1px; }
.kff-place-parent-status { display:flex; margin-bottom:16px; align-items:center; gap:7px; color:#4f6a59; font-size:11px; font-weight:650; }
.kff-place-parent-status-icon { display:grid; width:20px; height:20px; place-items:center; border-radius:50%; background:#e2f5e5; color:#3e9e49; font-size:11px; font-weight:900; }
.kff-place-top-tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:21px; }
.kff-place-top-tag { display:inline-flex; min-height:34px; padding:0 11px; align-items:center; gap:6px; border:1px solid #e2e7ef; border-radius:999px; background:#fafbfc; color:#506079; font-size:10px; font-weight:700; }
.kff-place-top-actions { display:flex; flex-wrap:wrap; gap:8px; }
.kff-place-button,.kff-favorite-button,.kff-add-list-button { display:inline-flex!important; width:auto!important; min-width:0!important; min-height:42px!important; margin:0!important; padding:0 15px!important; align-items:center; justify-content:center; border:1px solid #3478f6!important; border-radius:12px!important; background:#3478f6!important; color:#fff!important; font-family:inherit; font-size:11px!important; font-weight:750!important; line-height:1!important; text-decoration:none!important; box-shadow:none; cursor:pointer; }
.kff-place-button:hover { transform:translateY(-1px); }
.kff-place-button.secondary,.kff-favorite-button,.kff-add-list-button { border-color:#dfe5ee!important; background:#fff!important; color:#53617a!important; }
.kff-favorite-button:hover,.kff-add-list-button:hover,.kff-place-button.secondary:hover { border-color:#bfcde1!important; background:#f8faff!important; color:#3478f6!important; }
.kff-favorite-button.is-saved { border-color:#f2a6c7!important; background:#fff0f6!important; color:#d6387d!important; }
.kff-been-here-button { border-color:var(--place-accent)!important; background:var(--place-accent)!important; color:#fff!important; box-shadow:0 8px 18px color-mix(in srgb,var(--place-accent) 25%,transparent)!important; }
.kff-been-here-button.is-visited { border-color:#bfe5c5!important; background:#edf9ef!important; color:#31823b!important; box-shadow:none!important; }

.kff-place-body { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:24px; margin-top:24px; align-items:start; }
.kff-place-section { position:relative; margin-bottom:17px; padding:25px; border:1px solid #e1e7f0; border-radius:19px; background:#fff; box-shadow:0 7px 22px rgba(19,33,61,.04); }
.kff-place-section::before { position:absolute; top:21px; left:0; width:4px; height:31px; border-radius:0 5px 5px 0; background:var(--section-accent,#3478f6); content:""; }
.kff-place-section h2 { margin:0 0 14px; color:#13213d; font-size:20px; font-weight:700; letter-spacing:-.02em; line-height:1.25; }
.kff-place-description,.kff-place-description p { margin-bottom:0; color:#5f6d85; font-size:14px; line-height:1.75; }
.kff-section-about { --section-accent:#3478f6; }.kff-section-family { --section-accent:#e34791; }.kff-section-essentials { --section-accent:#23a9b5; }.kff-section-safety { --section-accent:#ff9c36; }.kff-section-accessibility { --section-accent:#4f8ee8; }.kff-section-activities { --section-accent:#55b95f; }.kff-section-comfort { --section-accent:#e7b42e; }.kff-section-food { --section-accent:#ed7865; }.kff-section-planning { --section-accent:#8067d9; }.kff-section-reviews { --section-accent:#e34791; }
.kff-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.kff-feature-card { display:flex; min-height:55px; padding:11px 12px; align-items:center; gap:9px; border:1px solid #e8ecf2; border-radius:13px; background:#fbfcfe; color:#53617a; font-size:11px; font-weight:700; }
.kff-feature-icon { flex:0 0 auto; font-size:17px; }
.kff-detail-empty { padding:14px 15px; border:1px dashed #dce3ed; border-radius:12px; background:#fafbfc; color:#8a96a9; font-size:11px; line-height:1.55; }
.kff-place-sidebar { position:sticky; top:96px; }
.kff-info-card { margin-bottom:16px; padding:21px; border:1px solid #e1e7f0; border-radius:18px; background:#fff; box-shadow:0 7px 22px rgba(19,33,61,.04); }
.kff-info-card h3 { margin:0 0 13px; color:#13213d; font-size:16px; font-weight:700; }
.kff-info-row { padding:11px 0; border-bottom:1px solid #edf0f5; color:#53617a; font-size:11px; line-height:1.55; }
.kff-info-row:last-of-type { border-bottom:0; }
.kff-info-label { display:block; margin-bottom:3px; color:#929daf; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.kff-sidebar-button { display:flex; width:100%; min-height:42px; margin-top:8px; padding:0 12px; align-items:center; justify-content:center; border-radius:11px; background:#3478f6; color:#fff!important; font-size:11px; font-weight:750; text-decoration:none!important; }
.kff-sidebar-button.secondary { border:1px solid #dfe5ee; background:#fff; color:#53617a!important; }
.kff-place-section-heading { display:flex; margin-bottom:18px; align-items:flex-start; justify-content:space-between; gap:20px; }
.kff-place-section-heading h2 { margin-bottom:0; }
.kff-place-section-kicker { display:block; margin-bottom:4px; color:#e34791; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.kff-place-text-button { padding:7px 0; border:0; background:transparent; color:#3478f6; font-family:inherit; font-size:11px; font-weight:750; cursor:pointer; }
.kff-review-overall { display:flex; align-items:center; gap:15px; }
.kff-review-overall > strong { color:#13213d; font-size:38px; font-weight:750; }
.kff-review-overall p { margin:3px 0 0; color:#78859b; font-size:10px; }
.kff-parent-rating-summary { display:grid; grid-template-columns:auto minmax(0,1fr); gap:28px; }
.kff-review-dimensions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; }
.kff-review-dimensions > div { display:flex; padding-bottom:7px; justify-content:space-between; gap:10px; border-bottom:1px solid #edf0f5; color:#65738b; font-size:11px; }
.kff-review-dimensions b { color:#13213d; }
.kff-place-empty-action { display:flex; grid-column:1/-1; padding:16px; align-items:center; gap:13px; border-radius:14px; background:#fff6fa; }
.kff-place-empty-action > span { color:#e34791; font-size:25px; }.kff-place-empty-action strong { color:#13213d; font-size:13px; }.kff-place-empty-action p { margin:2px 0 0; color:#78859b; font-size:10px; }.kff-place-empty-action button { margin-left:auto; padding:9px 13px; border:0; border-radius:10px; background:#e34791; color:#fff; font-size:10px; font-weight:750; cursor:pointer; }
.kff-attribute-vote-summary { margin-top:22px; }.kff-attribute-vote-summary > h3 { margin:0 0 11px; color:#13213d; font-size:14px; }.kff-attribute-vote-summary > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.kff-attribute-vote-summary article { display:flex; padding:11px; align-items:center; gap:9px; border:1px solid #e5eaf1; border-radius:12px; }.kff-attribute-vote-summary article > span { color:#45a651; font-weight:900; }.kff-attribute-vote-summary strong,.kff-attribute-vote-summary small { display:block; }.kff-attribute-vote-summary strong { color:#53617a; font-size:10px; }.kff-attribute-vote-summary small { margin-top:2px; color:#8a96a9; font-size:9px; }

.kff-experience-modal,.kff-list-picker-modal { position:fixed; inset:0; z-index:99999; display:flex; padding:20px; align-items:center; justify-content:center; }
.kff-experience-modal[hidden],.kff-list-picker-modal[hidden] { display:none!important; }
.kff-experience-backdrop,.kff-list-picker-backdrop { position:absolute; inset:0; background:rgba(19,33,61,.58); backdrop-filter:blur(3px); }
.kff-experience-dialog { position:relative; z-index:1; width:min(760px,100%); max-height:90vh; padding:30px; overflow:auto; border-radius:24px; background:#fff; box-shadow:0 25px 70px rgba(19,33,61,.25); }
.kff-experience-close,.kff-list-picker-close { position:absolute; top:13px; right:15px; z-index:2; width:35px; height:35px; padding:0; border:0; background:transparent; color:#728096; font-size:25px; cursor:pointer; }
.kff-experience-heading { display:flex; padding-right:35px; align-items:flex-start; gap:14px; }.kff-experience-heading > span { display:grid; width:45px; height:45px; flex:0 0 45px; place-items:center; border-radius:14px; background:#fde5f0; color:#e34791; font-size:21px; }.kff-experience-heading small { color:#e34791; font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }.kff-experience-heading h2 { margin:3px 0 4px; color:#13213d; font-size:25px; font-weight:700; }.kff-experience-heading p { margin:0; color:#75829a; font-size:12px; }
.kff-experience-form { display:grid; gap:22px; margin-top:25px; }.kff-experience-date { display:grid; gap:7px; }.kff-experience-date > span,.kff-experience-comment > span { color:#13213d; font-size:12px; font-weight:750; }.kff-experience-date input { width:190px; height:42px; padding:0 12px; border:1px solid #dce3ed; border-radius:11px; color:#53617a; font-family:inherit; }
.kff-rating-field,.kff-vote-question { min-width:0; margin:0; padding:0; border:0; }.kff-rating-field legend { margin-bottom:8px; color:#53617a; font-size:11px; font-weight:700; }.kff-rating-field legend span { margin-right:6px; }.kff-rating-field legend em { margin-left:4px; color:#e34791; font-size:9px; font-style:normal; text-transform:uppercase; }
.kff-star-input { display:flex; gap:4px; }.kff-star-input button { width:39px; height:39px; padding:0; border:0; background:transparent; color:#d7dde7; font-size:31px; line-height:1; cursor:pointer; }.kff-star-input button.is-selected { color:#ffab21; }.kff-star-input-small button { width:25px; height:25px; font-size:21px; }
.kff-overall-rating { padding:17px 18px; border-radius:15px; background:#fff9ee; }.kff-dimension-ratings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.kff-dimension-ratings .kff-rating-field { padding:14px; border:1px solid #e6eaf1; border-radius:13px; }
.kff-experience-questions { padding-top:20px; border-top:1px solid #e8ecf2; }.kff-experience-questions h3 { margin:0 0 3px; color:#13213d; font-size:16px; }.kff-experience-questions > p { margin:0 0 13px; color:#7d899e; font-size:11px; }.kff-vote-question { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:11px 0; align-items:center; gap:15px; border-bottom:1px solid #edf0f5; }.kff-vote-question legend { color:#53617a; font-size:11px; font-weight:650; }.kff-vote-question > div { display:flex; gap:5px; }.kff-vote-question button { min-width:56px; height:31px; padding:0 9px; border:1px solid #dfe5ee; border-radius:9px; background:#fff; color:#68768e; font-size:9px; font-weight:750; cursor:pointer; }.kff-vote-question button.is-selected { border-color:#3478f6; background:#eaf1ff; color:#2868da; }
.kff-experience-comment { display:grid; gap:8px; }.kff-experience-comment small { display:block; margin-top:2px; color:#8c97a9; font-size:9px; font-weight:500; }.kff-experience-comment textarea { width:100%; min-height:105px; padding:12px 13px; resize:vertical; border:1px solid #dce3ed; border-radius:12px; color:#34435e; font-family:inherit; font-size:12px; }
.kff-experience-photo { display:flex; padding:14px; align-items:center; justify-content:space-between; gap:15px; border:1px dashed #d7dfea; border-radius:13px; background:#fafbfc; }.kff-experience-photo strong,.kff-experience-photo span { display:block; }.kff-experience-photo strong { color:#53617a; font-size:11px; }.kff-experience-photo span { margin-top:2px; color:#8a96a9; font-size:9px; }.kff-experience-photo button { padding:7px 10px; border:0; border-radius:9px; color:#9aa4b4; font-size:9px; }
.kff-experience-message { padding:12px 14px; border-radius:11px; font-size:11px; }.kff-experience-message.is-success { background:#edf9ef; color:#31823b; }.kff-experience-message.is-error { background:#fff0f5; color:#c53572; }
.kff-experience-footer { display:flex; padding-top:18px; justify-content:flex-end; gap:8px; border-top:1px solid #e8ecf2; }.kff-experience-footer button { min-height:41px; padding:0 16px; border-radius:11px; font-family:inherit; font-size:10px; font-weight:750; cursor:pointer; }.kff-experience-cancel { border:1px solid #dfe5ee; background:#fff; color:#61708c; }.kff-experience-submit { border:1px solid #3478f6; background:#3478f6; color:#fff; }.kff-experience-submit:disabled { opacity:.55; cursor:wait; }

.kff-list-picker-card { position:relative; z-index:1; width:min(480px,100%); max-height:85vh; padding:26px; overflow:auto; border-radius:20px; background:#fff; box-shadow:0 24px 60px rgba(19,33,61,.24); }.kff-list-picker-card h2 { margin:0 0 6px; color:#13213d; font-size:22px; }.kff-list-picker-card > p { margin:0 0 18px; color:#738096; font-size:11px; }.kff-list-picker-message,.kff-list-picker-empty { padding:17px; border-radius:12px; background:#f7f9fc; color:#748198; font-size:11px; text-align:center; }.kff-list-picker-items { display:grid; gap:8px; }.kff-list-picker-row { display:flex; padding:11px 12px; align-items:center; gap:9px; border:1px solid #e3e8ef; border-radius:11px; }.kff-list-picker-row input { width:17px; height:17px; accent-color:#3478f6; }.kff-list-picker-row-name { flex:1; color:#43526c; font-size:11px; font-weight:700; }.kff-list-picker-create { display:flex; gap:7px; margin-top:17px; padding-top:17px; border-top:1px solid #e7ebf1; }.kff-list-picker-create input { min-width:0; flex:1; padding:9px 10px; border:1px solid #dce3ed; border-radius:10px; font-size:11px; }.kff-list-picker-create button,.kff-list-picker-done { border:0; border-radius:10px; background:#3478f6; color:#fff; font-size:10px; font-weight:750; cursor:pointer; }.kff-list-picker-create button { padding:0 13px; }.kff-list-picker-error { margin-top:11px; padding:10px; border-radius:9px; background:#fff0f5; color:#c53572; font-size:10px; }.kff-list-picker-footer { display:flex; margin-top:18px; justify-content:flex-end; }.kff-list-picker-done { min-height:39px; padding:0 17px; }

@media (min-width:922px) { body:has(.kff-place-details) .site-header .ast-primary-header-bar { min-height:82px!important; } body:has(.kff-place-details) .site-header .ast-container { max-width:1380px!important; margin:0 auto!important; padding-right:32px!important; padding-left:32px!important; } }
@media (max-width:1050px) { .kff-place-top { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }.kff-place-top-info { padding:30px; }.kff-place-body { grid-template-columns:1fr; }.kff-place-sidebar { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.kff-info-card { margin:0; } }
@media (max-width:800px) { .kff-place-top { grid-template-columns:1fr; }.kff-place-photo,.kff-place-photo img { min-height:280px; height:280px; }.kff-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.kff-parent-rating-summary { grid-template-columns:1fr; }.kff-experience-dialog { padding:25px 20px; } }
@media (max-width:600px) { .kff-place-details { padding:20px 15px 55px; }.kff-place-top { border-radius:21px; }.kff-place-top h1 { font-size:28px; }.kff-place-photo,.kff-place-photo img { min-height:235px; height:235px; }.kff-place-top-info { padding:24px 20px; }.kff-place-button,.kff-favorite-button,.kff-add-list-button { flex:1 1 calc(50% - 8px); }.kff-feature-grid,.kff-review-dimensions,.kff-attribute-vote-summary > div,.kff-dimension-ratings,.kff-place-sidebar { grid-template-columns:1fr; }.kff-place-section { padding:22px 18px; }.kff-place-section-heading { flex-direction:column; gap:5px; }.kff-place-empty-action { align-items:flex-start; flex-wrap:wrap; }.kff-place-empty-action button { width:100%; margin-left:0; }.kff-experience-modal { padding:0; align-items:flex-end; }.kff-experience-dialog { width:100%; max-height:94vh; border-radius:22px 22px 0 0; }.kff-vote-question { grid-template-columns:1fr; }.kff-vote-question > div { width:100%; }.kff-vote-question button { flex:1; }.kff-experience-footer { position:sticky; bottom:-25px; margin:0 -20px -25px; padding:14px 20px; background:#fff; }.kff-experience-submit { flex:1; } }


/* =========================================================
   LEGAL - WIDTH + LEGAL CENTER CARDS
   Add this after the existing LEGAL section in design-system.css
   ========================================================= */

.kff-legal-page {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 30px 28px 60px !important;
}

.kff-legal-doc-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 22px 0 4px;
}

.kff-legal-doc-card {
    display: flex;
    min-width: 0;
    padding: 23px 21px;
    align-items: flex-start;
    gap: 15px;
    border: 1px solid #e2e7ef;
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(19,33,61,.04);
}

.kff-legal-doc-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 13px;
    font-size: 17px;
    font-weight: 800;
}

.kff-legal-doc-card h2 {
    margin-bottom: 7px;
    font-size: 18px;
}

.kff-legal-doc-card p {
    margin-bottom: 12px;
    font-size: 13px;
    line-height: 1.65;
}

.kff-legal-doc-card a {
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.kff-legal-doc-blue .kff-legal-doc-icon {
    background: #eaf2ff;
    color: var(--legal-blue);
}
.kff-legal-doc-blue a { color: var(--legal-blue); }

.kff-legal-doc-pink .kff-legal-doc-icon {
    background: #fdebf4;
    color: var(--legal-pink);
}
.kff-legal-doc-pink a { color: var(--legal-pink); }

.kff-legal-doc-orange .kff-legal-doc-icon {
    background: #fff1df;
    color: #d97706;
}
.kff-legal-doc-orange a { color: #d97706; }

@media (min-width: 922px) {
    body:has(.kff-legal-page) .site-header .ast-container {
        max-width: 1320px !important;
        margin: 0 auto !important;
        padding-right: 28px !important;
        padding-left: 28px !important;
    }
}

@media (max-width: 900px) {
    .kff-legal-doc-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .kff-legal-page {
        padding: 20px 16px 50px !important;
    }
}


/* Legal Center footer document links */
.kff-legal-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 10px;
}

.kff-legal-footer-links a {
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.kff-legal-footer-links a:nth-child(1) { color: var(--legal-blue); }
.kff-legal-footer-links a:nth-child(2) { color: var(--legal-pink); }
.kff-legal-footer-links a:nth-child(3) { color: #d97706; }



/* =========================================================
   LEGAL CENTER — final additions for 4 legal documents
   Add after the existing Legal CSS.
   ========================================================= */

.kff-legal-doc-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kff-legal-dot-purple {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 7px;
    border-radius: 999px;
    background: #7c5ce7;
    vertical-align: middle;
}

.kff-legal-doc-purple .kff-legal-doc-icon {
    background: #f0ecff;
    color: #6d50cc;
}

.kff-legal-doc-purple a {
    color: #6d50cc;
}

.kff-legal-heading-purple > span {
    background: #f0ecff;
    color: #6d50cc;
}

.kff-legal-inline-link {
    display: inline-block;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 800;
    color: var(--legal-blue, #2369a8);
    text-decoration: none !important;
}

.kff-legal-inline-link:hover {
    text-decoration: underline !important;
}

.kff-legal-footer-links a:nth-child(4) {
    color: #6d50cc;
}

@media (max-width: 1100px) {
    .kff-legal-doc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .kff-legal-doc-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Kids & Family FUN
   LEGAL SUBPAGES — shared design
   Privacy / Terms / Community / Cookie
   ========================================================= */

/* ---------- PAGE WIDTH / FONT ---------- */

.kff-privacy-page,
.kff-terms-page,
.kff-community-page,
.kff-cookie-page {
    --kff-legal-navy: #13213d;
    --kff-legal-blue: #3478f6;
    --kff-legal-pink: #e34791;
    --kff-legal-green: #55b95f;
    --kff-legal-orange: #ff9c36;
    --kff-legal-purple: #8067d9;

    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 30px 28px 60px !important;

    color: var(--kff-legal-navy);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}


/* =========================================================
   HERO
   ========================================================= */

.kff-privacy-hero,
.kff-terms-hero,
.kff-community-hero,
.kff-cookie-hero {
    position: relative;
    min-height: 255px;

    margin: 0 0 18px !important;
    padding: 45px 55px !important;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;

    overflow: hidden;

    border: 1px solid #e1e7f0;
    border-radius: 27px;

    background:
        linear-gradient(
            118deg,
            #ffffff 0%,
            #ffffff 58%,
            #f2f7ff 100%
        );

    box-shadow: 0 16px 45px rgba(19, 33, 61, 0.065);
}


/* decorative soft mark on right */

.kff-privacy-hero::after,
.kff-terms-hero::after,
.kff-community-hero::after,
.kff-cookie-hero::after {
    position: absolute;
    right: 58px;
    top: 50%;

    width: 112px;
    height: 112px;

    display: grid;
    place-items: center;

    transform: translateY(-50%) rotate(4deg);

    border: 13px solid #ffffff;
    border-radius: 34px;

    background: #dceaff;

    color: var(--kff-legal-blue);

    font-size: 44px;
    font-weight: 800;

    box-shadow: 0 16px 38px rgba(52, 120, 246, 0.14);

    pointer-events: none;
}


/* different icon for each page */

.kff-privacy-hero::after {
    content: "i";
}

.kff-terms-hero::after {
    content: "§";
    background: #fde8f3;
    color: var(--kff-legal-pink);
}

.kff-community-hero::after {
    content: "★";
    background: #fff1dc;
    color: var(--kff-legal-orange);
}

.kff-cookie-hero::after {
    content: "◉";
    background: #eee9ff;
    color: var(--kff-legal-purple);
}


/* hero content max width so it does not hit icon */

.kff-privacy-hero > *,
.kff-terms-hero > *,
.kff-community-hero > *,
.kff-cookie-hero > * {
    position: relative;
    z-index: 2;
    max-width: 820px;
}


/* ---------- EYEBROW ---------- */

.kff-privacy-eyebrow,
.kff-terms-eyebrow,
.kff-community-eyebrow,
.kff-cookie-eyebrow {
    margin: 0 0 11px !important;

    color: var(--kff-legal-pink) !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;

    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
}


/* ---------- HERO TITLE ---------- */

.kff-privacy-title,
.kff-terms-title,
.kff-community-title,
.kff-cookie-title {
    max-width: 760px !important;

    margin: 0 0 14px !important;

    color: var(--kff-legal-navy) !important;

    font-size: 42px !important;
    font-weight: 750 !important;
    line-height: 1.12 !important;

    letter-spacing: -0.035em !important;
}


/* ---------- HERO DESCRIPTION ---------- */

.kff-privacy-intro,
.kff-terms-intro,
.kff-community-intro,
.kff-cookie-intro {
    max-width: 790px !important;

    margin: 0 0 13px !important;

    color: #61708c !important;

    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
}


/* ---------- LAST UPDATED ---------- */

.kff-privacy-updated,
.kff-terms-updated,
.kff-community-updated,
.kff-cookie-updated {
    display: block !important;

    margin: 10px 0 0 !important;

    color: #8a96a9 !important;

    font-size: 11px !important;
    font-weight: 600 !important;
}


/* =========================================================
   TOP NOTICE
   ========================================================= */

.kff-privacy-notice,
.kff-terms-notice,
.kff-community-notice,
.kff-cookie-notice {
    margin: 18px 0 24px !important;
    padding: 18px 22px !important;

    border: 1px solid #dfe7f1 !important;
    border-radius: 17px !important;

    background: #f8fbff !important;

    color: #53617a !important;

    font-size: 14px !important;
    line-height: 1.7 !important;

    box-shadow: 0 7px 22px rgba(19, 33, 61, 0.035);
}

.kff-privacy-notice strong,
.kff-terms-notice strong,
.kff-community-notice strong,
.kff-cookie-notice strong {
    color: var(--kff-legal-navy);
}


/* =========================================================
   MAIN LAYOUT
   ========================================================= */

.kff-privacy-layout,
.kff-terms-layout,
.kff-community-layout,
.kff-cookie-layout {
    display: grid !important;

    grid-template-columns: 255px minmax(0, 1fr) !important;

    gap: 34px !important;

    align-items: start !important;
}


/* =========================================================
   LEFT NAV
   ========================================================= */

.kff-privacy-nav,
.kff-terms-nav,
.kff-community-nav,
.kff-cookie-nav {
    position: sticky !important;
    top: 105px !important;

    margin: 0 !important;
    padding: 18px !important;

    border: 1px solid #e2e7ef !important;
    border-radius: 18px !important;

    background: #ffffff !important;

    box-shadow: 0 7px 22px rgba(19, 33, 61, 0.04);
}


/* nav label */

.kff-privacy-nav-title,
.kff-terms-nav-title,
.kff-community-nav-title,
.kff-cookie-nav-title {
    margin: 0 0 10px !important;

    color: #8a96a9 !important;

    font-size: 10px !important;
    font-weight: 800 !important;

    letter-spacing: 0.09em !important;
    text-transform: uppercase !important;
}


/* nav links */

.kff-privacy-nav a,
.kff-terms-nav a,
.kff-community-nav a,
.kff-cookie-nav a {
    display: block !important;

    margin: 1px 0 !important;
    padding: 8px 10px !important;

    border-radius: 9px !important;

    color: #53617a !important;

    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;

    text-decoration: none !important;
}

.kff-privacy-nav a:hover,
.kff-terms-nav a:hover,
.kff-community-nav a:hover,
.kff-cookie-nav a:hover {
    background: #f5f7fb !important;
    color: var(--kff-legal-navy) !important;
}


/* =========================================================
   CONTENT TYPOGRAPHY
   ========================================================= */

.kff-privacy-content,
.kff-terms-content,
.kff-community-content,
.kff-cookie-content {
    min-width: 0 !important;
}


/* sections */

.kff-privacy-section,
.kff-terms-section,
.kff-community-section,
.kff-cookie-section {
    margin: 0 0 38px !important;
    padding: 0 !important;

    scroll-margin-top: 115px;
}


/* H2 */

.kff-privacy-section h2,
.kff-terms-section h2,
.kff-community-section h2,
.kff-cookie-section h2,
.kff-privacy-contact h2,
.kff-terms-contact h2,
.kff-community-contact h2,
.kff-cookie-contact h2 {
    margin: 0 0 12px !important;

    color: var(--kff-legal-navy) !important;

    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    letter-spacing: -0.025em !important;
}


/* H3 */

.kff-privacy-section h3,
.kff-terms-section h3,
.kff-community-section h3,
.kff-cookie-section h3 {
    margin: 25px 0 9px !important;

    color: var(--kff-legal-navy) !important;

    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
}


/* text */

.kff-privacy-section p,
.kff-terms-section p,
.kff-community-section p,
.kff-cookie-section p,
.kff-privacy-contact p,
.kff-terms-contact p,
.kff-community-contact p,
.kff-cookie-contact p,

.kff-privacy-section li,
.kff-terms-section li,
.kff-community-section li,
.kff-cookie-section li {
    color: #61708c !important;

    font-size: 14px !important;
    line-height: 1.75 !important;
}


/* paragraphs */

.kff-privacy-section p,
.kff-terms-section p,
.kff-community-section p,
.kff-cookie-section p {
    margin: 0 0 13px !important;
}


/* lists */

.kff-privacy-section ul,
.kff-terms-section ul,
.kff-community-section ul,
.kff-cookie-section ul {
    margin: 0 0 20px 20px !important;
    padding-left: 18px !important;
}

.kff-privacy-section li,
.kff-terms-section li,
.kff-community-section li,
.kff-cookie-section li {
    margin: 0 0 6px !important;
    padding-left: 3px !important;
}


/* =========================================================
   INFO CARDS / WARNINGS
   ========================================================= */

.kff-privacy-card,
.kff-terms-card,
.kff-community-card,
.kff-cookie-card {
    margin: 18px 0 !important;
    padding: 18px 20px !important;

    border: 1px solid #e5eaf1 !important;
    border-radius: 16px !important;

    background: #ffffff !important;

    box-shadow: 0 6px 18px rgba(19, 33, 61, 0.035);
}


.kff-privacy-warning,
.kff-terms-warning,
.kff-community-warning,
.kff-cookie-warning {
    margin: 18px 0 !important;
    padding: 17px 19px !important;

    border: 1px solid #f1e5cc !important;
    border-left: 4px solid var(--kff-legal-orange) !important;
    border-radius: 13px !important;

    background: #fffaf1 !important;
}


.kff-terms-danger,
.kff-community-danger {
    margin: 18px 0 !important;
    padding: 17px 19px !important;

    border: 1px solid #f3dddd !important;
    border-left: 4px solid #d95d5d !important;
    border-radius: 13px !important;

    background: #fff7f7 !important;
}


.kff-community-good,
.kff-cookie-good {
    margin: 18px 0 !important;
    padding: 17px 19px !important;

    border: 1px solid #dceee1 !important;
    border-left: 4px solid var(--kff-legal-green) !important;
    border-radius: 13px !important;

    background: #f4fbf6 !important;
}


/* =========================================================
   LINKS
   ========================================================= */

.kff-privacy-page a,
.kff-terms-page a,
.kff-community-page a,
.kff-cookie-page a {
    color: var(--kff-legal-blue);
}

.kff-privacy-section a,
.kff-terms-section a,
.kff-community-section a,
.kff-cookie-section a {
    font-weight: 700;
}


/* =========================================================
   BOTTOM CONTACT BOX
   ========================================================= */

.kff-privacy-contact,
.kff-terms-contact,
.kff-community-contact,
.kff-cookie-contact {
    margin: 38px 0 0 !important;
    padding: 25px 28px !important;

    border: 1px solid #e1e7f0 !important;
    border-radius: 20px !important;

    background: linear-gradient(
        118deg,
        #ffffff 0%,
        #f7faff 100%
    ) !important;

    box-shadow: 0 10px 28px rgba(19, 33, 61, 0.045);
}


/* buttons */

.kff-privacy-button,
.kff-terms-button,
.kff-community-button,
.kff-cookie-button,
.kff-cookie-settings-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;

    margin-top: 7px !important;
    padding: 10px 17px !important;

    border: 0 !important;
    border-radius: 10px !important;

    background: var(--kff-legal-navy) !important;

    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 750 !important;

    text-decoration: none !important;

    cursor: pointer;

    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease,
        background 0.15s ease;
}

.kff-privacy-button:hover,
.kff-terms-button:hover,
.kff-community-button:hover,
.kff-cookie-button:hover,
.kff-cookie-settings-button:hover {
    transform: translateY(-1px);

    background: #1b3156 !important;

    box-shadow: 0 7px 16px rgba(19, 33, 61, 0.14);
}


/* footer legal links */

.kff-privacy-links,
.kff-terms-links,
.kff-community-links,
.kff-cookie-links {
    display: flex !important;

    margin-top: 16px !important;

    flex-wrap: wrap !important;

    gap: 9px 18px !important;
}

.kff-privacy-links a,
.kff-terms-links a,
.kff-community-links a,
.kff-cookie-links a {
    color: #61708c !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
}

.kff-privacy-links a:hover,
.kff-terms-links a:hover,
.kff-community-links a:hover,
.kff-cookie-links a:hover {
    color: var(--kff-legal-blue) !important;
}


/* =========================================================
   COOKIE TABLE
   ========================================================= */

.kff-cookie-table-wrap {
    margin: 18px 0 24px !important;

    overflow-x: auto !important;

    border: 1px solid #e4e9f0;
    border-radius: 16px;
}

.kff-cookie-table {
    width: 100% !important;
    min-width: 680px !important;

    margin: 0 !important;

    border: 0 !important;
    border-collapse: collapse !important;

    background: #ffffff !important;
}

.kff-cookie-table th {
    padding: 13px 15px !important;

    background: #f7f9fc !important;

    color: var(--kff-legal-navy) !important;

    font-size: 12px !important;
    font-weight: 750 !important;
}

.kff-cookie-table td {
    padding: 13px 15px !important;

    border-top: 1px solid #edf0f5 !important;

    color: #61708c !important;

    font-size: 13px !important;
    line-height: 1.6 !important;
}


/* =========================================================
   COOKIE SETTINGS BOX
   ========================================================= */

.kff-cookie-settings-box {
    margin: 20px 0 !important;
    padding: 20px !important;

    border: 1px solid #dfe7f1 !important;
    border-radius: 16px !important;

    background: #f8fbff !important;
}


/* =========================================================
   WORDPRESS / ASTRA
   remove unwanted WP title/content restrictions
   ========================================================= */

body:has(.kff-privacy-page) .entry-header,
body:has(.kff-terms-page) .entry-header,
body:has(.kff-community-page) .entry-header,
body:has(.kff-cookie-page) .entry-header {
    display: none !important;
}


body:has(.kff-privacy-page) .site-content,
body:has(.kff-privacy-page) .ast-container,
body:has(.kff-privacy-page) .content-area,
body:has(.kff-privacy-page) .site-main,
body:has(.kff-privacy-page) .entry-content,

body:has(.kff-terms-page) .site-content,
body:has(.kff-terms-page) .ast-container,
body:has(.kff-terms-page) .content-area,
body:has(.kff-terms-page) .site-main,
body:has(.kff-terms-page) .entry-content,

body:has(.kff-community-page) .site-content,
body:has(.kff-community-page) .ast-container,
body:has(.kff-community-page) .content-area,
body:has(.kff-community-page) .site-main,
body:has(.kff-community-page) .entry-content,

body:has(.kff-cookie-page) .site-content,
body:has(.kff-cookie-page) .ast-container,
body:has(.kff-cookie-page) .content-area,
body:has(.kff-cookie-page) .site-main,
body:has(.kff-cookie-page) .entry-content {
    width: 100% !important;
    max-width: none !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .kff-privacy-layout,
    .kff-terms-layout,
    .kff-community-layout,
    .kff-cookie-layout {
        grid-template-columns: 1fr !important;
    }

    .kff-privacy-nav,
    .kff-terms-nav,
    .kff-community-nav,
    .kff-cookie-nav {
        position: static !important;
    }

    .kff-privacy-hero,
    .kff-terms-hero,
    .kff-community-hero,
    .kff-cookie-hero {
        min-height: 0 !important;

        padding: 36px 34px !important;

        border-radius: 22px !important;
    }

    .kff-privacy-hero::after,
    .kff-terms-hero::after,
    .kff-community-hero::after,
    .kff-cookie-hero::after {
        display: none;
    }
}


@media (max-width: 600px) {

    .kff-privacy-page,
    .kff-terms-page,
    .kff-community-page,
    .kff-cookie-page {
        padding: 20px 16px 50px !important;
    }

    .kff-privacy-hero,
    .kff-terms-hero,
    .kff-community-hero,
    .kff-cookie-hero {
        padding: 28px 22px !important;
    }

    .kff-privacy-title,
    .kff-terms-title,
    .kff-community-title,
    .kff-cookie-title {
        font-size: 31px !important;
    }

    .kff-privacy-intro,
    .kff-terms-intro,
    .kff-community-intro,
    .kff-cookie-intro {
        font-size: 14px !important;
    }

    .kff-privacy-section h2,
    .kff-terms-section h2,
    .kff-community-section h2,
    .kff-cookie-section h2 {
        font-size: 22px !important;
    }
}
/* =========================================================
   EDIT PROFILE
   ========================================================= */

.kff-edit-profile-page,
.kff-edit-profile-page * {
    box-sizing: border-box;
}

body:has(.kff-edit-profile-page) .site-content,
body:has(.kff-edit-profile-page) #content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-edit-profile-page) .site-content > .ast-container,
body:has(.kff-edit-profile-page) .content-area,
body:has(.kff-edit-profile-page) .site-main,
body:has(.kff-edit-profile-page) article,
body:has(.kff-edit-profile-page) .entry-content,
body:has(.kff-edit-profile-page) .wp-block-shortcode {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}

body:has(.kff-edit-profile-page) .entry-header,
body:has(.kff-edit-profile-page) .entry-title {
    display: none !important;
}

.kff-edit-profile-page {
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 30px 28px 60px !important;
    color: var(--kff-navy) !important;
    font-family: var(--kff-font) !important;
}

.kff-edit-profile-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 18px;
    color: var(--kff-muted);
    font-size: 10px;
    font-weight: 600;
}

.kff-edit-profile-breadcrumbs a {
    color: var(--kff-blue);
    text-decoration: none;
}

.kff-edit-profile-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    margin-bottom: 22px;
}

.kff-edit-profile-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    margin-bottom: 10px;
    padding: 0 11px;
    border-radius: 999px;
    background: var(--kff-pink-soft);
    color: #ca3473;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.kff-edit-profile-title {
    margin: 0 0 7px !important;
    color: var(--kff-navy) !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -.03em !important;
}

.kff-edit-profile-subtitle {
    max-width: 700px;
    margin: 0 !important;
    color: var(--kff-muted) !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

.kff-edit-profile-back {
    flex: 0 0 auto;
    min-height: 36px;
    padding: 9px 13px;
    border: 1px solid var(--kff-border);
    border-radius: 10px;
    background: #fff;
    color: var(--kff-navy) !important;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none !important;
}

.kff-edit-profile-back:hover {
    background: var(--kff-surface-soft);
}

.kff-edit-profile-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.kff-edit-profile-preview-card,
.kff-edit-profile-card {
    border: 1px solid var(--kff-border);
    background: #fff;
    box-shadow: var(--kff-shadow-sm);
}

.kff-edit-profile-preview-card {
    position: sticky;
    top: 96px;
    padding: 24px 18px;
    border-radius: 18px;
    text-align: center;
    background:
        radial-gradient(circle at 90% 8%, rgba(243, 79, 146, .10), transparent 23%),
        radial-gradient(circle at 6% 100%, rgba(50, 118, 232, .10), transparent 26%),
        #fff;
}

.kff-edit-profile-avatar {
    width: 82px;
    height: 82px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--kff-blue), #4b8ef2);
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    box-shadow: 0 9px 22px rgba(50, 118, 232, .22);
}

.kff-edit-profile-preview-name {
    margin-bottom: 4px;
    color: var(--kff-navy);
    font-size: 17px;
    font-weight: 700;
}

.kff-edit-profile-preview-email {
    overflow-wrap: anywhere;
    color: var(--kff-muted);
    font-size: 10px;
}

.kff-edit-profile-preview-note {
    margin: 17px 0 0 !important;
    padding-top: 15px;
    border-top: 1px solid var(--kff-border);
    color: var(--kff-muted) !important;
    font-size: 9px !important;
    line-height: 1.6 !important;
}

.kff-edit-profile-main {
    min-width: 0;
}

.kff-edit-profile-card {
    margin-bottom: 16px;
    padding: 21px 22px;
    border-radius: 16px;
}

.kff-edit-profile-card-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--kff-border);
}

.kff-edit-profile-card h2 {
    margin: 0 0 5px !important;
    color: var(--kff-navy) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.kff-edit-profile-card p {
    margin: 0 !important;
    color: var(--kff-muted) !important;
    font-size: 10px !important;
    line-height: 1.55 !important;
}

.kff-edit-profile-field {
    margin-bottom: 17px;
}

.kff-edit-profile-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--kff-navy);
    font-size: 10px;
    font-weight: 700;
}

.kff-edit-profile-field input {
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    border: 1px solid #dfe4eb;
    border-radius: 10px;
    outline: none;
    background: #fff;
    color: var(--kff-navy);
    font-family: var(--kff-font);
    font-size: 11px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.kff-edit-profile-field input:focus {
    border-color: #8eb5f4;
    box-shadow: 0 0 0 3px rgba(50, 118, 232, .10);
}

.kff-edit-profile-help {
    margin-top: 6px;
    color: #98a2b3;
    font-size: 9px;
    line-height: 1.5;
}

.kff-edit-profile-error {
    min-height: 14px;
    margin-top: 5px;
    color: #d92d20;
    font-size: 9px;
    font-weight: 600;
}

.kff-edit-profile-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 9px;
    margin-top: 4px;
}

.kff-edit-profile-primary,
.kff-edit-profile-secondary {
    min-height: 38px;
    padding: 9px 15px;
    border-radius: 10px;
    font-family: var(--kff-font);
    font-size: 10px;
    font-weight: 700;
}

.kff-edit-profile-primary {
    border: 1px solid var(--kff-blue);
    background: var(--kff-blue);
    color: #fff;
    cursor: pointer;
}

.kff-edit-profile-primary:hover {
    filter: brightness(.96);
}

.kff-edit-profile-primary:disabled {
    opacity: .65;
    cursor: wait;
}

.kff-edit-profile-secondary {
    border: 1px solid var(--kff-border);
    background: #fff;
    color: var(--kff-muted) !important;
    text-decoration: none !important;
}

.kff-edit-profile-secondary:hover {
    background: var(--kff-surface-soft);
    color: var(--kff-navy) !important;
}

.kff-edit-profile-password-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.kff-edit-profile-password-wrap {
    position: relative;
    width: 100%;
    min-width: 0;
}

.kff-edit-profile-password-wrap input {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    padding-right: 68px !important;
}

.kff-edit-profile-password-toggle {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    width: auto !important;
    min-width: 48px !important;
    max-width: 56px !important;
    min-height: 30px !important;
    height: 30px !important;

    margin: 0 !important;
    padding: 0 10px !important;

    border: 0 !important;
    border-radius: 8px !important;

    background: var(--kff-surface-soft) !important;
    color: var(--kff-muted) !important;

    font-family: var(--kff-font) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 30px !important;
    text-align: center !important;

    box-shadow: none !important;
    cursor: pointer;
    z-index: 2;
}

.kff-edit-profile-password-toggle:hover,
.kff-edit-profile-password-toggle:focus {
    background: #edf1f7 !important;
    color: var(--kff-navy) !important;
}

.kff-edit-profile-security-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    background: linear-gradient(120deg, #fff, #f8faff);
}

.kff-edit-profile-security-card a {
    flex: 0 0 auto;
    color: var(--kff-blue) !important;
    font-size: 10px;
    font-weight: 700;
    text-decoration: none !important;
}

.kff-edit-profile-toast {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 999999;
    display: block;
    padding: 12px 16px;
    border-radius: 10px;
    background: var(--kff-navy);
    color: #fff;
    font-family: var(--kff-font);
    font-size: 10px;
    font-weight: 700;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}

.kff-edit-profile-toast.show {
    opacity: 1;
    transform: translateY(0);
}

.kff-edit-profile-toast.error {
    background: #b42318;
}

.kff-edit-profile-toast.success {
    background: #166c4a;
}

@media (min-width: 922px) {
    body:has(.kff-edit-profile-page) #masthead .ast-container,
    body:has(.kff-edit-profile-page) #masthead .site-primary-header-wrap {
        width: 100% !important;
        max-width: 1380px !important;
        margin: 0 auto !important;
    }
}

@media (max-width: 900px) {
    .kff-edit-profile-layout {
        grid-template-columns: 1fr;
    }

    .kff-edit-profile-preview-card {
        position: static;
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 16px;
        text-align: left;
    }

    .kff-edit-profile-avatar {
        grid-row: 1 / span 3;
        width: 64px;
        height: 64px;
        margin: 0;
        font-size: 20px;
    }

    .kff-edit-profile-preview-note {
        grid-column: 1 / -1;
    }
}

@media (max-width: 650px) {
    .kff-edit-profile-page {
        padding: 20px 16px 50px !important;
    }

    .kff-edit-profile-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .kff-edit-profile-title {
        font-size: 28px !important;
    }

    .kff-edit-profile-back {
        width: 100%;
        text-align: center;
    }

    .kff-edit-profile-card {
        padding: 17px 15px;
    }

    .kff-edit-profile-password-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .kff-edit-profile-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .kff-edit-profile-primary,
    .kff-edit-profile-secondary {
        width: 100%;
        text-align: center;
    }

    .kff-edit-profile-security-card {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* =========================================================
   EDIT PROFILE — PROFILE PHOTO / SUPABASE STORAGE
   ========================================================= */

.kff-edit-profile-avatar,
.kff-edit-profile-photo-preview,
.kff-avatar {
    overflow: hidden;
}

.kff-edit-profile-avatar img,
.kff-edit-profile-photo-preview img,
.kff-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.kff-edit-profile-avatar.has-photo,
.kff-edit-profile-photo-preview.has-photo,
.kff-avatar.has-photo {
    background: #eef2f6 !important;
}

.kff-edit-profile-photo-row {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
}

.kff-edit-profile-photo-preview {
    width: 112px;
    height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, var(--kff-blue), #4b8ef2);
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    box-shadow: 0 9px 22px rgba(50, 118, 232, .18);
}

.kff-edit-profile-photo-controls {
    min-width: 0;
}

.kff-edit-profile-photo-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 9px;
}

.kff-edit-profile-photo-remove:disabled {
    opacity: .5;
    cursor: not-allowed;
}

@media (max-width: 650px) {
    .kff-edit-profile-photo-row {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .kff-edit-profile-photo-controls {
        width: 100%;
    }

    .kff-edit-profile-photo-buttons {
        justify-content: center;
    }
}

/* =========================================================
   EDIT PROFILE — PRESET AVATARS
   ========================================================= */
.kff-avatar-presets-wrap { margin: 4px 0 26px; }
.kff-avatar-presets-title { font-size: 17px; font-weight: 800; color: var(--kff-text, #172033); margin-bottom: 4px; }
.kff-avatar-presets-help { margin: 0 0 18px; color: var(--kff-muted, #687386); font-size: 14px; }
.kff-avatar-presets-group + .kff-avatar-presets-group { margin-top: 18px; }
.kff-avatar-presets-group-title { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--kff-muted, #687386); margin-bottom: 9px; }
.kff-avatar-presets-grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 10px; }
.kff-edit-profile-page button.kff-avatar-preset { appearance: none; -webkit-appearance: none; display: block; width: 100%; aspect-ratio: 1; min-width: 0; height: auto; padding: 3px; margin: 0; border: 3px solid transparent; border-radius: 50%; background: #fff; box-shadow: 0 1px 5px rgba(25,39,64,.10); cursor: pointer; overflow: hidden; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.kff-edit-profile-page button.kff-avatar-preset:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(25,39,64,.14); }
.kff-edit-profile-page button.kff-avatar-preset.is-selected { border-color: var(--kff-primary, #4f73e8); box-shadow: 0 0 0 3px rgba(79,115,232,.15); }
.kff-avatar-preset img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 50%; }
.kff-edit-profile-photo-divider { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: var(--kff-muted, #687386); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.kff-edit-profile-photo-divider::before, .kff-edit-profile-photo-divider::after { content: ''; height: 1px; background: #e5eaf2; flex: 1; }
@media (max-width: 900px) { .kff-avatar-presets-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 520px) { .kff-avatar-presets-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; } }
/* Birthday Parties v0.11 */
.kff-bday-v2,.kff-bday-planner{background:#fff;max-width:1380px;margin:0 auto;padding:32px 24px 70px;color:#14213d}.kff-bday-hero{padding:26px 0 30px}.kff-bday-hero span{font-weight:800;color:#0877d1}.kff-bday-hero h1{font-size:44px;line-height:1.08;margin:8px 0 10px}.kff-bday-hero p{font-size:18px;color:#52637a}.kff-bday-shell{display:grid;grid-template-columns:300px 1fr;gap:30px}.kff-bday-filter{border:1px solid #dbe4ef;border-radius:18px;padding:22px;align-self:start;position:sticky;top:20px}.kff-bday-filter h2{margin:0 0 18px}.kff-bday-filter label{display:block;font-size:13px;font-weight:700;margin:11px 0}.kff-bday-filter input,.kff-bday-filter select,.kff-bday-toolbar select{width:100%;padding:10px 12px;border:1px solid #cfd9e6;border-radius:10px;background:#fff}.kff-bday-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kff-bday-checkgrid{display:grid;grid-template-columns:1fr;gap:3px;margin:15px 0}.kff-bday-checkgrid label{font-weight:500;margin:2px 0}.kff-bday-toolbar,.kff-bday-actions,.kff-bday-cardtop,.kff-bday-cardactions,.kff-bday-toolbuttons,.kff-bday-planner-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.kff-bday-actions{justify-content:flex-end}.kff-bday-actions button,.kff-bday-secondary,.kff-bday-cardactions button,.kff-bday-toolbuttons button,.kff-bday-plan button,.kff-bday-planner-head button{border:1px solid #cfd9e6;background:#fff;padding:10px 14px;border-radius:10px;cursor:pointer}.kff-bday-actions button.active,.kff-bday-primary,.kff-bday-toolbuttons .primary,.kff-bday-planner-head button{background:#0877d1!important;color:#fff!important;border-color:#0877d1!important}.kff-bday-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.kff-bday-card{border:1px solid #dbe4ef;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(20,33,61,.06)}.kff-bday-cardbody{padding:22px}.kff-bday-card h2{font-size:22px;margin:8px 0}.kff-bday-card h2 a{color:#14213d;text-decoration:none}.kff-bday-chip{font-size:12px;background:#edf7ff;color:#0877d1;padding:5px 8px;border-radius:999px;text-transform:capitalize}.kff-bday-facts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.kff-bday-facts span{background:#f6f8fb;padding:7px 9px;border-radius:8px;font-size:13px}.kff-bday-price{display:flex;flex-direction:column;padding:14px 0;border-top:1px solid #edf0f4}.kff-bday-price strong{font-size:26px}.kff-bday-primary{display:inline-block;text-decoration:none;padding:10px 15px;border-radius:10px}.kff-bday-comparebar{position:sticky;top:10px;z-index:5;margin:12px 0;background:#14213d;color:#fff;padding:12px 16px;border-radius:12px}.kff-bday-comparebar button{margin-left:8px}.kff-bday-map{margin-top:20px;border:1px solid #dbe4ef;border-radius:16px;padding:20px;min-height:350px}.kff-bday-map a{display:block;padding:12px;border-bottom:1px solid #edf0f4}.kff-bday-dialog{width:min(1000px,92vw);border:0;border-radius:18px;padding:28px}.kff-bday-dialog-close{float:right}.kff-bday-comparetable{display:grid;grid-template-columns:160px repeat(3,1fr);gap:1px;background:#dbe4ef}.kff-bday-comparetable>*{background:#fff;padding:12px}.kff-bday-detail-tools{max-width:1090px;margin:32px auto;padding:28px;border:1px solid #dbe4ef;border-radius:18px;background:#fff}.kff-bday-detailgrid{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin-top:24px}.kff-bday-review{padding:14px 0;border-bottom:1px solid #edf0f4}.kff-bday-review span{display:block}.kff-bday-planner-content{max-width:1000px}.kff-bday-plan{border:1px solid #dbe4ef;border-radius:16px;padding:20px;margin:14px 0}.kff-bday-plan-detail{margin-top:16px}.kff-bday-plan-stats{display:flex;gap:20px;flex-wrap:wrap;background:#f6f8fb;padding:12px;border-radius:10px}.kff-bday-plan-detail label{display:block;margin:7px 0}@media(max-width:900px){.kff-bday-shell{grid-template-columns:1fr}.kff-bday-filter{position:static}.kff-bday-grid{grid-template-columns:1fr}.kff-bday-detailgrid{grid-template-columns:1fr}.kff-bday-hero h1{font-size:34px}}

/* ============================================================
   Birthday Parties v0.11.2 — restore KFF page shell and styling
   ============================================================ */
body:has(.kff-bday-v2) .site-content,
body:has(.kff-bday-v2) #content {
    padding-top: 0 !important;
    margin-top: 0 !important;
    background: #fff !important;
}
body:has(.kff-bday-v2) .site-content > .ast-container,
body:has(.kff-bday-v2) .content-area,
body:has(.kff-bday-v2) .site-main,
body:has(.kff-bday-v2) article,
body:has(.kff-bday-v2) .entry-content,
body:has(.kff-bday-v2) .wp-block-shortcode {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
}
body:has(.kff-bday-v2) .entry-header,
body:has(.kff-bday-v2) .entry-title { display:none !important; }

@media (min-width:922px){
    body:has(.kff-bday-v2) #masthead .ast-container,
    body:has(.kff-bday-v2) #masthead .site-primary-header-wrap {
        width:100% !important;
        max-width:1380px !important;
        margin:0 auto !important;
        padding-left:32px !important;
        padding-right:32px !important;
    }
}

.kff-bday-v2,
.kff-bday-v2 * { box-sizing:border-box; }
.kff-bday-v2 {
    width:100% !important;
    max-width:1320px !important;
    margin:0 auto !important;
    padding:30px 28px 60px !important;
    background:#fff !important;
    color:var(--kff-navy,#15233b) !important;
    font-family:var(--kff-font,inherit) !important;
}
.kff-bday-v2 .kff-bday-hero {
    margin:0 !important;
    padding:0 0 22px !important;
    background:transparent !important;
}
.kff-bday-v2 .kff-bday-hero > span {
    display:inline-flex !important;
    margin:0 0 7px !important;
    color:#0877d1 !important;
    font-size:12px !important;
    font-weight:700 !important;
}
.kff-bday-v2 .kff-bday-hero h1 {
    margin:0 0 7px !important;
    color:var(--kff-navy,#15233b) !important;
    font-size:38px !important;
    line-height:1.12 !important;
    font-weight:700 !important;
    letter-spacing:-.025em !important;
}
.kff-bday-v2 .kff-bday-hero p {
    margin:0 !important;
    color:var(--kff-muted,#607087) !important;
    font-size:14px !important;
    line-height:1.5 !important;
}
.kff-bday-v2 .kff-bday-shell {
    display:grid !important;
    grid-template-columns:250px minmax(0,1fr) !important;
    align-items:start !important;
    gap:22px !important;
}
.kff-bday-v2 .kff-bday-filter {
    position:sticky !important;
    top:92px !important;
    align-self:start !important;
    padding:16px !important;
    border:1px solid var(--kff-border,#dfe5ee) !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:none !important;
}
.kff-bday-v2 .kff-bday-filter h2 {
    margin:0 0 12px !important;
    font-size:18px !important;
    line-height:1.2 !important;
}
.kff-bday-v2 .kff-bday-filter label {
    display:block !important;
    margin:10px 0 4px !important;
    color:var(--kff-text,#26354a) !important;
    font-size:10px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
}
.kff-bday-v2 .kff-bday-filter input:not([type=checkbox]),
.kff-bday-v2 .kff-bday-filter select,
.kff-bday-v2 .kff-bday-toolbar select {
    width:100% !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 10px !important;
    border:1px solid var(--kff-border,#d7e0eb) !important;
    border-radius:9px !important;
    background:#fff !important;
    color:var(--kff-text,#26354a) !important;
    font:500 11px/1 var(--kff-font,inherit) !important;
}
.kff-bday-v2 .kff-bday-two {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:9px !important;
}
.kff-bday-v2 .kff-bday-checkgrid {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:3px 8px !important;
    margin:14px 0 !important;
}
.kff-bday-v2 .kff-bday-checkgrid label {
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:5px 3px !important;
    color:#596579 !important;
    font-size:9px !important;
    font-weight:500 !important;
}
.kff-bday-v2 .kff-bday-checkgrid input[type=checkbox] {
    flex:0 0 auto !important;
    width:14px !important;
    height:14px !important;
    margin:0 !important;
    accent-color:#0877d1 !important;
}
.kff-bday-v2 #bpReset {
    width:100% !important;
    min-height:34px !important;
    padding:0 10px !important;
    border:1px solid #b9d8f5 !important;
    border-radius:9px !important;
    background:#eef7ff !important;
    color:#0867b7 !important;
    font-size:10px !important;
    font-weight:700 !important;
}
.kff-bday-v2 .kff-bday-toolbar {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    min-height:38px !important;
    margin:0 0 12px !important;
    color:var(--kff-muted,#607087) !important;
    font-size:11px !important;
}
.kff-bday-v2 .kff-bday-toolbar strong { color:var(--kff-navy,#15233b) !important; }
.kff-bday-v2 .kff-bday-actions {
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
}
.kff-bday-v2 .kff-bday-actions button {
    width:auto !important;
    min-width:54px !important;
    height:36px !important;
    margin:0 !important;
    padding:0 12px !important;
    border:1px solid #d4deea !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#27364b !important;
    font-size:10px !important;
    font-weight:700 !important;
}
.kff-bday-v2 .kff-bday-actions button.active {
    background:#0877d1 !important;
    border-color:#0877d1 !important;
    color:#fff !important;
}
.kff-bday-v2 #bpSort { width:190px !important; }
.kff-bday-v2 .kff-bday-message {
    margin:0 !important;
    padding:30px 18px !important;
    border:1px dashed #dce3eb !important;
    border-radius:14px !important;
    background:#fff !important;
    color:var(--kff-muted,#607087) !important;
    font-size:11px !important;
    text-align:center !important;
}
.kff-bday-v2 .kff-bday-message:empty { display:none !important; }
.kff-bday-v2 .kff-bday-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    margin-top:0 !important;
}
.kff-bday-v2 .kff-bday-card {
    overflow:hidden !important;
    border:1px solid var(--kff-border,#dfe5ee) !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:0 4px 14px rgba(21,35,59,.05) !important;
}
.kff-bday-v2 .kff-bday-cardbody { padding:16px !important; }
.kff-bday-v2 .kff-bday-cardtop { align-items:flex-start !important; }
.kff-bday-v2 .kff-bday-card h2 { margin:7px 0 4px !important; font-size:18px !important; line-height:1.25 !important; }
.kff-bday-v2 .kff-bday-card h2 a { color:var(--kff-navy,#15233b) !important; text-decoration:none !important; }
.kff-bday-v2 .kff-bday-card p { margin:0 !important; color:var(--kff-muted,#607087) !important; font-size:10px !important; }
.kff-bday-v2 .kff-bday-chip { display:inline-block !important; padding:5px 8px !important; border-radius:999px !important; background:#eef7ff !important; color:#0877d1 !important; font-size:8px !important; font-weight:700 !important; }
.kff-bday-v2 .kff-bday-compare { display:flex !important; align-items:center !important; gap:5px !important; margin:0 !important; font-size:9px !important; white-space:nowrap !important; }
.kff-bday-v2 .kff-bday-facts { display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin:14px 0 !important; }
.kff-bday-v2 .kff-bday-facts span { padding:6px 8px !important; border-radius:8px !important; background:#f6f8fb !important; font-size:9px !important; }
.kff-bday-v2 .kff-bday-price { padding:11px 0 !important; border-top:1px solid #edf0f4 !important; }
.kff-bday-v2 .kff-bday-price small { color:var(--kff-muted,#607087) !important; font-size:8px !important; }
.kff-bday-v2 .kff-bday-price strong { font-size:20px !important; }
.kff-bday-v2 .kff-bday-price span { color:var(--kff-muted,#607087) !important; font-size:9px !important; }
.kff-bday-v2 .kff-bday-cardactions { display:flex !important; align-items:center !important; gap:8px !important; }
.kff-bday-v2 .kff-bday-primary,
.kff-bday-v2 .kff-bday-cardactions button {
    min-height:34px !important;
    padding:0 12px !important;
    border-radius:9px !important;
    font-size:9px !important;
    font-weight:700 !important;
}
.kff-bday-v2 .kff-bday-primary { display:inline-flex !important; align-items:center !important; background:#0877d1 !important; color:#fff !important; text-decoration:none !important; }
.kff-bday-v2 .kff-bday-cardactions button { border:1px solid #d4deea !important; background:#fff !important; color:#27364b !important; }
.kff-bday-v2 [hidden] { display:none !important; }

@media(max-width:900px){
    .kff-bday-v2 .kff-bday-shell{grid-template-columns:1fr !important}
    .kff-bday-v2 .kff-bday-filter{position:static !important}
    .kff-bday-v2 .kff-bday-grid{grid-template-columns:1fr !important}
}
@media(max-width:640px){
    .kff-bday-v2{padding:22px 16px 50px !important}
    .kff-bday-v2 .kff-bday-hero h1{font-size:30px !important}
    .kff-bday-v2 .kff-bday-toolbar{align-items:flex-start !important;flex-direction:column !important}
    .kff-bday-v2 .kff-bday-actions{width:100% !important;flex-wrap:wrap !important}
    .kff-bday-v2 #bpSort{width:100% !important}
}

/* ============================================================
   v0.12.0 QA fixes: Guides, Saved Events, My Lists, Photo manager
   ============================================================ */
body .kff-guides-page, body .kff-guides-shell, body .kff-guides-wrap { max-width: 1380px !important; width: calc(100% - 48px) !important; margin-left:auto !important; margin-right:auto !important; }
.kff-saved-events-section .kff-events-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
}

.kff-saved-events-section .kff-event-card{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    grid-auto-rows:auto!important;
    column-gap:14px!important;
    row-gap:7px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    padding:16px!important;
    overflow:hidden!important;
}

.kff-saved-events-section .kff-event-date-box{
    position:static!important;
    grid-column:1!important;
    grid-row:1 / span 8!important;
    width:58px!important;
    min-width:58px!important;
    margin:0!important;
}

.kff-saved-events-section .kff-event-card > :not(.kff-event-date-box){
    grid-column:2!important;
    min-width:0!important;
    width:auto!important;
}

.kff-saved-events-section .kff-event-image{
    display:none!important;
}

.kff-saved-events-section .kff-event-body{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
}

.kff-saved-events-section .kff-event-title,
.kff-saved-events-section .kff-event-title a,
.kff-saved-events-section .kff-event-card h3,
.kff-saved-events-section .kff-event-card a{
    min-width:0!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    white-space:normal!important;
}

.kff-saved-events-section [data-unsave-event]{
    width:auto!important;
    justify-self:start!important;
    margin-top:8px!important;
    padding:7px 10px!important;
}
.kff-list-cover{display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;overflow:hidden;}
.kff-list-cover img{width:100%!important;height:100%!important;object-fit:cover!important;min-width:0;}
.kff-list-cover-placeholder{min-height:116px;background:linear-gradient(135deg,#edf5ff,#f5efff);}
.kff-photo-admin{padding:18px;border:1px solid #dbe4f0;border-radius:18px;background:#fff;margin:0 0 18px}.kff-photo-admin-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}.kff-photo-admin label{display:grid;gap:6px;font-weight:700}.kff-photo-admin input,.kff-photo-admin select{min-height:44px;border:1px solid #ccd8e8;border-radius:10px;padding:8px 10px}.kff-photo-admin button{min-height:44px;border:0;border-radius:10px;padding:0 16px;background:#087bd3;color:#fff;font-weight:800;cursor:pointer}.kff-photo-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.kff-photo-preview img{width:112px;height:84px;object-fit:cover;border-radius:10px;border:1px solid #dbe4f0}
@media(max-width:760px){body .kff-guides-page,body .kff-guides-shell,body .kff-guides-wrap{width:calc(100% - 28px)!important}.kff-photo-admin-grid{grid-template-columns:1fr}.kff-saved-events-section .kff-events-grid{grid-template-columns:1fr}}

/* KFF v0.12.2 — Family Calendar consistency */
body:has(.kff-family-calendar-page) .site-content,
body:has(.kff-family-calendar-page) #primary,
body:has(.kff-family-calendar-page) .content-area,
body:has(.kff-family-calendar-page) article,
body:has(.kff-family-calendar-page) .entry-content {
    width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
body:has(.kff-family-calendar-page) .site-content > .ast-container {
    width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
}
.kff-family-calendar-page {
    width:min(100% - 48px, 1320px) !important;
    max-width:1320px !important;
    margin:0 auto !important;
    padding:34px 0 80px !important;
}
.kff-family-calendar-header {margin-bottom:24px !important; align-items:flex-end !important;}
.kff-family-calendar-header h1 {font-size:36px !important; line-height:1.12 !important; margin:5px 0 8px !important;}
.kff-family-calendar-page .kff-events-calendar-head {margin:22px 0 16px !important; justify-content:center !important; gap:28px !important;}
.kff-family-calendar-page .kff-calendar-nav {width:42px !important; height:42px !important; padding:0 !important;}
#kffHeaderDropdown [data-kff-family-calendar-link]::before {
    content:"▣" !important; background:#fff4df !important; color:#d97706 !important;
}
@media(max-width:700px){
 .kff-family-calendar-page{width:min(100% - 28px,1320px) !important;padding-top:24px !important;}
 .kff-family-calendar-header{align-items:flex-start !important;}
}


/* ============================================================
   2026-09 QA FIXES
   ============================================================ */

/* Account toggles: OFF = left, ON = right. */
.kff-toggle{width:54px!important;height:30px!important;padding:0!important;overflow:hidden!important;}
.kff-toggle::after{top:4px!important;left:4px!important;width:22px!important;height:22px!important;transform:none!important;}
.kff-toggle.on::after{left:28px!important;transform:none!important;}
.kff-toggle:focus-visible{outline:3px solid rgba(52,120,246,.22);outline-offset:2px;}

/* My family */
.kff-children-list{display:grid;gap:12px;margin-top:18px;}
.kff-child-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--kff-border,#e1e7f0);border-radius:16px;background:#fff;}
.kff-child-card h3{margin:0 0 5px;font-size:16px;color:var(--kff-navy,#13213d);}
.kff-child-card p{margin:0;color:#667085;font-size:13px;}
.kff-child-actions{display:flex;gap:8px;}
.kff-child-actions button{border:1px solid #dbe3ef;border-radius:10px;background:#fff;padding:8px 11px;cursor:pointer;font-weight:700;color:#344054;}
.kff-child-actions .danger{color:#b42318;}
.kff-account-empty{padding:18px 0;color:#667085;}

/* Saved Events responsive layout */
@media(max-width:1100px){
    .kff-saved-events-section .kff-events-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:760px){
    .kff-saved-events-section .kff-events-grid{
        grid-template-columns:1fr!important;
    }
}

/* Place details: compact paired sections on desktop, About and Reviews stay full width. */
.kff-place-details-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:start;}
.kff-place-details-main-grid>.kff-section-about,
.kff-place-details-main-grid>.kff-section-reviews{grid-column:1/-1;}
.kff-place-details-main-grid>.kff-place-section{margin-bottom:0;}
@media(max-width:850px){.kff-place-details-main-grid{grid-template-columns:1fr}.kff-place-details-main-grid>.kff-section-about,.kff-place-details-main-grid>.kff-section-reviews{grid-column:auto}}

/* Event footer metadata spacing and schedule chip. */
.kff-event-footer{gap:12px!important;align-items:center!important;flex-wrap:wrap!important;}
.kff-event-price{margin-left:4px!important;}
.kff-event-schedule{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:5px 9px;border-radius:999px;background:#f4f7fb;color:#475467;font-size:12px;font-weight:700;}

/* Add Event page: hide WP title and provide full styled template. */
body:has(.kff-add-event-page) .entry-title,
body:has(.kff-add-event-page) .page-title{display:none!important;}
.kff-add-event-page{max-width:1180px!important;margin:38px auto 70px!important;padding:0 26px!important;}
.kff-add-event-page>h1{margin:6px 0 8px;color:#13213d;font-size:42px;line-height:1.08;letter-spacing:-.035em;}
.kff-add-event-page>p{max-width:760px;color:#667085;font-size:17px;}
.kff-add-event-page #kffAddEventForm{padding:26px!important;border:1px solid #e1e7f0!important;border-radius:22px!important;background:#fff!important;box-shadow:0 12px 32px rgba(19,33,61,.06)!important;}
.kff-add-event-page label{display:grid;gap:7px;color:#344054;font-weight:700;}
.kff-add-event-page input,.kff-add-event-page select,.kff-add-event-page textarea{width:100%;border:1px solid #dbe3ef;border-radius:12px;background:#fff;padding:12px 14px;font:inherit;color:#13213d;}
.kff-add-event-page textarea{resize:vertical;}
.kff-add-event-page input:focus,.kff-add-event-page select:focus,.kff-add-event-page textarea:focus{outline:none;border-color:#4b7bec;box-shadow:0 0 0 3px rgba(75,123,236,.12);}
@media(max-width:700px){.kff-add-event-page{padding:0 16px!important}.kff-add-event-page>h1{font-size:32px}.kff-add-event-page #kffAddEventForm>div[style*="grid-template-columns"]{grid-template-columns:1fr!important}}

/* Home hero resilience across laptop/desktop widths. */
.kff-home{overflow-x:hidden;}
.kff-home img{max-width:100%;height:auto;}
@media(max-width:1250px){.kff-home-hero,.kff-home .kff-hero{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;gap:34px!important}.kff-home-hero h1,.kff-home .kff-hero h1{font-size:clamp(42px,5vw,68px)!important}}
@media(max-width:900px){.kff-home-hero,.kff-home .kff-hero{grid-template-columns:1fr!important}.kff-home-hero>* ,.kff-home .kff-hero>*{min-width:0!important}}

.kff-published-parent-reviews{margin-top:24px}.kff-published-parent-reviews>h3{margin:0 0 12px;color:#13213d;font-size:16px}.kff-parent-review-list{display:grid;gap:12px}.kff-parent-review-card{padding:16px;border:1px solid #e4e9f2;border-radius:15px;background:#fbfcfe}.kff-parent-review-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.kff-parent-review-head>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.kff-parent-review-card p{margin:10px 0;color:#475467;line-height:1.55}.kff-parent-review-card small{color:#98a2b3}.kff-parent-review-card .kff-profile-badge{font-size:10px;padding:4px 7px}
.kff-login-error{margin-top:12px!important;padding:12px 16px!important;border:1px solid #fecdd3!important;border-radius:12px!important;background:#fff1f2!important;color:#b42318!important;font-weight:700!important;text-align:center!important;}

/* ============================================================
   EXPLORE — CLEAR ALL + BRANDED CARD CTA
   ============================================================ */
.kff-clear-all {
    background: #ffffff !important;
}

.kff-clear-all:hover,
.kff-clear-all:focus {
    background: #ffffff !important;
    color: var(--kff-blue) !important;
    text-decoration: underline !important;
}

.kff-card-bottom {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 2px !important;
}

.kff-view-place {
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 150px !important;
    min-height: 34px !important;
    padding: 0 18px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #eef5ff !important;
    color: var(--kff-blue) !important;
    box-shadow: 0 3px 10px rgba(50, 118, 232, 0.10) !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    text-decoration: none !important;

    transition:
        background-color .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        transform .16s ease !important;
}

.kff-view-place:hover,
.kff-view-place:focus {
    background: var(--kff-blue) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(50, 118, 232, 0.20) !important;
    transform: translateY(-1px);
    text-decoration: none !important;
}

.kff-view-place:active {
    transform: translateY(0);
    box-shadow: 0 3px 9px rgba(50, 118, 232, 0.16) !important;
}

.kff-card-distance {
    justify-self: end !important;
    color: var(--kff-muted) !important;
}

@media (max-width: 650px) {
    .kff-view-place {
        min-width: 132px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* ============================================================
   EXPLORE — PAGINATION
   ============================================================ */

.kff-pagination {
    margin-top: 22px !important;
    padding: 18px 0 6px !important;
    border-top: 1px solid var(--kff-border) !important;
}

.kff-pagination-summary {
    margin-bottom: 12px !important;
    color: var(--kff-muted) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: center !important;
}

.kff-pagination-controls {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
}

.kff-page-button,
.kff-page-nav {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 11px !important;

    border: 1px solid #dbe4f3 !important;
    border-radius: 10px !important;

    background: #ffffff !important;
    color: var(--kff-blue) !important;

    font: inherit !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    cursor: pointer !important;
    box-shadow: 0 2px 7px rgba(21, 35, 59, 0.04) !important;

    transition:
        background-color .16s ease,
        border-color .16s ease,
        color .16s ease,
        transform .16s ease,
        box-shadow .16s ease !important;
}

.kff-page-button:hover,
.kff-page-nav:hover {
    border-color: #b8c9e6 !important;
    background: #f7faff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(50, 118, 232, 0.10) !important;
}

.kff-page-button.active {
    border-color: var(--kff-blue) !important;
    background: var(--kff-blue) !important;
    color: #ffffff !important;
    box-shadow: 0 5px 12px rgba(50, 118, 232, 0.20) !important;
}

.kff-page-nav {
    min-width: auto !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    border-radius: 999px !important;
    background: #eef5ff !important;
}

.kff-page-nav:disabled,
.kff-page-button:disabled {
    opacity: .42 !important;
    cursor: default !important;
    transform: none !important;
    box-shadow: none !important;
}

.kff-pagination-dots {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 24px !important;
    height: 36px !important;
    color: var(--kff-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

@media (max-width: 650px) {
    .kff-pagination {
        margin-top: 18px !important;
    }

    .kff-pagination-controls {
        gap: 5px !important;
    }

    .kff-page-button {
        min-width: 34px !important;
        height: 34px !important;
        padding-left: 9px !important;
        padding-right: 9px !important;
    }

    .kff-page-nav {
        height: 34px !important;
        padding-left: 11px !important;
        padding-right: 11px !important;
    }
}

.kff-community-gallery-grid img {
    cursor: zoom-in;
}

.kff-photo-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 30px 70px;
    background: rgba(10, 18, 32, .92);
}

.kff-photo-lightbox.is-open {
    display: flex;
}

.kff-lightbox-content {
    display: flex;
    max-width: min(1100px, 90vw);
    max-height: 90vh;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.kff-lightbox-image {
    display: block;
    max-width: 100%;
    max-height: 82vh;
    border-radius: 14px;
    object-fit: contain;
    box-shadow: 0 20px 70px rgba(0,0,0,.35);
}

.kff-lightbox-counter {
    margin-top: 12px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.kff-lightbox-close,
.kff-lightbox-prev,
.kff-lightbox-next {
    position: absolute;
    border: 0;
    background: rgba(255,255,255,.13);
    color: #fff;
    cursor: pointer;
}

.kff-lightbox-close {
    top: 20px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 30px;
}

.kff-lightbox-prev,
.kff-lightbox-next {
    top: 50%;
    width: 48px;
    height: 58px;
    border-radius: 14px;
    font-size: 42px;
    line-height: 1;
    transform: translateY(-50%);
}

.kff-lightbox-prev {
    left: 18px;
}

.kff-lightbox-next {
    right: 18px;
}

.kff-lightbox-close:hover,
.kff-lightbox-prev:hover,
.kff-lightbox-next:hover {
    background: rgba(255,255,255,.24);
}

@media (max-width: 700px) {
    .kff-photo-lightbox {
        padding: 55px 12px 25px;
    }

    .kff-lightbox-prev,
    .kff-lightbox-next {
        width: 42px;
        height: 52px;
    }

    .kff-lightbox-prev {
        left: 7px;
    }

    .kff-lightbox-next {
        right: 7px;
    }

    .kff-lightbox-image {
        max-height: 78vh;
    }
}


/* ============================================================
   2026-09-14 — Family Calendar social plans / RSVP
   ============================================================ */
.kff-family-calendar-page .kff-family-calendar-header{display:flex!important;justify-content:space-between!important;gap:20px!important;}
.kff-family-agenda{margin-top:34px!important;}
.kff-family-agenda>h2{margin:0 0 14px!important;font-size:27px!important;color:var(--kff-navy,#15233b)!important;}
.kff-family-agenda-row{display:flex!important;justify-content:space-between!important;gap:24px!important;align-items:center!important;padding:18px 0!important;border-bottom:1px solid #e7edf5!important;background:transparent!important;}
.kff-family-agenda-main{display:flex!important;flex-direction:column!important;min-width:0!important;gap:4px!important;}
.kff-family-plan-title{font-size:15px!important;line-height:1.35!important;font-weight:800!important;color:var(--kff-navy,#15233b)!important;text-decoration:none!important;}
.kff-family-plan-title:hover{color:#087bd3!important;}
.kff-family-plan-meta{font-size:13px!important;line-height:1.5!important;color:#53647a!important;}
.kff-family-plan-cancelled{font-size:12px!important;font-weight:800!important;color:#c73535!important;}
.kff-family-plan-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;}
.kff-family-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:42px!important;width:auto!important;padding:0 15px!important;border:1px solid #d8e1ed!important;border-radius:12px!important;background:#fff!important;color:#20324b!important;font:inherit!important;font-size:12px!important;line-height:1!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important;cursor:pointer!important;white-space:nowrap!important;transition:border-color .15s ease,background .15s ease,color .15s ease!important;}
.kff-family-action:hover{border-color:#9fc8f2!important;background:#f7fbff!important;color:#087bd3!important;}
.kff-family-action-primary{border-color:#087bd3!important;background:#087bd3!important;color:#fff!important;}
.kff-family-action-primary:hover{border-color:#066bb7!important;background:#066bb7!important;color:#fff!important;}
.kff-family-action-danger{color:#b42318!important;}
.kff-family-action-danger:hover{border-color:#f3b8b3!important;background:#fff7f6!important;color:#a51c12!important;}
.kff-family-action:disabled,.kff-rsvp-button:disabled{opacity:.55!important;cursor:wait!important;}
.kff-plan-rsvp-summary{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin-top:7px!important;}
.kff-plan-rsvp-summary.empty{font-size:12px!important;color:#8a97a8!important;}
.kff-plan-rsvp-chip{display:inline-flex!important;align-items:center!important;gap:5px!important;min-height:28px!important;padding:4px 9px!important;border-radius:999px!important;font-size:11px!important;font-weight:750!important;}
.kff-plan-rsvp-chip.going{background:#edf9f0!important;color:#23743a!important;}
.kff-plan-rsvp-chip.maybe{background:#fff7e8!important;color:#9a6500!important;}
.kff-plan-rsvp-chip.declined{background:#fff0f0!important;color:#a93737!important;}
.kff-plan-rsvp-muted{font-size:11px!important;color:#8a97a8!important;}
.kff-plan-modal[hidden],.kff-plan-invite-public[hidden],.kff-plan-modal [hidden],.kff-plan-invite-public [hidden]{display:none!important;}
.kff-plan-modal{position:fixed!important;inset:0!important;z-index:100000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;}
.kff-plan-modal-backdrop{position:absolute!important;inset:0!important;background:rgba(20,32,52,.48)!important;backdrop-filter:blur(2px)!important;}
.kff-plan-modal-card{position:relative!important;width:min(100%,560px)!important;border:1px solid #dce5ef!important;border-radius:22px!important;background:#fff!important;padding:28px!important;box-shadow:0 24px 70px rgba(22,36,61,.22)!important;}
.kff-plan-modal-card h2{margin:5px 0 4px!important;font-size:27px!important;color:var(--kff-navy,#15233b)!important;}
.kff-plan-modal-plan{margin:0 0 20px!important;color:#5c6d82!important;font-size:13px!important;}
.kff-plan-modal-close{position:absolute!important;top:14px!important;right:15px!important;width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f3f6fa!important;color:#43536a!important;font-size:23px!important;line-height:1!important;cursor:pointer!important;}
.kff-plan-modal-label{display:block!important;margin:0 0 7px!important;color:#26364d!important;font-size:12px!important;font-weight:800!important;}
.kff-plan-modal textarea,.kff-plan-modal input,.kff-plan-rsvp-box input{width:100%!important;border:1px solid #d4deea!important;border-radius:11px!important;background:#fff!important;color:#17243a!important;font:inherit!important;font-size:13px!important;padding:11px 12px!important;box-shadow:none!important;}
.kff-plan-modal textarea:focus,.kff-plan-modal input:focus,.kff-plan-rsvp-box input:focus{outline:3px solid rgba(8,123,211,.12)!important;border-color:#66afe5!important;}
.kff-plan-share-link{margin-top:12px!important;}
.kff-plan-share-link input{background:#f7f9fc!important;color:#516177!important;}
.kff-plan-modal-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:17px!important;}
.kff-plan-status{margin-top:11px!important;padding:10px 12px!important;border-radius:10px!important;background:#f1f7ff!important;color:#315477!important;font-size:12px!important;font-weight:700!important;}
.kff-plan-invite-public{width:min(100%,760px)!important;margin:0 auto!important;padding:36px 0 70px!important;}
.kff-plan-invite-card{overflow:hidden!important;border:1px solid #dce5ef!important;border-radius:24px!important;background:#fff!important;box-shadow:0 18px 55px rgba(24,45,75,.09)!important;}
.kff-plan-invite-hero{padding:32px!important;background:linear-gradient(180deg,#f8fbff 0%,#fff 100%)!important;border-bottom:1px solid #e7edf5!important;}
.kff-plan-invite-hero h1{margin:5px 0 8px!important;font-size:31px!important;line-height:1.15!important;color:var(--kff-navy,#15233b)!important;}
.kff-plan-invite-hero h2{margin:0 0 7px!important;font-size:21px!important;color:#20324b!important;}
.kff-plan-invite-meta{margin:0 0 16px!important;color:#5b6b80!important;font-size:13px!important;}
.kff-plan-invite-message{margin:14px 0 18px!important;padding:14px 16px!important;border-left:3px solid #78b9ed!important;border-radius:0 10px 10px 0!important;background:#f3f9ff!important;color:#354a64!important;font-size:14px!important;}
.kff-plan-rsvp-box,.kff-plan-who-is-coming{padding:26px 32px!important;}
.kff-plan-rsvp-box{border-bottom:1px solid #e7edf5!important;}
.kff-plan-rsvp-box h3,.kff-plan-who-is-coming h3{margin:0 0 14px!important;font-size:18px!important;color:var(--kff-navy,#15233b)!important;}
.kff-plan-rsvp-buttons{display:flex!important;gap:9px!important;flex-wrap:wrap!important;margin-top:13px!important;}
.kff-rsvp-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:43px!important;padding:0 15px!important;border:1px solid #d8e1ed!important;border-radius:12px!important;background:#fff!important;font:inherit!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important;}
.kff-rsvp-button.going{border-color:#b8dfc1!important;color:#23743a!important;background:#f4fbf5!important;}
.kff-rsvp-button.maybe{border-color:#efd49a!important;color:#8c5c00!important;background:#fffbf1!important;}
.kff-rsvp-button.declined{border-color:#efc1bd!important;color:#a93737!important;background:#fff8f7!important;}
.kff-plan-public-rsvps{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;}
body.kff-modal-open{overflow:hidden!important;}
@media(max-width:700px){
    .kff-family-calendar-page .kff-family-calendar-header{align-items:flex-start!important;flex-direction:column!important;}
    .kff-family-agenda-row{align-items:flex-start!important;flex-direction:column!important;gap:13px!important;padding:17px 0!important;}
    .kff-family-plan-actions{justify-content:flex-start!important;width:100%!important;}
    .kff-family-action{min-height:40px!important;padding:0 12px!important;}
    .kff-plan-invite-public{padding:22px 0 50px!important;}
    .kff-plan-invite-hero,.kff-plan-rsvp-box,.kff-plan-who-is-coming{padding:22px!important;}
    .kff-plan-invite-hero h1{font-size:26px!important;}
    .kff-plan-modal-card{padding:23px 20px!important;}
}


/* =========================================================
   FAMILY CALENDAR / PLAYDATE INVITES
   ========================================================= */

.kff-family-calendar,
.kff-family-calendar * {
    box-sizing: border-box;
}

.kff-family-calendar {
    max-width: 1320px;
    margin: 0 auto;
    padding: 30px 28px 60px;
    color: var(--kff-navy);
    font-family: var(--kff-font);
}

.kff-family-calendar .kff-calendar-actions,
.kff-family-calendar .kff-plan-actions,
.kff-family-calendar .kff-invite-actions,
.kff-family-calendar .kff-rsvp-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.kff-family-calendar button,
.kff-family-calendar .kff-calendar-btn,
.kff-family-calendar .kff-plan-btn,
.kff-family-calendar .kff-invite-btn,
.kff-family-calendar .kff-rsvp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #d7e0ed;
    border-radius: 12px;
    background: #fff;
    color: var(--kff-navy);
    font-family: var(--kff-font);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    cursor: pointer;
    box-shadow: 0 2px 7px rgba(21,35,59,.04);
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.kff-family-calendar button:hover,
.kff-family-calendar .kff-calendar-btn:hover,
.kff-family-calendar .kff-plan-btn:hover,
.kff-family-calendar .kff-invite-btn:hover,
.kff-family-calendar .kff-rsvp-btn:hover {
    transform: translateY(-1px);
    border-color: #bfd2ee;
    background: #f8fbff;
    box-shadow: 0 5px 14px rgba(21,35,59,.07);
}

.kff-family-calendar .kff-invite-friends,
.kff-family-calendar .kff-share-invite {
    border-color: #b8d3fb;
    background: #eef5ff;
    color: #245fbf;
}

.kff-family-calendar .kff-remove-plan,
.kff-family-calendar .kff-cancel-plan {
    border-color: #f3c4c4;
    background: #fff8f7;
    color: #b42318;
}

.kff-family-calendar .kff-close-rsvps {
    border-color: #f4d6a4;
    background: #fff8eb;
    color: #a65b13;
}

.kff-family-calendar .kff-upcoming-plan {
    padding: 18px 0;
    border-bottom: 1px solid #edf0f4;
}

.kff-family-calendar .kff-upcoming-plan:last-child {
    border-bottom: 0;
}

.kff-family-calendar .kff-plan-title {
    margin: 0 0 4px;
    color: var(--kff-navy);
    font-size: 16px;
    font-weight: 700;
}

.kff-family-calendar .kff-plan-meta {
    color: var(--kff-muted);
    font-size: 12px;
    line-height: 1.5;
}

.kff-family-calendar .kff-rsvp-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}

.kff-family-calendar .kff-rsvp-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 0 9px;
    border-radius: 999px;
    background: #f6f8fb;
    color: #596579;
    font-size: 10px;
    font-weight: 700;
}

.kff-family-calendar .kff-rsvp-chip.going {
    background: #edf9f2;
    color: #248451;
}

.kff-family-calendar .kff-rsvp-chip.maybe {
    background: #fff6e9;
    color: #a76519;
}

.kff-family-calendar .kff-rsvp-chip.declined {
    background: #fff0f0;
    color: #b42318;
}


/* Public invite / playdate page */

.kff-playdate-invite {
    width: min(920px, calc(100% - 32px));
    margin: 38px auto 60px;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(21,35,59,.09);
    color: var(--kff-navy);
    font-family: var(--kff-font);
}

.kff-playdate-invite .kff-invite-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    gap: 28px;
    align-items: center;
    padding: 34px 34px 30px;
    background:
        radial-gradient(circle at 8% 10%, rgba(243,79,146,.08), transparent 22%),
        radial-gradient(circle at 92% 88%, rgba(53,167,111,.09), transparent 25%),
        linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.kff-playdate-invite .kff-invite-kicker {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 27px;
    margin-bottom: 9px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff4e9;
    color: #e27d1d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.kff-playdate-invite .kff-invite-title {
    margin: 0 0 8px;
    color: var(--kff-navy);
    font-size: 34px;
    line-height: 1.15;
    letter-spacing: -.035em;
    font-weight: 700;
}

.kff-playdate-invite .kff-invite-subtitle {
    margin: 0 0 15px;
    color: var(--kff-navy);
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
}

.kff-playdate-invite .kff-invite-meta {
    display: grid;
    gap: 6px;
    margin-bottom: 16px;
    color: #5e6d84;
    font-size: 12px;
}

.kff-playdate-invite .kff-invite-host {
    margin-top: 7px;
    color: #7b8799;
    font-size: 10px;
    font-weight: 600;
}

.kff-playdate-invite .kff-invite-image {
    width: 150px;
    height: 150px;
    overflow: hidden;
    border: 4px solid #fff;
    border-radius: 22px;
    background: linear-gradient(135deg, #dceaff, #fbe7f0);
    box-shadow: 0 10px 28px rgba(21,35,59,.12);
}

.kff-playdate-invite .kff-invite-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.kff-playdate-invite .kff-invite-message {
    margin-top: 16px;
    padding: 14px 16px;
    border-left: 3px solid #8dc5ff;
    border-radius: 0 12px 12px 0;
    background: #f2f8ff;
    color: #32445f;
    font-size: 12px;
    line-height: 1.55;
}

.kff-playdate-invite .kff-invite-section {
    padding: 28px 34px;
    border-top: 1px solid #edf0f4;
}

.kff-playdate-invite .kff-invite-section h2 {
    margin: 0 0 5px;
    color: var(--kff-navy);
    font-size: 19px;
    font-weight: 700;
}

.kff-playdate-invite .kff-invite-section > p {
    margin: 0 0 16px;
    color: var(--kff-muted);
    font-size: 12px;
    line-height: 1.5;
}

.kff-playdate-invite .kff-invite-field {
    margin-bottom: 13px;
}

.kff-playdate-invite .kff-invite-field label {
    display: block;
    margin-bottom: 5px;
    color: var(--kff-navy);
    font-size: 10px;
    font-weight: 700;
}

.kff-playdate-invite input,
.kff-playdate-invite textarea,
.kff-playdate-invite select {
    width: 100%;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid #d7e0ed;
    border-radius: 11px;
    background: #fff;
    color: var(--kff-navy);
    font-size: 12px;
    outline: none;
    box-shadow: none;
}

.kff-playdate-invite textarea {
    min-height: 82px;
    padding: 10px 12px;
    resize: vertical;
}

.kff-playdate-invite input:focus,
.kff-playdate-invite textarea:focus,
.kff-playdate-invite select:focus {
    border-color: var(--kff-blue);
    box-shadow: 0 0 0 3px rgba(50,118,232,.1);
}

.kff-playdate-invite .kff-party-size-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.kff-playdate-invite .kff-rsvp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 7px;
}

.kff-playdate-invite .kff-rsvp-going {
    border-color: #a8dfbd;
    background: #f0fbf4;
    color: #167d45;
}

.kff-playdate-invite .kff-rsvp-maybe {
    border-color: #efcf98;
    background: #fff8ea;
    color: #9d620f;
}

.kff-playdate-invite .kff-rsvp-no {
    border-color: #efb9b9;
    background: #fff7f7;
    color: #b42318;
}

.kff-playdate-invite .kff-invite-utility-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.kff-playdate-invite .kff-invite-utility-actions a,
.kff-playdate-invite .kff-invite-utility-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid #d7e0ed;
    border-radius: 11px;
    background: #fff;
    color: var(--kff-navy);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none !important;
    cursor: pointer;
}

.kff-playdate-invite .kff-who-coming {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.kff-playdate-invite .kff-coming-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 31px;
    padding: 0 10px;
    border-radius: 999px;
    background: #edf9f2;
    color: #248451;
    font-size: 10px;
    font-weight: 700;
}

.kff-playdate-invite .kff-coming-chip.maybe {
    background: #fff6e9;
    color: #a76519;
}

.kff-playdate-invite .kff-invite-privacy {
    padding: 16px 34px 22px;
    border-top: 1px solid #edf0f4;
    color: #8a95a6;
    font-size: 9px;
    line-height: 1.5;
}

.kff-playdate-invite .kff-plan-cancelled {
    margin: 0 34px 24px;
    padding: 12px 14px;
    border: 1px solid #f1b7b7;
    border-radius: 12px;
    background: #fff7f7;
    color: #b42318;
    font-size: 11px;
    font-weight: 700;
}

.kff-playdate-invite .kff-rsvps-closed {
    margin: 0 0 14px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff8eb;
    color: #9a5b12;
    font-size: 10px;
    font-weight: 700;
}

@media (max-width: 700px) {
    .kff-family-calendar {
        padding: 22px 16px 50px;
    }

    .kff-playdate-invite {
        width: calc(100% - 20px);
        margin: 18px auto 40px;
        border-radius: 20px;
    }

    .kff-playdate-invite .kff-invite-hero {
        grid-template-columns: minmax(0, 1fr) 90px;
        gap: 16px;
        padding: 24px 20px;
    }

    .kff-playdate-invite .kff-invite-image {
        width: 90px;
        height: 90px;
        border-radius: 16px;
    }

    .kff-playdate-invite .kff-invite-title {
        font-size: 27px;
    }

    .kff-playdate-invite .kff-invite-subtitle {
        font-size: 17px;
    }

    .kff-playdate-invite .kff-invite-section {
        padding: 23px 20px;
    }

    .kff-playdate-invite .kff-party-size-row {
        grid-template-columns: 1fr;
    }

    .kff-playdate-invite .kff-rsvp-actions,
    .kff-playdate-invite .kff-invite-utility-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .kff-playdate-invite .kff-rsvp-actions > *,
    .kff-playdate-invite .kff-invite-utility-actions > * {
        width: 100%;
    }

    .kff-playdate-invite .kff-invite-privacy {
        padding: 14px 20px 20px;
    }
}


/* Compact spacing in profile dropdown */
#kffHeaderDropdown > a,
#kffHeaderDropdown > button {
    margin: 0 !important;
}

#kffHeaderDropdown > a + a,
#kffHeaderDropdown > button {
    margin-top: 3px !important;
}


/* =========================================================
   FAMILY CALENDAR RSVP — clearer people cards + multi-RSVP
   ========================================================= */

.kff-plan-who-is-coming .kff-plan-section-head {
    margin-bottom: 15px !important;
}

.kff-plan-who-is-coming .kff-plan-section-head h3 {
    margin-bottom: 5px !important;
}

.kff-plan-rsvp-overview {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}

.kff-plan-rsvp-overview > span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 25px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.kff-plan-rsvp-overview .going {
    background: #edf9f2 !important;
    color: #23743a !important;
}

.kff-plan-rsvp-overview .maybe {
    background: #fff7e8 !important;
    color: #956100 !important;
}

.kff-plan-rsvp-overview .declined {
    background: #fff0f0 !important;
    color: #a93737 !important;
}

.kff-plan-public-rsvps {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    align-items: stretch !important;
}

.kff-plan-public-person {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    min-width: 0 !important;
    padding: 11px 12px !important;
    border: 1px solid #e5ebf2 !important;
    border-radius: 13px !important;
    background: #fff !important;
}

.kff-plan-public-person.going {
    border-color: #d7ebdd !important;
    background: #fbfefc !important;
}

.kff-plan-public-person.maybe {
    border-color: #f2e1bc !important;
    background: #fffdf7 !important;
}

.kff-plan-person-icon {
    display: grid !important;
    width: 34px !important;
    height: 34px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #edf9f2 !important;
    color: #23743a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.kff-plan-public-person.maybe .kff-plan-person-icon {
    background: #fff4d9 !important;
    color: #956100 !important;
}

.kff-plan-person-copy {
    display: block !important;
    min-width: 0 !important;
}

.kff-plan-person-copy > strong {
    display: block !important;
    margin: 1px 0 5px !important;
    color: var(--kff-navy,#15233b) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.kff-plan-person-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 5px !important;
}

.kff-plan-person-status {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 21px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    font-style: normal !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

.kff-plan-person-status.going {
    background: #edf9f2 !important;
    color: #23743a !important;
}

.kff-plan-person-status.maybe {
    background: #fff4d9 !important;
    color: #956100 !important;
}

.kff-plan-person-meta small {
    display: inline !important;
    color: #65748a !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

.kff-plan-person-note {
    display: block !important;
    margin-top: 5px !important;
    color: #718096 !important;
    font-size: 10px !important;
    font-style: italic !important;
    line-height: 1.4 !important;
}

.kff-plan-rsvp-saved {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 15px !important;
    border: 1px solid #d8eadf !important;
    border-radius: 14px !important;
    background: #f7fcf9 !important;
}

.kff-plan-rsvp-saved-icon {
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #dff4e7 !important;
    color: #23743a !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

.kff-plan-rsvp-saved-copy {
    min-width: 0 !important;
}

.kff-plan-rsvp-saved-copy > span,
.kff-plan-rsvp-saved-copy > strong,
.kff-plan-rsvp-saved-copy > small {
    display: block !important;
}

.kff-plan-rsvp-saved-copy > span {
    margin-bottom: 2px !important;
    color: #538168 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
}

.kff-plan-rsvp-saved-copy > strong {
    color: var(--kff-navy,#15233b) !important;
    font-size: 13px !important;
}

.kff-plan-rsvp-saved-copy > small {
    margin-top: 3px !important;
    color: #667085 !important;
    font-size: 10px !important;
}

.kff-plan-rsvp-saved-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 11px !important;
}

.kff-family-action-primary {
    border-color: #a9c7f8 !important;
    background: #eef5ff !important;
    color: #245fbf !important;
}

@media (max-width: 650px) {
    .kff-plan-public-rsvps {
        grid-template-columns: 1fr !important;
    }

    .kff-plan-rsvp-saved-actions {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .kff-plan-rsvp-saved-actions .kff-family-action {
        width: 100% !important;
    }
}


/* ============================================================
   2026-09-14 — Family Plans hierarchy
   Upcoming plans first, monthly calendar second
   ============================================================ */

.kff-family-agenda {
    margin-top: 24px !important;
    margin-bottom: 42px !important;
}

.kff-family-agenda > h2 {
    margin: 0 0 14px !important;
}

.kff-family-calendar-month {
    padding-top: 30px !important;
    border-top: 1px solid #e7edf5 !important;
}

.kff-family-calendar-month-heading {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 8px !important;
}

.kff-family-calendar-month-heading h2 {
    margin: 3px 0 0 !important;
    color: var(--kff-navy,#15233b) !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em !important;
}

.kff-family-calendar-month .kff-events-calendar-head {
    margin-top: 12px !important;
}

@media (max-width: 700px) {
    .kff-family-agenda {
        margin-bottom: 34px !important;
    }

    .kff-family-calendar-month {
        padding-top: 24px !important;
    }

    .kff-family-calendar-month-heading h2 {
        font-size: 21px !important;
    }
}


/* ============================================================
   FINAL — Favorites: 4 saved places + 3 saved events with images
   ============================================================ */

/* Saved places: 4 / 3 / 2 / 1 */
.kff-favorites-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

/* Saved events: 3 cards per row */
.kff-saved-events-section .kff-events-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

/* Card */
.kff-saved-events-section .kff-event-card,
.kff-saved-events-section .kff-saved-event-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--kff-border) !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(21, 35, 59, .05) !important;
}

.kff-saved-events-section .kff-event-card:hover {
    transform: translateY(-2px) !important;
    border-color: #d7deea !important;
    box-shadow: 0 10px 26px rgba(21, 35, 59, .09) !important;
}

/* Event image */
.kff-saved-events-section .kff-event-image,
.kff-saved-events-section .kff-saved-event-image {
    position: relative !important;
    display: flex !important;
    order: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 165px !important;
    min-height: 165px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, #70d9ee, #5285e7) !important;
    line-height: 0 !important;
}

.kff-saved-events-section .kff-event-card:nth-child(4n + 2) .kff-event-image {
    background: linear-gradient(135deg, #ffcf63, #f27870) !important;
}

.kff-saved-events-section .kff-event-card:nth-child(4n + 3) .kff-event-image {
    background: linear-gradient(135deg, #a9e778, #4dbc77) !important;
}

.kff-saved-events-section .kff-event-image img,
.kff-saved-events-section .kff-saved-event-image img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
}

.kff-saved-event-image-placeholder {
    display: grid !important;
    width: 100% !important;
    height: 100% !important;
    place-items: center !important;
    color: rgba(255,255,255,.9) !important;
    font-size: 48px !important;
    line-height: 1 !important;
}

/* Date badge over image */
.kff-saved-events-section .kff-event-date-box {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    z-index: 5 !important;
    display: block !important;
    width: 58px !important;
    min-width: 58px !important;
    margin: 0 !important;
    padding: 8px 4px !important;
    border-radius: 11px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 4px 13px rgba(21,35,59,.14) !important;
    backdrop-filter: blur(5px);
}

/* Saved heart — same interaction pattern as places */
.kff-saved-event-heart {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 6 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.86) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.96) !important;
    color: var(--kff-pink) !important;
    font-family: Arial, sans-serif !important;
    font-size: 19px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(21,35,59,.13) !important;
    transition: transform .15s ease, background .15s ease !important;
}

.kff-saved-event-heart:hover {
    transform: scale(1.06) !important;
    background: #fff0f6 !important;
}

.kff-saved-event-heart:disabled {
    opacity: .55 !important;
    cursor: wait !important;
}

/* Body */
.kff-saved-events-section .kff-event-body {
    display: flex !important;
    order: 1 !important;
    flex: 1 !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px !important;
}

.kff-saved-events-section .kff-event-title {
    margin: 0 0 8px !important;
    color: var(--kff-navy) !important;
    font-size: 16px !important;
    line-height: 1.28 !important;
    font-weight: 700 !important;
}

.kff-saved-events-section .kff-event-title a {
    min-width: 0 !important;
    color: inherit !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    text-decoration: none !important;
}

.kff-saved-events-section .kff-event-title a:hover {
    color: var(--kff-pink) !important;
}

.kff-saved-events-section .kff-event-meta {
    display: grid !important;
    gap: 5px !important;
    margin: 0 0 9px !important;
    color: #526075 !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

.kff-saved-events-section .kff-event-description {
    display: -webkit-box !important;
    margin: 0 0 11px !important;
    overflow: hidden !important;
    color: var(--kff-muted) !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}

.kff-saved-event-bottom {
    display: flex !important;
    align-items: center !important;
    margin-top: auto !important;
    padding-top: 10px !important;
    border-top: 1px solid #edf0f4 !important;
}

.kff-saved-events-section .kff-event-view {
    color: var(--kff-blue) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Old large Remove button must never appear */
.kff-saved-events-section .kff-event-unsave,
.kff-saved-events-section [data-event]:not(.kff-saved-event-heart) {
    display: none !important;
}

/* Responsive */
@media (max-width: 1200px) {
    .kff-favorites-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    .kff-saved-events-section .kff-events-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .kff-favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .kff-favorites-grid,
    .kff-saved-events-section .kff-events-grid {
        grid-template-columns: 1fr !important;
    }

    .kff-saved-events-section .kff-event-image,
    .kff-saved-events-section .kff-saved-event-image {
        height: 190px !important;
        min-height: 190px !important;
    }
}


/* ============================================================
   FINAL VISUAL TUNE — Saved Events cards
   ============================================================ */

.kff-saved-events-section .kff-events-grid {
    align-items: stretch !important;
}

.kff-saved-events-section .kff-event-card,
.kff-saved-events-section .kff-saved-event-card {
    height: 100% !important;
    min-height: 0 !important;
}

/* Consistent event image area */
.kff-saved-events-section .kff-event-image,
.kff-saved-events-section .kff-saved-event-image {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    background: #f4f7fb !important;
}

.kff-saved-events-section .kff-event-image img,
.kff-saved-events-section .kff-saved-event-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

.kff-saved-event-image-placeholder {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(135deg, #70d9ee, #5285e7) !important;
}

/* Overlay controls */
.kff-saved-events-section .kff-event-date-box {
    top: 10px !important;
    left: 10px !important;
    width: 54px !important;
    min-width: 54px !important;
    padding: 7px 4px !important;
    border-radius: 10px !important;
}

.kff-saved-events-section .kff-event-date-day {
    font-size: 19px !important;
}

.kff-saved-event-heart {
    top: 10px !important;
    right: 10px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 17px !important;
}

/* Equal card bodies */
.kff-saved-events-section .kff-event-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    padding: 15px 14px 14px !important;
}

.kff-saved-events-section .kff-event-title {
    margin: 0 0 8px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
}

.kff-saved-events-section .kff-event-meta {
    gap: 4px !important;
    margin-bottom: 8px !important;
    font-size: 9px !important;
    line-height: 1.4 !important;
}

.kff-saved-events-section .kff-event-description {
    min-height: 30px !important;
    margin: 0 0 10px !important;
    -webkit-line-clamp: 2 !important;
}

.kff-saved-event-bottom {
    margin-top: auto !important;
    padding-top: 10px !important;
}

/* Keep all cards visually aligned */
.kff-saved-events-section .kff-event-card:nth-child(1n) {
    align-self: stretch !important;
}

@media (max-width: 700px) {
    .kff-saved-events-section .kff-event-image,
    .kff-saved-events-section .kff-saved-event-image {
        aspect-ratio: 16 / 10 !important;
    }
}

/* ============================================================
   BIRTHDAY PARTY DETAILS — actions + parent reviews polish
   ============================================================ */
body:has(.kff-party-details-page),
body:has(.kff-party-details-page) #page,
body:has(.kff-party-details-page) #content,
body:has(.kff-party-details-page) .site-content,
body:has(.kff-party-details-page) .site-main,
body:has(.kff-party-details-page) article,
body:has(.kff-party-details-page) .entry-content {
    background:#fff !important;
}
.kff-party-details-page { background:#fff !important; }
.kff-party-planner { display:none !important; }
.kff-party-hero-actions { display:flex !important; flex-wrap:wrap !important; gap:10px !important; align-items:center !important; }
.kff-party-action-btn,
.kff-party-review-secondary {
    min-height:46px !important; padding:0 17px !important; border:1px solid #d7dfeb !important;
    border-radius:12px !important; background:#fff !important; color:#20314f !important;
    font:inherit !important; font-weight:700 !important; cursor:pointer !important; box-shadow:0 2px 5px rgba(16,24,40,.03) !important;
}
.kff-party-action-btn:hover,.kff-party-review-secondary:hover { border-color:#f34f92 !important; color:#e63d83 !important; background:#fff7fb !important; }
.kff-party-action-save { color:#e63d83 !important; border-color:#f2b3d0 !important; }
.kff-party-action-save.is-saved { background:#fff0f7 !important; border-color:#f34f92 !important; color:#d92f78 !important; }
.kff-party-primary-button { background:#f34f92 !important; border-color:#f34f92 !important; box-shadow:none !important; }
.kff-party-primary-button:hover { background:#df3e81 !important; border-color:#df3e81 !important; }
.kff-party-community-section { margin-top:18px !important; }
.kff-party-community-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(270px,.8fr); gap:44px; align-items:start; }
.kff-party-review-intro { color:#667085; margin:-5px 0 18px; }
.kff-party-review-actions { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 24px; }
.kff-party-review-primary {
    min-height:46px; padding:0 18px; border:1px solid #f34f92; border-radius:12px;
    background:#f34f92; color:#fff; font:inherit; font-weight:800; cursor:pointer;
}
.kff-party-review-primary:hover { background:#df3e81; border-color:#df3e81; }
.kff-party-correction-card { padding:22px; border:1px solid #e1e7f0; border-radius:16px; background:#fafbfc; }
.kff-party-correction-card h3 { margin:6px 0 8px; font-size:21px; }
.kff-party-correction-card p { color:#667085; margin:0 0 17px; }
.kff-party-empty-reviews { padding:18px 20px; border-radius:13px; background:#f7f9fc; color:#667085; }
.kff-bday-review { padding:18px 0; border-bottom:1px solid #edf0f4; }
.kff-party-review-head { display:flex; justify-content:space-between; gap:15px; margin-bottom:7px; }
.kff-party-review-stars { color:#f5a623; letter-spacing:2px; white-space:nowrap; }
.kff-party-modal-backdrop { position:fixed; inset:0; z-index:999999; display:grid; place-items:center; padding:20px; background:rgba(16,24,40,.48); }
.kff-party-review-modal { position:relative; width:min(620px,100%); max-height:90vh; overflow:auto; padding:30px; border-radius:20px; background:#fff; box-shadow:0 24px 70px rgba(16,24,40,.25); }
.kff-party-review-modal h2 { margin:7px 0 5px; color:#101828; font-size:28px; }
.kff-party-review-modal > p { margin:0 0 22px; color:#667085; }
.kff-party-modal-close { position:absolute; top:16px; right:18px; width:38px; height:38px; border:0; border-radius:50%; background:#f4f6f9; color:#344054; font-size:26px; cursor:pointer; }
.kff-party-star-field { padding:0; margin:0 0 20px; border:0; }
.kff-party-star-field legend,.kff-party-form-label,.kff-party-review-extra-grid label { display:block; margin-bottom:8px; color:#344054; font-weight:700; }
.kff-party-star-picker { display:flex; gap:5px; }
.kff-party-star-picker button { padding:0; border:0; background:transparent; color:#f5a623; font-size:36px; line-height:1; cursor:pointer; }
.kff-party-review-modal textarea,.kff-party-review-modal input { width:100%; margin-top:7px; padding:12px 13px; border:1px solid #d7dfeb; border-radius:11px; background:#fff; color:#101828; font:inherit; font-weight:400; }
.kff-party-review-modal textarea:focus,.kff-party-review-modal input:focus { outline:2px solid rgba(243,79,146,.18); border-color:#f34f92; }
.kff-party-review-extra-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }
.kff-party-form-error { min-height:20px; margin-top:8px; color:#b42318; font-size:14px; }
.kff-party-modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:16px; }
.kff-party-toast { position:fixed; right:24px; bottom:24px; z-index:1000000; max-width:420px; padding:14px 18px; border-radius:12px; background:#101828; color:#fff; box-shadow:0 12px 30px rgba(16,24,40,.2); }
.kff-party-toast.is-error { background:#b42318; }
@media(max-width:800px){
    .kff-party-community-grid { grid-template-columns:1fr; gap:24px; }
    .kff-party-review-extra-grid { grid-template-columns:1fr; }
    .kff-party-hero-actions > * { width:100%; justify-content:center; text-align:center; }
}

/* ============================================================
   BIRTHDAY PARTY DETAILS — header actions + split party reviews
   ============================================================ */
.kff-party-hero-actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:18px!important}
.kff-party-hero-actions .kff-party-action-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:0!important;min-height:44px!important;padding:0 16px!important;white-space:nowrap!important}
.kff-party-hero-actions .kff-party-action-save{color:#e83e8c!important;border-color:#f2b4d0!important;background:#fff7fb!important}
.kff-party-hero-actions .kff-party-action-save:hover,.kff-party-hero-actions .kff-party-action-save.is-saved{color:#d92f78!important;border-color:#ee5b9d!important;background:#fff0f7!important}
.kff-party-hero-rating{display:flex;align-items:center;gap:7px;margin:12px 0 2px;color:#667085;font-size:14px}
.kff-party-stars,.kff-party-review-stars{color:#f5a623!important;letter-spacing:1px;font-size:18px;line-height:1}
.kff-party-hero-rating strong{color:#101828;font-size:15px}
.kff-party-no-rating{color:#667085}
.kff-party-community-section{padding:30px!important;border:1px solid #dfe6ef!important;border-radius:20px!important;background:#fff!important}
.kff-party-reviews-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}
.kff-party-reviews-heading h2{margin:4px 0 4px!important;font-size:28px!important}
.kff-party-reviews-heading p{margin:0;color:#667085}
.kff-party-review-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.kff-party-review-panel{padding:22px;border:1px solid #dfe6ef;border-radius:16px;background:#fff}
.kff-party-review-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid #edf0f4}
.kff-party-review-panel-head h3{margin:4px 0 0;font-size:20px;color:#10244a}
.kff-party-review-role,.kff-party-section-kicker{color:#e83e8c;font-size:11px;font-weight:800;letter-spacing:.06em}
.kff-party-review-panel-head button{flex:0 0 auto;min-height:40px!important;padding:0 14px!important}
.kff-party-rating-summary{display:flex;align-items:center;gap:8px;padding:17px 0;color:#667085;font-size:13px}
.kff-party-rating-summary strong{color:#10244a;font-size:20px}
.kff-party-reviews-list{display:grid;gap:0}
.kff-bday-review{padding:17px 0!important;border-top:1px solid #edf0f4!important;border-bottom:0!important}
.kff-bday-review:first-child{border-top:0!important;padding-top:5px!important}
.kff-party-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px!important}
.kff-party-review-head time{color:#7b8798;font-size:12px;white-space:nowrap}
.kff-bday-review p{margin:0;color:#344054;line-height:1.55}
.kff-party-review-cost{margin-top:9px;color:#667085;font-size:12px}
.kff-party-empty-reviews{padding:15px 16px!important;background:#f7f9fc!important;border-radius:12px!important;color:#667085!important}
.kff-party-corrections-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid #edf0f4;color:#667085;font-size:12px}
.kff-party-text-action{padding:0;border:0;background:transparent;color:#316fd6;font:inherit;font-weight:700;cursor:pointer}
.kff-party-text-action:hover{color:#e83e8c}
@media(max-width:900px){.kff-party-review-columns{grid-template-columns:1fr}.kff-party-review-panel-head{flex-direction:column}.kff-party-hero-actions .kff-party-action-btn{width:auto!important}.kff-party-corrections-row{align-items:flex-start;flex-direction:column}}

/* ============================================================
   Birthday Parties listing — 2026-09-15 main-page fixes
   ============================================================ */
.kff-bday-v2 .kff-bday-searchrow{display:flex!important;flex-direction:column!important;gap:8px!important}
.kff-bday-v2 #bpSearchButton,
.kff-bday-v2 #bpReset{
    width:100%!important;min-height:42px!important;padding:0 14px!important;
    border:1px solid #b9d3f3!important;border-radius:10px!important;
    background:#eef7ff!important;color:#1556a8!important;
    font:inherit!important;font-size:12px!important;font-weight:700!important;
    cursor:pointer!important;box-shadow:none!important;
}
.kff-bday-v2 #bpSearchButton:hover,
.kff-bday-v2 #bpReset:hover{background:#e3f1ff!important;border-color:#87b7ed!important;color:#0e4d99!important}

.kff-bday-v2 .kff-bday-rating{display:flex!important;align-items:center!important;gap:5px!important;margin:10px 0 2px!important;font-size:12px!important;color:#667085!important}
.kff-bday-v2 .kff-bday-rating strong{color:#15233b!important;font-size:13px!important}
.kff-bday-v2 .kff-bday-stars{display:inline-flex!important;gap:1px!important;color:#d8dee8!important;font-size:15px!important;line-height:1!important}
.kff-bday-v2 .kff-bday-stars .filled{color:#f5a623!important}

.kff-bday-v2 .kff-bday-amenities{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0 0 12px!important}
.kff-bday-v2 .kff-bday-amenities>span{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:6px 9px!important;border-radius:999px!important;background:#f7f9fc!important;color:#344054!important;font-size:10px!important;line-height:1.2!important;white-space:nowrap!important}
.kff-bday-v2 .kff-bday-amenities b{font-weight:700!important;color:#e83e8c!important}

.kff-bday-v2 .kff-bday-cardactions{justify-content:space-between!important;margin-top:2px!important}
.kff-bday-v2 .kff-bday-primary{background:#f34f92!important;border:1px solid #f34f92!important;color:#fff!important;border-radius:10px!important}
.kff-bday-v2 .kff-bday-primary:hover{background:#df3e81!important;border-color:#df3e81!important;color:#fff!important}
.kff-bday-v2 .kff-bday-save{margin-left:auto!important;border:1px solid #f2b3d0!important;background:#fff7fb!important;color:#e63d83!important;border-radius:10px!important}
.kff-bday-v2 .kff-bday-save:hover{border-color:#f34f92!important;background:#fff0f7!important;color:#d92f78!important}

.kff-bday-v2 .kff-bday-pagination{display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:7px!important;margin:26px 0 4px!important}
.kff-bday-v2 .kff-bday-pagination[hidden]{display:none!important}
.kff-bday-v2 .kff-bday-pagination button{min-width:38px!important;height:38px!important;padding:0 11px!important;border:1px solid #d7e0eb!important;border-radius:9px!important;background:#fff!important;color:#344054!important;font:inherit!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important}
.kff-bday-v2 .kff-bday-pagination button.active{background:#f34f92!important;border-color:#f34f92!important;color:#fff!important}
.kff-bday-v2 .kff-bday-pagination button:disabled{opacity:.4!important;cursor:default!important}
.kff-bday-v2 .kff-bday-pagination span{padding:0 3px!important;color:#98a2b3!important}

.kff-bday-v2 .kff-bday-map{padding:0!important;overflow:hidden!important;min-height:520px!important;background:#fff!important}
.kff-bday-v2 .kff-bday-leaflet-map{display:block!important;width:100%!important;height:520px!important;min-height:520px!important;border-radius:16px!important;background:#eef3f8!important}
.kff-bday-v2 .kff-bday-map-popup{display:grid!important;gap:4px!important;min-width:170px!important}
.kff-bday-v2 .kff-bday-map-popup span{color:#667085!important;font-size:12px!important}
.kff-bday-v2 .kff-bday-map-popup a{display:inline-block!important;margin-top:4px!important;padding:0!important;border:0!important;color:#e83e8c!important;font-weight:700!important;text-decoration:none!important}

/* Birthday Parties listing — compact 3-card desktop grid */
@media (min-width: 1180px) {
  .kff-birthday-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}

.kff-birthday-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  border-radius: 14px !important;
}

.kff-birthday-image {
  height: 138px !important;
}

.kff-birthday-private-badge {
  left: 9px !important;
  bottom: 9px !important;
  padding: 4px 7px !important;
  font-size: 8px !important;
}

.kff-birthday-card-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  padding: 12px !important;
}

.kff-birthday-card-name {
  display: -webkit-box !important;
  overflow: hidden !important;
  margin-bottom: 3px !important;
  font-size: 15px !important;
  line-height: 1.22 !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.kff-birthday-location {
  margin-bottom: 7px !important;
  font-size: 9px !important;
}

.kff-birthday-rating,
.kff-birthday-card .kff-party-rating,
.kff-birthday-card .kff-party-stars {
  font-size: 11px !important;
  line-height: 1.2 !important;
}

.kff-birthday-card .kff-party-stars,
.kff-birthday-card .kff-birthday-stars {
  color: #f5a623 !important;
}

.kff-birthday-facts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 7px 0 8px !important;
}

.kff-birthday-fact {
  flex: 0 0 auto !important;
  padding: 5px 6px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f6f8fb !important;
  font-size: 8px !important;
  white-space: nowrap !important;
}

.kff-birthday-features {
  gap: 4px !important;
  min-height: 0 !important;
  margin-bottom: 8px !important;
  max-height: 48px !important;
  overflow: hidden !important;
}

.kff-birthday-feature {
  padding: 4px 6px !important;
  font-size: 8px !important;
  line-height: 1.2 !important;
}

.kff-birthday-price-row {
  margin-top: auto !important;
  padding-top: 8px !important;
  gap: 8px !important;
}

.kff-birthday-price-label {
  font-size: 8px !important;
}

.kff-birthday-price {
  font-size: 17px !important;
  line-height: 1.1 !important;
}

.kff-birthday-view,
.kff-birthday-card .kff-save-button,
.kff-birthday-card .kff-birthday-save {
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  font-size: 9px !important;
}

@media (min-width: 760px) and (max-width: 1179px) {
  .kff-birthday-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 759px) {
  .kff-birthday-grid {
    grid-template-columns: 1fr !important;
  }
  .kff-birthday-image {
    height: 170px !important;
  }
}

/* ============================================================
   Birthday Parties listing — compact 3-column cards FIX
   Correct selectors for /birthday-parties/
   ============================================================ */
@media (min-width: 1180px) {
    .kff-bday-v2 .kff-bday-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

@media (min-width: 701px) and (max-width: 1179px) {
    .kff-bday-v2 .kff-bday-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

@media (max-width: 700px) {
    .kff-bday-v2 .kff-bday-grid {
        grid-template-columns: 1fr !important;
    }
}

.kff-bday-v2 .kff-bday-cardbody {
    padding: 14px !important;
}

.kff-bday-v2 .kff-bday-card h2 {
    font-size: 18px !important;
    line-height: 1.22 !important;
    margin: 7px 0 3px !important;
}

.kff-bday-v2 .kff-bday-card .kff-bday-photo,
.kff-bday-v2 .kff-bday-card > img {
    height: 190px !important;
    min-height: 190px !important;
    max-height: 190px !important;
    object-fit: cover !important;
}

.kff-bday-v2 .kff-bday-facts {
    gap: 5px !important;
    margin: 11px 0 !important;
}

.kff-bday-v2 .kff-bday-facts span {
    padding: 5px 7px !important;
    font-size: 11px !important;
}

.kff-bday-v2 .kff-bday-price {
    padding: 10px 0 !important;
}

.kff-bday-v2 .kff-bday-price strong {
    font-size: 22px !important;
}
/* Birthday Parties — heart button same as Places */
.kff-bday-card .kff-bday-save {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    min-width: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ec4899;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .12);
    z-index: 3;
}

.kff-bday-card .kff-bday-save:hover {
    transform: scale(1.06);
}

.kff-bday-card .kff-bday-save .kff-save-label {
    display: none;
}
.kff-bday-card-media {
    position: relative;
}
/* Birthday Parties — heart on photo, same as Places */
.kff-bday-cardmedia {
    position: relative !important;
}

.kff-bday-cardmedia .kff-heart {
    top: 10px !important;
    right: 10px !important;
}
/* Birthday Parties: fixed card photos + independent filter scrolling */
@media (min-width:901px) {
    .kff-bday-v2 .kff-bday-filter {
        max-height:calc(100vh - 112px) !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        scrollbar-gutter:stable;
        overscroll-behavior:contain;
    }
}

.kff-bday-v2 .kff-bday-cardphoto {
    display:block !important;
    width:100% !important;
    height:170px !important;
    overflow:hidden !important;
    background:#f6f8fb !important;
}
.kff-bday-v2 .kff-bday-cardphoto img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
}
