
/* =========================================
   SEOlytics Pro
   ========================================= */

/* ---------- ROOT VARIABLES ---------- */

:root{
--primary:#0a84ff;
--primary2:#0077ff;
--accent:#5ac8fa;

--bg1:#e9f2ff;
--bg2:#f7fbff;

--text:#1c1c1e;
--muted:#6e6e73;

--radius:22px;

--glass:rgba(255,255,255,0.65);
--border:rgba(255,255,255,0.4);

--shadow:0 10px 30px rgba(0,0,0,.08);
}

/* ---------- GLOBAL RESET ---------- */

*{
box-sizing:border-box;
}

html,body{
height:100%;
margin:0;
font-family:'Inter','Segoe UI',sans-serif;
color:var(--text);
}

/* ---------- PAGE BACKGROUND ---------- */

body{
background:linear-gradient(180deg,var(--bg1),var(--bg2));
min-height:100vh;
}

/* floating iOS bubbles background */

body::before{
content:"";
position:fixed;
top:-200px;
left:-200px;
width:600px;
height:600px;
background:radial-gradient(circle,#cfe3ff,transparent);
z-index:-1;
}

body::after{
content:"";
position:fixed;
bottom:-200px;
right:-200px;
width:600px;
height:600px;
background:radial-gradient(circle,#dff3ff,transparent);
z-index:-1;
}

/* ---------- CONTAINER ---------- */

.container{
max-width:1000px;
margin:auto;
padding:0 20px;
}

/* Prevent bootstrap overflow issues */

.row{
margin-left:0;
margin-right:0;
}

/* ---------- VERTICAL SECTION SPACING (THIS WAS MISSING) ---------- */

section{
margin-bottom:50px;
}

/* ---------- NAVBAR ---------- */

.navbar{
background:linear-gradient(90deg,var(--primary2),var(--accent));
box-shadow:0 2px 12px rgba(0,0,0,.08);
padding:12px 0;
}

.navbar-nav{
list-style:none;
display:flex;
align-items:center;
gap:25px;
}

.navbar-nav li{
list-style:none;
}

.navbar-brand{
font-weight:700;
color:white !important;
}

.nav-link{
color:white !important;
font-weight:500;
}

.nav-link:hover{
opacity:.8;
}

/* ---------- HERO ---------- */

.hero-section{
text-align:center;
background:linear-gradient(135deg,var(--primary2),var(--accent));
color:white;
border-radius:var(--radius);
max-width:700px;
margin:30px auto 40px auto;
padding:35px 30px;
margin-top:30px;
box-shadow:var(--shadow);
}

.hero-section h1{
font-size:2.4rem;
}

.hero-section p{
font-size:1.05rem;
max-width:650px;
margin:auto;
opacity:.9;
}

/* ---------- GLASS CARDS ---------- */

.card{
background:var(--glass);
border:1px solid var(--border);
border-radius:var(--radius);
backdrop-filter:blur(20px);
box-shadow:var(--shadow);
transition:.25s;
}

.card:hover{
transform:translateY(-6px);
}

/* ---------- CARD BODY COMPACT ---------- */

.card-body{
padding:1.5rem;
}

/* ---------- FEATURE ICON ---------- */

.feature-icon{
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:1.3rem;
background:linear-gradient(135deg,var(--primary2),var(--accent));
color:white;
}

/* ---------- ANALYZER CARD ---------- */

.analyzer-section .card{
padding:20px;
}

.analyzer-section{
max-width:750px;
margin:auto;
}

/* ---------- INPUTS ---------- */

.form-control{
border-radius:14px;
border:none;
box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}

.form-control:focus{
box-shadow:0 0 0 3px rgba(10,132,255,.25);
}

.input-group-text{
border:none;
background:#f2f4f7;
}

/* ---------- BUTTONS ---------- */

.btn-primary{
background:linear-gradient(135deg,var(--primary2),var(--accent));
border:none;
border-radius:14px;
font-weight:600;
}

.btn-primary:hover{
filter:brightness(.95);
}

/* ---------- SCORE CIRCLE ---------- */

.score-circle{
width:140px;
height:140px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
font-size:2rem;
font-weight:700;
background:linear-gradient(135deg,var(--primary2),var(--accent));
color:white;
box-shadow:0 12px 30px rgba(0,0,0,.15);
}

/* ---------- ANALYSIS TEXT ---------- */

.analysis-content{
line-height:1.6;
}

.analysis-content p{
color:var(--muted);
}

/* ---------- BADGES ---------- */

.issue-badge{
padding:4px 10px;
border-radius:12px;
font-size:.75rem;
}

.issue-error{
background:#ffe5e5;
color:#c62828;
}

.issue-warning{
background:#fff4e5;
color:#9a6a00;
}

.issue-success{
background:#e6f8ef;
color:#1a7f45;
}

/* ---------- HOVER EFFECT ---------- */

.hover-lift{
transition:.25s;
}

.hover-lift:hover{
transform:translateY(-6px);
}

/* ---------- TESTIMONIAL AVATAR ---------- */

.avatar-circle{
width:45px;
height:45px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-weight:600;
}

/* ---------- LINKS ---------- */

a{
color:var(--primary);
text-decoration:none;
}

a:hover{
opacity:.8;
}

/* ---------- FOOTER ---------- */

footer{
margin-top:60px;
padding:20px 0;
text-align:center;
color:var(--muted);
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:768px){

.hero-section{
padding:40px 25px;
}

.score-circle{
width:110px;
height:110px;
}

.display-3{
font-size:2rem;
}

}


/* ---------- LOCAL OFFLINE PATCHES ---------- */
.bg-gradient-primary{background:linear-gradient(135deg,var(--primary2),var(--accent))!important;}
.stat-number{font-size:1.4rem;font-weight:700;line-height:1.1;}
.stat-label{font-size:.75rem;color:var(--muted);}
.score-excellent{background:linear-gradient(135deg,#2ecc71,#76e09b)!important;}
.score-good{background:linear-gradient(135deg,#f5a623,#ffd166)!important;}
.score-poor{background:linear-gradient(135deg,#e74c3c,#ff7b72)!important;}
.logo-icon{flex:0 0 auto;}
blockquote{font-size:1rem;}
#loadingSpinner .spinner-border{display:inline-block;}
.issue-badge{display:inline-block;margin:2px 4px 2px 0;}

/* ---------- FEATURE OVERVIEW ---------- */
.features-section{
max-width:900px;
margin:0 auto 50px auto;
}

.feature-overview-card{
overflow:hidden;
}

.feature-grid{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
}

.feature-item{
display:flex;
gap:14px;
align-items:flex-start;
background:rgba(255,255,255,.55);
border:1px solid rgba(255,255,255,.45);
border-radius:18px;
padding:16px;
}

.feature-item i{
width:34px;
height:34px;
min-width:34px;
border-radius:12px;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(135deg,var(--primary2),var(--accent));
color:white;
font-size:.95rem;
}

.feature-item h5{
margin:0 0 6px 0;
font-size:1rem;
}

.feature-item p{
margin:0;
color:var(--muted);
font-size:.92rem;
line-height:1.45;
}

.feature-note{
max-width:680px;
margin-left:auto;
margin-right:auto;
}

@media(max-width:768px){
.feature-grid{
grid-template-columns:1fr;
}
}

/* ---------- TYPOGRAPHY / SPACING RESIZE PATCH ---------- */
body{
font-size:15px;
line-height:1.5;
}

.container{
max-width:960px;
}

section{
margin-bottom:36px;
}

.navbar{
padding:8px 0;
}

.logo-icon{
width:34px!important;
height:34px!important;
}

.brand-name{
font-size:.95rem;
line-height:1.1;
}

.brand-tagline{
font-size:.65rem!important;
}

.nav-link{
font-size:.9rem;
}

/* Hero readability: override Bootstrap text-primary/text-muted inside blue hero */
.hero-section{
max-width:680px;
padding:28px 28px!important;
margin:24px auto 32px auto;
}

.hero-section h1,
.hero-section .text-primary{
color:#fff!important;
}

.hero-section h1{
font-size:clamp(1.75rem,3vw,2.25rem)!important;
line-height:1.12;
margin-bottom:14px!important;
}

.hero-section p,
.hero-section .lead,
.hero-section .text-muted{
color:rgba(255,255,255,.92)!important;
font-size:clamp(.96rem,1.35vw,1.08rem)!important;
line-height:1.55;
max-width:620px;
}

.hero-section .badge{
font-size:.78rem!important;
padding:.42rem .65rem;
}

/* Feature overview: smaller, more balanced */
.features-section{
max-width:860px;
margin:0 auto 36px auto;
}

.feature-overview-card .card-body{
padding:2rem!important;
}

.feature-overview-card .feature-icon{
width:46px;
height:46px;
font-size:1rem;
margin-bottom:12px!important;
}

.feature-overview-card h2,
.cta-section h2,
.analyzer-section h2,
#resultsSection h3,
.display-5{
font-size:clamp(1.55rem,2.4vw,2.05rem)!important;
line-height:1.16;
letter-spacing:-.02em;
}

.feature-overview-card .lead,
.cta-section .lead,
.analyzer-section .lead{
font-size:.98rem!important;
line-height:1.5;
}

.feature-grid{
gap:12px;
}

.feature-item{
padding:13px 14px;
border-radius:16px;
gap:12px;
}

.feature-item i{
width:30px;
height:30px;
min-width:30px;
border-radius:10px;
font-size:.82rem;
}

.feature-item h5{
font-size:.92rem;
line-height:1.25;
margin-bottom:4px;
}

.feature-item p{
font-size:.82rem;
line-height:1.42;
}

.feature-note small{
font-size:.78rem;
line-height:1.45;
}

/* CTA and analyzer cards */
.cta-section .card-body,
.analyzer-section .card-body{
padding:2rem!important;
}

.btn-lg{
font-size:.95rem;
padding:.65rem 1.25rem!important;
}

.input-group-lg>.form-control,
.input-group-lg>.btn,
.input-group-lg>.input-group-text{
font-size:.95rem;
}

/* Results cards */
.card-body{
padding:1.25rem;
}

.card-header h5,
.card-title{
font-size:1rem;
}

.analysis-content h6{
font-size:.9rem;
}

.analysis-content p,
.analysis-content li{
font-size:.84rem;
}

.score-circle{
width:118px;
height:118px;
font-size:1.65rem;
}

@media(max-width:768px){
body{
font-size:14px;
}

.hero-section{
padding:24px 18px!important;
margin-top:18px;
}

.hero-section .d-flex{
flex-wrap:wrap;
gap:.5rem!important;
}

.feature-overview-card .card-body,
.cta-section .card-body,
.analyzer-section .card-body{
padding:1.35rem!important;
}

.feature-grid{
grid-template-columns:1fr;
}

.input-group{
flex-wrap:wrap;
}

.input-group .form-control,
.input-group .btn{
width:100%;
border-radius:14px!important;
margin-top:8px;
}

.input-group .input-group-text{
display:none;
}
}


/* ---------- DEDICATED RESULTS PAGE ---------- */

.results-container{
max-width:1050px;
}

.results-toolbar .card-body{
padding:1.25rem 1.5rem;
}

.shortcut-pill{
display:flex;
align-items:center;
justify-content:center;
min-height:38px;
padding:0 14px;
border-radius:14px;
background:#f2f7ff;
color:var(--muted);
font-size:.88rem;
white-space:nowrap;
}

.result-value{
background:#f7f9fc;
border:1px solid rgba(0,0,0,.06);
border-radius:12px;
padding:.75rem;
font-size:.92rem;
line-height:1.5;
word-break:break-word;
}

.issue-list{
display:flex;
flex-wrap:wrap;
gap:6px;
}

.result-card,
.print-header-card{
break-inside:avoid;
page-break-inside:avoid;
}

@media print{
body{
background:white !important;
color:#111 !important;
}

body::before,
body::after,
.no-print,
.navbar,
footer{
display:none !important;
}

.container,
.results-container{
max-width:100% !important;
width:100% !important;
padding:0 !important;
}

.card{
box-shadow:none !important;
backdrop-filter:none !important;
border:1px solid #ddd !important;
background:white !important;
transform:none !important;
}

.card:hover{
transform:none !important;
}

.score-circle{
box-shadow:none !important;
}

.result-card{
margin-bottom:12px !important;
}

.result-value{
background:#fff !important;
}

@page{
margin:.5in;
}
}


/* ---------- WEBGEEKS PAGE UPDATES ---------- */
.nav-link.active{font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.feature-page-grid .feature-item,.category-summary-grid .category-status-row{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.55);border-radius:18px;box-shadow:0 8px 22px rgba(0,0,0,.05);}
.category-donut{width:170px;height:170px;border-radius:50%;margin:0 auto;position:relative;display:flex;align-items:center;justify-content:center;background:conic-gradient(#20a35b 0deg 270deg,#d93025 270deg 360deg);box-shadow:0 12px 30px rgba(0,0,0,.12);}
.category-donut::after{content:"";position:absolute;width:105px;height:105px;border-radius:50%;background:white;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);}
.category-donut span{position:relative;z-index:1;font-size:1.35rem;font-weight:800;color:#1c1c1e;}
.category-donut.perfect span{color:#0a84ff;}
.category-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.category-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;font-size:.94rem;}
.category-status-row span{font-weight:650;color:#1c1c1e;}
.category-status-row strong{font-size:.82rem;border-radius:999px;padding:5px 9px;white-space:nowrap;}
.category-status-row.good strong{background:#e6f8ef;color:#13733c;}
.category-status-row.bad strong{background:#ffe5e5;color:#b3261e;}
.score-perfect{background:linear-gradient(135deg,#0a84ff,#5ac8fa) !important;}
@media(max-width:768px){.category-summary-grid{grid-template-columns:1fr;}.category-donut{width:145px;height:145px;}.category-donut::after{width:88px;height:88px;}}
@media print{.result-category-card{break-inside:avoid;page-break-inside:avoid;}.category-status-row{border:1px solid #ddd !important;box-shadow:none !important;background:#fff !important;}}

/* ---------- DESKTOP WIDTH + COMPACT PAGE PATCH ---------- */
:root{
--radius:18px;
}

body{
font-size:14px;
}

.container,
.navbar .container{
max-width:1200px!important;
width:100%;
}

main.container{
padding-left:24px;
padding-right:24px;
}

section{
margin-bottom:24px!important;
}

.card{
border-radius:18px;
}

.card:hover{
transform:none;
}

.card-body{
padding:1rem 1.15rem!important;
}

footer{
margin-top:28px!important;
padding:14px 0!important;
}

/* Navbar: keep it lower height on desktop */
.navbar{
padding:6px 0!important;
}

.navbar-nav{
gap:18px;
}

.logo-icon{
width:30px!important;
height:30px!important;
}

.brand-name{
font-size:.9rem!important;
}

.brand-tagline{
font-size:.62rem!important;
}

.nav-link,
.btn-sm{
font-size:.84rem!important;
}

/* Home page: wider, flatter layout */
.hero-section{
max-width:1100px!important;
margin:18px auto 24px auto!important;
padding:22px 30px!important;
}

.hero-section h1{
font-size:clamp(1.55rem,2.1vw,2rem)!important;
margin-bottom:10px!important;
}

.hero-section p,
.hero-section .lead{
max-width:850px!important;
font-size:.95rem!important;
line-height:1.45!important;
}

.hero-section .badge{
font-size:.72rem!important;
padding:.34rem .55rem!important;
}

.features-section{
max-width:1100px!important;
margin-bottom:24px!important;
}

.feature-overview-card .card-body{
padding:1.4rem 1.6rem!important;
}

.feature-overview-card .text-center{
margin-bottom:1rem!important;
}

.feature-overview-card .feature-icon{
width:38px!important;
height:38px!important;
font-size:.85rem!important;
margin-bottom:8px!important;
}

.feature-overview-card h2{
font-size:1.35rem!important;
margin-bottom:8px!important;
}

.feature-overview-card .lead{
font-size:.88rem!important;
line-height:1.4!important;
}

.feature-grid{
grid-template-columns:repeat(4,minmax(0,1fr));
gap:10px!important;
}

.feature-item{
padding:10px 11px!important;
gap:9px!important;
border-radius:14px!important;
}

.feature-item i{
width:27px!important;
height:27px!important;
min-width:27px!important;
font-size:.75rem!important;
border-radius:9px!important;
}

.feature-item h5{
font-size:.82rem!important;
margin-bottom:3px!important;
}

.feature-item p{
font-size:.74rem!important;
line-height:1.34!important;
}

/* Analyzer page: compact desktop version */
.scan-page-container{
max-width:1120px!important;
padding-top:24px!important;
padding-bottom:18px!important;
}

.scan-page-container .cta-section .col-lg-8,
.scan-page-container .analyzer-section .col-lg-8{
width:100%;
max-width:980px;
}

.scan-page-container .cta-section .card-body{
padding:1.25rem 1.5rem!important;
}

.scan-page-container .cta-section h1{
font-size:1.55rem!important;
margin-bottom:8px!important;
}

.scan-page-container .cta-section .lead{
font-size:.9rem!important;
}

.analyzer-section{
max-width:980px!important;
}

.analyzer-section .card{
padding:0!important;
}

.analyzer-section h2{
font-size:1.45rem!important;
margin-bottom:8px!important;
}

.analyzer-section .lead{
font-size:.88rem!important;
margin-bottom:0!important;
}

.input-group-lg>.form-control,
.input-group-lg>.btn,
.input-group-lg>.input-group-text{
font-size:.88rem!important;
}

/* Features page: shorter hero and wider desktop grids */
.feature-example-hero{
max-width:1120px;
margin-left:auto;
margin-right:auto;
margin-bottom:20px!important;
}

.feature-example-hero .card-body{
padding:1.25rem 2rem!important;
}

.feature-example-hero .feature-icon{
width:38px!important;
height:38px!important;
font-size:.85rem!important;
margin-bottom:8px!important;
}

.feature-example-hero h1{
font-size:1.45rem!important;
line-height:1.15!important;
margin-bottom:8px!important;
}

.feature-example-hero .lead{
font-size:.86rem!important;
line-height:1.4!important;
max-width:780px;
margin-left:auto;
margin-right:auto;
}

.feature-page-grid{
max-width:1120px;
margin-left:auto;
margin-right:auto;
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:10px!important;
}

.category-summary-grid{
grid-template-columns:repeat(3,minmax(0,1fr))!important;
gap:9px!important;
}

.category-status-row{
padding:9px 11px!important;
font-size:.78rem!important;
border-radius:13px!important;
}

.category-status-row strong{
font-size:.7rem!important;
padding:4px 7px!important;
}

.score-circle{
width:98px!important;
height:98px!important;
font-size:1.35rem!important;
}

.category-donut{
width:135px!important;
height:135px!important;
}

.category-donut::after{
width:82px!important;
height:82px!important;
}

.category-donut span{
font-size:1.05rem!important;
}

/* Results page: wider report canvas */
.results-container{
max-width:1200px!important;
}

.results-toolbar .card-body{
padding:.9rem 1.1rem!important;
}

.result-value{
font-size:.82rem!important;
padding:.55rem!important;
}

.analysis-content p,
.analysis-content li{
font-size:.78rem!important;
}

@media(min-width:992px){
.results-container .row .col-lg-6{
width:50%;
}
}

@media(max-width:991px){
.feature-grid,
.feature-page-grid,
.category-summary-grid{
grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
}

@media(max-width:768px){
.container,
.navbar .container{
max-width:100%!important;
}

.feature-grid,
.feature-page-grid,
.category-summary-grid{
grid-template-columns:1fr!important;
}

main.container{
padding-left:14px;
padding-right:14px;
}

.hero-section{
max-width:100%!important;
}
}


/* ---------- PROFESSIONAL SAAS HOME UPDATE ---------- */
.navbar-brand .brand-name{font-size:.95rem!important;letter-spacing:-.01em;white-space:nowrap;}
.brand-tagline{display:none!important;}
.card,.feature-item,.home-saas-panel,.home-summary-card,.hover-lift{transition:none!important;}
.card:hover,.feature-item:hover,.home-saas-panel:hover,.home-summary-card:hover,.hover-lift:hover{transform:none!important;}
.btn{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,opacity .18s ease!important;}
.btn:hover{transform:translateY(-2px)!important;box-shadow:0 10px 22px rgba(0,0,0,.12);opacity:1;}
.home-saas-hero{max-width:1160px;margin:22px auto 18px auto!important;}
.home-saas-panel{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:22px;background:linear-gradient(135deg,#075fbd 0%,#0a84ff 52%,#5ac8fa 100%);border-radius:22px;box-shadow:0 18px 42px rgba(5,55,105,.18);padding:34px;overflow:hidden;color:white;}
.home-saas-panel::before{content:"";position:absolute;right:-110px;top:-130px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.14);}
.home-saas-panel::after{content:"";position:absolute;left:38%;bottom:-150px;width:420px;height:260px;border-radius:50%;background:rgba(255,255,255,.08);}
.home-copy,.home-summary-card{position:relative;z-index:1;}
.eyebrow{display:inline-flex;align-items:center;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.45rem .7rem;margin-bottom:16px;}
.home-copy h1{font-size:clamp(2rem,3.1vw,3.15rem);line-height:1.02;font-weight:800;letter-spacing:-.045em;margin:0 0 14px 0;max-width:720px;}
.home-lead{font-size:1rem;line-height:1.58;color:rgba(255,255,255,.9);max-width:690px;margin:0 0 22px 0;}
.home-actions{display:flex;gap:12px;flex-wrap:wrap;}
.home-actions .btn-light{color:#075fbd;font-weight:750;}
.home-actions .btn-outline-light{font-weight:700;border-color:rgba(255,255,255,.7);color:#fff;}
.home-summary-card{background:rgba(255,255,255,.92);color:#162033;border:1px solid rgba(255,255,255,.65);border-radius:18px;padding:22px;box-shadow:0 14px 35px rgba(0,0,0,.12);align-self:center;}
.home-summary-card h2{font-size:1.2rem!important;line-height:1.2;font-weight:800;letter-spacing:-.02em;margin:0 0 10px 0;color:#162033;}
.home-summary-card p{font-size:.88rem;line-height:1.48;color:#4f5b6b;margin:0 0 16px 0;}
.home-badge-row{display:grid;grid-template-columns:1fr;gap:8px;}
.home-badge-row span{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:#253246;background:#eef6ff;border-radius:12px;padding:8px 10px;}
.home-badge-row i{color:#0a84ff;}
.home-feature-strip{max-width:1160px!important;}
.home-feature-strip .feature-item{background:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 8px 20px rgba(0,0,0,.045)!important;}
@media(max-width:900px){.home-saas-panel{grid-template-columns:1fr;padding:26px;}.home-summary-card{max-width:100%;}}
@media(max-width:600px){.navbar-brand .brand-name{font-size:.82rem!important;white-space:normal;}.home-saas-panel{padding:22px 18px;border-radius:18px;}.home-copy h1{font-size:1.75rem;}.home-actions .btn{width:100%;}}

/* ---------- ABOUT PAGE ---------- */
.about-page-container{max-width:1200px;}
.about-card-body{padding:2rem;}
.about-title{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;margin:0 0 1rem;font-weight:800;color:var(--text);}
.about-lead{font-size:1.05rem;line-height:1.65;color:var(--text);max-width:760px;}
.support-panel{background:rgba(255,255,255,.78);border:1px solid rgba(10,132,255,.14);border-radius:18px;padding:1.25rem;box-shadow:0 10px 24px rgba(0,0,0,.06);}
.support-panel h2{font-size:1.25rem;font-weight:750;margin-bottom:.5rem;color:var(--text);}
.support-panel p{color:var(--muted);font-size:.95rem;line-height:1.5;margin-bottom:1rem;}
.support-actions{display:grid;gap:.75rem;}
.about-feature-grid .feature-item p{margin-bottom:0;}
@media(max-width:768px){.about-card-body{padding:1.25rem}.support-panel{margin-top:.5rem}}


/* ---------- LEGAL / POLICY PAGES ---------- */
.legal-page-container{max-width:1100px;}
.legal-hero h1{font-size:2rem;font-weight:750;margin-bottom:.6rem;}
.legal-lead{font-size:1.02rem;color:var(--muted);max-width:850px;margin-bottom:.5rem;}
.legal-section .card-body{padding:1.25rem 1.5rem;}
.legal-section h2{font-size:1.2rem;font-weight:700;margin-bottom:.55rem;}
.legal-section p{font-size:.95rem;line-height:1.55;color:var(--muted);margin-bottom:0;}
.footer-legal-links{font-size:.88rem;}
.footer-legal-links span{color:var(--muted);margin:0 .35rem;}


/* ---------- DEPLOYED SUBPATH + NAVBAR EDGE FIX ---------- */
body > .container-fluid{
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:hidden;
}

.navbar{
    width:100%!important;
    margin:0!important;
    border-radius:0!important;
}

.navbar .container,
.navbar .container-fluid{
    max-width:1280px!important;
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:28px!important;
    padding-right:28px!important;
}

.navbar-brand{
    min-width:0;
    max-width:100%;
    white-space:nowrap;
}

.navbar-nav{
    flex-wrap:wrap;
    justify-content:flex-end;
}

@media(max-width:768px){
    .navbar .container,
    .navbar .container-fluid{
        padding-left:16px!important;
        padding-right:16px!important;
    }

    .navbar-brand .brand-name{
        font-size:.82rem!important;
        white-space:normal!important;
        line-height:1.15;
    }
}

/* Keep non-clickable panels stationary. Only clickable buttons lift on hover. */
.card,
.feature-item,
.home-saas-panel,
.home-summary-card,
.support-panel,
.legal-card,
.result-category-card,
.hover-lift{
    transition:none!important;
}

.card:hover,
.feature-item:hover,
.home-saas-panel:hover,
.home-summary-card:hover,
.support-panel:hover,
.legal-card:hover,
.result-category-card:hover,
.hover-lift:hover{
    transform:none!important;
    box-shadow:var(--shadow)!important;
}

.btn:hover{
    transform:translateY(-2px)!important;
}

/* ---------- RESULTS PAGE MOBILE TOOLBAR FIX ---------- */

@media (max-width: 767.98px) {
  .results-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .results-toolbar .card-body {
    display: block !important;
    padding: 1rem !important;
  }

  .results-toolbar .card-body > div:first-child {
    margin-bottom: 1rem !important;
  }

  .results-toolbar .card-body > div:last-child {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .results-toolbar h1 {
    font-size: 1.55rem !important;
    line-height: 1.15 !important;
    margin-bottom: .5rem !important;
  }

  .results-toolbar p {
    font-size: .95rem !important;
    line-height: 1.45 !important;
  }

  #printBtn {
    width: 100% !important;
    min-height: 46px !important;
    padding: .75rem 1rem !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    writing-mode: horizontal-tb !important;
  }

  #printBtn i {
    margin-right: .25rem !important;
  }

  .shortcut-pill {
    width: 100% !important;
    min-height: auto !important;
    padding: .75rem 1rem !important;
    display: block !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 420px) {
  .results-toolbar h1 {
    font-size: 1.4rem !important;
  }

  .results-toolbar .card-body {
    padding: .9rem !important;
  }
}
