/* SN Academy — site-wide header & footer (loads on every page). BRAND: teal + green (per pack). */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;800;900&family=Source+Sans+3:wght@300;400;600;700&display=swap');
:root{--sn-teal-dark:#0f3d48;--sn-teal:#1B5C6B;--sn-teal-light:#d4edf2;--sn-green:#6AAF2C;--sn-green-deep:#5a9624;--sn-green-light:#edf7de;--sn-charcoal:#2c3e50;--sn-off:#f8fafb;--sn-muted:#5b6b7a}

/* ---- admin bar flush ---- */
#wpadminbar{top:0!important;margin-top:0!important}
html.admin-bar,html.wp-toolbar{padding-top:32px!important}

/* ---- header ---- */
.header_default{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 #dbe7ea}
/* real brand logo image (replaces the old faux text+chip) */
.header_default .logo{display:inline-block!important;width:188px!important;height:46px!important;background:url(brand/sna-logo.png) left center/contain no-repeat!important;font-size:0!important;text-indent:-9999px;overflow:hidden;letter-spacing:0}
.header_default .logo::before{content:none!important}

.header_default .header-menu>li:not(.menu-cta-btn)>a,.header_main_menu_wrapper li:not(.menu-cta-btn)>a{font-family:'Source Sans 3',sans-serif!important;font-weight:600!important;color:var(--sn-charcoal)!important;transition:.15s}
.header_default .header-menu>li:not(.menu-cta-btn)>a:hover,.header_default .current-menu-item:not(.menu-cta-btn)>a{color:var(--sn-teal)!important}

/* CTA menu item → green pill (one per login state). High specificity so nav rules never beat the white text, incl. hover. */
.header_default .header-menu>li.menu-cta-btn>a,.header_default .menu-cta-btn>a{background:var(--sn-green)!important;color:#fff!important;border-radius:8px!important;padding:11px 22px!important;font-weight:700!important;box-shadow:0 8px 18px rgba(106,175,44,.26);transition:.18s;font-family:'Source Sans 3',sans-serif!important}
.header_default .header-menu>li.menu-cta-btn>a:hover,.header_default .menu-cta-btn>a:hover{background:var(--sn-green-deep)!important;color:#fff!important;transform:translateY(-1px)}
body:not(.logged-in) .header_default .menu-cta-logged-in{display:none!important}
body.logged-in .header_default .menu-cta-btn:not(.menu-cta-logged-in){display:none!important}

/* clean focus (no stray orange box); brand ring for keyboard a11y */
.header_default :focus{outline:none!important;box-shadow:none!important}
.header_default a:focus-visible,.header_default button:focus-visible,.header_default input:focus-visible{outline:2px solid var(--sn-green)!important;outline-offset:2px}
.header_default .search-input:focus{outline:2px solid var(--sn-green)!important;outline-offset:1px}
.header_default .search-toggler,.header_default .search-toggler-unit{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}
.header_default .search-toggler{color:var(--sn-teal-dark)!important;cursor:pointer;transition:.15s}
.header_default .search-toggler:hover{color:var(--sn-green)!important}

/* ---- MasterStudy LMS accent: default blue (#385bce) -> brand green ---- */
.masterstudy-buy-button__link,.masterstudy-theme .btn-default,.masterstudy-theme a.btn-default{background:var(--sn-green)!important;background-color:var(--sn-green)!important;border-color:var(--sn-green)!important;color:#fff!important}
.masterstudy-buy-button__link:hover,.masterstudy-theme .btn-default:hover{background:var(--sn-green-deep)!important;background-color:var(--sn-green-deep)!important;color:#fff!important}

/* ---- footer (branded, teal-dark) ---- */
.snh-footer{background:var(--sn-teal-dark);color:#a9c4cb;font-family:'Source Sans 3',sans-serif;font-size:14px}
.snh-footer .snh-wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.snh-footgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;padding:72px 28px 48px}
.snh-footer{padding-top:48px}
.snh-footer .f-logo{display:inline-block;background:#fff;border-radius:10px;padding:10px 14px}
.snh-footer .f-logo img{height:34px;display:block}
.snh-footer .f-tag{display:block;margin-top:12px;color:var(--sn-green);font-weight:600;font-size:13px;letter-spacing:.3px}
.snh-footer .f-about{margin-top:10px;max-width:26em;color:#85a4ac;line-height:1.6}
.snh-footer h4{color:#fff;font-size:15px;margin:0 0 16px;font-weight:700}
.snh-footer .f-col a{display:block;color:#a9c4cb;margin-bottom:11px;text-decoration:none;transition:.15s}
.snh-footer .f-col a:hover{color:var(--sn-green)}
.snh-footbottom{border-top:1px solid #1d4f59;text-align:center;color:#7596a0;font-size:13px;padding:20px}
@media(max-width:860px){.snh-footgrid{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:520px){.snh-footgrid{grid-template-columns:1fr}}


/* ================================================
   BLOG LISTING — post cards
   ================================================ */
/* 2-col card grid: the units sit directly in .col-md-12 (no sidebar) */
.blog_main_layout_ .col-md-12{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;align-items:start}
.blog_main_layout_ .col-md-12>:not(.post_list_content_unit){grid-column:1/-1}  /* pagination etc. span full width */
.post_list_content_unit{display:flex;flex-direction:column;border-radius:14px;border:1px solid #dbe7ea;padding:26px;margin:0;background:#fff;transition:box-shadow .2s,transform .2s}
.post_list_content_unit:hover{box-shadow:0 12px 32px rgba(15,61,72,.12);transform:translateY(-3px)}
/* title */
.post_list_item_title{text-transform:none!important;font-size:19px;line-height:1.35;margin:0 0 8px}
.post_list_item_title a{color:var(--sn-teal-dark)!important;text-decoration:none;font-family:'Source Sans 3',sans-serif;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post_list_item_title a:hover{color:var(--sn-green)!important}
/* date — small inline, not a giant number */
.post_list_meta_unit{margin:0 0 16px;display:flex;gap:6px;align-items:baseline}
.post_list_meta_unit .date-d{color:var(--sn-teal)!important;font-weight:700;font-size:13px;line-height:1}
.post_list_meta_unit .date-m{color:#7596a0;font-size:13px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
/* body wrapper fills the card so the read-more sits at the bottom */
.post_list_inner_content_unit{display:flex;flex-direction:column;flex:1;font-size:15px;color:#5b6b7a;line-height:1.6}
/* image: full-width, fixed ratio, rounded */
.post_list_featured_image{float:none!important;width:100%!important;margin:0 0 16px}
.post_list_featured_image img{width:100%!important;height:190px;object-fit:cover;display:block;border-radius:10px}
.post_list_item_excerpt{font-size:14.5px;color:#5b6b7a;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post_list_cats{display:none!important}
/* read more → clean text link, pinned to card bottom (overrides the green .btn) */
.post_list_btn_more{margin-top:auto;padding-top:16px}
.post_list_btn_more a,.post_list_btn_more a.btn{background:none!important;background-color:transparent!important;border:none!important;box-shadow:none!important;width:auto!important;padding:0!important;color:var(--sn-teal)!important;font-weight:700;font-size:14px;transform:none!important}
.post_list_btn_more a:hover{color:var(--sn-green)!important}
@media(max-width:760px){.blog_main_layout_ .col-md-12{grid-template-columns:1fr}}

/* ================================================
   SINGLE POST — layout & typography
   ================================================ */
/* Hide the empty teal "Blog" banner on posts — the Playfair post title is the hero */
.single-post .entry-header{display:none!important}
/* Constrain content width for readability */
.single-post .stm_single_post,
.single-post .post-content,
.single-post .entry-content{max-width:740px;margin:0 auto;padding:0 24px 60px}

/* Title — remove ALL CAPS */
.single-post h1.post_title,
.single-post .post_title{text-transform:none!important;font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:700;line-height:1.3;color:var(--sn-teal-dark);margin:0 0 16px}

/* "Blog" breadcrumb label — keep small, not giant */
.single-post .entry-title-left .h1{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sn-teal);font-family:'Source Sans 3',sans-serif;margin:0 0 8px}

/* Hide "Posted by: SN Academy" */
.single-post .post_by{display:none!important}

/* Style date and category nicely */
.single-post .post_meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 36px;padding:0 0 20px;border-bottom:1px solid #dbe7ea;list-style:none}
.single-post .post_date,.single-post .post_cat{font-size:13px;color:#7596a0;font-family:'Source Sans 3',sans-serif}
.single-post .post_date i,.single-post .post_cat i{color:var(--sn-teal);margin-right:5px}
.single-post .post_cat a{color:var(--sn-teal)!important;font-weight:600;text-decoration:none}

/* Post body typography */
.single-post .stm_single_post p{font-size:17px;line-height:1.85;color:#2c3e50;margin-bottom:22px;font-family:'Source Sans 3',sans-serif}
.single-post .stm_single_post h2{font-size:25px;font-weight:700;color:var(--sn-teal-dark);margin:38px 0 14px;font-family:'Playfair Display',Georgia,serif;text-transform:none!important}
.single-post .stm_single_post h3{font-size:19px;font-weight:700;color:var(--sn-teal-dark);margin:28px 0 10px;text-transform:none!important}
.single-post .stm_single_post ul,.single-post .stm_single_post ol{font-size:17px;line-height:1.75;color:#2c3e50;margin:0 0 22px 24px;font-family:'Source Sans 3',sans-serif}
.single-post .stm_single_post li{margin-bottom:8px}
.single-post .stm_single_post strong{color:var(--sn-teal-dark)}
.single-post .stm_single_post a{color:var(--sn-teal);text-decoration:underline}

/* ================================================
   BLOG LISTING — featured image zone
   (gradient fallback when no photo is set;
    real photos slot in automatically once uploaded)
   ================================================ */
.post_list_featured_image{
  display:block;
  min-height:190px;
  background:linear-gradient(135deg,#1B5C6B 0%,#0f3d48 100%);
  overflow:hidden;
  border-radius:10px 10px 0 0;
  margin:-28px -28px 22px;
  position:relative
}
.post_list_featured_image img{
  width:100%;height:200px;
  object-fit:cover;display:block
}
/* Category label overlaid on gradient */
.post_list_featured_image::after{
  content:attr(data-cat);
  position:absolute;top:16px;left:18px;
  background:rgba(106,175,44,.9);
  color:#fff;font-size:11px;font-weight:700;
  letter-spacing:1px;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;
  font-family:'Source Sans 3',sans-serif
}

/* Card needs overflow visible for the negative-margin image */
.post_list_content_unit{overflow:visible;padding-top:28px}

/* Tighten date block under image */
.post_list_meta_unit{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}
.post_list_meta_unit .date-d{font-size:28px;font-weight:800;color:var(--sn-teal);line-height:1}
.post_list_meta_unit .date-m{font-size:12px;font-weight:700;color:#7596a0;text-transform:uppercase;letter-spacing:1px}

/* ================================================
   SINGLE POST — hero header band
   ================================================ */
.single-post .entry-title-left{
  background:linear-gradient(135deg,#0f3d48 0%,#1B5C6B 100%);
  padding:52px 40px 40px;
  margin:-20px -30px 0;
  border-radius:0
}
/* "Blog" breadcrumb on the band */
.single-post .entry-title-left .h1{
  font-size:11px;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;color:rgba(255,255,255,.6);
  font-family:'Source Sans 3',sans-serif;margin:0 0 12px;
  display:block
}
/* Post title on the band */
.single-post h1.post_title{
  color:#fff!important;font-size:30px;
  text-transform:none!important;
  font-family:'Playfair Display',Georgia,serif;
  line-height:1.35;margin:0
}
/* Meta row under the hero band */
.single-post .post_meta{
  background:#f8fafb;border-bottom:1px solid #dbe7ea;
  padding:14px 40px;margin:0 -30px 36px;
  display:flex;align-items:center;gap:20px;
  list-style:none;flex-wrap:wrap
}
.single-post .post_date,.single-post .post_cat{
  font-size:13px;color:#5d6b7a;
  font-family:'Source Sans 3',sans-serif
}
.single-post .post_date i,.single-post .post_cat i{
  color:var(--sn-teal);margin-right:5px
}
.single-post .post_cat a{
  color:var(--sn-teal)!important;font-weight:600;
  text-decoration:none
}
/* Featured image on single post (when it exists) */
.single-post .post_image_single,.single-post .wp-post-image{
  width:100%;max-height:380px;object-fit:cover;
  border-radius:10px;margin:0 0 36px;display:block
}
@media(max-width:860px){
  .single-post .entry-title-left{padding:36px 20px 28px;margin:-20px -16px 0}
  .single-post .post_meta{padding:12px 20px;margin:0 -16px 28px}
  .post_list_featured_image{margin:-28px -20px 20px}
}