/* ============================================================
   Veracity LD FNA Tool – WordPress Stylesheet
   Version: 1.0.0
============================================================ */

/* Reset WordPress theme interference */
.vfna-page .entry-content,
.vfna-page .post-content,
.vfna-page article {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Ensure full-width on WordPress page */
#fna-outer-wrap {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  overflow-x: hidden;
  background: var(--light);
}

/* Hide WordPress page title on FNA page */
.vfna-active h1.entry-title,
.vfna-active .page-title,
.vfna-active .wp-block-post-title {
  display: none !important;
}




*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --navy:#07213a; --blue:#0d5fa6; --blue2:#1479cc;
  --lightblue:#5aabdc; --lb2:#89c8f0;
  --lb-bg:rgba(90,171,220,0.15); --lb-border:rgba(90,171,220,0.4);
  --gold:#c9a84c; --gold2:#e8c96d;
  --light:#f0f4f9; --white:#ffffff; --border:#d2dce8;
  --muted:#6b7f96; --slate:#2d3f54;
  --ok:#15803d; --warn:#b45309; --danger:#b91c1c;
  --ok-bg:#dcfce7; --warn-bg:#fef9c3; --danger-bg:#fee2e2;
}
body{font-family:'Inter',sans-serif;background:var(--light);color:var(--navy);min-height:100vh;width:100%;overflow-x:hidden;}
.wp-block-group,.entry-content,.wp-block-post-content,.site-content,.page-content,.elementor-section-wrap,.fl-row-content,.et_pb_row{max-width:100% !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;}

/* HEADER */
.site-header{background:var(--navy);padding:0 2rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 20px rgba(7,33,58,0.4);width:100vw;margin-left:calc(-50vw + 50%);}
.header-inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo-area{display:flex;align-items:center;gap:14px;}
.logo-img{height:54px;width:auto;display:block;}
.logo-text h1{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:#fff;line-height:1;}
.logo-text p{font-size:10px;color:var(--lb2);letter-spacing:0.12em;text-transform:uppercase;margin-top:3px;}
.header-right{display:flex;align-items:center;gap:1rem;}
.hdr-badge{background:var(--lb-bg);border:1px solid var(--lb-border);color:var(--lb2);padding:5px 14px;border-radius:20px;font-size:11px;font-weight:500;}
.hdr-sign{background:var(--lightblue);color:#fff;border:none;cursor:pointer;padding:8px 18px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block;transition:background 0.2s;}
.hdr-sign:hover{background:var(--lb2);}

/* HERO */
.hero{background:linear-gradient(160deg,var(--navy) 0%,#0f3460 55%,#1a5276 100%);padding:3rem 2rem 3.5rem;position:relative;overflow:hidden;width:100vw;margin-left:calc(-50vw + 50%);}
.hero::before{content:'';position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(90,171,220,0.1) 0%,transparent 70%);pointer-events:none;}
.hero-inner{max-width:1180px;margin:0 auto;position:relative;z-index:1;}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--lb-bg);border:1px solid var(--lb-border);color:var(--lb2);padding:5px 14px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:1.2rem;}
.hero h2{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,44px);font-weight:700;color:#fff;line-height:1.18;margin-bottom:0.8rem;}
.hero h2 span{color:var(--lb2);}
.hero p{font-size:15px;color:rgba(255,255,255,0.65);max-width:600px;line-height:1.65;}
.hero-steps{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap;}
.hero-step{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,0.72);font-size:13px;}
.step-num{width:26px;height:26px;border-radius:50%;background:var(--lb-bg);border:1px solid var(--lb-border);color:var(--lb2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}

/* LAYOUT */
.main-wrap{max-width:1180px;margin:0 auto;padding:2rem 2rem 5rem;display:grid;grid-template-columns:1fr minmax(300px,380px);gap:1.5rem;align-items:start;}

/* SECTION CARDS */
.section-card{background:var(--white);border-radius:14px;border:1px solid var(--border);margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 8px rgba(7,33,58,0.05);}
.section-header{display:flex;align-items:center;gap:12px;padding:1.1rem 1.5rem;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#f0f6ff 0%,#f8fafd 100%);}
.section-icon{width:36px;height:36px;border-radius:9px;background:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.section-icon svg{width:18px;height:18px;fill:#fff;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;color:var(--navy);}
.section-subtitle{font-size:11.5px;color:var(--muted);margin-top:2px;}
.info-tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--border);color:var(--muted);font-size:11px;font-weight:700;font-style:normal;cursor:help;margin-left:6px;position:relative;vertical-align:middle;flex-shrink:0;}
.info-tip:hover{background:var(--blue);color:#fff;}
.info-tip .tip-box{display:none;position:absolute;left:50%;top:140%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:11.5px;font-weight:400;line-height:1.5;padding:10px 12px;border-radius:8px;width:260px;z-index:50;box-shadow:0 6px 20px rgba(0,0,0,0.25);text-transform:none;letter-spacing:normal;text-align:left;}
.info-tip:hover .tip-box{display:block;}
.info-tip .tip-box::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-width:0 6px 6px 6px;border-style:solid;border-color:transparent transparent var(--navy) transparent;}
@media(max-width:600px){.info-tip .tip-box{width:200px;left:0;transform:none;}.info-tip .tip-box::before{left:16px;}}
.section-body{padding:1.5rem;}

/* FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;}
.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group.full{grid-column:1/-1;}
label{font-size:11.5px;font-weight:500;color:var(--slate);letter-spacing:0.04em;text-transform:uppercase;}
input[type="text"],input[type="number"],input[type="date"],select{width:100%;height:42px;padding:0 12px;border:1.5px solid var(--border);border-radius:8px;font-family:'Inter',sans-serif;font-size:14px;color:var(--navy);background:var(--white);transition:border-color 0.15s,box-shadow 0.15s;outline:none;}
input:focus,select:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(20,121,204,0.12);}
.input-prefix{position:relative;}
.input-prefix span{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--muted);font-weight:500;pointer-events:none;}
.input-prefix input{padding-left:26px;}
.input-hint{font-size:11px;color:var(--muted);margin-top:2px;}

/* DEPENDENT TABLES */
.dep-table{width:100%;border-collapse:collapse;margin-top:0.5rem;font-size:13px;}
.dep-table th{background:var(--navy);color:#fff;font-size:11px;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;padding:8px 10px;text-align:left;}
.dep-table td{padding:7px 8px;border-bottom:1px solid var(--border);}
.dep-table tr:last-child td{border-bottom:none;}
.dep-table input,.dep-table select{height:34px;font-size:13px;}
.btn-add{border:none;cursor:pointer;border-radius:6px;font-size:12px;font-weight:600;padding:7px 14px;background:var(--blue);color:#fff;margin-top:0.75rem;transition:background 0.15s;}
.btn-add:hover{background:var(--blue2);}
.btn-remove{border:none;cursor:pointer;border-radius:6px;font-size:12px;font-weight:600;padding:5px 9px;background:#fee2e2;color:#b91c1c;transition:background 0.15s;}
.btn-remove:hover{background:#fecaca;}
.empty-row td{text-align:center;color:var(--muted);font-style:italic;padding:1rem 0 !important;}

/* SLIDERS */
.slider-group{display:flex;flex-direction:column;gap:8px;}
.slider-header{display:flex;justify-content:space-between;align-items:baseline;}
.slider-val{font-size:15px;font-weight:700;color:var(--blue);min-width:52px;text-align:right;}
input[type="range"]{width:100%;accent-color:var(--blue);}
.range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);}

/* GOAL CHIPS */
.goal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:0.75rem;}
.goal-chip input{display:none;}
.goal-chip label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 0.75rem;border-radius:10px;border:1.5px solid var(--border);background:#f8fafd;cursor:pointer;text-align:center;gap:6px;transition:all 0.15s;text-transform:none;letter-spacing:0;font-size:13px;color:var(--slate);}
.goal-chip label .chip-icon{font-size:22px;}
.goal-chip input:checked+label{border-color:var(--blue);background:#eff6ff;color:var(--blue);box-shadow:0 0 0 3px rgba(20,121,204,0.1);}
.goal-chip label:hover{border-color:var(--blue2);}

/* RESULTS SIDEBAR */
.results-sidebar{position:sticky;top:88px;}
.results-card{background:var(--white);border-radius:14px;border:1px solid var(--border);overflow:hidden;box-shadow:0 2px 16px rgba(7,33,58,0.08);}
.results-header{background:var(--navy);padding:1.25rem 1.5rem;}
.results-header h3{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:#fff;}
.results-header p{font-size:11.5px;color:rgba(255,255,255,0.5);margin-top:3px;}
.results-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:0.85rem;}

/* RESULT ITEMS */
.result-item{padding:0.9rem 1rem;border-radius:10px;background:var(--light);border:1px solid var(--border);}
.result-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);}
.result-value{font-size:21px;font-weight:700;color:var(--navy);margin-top:3px;line-height:1;}
.result-value.highlight{color:var(--blue);}
.result-sub{font-size:11px;color:var(--muted);margin-top:4px;}
.gap-badge{display:inline-block;margin-top:7px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.gap-ok{background:var(--ok-bg);color:var(--ok);}
.gap-warn{background:var(--warn-bg);color:var(--warn);}
.gap-danger{background:var(--danger-bg);color:var(--danger);}

/* BREAKDOWN */
.breakdown{margin-top:8px;padding:8px 10px;border-radius:8px;background:rgba(13,95,166,0.05);border:1px solid rgba(13,95,166,0.1);}
.breakdown-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--blue);margin-bottom:5px;}
.breakdown-row{display:flex;justify-content:space-between;align-items:baseline;font-size:11.5px;color:var(--slate);padding:2px 0;border-bottom:1px dashed rgba(13,95,166,0.1);}
.breakdown-row:last-child{border-bottom:none;}
.breakdown-row span:last-child{font-weight:600;color:var(--navy);white-space:nowrap;margin-left:8px;}
.breakdown-total{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--blue);margin-top:5px;padding-top:5px;border-top:1.5px solid rgba(13,95,166,0.2);}

/* COVERAGE */
.coverage-card{background:var(--navy);border-radius:12px;padding:1.25rem 1.5rem;margin-top:1rem;}
.coverage-card h4{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:700;color:#fff;margin-bottom:0.75rem;}
.cov-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.cov-pct{font-size:28px;font-weight:700;color:var(--lb2);}
.cov-label{font-size:11px;color:rgba(255,255,255,0.5);}
.cov-bar-bg{height:8px;border-radius:8px;background:rgba(255,255,255,0.12);overflow:hidden;}
.cov-bar{height:100%;border-radius:8px;transition:width 0.4s,background 0.4s;}

/* ACTIONS */
.actions{display:flex;flex-direction:column;gap:0.6rem;margin-top:1rem;}
.btn{width:100%;padding:11px 0;border-radius:9px;border:none;cursor:pointer;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:7px;transition:all 0.2s;letter-spacing:0.02em;}
.btn-primary{background:var(--blue);color:#fff;}
.btn-primary:hover{background:var(--blue2);transform:translateY(-1px);}
.btn-lightblue{background:var(--lightblue);color:#fff;}
.btn-lightblue:hover{background:var(--lb2);color:var(--navy);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--navy);border:1.5px solid var(--border);}
.btn-outline:hover{background:var(--light);}

/* PROVIDER PANEL — keeps gold */
.provider-panel{background:var(--white);border-radius:14px;border:1px solid var(--border);overflow:hidden;margin-top:1.5rem;box-shadow:0 2px 16px rgba(7,33,58,0.06);}
.provider-header{background:linear-gradient(135deg,var(--gold) 0%,#a07020 100%);padding:1.2rem 1.5rem;}
.provider-header h3{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;color:var(--navy);}
.provider-header p{font-size:12px;color:rgba(7,33,58,0.65);margin-top:3px;}
.provider-body{padding:1.5rem;}
.provider-grid{display:flex;flex-direction:column;gap:0.75rem;}
.provider-card{padding:0.9rem 1rem;border-radius:10px;border:1.5px solid var(--border);background:#f8fafd;transition:border-color 0.15s,box-shadow 0.15s;}
.provider-card:hover{border-color:var(--blue);box-shadow:0 2px 10px rgba(13,95,166,0.1);}
.provider-card.recommended{border-color:var(--gold);background:#fffbf0;}
.provider-name{font-size:13px;font-weight:700;color:var(--navy);}
.provider-cats{font-size:11px;color:var(--muted);margin-top:3px;}
.provider-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:10px;font-weight:700;background:rgba(201,168,76,0.2);color:#7a5a0a;margin-left:6px;vertical-align:middle;}
.rec-empty{font-size:13px;color:var(--muted);text-align:center;padding:1.5rem 0;line-height:1.6;}

@media(max-width:700px){.main-wrap{grid-template-columns:1fr;}.results-sidebar{position:static;}}
@media(max-width:600px){.form-grid{grid-template-columns:1fr;}.goal-grid{grid-template-columns:repeat(2,1fr);}.hero-steps{gap:1rem;}}

/* TAB NAVIGATION (V6) */
.tab-nav{display:flex;gap:0.5rem;max-width:1180px;margin:0 auto;padding:0 2rem;margin-top:-1.25rem;position:relative;z-index:2;}
.tab-btn{flex:1;background:var(--white);border:1.5px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;padding:0.85rem 1rem;font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:700;color:var(--muted);cursor:pointer;text-align:center;transition:all 0.15s;}
.tab-btn.active{color:var(--navy);background:var(--light);border-color:var(--border);box-shadow:0 -2px 8px rgba(7,33,58,0.05);}
.tab-btn:hover{color:var(--blue);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
@media(max-width:600px){.tab-nav{padding:0 1rem;gap:0.35rem;}.tab-btn{font-size:13px;padding:0.65rem 0.5rem;}}

/* TOGGLE BUTTONS (Just Me / Me & Partner) */
.toggle-group{display:flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden;height:42px;}
.toggle-btn{flex:1;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;font-weight:600;color:var(--navy);background:var(--white);transition:all 0.15s;border-right:1px solid var(--border);}
.toggle-btn:last-child{border-right:none;}
.toggle-btn.active{background:var(--navy);color:#fff;}
.toggle-btn:hover:not(.active){background:var(--light);}
.partner-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1.5px dashed var(--border);display:none;}
.partner-section.show{display:block;}
.partner-section .section-subtitle-inline{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:0.75rem;}

/* CA green vars */
:root {
  --green:#0a7c4e; --green2:#0fa568; --green-light:#e6f4ef; --green-border:rgba(10,124,78,0.35);
}

/* CA unique classes */
.ca-info-box{background:var(--green-light);border:1px solid var(--green-border);border-radius:8px;padding:10px 14px;font-size:12px;color:#0a5c3a;line-height:1.55;margin-top:0.75rem;}

/* CA scoped green overrides */
#ca-tool .logo-text p{font-size:10px;color:#6ddbb0;letter-spacing:0.12em;text-transform:uppercase;margin-top:3px;}
#ca-tool .hdr-badge{background:rgba(10,124,78,0.25);border:1px solid var(--green-border);color:#6ddbb0;padding:5px 14px;border-radius:20px;font-size:11px;font-weight:500;}
#ca-tool .hdr-sign{background:var(--green);color:#fff;border:none;cursor:pointer;padding:8px 18px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block;transition:background 0.2s;}
#ca-tool .hdr-sign:hover{background:var(--green2);}
#ca-tool .hero{background:linear-gradient(160deg,var(--navy) 0%,#0b2e1a 55%,#0d3d22 100%);padding:3rem 2rem 3.5rem;position:relative;overflow:hidden;width:100vw;margin-left:calc(-50vw + 50%);}
#ca-tool .hero::before{content:'';position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(10,124,78,0.15) 0%,transparent 70%);pointer-events:none;}
#ca-tool .hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(10,124,78,0.25);border:1px solid var(--green-border);color:#6ddbb0;padding:5px 14px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:1.2rem;}
#ca-tool .hero h2 span{color:#6ddbb0;}
#ca-tool .step-num{width:26px;height:26px;border-radius:50%;background:rgba(10,124,78,0.25);border:1px solid var(--green-border);color:#6ddbb0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
#ca-tool .section-icon{width:36px;height:36px;border-radius:9px;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
#ca-tool .info-tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--green-light);color:var(--green);font-size:11px;font-weight:700;font-style:normal;cursor:help;margin-left:6px;position:relative;vertical-align:middle;flex-shrink:0;}
#ca-tool .info-tip:hover{background:var(--green);color:#fff;}
#ca-tool input:focus,#ca-tool select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(15,165,104,0.12);}
#ca-tool .btn-add{border:none;cursor:pointer;border-radius:6px;font-size:12px;font-weight:600;padding:7px 14px;background:var(--green);color:#fff;margin-top:0.75rem;transition:background 0.15s;}
#ca-tool .btn-add:hover{background:var(--green2);}
#ca-tool .slider-val{font-size:15px;font-weight:700;color:var(--green);min-width:52px;text-align:right;}
#ca-tool input[type="range"]{width:100%;accent-color:var(--green);}
#ca-tool .goal-chip input:checked+label{border-color:var(--green);background:var(--green-light);color:var(--green);box-shadow:0 0 0 3px rgba(10,124,78,0.1);}
#ca-tool .goal-chip label:hover{border-color:var(--green2);}
#ca-tool .result-value.highlight{color:var(--green);}
#ca-tool .breakdown{margin-top:8px;padding:8px 10px;border-radius:8px;background:rgba(10,124,78,0.05);border:1px solid rgba(10,124,78,0.12);}
#ca-tool .breakdown-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--green);margin-bottom:5px;}
#ca-tool .breakdown-row{display:flex;justify-content:space-between;align-items:baseline;font-size:11.5px;color:var(--slate);padding:2px 0;border-bottom:1px dashed rgba(10,124,78,0.12);}
#ca-tool .breakdown-total{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--green);margin-top:5px;padding-top:5px;border-top:1.5px solid rgba(10,124,78,0.2);}
#ca-tool .cov-pct{font-size:28px;font-weight:700;color:#6ddbb0;}
#ca-tool .btn-primary{background:var(--green);color:#fff;}
#ca-tool .btn-primary:hover{background:var(--green2);transform:translateY(-1px);}
#ca-tool .provider-card:hover{border-color:var(--green);box-shadow:0 2px 10px rgba(10,124,78,0.1);}
#ca-tool .tab-btn:hover{color:var(--green);}
#ca-tool .toggle-btn.active{background:var(--green);color:#fff;font-weight:600;}
#ca-tool .toggle-btn:hover:not(.active){background:var(--green-light);}
#ca-tool .ca-info-box{background:var(--green-light);border:1px solid var(--green-border);border-radius:8px;padding:10px 14px;font-size:12px;color:#0a5c3a;line-height:1.55;margin-top:0.75rem;}
#selector-screen{position:fixed;inset:0;z-index:9999;background:var(--navy);display:flex;align-items:center;justify-content:center;}
.sel-inner{text-align:center;padding:2rem;max-width:520px;}
.sel-title{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4vw,40px);font-weight:700;color:#fff;line-height:1.2;margin-bottom:0.6rem;}
.sel-sub{font-size:14px;color:rgba(255,255,255,0.55);margin-bottom:2.5rem;line-height:1.6;}
.sel-logo{height:60px;width:auto;display:block;margin:0 auto 1.8rem;}
.sel-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.sel-card{background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.12);border-radius:16px;padding:2rem 1.25rem;cursor:pointer;transition:all 0.2s;text-align:center;}
.sel-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,0.35);}
.sel-card.us:hover{border-color:var(--lightblue);background:rgba(90,171,220,0.12);}
.sel-card.ca:hover{border-color:#6ddbb0;background:rgba(10,124,78,0.15);}
.sel-flag{font-size:42px;margin-bottom:0.75rem;}
.sel-h2{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:#fff;margin-bottom:0.4rem;}
.sel-p{font-size:12px;color:rgba(255,255,255,0.5);margin-bottom:1.25rem;line-height:1.5;}
.sel-btn{width:100%;padding:10px 0;border-radius:9px;border:none;font-size:13px;font-weight:700;cursor:pointer;transition:all 0.15s;}
.sel-btn.us{background:var(--lightblue);color:var(--navy);}
.sel-btn.us:hover{background:var(--lb2);}
.sel-btn.ca{background:#0a7c4e;color:#fff;}
.sel-btn.ca:hover{background:#0fa568;}
@media(max-width:480px){.sel-cards{grid-template-columns:1fr;}.sel-card{padding:1.5rem 1rem;}}
#us-tool,#ca-tool{display:none;}
#us-tool.active,#ca-tool.active{display:block;}
.region-switcher{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.8);padding:5px 12px;border-radius:20px;font-size:11px;font-weight:500;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.region-switcher:hover{background:rgba(255,255,255,0.2);color:#fff;}




/* ============================================================
   WORDPRESS THEME CONFLICT FIXES
   Force FNA layout to override theme styles
============================================================ */

/* Force the main two-column grid layout */
#fna-outer-wrap .main-wrap {
  display: grid !important;
  grid-template-columns: 1fr minmax(300px, 380px) !important;
  gap: 1.5rem !important;
  align-items: start !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 2rem 2rem 5rem !important;
  box-sizing: border-box !important;
}

/* Force main content column */
#fna-outer-wrap .main-col {
  min-width: 0 !important;
  width: 100% !important;
}

/* Force sidebar to stay sticky on the right */
#fna-outer-wrap .results-sidebar {
  position: sticky !important;
  top: 88px !important;
  min-width: 0 !important;
  width: 100% !important;
}

/* Override any theme paragraph or div max-width constraints */
#fna-outer-wrap,
#fna-outer-wrap * {
  box-sizing: border-box;
}

#fna-outer-wrap .section-card,
#fna-outer-wrap .results-card,
#fna-outer-wrap .provider-panel,
#fna-outer-wrap .coverage-card {
  max-width: 100% !important;
  width: 100% !important;
}

/* Theme often adds max-width to p, div, article elements */
#fna-outer-wrap p,
#fna-outer-wrap div,
#fna-outer-wrap section,
#fna-outer-wrap article {
  max-width: none !important;
}

/* Fix form elements that themes sometimes restyle */
#fna-outer-wrap input[type="text"],
#fna-outer-wrap input[type="number"],
#fna-outer-wrap input[type="date"],
#fna-outer-wrap select,
#fna-outer-wrap textarea {
  width: 100% !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
  border-radius: 8px !important;
}

/* Ensure hero and header break out of theme content width */
#fna-outer-wrap .site-header,
#fna-outer-wrap .hero {
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  max-width: none !important;
}

/* Fix tab navigation */
#fna-outer-wrap .tab-nav {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
  margin-top: -1.25rem !important;
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  gap: 0.5rem !important;
}

#fna-outer-wrap .tab-btn {
  flex: 1 !important;
  display: block !important;
}

/* Mobile responsive override */
@media(max-width: 768px) {
  .main-wrap {
    grid-template-columns: 1fr !important;
  }
  .results-sidebar {
    position: static !important;
  }
}

/* Hide WordPress page title on FNA page */
body.vfna-active h1.entry-title,
body.vfna-active .page-title,
body.vfna-active .wp-block-post-title,
body.vfna-active .entry-header,
body.vfna-active .page-header {
  display: none !important;
}

/* Remove theme padding/margin from page content area */
body.vfna-active .entry-content,
body.vfna-active .page-content,
body.vfna-active .post-content,
body.vfna-active article.page,
body.vfna-active .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}


/* ============================================================
   FULL WIDTH PAGE FIXES — Remove theme white boxes
============================================================ */

/* Target common WordPress theme page wrappers */
body.vfna-active,
body.vfna-active #page,
body.vfna-active #content,
body.vfna-active #primary,
body.vfna-active main,
body.vfna-active .site-main,
body.vfna-active .content-area,
body.vfna-active #content-area,
body.vfna-active .page-wrapper,
body.vfna-active .container,
body.vfna-active .site-content,
body.vfna-active .wp-site-blocks,
body.vfna-active .entry-content,
body.vfna-active article,
body.vfna-active .hentry,
/* Elementor specific */
body.vfna-active .elementor-section-wrap,
body.vfna-active .elementor-container,
body.vfna-active .elementor-widget-wrap,
body.vfna-active .elementor-widget-container,
body.vfna-active .elementor-section,
body.vfna-active .elementor-column,
body.vfna-active .elementor-column-wrap,
body.vfna-active .e-con,
body.vfna-active .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}

/* Remove body background that shows as white boxes */
body.vfna-active {
  background: #f0f4f9 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* Remove any theme header/footer on this page */
body.vfna-active .site-header-main,
body.vfna-active #masthead,
body.vfna-active .site-footer,
body.vfna-active #colophon,
body.vfna-active .footer-widgets {
  display: none !important;
}

/* fna-outer-wrap takes full control */
#fna-outer-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background: var(--light) !important;
  position: relative !important;
}


/* ============================================================
   HEADER & HERO FULL BLEED FIX
   Forces header and hero to span full viewport width
   regardless of theme container constraints
============================================================ */

body.vfna-active #fna-outer-wrap .site-header {
  position: sticky !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(0) !important;
  z-index: 100 !important;
}

body.vfna-active #fna-outer-wrap .hero {
  width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}

/* Ensure fna-outer-wrap itself is full width */
body.vfna-active #fna-outer-wrap {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Force Elementor to not constrain our tool */
body.vfna-active .elementor-widget-html {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ============================================================
   DISCLAIMER POSITION FIX
============================================================ */
#fna-outer-wrap > div[style*="general estimate"],
#fna-outer-wrap > div:last-of-type > p:only-child {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  position: static !important;
}

/* Ensure the disclaimer container clears the grid */
.main-wrap + div {
  display: block !important;
  clear: both !important;
  width: 100% !important;
  float: none !important;
  position: relative !important;
  z-index: 0 !important;
}


/* ============================================================
   CLIENT PROFILE TABLE ALIGNMENT FIX
============================================================ */

/* Ensure section cards don't collapse too narrow */
.section-card {
  min-width: 0 !important;
  width: 100% !important;
}

/* Children and adults table containers */
.section-body > div[style*="margin-top:1.5rem"],
.section-body > div[style*="margin-top:1.75rem"] {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Table overflow handling */
.section-body table {
  width: 100% !important;
  table-layout: fixed !important;
  word-break: break-word !important;
}

/* Add Child / Add Adult buttons - prevent text wrapping */
.btn-add {
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  min-width: fit-content !important;
}

/* Ensure the form-grid toggle row works at all widths */
.form-group.full .toggle-group {
  width: 100% !important;
  max-width: 400px !important;
}

/* Section body full width */
.section-body {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* left-col min-width to prevent excessive compression */
.left-col {
  min-width: 0 !important;
  width: 100% !important;
}


/* ============================================================
   TOGGLE AND PARTNER SECTION LAYOUT FIX
   Force block display to prevent side-by-side rendering
============================================================ */
.section-body {
  display: block !important;
}

.section-body > div:not(.form-grid):not(.goal-grid):not(.partner-section) {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
}

/* But preserve form-grid display inside section-body */
.section-body > .form-grid,
.section-body .form-grid {
  display: grid !important;
}

/* Partner section when shown */
.partner-section.show {
  display: block !important;
  width: 100% !important;
}

/* Ensure toggle group is full width */
.section-body > div > .toggle-group {
  width: 100% !important;
  max-width: 500px !important;
}


/* Preserve goal-grid layout */
.goal-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)) !important;
  gap: 0.75rem !important;
}
