/*
Theme Name: SMC Modern Child
Description: Shared SMC header, footer and warm blue palette. Page bodies remain editable in Elementor Free. Requires the existing MeisnerCenter parent theme.
Author: The Sanford Meisner Center
Template: MeisnerCenter
Version: 1.0.2
Text Domain: smc-modern-child
*/
:root{--smc-background:#EEEAE6;--smc-navy:#243E63;--smc-text:#303B48;--smc-link:#304F78;--smc-gold:#F0D27E;--smc-rule:#c4b79f}
body{background:var(--smc-background);color:var(--smc-text)}
#page.site{background:var(--smc-background);max-width:none;border:0}
a,a:visited{color:var(--smc-link)}
a:hover{text-decoration:underline;text-underline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--smc-link);outline-offset:4px}
h1,h2,h3,h4,h5,h6{color:var(--smc-navy)}
#main{max-width:1224px;margin:0 auto;padding:22px 32px 40px}
/* Keep legacy page structures. Elementor chooses its own body layout. */
.entry-content,.entry-header,.entry-summary,.entry-meta{max-width:1160px}
.entry-content,.entry-summary{line-height:1.6}
.entry-content h1{font-family:Georgia,serif;font-weight:400;font-size:36px}
.entry-content h2{font-family:Georgia,serif;font-weight:400;font-size:24px}
.entry-content a{color:var(--smc-link)}
.smc-site-header{max-width:1224px;margin:auto;padding:28px 32px 0}
.smc-header-row{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--smc-rule);padding-bottom:14px}
.smc-school-name,.smc-school-name:visited{flex:0 1 62%;font:600 38px/1.12 Arial,sans-serif;letter-spacing:-.025em;color:var(--smc-navy);text-decoration:none}
.smc-school-name:hover{text-decoration:none}
.smc-header-tagline{margin:0;padding:14px 0 18px;font:17px/1.5 Georgia,serif;color:var(--smc-text)}
.smc-navigation{flex:1;min-width:0}
.smc-menu{list-style:none;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px 25px;margin:0;padding:0}
.smc-menu li{position:relative;list-style:none;margin:0;padding:0}
.smc-menu a{display:block;font:14px/1.5 Arial,sans-serif;text-decoration:none;color:var(--smc-link)}
.smc-menu a:hover,.smc-menu .current-menu-item>a,.smc-menu .current_page_item>a{text-decoration:underline;text-decoration-color:#af925f;text-underline-offset:6px}
.smc-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--smc-background);padding:14px;box-shadow:0 3px 12px #0002;margin:0;z-index:1000}
.smc-menu .sub-menu li+li{margin-top:12px}
.smc-menu .sub-menu .sub-menu{left:100%;top:0}
.smc-menu li:hover>.sub-menu,.smc-menu li:focus-within>.sub-menu{display:block}
.smc-menu-toggle{display:none}
.smc-site-footer{background:var(--smc-navy);color:#DEE5EF;clear:both}
.smc-footer-inner{max-width:1224px;margin:auto;padding:16px 32px 12px}
.smc-footer-row{display:flex;justify-content:space-between;gap:24px;padding-bottom:8px}
.smc-site-footer p{margin:0 0 4px}
.smc-site-footer .smc-footer-name{font:400 29px/1.25 Georgia,serif;color:#fff}
.smc-footer-identity{font:14px/1.6 Arial,sans-serif}
.smc-footer-contact{text-align:right;font:16px/1.6 Arial,sans-serif;overflow-wrap:anywhere}
.smc-site-footer a,.smc-site-footer a:visited{color:#fff}
.smc-site-footer a:focus-visible{outline-color:var(--smc-gold)}
.smc-social{display:flex;justify-content:flex-end;gap:14px;margin-top:2px}
.smc-social a,.smc-social a:visited{display:inline-flex;align-items:center;justify-content:center;width:40px;height:30px;color:var(--smc-gold)}
.smc-social a:hover{color:#fff}
.smc-social svg{width:23px;height:23px;fill:currentColor}
.smc-footer-legal{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--smc-gold);padding-top:10px;font:13px/1.7 Arial,sans-serif}
.smc-footer-legal p{margin:0}
.smc-footer-legal a,.smc-footer-legal a:visited,.smc-privacy{color:var(--smc-gold)}
.smc-privacy{margin-left:12px}
.homepage_updates{background:var(--smc-navy);color:var(--smc-gold)}
.homepage_updates #courses{border-color:var(--smc-gold)}
.homepage_updates :is(h1,h2,h3,h4,h5,a){color:var(--smc-gold)!important}
.bottom_links #intensive_classes{border-color:var(--smc-gold)}
@media(max-width:1024px){
.smc-header-row{flex-wrap:wrap}.smc-school-name{flex-basis:100%}.smc-navigation{flex-basis:100%}.smc-menu{justify-content:flex-start}
}
@media(max-width:767px){
#main{padding:22px 20px 32px}.smc-site-header{padding:24px 20px 0}.smc-school-name{font-size:28px}.smc-header-tagline{font-size:16px}
.smc-header-row{gap:16px}.smc-menu{gap:15px 22px}.smc-menu .sub-menu,.smc-menu .sub-menu .sub-menu{position:static;display:block;box-shadow:none;padding:10px 0 0 14px;min-width:0}
.smc-enhanced .smc-menu-toggle{display:inline-block;background:transparent;border:1px solid var(--smc-rule);color:var(--smc-navy);padding:8px 14px;border-radius:2px}
.smc-enhanced .smc-menu{display:none;margin-top:16px}.smc-enhanced.smc-menu-open .smc-menu{display:flex}
.smc-footer-inner{padding:16px 20px 12px}.smc-footer-row{flex-direction:column;gap:18px}.smc-footer-contact{text-align:left}.smc-social{justify-content:flex-start}.smc-footer-name{font-size:26px}.smc-footer-legal{flex-direction:column;align-items:flex-start;gap:8px}
.entry-content h1{font-size:30px}
}

/* 1.0.1: phone text flow and independently collapsible submenus. */
.smc-submenu-toggle{display:none}
@media(max-width:767px){
.smc-history-wrap img.alignleft,.smc-history-wrap img.alignright{
 float:none!important;display:block;margin:0 auto 20px!important;max-width:100%;height:auto;
}
.smc-navigation.smc-enhanced>.smc-menu{display:none}
.smc-navigation.smc-enhanced.smc-menu-open>.smc-menu{display:block}
.smc-navigation.smc-enhanced .smc-menu>li{margin:0;padding:6px 0}
.smc-navigation.smc-enhanced .smc-menu li>a{display:inline-block;padding:8px 0}
.smc-navigation.smc-enhanced .smc-menu li>.sub-menu{display:none}
.smc-navigation.smc-enhanced .smc-menu li.smc-submenu-open>.sub-menu{display:block}
.smc-navigation.smc-enhanced .smc-submenu-toggle{
 display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;
 width:44px;height:44px;margin-left:12px;padding:0;background:transparent;
 border:1px solid var(--smc-rule);border-radius:2px;color:var(--smc-navy);font-size:22px;
}
}
