/*
Theme Name: Veterans Benefits Source
Theme URI: https://sourceforvets.com
Author: Veterans Benefits Source
Description: Custom educational WordPress theme for Veterans Benefits Source.
Version: 18.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: veterans-benefits-source
License: GPL-2.0-or-later
*/
:root{--navy:#082c50;--navy2:#061f39;--red:#c9152a;--ink:#152b40;--muted:#586978;--pale:#f4f7f9;--line:#e1e7eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;background:#fff}a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}.wrap{max-width:1160px;margin:auto;padding:0 25px}.crisis{background:#8d1326;color:white;font-size:13px}.crisis .wrap{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.crisis a{color:white;text-decoration:underline}.crisis strong{letter-spacing:.04em}.site-head{background:white;border-bottom:1px solid var(--line)}.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:16px;padding-bottom:16px}.brand img{display:block;width:min(480px,70vw);height:auto;max-height:100px;object-fit:contain;object-position:left}.search-toggle{background:transparent;border:0;color:var(--navy);font-size:25px;padding:8px}.head-search{display:none;padding:0 25px 16px}.head-search.is-open{display:block}.head-search form{display:flex;gap:8px;max-width:600px;margin:auto}.head-search input{flex:1;min-width:0;padding:12px;border:1px solid var(--line)}.btn{background:var(--red);color:white;border:0;border-radius:3px;padding:13px 22px;font-weight:700;display:inline-block}.btn:hover{background:#a71021;color:white;text-decoration:none}.hero{position:relative;min-height:390px;background:linear-gradient(110deg,rgba(2,20,40,.9),rgba(7,37,66,.42)),linear-gradient(160deg,#5e7889 0%,#e0b49a 47%,#34546a 48%,#142b40 100%);color:white;display:flex;align-items:center}.hero.has-photo{background-size:cover;background-position:center}.hero .wrap{width:100%;padding-top:75px;padding-bottom:75px}.hero h1{font-family:Georgia,serif;font-size:clamp(33px,4.2vw,55px);font-weight:500;line-height:1.18;max-width:760px;margin:0 0 20px}.accent{height:4px;background:var(--red);width:64px;margin:23px 0}.hero p{max-width:650px;font-size:17px;margin:0}.section{padding:70px 0}.section.alt{background:var(--pale)}.eyebrow{text-transform:uppercase;color:var(--red);font-size:12px;font-weight:bold;letter-spacing:.17em}.section h2{font-family:Georgia,serif;font-weight:500;color:var(--navy);font-size:clamp(29px,3vw,40px);margin:7px 0 27px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:white;border:1px solid var(--line);box-shadow:0 5px 20px #0c2c4810;display:flex;flex-direction:column}.card-visual{height:150px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#12395b,#567e91);color:white;font-family:Georgia,serif;font-size:64px}.card:nth-child(2) .card-visual{background:linear-gradient(135deg,#8795a0,#1d405b)}.card:nth-child(3) .card-visual{background:linear-gradient(135deg,#536c76,#172c43)}.card:nth-child(4) .card-visual{background:linear-gradient(135deg,#28475e,#8293a2)}.card-body{padding:20px;display:flex;flex-direction:column;flex:1}.card h3{font-size:18px;color:var(--navy);margin:0 0 8px}.card p{font-size:14px;color:var(--muted);margin:0 0 20px;flex:1}.more{font-size:13px;font-weight:bold;color:var(--red)}.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.section-top>a{font-weight:bold;color:var(--red);font-size:14px}.question-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.question{display:flex;justify-content:space-between;gap:20px;align-items:center;background:white;border:1px solid var(--line);padding:21px 24px;font-weight:700;color:var(--navy)}.question span:last-child{color:var(--red);font-size:23px}.question:hover{border-color:var(--red);text-decoration:none}.newsletter{background:var(--navy2);color:white;padding:52px 0}.newsletter .wrap{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px}.newsletter h2{font-family:Georgia,serif;font-size:35px;font-weight:500;margin:0 0 8px}.newsletter p{margin:0;color:#d5e1ec}.signup{display:flex;gap:8px}.signup input{flex:1;min-width:0;padding:13px;border:0;border-radius:3px}.newsletter small{display:block;margin-top:9px;color:#c3d0da}.site-footer{padding:48px 0 25px;background:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-brand img{max-width:275px}.site-footer h3{font-size:14px;color:var(--navy);text-transform:uppercase;letter-spacing:.08em}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin:7px 0}.footer-links a{font-size:14px;color:var(--muted)}.social{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.social a{font-weight:bold;font-size:13px;border:1px solid var(--line);padding:4px 8px}.fineprint{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:12px;color:var(--muted)}.content-page{padding:60px 0 90px;max-width:850px}.content-page h1{font-family:Georgia,serif;color:var(--navy);font-size:43px;line-height:1.2}.content-page h2{color:var(--navy);font-size:25px}.breadcrumbs{font-size:13px;color:var(--muted)}.qa-list{margin:24px 0}.qa-list details{border:1px solid var(--line);margin-bottom:10px;background:#fff}.qa-list summary{cursor:pointer;padding:17px 22px;font-weight:bold;color:var(--navy)}.qa-list details p{padding:0 22px 19px;margin:0}.entry-content{overflow-wrap:anywhere}.entry-content a{text-decoration:underline}.wp-block-image{margin:25px 0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:99;background:white;padding:10px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.newsletter .wrap{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media(max-width:600px){.crisis .wrap{gap:5px 16px;font-size:11px}.site-head .wrap{padding-top:12px;padding-bottom:12px}.brand img{width:min(300px,75vw)}.hero{min-height:340px}.hero .wrap{padding-top:55px;padding-bottom:55px}.cards,.question-grid,.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.section{padding:48px 0}.section-top{display:block}.signup{flex-direction:column}.content-page h1{font-size:34px}}

/* Phase 1 approved homepage design */
:root{--navy:#062b55;--navy2:#052a4d;--red:#d20b24;--pale:#f4f8fc}
.wrap{max-width:1370px;padding:0 38px}
.crisis{background:#a90920;font-size:15px;font-weight:600}.crisis .wrap{gap:0;justify-content:space-between;flex-wrap:nowrap;padding-top:10px;padding-bottom:10px}.crisis span{border-left:1px solid #ffffff8c;padding-left:19px}.crisis strong{font-size:17px;white-space:nowrap}.crisis a{text-decoration:underline}
.site-head .wrap{padding-top:10px;padding-bottom:10px;min-height:132px}.brand img{width:min(680px,58vw);max-height:118px;object-fit:contain}.header-actions{display:flex;align-items:center;gap:22px}.header-social,.social{display:flex;gap:19px;align-items:center}.header-social a,.social a{font-size:22px;font-weight:800;color:var(--navy);border:0;padding:0}.search-toggle{font-size:43px;line-height:1;border-left:1px solid #bdcbd9;padding-left:23px}
.hero{min-height:365px;background-size:cover;background-position:center}.hero .wrap{padding-top:46px;padding-bottom:46px}.hero h1{font-size:clamp(40px,4vw,60px);font-weight:700;line-height:1.06;max-width:850px}.hero h1 small{display:block;font-size:.61em;line-height:1.2;margin-top:8px}.hero p{max-width:560px;font-size:19px;line-height:1.5}.accent{width:78px;height:5px;margin:24px 0}
.section{padding:22px 0 28px}.section h2{font-size:clamp(32px,3.7vw,48px);font-weight:700;letter-spacing:-.025em;margin:0 0 20px}.cards{gap:20px}.card{border-radius:4px;overflow:hidden}.card-photo{width:100%;height:155px;object-fit:cover;display:block}.card-body{padding:16px 18px 20px}.card h3{font-family:Georgia,serif;font-size:22px;letter-spacing:-.03em;line-height:1.2}.card p{font-size:16px;line-height:1.45;color:#143f79}.more{color:#0959d6;font-size:17px;font-weight:600}
.questions-section{padding:16px 0 24px;background:#f5f9fe}.section-top{align-items:flex-start}.section-top h2{margin:0}.section-top p{margin:-12px 0 14px;color:#234477;font-size:15px}.section-top>a{color:#0054cd;padding-top:12px}.question-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.question{padding:15px 12px;min-height:133px;gap:12px;align-items:flex-start;border-radius:3px}.question-icon{width:65px;height:65px;flex:0 0 65px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:white;border-radius:50%;font-size:32px}.question-copy{display:flex;flex-direction:column;gap:8px;flex:1}.question-copy strong{font-family:Georgia,serif;font-size:18px;line-height:1.12}.question-copy small{font-size:14px;line-height:1.3;font-weight:400;color:#284d87}.question-arrow{color:#0758dc!important;font-size:26px!important}
.newsletter{padding:16px 0}.newsletter .wrap{grid-template-columns:82px 1fr 1.15fr;gap:22px}.newsletter-icon{border-radius:50%;background:white;color:var(--navy);width:78px;height:78px;display:flex;align-items:center;justify-content:center;font-size:43px}.newsletter h2{font-weight:700;font-size:34px}.newsletter p{font-size:14px;line-height:1.4}.signup input{border:1px solid #d7dfe8}.signup .btn{white-space:nowrap;font-size:14px}.newsletter small{font-size:12px}
.site-footer{padding:20px 0 18px}.footer-grid{grid-template-columns:1.5fr .55fr .55fr 1.35fr;gap:24px}.footer-brand img{max-width:315px;width:100%}.site-footer h3{font-size:14px;text-transform:none;margin:0 0 8px}.footer-links li{margin:3px 0}.footer-links a{color:#224578}.footer-social .social{margin:0 0 14px}.footer-social p{font-size:12px;line-height:1.45;color:#284a7d;margin:9px 0}
@media(max-width:1000px){.crisis .wrap{flex-wrap:wrap;justify-content:center;gap:5px 16px}.crisis span{border:0;padding:0}.header-social{gap:10px}.header-social a{font-size:18px}.question-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-social{grid-column:1/-1}.newsletter .wrap{grid-template-columns:70px 1fr}.newsletter .wrap>div:last-child{grid-column:2}}
@media(max-width:650px){.wrap{padding:0 18px}.site-head .wrap{min-height:90px}.brand img{width:min(390px,72vw)}.header-social{display:none}.hero{min-height:340px;background-position:65% center}.hero h1{font-size:38px}.hero h1 small{font-size:.6em}.hero p{font-size:16px;max-width:320px}.cards,.question-grid,.footer-grid{grid-template-columns:1fr}.card-photo{height:175px}.newsletter .wrap{grid-template-columns:1fr}.newsletter .wrap>div:last-child{grid-column:auto}.newsletter-icon{display:none}.question{min-height:110px}.footer-social{grid-column:auto}.crisis{font-size:11px}.crisis strong{font-size:12px}.crisis .wrap{gap:3px 12px}.section-top p{margin:0 0 15px}.section-top>a{display:block;margin-bottom:12px}}

/* Phase 1.2: consistent vector icons */
.header-social a,.footer-social .social a{display:inline-flex;align-items:center;justify-content:center;width:25px;height:28px;line-height:1;color:#082c50}.header-social svg,.footer-social svg{display:block;width:22px;height:22px;overflow:visible}.question-icon svg{display:block;width:34px;height:34px;flex-shrink:0}.question-icon{color:#fff!important}.question:hover .question-icon{background:#0d3b69}.header-social a:focus-visible,.footer-social a:focus-visible,.question:focus-visible{outline:3px solid #d0142d;outline-offset:3px}

/* Phase 1: restore complete header tagline and eliminate baked hero text. */
.site-head .brand{display:flex;flex-direction:column;flex:0 1 610px;min-width:0;text-decoration:none;align-items:flex-start}
.site-head .brand img{display:block;width:100%;max-width:610px;max-height:none;height:auto;object-fit:contain}
.site-head .brand-tagline{display:block;color:#153d69;font-size:clamp(9px,1.05vw,12px);line-height:1.25;letter-spacing:.15em;text-transform:uppercase;margin-top:4px;padding-left:29.5%;white-space:nowrap}
.site-head .header-actions{flex:0 0 auto}
.hero{background-repeat:no-repeat;background-size:cover;background-position:center center}
.hero h1{max-width:650px}
.hero h1 small{max-width:590px}
@media(max-width:950px){.site-head .brand{flex-basis:520px}.site-head .brand-tagline{font-size:9px;letter-spacing:.08em}.site-head .wrap{gap:12px}.header-actions{gap:10px}}
@media(max-width:650px){.site-head .brand{flex-basis:auto;max-width:75vw}.site-head .brand-tagline{font-size:clamp(6px,1.25vw,9px);letter-spacing:0;white-space:normal;padding-left:29.5%}.site-head .brand img{width:100%}.hero h1{max-width:100%}}

/* v6: prevent stale customized hero image and place tagline under brand image */
.site-head .brand{display:flex;flex-direction:column;align-items:flex-start;flex:0 1 610px;min-width:0;text-decoration:none}
.site-head .brand img{width:100%;max-width:610px;max-height:none;height:auto;object-fit:contain;object-position:left}
.site-head .brand-tagline{display:block;margin-top:3px;color:#12375d;font-size:clamp(10px,1.12vw,14px);line-height:1.35;white-space:normal}
.site-head .wrap{min-height:0;padding-top:12px;padding-bottom:12px}
.hero{background-repeat:no-repeat;background-size:cover;background-position:center center}
.hero h1{max-width:730px}
.hero h1 small{max-width:730px}
@media(max-width:700px){.site-head .brand{flex-basis:78%}.site-head .brand-tagline{font-size:10px}.hero h1{font-size:36px}.hero h1 small{font-size:.6em}}

/* v7: brand name only, no repeated header tagline */
.site-head .brand-tagline{display:none!important}

/* Functional topic index, without altering the approved homepage */
.vbs-topic-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.vbs-topic-index section{border:1px solid #dce5ee;padding:22px;background:#fff}.vbs-topic-index h2{font-size:1.4rem}.vbs-topic-index ul{padding-left:20px}.vbs-topic-index li{margin:9px 0}.vbs-topic-index a{color:#07305a}@media(max-width:700px){.vbs-topic-index{grid-template-columns:1fr}}

/* V9 disability calculator */
.vbs-calc{max-width:960px}.calc-panel,.calc-results,.calc-explainer{border:1px solid #dbe3eb;border-radius:9px;padding:24px;margin:24px 0;background:#fff}.calc-panel h2,.calc-explainer h2{margin-top:0}.calc-row{display:grid;grid-template-columns:1fr 120px 1fr 210px auto;gap:10px;align-items:center;border-bottom:1px solid #e7edf2;padding:13px 0}.calc-row label{font-weight:600;font-size:14px}.calc-row select{width:100%;padding:11px 8px;border:1px solid #b9c9d7;border-radius:5px;background:white;color:#17314a}.calc-add,.calc-reset,.calc-remove{background:white;color:#0759a9;border:1px solid #b7c9dc;border-radius:5px;padding:10px 14px;cursor:pointer;font-weight:600}.calc-remove{color:#a32030}.calc-add{margin-top:18px}.calc-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.calc-actions .btn{border:0;cursor:pointer}.calc-results{background:#eff5fa;border-left:5px solid #082c50}.calc-results h2{font-size:29px;color:#082c50;margin:0 0 10px}.calc-results ol{padding-left:23px}.calc-caution{font-size:13px;color:#526477}.calc-explainer p{line-height:1.65}@media(max-width:750px){.calc-row{grid-template-columns:1fr 1fr;gap:8px}.calc-row label{grid-column:1}.calc-row select{grid-column:2}.calc-row .calc-remove{grid-column:2}.calc-panel,.calc-results,.calc-explainer{padding:17px}}

.calc-muscle-review{margin:18px 0;padding:14px 16px;border:1px solid #c9d4e3;border-radius:8px;background:#f6f9fc}.calc-muscle-review label{display:flex;align-items:flex-start;gap:10px;font-weight:600;line-height:1.5}.calc-muscle-review input{margin-top:5px;flex-shrink:0}.calc-muscle-review p{margin:8px 0 0;font-size:.92rem}

/* V15: secondary review option below primary calculator actions */
.calc-actions{margin-bottom:0}.calc-muscle-review{margin:20px 0 0;background:#f8fafc}.calc-muscle-review p{color:#43566b}

/* V16 accessibility: strong keyboard focus and nonvisual status updates */
.vbs-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #1466d2!important;outline-offset:3px!important;box-shadow:0 0 0 2px #fff!important}
@media(forced-colors:active){:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid Highlight!important}}

/* Version 17 informational pages */
.vbs-info-page{max-width:900px;padding-top:46px;padding-bottom:70px;}
.vbs-info-page .entry-content{max-width:780px;line-height:1.75;}
.vbs-info-page .entry-content h2{margin-top:2.1rem;margin-bottom:.65rem;}
.vbs-info-page .entry-content h3{margin-top:1.5rem;}
.vbs-info-page .entry-content li{margin-bottom:.45rem;}
.vbs-info-page .entry-content a{text-decoration:underline;text-underline-offset:2px;}

/* V18: readability enhancements limited to the eight informational pages. */
.vbs-info-page .entry-content{font-size:17px;line-height:1.68;max-width:860px;}
.vbs-info-page .entry-content p{margin:0 0 1.15em;}
.vbs-info-page .entry-content ul,.vbs-info-page .entry-content ol{margin-top:.35em;margin-bottom:1.25em;padding-left:1.65em;}
.vbs-info-page .entry-content li{margin-bottom:.48em;line-height:1.6;}
.vbs-info-page .entry-content h2{margin-top:1.65em;margin-bottom:.65em;line-height:1.3;}
.vbs-info-page .entry-content h3{margin-top:1.4em;margin-bottom:.55em;line-height:1.35;}
.vbs-info-page .entry-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
@media(max-width:650px){.vbs-info-page .entry-content{font-size:16px;line-height:1.65;}.vbs-info-page{padding-top:30px;padding-bottom:48px;}}
