/*
Theme Name: Centennial Eagles PTC
Theme URI: https://centennialptc.com/
Author: Centennial PTC
Description: Warm, parent-friendly theme for the Parents & Teachers of Centennial School. "Playground Blocks" design with the Eagles mascot woven throughout. Built for modern WordPress (5.x / 6.x).
Version: 1.1.0
Requires at least: 5.5
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: centennial-eagles
*/

*{box-sizing:border-box;}
body{margin:0;background:#EAF1FF;font-family:'Nunito',sans-serif;color:#1c2230;}
a{text-decoration:none;color:inherit;}
a:hover{opacity:.88;}
.ce-container{max-width:1180px;margin:0 auto;padding:0 20px;}
.navlink:hover{color:#2563C9;opacity:1;}

/* Header */
.ce-header{display:flex;align-items:center;justify-content:space-between;padding:18px 4px;}
.ce-brand{display:flex;align-items:center;gap:14px;}
.ce-brand-name{font-family:'Fredoka',sans-serif;font-weight:700;font-size:20px;color:#2563C9;}
.ce-brand-tag{font-size:12px;color:#5a6474;font-weight:600;letter-spacing:.02em;}
.ce-nav{display:flex;gap:22px;align-items:center;font-weight:700;font-size:15px;color:#39414f;}
.ce-nav .ce-donate{background:#FFC93C;color:#1c2230;padding:11px 22px;border-radius:12px;box-shadow:0 4px 12px rgba(255,201,60,.4);}
.ce-nav ul{list-style:none;display:flex;gap:22px;align-items:center;margin:0;padding:0;}
.ce-nav .current-menu-item > a{color:#2563C9;}

/* Sub-menus (e.g. Bylaws under About) — desktop hover drop-down */
.ce-nav-menu li{position:relative;}
.ce-nav-menu ul.sub-menu{display:none;position:absolute;top:100%;left:0;flex-direction:column;gap:0;min-width:190px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 12px 30px rgba(20,40,80,.15);z-index:50;}
.ce-nav-menu li:hover > ul.sub-menu,
.ce-nav-menu li:focus-within > ul.sub-menu{display:flex;}
.ce-nav-menu ul.sub-menu li a{display:block;padding:9px 14px;border-radius:9px;white-space:nowrap;}
.ce-nav-menu ul.sub-menu li a:hover{background:#EAF1FF;color:#2563C9;}
.ce-nav-menu .menu-item-has-children > a::after{content:" ▾";font-size:11px;opacity:.7;}
/* Third level and deeper — fly out to the side instead of stacking below */
.ce-nav-menu ul.sub-menu ul.sub-menu{top:-8px;left:100%;}
.ce-nav-menu ul.sub-menu .menu-item-has-children > a::after{content:" ▸";}

/* Mobile nav toggle (hidden on desktop) */
.ce-nav-toggle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.ce-nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;cursor:pointer;border-radius:10px;}
.ce-nav-burger span{display:block;width:24px;height:3px;margin:0 auto;background:#2563C9;border-radius:3px;transition:transform .2s,opacity .2s;}
.ce-nav-toggle:focus-visible ~ .ce-nav-burger{outline:2px solid #2563C9;outline-offset:2px;}

/* Footer */
.ce-footer{margin:26px 0;background:#1c2230;color:#aeb6c6;border-radius:24px;padding:40px 44px;}
.ce-footer a{color:#aeb6c6;}
.ce-footer-cols{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.ce-footer-col-title{color:#fff;font-weight:800;margin-bottom:10px;font-size:14px;}
.ce-footer-links{display:flex;flex-direction:column;gap:8px;font-size:14px;}
.ce-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:28px;padding-top:18px;font-size:13px;}

/* ------- Responsive ------- */
@media (max-width:820px){
  .ce-header{flex-wrap:wrap;gap:12px;position:relative;}
  .ce-nav{gap:14px;margin-left:auto;}

  /* Show the hamburger; collapse the links into a full-width drop-down panel */
  .ce-nav-burger{display:flex;}
  .ce-nav-menu{display:none;position:absolute;top:100%;left:0;right:0;margin-top:8px;z-index:60;}
  .ce-nav-toggle:checked ~ .ce-nav-menu{display:block;}
  .ce-nav-menu ul{flex-direction:column;gap:0;width:100%;background:#fff;border-radius:16px;padding:6px;box-shadow:0 10px 26px rgba(20,40,80,.14);}
  .ce-nav-menu ul li{width:100%;}
  .ce-nav-menu ul li a{display:block;padding:13px 16px;border-radius:10px;}
  .ce-nav-menu ul li a:hover{background:#EAF1FF;}
  /* Nested items render inline (static) and indented, not as a flyout */
  .ce-nav-menu ul.sub-menu{display:flex;position:static;box-shadow:none;padding:0 0 0 14px;min-width:0;border-radius:0;}
  .ce-nav-menu ul.sub-menu li a{padding:10px 16px;font-weight:600;opacity:.9;}
  /* animate burger into an X when open */
  .ce-nav-toggle:checked ~ .ce-nav-burger span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .ce-nav-toggle:checked ~ .ce-nav-burger span:nth-child(2){opacity:0;}
  .ce-nav-toggle:checked ~ .ce-nav-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

  /* Collapse the inline layout grids */
  .ce-cards{grid-template-columns:repeat(2,1fr) !important;}
  .ce-grid{grid-template-columns:1fr !important;}

  /* Tame oversized hero panels */
  .ce-hero{padding:36px 26px !important;}
  .ce-hero h1{font-size:34px !important;overflow-wrap:break-word;}
  .ce-hero p{font-size:16px !important;}
}

@media (max-width:520px){
  .ce-cards{grid-template-columns:1fr !important;}
  .ce-hero{padding:30px 22px !important;}
  .ce-hero h1{font-size:29px !important;}
}
