/*
Theme Name: Schooli Theme
Description: Sleek purple/white theme built for the Schooli plugin. Sticky header, animated hamburger drawer, hide-page-title option, custom page templates, and clean typography.
Version: 2.1.1
Author: School Hub
License: GPL-2.0+
Text Domain: schooli-theme
*/
:root{
  --st-primary:#6d28d9;
  --st-primary-2:#8b5cf6;
  --st-grad:linear-gradient(135deg,#6d28d9,#8b5cf6 60%,#a78bfa);
  --st-bg:#ffffff;
  --st-card:#ffffff;
  --st-text:#1f1147;
  --st-muted:#6b7280;
  --st-border:#ece9f4;
  --st-shadow:0 10px 30px -12px rgba(109,40,217,.18);
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,sans-serif;color:var(--st-text);background:var(--st-bg);line-height:1.55}
a{color:var(--st-primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}

/* Sticky header */
.st-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--st-border)}
.st-header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(14px,3vw,28px)}
.st-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--st-primary);text-decoration:none}
.st-brand-mark{width:34px;height:34px;border-radius:10px;background:var(--st-grad);display:grid;place-items:center;color:#fff;box-shadow:var(--st-shadow);font-weight:800}
.st-nav{display:flex;align-items:center;gap:6px}
.st-nav a{padding:8px 12px;border-radius:10px;color:var(--st-text);font-weight:600;font-size:14px}
.st-nav a:hover{background:rgba(139,92,246,.1);text-decoration:none;color:var(--st-primary)}
.st-nav .current-menu-item>a,.st-nav .current_page_item>a{background:var(--st-grad);color:#fff}
.st-cta{padding:9px 16px;border-radius:999px;background:var(--st-grad);color:#fff !important;font-weight:700;box-shadow:var(--st-shadow)}
.st-cta:hover{text-decoration:none;transform:translateY(-1px)}

.st-burger{display:none;background:transparent;border:0;cursor:pointer;padding:8px;border-radius:10px}
.st-burger span{display:block;width:22px;height:2px;background:var(--st-primary);margin:5px 0;border-radius:2px;transition:.25s}
.st-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.st-burger.open span:nth-child(2){opacity:0}
.st-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Drawer */
.st-drawer{position:fixed;inset:0;background:rgba(20,12,40,.5);z-index:300;opacity:0;pointer-events:none;transition:.2s;backdrop-filter:blur(4px)}
.st-drawer.open{opacity:1;pointer-events:auto}
.st-drawer-card{position:absolute;top:0;right:0;width:min(86vw,340px);height:100vh;background:var(--st-card);padding:24px;overflow-y:auto;transform:translateX(100%);transition:transform .25s ease;box-shadow:-10px 0 30px rgba(0,0,0,.15)}
.st-drawer.open .st-drawer-card{transform:translateX(0)}
.st-drawer-card .st-brand{margin-bottom:18px;font-size:20px}
.st-drawer-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.st-drawer-card li a{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;color:var(--st-text);font-weight:600;background:rgba(139,92,246,.04)}
.st-drawer-card li a:hover{background:var(--st-grad);color:#fff;text-decoration:none}

/* Content */
.st-content{max-width:980px;margin:0 auto;padding:36px clamp(14px,3vw,28px) 60px}
.st-content h1,.st-content h2,.st-content h3{font-weight:800;color:var(--st-text);line-height:1.2}
.st-content h1{font-size:clamp(28px,4vw,40px);margin:0 0 18px;background:var(--st-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.st-content blockquote{border-left:4px solid var(--st-primary);background:#faf8ff;padding:14px 18px;border-radius:10px;margin:18px 0;color:var(--st-muted)}
.st-content .wp-block-button__link{background:var(--st-grad)!important;color:#fff!important;border-radius:999px!important;padding:10px 22px!important;box-shadow:var(--st-shadow)}
.st-content figure img{border-radius:14px;box-shadow:var(--st-shadow)}

/* Page templates */
.st-template-landing .st-content{max-width:1200px}
.st-template-landing .st-hero{background:var(--st-grad);color:#fff;border-radius:24px;padding:48px clamp(20px,4vw,60px);margin-bottom:36px;box-shadow:var(--st-shadow)}
.st-template-landing .st-hero h1{color:#fff;background:none;-webkit-background-clip:initial;background-clip:initial}
.st-template-landing .st-hero p{font-size:18px;opacity:.95}
.st-template-fullwidth .st-content{max-width:100%;padding:0}
.st-template-fullwidth .st-content > *{max-width:980px;margin-left:auto;margin-right:auto;padding-left:clamp(14px,3vw,28px);padding-right:clamp(14px,3vw,28px)}
.st-template-sidebar{display:grid;grid-template-columns:1fr 280px;gap:24px;max-width:1200px;margin:0 auto;padding:36px clamp(14px,3vw,28px)}
.st-template-sidebar .st-sidebar{background:#faf8ff;border:1px solid var(--st-border);border-radius:18px;padding:18px;position:sticky;top:90px;align-self:start}
@media (max-width:900px){.st-template-sidebar{grid-template-columns:1fr}}

/* Post card layout (post template) */
.st-post-card{background:var(--st-card);border:1px solid var(--st-border);border-radius:20px;padding:clamp(20px,3vw,32px);box-shadow:var(--st-shadow);margin-bottom:32px}
.st-post-meta{display:flex;gap:10px;color:var(--st-muted);font-size:13px;margin-bottom:14px;flex-wrap:wrap}
.st-post-meta span:before{content:"·";margin-right:10px;color:var(--st-primary)}
.st-post-meta span:first-child:before{display:none}

/* Hide page title option */
.st-hide-title .entry-title,.st-hide-title h1.post-title,.st-hide-title .wp-block-post-title{display:none !important}

/* Post thumbnail */
.st-post-thumb{border-radius:14px;margin-bottom:18px}
.st-sidebar-heading{margin-top:0}
.st-sidebar-list{list-style:none;padding:0;margin:0}
.st-sidebar-item{padding:8px 0;border-bottom:1px solid var(--st-border)}
.st-drawer-cta{margin-top:14px;display:inline-block}

/* Footer */
.st-footer{background:#1a1230;color:#cbb9ff;padding:32px 0;margin-top:40px}
.st-footer-inner{max-width:1200px;margin:0 auto;padding:0 clamp(14px,3vw,28px);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:14px}
.st-footer a{color:#e0d5ff}

/* Mobile header */
@media (max-width:820px){
  .st-nav{display:none}
  .st-burger{display:block}
}
