body { background:#f4f5f7; font-family:'Advent Pro',sans-serif; color:#565656; font-size:14px; line-height:1.7; overflow-x:clip; padding-top:140px; }

/* ── Compact sticky header ── */
.cf-header {
    position:fixed; top:0; left:0; right:0; z-index:999;
    background:#fff; border-bottom:2px solid #1164b5;
    padding:10px 20px;
    display:flex; align-items:center; justify-content:space-between;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.cf-header .cf-logo img { height:38px; }
.cf-header .cf-phone { display:flex; flex-direction:column; align-items:flex-end; line-height:1.2; }
.cf-header .cf-phone span { font-size:11px; color:#3abfbe; font-weight:600; text-transform:uppercase; letter-spacing:.5px; }
.cf-header .cf-phone a { font-size:17px; font-weight:700; color:#1164b5; text-decoration:none; }

/* ── Progress bar ── */
.cf-progress-wrap { position:fixed; top:60px; left:0; right:0; z-index:998; background:#fff; padding:14px 20px 0; border-bottom:1px solid #ececec; }
.cf-progress-steps { display:flex; list-style:none; margin:0 auto; padding:0; max-width:500px; }
.cf-progress-steps li { flex:1; text-align:center; position:relative; padding-bottom:10px; }
.cf-progress-steps li::after { content:''; position:absolute; bottom:0; left:0; right:0; height:3px; background:#f0f0f0; border-radius:2px; }
.cf-progress-steps li.active::after { background:#1164b5; }
.cf-progress-steps li.done::after   { background:#3abfbe; }
.cf-step-num {
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:50%;
    border:2px solid #f0f0f0; font-size:13px; font-weight:700;
    color:#b9b9b9; background:#fff; margin-bottom:4px;
}
.active .cf-step-num { border-color:#1164b5; color:#1164b5; background:#f4f5f7; }
.done   .cf-step-num { border-color:#3abfbe; background:#3abfbe; color:#fff; }
.cf-step-label { display:block; font-size:11px; color:#b9b9b9; font-weight:600; letter-spacing:.3px; text-transform:uppercase; }
.active .cf-step-label { color:#1164b5; }
.done   .cf-step-label { color:#3abfbe; }

/* ── Trust bar ── */
.cf-trust {
    display:flex; justify-content:center; gap:20px; flex-wrap:wrap;
    padding:10px 16px; background:#fff;
    border-bottom:1px solid #ececec;
}
.cf-trust-item { display:flex; align-items:center; gap:5px; font-size:12px; color:#565656; font-weight:500; }
.cf-trust-item i { color:#3abfbe; font-size:13px; }

/* ── Main content ── */
.cf-body { max-width:860px; margin:0 auto; padding:20px 14px 40px; }

/* ── Card ── */
.cf-card { background:#fff; border-radius:14px; box-shadow:0 2px 12px rgba(0,0,0,.06); overflow:visible; margin-bottom:14px; }
.cf-card-header {
    background:linear-gradient(90deg,#1164b5,#4578b9);
    padding:13px 18px; display:flex; align-items:center; gap:10px;
    border-top-right-radius: 14px;
    border-top-left-radius: 14px;    
}
.cf-card-header i { color:#fff; font-size:17px; }
.cf-card-header h2 { color:#fff; font-size:16px; font-weight:600; margin:0; }
.cf-card-body { padding:18px; }

/* ── Fields ── */
.cf-field { margin-bottom:16px; }
.cf-field label { display:flex; font-size:12px; font-weight:700; color:#565656; margin-bottom:5px; text-transform:uppercase; letter-spacing:.4px; }
.cf-field .form-control,
.cf-field .form-select {
    height:48px; font-size:16px; border:1.5px solid #f0f0f0;
    border-radius:8px; padding:8px 14px; background:#fff; color:#18191d;
    transition:border-color .2s, box-shadow .2s;
}
.cf-field .form-control:focus,
.cf-field .form-select:focus {
    border-color:#1164b5; box-shadow:0 0 0 3px rgba(25,102,179,.12);
    background:#fff; outline:none;
}
.cf-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
@media(max-width:480px){ .cf-grid-2{ grid-template-columns:1fr; } }
.cf-section-divider { display:flex; align-items:center; gap:10px; margin:6px 0 16px; color:#565656; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; }
.cf-section-divider::before, .cf-section-divider::after { content:''; flex:1; height:1px; background:#f0f0f0; }


/* ── Plan cards ── */
.cf-plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media(max-width:580px){ .cf-plan-grid{ grid-template-columns:1fr; } }
.cf-plan {
    border:2px solid #f0f0f0; border-radius:12px; padding:14px 12px;
    cursor:pointer; transition:border-color .2s,box-shadow .2s,background .2s;
    position:relative; display:block;
}
.cf-plan:hover { border-color:#1164b5; background:#f4f5f7; }
.cf-plan.selected { border-color:#1164b5; background:#f4f5f7; box-shadow:0 0 0 3px rgba(25,102,179,.15); }
.cf-plan input[type="radio"] { position:absolute; opacity:0; width:0; height:0; }
.cf-plan-check {
    width:20px; height:20px; border:2px solid #f0f0f0; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:8px; background:#fff; transition:all .2s;
}
.cf-plan.selected .cf-plan-check { border-color:#1164b5; background:#1164b5; }
.cf-plan.selected .cf-plan-check::after { content:''; width:7px; height:7px; background:#fff; border-radius:50%; }
.cf-plan-name { font-size:19px; font-weight:700; color:#1164b5; margin-bottom:8px; }
.cf-plan-inherit { font-size:11px; color:#565656; background:#f4f5f7; border-radius:5px; padding:5px 7px; margin-bottom:7px; font-style:italic; }
.cf-plan-features { list-style:none; padding:0; margin:0; font-size:12px; color:#565656; }
.cf-plan-features li { padding:2px 0 2px 16px; position:relative; line-height:1.4; }
.cf-plan-features li::before { content:'✓'; position:absolute; left:0; color:#3abfbe; font-weight:700; }

/* ── Terms ── */
.cf-terms {
    display:flex; align-items:flex-start; gap:10px;
    background:#fff; border:1px solid #f0f0f0; border-radius:10px;
    padding:14px; margin-bottom:18px;
}
.cf-terms input[type="checkbox"] { width:20px; height:20px; flex-shrink:0; margin-top:2px; accent-color:#1164b5; cursor:pointer; }
.cf-terms label { font-size:13px; color:#565656; line-height:1.5; cursor:pointer; margin:0; }
.cf-terms a { color:#1164b5; }

/* ── Submit ── */
.cf-submit {
    width:100%; background:linear-gradient(90deg,#1164b5,#4578b9);
    color:#fff; font-size:18px; font-weight:700;
    font-family:'Advent Pro',sans-serif;
    border:none; border-radius:10px; height:56px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; gap:8px;
    letter-spacing:.5px; text-decoration:none;
    transition:opacity .2s, transform .1s;
}
.cf-submit:hover { opacity:.92; color:#fff; }
.cf-submit:active { transform:scale(.98); }

/* ── Vehicle hero strip ── */
.cf-vehicle-hero {
    display:flex; align-items:center; gap:12px;
    background:#f4f5f7; border:1px solid #e8e8e8;
    border-radius:10px; padding:12px 16px;
    margin-bottom:14px;
}
.cf-vehicle-hero i { font-size:22px; color:#1164b5; flex-shrink:0; }
.cf-vehicle-hero-text strong { font-size:15px; color:#18191d; display:block; line-height:1.3; }
.cf-vehicle-hero-text span { font-size:12px; color:#565656; }

/* ── Minimal footer ── */
.cf-footer { text-align:center; padding:16px; font-size:12px; color:#565656; border-top:1px solid #ececec; background:#fff; }
.cf-footer a { color:#1164b5; }

/*   results   */


        /* Edit link inside the blue card header */
        .cf-header-edit-link {
            font-size:13px; color:rgba(255,255,255,0.85); text-decoration:none;
            font-weight:600; display:flex; align-items:center; gap:4px;
            border:1px solid rgba(255,255,255,0.4); border-radius:6px;
            padding:4px 10px; transition:all .2s; white-space:nowrap;
        }
        .cf-header-edit-link:hover { background:rgba(255,255,255,0.15); color:#fff; }
        .cf-header-edit-link i { font-size:13px; }

        /* Vehicle summary strip below the card header */
        .cf-vehicle-strip {
            display:flex; align-items:center; flex-wrap:wrap; gap:6px;
            padding:10px 18px; background:#f4f5f7;
            font-size:13px; color:#565656; border-bottom:1px solid #ececec;
        }
        .cf-vehicle-strip strong { color:#18191d; }
        .cf-strip-dot { color:#b9b9b9; font-weight:400; }

        /* Filter section inside the card body */
        .cf-filter-body { padding:14px 18px; }
        .cf-filter-title {
            font-size:12px; font-weight:700; color:#565656;
            text-transform:uppercase; letter-spacing:.4px; margin-bottom:12px;
            display:flex; align-items:center; gap:6px;
        }
        .cf-filter-title i { color:#1164b5; }
        .cf-filter-grid {
            display:grid;
            grid-template-columns: 1fr 1fr auto;
            gap:10px;
            align-items:end;
        }
        @media(max-width:600px){ .cf-filter-grid{ grid-template-columns:1fr 1fr; } }
        @media(max-width:400px){ .cf-filter-grid{ grid-template-columns:1fr; } }

        .cf-filter-body .cf-filter-field label {
            display:block; font-size:11px; font-weight:700; color:#565656;
            text-transform:uppercase; letter-spacing:.3px; margin-bottom:5px;
        }
        .cf-filter-body .cf-filter-field .form-control,
        .cf-filter-body .cf-filter-field .form-select {
            height:42px; font-size:15px; border:1.5px solid #f0f0f0;
            border-radius:8px; padding:6px 12px; background:#f4f5f7; color:#18191d;
            transition:border-color .2s;
        }
        .cf-filter-body .cf-filter-field .form-control:focus,
        .cf-filter-body .cf-filter-field .form-select:focus { border-color:#1164b5; background:#fff; outline:none; box-shadow:none; }

        /* Extra options row */
        .cf-extras {
            display:flex; flex-wrap:wrap; gap:8px 20px;
            margin-top:12px; padding-top:12px;
            border-top:1px solid #f0f0f0;
        }
        .cf-extras .form-check { margin:0; display:flex; align-items:center; gap:6px; }
        .cf-extras .form-check-input { width:16px; height:16px; accent-color:#1164b5; cursor:pointer; margin:0; }
        .cf-extras .form-check-label { font-size:13px; color:#565656; cursor:pointer; }

        /* Apply button */
        .cf-filter-apply {
            background:#1164b5; color:#fff; border:none;
            border-radius:8px; height:42px; padding:0 20px;
            font-size:14px; font-weight:700; font-family:'Advent Pro',sans-serif;
            cursor:pointer; white-space:nowrap; 
            letter-spacing:.3px; transition:opacity .2s;
            display:flex; align-items:center; gap:6px;
            align-self:end;
        }
        .cf-filter-apply:hover { opacity:.88; }
        @media(max-width:600px){ .cf-filter-apply{ width:100%; justify-content:center; } }

        /* ── Results count bar ── */
        .cf-results-bar {
            display:flex; align-items:center; justify-content:space-between;
            margin-bottom:12px; flex-wrap:wrap; gap:6px;
        }
        .cf-results-count { font-size:13px; color:#565656; margin-top:14px; }
        .cf-results-count strong { color:#18191d; }
        .cf-sort { display:flex; align-items:center; gap:8px; font-size:13px; color:#565656; }
        .cf-sort select { font-size:13px; border:1px solid #f0f0f0; border-radius:6px; padding:4px 8px; background:#fff; color:#18191d; }

        /* ── Result card ── */
        .cf-result-card {
            background:#fff; border-radius:14px;
            box-shadow:0 2px 10px rgba(0,0,0,.06);
            margin-bottom:12px; overflow:hidden;
            border:2px solid transparent;
            transition:border-color .2s, box-shadow .2s;
        }
        .cf-result-card:hover { border-color:#1164b5; box-shadow:0 4px 16px rgba(17,100,181,.12); }
        .cf-result-card.best-value { border-color:#3abfbe; }

        /* Best value badge */
        .cf-best-badge {
            background:#3abfbe; color:#fff;
            font-size:11px; font-weight:700; text-transform:uppercase;
            letter-spacing:.5px; padding:4px 14px;
            display:flex; align-items:center; gap:5px;
        }
        .cf-best-badge i { font-size:12px; }

        /* Card inner layout */
        .cf-result-inner {
            display:grid;
            grid-template-columns: 110px 1fr auto;
            gap:0;
            align-items:stretch;
        }
        @media(max-width:600px){
            .cf-result-inner { grid-template-columns:80px 1fr; }
            .cf-result-price-col { grid-column:1/-1; border-top:1px solid #f0f0f0; border-left:none; }
        }

        /* Logo column */
        .cf-result-logo {
            display:flex; align-items:center; justify-content:center;
            padding:16px 10px;
            border-right:1px solid #f0f0f0;
        }
        .cf-result-logo img { max-width:80px; max-height:50px; object-fit:contain; }
        @media(max-width:600px){
            .cf-result-logo { max-width:80px; padding:12px 8px; border-right:none; border-bottom:none; }
            .cf-result-logo img { max-width:60px; }
        }

        /* Middle details column */
        .cf-result-details { padding:14px 16px; }
        .cf-result-plan-name {
            font-size:16px; font-weight:700; color:#18191d; margin-bottom:2px;
        }
        .cf-result-insurer { font-size:12px; color:#565656; margin-bottom:10px; }

        /* Toggle switches */
        .cf-toggles { display:flex; flex-wrap:wrap; gap:6px 20px; margin-bottom:10px; }
        .cf-toggle-item { display:flex; align-items:center; gap:6px; }
        .cf-toggle-item .form-check-input { width:32px; height:18px; cursor:pointer; accent-color:#1164b5; }
        .cf-toggle-item label { font-size:13px; color:#565656; cursor:pointer; }

        /* Coverage accordion */
        .cf-accordion-btn {
            background:none; border:none; padding:0;
            font-size:13px; color:#1164b5; font-family:'Advent Pro',sans-serif;
            cursor:pointer; display:flex; align-items:center; gap:4px;
            font-weight:600; text-decoration:none;
        }
        .cf-accordion-btn:hover { text-decoration:underline; }
        .cf-accordion-body {
            display:none; margin-top:10px; padding:10px 12px;
            background:#f4f5f7; border-radius:8px;
            font-size:13px; color:#565656;
        }
        .cf-accordion-body.open { display:block; }
        .cf-coverage-list { list-style:none; padding:0; margin:0; columns:2; gap:16px; }
        @media(max-width:480px){ .cf-coverage-list{ columns:1; } }
        .cf-coverage-list li { padding:2px 0 2px 16px; position:relative; line-height:1.4; }
        .cf-coverage-list li::before { content:'✓'; position:absolute; left:0; color:#3abfbe; font-weight:700; }

        /* Price column */
        .cf-result-price-col {
            display:flex; flex-direction:column; align-items:center; justify-content:center;
            padding:16px 20px; border-left:1px solid #f0f0f0;
            min-width:130px; text-align:center;
        }
        @media(max-width:600px){ .cf-result-price-col{ flex-direction:row; justify-content:space-between; padding:12px 16px; width:100%; } }

        .cf-price-amount {
            font-size:36px; font-weight:700; color:#1164b5; line-height:1;
        }
        .cf-price-amount span { font-size:18px; font-weight:400; color:#565656; }
        .cf-price-monthly { font-size:13px; color:#565656; margin-bottom:12px; }
        @media(max-width:600px){ .cf-price-monthly{ margin-bottom:0; margin-right:12px; } }

        .cf-buy-btn {
            background:#1164b5; color:#fff; border:none;
            border-radius:8px; padding:10px 22px;
            font-size:15px; font-weight:700; font-family:'Advent Pro',sans-serif;
            cursor:pointer; letter-spacing:.3px;
            text-decoration:none; display:inline-flex; align-items:center; gap:6px;
            transition:background .2s, transform .1s;
            white-space:nowrap;
        }
        .cf-buy-btn:hover { background:#4578b9; color:#fff; }
        .cf-buy-btn:active { transform:scale(.97); }

        /* ── Pagination ── */
        .cf-pagination {
            display:flex; justify-content:center; align-items:center;
            gap:6px; margin-top:20px;
        }
        .cf-pagination a, .cf-pagination span {
            display:inline-flex; align-items:center; justify-content:center;
            width:38px; height:38px; border-radius:8px;
            font-size:14px; font-weight:600; text-decoration:none;
            border:1px solid #f0f0f0; background:#fff; color:#565656;
            transition:all .2s;
        }
        .cf-pagination a:hover { border-color:#1164b5; color:#1164b5; }
        .cf-pagination a.active { background:#1164b5; color:#fff; border-color:#1164b5; }
        .cf-pagination .cf-pg-arrow {
            color:#1164b5 !important;
            border-color:#1164b5 !important;
            font-size:14px;
        }
        .cf-pagination .cf-pg-arrow:hover {
            background:#1164b5 !important;
            color:#fff !important;
        }
        .cf-pagination .cf-pg-arrow i {
            display:flex; align-items:center; justify-content:center;
            width:100%; height:100%;
        }

        /* ── Minimal footer (identical to car-form) ── */
        .cf-footer { text-align:center; padding:16px; font-size:12px; color:#b9b9b9; border-top:1px solid #ececec; background:#fff; margin-top:10px; }
        .cf-footer a { color:#1164b5; }

        /* ── Offer summary bar ── */
        .cf-offer-bar { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 20px; background:#fff; border-bottom:3px solid #3abfbe; }
        .cf-offer-logo img { max-height:46px; max-width:120px; object-fit:contain; }
        .cf-offer-center { flex:1; padding:0 16px; min-width:160px; }
        .cf-offer-plan { font-size:15px; font-weight:700; color:#18191d; }
        .cf-offer-insurer { font-size:12px; color:#565656; margin-bottom:4px; }
        .cf-coverage-toggle { display:inline-flex; align-items:center; gap:4px; font-size:13px; color:#1164b5; font-weight:600; background:none; border:none; cursor:pointer; font-family:'Advent Pro',sans-serif; padding:0; }
        .cf-coverage-toggle:hover { text-decoration:underline; }
        .cf-coverage-panel { margin-top:10px; padding:12px 14px; background:#f4f5f7; border-radius:8px; font-size:13px; color:#565656; width:100%; }
        .cf-coverage-panel.open { display:block; }
        .cf-coverage-cols { columns:2; gap:16px; list-style:none; padding:0; margin:0; }
        @media(max-width:480px){ .cf-coverage-cols{ columns:1; } }
        .cf-coverage-cols li { padding:2px 0 2px 16px; position:relative; line-height:1.5; }
        .cf-coverage-cols li::before { content:'✓'; position:absolute; left:0; color:#3abfbe; font-weight:700; }
        .cf-offer-price { text-align:right; white-space:nowrap; }
        .cf-offer-price .cf-price-big { font-size:30px; font-weight:700; color:#1164b5; line-height:1; }
        .cf-offer-price .cf-price-sub { font-size:11px; color:#565656; }        



        /* ── Payment options ── */
        .cf-pay-grid { display:flex; gap:10px; flex-wrap:wrap; }
        .cf-pay-option { flex:1; min-width:130px; border:2px solid #f0f0f0; border-radius:10px; padding:12px 14px; cursor:pointer; display:flex!important; align-items:center; gap:10px; transition:border-color .2s, background .2s; background:#fff; }
        .cf-pay-option:hover { border-color:#1164b5; background:#f4f5f7; }
        .cf-pay-option.selected { border-color:#1164b5; background:#f4f5f7; }
        .cf-pay-option input[type="radio"] { display:none; }
        .cf-pay-radio { width:20px; height:20px; border-radius:50%; border:2px solid #f0f0f0; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:#fff; transition:all .2s; }
        .cf-pay-option.selected .cf-pay-radio { border-color:#1164b5; background:#1164b5; }
        .cf-pay-option.selected .cf-pay-radio::after { content:''; width:7px; height:7px; background:#fff; border-radius:50%; }
        .cf-pay-label { font-size:14px; font-weight:600; color:#18191d; }
        .cf-pay-option i { font-size:15px; color:#565656; }
        .cf-pay-option.selected i { color:#1164b5; }

        /* Credit card installments */
        .cf-installments { display:none; margin-top:14px; padding:14px; background:#f4f5f7; border-radius:10px; border-left:3px solid #1164b5; }
        .cf-installments.show { display:block; }
        .cf-inst-grid { display:grid; grid-template-columns:180px 1fr; gap:0 16px; }
        @media(max-width:480px){ .cf-inst-grid{ grid-template-columns:1fr; } }
        .cf-inst-note { font-size:12px; color:#565656; margin-top:8px; display:flex; align-items:center; gap:5px; }
        .cf-inst-note i { color:#3abfbe; }        

        /* ── Bottom area ── */
        .cf-bottom-links { display:flex; gap:20px; flex-wrap:wrap; margin-bottom:12px; }
        .cf-bottom-links a { font-size:13px; color:#1164b5; text-decoration:none; display:flex; align-items:center; gap:5px; font-weight:600;cursor:pointer; }
        .cf-bottom-links a:hover { text-decoration:underline; }
        .cf-back-link { color:#565656 !important; }
        .cf-legal { font-size:12px; color:#565656; padding:12px 14px; background:#f4f5f7; border-radius:8px; margin-bottom:20px; line-height:1.6; }
        .cf-legal a { color:#1164b5; }        


        /* ── Submit ── */
        .cf-submit { width:100%; background:linear-gradient(90deg,#1164b5,#4578b9); color:#fff; font-size:19px; font-weight:700; font-family:'Advent Pro',sans-serif; border:none; border-radius:10px; height:58px; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; letter-spacing:.5px; transition:opacity .2s, transform .1s; }
        .cf-submit:hover { opacity:.90; }
        .cf-submit:active { transform:scale(.98); }

        /* ── Footer ── */
        .cf-footer { text-align:center; padding:16px; font-size:12px; color:#b9b9b9; border-top:1px solid #ececec; background:#fff; margin-top:10px; }
        .cf-footer a { color:#1164b5; }


/* ── Selected offer summary ── */
.cf-offer-summary { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:16px 18px; background:#fff; border-bottom:1px solid #f0f0f0; }
.cf-offer-summary-logo img { max-height:40px; max-width:100px; object-fit:contain; }
.cf-offer-summary-info { flex:1; min-width:140px; }
.cf-offer-summary-plan { font-size:15px; font-weight:700; color:#18191d; }
.cf-offer-summary-insurer { font-size:12px; color:#565656; }
.cf-offer-summary-price { text-align:right; white-space:nowrap; }
.cf-offer-summary-price .cf-price-original { font-size:12px; color:#565656; margin-bottom:2px; }
.cf-offer-summary-price .cf-price-big { font-size:22px; font-weight:700; color:#1164b5; line-height:1; }
.cf-offer-summary-price .cf-price-period { font-size:13px; color:#565656; font-weight:400; }

/* ── Upsell banner ── */
.cf-upsell-banner {
    display:flex; align-items:center; gap:12px;
    padding:14px 18px;
    background:linear-gradient(90deg, #eaf6f6, #f0fbfb);
    border-left:4px solid #3abfbe;
    border-bottom:1px solid #d4f0f0;
}
.cf-upsell-banner i { color:#3abfbe; font-size:20px; flex-shrink:0; }
.cf-upsell-banner-text { font-size:13px; color:#18191d; line-height:1.5;font-weight: 400; }
.cf-upsell-banner-text strong { color:#1164b5; }

/* ── Duration cards grid ── */
.cf-duration-body { padding:18px; }
.cf-duration-grid {
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:12px;
}
@media(max-width:600px){ .cf-duration-grid { grid-template-columns:1fr; } }

/* ── Single duration card ── */
.cf-dur-card {
    border:2px solid #f0f0f0;
    border-radius:12px;
    padding:18px 14px;
    cursor:pointer;
    position:relative;
    transition:border-color .2s, box-shadow .2s, background .2s;
    background:#fff;
    display:flex; flex-direction:column; align-items:center; text-align:center;
}
.cf-dur-card:hover { border-color:#1164b5; background:#f4f5f7; }
.cf-dur-card.selected { border-color:#1164b5; background:#f4f5f7; box-shadow:0 0 0 3px rgba(25,102,179,.14); }
.cf-dur-card.recommended { border-color:#3abfbe; }
.cf-dur-card.recommended:hover { border-color:#3abfbe; }
.cf-dur-card.recommended.selected { border-color:#3abfbe; box-shadow:0 0 0 3px rgba(58,191,190,.18); }

/* Badge */
.cf-dur-badge {
    position:absolute; top:-11px; left:50%; transform:translateX(-50%);
    background:#3abfbe; color:#fff;
    font-size:10px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
    padding:2px 10px; border-radius:20px; white-space:nowrap;
}

/* Radio dot */
.cf-dur-check {
    width:20px; height:20px; border:2px solid #f0f0f0; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin-bottom:10px; background:#fff; transition:all .2s; flex-shrink:0;
}
.cf-dur-card.selected .cf-dur-check { border-color:#1164b5; background:#1164b5; }
.cf-dur-card.selected .cf-dur-check::after { content:''; width:7px; height:7px; background:#fff; border-radius:50%; }
.cf-dur-card.recommended.selected .cf-dur-check { border-color:#3abfbe; background:#3abfbe; }

.cf-dur-label { font-size:13px; font-weight:700; color:#565656; text-transform:uppercase; letter-spacing:.4px; margin-bottom:12px; }

.cf-dur-price { font-size:30px; font-weight:700; color:#1164b5; line-height:1; }
.cf-dur-price span { font-size:14px; font-weight:400; color:#565656; }

.cf-dur-monthly { font-size:12px; color:#565656; margin-top:4px; margin-bottom:12px; }

/* Savings pill */
.cf-dur-saving {
    font-size:11px; font-weight:700; color:#3abfbe;
    background:#eaf6f6; border-radius:20px;
    padding:3px 10px; margin-top:4px;
    display:inline-block;
}
