/*
Theme Name: Adult ADHD Clinic Child
Theme URI: https://a2webcraft.com
Description: Child theme of Twenty Twenty-One for the Adult ADHD and Mental Health Clinic site. Header/footer are custom-coded to match the approved design; inner page content is built with Gutenberg blocks.
Author: A2 Webcraft
Author URI: https://a2webcraft.com
Template: twentytwentyone
Version: 1.0.0
Text Domain: adhd-child
*/

/* ============ RESET / BASE ============ */
*,*::before,*::after{box-sizing:border-box;}
body.adhd-site{
	font-family:'Poppins',system-ui,sans-serif;
	color:#0b1f3a;
	background:#ffffff;
	margin:0;
}
.adhd-site a{text-decoration:none;}
.adhd-site img{max-width:100%;display:block;}
.adhd-site ul{list-style:none;margin:0;padding:0;}
.adhd-site .container{
	max-width:1600px;
	margin:0 auto;
	padding:0 40px;
}
.adhd-site .container-outer{
	max-width:1920px;
	margin:0 auto;
}
@media (max-width:640px){
	.adhd-site .container{padding:0 20px;}
}

/* ============ UTILITIES (Tailwind-equivalent, header/footer only) ============ */
.flex{display:flex;}
.items-center{align-items:center;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.justify-end{justify-content:flex-end;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.flex-none{flex:none;}
.gap-1{gap:4px;}
.gap-2{gap:8px;}
.gap-3{gap:12px;}
.gap-4{gap:16px;}
.gap-6{gap:24px;}
.grid{display:grid;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.hidden{display:none;}
.block{display:block;}
.mb-6{margin-bottom:24px;}
.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none;}
.no-scrollbar::-webkit-scrollbar{display:none;}

@media (min-width:768px){
	.md\:flex{display:flex;}
	.md\:block{display:block;}
	.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:1280px){
	.xl\:flex{display:flex;}
	.xl\:block{display:block;}
	.xl\:hidden{display:none;}
	.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
	.xl\:grid-cols-4{grid-template-columns:2fr 1fr 1fr 1fr;}
}

/* ============ TOP BAR ============ */
.adhd-topbar{background:#1c7bc5;color:#ffffff;}
.adhd-topbar-inner{min-height:44px;padding:6px 0;flex-wrap:wrap;row-gap:4px;}
.adhd-topbar-links{
	font-family:'Poppins',sans-serif;
	font-weight:400;
	font-size:13px;
	flex-wrap:wrap;
	row-gap:4px;
}
.adhd-topbar-links a{
	color:#ffffff;
	opacity:.8;
	white-space:nowrap;
}
.adhd-topbar-links a:hover{opacity:1;}
.adhd-topbar-sep{opacity:.3;}
.adhd-topbar-badge{
	font-size:13px;
	opacity:.85;
	color:#1e4e79;
	font-weight:500;
	white-space:nowrap;
}
.adhd-topbar-badge span{color:#ffffff;opacity:.8;font-weight:400;}
@media (max-width:1439px){
	.adhd-topbar-links{gap:12px !important;font-size:12px;}
}

/* ============ HEADER ============ */
.adhd-header{
	background:#ffffff;
	border-bottom:1px solid #dceaf4;
	position:sticky;
	top:0;
	z-index:100;
	box-shadow:0 2px 20px rgba(13,31,60,.06);
}
.adhd-header-row{
	min-height:88px;
	padding:8px 0;
	flex-wrap:nowrap;
	gap:12px;
}
.adhd-logo-link{
	min-width:0;
	flex-shrink:1;
	overflow:hidden;
}
.adhd-logo-link img{width:220px;max-width:100%;height:auto;object-fit:contain;}
.adhd-logo-text{
	font-family:'Poppins',sans-serif;
	font-weight:700;
	font-size:20px;
	color:#0b1f3a;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	display:block;
}
.adhd-nav{gap:4px;flex-wrap:wrap;}
.adhd-nav a{
	font-family:'Poppins',sans-serif;
	font-size:14px;
	font-weight:500;
	color:#0b1f3a;
	padding:8px 14px;
	border-radius:4px;
	letter-spacing:.01em;
	display:inline-block;
	white-space:nowrap;
}
.adhd-nav a:hover{background:#f5f8fa;color:#1c7bc5;}
.adhd-btn-book{
	background:#1c7bc5;
	color:#ffffff;
	font-family:'Poppins',sans-serif;
	font-weight:600;
	font-size:14px;
	padding:12px 24px;
	border-radius:4px;
	letter-spacing:.02em;
	flex-shrink:0;
	white-space:nowrap;
}
.adhd-btn-book:hover{background:#1e4e79;color:#ffffff;}
.adhd-menu-toggle{
	background:none;
	border:none;
	cursor:pointer;
	color:#0b1f3a;
	padding:8px;
	flex-shrink:0;
}

/* ---- Desktop dropdown sub-menus ---- */
.adhd-nav li{position:relative;list-style:none;margin:0;padding:0;}
.adhd-nav li.menu-item-has-children > a{position:relative;padding-right:28px;}
.adhd-nav li.menu-item-has-children > a::after{
	content:"";
	position:absolute;
	right:10px;
	top:50%;
	width:6px;
	height:6px;
	border-right:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:translateY(-70%) rotate(45deg);
}
.adhd-nav .sub-menu{
	display:none;
	position:absolute;
	top:100%;
	left:0;
	min-width:230px;
	background:#ffffff;
	border:1px solid #dceaf4;
	border-radius:4px;
	box-shadow:0 12px 30px rgba(13,31,60,.14);
	padding:8px;
	z-index:200;
	margin:0;
}
.adhd-nav li:nth-last-child(-n+2) > .sub-menu{left:auto;right:0;}
.adhd-nav li:hover > .sub-menu,
.adhd-nav li:focus-within > .sub-menu,
.adhd-nav li.adhd-submenu-open > .sub-menu{display:block;}
.adhd-nav .sub-menu li{position:relative;}
.adhd-nav .sub-menu a{
	display:block;
	padding:10px 14px;
	font-size:13px;
	font-weight:500;
	white-space:nowrap;
	border-radius:4px;
	color:#0b1f3a;
}
.adhd-nav .sub-menu a:hover{background:#f5f8fa;color:#1c7bc5;}
.adhd-nav .sub-menu .sub-menu{top:-8px;left:100%;}
.adhd-nav .sub-menu li:nth-last-child(-n+2) > .sub-menu{left:auto;right:100%;}

/* Header responsive scaling — keeps logo/nav/button from ever overlapping */
@media (min-width:1280px) and (max-width:1439px){
	.adhd-nav{gap:0;}
	.adhd-nav a{padding:8px 9px;font-size:13px;}
	.adhd-nav li.menu-item-has-children > a{padding-right:22px;}
	.adhd-btn-book{padding:12px 16px;font-size:13px;}
	.adhd-logo-link img{width:180px;}
}
@media (min-width:768px) and (max-width:1279px){
	.adhd-header-row{min-height:80px;padding:6px 0;}
	.adhd-logo-link img{width:190px;}
}
@media (max-width:767px){
	.adhd-header-row{min-height:72px;padding:4px 0;}
	.adhd-logo-link img{width:170px;}
	.adhd-logo-text{font-size:17px;}
}
@media (max-width:480px){
	.adhd-header-row{min-height:64px;padding:17px  0;}
	.adhd-logo-link img{width:140px;}
	.adhd-logo-text{font-size:15px;}
	.container{padding:0 16px;}
}
@media (max-width:359px){
	.adhd-logo-link img{width:110px;}
}

/* Mobile off-canvas menu */
.adhd-mobile-menu{
	position:fixed;
	top:0;right:0;bottom:0;
	width:300px;
	max-width:85vw;
	background:#0b1f3a;
	z-index:1000;
	transform:translateX(100%);
	transition:transform .3s ease-in-out;
	overflow-y:auto;
	display:flex;
	flex-direction:column;
}
.adhd-mobile-menu.is-open{transform:translateX(0);}
.adhd-mobile-menu-close-row{
	padding:24px 32px;
	display:flex;
	justify-content:flex-end;
}
.adhd-mobile-menu-close{
	background:none;border:none;cursor:pointer;color:#ffffff;padding:8px;
}
.adhd-mobile-nav{padding:0 0 20px;}
.adhd-mobile-nav li{position:relative;list-style:none;margin:0;padding:0;}
.adhd-mobile-nav a{
	display:block;
	padding:14px 56px 14px 40px;
	color:#ffffff;
	font-family:'Poppins',sans-serif;
	font-weight:500;
	font-size:15px;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.adhd-mobile-nav .sub-menu{
	max-height:0;
	overflow:hidden;
	transition:max-height .25s ease-in-out;
	background:rgba(255,255,255,.04);
}
.adhd-mobile-nav .sub-menu.is-open{max-height:1000px;}
.adhd-mobile-nav .sub-menu a{
	padding-left:60px;
	font-size:14px;
	font-weight:400;
	border-bottom:1px solid rgba(255,255,255,.06);
}
.adhd-mobile-nav .sub-menu .sub-menu a{padding-left:80px;}
.adhd-submenu-toggle{
	position:absolute;
	right:14px;
	top:6px;
	background:none;
	border:none;
	color:#ffffff;
	padding:12px;
	cursor:pointer;
	line-height:0;
}
.adhd-submenu-toggle svg{transition:transform .2s ease;}
.adhd-submenu-toggle.is-open svg{transform:rotate(180deg);}
.adhd-mobile-menu-cta{padding:0 40px 40px;}
.adhd-mobile-menu-cta a{
	background:#1e4e79;
	color:#ffffff;
	font-family:'Poppins',sans-serif;
	font-weight:600;
	font-size:15px;
	padding:14px 24px;
	border-radius:4px;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
}
.adhd-overlay{
	position:fixed;inset:0;
	background:rgba(11,31,58,.5);
	z-index:999;
	opacity:0;
	pointer-events:none;
	transition:opacity .3s ease-in-out;
}
.adhd-overlay.is-open{opacity:1;pointer-events:auto;}
body.adhd-menu-open{overflow:hidden;}

/* ============ FOOTER ============ */
.adhd-footer{background:#0b1f3a;}
.adhd-footer-top{padding:72px 40px 48px;}
.adhd-footer-grid{gap:60px;}
.adhd-footer-desc{
	font-family:'Poppins',sans-serif;
	font-size:14px;
	color:rgba(255,255,255,.75);
	line-height:1.8;
	max-width:300px;
	font-weight:300;
}
.adhd-footer-contact-row{margin-bottom:12px;}
.adhd-footer-contact-row span,
.adhd-footer-contact-row a{
	font-family:'Poppins',sans-serif;
	font-size:13px;
	color:rgba(255,255,255,.75);
}
.adhd-footer-heading{
	font-family:'Poppins',sans-serif;
	font-size:15px;
	font-weight:700;
	color:#ffffff;
	margin-bottom:24px;
	padding-bottom:12px;
	border-bottom:1px solid rgba(30,78,121,.3);
}
.adhd-footer-links a{
	display:block;
	font-family:'Poppins',sans-serif;
	font-size:13px;
	color:rgba(255,255,255,.75);
	margin-bottom:12px;
	font-weight:400;
}
.adhd-footer-links a:hover{color:#05a49c;}
.adhd-footer-links li{list-style:none;margin:0;padding:0;}
.adhd-footer-links .sub-menu{padding-left:16px;}
.adhd-footer-contact-title{
	font-family:'Poppins',sans-serif;
	font-size:14px;
	color:rgba(255,255,255,.75);
	line-height:1.7;
	margin-bottom:5px;
	font-weight:500;
}
.adhd-footer-contact-line{
	font-family:'Poppins',sans-serif;
	font-size:13px;
	color:rgba(255,255,255,.75);
	line-height:1.7;
	margin-bottom:5px;
	font-weight:300;
}
.adhd-footer-book-btn{
	background:#1c7bc5;
	color:#ffffff;
	font-family:'Poppins',sans-serif;
	font-weight:600;
	font-size:13px;
	padding:12px 22px;
	border-radius:4px;
	display:inline-flex;
	align-items:center;
	gap:8px;
}
.adhd-footer-bottom{border-top:1px solid rgba(255,255,255,.08);}
.adhd-footer-bottom-inner{padding:20px 40px;}
.adhd-footer-copyright{
	font-family:'Poppins',sans-serif;
	font-size:12px;
	color:rgba(255,255,255,.4);
	text-align:center;
	line-height:1.6;
	margin:0;
}

/* ============ CONTENT AREA (Gutenberg fills this in page.php/index.php) ============ */
.adhd-content{font-family:'Poppins',sans-serif;color:#0b1f3a;}
