
/* =================================================================
   COMPOSITE FILLINGS PAGE — CF-specific CSS
   ================================================================= */

/* ── PAIN INTRO ────────────────────────────────────────────────── */
.cf-pain { padding:80px 0;background:#fff; }
.cf-pain-inner { display:grid;grid-template-columns:1fr 420px;gap:56px;align-items:start; }
.cf-pain-content h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;margin-bottom:14px;
}
.cf-pain-content p { font-size:.95rem;color:#374151;line-height:1.8;margin-bottom:12px; }
.cf-pain-list { list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:10px; }
.cf-pain-list li { display:flex;align-items:center;gap:10px;font-size:.93rem;color:#374151;font-weight:500; }
.cf-pain-list li svg { flex-shrink:0; }
.cf-location-box {
    background:linear-gradient(160deg,#F0F9FF,#EFF6FF);
    border:1px solid #BFDBFE;border-radius:20px;padding:28px 24px;
    box-shadow:0 4px 20px rgba(27,111,216,.08);
}
.cf-location-box h3 {
    font-family:'Fraunces',Georgia,serif;font-size:1.05rem;font-weight:700;
    color:#0A1628;margin-bottom:16px;line-height:1.4;
}
.cf-location-rows { display:flex;flex-direction:column;gap:10px;margin-bottom:20px; }
.cf-location-row { display:flex;gap:10px;align-items:flex-start;font-size:.87rem;color:#374151;line-height:1.6; }
.cf-loc-icon { font-size:1rem;flex-shrink:0;margin-top:1px; }
.cf-location-row a { color:#1B6FD8;text-decoration:none;font-weight:600; }
.cf-location-row a:hover { text-decoration:underline; }
.cf-location-ctas { display:flex;gap:10px;flex-wrap:wrap; }
.cf-location-ctas .btn-svc-primary { font-size:.83rem;padding:10px 18px; }
.cf-wa-btn {
    display:inline-flex;align-items:center;gap:7px;padding:10px 18px;
    background:#25D366;color:#fff;font-size:.83rem;font-weight:700;
    border-radius:10px;text-decoration:none;transition:background .18s;
}
.cf-wa-btn:hover { background:#1DAA56; }

/* ── WHAT SECTION EXTRA ────────────────────────────────────────── */
.cf-key-point {
    display:flex;align-items:flex-start;gap:10px;margin-top:18px;
    background:#EFF6FF;border:1px solid #BFDBFE;border-radius:10px;
    padding:14px 16px;font-size:.88rem;color:#1E40AF;line-height:1.65;
}
.cf-key-point svg { flex-shrink:0;margin-top:1px; }

/* ── WHEN DO YOU NEED ──────────────────────────────────────────── */
.cf-when-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px; }
.cf-when-card {
    background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:24px 20px;
    box-shadow:0 2px 12px rgba(10,22,40,.06);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.cf-when-card:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(46,196,182,.12);border-color:#A7F3D0; }
.cf-when-icon {
    width:44px;height:44px;border-radius:12px;
    background:linear-gradient(135deg,#0A1628,#1B6FD8);
    display:flex;align-items:center;justify-content:center;
    color:#2EC4B6;margin-bottom:14px;
}
.cf-when-card h3 { font-size:.95rem;font-weight:700;color:#0A1628;margin-bottom:6px; }
.cf-when-card p { font-size:.86rem;color:#4B5563;line-height:1.7;margin:0; }
.cf-risk {
    display:flex;gap:16px;align-items:flex-start;
    background:linear-gradient(135deg,#FFF9F0,#FFF3E0);
    border:1px solid #FCD34D;border-radius:14px;padding:20px 22px;
}
.cf-risk-icon {
    flex-shrink:0;width:44px;height:44px;background:#FBBF24;border-radius:12px;
    display:flex;align-items:center;justify-content:center;color:#92400E;
}
.cf-risk strong { display:block;font-size:.95rem;font-weight:700;color:#92400E;margin-bottom:5px; }
.cf-risk p { font-size:.87rem;color:#78350F;line-height:1.7;margin:0 0 8px; }
.cf-risk-link { font-size:.84rem;font-weight:600;color:#1B6FD8;text-decoration:none; }
.cf-risk-link:hover { text-decoration:underline; }

/* ── PROCEDURE STEPS ───────────────────────────────────────────── */
.cf-steps { background:linear-gradient(160deg,#F8FAFF,#EFF6FF) !important; }
.cf-steps-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:32px; }
.cf-step-card {
    background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:24px 20px;
    box-shadow:0 2px 12px rgba(10,22,40,.06);
    transition:transform .2s,box-shadow .2s,border-color .2s;
}
.cf-step-card:hover { transform:translateY(-3px);box-shadow:0 8px 28px rgba(46,196,182,.12);border-color:#A7F3D0; }
.cf-step-num {
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;background:linear-gradient(135deg,#2EC4B6,#1B6FD8);
    border-radius:10px;font-size:.85rem;font-weight:800;color:#fff;margin-bottom:14px;
}
.cf-step-card h3 { font-size:.95rem;font-weight:700;color:#0A1628;margin-bottom:7px; }
.cf-step-card p { font-size:.86rem;color:#4B5563;line-height:1.7;margin:0; }
.cf-step-time {
    background:linear-gradient(135deg,#0A1628,#1B6FD8);border-radius:16px;
    padding:24px 20px;display:flex;flex-direction:column;gap:8px;
}
.cf-step-time-top { display:flex;align-items:center;gap:10px; }
.cf-step-time-top strong { font-size:1.3rem;font-weight:900;color:#fff;line-height:1; }
.cf-step-time > span { font-size:.83rem;color:rgba(255,255,255,.7);line-height:1.5; }
.cf-step-post-list { display:flex;flex-direction:column;gap:6px;margin-top:6px; }
.cf-step-post-item { display:flex;align-items:center;gap:7px;font-size:.8rem;color:rgba(255,255,255,.85); }
.cf-steps-img-wrap { border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.15); }
.cf-steps-img-wrap img { width:100%;height:340px;object-fit:cover;display:block; }

/* ── COMPARE TABLE ─────────────────────────────────────────────── */
.cf-compare { padding:96px 0;background:#fff; }
.cf-compare-table td:nth-child(2) { font-weight:600;color:#374151 !important; }
.cf-td-green { color:#15803D !important;font-weight:600; }
.cf-td-red   { color:#DC2626 !important;font-weight:600; }
.cf-td-amber { color:#B45309 !important;font-weight:600; }

/* ── WHY SECTION EXTRAS ────────────────────────────────────────── */
.cf-why { padding-top:96px; }
.cf-why-header {
    display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:40px;
}
.cf-why-img-wrap { border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(10,22,40,.1); }
.cf-why-img-wrap img { width:100%;height:300px;object-fit:cover;display:block; }
.cf-why-header .svc-section-eyebrow { display:block;margin-bottom:10px; }
.cf-why-header h2 {
    font-family:'Fraunces',Georgia,serif;font-size:clamp(1.6rem,2.8vw,2.2rem);
    font-weight:700;color:#0A1628;letter-spacing:-.03em;line-height:1.2;margin:0;
}
.svc-why-card a { color:#1B6FD8;text-decoration:none;font-weight:600; }
.svc-why-card a:hover { text-decoration:underline; }

/* ── PATIENT REVIEWS ───────────────────────────────────────────── */
.cf-reviews { padding:96px 0;background:linear-gradient(160deg,#F8FAFF,#EFF6FF); }
.cf-reviews-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;margin:0 auto; }
.cf-review-card {
    background:#fff;border:1px solid #E5E7EB;border-radius:20px;padding:28px 24px;
    box-shadow:0 4px 20px rgba(10,22,40,.07);display:flex;flex-direction:column;gap:14px;
}
.cf-review-stars { font-size:1.2rem;color:#F59E0B;letter-spacing:2px; }
.cf-review-card > p { font-size:.9rem;color:#374151;line-height:1.8;margin:0;flex:1;font-style:italic; }
.cf-reviewer { display:flex;align-items:center;gap:12px; }
.cf-reviewer-avatar {
    width:42px;height:42px;border-radius:50%;
    background:linear-gradient(135deg,#2EC4B6,#1B6FD8);
    display:flex;align-items:center;justify-content:center;
    font-size:1rem;font-weight:800;color:#fff;flex-shrink:0;
}
.cf-reviewer strong { display:block;font-size:.92rem;font-weight:700;color:#0A1628; }
.cf-reviewer span { font-size:.77rem;color:#6B7280; }

/* ── AFTERCARE ─────────────────────────────────────────────────── */
.cf-aftercare { padding:96px 0;background:#fff; }
.cf-aftercare-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.cf-aftercare-card {
    background:#F9FAFB;border:1px solid #E5E7EB;border-radius:18px;padding:26px 22px;
    display:flex;flex-direction:column;gap:12px;
}
.cf-aftercare-icon {
    width:52px;height:52px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.cf-icon-blue  { background:#EFF6FF;color:#1B6FD8; }
.cf-icon-green { background:#ECFDF5;color:#059669; }
.cf-icon-amber { background:#FFFBEB;color:#D97706; }
.cf-aftercare-card h3 { font-size:.97rem;font-weight:700;color:#0A1628;margin:0; }
.cf-aftercare-list { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px; }
.cf-aftercare-list li {
    font-size:.86rem;color:#374151;line-height:1.65;
    padding-left:16px;position:relative;
}
.cf-aftercare-list li::before { content:'•';position:absolute;left:0;color:#2EC4B6;font-weight:700; }
.cf-aftercare-warn { background:linear-gradient(135deg,#FFFBEB,#FFF9F0);border-color:#FCD34D; }
.cf-aftercare-note { font-size:.82rem;color:#92400E;margin:0;font-style:italic; }

/* ── CF RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:1024px){
    .cf-pain-inner { grid-template-columns:1fr;gap:36px; }
    .cf-why-header { grid-template-columns:1fr;gap:24px; }
    .cf-when-grid { grid-template-columns:repeat(2,1fr); }
    .cf-steps-grid { grid-template-columns:repeat(2,1fr); }
    .cf-aftercare-grid { grid-template-columns:repeat(2,1fr); }
    .cf-reviews-grid { grid-template-columns:1fr; }
}
@media(max-width:768px){
    .cf-pain,.cf-compare,.cf-reviews,.cf-aftercare { padding:64px 0; }
    .cf-when-grid { grid-template-columns:1fr; }
    .cf-steps-grid { grid-template-columns:1fr; }
    .cf-aftercare-grid { grid-template-columns:1fr; }
    .cf-why-header { display:block; }
    .cf-why-img-wrap { margin-bottom:24px; }
    .cf-why-img-wrap img { height:220px; }
}
@media(max-width:480px){
    .cf-location-ctas { flex-direction:column; }
    .cf-location-ctas .btn-svc-primary,.cf-wa-btn { width:100%;justify-content:center; }
    .cf-steps-img-wrap img { height:200px; }
}
