/*
Theme Name: Popote Dawa Caregiving Training
Theme URI: https://popotedawa.com
Author: Popote Dawa
Description: Modern, animated WordPress theme for Caregiving Training by Popote Dawa. Deep Blue brand palette (#0A66C2), physical training in Nairobi, enrollment lead capture and job connection to the Popote Dawa Care Team.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: popote-caregiving
Tags: education, business, one-column, custom-menu, featured-images, translation-ready
*/

/* Compiled styles live in assets/css/theme.css and are enqueued from functions.php. */

/* ==========================================================================
   Deep Blue brand layer (v1.1)
   Primary #0A66C2 · Navy #0F172A · Light Blue #38BDF8 · Gray #F8FAFC / #475569
   Loaded after assets/css/theme.css so it refines the compiled utilities.
   ========================================================================== */

:root{
	--pdc-blue:#0A66C2;
	--pdc-blue-dark:#08529B;
	--pdc-navy:#0F172A;
	--pdc-sky:#38BDF8;
	--pdc-gray:#F8FAFC;
	--pdc-text:#475569;
	--pdc-line:#E2E8F0;
	--pdc-ease:cubic-bezier(.2,.8,.2,1);
}

body{color:var(--pdc-navy)}
p,li{color:inherit}
.text-muted-foreground{color:var(--pdc-text)}
::selection{background:var(--pdc-blue);color:#fff}
a{transition:color .25s var(--pdc-ease)}

/* ---------- Typography rhythm ---------- */
h1,h2,h3,h4{color:var(--pdc-navy);font-weight:700;line-height:1.15}
h1{letter-spacing:-.03em}
.text-primary-foreground h1,.text-primary-foreground h2,.text-primary-foreground h3,.text-primary-foreground h4,
.bg-\[image\:var\(--gradient-deep\)\] h1,.bg-\[image\:var\(--gradient-deep\)\] h2,
.bg-\[image\:var\(--gradient-deep\)\] h3,footer h1,footer h2,footer h3,footer h4{color:#fff}
.pdc-prose{color:var(--pdc-text)}
.pdc-prose a{color:var(--pdc-blue);text-decoration-color:rgb(10 102 194/.35);text-underline-offset:3px}
.pdc-prose a:hover{color:var(--pdc-blue-dark);text-decoration-color:currentColor}

/* ---------- Header & navigation ---------- */
header.surface-glass{
	background:rgb(255 255 255/.88);
	border-bottom:1px solid var(--pdc-line);
	box-shadow:0 1px 0 rgb(10 102 194/.08),0 10px 30px -28px rgb(15 23 42/.4);
}
header.surface-glass::before{
	content:"";display:block;height:3px;
	background:linear-gradient(90deg,var(--pdc-navy),var(--pdc-blue) 45%,var(--pdc-sky));
}
header.surface-glass>div{min-height:72px}
header .flex.items-center.gap-3 .custom-logo{max-height:48px;width:auto}
header .custom-logo-link{display:inline-block;padding:.25rem .5rem .25rem 0}

.pdc-menu{display:flex;align-items:center;gap:.15rem}
.pdc-menu li{position:relative}
.pdc-menu a{position:relative;color:var(--pdc-navy);white-space:nowrap}
.pdc-menu>li>a::after{
	content:"";position:absolute;left:50%;right:50%;bottom:.3rem;height:2px;border-radius:2px;
	background:linear-gradient(90deg,var(--pdc-blue),var(--pdc-sky));
	transition:left .3s var(--pdc-ease),right .3s var(--pdc-ease);
}
.pdc-menu>li>a:hover::after,
.pdc-menu>li.current-menu-item>a::after,
.pdc-menu>li.current-menu-ancestor>a::after{left:.95rem;right:.95rem}
.pdc-menu a:hover,
.pdc-menu .current-menu-item>a,
.pdc-menu .current-menu-ancestor>a{color:var(--pdc-blue);background:rgb(10 102 194/.07)}

/* Dropdown / mega menu */
.pdc-menu .sub-menu{
	position:absolute;top:calc(100% + .6rem);left:0;z-index:60;min-width:15rem;
	display:grid;gap:.15rem;margin:0;padding:.5rem;list-style:none;
	background:#fff;border:1px solid var(--pdc-line);border-top:3px solid var(--pdc-blue);
	border-radius:1rem;box-shadow:0 28px 60px -30px rgb(15 23 42/.45);
	opacity:0;visibility:hidden;transform:translateY(8px);
	transition:opacity .25s var(--pdc-ease),transform .25s var(--pdc-ease),visibility .25s;
}
.pdc-menu li:hover>.sub-menu,
.pdc-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.pdc-menu .sub-menu li{width:100%}
.pdc-menu .sub-menu a{border-radius:.65rem;padding:.6rem .8rem;font-weight:500;white-space:normal}
.pdc-menu .sub-menu a:hover{background:rgb(10 102 194/.08);color:var(--pdc-blue)}
.pdc-menu .menu-item-has-children>a{padding-right:1.6rem}
.pdc-menu>li.menu-item-has-children>a::before{
	content:"";position:absolute;right:.75rem;top:50%;width:6px;height:6px;
	border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:translateY(-70%) rotate(45deg);transition:transform .3s var(--pdc-ease);
}
.pdc-menu>li.menu-item-has-children:hover>a::before{transform:translateY(-30%) rotate(225deg)}

/* Mobile navigation */
#pdc-mobile-nav{background:#fff;border-top:1px solid var(--pdc-line);box-shadow:0 24px 40px -30px rgb(15 23 42/.5);max-height:calc(100dvh - 76px);overflow-y:auto}
.pdc-menu-mobile{display:block}
.pdc-menu-mobile a{border-radius:.85rem;padding:.8rem 1rem;font-size:.95rem}
.pdc-menu-mobile .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid rgb(10 102 194/.25);border-radius:0;margin:.15rem 0 .35rem .85rem;padding:0}
[data-pdc-nav-toggle]{border-color:rgb(10 102 194/.3);color:var(--pdc-blue);transition:background-color .25s,border-color .25s}
[data-pdc-nav-toggle]:hover{background:rgb(10 102 194/.08)}
.pdc-burger,.pdc-burger:before,.pdc-burger:after{background:var(--pdc-blue)}
[data-pdc-nav-toggle].is-open .pdc-burger{background:transparent}

/* ---------- Buttons & CTAs ---------- */
.pdc-btn{
	background-image:none;background-color:var(--pdc-blue);color:#fff;
	border-radius:.85rem;padding:.9rem 1.6rem;letter-spacing:.01em;
	box-shadow:0 10px 24px -14px rgb(10 102 194/.9);
	transition:transform .3s var(--pdc-ease),background-color .3s,box-shadow .3s;
}
.pdc-btn:hover{background-color:var(--pdc-blue-dark);transform:translateY(-2px);box-shadow:0 16px 32px -14px rgb(10 102 194/.85)}
.pdc-btn:active{transform:translateY(0)}
.pdc-btn:focus-visible,.pdc-btn-ghost:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid rgb(56 189 248/.55);outline-offset:2px;border-radius:.85rem}
.pdc-btn-ghost{
	border-radius:.85rem;padding:.9rem 1.6rem;color:var(--pdc-blue);
	border:1.5px solid rgb(10 102 194/.35);background:#fff;
	transition:transform .3s var(--pdc-ease),background-color .3s,border-color .3s,color .3s;
}
.pdc-btn-ghost:hover{background:rgb(10 102 194/.06);border-color:var(--pdc-blue);color:var(--pdc-blue-dark);transform:translateY(-2px)}

/* CTA band buttons (white on deep blue) */
.bg-\[image\:var\(--gradient-deep\)\] a[href^="tel"]:hover{background:rgb(255 255 255/.12)}

/* ---------- Cards & sections ---------- */
.card-lift{border-color:var(--pdc-line);background:#fff}
.card-lift:hover{border-color:rgb(10 102 194/.45);box-shadow:0 28px 60px -32px rgb(10 102 194/.45);transform:translateY(-8px)}
.card-lift img{transition:transform .7s var(--pdc-ease)}
.card-lift:hover img{transform:scale(1.06)}
.text-primary{color:var(--pdc-blue)}
.bg-secondary{background:#EFF6FF}
.text-secondary-foreground{color:var(--pdc-blue)}

/* ---------- Forms ---------- */
.pdc-label{color:var(--pdc-navy);font-size:.75rem;letter-spacing:.05em}
input:not([type=submit]):not([type=button]),select,textarea{
	background:#fff;border:1.5px solid var(--pdc-line);border-radius:.85rem;color:var(--pdc-navy);
	transition:border-color .25s,box-shadow .25s,background-color .25s;
}
input::placeholder,textarea::placeholder{color:#94A3B8}
input:focus,select:focus,textarea:focus{
	outline:none;border-color:var(--pdc-blue);background:#fff;
	box-shadow:0 0 0 4px rgb(10 102 194/.12);
}
input:hover,select:hover,textarea:hover{border-color:rgb(10 102 194/.4)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--pdc-blue) 50%),linear-gradient(135deg,var(--pdc-blue) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.75rem}
form button[type=submit]:not(.pdc-btn){background:var(--pdc-blue);color:#fff;border-radius:.85rem;padding:.85rem 1.5rem;font-weight:600;transition:background-color .3s,transform .3s}
form button[type=submit]:not(.pdc-btn):hover{background:var(--pdc-blue-dark);transform:translateY(-2px)}

/* ---------- Footer ---------- */
footer{background:linear-gradient(160deg,var(--pdc-navy) 0%,#0B2E56 55%,#0A4E93 100%)!important;color:#fff;border-top:0;position:relative}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--pdc-blue),var(--pdc-sky))}
footer h2{color:#fff}
footer a{color:rgb(255 255 255/.82)}
footer a:hover{color:var(--pdc-sky)}
footer .pdc-footer-menu a:hover{color:var(--pdc-sky)}
footer .bg-white\/10,footer .bg-white\/15{background:rgb(56 189 248/.16)}
footer .bg-white\/10:hover{background:var(--pdc-blue);color:#fff}

/* ---------- Animations ---------- */
@media (prefers-reduced-motion:no-preference){
	.reveal{transition-duration:.7s}
	.card-lift,.pdc-btn,.pdc-btn-ghost{will-change:transform}
	@keyframes pdc-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
	.float-soft{animation:pdc-float 7s ease-in-out infinite}
	@keyframes pdc-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
	header.surface-glass{animation:pdc-fade-up .5s var(--pdc-ease) both}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
	.reveal{opacity:1;transform:none}
}

/* ---------- Responsive fixes ---------- */
@media (max-width:1200px){.pdc-menu a{padding:.5rem .7rem;font-size:.83rem}}
@media (max-width:1023px){
	header.surface-glass>div{min-height:64px;padding-top:.65rem;padding-bottom:.65rem}
	header .flex.items-center.gap-3 .custom-logo{max-height:40px}
}
@media (max-width:640px){
	h1{font-size:clamp(1.9rem,7.5vw,2.6rem)}
	h2{font-size:clamp(1.5rem,6vw,2rem)}
	.pdc-btn,.pdc-btn-ghost{width:100%;padding:.85rem 1.25rem}
	header .pdc-btn{width:auto}
	.pdc-menu .sub-menu{min-width:0}
	footer{text-align:left}
}
img{max-width:100%;height:auto}
