/*
Theme Name: CGC Academy GeneratePress
Template: generatepress
Version: 1.0.0
Description: Academy presentation for the GeneratePress migration.
*/
.cgc-grade-page .site-content { display: block; }
.cgc-grade-page #primary { width: 100%; }
.cgc-grade-page .inside-article { padding: 32px 40px 64px; }
.cgc-grade-page .entry-header { display: none; }
.cgc-grade-page .entry-content { margin-top: 0; }
.cgc-grade-hub { --cgc-ink:#163a43; --cgc-blue:#157c94; color:#34464c; font-size:17px; line-height:1.7; }
.cgc-grade-hub a { color:var(--cgc-blue); text-underline-offset:4px; }
.cgc-grade-hub a:focus-visible,.cgc-grade-hub summary:focus-visible { outline:3px solid #1f9ab6; outline-offset:4px; }
.cgc-grade-hub h1,.cgc-grade-hub h2,.cgc-grade-hub h3 { color:var(--cgc-ink); line-height:1.25; }
.cgc-grade-hub h1 { font-family:Georgia,serif; font-size:clamp(42px,6vw,68px); margin:0 0 24px; font-weight:400; }
.cgc-grade-hub h2 { font-size:30px; margin:0 0 16px; }
.cgc-grade-hub h3 { font-size:22px; margin:0 0 16px; }
.cgc-grade-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.cgc-grade-nav a { border:1px solid #dce5e7; border-radius:6px; padding:8px 15px; text-decoration:none; font-size:14px; font-weight:600; }
.cgc-grade-nav a[aria-current],.cgc-grade-nav a:hover { background:var(--cgc-ink); border-color:var(--cgc-ink); color:white; }
.cgc-hero { background:#eef6f7; padding:40px 44px; border-left:5px solid #1f9ab6; border-radius:0 12px 12px 0; }
.cgc-eyebrow { font-size:12px; font-weight:700; letter-spacing:2px; margin-bottom:16px; color:#456971; }
.cgc-intro { max-width:850px; }
.cgc-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; margin-top:28px; }
.cgc-grade-hub .cgc-button { display:inline-block; background:var(--cgc-blue); color:#fff; padding:12px 20px; border-radius:5px; font-size:15px; font-weight:600; text-decoration:none; }
.cgc-grade-hub .cgc-button:hover { background:var(--cgc-ink); }
.cgc-jump-nav { display:flex; gap:24px; flex-wrap:wrap; padding:24px 0; border-bottom:1px solid #dce5e7; margin-bottom:24px; font-size:15px; font-weight:600; }
.cgc-welcome { padding:16px 20px; background:#f5f7f7; border-radius:6px; margin:24px 0; }
.cgc-grade-hub summary { cursor:pointer; color:var(--cgc-ink); font-weight:600; padding:4px; }
.cgc-grade-hub details[open] summary { margin-bottom:18px; }
.cgc-section { margin-top:56px; scroll-margin-top:24px; }
.cgc-section-intro { max-width:760px; color:#5b6c71; margin-bottom:24px; }
.cgc-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.cgc-card-grid:has(> :last-child:nth-child(2)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cgc-course-card { border:1px solid #dce5e7; border-radius:10px; overflow:hidden; background:white; display:flex; flex-direction:column; }
.cgc-course-card > img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.cgc-card-body { padding:24px; flex:1; display:flex; flex-direction:column; }
.cgc-card-body p { font-size:15px; margin-bottom:18px; }
.cgc-card-body b,.cgc-card-body strong { display:block; color:#34464c; margin-bottom:8px; }
.cgc-card-link { margin-top:auto; padding-top:16px; font-size:15px; font-weight:600; }
.cgc-repertoire { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.cgc-repertoire .cgc-column { background:#f6f8f8; border-radius:10px; padding:28px; }
.cgc-grade-hub ul,.cgc-grade-hub ol { margin-left:24px; }
.cgc-grade-hub li { margin-bottom:10px; }
.cgc-assessment,.cgc-print { display:grid; grid-template-columns:180px minmax(0,1fr); gap:36px; padding:32px; background:#eef6f7; border-radius:10px; }
.cgc-assessment img,.cgc-print img { width:100%; height:auto; }
.cgc-assessment h2 { font-size:22px; }
.cgc-checklist { padding:0; }
.cgc-assessment .cgc-button,.cgc-print .cgc-button { margin-top:16px; }
#faq .cgc-column { margin-top:28px; }
.cgc-faq details { border-bottom:1px solid #dce5e7; padding:18px 0; }
.cgc-answer { max-width:880px; padding:0 24px; }
.cgc-print { background:#f7f7f4; }
@media(max-width:900px) { .cgc-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .cgc-grade-page .inside-article { padding:24px 20px 40px; }
 .cgc-hero { padding:28px 24px; }
 .cgc-grade-nav { gap:6px; }.cgc-grade-nav a { padding:7px 11px; }
 .cgc-card-grid,.cgc-card-grid:has(> :last-child:nth-child(2)),.cgc-repertoire,.cgc-assessment,.cgc-print { grid-template-columns:1fr; }
 .cgc-assessment,.cgc-print { padding:24px; gap:24px; }
 .cgc-assessment img,.cgc-print img { max-width:140px; }
 .cgc-section { margin-top:40px; }.cgc-grade-hub h2 { font-size:26px; }
 .cgc-jump-nav { gap:12px 20px; }.cgc-answer { padding:0 4px; }
}

/* Screenshot-matched footer: brand plus four native link columns. */
.site-footer { background:#0d2537; color:#91a7b6; margin-top:48px; display:grid; grid-template-columns:minmax(32px,1fr) minmax(240px,300px) 40px minmax(0,960px) minmax(32px,1fr); }
.cgc-reference-brand { grid-column:2; padding:56px 0 64px; }
.site-footer .cgc-reference-wordmark { display:block; position:relative; top:-2px; color:#f4f7fa; text-transform:uppercase; letter-spacing:1.5px; font-size:19px; line-height:1.5; font-weight:750; text-decoration:none; }
.cgc-reference-wordmark span { display:block; color:#35b2d2; font-size:13px; letter-spacing:3px; margin-top:3px; }
.cgc-reference-brand > p { max-width:305px; font-size:16px; line-height:1.55; margin:18px 0 22px; }
.cgc-footer-socials { display:flex; gap:24px; }
.site-footer .cgc-footer-socials a { width:38px; height:38px; border-radius:50%; display:flex; justify-content:center; align-items:center; background:#16364d; color:#b5cfdf; }
.cgc-footer-socials svg { width:20px; height:20px; }
.site-footer .footer-widgets { grid-column:4; background:transparent; color:inherit; }
.site-footer .footer-widgets-container { padding:56px 0 64px; max-width:none; }
.site-footer .inside-footer-widgets { display:grid; grid-template-columns:repeat(4,minmax(max-content,1fr)); gap:32px; margin:0; }
.site-footer .inside-footer-widgets > div { width:auto; min-width:0; float:none; padding:0; flex:initial; }
.site-footer .inside-footer-widgets:before,.site-footer .inside-footer-widgets:after { display:none; }
.site-footer .widget { padding:0; margin:0; }
.site-footer .widget-title { color:#f4f7fa; font-size:14px; letter-spacing:1.3px; text-transform:uppercase; font-weight:750; line-height:1.5; margin:0 0 18px; }
.site-footer .widget ul { list-style:none; margin:0; padding:0; }
.site-footer .widget li { margin:0 0 12px; font-size:17px; line-height:1.5; }
.site-footer a,.site-footer a:visited { color:#9bb0bd; text-decoration:none; }
.site-footer a:hover { color:#fff; }.site-footer a:focus-visible { outline:2px solid #35b2d2; outline-offset:5px; }
.site-footer .site-info { grid-column:1/-1; background:transparent; color:#7893a5; border-top:1px solid #1a3c53; font-size:14px; }
.site-footer .inside-site-info { max-width:1364px; padding:24px 32px; margin:auto; }
.site-footer .copyright-bar { width:100%; }
.cgc-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:30px; text-align:left; }
.cgc-footer-bottom nav { display:flex; gap:38px; }.site-footer .cgc-footer-bottom a { color:#7893a5; }
@media(max-width:1199px) {
 .site-footer { grid-template-columns:24px minmax(0,1fr) 24px; }
 .cgc-reference-brand { grid-column:2; padding:40px 0 32px; }.cgc-reference-brand > p { max-width:440px; }
 .site-footer .footer-widgets { grid-column:2; }.site-footer .footer-widgets-container { padding:0 0 40px; }
}
@media(max-width:900px) {
 .site-footer .inside-footer-widgets { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }
 .site-footer .widget li { font-size:15px; }.site-footer .widget-title { font-size:12px; }
 .cgc-footer-bottom { display:block; font-size:12px; }.cgc-footer-bottom nav { margin-top:18px; }
}

@media(max-width:480px) {
 .site-footer .inside-footer-widgets { grid-template-columns:1fr; gap:28px; }
 .site-footer .inside-site-info { padding:24px; }
}
/* Keep footer wordmark and four column headings on a common baseline. */
.site-footer .cgc-reference-wordmark{top:0;line-height:28px;font-family:var(--cgc-type-body)}
.site-footer .widget-title{line-height:28px;padding-top:3px;margin-top:0;margin-bottom:15px;font-family:var(--cgc-type-body)!important}
.site-footer .cgc-reference-brand,.site-footer .footer-widgets-container{padding-top:56px}
@media(max-width:1200px){.site-footer .widget-title{padding-top:0}.site-footer .footer-widgets-container{padding-top:0}}
.site-footer .footer-widgets{padding-top:0;padding-bottom:0}
