/*
Theme Name: bellcrier-academy
Author: BellCrier Academy
Description: Blog theme for BellCrier Academy with free and paying member tiers.
Version: 2.0
Text Domain: privacy321
*/

@font-face{font-family:'Russo One';src:url('fonts/russo-one/RussoOne-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter/Inter-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter/Inter-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter/Inter-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter/Inter-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:"Russo One", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-bg-deep:#0b1220;--color-surface:#151f33;--color-surface-hover:#1f2c46;--color-accent:#3b82f6;--color-accent-hover:#2563eb;--color-text:#f3f6fb;--color-text-muted:rgba(243, 246, 251, 0.72);--color-border:#243049;--color-border-light:#33425f;--color-text-secondary:#b9c4d4;--color-accent-light:rgba(59, 130, 246, 0.12);--color-secondary:#8b5cf6;--color-secondary-dark:#7c3aed;--color-text-soft:rgba(243, 246, 251, 0.45);--gradient-brand:linear-gradient(135deg, #3b82f6, #8b5cf6);--shadow-post:0 1px 12px rgba(0, 0, 0, 0.26);--shadow-sidebar:0 5px 11px inset rgba(0, 0, 0, 0.20), 0 5px 45px rgba(0,0,0,.20);--shadow-header:0 4px 24px rgba(2, 6, 23, 0.25);--shadow-footer:0 -4px 24px rgba(2, 6, 23, 0.2)}
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
body{line-height:1.6;font-family:var(--font-body)!important;background-color:var(--color-bg-deep)!important;color:var(--color-text-muted)!important}
/* Russo One ships a single weight (400); pin headings to it so browsers never fake a bold. */
h1,h2,h3,h4,h5,h6,.widget-title,.logo h1,.category-header>a:first-of-type,.post-tweet-embed__title{font-family:var(--font-heading)!important;font-weight:400!important;font-synthesis:none}
code,pre,kbd,samp{font-family:var(--font-mono)!important}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
table{border-collapse:collapse;border-spacing:0}
.container-fluid{width:100%;margin-right:auto;margin-left:auto}
.row{display:flex;flex-wrap:wrap}
.site-header-wrap{position:sticky;top:0;z-index:1000}
.site-topbar{background:var(--color-bg-deep);border-bottom:1px solid var(--color-border);font-family:var(--font-body);font-size:clamp(0.7rem, 1.2vw, 0.8125rem)}
.site-topbar__inner{max-width:100%;padding:clamp(0.35rem, 0.8vh, 0.5rem) 20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(0.5rem, 1vw, 0.75rem) clamp(1rem, 2vw, 1.5rem);row-gap:clamp(0.45rem, 0.8vh, 0.65rem)}
.site-topbar__quotes{flex:1 1 220px;min-width:0;align-self:center}
.site-topbar__quote{margin:0;font-family:var(--font-body);font-size:clamp(0.7rem, 1.2vw, 0.8125rem);line-height:1.45;color:var(--color-text-soft);text-align:left}
.site-topbar__quote em{font-style:italic;font-weight:400;color:var(--color-text-muted)}
.site-topbar__aside{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0.65rem 1rem;flex-shrink:0}
.site-topbar__hello{font-family:var(--font-heading);font-size:clamp(0.7rem, 1.2vw, 0.8125rem);font-weight:600;color:var(--color-text);white-space:nowrap}
@media (max-width: 640px){
  .site-topbar__inner{flex-direction:column;align-items:stretch}
  .site-topbar__aside{justify-content:space-between;border-top:1px solid var(--color-border);padding-top:0.5rem}
  .site-topbar__hello{white-space:normal}
}
.header,.footer{background:var(--color-surface);color:var(--color-text);display:flex;justify-content:space-between;align-items:center;padding:clamp(8px, 2vh, 16px) 20px;gap:clamp(8px, 1.5vw, 16px)}
.header{min-height:clamp(56px, 8vh, 80px);border-bottom:2px solid var(--color-border);box-shadow:var(--shadow-header);position:relative;backdrop-filter:blur(10px)}
.footer{min-height:60px;border-top:2px solid var(--color-border);box-shadow:var(--shadow-footer);z-index:99999;position:relative}
.logo{display:inline-block;margin:clamp(4px, 1vh, 10px) 0 0 0;flex-shrink:0}
.header nav{display:flex;align-items:center;gap:clamp(4px, 1vw, 12px);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.logo h1,.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gradient-text{color:transparent}
.logo h1{font-size:clamp(1.1rem, 2.5vw, 1.5rem);font-weight:700;line-height:1.2;letter-spacing:-0.02em}
.custom-logo-link img,.custom-logo{filter:drop-shadow(0 0 10px rgba(59, 130, 246, 0.25));max-width:clamp(120px, 15vw, 200px);height:auto}
nav ul{display:flex;list-style:none;align-items:center;gap:clamp(4px, 0.8vw, 10px);flex-wrap:wrap;justify-content:center}
nav ul li{margin:0}
.header-search{display:flex;align-items:center;min-width:clamp(200px, 50vw, 560px);flex:1 1 auto;max-width:100%}
.post{padding:25px;background:var(--color-surface);margin-bottom:25px;border-radius:10px;box-shadow:var(--shadow-post)}
.categories-menu{list-style-type:none;padding:0}
.categories-menu li{border-radius:8px}
.sidebar li a{color:var(--color-text);text-decoration:none;width:100%;padding:5px 10px;font-family:var(--font-body)!important;font-weight:300;display:inline-block;box-sizing:border-box}
.categories-menu li a:hover,.current-menu-item{background:var(--color-bg-deep);border-radius:8px}
.main-class{margin-bottom:5px}
.left-sidebar,.right-sidebar{background-color:var(--color-surface);overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow-sidebar);padding:25px 15px 25px 15px;box-sizing:border-box}
.center-content{padding:25px;box-sizing:border-box;overflow-x:hidden;word-wrap:break-word;white-space:normal}
.clearfix::after{content:"";clear:both;display:table}
.post-thumbnail{flex-basis:50px;flex-shrink:0;margin-right:10px;display:inline-block}
.post-thumbnail img{width:50px;height:50px;object-fit:cover}
.post-info{flex-grow:1;display:inline-block;vertical-align:top;position:relative;width:88%}
.post-card-aside{float:right;text-align:right;max-width:48%}
.post-card-aside .post-rating{float:none;display:block;font-size:12px}
.post-excerpt{flex-basis:100%}
.post-excerpt p{margin-top:15px}
.category-description{margin-bottom:20px}
.category-title{color:var(--color-text)}
.home-intro-card{position:relative;margin-bottom:1.75rem;border-radius:16px;overflow:hidden;text-align:center;background:linear-gradient(135deg, var(--color-bg-deep) 0%, var(--color-surface) 100%);border:1px solid var(--color-border);box-shadow:0 0 0 1px rgba(255, 255, 255, 0.03) inset, 0 24px 60px rgba(0, 0, 0, 0.28)}
.home-intro-card::before{content:"";position:absolute;top:-65%;right:-20%;width:320px;height:320px;background:radial-gradient(circle, rgba(59, 130, 246, 0.12) 0%, transparent 70%);border-radius:50%;pointer-events:none}
.home-intro-card__inner{position:relative;z-index:1;padding:1.5rem 1rem 1.75rem}
@media (min-width: 480px){
  .home-intro-card::before{width:400px;height:400px;top:-60%;right:-15%}
  .home-intro-card__inner{padding:2.25rem 1.5rem 2.5rem}
}
@media (min-width: 640px){
  .home-intro-card{margin-bottom:2rem;border-radius:18px}
  .home-intro-card::before{width:480px;height:480px;top:-58%;right:-12%}
  .home-intro-card__inner{padding:2.75rem 2rem 3rem}
}
@media (min-width: 768px){
  .home-intro-card{margin-bottom:2.5rem;border-radius:20px}
  .home-intro-card::before{width:540px;height:540px;top:-55%;right:-10%}
  .home-intro-card__inner{padding:4.5rem 2.5rem 4.75rem}
}
.home-intro-card__eyebrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:0.75rem;font-weight:600;color:var(--color-accent);margin:0 0 1rem;padding:0.4rem 0.9rem;border-radius:50px;background:var(--color-accent-light);border:1px solid var(--color-accent)}
@media (min-width: 480px){
  .home-intro-card__eyebrow{font-size:0.8125rem;gap:8px;padding:0.5rem 1rem;margin:0 0 1.15rem}
}
@media (min-width: 768px){
  .home-intro-card__eyebrow{font-size:0.875rem;padding:0.55rem 1.1rem;margin:0 0 1.5rem}
}
.home-intro-card__eyebrow svg{width:14px;height:14px;flex-shrink:0}
@media (min-width: 480px){
  .home-intro-card__eyebrow svg{width:15px;height:15px}
}
@media (min-width: 768px){
  .home-intro-card__eyebrow svg{width:16px;height:16px}
}
.home-intro-card__title{font-family:var(--font-heading);font-size:clamp(1.5rem, 4.5vw, 3.25rem);font-weight:800;line-height:1.15;letter-spacing:-0.02em;margin:0 auto 0.9rem;max-width:18ch;color:var(--color-text)}
@media (min-width: 768px){
  .home-intro-card__title{margin:0 auto 1.5rem;max-width:20ch}
}
.home-intro-card__title .gradient-text{background:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 52%, #ec4899 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:900}
.home-intro-card__body{margin:0;padding-top:0;border-top:none}
.home-intro-card__text{color:var(--color-text-secondary);font-size:0.95rem;line-height:1.6;margin:0 auto 0.75rem;max-width:100%;padding:0 0.5rem}
@media (min-width: 480px){
  .home-intro-card__text{font-size:1rem;line-height:1.65;margin:0 auto 0.9rem;max-width:46rem}
}
@media (min-width: 768px){
  .home-intro-card__text{font-size:1.125rem;line-height:1.8;margin:0 auto 1.15rem}
}
.home-intro-card__text:last-child{margin-bottom:0}
.home-intro-card__text--secondary{font-size:0.9rem;line-height:1.6;color:var(--color-text-soft);padding-left:0;border-left:none;max-width:100%;padding:0 0.5rem}
@media (min-width: 480px){
  .home-intro-card__text--secondary{font-size:0.95rem;line-height:1.65;max-width:42rem}
}
@media (min-width: 768px){
  .home-intro-card__text--secondary{font-size:1rem;line-height:1.7;max-width:42rem;padding:0}
}
.front-page-intro{margin-bottom:2.5rem}
.recent-posts-section{margin-top:2rem}
.recent-posts-section__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.75rem 1rem;margin-bottom:1.25rem}
.recent-posts-section__head--link-only{justify-content:flex-end;margin-bottom:1rem}
.recent-posts-section__all{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--font-heading);font-size:0.78rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;color:var(--color-text);padding:0.5rem 0.85rem;border-radius:8px;background:rgba(59, 130, 246, 0.1);border:1px solid rgba(59, 130, 246, 0.28);transition:color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease}
.recent-posts-section__all::after{content:"\2192";font-size:0.95em;opacity:0.85}
.recent-posts-section__all:hover{color:var(--color-accent);background:rgba(59, 130, 246, 0.16);border-color:rgba(59, 130, 246, 0.45);transform:translateX(2px)}
.home-pagination{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}
.home-pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0.75rem}
.home-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;padding:0.35rem 0.65rem;border-radius:6px;text-decoration:none;color:var(--color-text-secondary);font-weight:500}
.home-pagination a.page-numbers:hover,.home-pagination .page-numbers.current{background:var(--color-accent-light);color:var(--color-accent)}
.post-tags .tag{margin-right:8px;background-color:var(--color-bg-deep);border-radius:6px;padding:2px 10px}
.post-tags{margin-top:12px}
@media (max-width: 768px){
  .left-sidebar{width:100%;position:relative;height:auto}
  .center-content{margin-left:0}
  .post-tags .tag{margin-right:8px;background-color:var(--color-bg-deep);border-radius:6px;padding:5px 10px;margin-bottom:5px;display:inline-block}
}
@media screen and (min-width: 300px) and (max-width: 490px){
  .center-content .post-thumbnail{align-items:center;margin-bottom:10px}
  .left-sidebar{display:none}
  .menu-categories-menu-container a:hover{color:var(--color-accent)!important}
  .post-info{width:70%}
  .post-card-aside .post-rating{display:none}
  .right-sidebar{padding:25px}
}
.categories-menu li a span{position:absolute;margin-left:8px;float:left}
i._mi._before.fa,i._mi._before.fab,i._mi._before.dashicons,._mi._before.foundation-icons,i._mi._before.fas,._mi._before.far,._mi._before.elusive,._mi._before.genericon,.menu-item-736 ._mi._before._svg{max-width:25px;width:25px;height:17px;text-align:center;margin-right:8px}
.top-space-15{margin-top:15px}
.top-space-10{margin-top:10px}
.top-space-5{margin-top:5px}
.header .menu-main-container a,.footer .menu-main-container a,#menu-main-1 a{font-weight:600;font-size:clamp(13px, 1.5vw, 15px);margin:0;padding:clamp(6px, 0.8vh, 8px) clamp(10px, 1.2vw, 16px);border-radius:6px;color:var(--color-text-secondary)!important;transition:color 0.3s ease, background 0.3s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header .menu-main-container a:hover,.footer .menu-main-container a:hover,#menu-main-1 a:hover{color:var(--color-accent)!important;background:var(--color-accent-light)}
.header .menu-main-container .current-menu-item>a,.header .menu-main-container .current_page_item>a,.header .menu-main-container .current-menu-ancestor>a,.header .menu-main-container .current-page-ancestor>a,.footer .menu-main-container .current-menu-item>a,.footer .menu-main-container .current_page_item>a{color:var(--color-accent)!important;background:var(--color-accent-light)}
.post-tags .tag a,.menu-item a{color:var(--color-text)}
.post-tags .tag img{padding-top:2px}
.custom-logo{max-width:clamp(100px, 20vw, 270px);height:auto}
h2{font-weight:600;font-size:18px}
.category-header>a:first-of-type{font-weight:900!important;color:var(--color-accent);text-transform:uppercase}
.post-excerpt p,.category-description,.custom-post-content p{color:var(--color-text-muted)!important}
a{text-decoration:none;color:var(--color-accent);transition:color 0.3s ease, background 0.3s ease, border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease}
a:hover{color:var(--color-accent-hover)}
.menu-item a span:hover,.post-tags .tag a:hover{color:var(--color-accent-hover)}
.external-icon{margin-left:8px;vertical-align:baseline;position:relative;top:1px}
#menu-main-1{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:space-between}
#menu-main-1 li{display:inline-block;margin:10px}
@media (max-width: 768px){
  #menu-main-1{justify-content:flex-start;padding-top:3vw}
  #menu-main-1 li{width:45%;margin:10px 2.5%}
  .footer{height:auto}
}
@media (max-width: 1024px){
  .header-search{min-width:clamp(160px, 40vw, 300px);flex:0 1 auto}
  .header{flex-wrap:wrap;row-gap:clamp(8px, 1.5vh, 12px)}
  .header .logo{order:1;flex-basis:auto}
  .header nav{order:3;flex-basis:100%;margin-top:clamp(4px, 0.5vh, 8px)}
  .header-search{order:2;margin-left:auto;margin-right:0}
}
@media (max-width: 768px){
  .header-search{min-width:clamp(140px, 35vw, 250px)}
  .header nav{gap:clamp(2px, 0.8vw, 8px)}
  nav ul li{margin:0}
}
@media (max-width: 640px){
  .header{flex-direction:column;align-items:stretch;padding:clamp(8px, 1.5vh, 12px) 16px}
  .header .logo{order:1;text-align:center}
  .header-search{order:3;min-width:100%;margin:clamp(6px, 1vh, 10px) 0 0 0;flex:1 1 100%}
  .header nav{order:2;flex-basis:100%;justify-content:center;margin:clamp(6px, 1vh, 10px) 0 0 0}
  nav ul{gap:clamp(2px, 0.5vw, 6px)}
  .logo h1{font-size:clamp(1rem, 4vw, 1.25rem)}
}
@media (max-height: 600px) and (orientation: landscape){
  .header{min-height:clamp(48px, 12vh, 64px);padding:clamp(4px, 1.2vh, 10px) 16px}
  .logo h1{font-size:clamp(0.95rem, 3vw, 1.1rem)}
  .logo{margin:clamp(2px, 0.5vh, 4px) 0 0 0}
}
.btn-primary,a.btn-primary,button.btn-primary,input[type="submit"].btn-primary,.btn-secondary,a.btn-secondary,button.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;font-family:var(--font-body)}
.btn-primary,a.btn-primary,button.btn-primary,input[type="submit"].btn-primary{border:none;color:#fff!important;background:var(--gradient-brand);transition:transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease}
.btn-primary:hover,a.btn-primary:hover,button.btn-primary:hover,input[type="submit"].btn-primary:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 6px 20px rgba(59, 130, 246, 0.35), 0 4px 16px rgba(139, 92, 246, 0.25);color:#fff!important}
.btn-secondary,a.btn-secondary,button.btn-secondary{background:transparent;color:var(--color-text-secondary)!important;border:1px solid var(--color-border);transition:color 0.3s ease, background 0.3s ease, border-color 0.3s ease}
.btn-secondary:hover,a.btn-secondary:hover,button.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)!important;background:var(--color-accent-light)}
.post-tweet-embed{margin:1.75rem 0;text-align:left}
.post-tweet-embed__title{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;line-height:1.4;color:var(--color-text);margin:0 0 0.85rem;padding-left:0.85rem;border-left:3px solid var(--color-accent)}
.post-tweet-embed__consent{padding:1rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}
.post-tweet-embed__consent p{margin:0 0 0.75rem}
.post-tweet-embed__fallback{font-size:0.9rem}
.post-tweet-embed__fallback:last-child{margin-bottom:0}
.post-tweet-embed .twitter-tweet{margin-left:0!important;margin-right:auto!important}

/*
 * Responsive layout safeguards.
 *
 * Keep the existing template structure intact while making every content type
 * shrink safely and giving tablet layouts enough room to remain readable.
 */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{min-width:0;overflow-x:hidden}
img,video,iframe,embed,object{max-width:100%;height:auto}
svg{max-width:100%}
input,select,textarea,button{max-width:100%;font:inherit}
pre{max-width:100%;overflow-x:auto;padding:1rem;border-radius:8px;background:var(--color-bg-deep);white-space:pre}
table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.container-fluid,.row,.center-content,.sidebar,.entry-content,.custom-post-content,.post,.post-info,.post-excerpt{min-width:0}
.entry-content,.custom-post-content,.post-excerpt{overflow-wrap:anywhere}
.entry-content ul,.entry-content ol,.custom-post-content ul,.custom-post-content ol{list-style-position:outside;margin:1rem 0;padding-left:1.4rem}
.entry-content ul,.custom-post-content ul{list-style-type:disc}
.entry-content ol,.custom-post-content ol{list-style-type:decimal}
.entry-content li+li,.custom-post-content li+li{margin-top:0.35rem}
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.custom-post-content h1,.custom-post-content h2,.custom-post-content h3,.custom-post-content h4{color:var(--color-text);line-height:1.25;overflow-wrap:anywhere}
.entry-title{color:var(--color-text);font-size:clamp(1.65rem, 4vw, 2.5rem);font-weight:800;line-height:1.16;overflow-wrap:anywhere;margin-bottom:1rem}
.entry-content h2,.custom-post-content h2{font-size:clamp(1.3rem, 3vw, 1.8rem);margin:1.5rem 0 0.7rem}
.entry-content h3,.custom-post-content h3{font-size:clamp(1.15rem, 2.5vw, 1.45rem);margin:1.25rem 0 0.6rem}
.entry-content p,.custom-post-content p{margin:0 0 1rem}
.entry-content a,.custom-post-content a,.post-excerpt a{overflow-wrap:anywhere}
.wp-block-image,.wp-block-embed,.wp-caption{max-width:100%}
.entry-content figure,.custom-post-content figure,.wp-block-columns,.wp-block-group{max-width:100%}
.wp-block-columns{flex-wrap:wrap!important}
.wp-caption-text{font-size:0.85rem;line-height:1.5;color:var(--color-text-soft)}
.wpcf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),.wpcf7-form select,.wpcf7-form textarea{width:100%;box-sizing:border-box}
.widget{min-width:0;margin-bottom:1.5rem;overflow-wrap:anywhere}
.widget:last-child{margin-bottom:0}
.widget-title{margin-bottom:0.65rem;color:var(--color-text);font-size:1rem;font-weight:700;line-height:1.35}

.post{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0 0.65rem}
.post-thumbnail{flex:0 0 50px;margin-right:0}
.post-info{flex:1 1 0;width:auto;min-width:0}
.post-info h2{padding-right:0.35rem;line-height:1.35;overflow-wrap:anywhere}
.post-card-aside{margin:0 0 0.35rem 0.75rem}
.post-excerpt{width:100%}
.post-excerpt>:last-child{margin-bottom:0}
.post-tags{display:flex;flex-wrap:wrap;gap:0.35rem 0.45rem}
.post-tags .tag{display:inline-flex;max-width:100%;align-items:center;gap:0.2rem;margin:0;padding:3px 9px;line-height:1.45;overflow-wrap:anywhere}
.post-tags .tag img,.post-tags .tag svg{flex:0 0 auto;max-width:1.15rem;height:auto}
.home-pagination .nav-links{justify-content:center}

.footer{padding-top:1rem;padding-bottom:1rem}
.footer nav,.footer .menu-main-container{width:100%}
.footer nav ul{justify-content:center}
.footer #menu-main-1{justify-content:center;gap:0.5rem 1rem}
.footer #menu-main-1 li{width:auto;margin:0}

@media (min-width:1025px) and (max-width:1340px){
  .header{flex-wrap:nowrap;gap:clamp(8px,1vw,14px);padding-left:clamp(12px,1.5vw,20px);padding-right:clamp(12px,1.5vw,20px)}
  .header .logo{flex:0 0 auto}
  .header .custom-logo-link img,.header .custom-logo{max-width:clamp(130px,15vw,185px)}
  .header-search{flex:0 1 clamp(260px,34vw,430px);min-width:220px;max-width:430px}
  .header nav{flex:0 1 auto;min-width:0;justify-content:flex-end}
  .header nav ul{flex-wrap:nowrap;justify-content:flex-end;gap:clamp(2px,0.45vw,6px)}
  .header .menu-main-container a{padding:7px clamp(6px,0.7vw,10px);font-size:clamp(12px,1.05vw,14px)}
  .header i._mi._before{margin-right:5px}
}
@media (min-width:1200px){
  .left-sidebar,.right-sidebar{flex:0 0 auto;width:16.66666667%}
  .center-content{flex:0 0 auto;width:66.66666667%}
}
@media (min-width:768px) and (max-width:1199px){
  .left-sidebar{display:none}
  .center-content{flex:0 0 auto;width:75%}
  .right-sidebar{flex:0 0 auto;width:25%;padding:1.25rem 0.9rem}
}
@media (max-width:767px){
  .site-header-wrap{position:relative}
  .site-topbar__inner{padding-left:1rem;padding-right:1rem}
  .left-sidebar{display:none}
  .center-content,.right-sidebar{flex:0 0 auto;width:100%}
  .center-content{padding:1rem}
  .right-sidebar{padding:1rem;border-top:1px solid var(--color-border);box-shadow:none}
  .post{padding:1rem;margin-bottom:1rem}
  .post-card-aside{float:none;display:flex;flex-wrap:wrap;align-items:center;gap:0.25rem 0.65rem;max-width:100%;margin:0 0 0.45rem}
  .post-card-aside .post-rating{display:inline-block;margin-top:0}
  .post-tags .tag{padding:4px 8px}
  .front-page-intro{margin-bottom:1.5rem}
  .recent-posts-section{margin-top:1.5rem}
  .post-tweet-embed{margin:1.25rem 0}
  .post-tweet-embed__title{font-size:0.95rem}
  .btn-primary,a.btn-primary,button.btn-primary,input[type="submit"].btn-primary,.btn-secondary,a.btn-secondary,button.btn-secondary{min-height:44px;padding:10px 16px}
}
@media (max-width:640px){
  .site-topbar__inner{align-items:stretch;gap:0.35rem}
  .site-topbar__quotes{flex-basis:auto;align-self:stretch;width:100%}
  .site-topbar__aside{justify-content:flex-start}
  .site-topbar__aside .site-topbar__hello{display:none}
  .site-topbar__quote{text-align:left!important}
  .home-intro-card__inner{padding:1.35rem 0.85rem 1.5rem}
  .home-intro-card__title{font-size:clamp(1.45rem, 8vw, 2rem)}
  .home-intro-card__text{padding:0;font-size:0.925rem}
  .home-intro-card__text--secondary{padding:0;font-size:0.875rem}
  .recent-posts-section__head--link-only{justify-content:stretch}
  .recent-posts-section__all{justify-content:center;width:100%;min-height:44px}
  .footer{padding:0.85rem 0.75rem}
  .footer nav ul,.footer #menu-main-1{justify-content:start}
  .footer #menu-main-1{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:start;gap:0.35rem}
  .footer #menu-main-1 li{width:auto;margin:0}
  .footer .menu-main-container a,.footer #menu-main-1 a{display:flex;justify-content:flex-start;align-items:center;padding:0.6rem 0.45rem;text-align:left;white-space:normal}
}
@media (max-width:420px){
  .center-content{padding:0.75rem}
  .post{padding:0.85rem}
  .post-thumbnail{flex-basis:42px}
  .post-thumbnail img{width:42px;height:42px}
  .post-info h2{font-size:1rem}
  .post-card-aside{font-size:0.75rem}
  .post-card-aside .post-rating{font-size:0.7rem}
  .post-tags{gap:0.3rem}
  .post-tags .tag{font-size:0.8rem}
  .footer #menu-main-1{grid-template-columns:1fr;justify-items:start}
}

/* ==========================================================================
   BellCrier Academy additions
   ========================================================================== */

.screen-reader-text{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

/* Native search form (core get_search_form markup). */
.header-search .search-form{display:flex;width:100%;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-deep);overflow:hidden}
.header-search .search-form:focus-within{border-color:rgba(59,130,246,0.45);box-shadow:0 0 0 3px rgba(59,130,246,0.12)}
.header-search .search-form label{flex:1 1 auto;min-width:0;display:flex}
.header-search .search-field{width:100%;min-height:44px;padding:0 12px;border:0;background:transparent;color:var(--color-text);font-family:var(--font-body);font-size:15px;outline:none}
.header-search .search-field::placeholder{color:var(--color-text-soft)}
.header-search .search-submit{flex:0 0 auto;padding:0 16px;border:0;border-left:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-family:var(--font-body);font-weight:600;cursor:pointer}
.header-search .search-submit:hover{color:var(--color-accent);background:var(--color-accent-light)}

/* Topbar account links. */
.site-topbar__link{color:var(--color-text-secondary);font-weight:500;white-space:nowrap}
.site-topbar__link:hover{color:var(--color-accent)}
.site-topbar__cta{padding:3px 10px;border:1px solid rgba(59,130,246,0.45);border-radius:999px;color:var(--color-text);font-weight:600;white-space:nowrap}
.site-topbar__cta:hover{background:var(--color-accent-light);color:var(--color-text)}
.site-topbar__badge,.exclusive-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;background:var(--gradient-brand);color:#fff;font-size:0.72rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;white-space:nowrap}
.exclusive-badge{margin:0 0 0.5rem}

/* Star rating: five stars filled to --rating (0–5), no icon font needed. */
.star-meter{--star-on:#3b82f6;--star-off:rgba(243,246,251,0.35);display:inline-block;font-size:13px;letter-spacing:1px;line-height:1;background:linear-gradient(90deg,var(--star-on) calc(var(--rating) / 5 * 100%),var(--star-off) 0);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}

/* Locked view of an exclusive post. */
.exclusive-locked__body{margin-top:0.5rem}
.exclusive-locked__lead{display:flex;align-items:center;gap:0.5rem;color:var(--color-text)!important;font-weight:600}
.exclusive-locked__lead svg{color:var(--color-accent);flex:0 0 auto}
.exclusive-locked__actions{display:flex;flex-wrap:wrap;gap:0.75rem}

/* Mobile menu toggle (replaces the WP Mobile Menu plugin). */
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:10px;background:transparent;color:var(--color-text);cursor:pointer}
.nav-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform 0.2s ease,opacity 0.2s ease}
.nav-toggle__bars{position:relative}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-6px}
.nav-toggle__bars::after{top:6px}
.is-nav-open .nav-toggle__bars{background:transparent}
.is-nav-open .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.is-nav-open .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1024px){
  .header{flex-direction:row;flex-wrap:wrap;align-items:center}
  .header .logo{order:1;flex:1 1 auto;text-align:left;margin:0}
  .nav-toggle{display:inline-flex;order:2}
  .header-search{order:3;flex:1 1 100%;min-width:0;margin:0}
  .header nav{order:4;flex-basis:100%;display:none;margin:0}
  .header.is-nav-open nav{display:block}
  .header nav ul{flex-direction:column;align-items:stretch;gap:2px}
  .header nav ul li a{display:flex;align-items:center;min-height:44px}
}

/* The logo is an SVG without intrinsic size; give it a width so flex layout can't collapse it. */
.header .custom-logo{display:block;width:clamp(150px,14vw,210px);max-width:none;height:auto}
@media (max-width:1024px){
  .header .custom-logo{width:clamp(130px,40vw,180px)}
}

/* Member pages: /login, /signup, /reset-password, /account (and themed message pages). */
.member-page{display:flex;justify-content:center;padding:clamp(1.5rem,5vw,3.5rem) 16px;min-height:60vh}
.member-card{width:100%;max-width:30rem;padding:clamp(1.25rem,4vw,2rem);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-post);color:var(--color-text-muted)}
.member-card__title{margin:0 0 0.5rem;color:var(--color-text);font-size:clamp(1.4rem,4vw,1.8rem);line-height:1.2}
.member-card__lead{margin:0 0 1.25rem}
.member-card p{margin:0 0 1rem}
.member-form{margin:0}
.member-field label{display:block;margin-bottom:0.35rem;color:var(--color-text-secondary);font-size:0.9rem;font-weight:500}
.member-field input{display:block;width:100%;box-sizing:border-box;min-height:44px;padding:0 12px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-deep);color:var(--color-text);font-size:16px}
.member-field input:focus{outline:none;border-color:rgba(59,130,246,0.55);box-shadow:0 0 0 3px rgba(59,130,246,0.15)}
.member-check label{display:flex;align-items:center;gap:0.5rem;cursor:pointer}
.member-check input{width:18px;height:18px;accent-color:var(--color-accent)}
.member-actions{display:flex;flex-wrap:wrap;gap:0.75rem}
.member-links{margin:1.25rem 0 0!important;font-size:0.9rem}
.member-links span{margin:0 0.4rem}
.member-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.member-section{padding:1.25rem 0;border-top:1px solid var(--color-border)}
.member-section:first-of-type{border-top:0;padding-top:0.25rem}
.member-section h2{margin:0 0 0.75rem;color:var(--color-text);font-size:1.1rem}
.member-section--danger h2{color:#f87171}
.member-plan{display:inline-flex;padding:2px 9px;border:1px solid var(--color-border-light);border-radius:999px;color:var(--color-text-secondary);font-size:0.72rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase}
.btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid rgba(248,113,113,0.5);border-radius:8px;background:transparent;color:#fca5a5;font-family:var(--font-body);font-weight:600;cursor:pointer}
.btn-danger:hover{background:rgba(248,113,113,0.12);color:#fecaca}
.form-notice{margin:0 0 1rem;padding:0.75rem 1rem;border-radius:10px;font-size:0.92rem;line-height:1.5}
.form-notice--ok{border:1px solid rgba(52,211,153,0.4);background:rgba(52,211,153,0.1);color:#a7f3d0}
.form-notice--error{border:1px solid rgba(248,113,113,0.45);background:rgba(248,113,113,0.1);color:#fecaca}
