/*
Theme Name: teacherpacloud-global
Text Domain: teacherpacloud-global
Description: Unified TeacherPaCloud theme with a site-wide accessible header, navigation, footer and colour system.
Version: 1.1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
*/

:root {
	--tpc-green:#087f5b;
	--tpc-green-dark:#075b43;
	--tpc-navy:#12332b;
	--tpc-gold:#f4b942;
	--tpc-text:#243b35;
	--tpc-muted:#526a63;
	--tpc-light:#f5faf8;
	--tpc-border:#dce9e4;
	--tpc-white:#ffffff;
	--tpc-shadow:0 10px 30px rgba(18,51,43,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--tpc-text);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--tpc-green)}
a:focus-visible,button:focus-visible{outline:3px solid var(--tpc-gold);outline-offset:3px}

/* GLOBAL HEADER */
.tpc-global-header{--tpc-green:#087f5b;--tpc-green-dark:#075b43;--tpc-navy:#12332b;--tpc-gold:#f4b942;--tpc-text:#243b35;--tpc-muted:#526a63;--tpc-light:#f5faf8;--tpc-border:#dce9e4;position:sticky;top:0;z-index:999;background:rgba(255,255,255,.97);border-bottom:1px solid var(--tpc-border);box-shadow:0 4px 18px rgba(18,51,43,.05);backdrop-filter:blur(10px)}
.tpc-global-header__inner{width:min(1180px,92%);min-height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.tpc-global-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none!important}
.tpc-global-brand img{display:block;width:auto;max-width:190px;height:52px;object-fit:contain}
.tpc-global-nav{margin-left:auto}
.tpc-global-menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.tpc-global-menu li{margin:0;padding:0}
.tpc-global-menu a{display:inline-flex;align-items:center;padding:11px 12px;color:var(--tpc-navy);font-size:14px;font-weight:700;text-decoration:none;border-radius:8px;transition:.2s ease}
.tpc-global-menu a:hover,.tpc-global-menu .current-menu-item>a,.tpc-global-menu .current_page_item>a{color:var(--tpc-green);background:var(--tpc-light)}
.tpc-global-menu li:last-child a{background:var(--tpc-green);color:#fff;padding:12px 18px;margin-left:8px;box-shadow:0 7px 18px rgba(8,127,91,.18)}
.tpc-global-menu li:last-child a:hover{background:var(--tpc-green-dark);color:#fff;transform:translateY(-1px)}
.tpc-global-toggle{display:none;border:0;background:transparent;padding:8px;cursor:pointer}
.tpc-global-toggle span{display:block;width:25px;height:2px;background:var(--tpc-navy);margin:5px 0;border-radius:3px}
.tpc-site-content{min-height:45vh}

/* ACCESSIBLE GLOBAL TYPOGRAPHY */
.tpc-site-content :where(h1,h2,h3,h4,h5,h6){color:var(--tpc-navy)}
.tpc-site-content :where(p,li){color:var(--tpc-text)}
.tpc-site-content :where(.elementor-widget-text-editor,.elementor-widget-text-editor p) a{color:var(--tpc-green)}

/* GLOBAL FOOTER */
.tpc-global-footer{--tpc-navy:#12332b;--tpc-gold:#f4b942;--tpc-border:#dce9e4;margin-top:70px;background:var(--tpc-navy);color:#fff}
.tpc-footer__inner{width:min(1180px,92%);margin:0 auto;padding:55px 0 40px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}
.tpc-footer__brand a{color:#fff;font-size:24px;font-weight:800;text-decoration:none}
.tpc-footer__brand p{max-width:440px;margin:12px 0 0;color:#d8e5e0;font-size:14px}
.tpc-footer__links{display:flex;flex-direction:column;gap:9px}
.tpc-footer__links strong{color:#fff;margin-bottom:6px}
.tpc-footer__links a{color:#d8e5e0;text-decoration:none;font-size:14px}
.tpc-footer__links a:hover{color:var(--tpc-gold)}
.tpc-footer__bottom{width:min(1180px,92%);margin:0 auto;padding:18px 0;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:20px;color:#b9cbc4;font-size:12px}

/* Prevent old theme/plugin presentation and legacy page shells from duplicating the new global shell. */
#masthead,.ast-header-break-point #masthead,.ast-header-break-point .site-header,.ast-desktop #masthead{display:none!important}
.tpc-page > .tpc-header,.tpc-page > .tpc-footer{display:none!important}

/* High-contrast corrections for dark sections across existing pages. */
.tpc-about-community h1,.tpc-about-community h2,.tpc-about-community h3,
.tpc-blog-topics h1,.tpc-blog-topics h2,.tpc-blog-topics h3,
.tpc-courses-topics h1,.tpc-courses-topics h2,.tpc-courses-topics h3,
.tpc-courses-journey h1,.tpc-courses-journey h2,.tpc-courses-journey h3{color:#fff!important}
.tpc-about-community p,.tpc-about-community span,
.tpc-blog-topics p,.tpc-blog-topics span,
.tpc-courses-topics p,.tpc-courses-topics span,
.tpc-courses-journey p,.tpc-courses-journey span{color:#f2f7f5!important}

/* Learning Journey cards: stronger contrast and readable text on the dark background. */
.tpc-courses-journey .tpc-journey-card{background:#fff!important;border-color:#dce9e4!important;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.tpc-courses-journey .tpc-journey-card h3{color:#12332b!important}
.tpc-courses-journey .tpc-journey-card p{color:#243b35!important}
.tpc-courses-journey .tpc-journey-number{color:#fff!important;background:#087f5b!important}

/* Legacy page-embedded shells: the global shell is the single source of truth. */
body.page-id-180 .tpc-page > header,
body.page-id-180 .tpc-page > footer,
body.page-id-180 .tpc-page header,
body.page-id-180 .tpc-page footer,
body.page-id-200 .tpc-resources-page > header,
body.page-id-200 .tpc-resources-page > footer,
body.page-id-200 .tpc-resources-page header,
body.page-id-200 .tpc-resources-page footer{display:none!important;visibility:hidden!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

/* Prevent blue/navy text from disappearing on dark green sections. */
.tpc-about-community a,.tpc-blog-topics a,.tpc-courses-topics a,.tpc-courses-journey a{color:#fff!important}
.tpc-about-community :where(.elementor-widget-text-editor,.elementor-widget-text-editor p) a,
.tpc-blog-topics :where(.elementor-widget-text-editor,.elementor-widget-text-editor p) a,
.tpc-courses-topics :where(.elementor-widget-text-editor,.elementor-widget-text-editor p) a,
.tpc-courses-journey :where(.elementor-widget-text-editor,.elementor-widget-text-editor p) a{color:#fff!important}


@media(max-width:980px){
	.tpc-global-header__inner{min-height:72px}
	.tpc-global-brand img{max-width:165px;height:46px}
	.tpc-global-toggle{display:block}
	.tpc-global-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--tpc-border);box-shadow:var(--tpc-shadow);padding:12px 4% 18px}
	.tpc-global-nav.is-open{display:block}
	.tpc-global-menu{display:flex;flex-direction:column;align-items:stretch;gap:3px}
	.tpc-global-menu a{display:flex;width:100%;padding:13px 14px}
	.tpc-global-menu li:last-child a{margin:5px 0 0;justify-content:center}
	.tpc-footer__inner{grid-template-columns:1.5fr 1fr 1fr}
}

@media(max-width:650px){
	.tpc-footer__inner{grid-template-columns:1fr;gap:28px;padding:42px 0 30px}
	.tpc-footer__bottom{flex-direction:column;gap:6px}
}
