/*
Theme Name: Find Drug Rehab Options Pro
Theme URI: https://finddrugrehaboptions.com
Author: Find Drug Rehab Options
Author URI: https://finddrugrehaboptions.com
Description: A modern, professional, high-converting drug and alcohol rehab treatment-matching and educational resource theme. Helps visitors explore detox, inpatient, outpatient, dual diagnosis, and insurance verification options.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: find-drug-rehab-options-pro
Tags: healthcare, lead-generation, custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* =========================================================
   CSS CUSTOM PROPERTIES (Customizer-driven defaults)
========================================================= */
:root{
	--fdro-color-primary: #0B3B5C;
	--fdro-color-secondary: #159895;
	--fdro-color-accent: #E08A2C;
	--fdro-color-body-bg: #F7FAFB;
	--fdro-color-section-bg: #FFFFFF;
	--fdro-color-text: #1C2B33;
	--fdro-color-text-light: #52646D;
	--fdro-color-border: #E3ECEF;

	--fdro-header-bg: #FFFFFF;
	--fdro-header-text: #0B3B5C;
	--fdro-header-btn: #E08A2C;
	--fdro-header-btn-hover: #C6721A;

	--fdro-footer-bg: #0B2A3F;
	--fdro-footer-text: #CFE3EA;
	--fdro-footer-link: #7FD1CC;

	--fdro-btn-primary-bg: #E08A2C;
	--fdro-btn-primary-hover: #C6721A;

	--fdro-floating-bg: #0B3B5C;
	--fdro-floating-text: #FFFFFF;

	--fdro-radius: 14px;
	--fdro-radius-sm: 8px;
	--fdro-shadow: 0 10px 30px rgba(11,59,92,0.08);
	--fdro-shadow-sm: 0 4px 14px rgba(11,59,92,0.06);

	--fdro-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--fdro-font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--fdro-font-size-base: 17px;
	--fdro-heading-weight: 700;
	--fdro-button-weight: 600;
}

/* =========================================================
   RESET & BASE
========================================================= */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
	font-family: var(--fdro-font-body);
	font-size: var(--fdro-font-size-base);
	line-height: 1.65;
	color: var(--fdro-color-text);
	background: var(--fdro-color-body-bg);
	margin: 0;
	overflow-x: hidden;
}
img{ max-width: 100%; height: auto; display: block; }
a{ color: var(--fdro-color-secondary); text-decoration: none; transition: color .2s ease; }
a:hover{ color: var(--fdro-color-primary); }
h1,h2,h3,h4,h5,h6{
	font-family: var(--fdro-font-heading);
	font-weight: var(--fdro-heading-weight);
	color: var(--fdro-color-primary);
	line-height: 1.25;
	margin: 0 0 .6em;
}
h1{ font-size: clamp(2rem, 4vw, 3.1rem); }
h2{ font-size: clamp(1.6rem, 3vw, 2.3rem); }
h3{ font-size: clamp(1.25rem, 2vw, 1.6rem); }
p{ margin: 0 0 1.1em; color: var(--fdro-color-text-light); }
ul,ol{ padding-left: 1.3em; }
.screen-reader-text{
	position:absolute!important; width:1px;height:1px; overflow:hidden;
	clip:rect(1px,1px,1px,1px); white-space:nowrap; border:0; padding:0; margin:-1px;
}
.skip-link{
	position:absolute; left:-9999px; top:0; background:var(--fdro-color-primary); color:#fff;
	padding:12px 20px; z-index: 100000; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

.container{ max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.section{ padding: 72px 0; }
.section--tight{ padding: 44px 0; }
.section--alt{ background: var(--fdro-color-section-bg); }
.section--soft{ background: linear-gradient(180deg, #EFF7F8 0%, var(--fdro-color-body-bg) 100%); }
.section-header{ max-width: 720px; margin: 0 auto 40px; text-align: center; }
.eyebrow{
	display:inline-block; font-family: var(--fdro-font-heading); font-weight:700; font-size:.8rem;
	letter-spacing:.08em; text-transform:uppercase; color: var(--fdro-color-secondary);
	background: rgba(21,152,149,.1); padding:6px 16px; border-radius: 999px; margin-bottom:14px;
}

/* Buttons */
.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	font-family: var(--fdro-font-heading); font-weight: var(--fdro-button-weight);
	padding: 14px 28px; border-radius: var(--fdro-radius-sm); border:2px solid transparent;
	cursor:pointer; text-align:center; transition: all .2s ease; font-size:1rem; line-height:1.2;
}
.fdro-btn-anim .btn:hover{ transform: translateY(-2px); box-shadow: var(--fdro-shadow); }
.btn-primary{ background: var(--fdro-btn-primary-bg); color:#fff!important; }
.btn-primary:hover{ background: var(--fdro-btn-primary-hover); color:#fff!important; }
.btn-outline{ background:transparent; border-color: var(--fdro-color-primary); color: var(--fdro-color-primary)!important; }
.btn-outline:hover{ background: var(--fdro-color-primary); color:#fff!important; }
.btn-white{ background:#fff; color: var(--fdro-color-primary)!important; }
.btn-white:hover{ background: var(--fdro-color-body-bg); }
.btn-lg{ padding:18px 34px; font-size:1.1rem; }
.btn-block{ width:100%; }

/* Cards */
.card{
	background:#fff; border-radius: var(--fdro-radius); padding: 32px;
	box-shadow: var(--fdro-shadow-sm); border:1px solid var(--fdro-color-border);
	transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover{ transform: translateY(-4px); box-shadow: var(--fdro-shadow); }
.card-icon{
	width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center;
	background: linear-gradient(135deg, var(--fdro-color-secondary), var(--fdro-color-primary));
	color:#fff; font-size:1.5rem; margin-bottom:18px;
}
.grid{ display:grid; gap:28px; }
.grid-2{ grid-template-columns: repeat(2,1fr); }
.grid-3{ grid-template-columns: repeat(3,1fr); }
.grid-4{ grid-template-columns: repeat(4,1fr); }

/* =========================================================
   HEADER
========================================================= */
.fdro-topbar{ background: var(--fdro-color-primary); color:#fff; font-size:.85rem; }
.fdro-topbar .container{ display:flex; justify-content:space-between; align-items:center; padding-top:8px; padding-bottom:8px; }
.fdro-topbar a{ color:#fff; }

.fdro-header{ background: var(--fdro-header-bg); color: var(--fdro-header-text); position: relative; z-index: 500; border-bottom:1px solid var(--fdro-color-border); }
.fdro-header.is-sticky{ position: sticky; top:0; }
.fdro-header .container{ display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; gap:24px; }
.fdro-logo img{ width: 190px; }
.fdro-logo{ font-family:var(--fdro-font-heading); font-weight:800; font-size:1.4rem; color:var(--fdro-header-text); }
.fdro-nav{ display:flex; align-items:center; gap:28px; flex:1; justify-content:center; }
.fdro-nav ul{ list-style:none; display:flex; gap:26px; margin:0; padding:0; }
.fdro-nav a{ color: var(--fdro-header-text); font-weight:600; font-size:.98rem; }
.fdro-header-actions{ display:flex; align-items:center; gap:12px; }
.fdro-header-actions .btn{ background: var(--fdro-header-btn); color:#fff; padding:11px 20px; }
.fdro-header-actions .btn:hover{ background: var(--fdro-header-btn-hover); }
.fdro-header-actions .btn-outline-header{ background:transparent; border-color: var(--fdro-header-text); color: var(--fdro-header-text); }
.fdro-mobile-toggle{ display:none; background:none; border:none; font-size:1.6rem; cursor:pointer; color: var(--fdro-header-text); }

.fdro-mobile-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:#fff; box-shadow: var(--fdro-shadow); border-top:1px solid var(--fdro-color-border); }
.fdro-mobile-nav.is-open{ display:block; }
.fdro-mobile-nav ul{ list-style:none; margin:0; padding: 14px 24px; }
.fdro-mobile-nav li{ border-bottom:1px solid var(--fdro-color-border); }
.fdro-mobile-nav a{ display:block; padding:14px 0; color: var(--fdro-color-primary); font-weight:600; }

.fdro-floating-cta{
	display:none; position:fixed; bottom:0; left:0; right:0; z-index:600;
	background: var(--fdro-floating-bg); color: var(--fdro-floating-text);
	padding:10px 14px; gap:10px; box-shadow: 0 -6px 20px rgba(0,0,0,.15);
}
.fdro-floating-cta .btn{ flex:1; }

/* =========================================================
   HERO
========================================================= */
.fdro-hero{ padding: 64px 0 80px; background: linear-gradient(160deg, #EFF8F8 0%, #FFFFFF 60%); position:relative; overflow:hidden; }
.fdro-hero .container{ display:grid; grid-template-columns: 1.1fr .9fr; gap:56px; align-items:center; }
.fdro-hero-content h1{ margin-bottom:.4em; }
.fdro-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin: 26px 0; }
.fdro-hero-badges{ display:flex; gap:22px; flex-wrap:wrap; margin-top: 22px; font-size:.9rem; color: var(--fdro-color-text-light); }
.fdro-hero-badges span{ display:flex; align-items:center; gap:8px; }
.fdro-hero-media img{ border-radius: var(--fdro-radius); box-shadow: var(--fdro-shadow); }
.fdro-hero-form-card{ background:#fff; border-radius: var(--fdro-radius); box-shadow: var(--fdro-shadow); padding:28px; border:1px solid var(--fdro-color-border); }
.fdro-hero-form-card h3{ margin-bottom:.3em; }

/* Page banner (interior pages) */
.fdro-page-banner{
	background: linear-gradient(160deg, var(--fdro-color-primary), #103F5E);
	color:#fff; padding: 56px 0; position:relative; background-size:cover; background-position:center;
}
.fdro-page-banner::before{ content:""; position:absolute; inset:0; background: var(--fdro-banner-overlay, rgba(11,59,92,.72)); }
.fdro-page-banner .container{ position:relative; z-index:2; }
.fdro-page-banner h1{ color:#fff; margin-bottom:.3em; }
.fdro-page-banner p{ color: rgba(255,255,255,.85); max-width:680px; }
.fdro-breadcrumbs{ font-size:.85rem; margin-bottom:16px; opacity:.9; }
.fdro-breadcrumbs a{ color:#fff; }
.fdro-page-banner-cta{ margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }

/* Sections */
.fdro-trust-badges{ background:#fff; padding: 28px 0; border-bottom:1px solid var(--fdro-color-border); border-top:1px solid var(--fdro-color-border); }
.fdro-trust-badges .container{ display:flex; justify-content:center; gap:40px; flex-wrap:wrap; text-align:center; font-weight:600; color: var(--fdro-color-primary); font-size:.95rem; }

.fdro-cta-band{ background: linear-gradient(120deg, var(--fdro-color-primary), var(--fdro-color-secondary)); color:#fff; padding: 60px 0; text-align:center; border-radius: var(--fdro-radius); margin: 0 24px; }
.fdro-cta-band h2{ color:#fff; }
.fdro-cta-band p{ color: rgba(255,255,255,.88); }
.fdro-cta-band-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:22px; }

.fdro-faq-item{ border-bottom:1px solid var(--fdro-color-border); padding:18px 0; }
.fdro-faq-item summary{ cursor:pointer; font-weight:700; color: var(--fdro-color-primary); font-family: var(--fdro-font-heading); list-style: none; display:flex; justify-content:space-between; align-items:center; }
.fdro-faq-item summary::-webkit-details-marker{ display:none; }
.fdro-faq-item summary::after{ content:"+"; font-size:1.4rem; color: var(--fdro-color-secondary); }
.fdro-faq-item[open] summary::after{ content:"−"; }
.fdro-faq-item p{ margin-top:12px; }

.fdro-form-card{ background:#fff; border-radius: var(--fdro-radius); box-shadow: var(--fdro-shadow-sm); padding:32px; border:1px solid var(--fdro-color-border); }
.fdro-form-placeholder{ background: var(--fdro-color-body-bg); border:2px dashed var(--fdro-color-border); border-radius: var(--fdro-radius); padding:34px; text-align:center; color: var(--fdro-color-text-light); }
.fdro-form-disclaimer{ font-size:.82rem; color: var(--fdro-color-text-light); margin-top:14px; }

.fdro-state-grid{ display:grid; grid-template-columns: repeat(5,1fr); gap:10px; }
.fdro-state-grid a{ background:#fff; border:1px solid var(--fdro-color-border); border-radius:8px; padding:10px 12px; font-size:.9rem; color: var(--fdro-color-primary); font-weight:600; text-align:center; }
.fdro-state-grid a:hover{ background: var(--fdro-color-primary); color:#fff; }

.fdro-related-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.fdro-related-grid a{ display:block; background:#fff; border:1px solid var(--fdro-color-border); border-radius: var(--fdro-radius-sm); padding:20px; font-weight:700; color: var(--fdro-color-primary); }
.fdro-related-grid a:hover{ border-color: var(--fdro-color-secondary); }

.fdro-emergency-notice{ background:#FFF4E8; border:1px solid #F1C98F; color:#7A4A0E; border-radius: var(--fdro-radius-sm); padding:16px 20px; font-size:.92rem; margin: 20px 0; }

.fdro-content-card{ background:#fff; border-radius: var(--fdro-radius); box-shadow: var(--fdro-shadow-sm); padding:40px; border:1px solid var(--fdro-color-border); }
.fdro-content-card h2{ margin-top:1.4em; }

/* Blog */
.fdro-post-card{ background:#fff; border-radius: var(--fdro-radius); overflow:hidden; box-shadow: var(--fdro-shadow-sm); border:1px solid var(--fdro-color-border); }
.fdro-post-card img{ aspect-ratio: 16/9; object-fit:cover; width:100%; }
.fdro-post-card-body{ padding:22px; }
.fdro-post-card .cat{ font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color: var(--fdro-color-secondary); font-weight:700; }
.fdro-blog-layout{ display:grid; grid-template-columns: 2.2fr 1fr; gap:40px; }
.fdro-sidebar-box{ background:#fff; border:1px solid var(--fdro-color-border); border-radius: var(--fdro-radius); padding:26px; margin-bottom:24px; }

/* Footer */
.fdro-footer{ background: var(--fdro-footer-bg); color: var(--fdro-footer-text); padding: 64px 0 24px; }
.fdro-footer a{ color: var(--fdro-footer-link); }
.fdro-footer h4{ color:#fff; font-size:1rem; margin-bottom:16px; }
.fdro-footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap:36px; }
.fdro-footer-grid ul{ list-style:none; padding:0; margin:0; }
.fdro-footer-grid li{ margin-bottom:10px; }
.fdro-footer-logo img{ width:170px; margin-bottom:14px; }
.fdro-footer-social{ display:flex; gap:12px; margin-top:16px; }
.fdro-footer-social a{ width:36px; height:36px; border-radius:50%; background: rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; }
.fdro-footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:40px; padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:.82rem; color: rgba(255,255,255,.6); }
.fdro-footer-bottom a{ color: rgba(255,255,255,.7); margin-right:14px; }
.fdro-footer-disclaimer{ font-size:.78rem; color: rgba(255,255,255,.5); max-width:900px; margin-top:14px; }

/* Skip focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
	outline: 3px solid var(--fdro-color-accent); outline-offset:2px;
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1024px){
	.fdro-hero .container{ grid-template-columns:1fr; }
	.fdro-footer-grid{ grid-template-columns: 1fr 1fr; }
	.grid-4{ grid-template-columns: repeat(2,1fr); }
	.grid-3{ grid-template-columns: repeat(2,1fr); }
	.fdro-blog-layout{ grid-template-columns:1fr; }
	.fdro-related-grid{ grid-template-columns:1fr 1fr; }
	.fdro-state-grid{ grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 782px){
	.fdro-nav, .fdro-header-actions .btn-outline-header{ display:none; }
	.fdro-mobile-toggle{ display:block; }
	.fdro-floating-cta{ display:flex; }
	body{ padding-bottom: 66px; }
	.grid-2, .grid-3, .grid-4{ grid-template-columns:1fr; }
	.fdro-footer-grid{ grid-template-columns:1fr; }
	.fdro-related-grid{ grid-template-columns:1fr; }
	.fdro-state-grid{ grid-template-columns: repeat(2,1fr); }
	.fdro-topbar .container{ flex-direction:column; gap:4px; text-align:center; }
	.section{ padding: 48px 0; }
	.fdro-cta-band{ margin:0; border-radius:0; }
}
