/*
Theme Name: Caledonia Learning
Theme URI: https://caledonialearning.learnworlds.com/
Author: Caledonia Learning
Description: Lightweight Caledonia Learning website theme, designed for Tutor LMS.
Version: 0.3.7.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: caledonia-learning
*/
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{--green:#234B3A;--deep:#163f31;--gold:#b9a16c;--cream:#f8f6f1;--sage:#e9efe9;--ink:#22382e;--font-serif:'Libre Baskerville',Georgia,serif;--font-sans:'Source Sans 3',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.6;background:#fff}a{color:var(--green)}img{max-width:100%;height:auto}.cl-container{width:min(1160px,calc(100% - 48px));margin:auto}.cl-header{background:#fff;border-bottom:1px solid #f0f0ed}.cl-header-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:28px}.cl-brand img{width:205px;display:block}.cl-nav{display:flex;align-items:center;gap:34px}.cl-nav a{text-decoration:none;color:#263d32;font-family:var(--font-serif);font-size:13px}.cl-nav a:hover{text-decoration:underline}.cl-nav .cl-nav-cta{font-family:var(--font-sans);background:var(--green);color:#fff;border-radius:5px;padding:10px 19px;font-weight:700}.cl-hero{background:var(--green);color:#fff;padding:72px 0}.cl-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;max-width:1030px;margin:auto}.cl-hero-image{border:4px solid #e7dcc1;border-radius:8px;box-shadow:0 2px 8px #102e2433;display:block;width:100%;aspect-ratio:1.75;object-fit:cover}.cl-hero h1{font-family:var(--font-serif);font-size:clamp(28px,3vw,39px);line-height:1.28;letter-spacing:-.6px;margin:0 0 22px;color:#fff}.cl-hero p{font-size:16px;max-width:450px;margin:0 0 24px;line-height:1.75}.cl-actions{display:flex;gap:12px;flex-wrap:wrap}.cl-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 20px;border:1px solid var(--gold);border-radius:4px;font-size:14px;font-weight:700;text-decoration:none;min-height:44px}.cl-button-primary{background:var(--gold);color:#fff}.cl-button-outline{color:var(--gold);background:transparent}.cl-teaching{background:var(--cream);padding:75px 0 70px}.cl-teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:1010px;margin:auto}.cl-teaching h2{font-family:var(--font-serif);font-size:clamp(27px,3vw,40px);line-height:1.25;margin:0 0 24px;color:var(--green)}.cl-teaching p{margin:0;font-size:15px;line-height:1.85}.cl-principle{margin:0 0 20px}.cl-principle h3{font-family:var(--font-serif);font-size:18px;margin:0 0 4px;color:var(--green)}.cl-principle p{font-size:14px;line-height:1.65}.cl-courses{background:var(--sage);padding:70px 0 80px;min-height:260px;text-align:center}.cl-courses h2{font-family:var(--font-serif);font-size:30px;margin:0 0 36px;color:var(--ink)}.cl-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;text-align:left}.cl-course-card{background:#fff;border-radius:7px;overflow:hidden;box-shadow:0 5px 20px #193d2e12;display:flex;flex-direction:column}.cl-course-thumb{height:165px;background:#dce5dc;display:flex;align-items:center;justify-content:center}.cl-course-thumb img{width:100%;height:100%;object-fit:cover}.cl-course-thumb span{font-family:var(--font-serif);color:var(--green);font-size:20px}.cl-course-body{padding:22px;flex:1;display:flex;flex-direction:column}.cl-course-body h3{font-family:var(--font-serif);font-size:18px;line-height:1.45;margin:0 0 10px}.cl-course-body p{font-size:14px;margin:0 0 16px}.cl-course-body a{margin-top:auto;font-weight:700}.cl-footer{background:#fff;padding:65px 0 35px}.cl-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:35px;align-items:start}.cl-footer-logo{width:200px}.cl-footer h3{font-family:var(--font-serif);font-size:16px;margin:0 0 14px}.cl-footer a{display:block;color:var(--ink);font-size:14px;text-decoration:none;margin:4px 0}.cl-footer a:hover{text-decoration:underline}.cl-copyright{text-align:center;margin:40px 0 0;font-size:13px;color:#5f7067}.cl-page{padding:55px 0 90px;min-height:60vh}.cl-page h1{font-family:var(--font-serif);color:var(--green);font-size:34px}.cl-page-content{max-width:900px}.cl-page-content h2,.cl-page-content h3{font-family:var(--font-serif);color:var(--green)}.cl-mobile-menu{display:none}.cl-footer .cl-muted{color:#6c7d72;font-size:13px}.cl-empty{font-size:15px;color:#596b60}.cl-page .tutor-wrap{max-width:100%}@media(max-width:850px){.cl-header-inner{min-height:68px}.cl-brand img{width:165px}.cl-nav{gap:16px}.cl-nav a{font-size:12px}.cl-hero-inner{gap:26px}.cl-teaching-grid{gap:35px}.cl-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.cl-container{width:min(100% - 32px,1160px)}.cl-header-inner{flex-wrap:wrap;padding:12px 0}.cl-nav{width:100%;justify-content:space-between;gap:8px}.cl-nav a{font-size:12px}.cl-nav .cl-nav-cta{padding:7px 10px}.cl-hero{padding:36px 0 48px}.cl-hero-inner,.cl-teaching-grid{grid-template-columns:1fr}.cl-hero-inner{gap:26px}.cl-hero h1{font-size:30px}.cl-teaching{padding:48px 0}.cl-teaching-grid{gap:28px}.cl-courses{padding:50px 0}.cl-course-grid{grid-template-columns:1fr}.cl-footer-grid{grid-template-columns:1fr 1fr;gap:28px}.cl-footer{padding:45px 0 30px}}

/* Caledonia Learning v0.2: focused lessons, mobile navigation, and polish. */
.cl-menu-toggle{display:none;appearance:none;background:#fff;border:1px solid #d5ddd6;border-radius:5px;width:44px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;color:var(--green)}
.cl-menu-toggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px}
.cl-menu-toggle:focus-visible,.cl-nav a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.cl-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.cl-footer-grid>div{min-width:0}
.cl-footer .cl-muted{max-width:240px;line-height:1.6}
.cl-course-card{transition:transform .18s ease,box-shadow .18s ease}
.cl-course-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px #193d2e1c}
.cl-course-card a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* Tutor LMS course pages retain Tutor's native enrollment and progress controls. */
body.single-courses .tutor-course-details-title,body.single-courses .tutor-course-details-title h1{color:var(--green)}
body.single-courses .tutor-course-details-page{padding-top:20px}
body.single-courses .tutor-btn-primary{background-color:var(--green);border-color:var(--green)}
body.single-courses .tutor-btn-primary:hover{background-color:var(--deep);border-color:var(--deep)}
/* Hide theme chrome for the Tutor LMS lesson player, including fallback selectors. */
body.single-lesson .cl-header,body.single-lesson .cl-footer,
body.single-tutor_lesson .cl-header,body.single-tutor_lesson .cl-footer{display:none!important}
body.single-lesson,body.single-tutor_lesson{margin:0}
@media(max-width:650px){
  .cl-header-inner{flex-wrap:nowrap;position:relative;min-height:70px;padding:10px 0}
  .cl-brand img{width:172px}
  .cl-menu-toggle{display:flex;margin-left:auto;flex-shrink:0}
  .cl-nav{display:none;position:absolute;z-index:1000;top:calc(100% - 1px);left:0;right:0;width:100%;padding:12px;background:#fff;border:1px solid #e5e8e3;border-radius:0 0 7px 7px;box-shadow:0 12px 24px #102e2420;flex-direction:column;align-items:stretch;gap:2px}
  .cl-nav.cl-nav-open{display:flex}
  .cl-nav a{display:block;padding:12px 10px;font-size:14px}
  .cl-nav .cl-nav-cta{margin-top:5px;text-align:center;padding:11px 15px}
  .cl-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
  .cl-footer-grid>div:first-child{grid-column:1/-1}
  .cl-footer-logo{width:170px}
  .cl-copyright{margin-top:30px}
}
@media(max-width:380px){.cl-footer-grid{grid-template-columns:1fr}.cl-footer-grid>div:first-child{grid-column:auto}}

/* v0.3: page-managed homepage, retaining Caledonia Learning design. */
.cl-hero-asset{background-image:url('assets/hero.png');background-size:cover;background-position:center;min-height:270px;}
.cl-home-content .cl-container{max-width:1160px}
.cl-home-content .cl-teaching-grid{max-width:1010px}
.cl-home-content .cl-hero-inner{max-width:1030px}
.cl-home-content .cl-courses{text-align:center}
.cl-home-content .cl-course-grid{text-align:left}
.cl-home-content .cl-hero h1{color:#fff}

/* v0.3.6 — mobile homepage hero: contain Gutenberg blocks and image within viewport. */
@media (max-width: 650px) {
  .cl-home-content, .cl-home-content .cl-hero, .cl-home-content .cl-hero-inner,
  .cl-home-content .cl-hero .cl-container { width: 100%; max-width: 100%; min-width: 0; }
  .cl-home-content .cl-hero .cl-container { width: calc(100% - 32px); margin-inline: auto; }
  .cl-home-content .cl-hero-inner { display: flex; flex-direction: column; align-items: stretch; gap: 24px; }
  .cl-home-content .cl-hero-inner > *, .cl-home-content .cl-hero .wp-block-column,
  .cl-home-content .cl-hero .wp-block-group, .cl-home-content .cl-hero .wp-block-image,
  .cl-home-content .cl-hero figure { min-width: 0 !important; max-width: 100% !important; width: 100% !important; flex-basis: auto !important; }
  .cl-home-content .cl-hero .wp-block-columns { display: flex; flex-direction: column; gap: 24px; }
  .cl-home-content .cl-hero img, .cl-home-content .cl-hero .cl-hero-image,
  .cl-home-content .cl-hero .cl-hero-asset { display: block; width: 100% !important; max-width: 100% !important; height: auto; }
  .cl-home-content .cl-hero .cl-hero-asset { min-height: 210px; }
  .cl-home-content .cl-hero h1 { font-size: clamp(25px, 7.2vw, 30px); overflow-wrap: break-word; }
  .cl-home-content .cl-hero p { max-width: 100%; overflow-wrap: anywhere; }
  .cl-home-content .cl-hero .cl-actions { max-width: 100%; }
}

/* v0.3.7 — catalog-only presentation; Tutor owns listing, filters and enrollment. */
body.post-type-archive-courses .cl-catalog-intro {
  background:var(--cream); border-bottom:1px solid #e7e7df; padding:36px 0 24px; margin-bottom:24px;
}
body.post-type-archive-courses .cl-catalog-intro h1 {
  font-family:var(--font-serif); font-size:clamp(25px,3vw,34px);
  line-height:1.3; color:var(--green); margin:0 0 10px;
}
body.post-type-archive-courses .cl-catalog-intro p {
  max-width:760px; margin:0; font-size:15px; line-height:1.75;
}
body.post-type-archive-courses .tutor-course-card,
body.post-type-archive-courses .tutor-card {
  border-radius:7px; overflow:hidden;
}
body.post-type-archive-courses .tutor-course-card a:focus-visible,
body.post-type-archive-courses .tutor-btn:focus-visible {
  outline:3px solid var(--gold); outline-offset:2px;
}
@media(max-width:650px) {
  body.post-type-archive-courses .cl-catalog-intro {padding:27px 0 18px; margin-bottom:16px;}
  body.post-type-archive-courses .cl-catalog-intro p {font-size:14px;}
}
