/* ==========================================================================
   MBC theme — main.css
   Rule of the house: this file styles THEME chrome only (header, footer,
   post/archive templates, utility classes prefixed .mbc-t-).
   It must never restyle the calculator plugin. Anything that could reach
   inside .mbc is written with :where() (zero specificity) or explicitly
   excluded with :not(.mbc):not(.mbc *).
   ========================================================================== */

/* ---------- Fonts (self-hosted, latin subset) ---------- */
@font-face{font-family:"Manrope";src:url("../fonts/manrope-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Manrope";src:url("../fonts/manrope-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Manrope";src:url("../fonts/manrope-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap;}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}

/* ---------- Tokens ---------- */
:root{
	--mbc-primary:#16181D;
	--mbc-accent:#A3E635;
	--mbc-text:#0D0E11;
	--mbc-muted:#5B5F6B;
	--mbc-bg:#F7F8F5;
	--mbc-surface:#FFFFFF;
	--mbc-on-dark-muted:#B8BCC6;
	--mbc-line:#E3E5E0;
	--mbc-line-dark:#2A2D35;

	--mbc-font:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--mbc-display:"Archivo","Manrope",system-ui,sans-serif;

	--mbc-radius:14px;
	--mbc-radius-sm:10px;
	--mbc-shadow:0 1px 2px rgba(13,14,17,.05),0 8px 24px rgba(13,14,17,.06);
	--mbc-shadow-lg:0 2px 4px rgba(13,14,17,.06),0 18px 40px rgba(13,14,17,.10);
	--mbc-wrap:1180px;
	--mbc-header-h:68px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--mbc-header-h) + 16px);}
body{
	margin:0;
	background:var(--mbc-bg);
	color:var(--mbc-text);
	font-family:var(--mbc-font);
	font-weight:400;
	font-size:17px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
}
:where(img,svg,video){max-width:100%;height:auto;}
:where(a){color:var(--mbc-text);text-decoration-color:rgba(13,14,17,.25);text-underline-offset:3px;}
:where(a:hover){text-decoration-color:var(--mbc-text);}
:where(h1,h2,h3,h4){font-family:var(--mbc-display);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em;}
:where(h1){font-size:clamp(2.1rem,1.4rem + 2.4vw,3.2rem);}
:where(h2){font-size:clamp(1.6rem,1.2rem + 1.4vw,2.25rem);}
:where(h3){font-size:1.35rem;}
:where(h4){font-size:1.12rem;font-family:var(--mbc-font);font-weight:800;letter-spacing:-.01em;}
:where(p,ul,ol){margin:0 0 1.1em;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;}
.mbc-t-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--mbc-accent);color:var(--mbc-primary);padding:10px 16px;font-weight:800;border-radius:0 0 8px 0;}
.mbc-t-skip:focus{left:0;}
:focus-visible{outline:3px solid var(--mbc-accent);outline-offset:2px;}

.mbc-t-wrap{width:min(100% - 32px,var(--mbc-wrap));margin-inline:auto;}

/* ==========================================================================
   Header
   ========================================================================== */
.mbc-t-header{
	position:sticky;top:0;z-index:900;
	background:var(--mbc-primary);
	color:#fff;
	border-bottom:1px solid var(--mbc-line-dark);
}
body.admin-bar .mbc-t-header{top:32px;}
@media (max-width:782px){body.admin-bar .mbc-t-header{top:46px;}}

.mbc-t-header__bar{
	width:min(100% - 32px,1320px);margin-inline:auto;
	min-height:var(--mbc-header-h);
	display:flex;align-items:center;gap:18px;
}
.mbc-t-logo{display:flex;align-items:center;flex:0 0 auto;padding:10px 0;text-decoration:none;}
.mbc-t-logo img{height:34px;width:auto;display:block;}

/* Desktop nav */
.mbc-t-nav{margin-left:6px;flex:1 1 auto;}
.mbc-t-nav > ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;}
.mbc-t-nav__item{position:relative;}
.mbc-t-nav__item > a{
	display:flex;align-items:center;gap:6px;
	padding:10px 12px;border-radius:999px;
	color:#fff;text-decoration:none;
	font-size:.95rem;font-weight:500;white-space:nowrap;
}
.mbc-t-nav__item > a:hover,
.mbc-t-nav__item.is-active > a{background:rgba(255,255,255,.08);}
.mbc-t-nav__item.is-active > a{color:var(--mbc-accent);}
.mbc-t-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.7;}

.mbc-t-dd{
	position:absolute;top:calc(100% + 6px);left:0;
	min-width:266px;
	background:var(--mbc-surface);
	border:1px solid var(--mbc-line);
	border-radius:var(--mbc-radius);
	box-shadow:var(--mbc-shadow-lg);
	padding:8px;
	opacity:0;visibility:hidden;transform:translateY(-6px);
	transition:opacity .14s ease,transform .14s ease,visibility .14s;
}
.mbc-t-nav__item:hover > .mbc-t-dd,
.mbc-t-nav__item:focus-within > .mbc-t-dd,
.mbc-t-nav__item.is-open > .mbc-t-dd{opacity:1;visibility:visible;transform:translateY(0);}
.mbc-t-dd ul{list-style:none;margin:0;padding:0;}
.mbc-t-dd a{
	display:block;padding:9px 12px;border-radius:var(--mbc-radius-sm);
	color:var(--mbc-text);text-decoration:none;font-size:.94rem;
}
.mbc-t-dd a:hover{background:var(--mbc-bg);}
.mbc-t-dd li.is-hub{border-bottom:1px solid var(--mbc-line);margin-bottom:6px;padding-bottom:6px;}
.mbc-t-dd li.is-hub a{font-weight:800;}
.mbc-t-dd li.is-hub a::after{content:" \2192";color:var(--mbc-muted);}

/* Search */
.mbc-t-search{position:relative;flex:0 0 auto;}
.mbc-t-search input[type="search"]{
	width:200px;height:38px;
	padding:0 40px 0 14px;
	border-radius:999px;
	border:1px solid var(--mbc-line-dark);
	background:rgba(255,255,255,.06);
	color:#fff;font:inherit;font-size:.9rem;
}
.mbc-t-search input::placeholder{color:var(--mbc-on-dark-muted);}
.mbc-t-search input:focus{background:rgba(255,255,255,.12);outline:2px solid var(--mbc-accent);outline-offset:1px;}
.mbc-t-search button{
	position:absolute;right:4px;top:4px;width:30px;height:30px;
	display:grid;place-items:center;
	border:0;border-radius:999px;background:transparent;color:var(--mbc-on-dark-muted);cursor:pointer;
}
.mbc-t-search button:hover{color:var(--mbc-accent);}

/* Burger */
.mbc-t-burger{display:none;width:42px;height:38px;border:1px solid var(--mbc-line-dark);border-radius:10px;background:transparent;cursor:pointer;padding:0;}
.mbc-t-burger span{display:block;width:18px;height:2px;background:#fff;margin:3px auto;border-radius:2px;transition:transform .18s ease,opacity .18s ease;}
.mbc-t-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.mbc-t-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.mbc-t-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* Mobile panel */
.mbc-t-mobile{display:none;border-top:1px solid var(--mbc-line-dark);padding:14px 16px 22px;max-height:calc(100dvh - var(--mbc-header-h));overflow-y:auto;}
.mbc-t-search--mobile{display:block;margin-bottom:12px;}
.mbc-t-search--mobile input[type="search"]{width:100%;height:44px;}
.mbc-t-search--mobile button{top:7px;}
.mbc-t-macc{list-style:none;margin:0;padding:0;}
.mbc-t-macc__item{border-bottom:1px solid var(--mbc-line-dark);}
.mbc-t-macc__btn{
	display:flex;width:100%;align-items:center;justify-content:space-between;
	padding:14px 2px;background:transparent;border:0;
	color:#fff;font:inherit;font-weight:500;font-size:1rem;text-align:left;text-decoration:none;cursor:pointer;
}
.mbc-t-macc__btn[aria-expanded="true"]{color:var(--mbc-accent);}
.mbc-t-macc__btn[aria-expanded="true"] .mbc-t-caret{transform:rotate(-135deg) translateY(-2px);}
.mbc-t-macc__panel{list-style:none;margin:0;padding:0 0 12px;}
.mbc-t-macc__panel a{display:block;padding:9px 2px 9px 14px;color:var(--mbc-on-dark-muted);text-decoration:none;font-size:.95rem;}
.mbc-t-macc__panel a:hover{color:#fff;}
.mbc-t-macc__panel li.is-hub a{color:var(--mbc-accent);font-weight:800;}

@media (max-width:1180px){
	.mbc-t-nav{display:none;}
	.mbc-t-burger{display:block;margin-left:auto;}
	.mbc-t-header.is-open .mbc-t-mobile{display:block;}
	.mbc-t-search{display:none;}
}
@media (max-width:520px){
	.mbc-t-logo img{height:28px;}
}

/* ==========================================================================
   Main / content
   ========================================================================== */
.mbc-t-main{display:block;min-height:50vh;}

/* Template-rendered content (posts, archives, fallback pages).
   Elementor pages bypass most of this because Elementor prints its own markup. */
.mbc-t-article{
	width:min(100% - 32px,760px);margin-inline:auto;padding:42px 0 60px;
}
.mbc-t-article--wide{width:min(100% - 32px,var(--mbc-wrap));}
.mbc-t-byline{color:var(--mbc-muted);font-size:.94rem;margin:-.2em 0 1.6em;}
.mbc-t-entry :is(h2,h3){margin-top:1.6em;}
.mbc-t-entry :is(ul,ol):not(.mbc):not(.mbc *){padding-left:1.25em;}
.mbc-t-entry li:not(.mbc *){margin-bottom:.35em;}
.mbc-t-entry li:not(.mbc *)::marker{color:var(--mbc-accent);}
.mbc-t-entry blockquote{margin:1.6em 0;padding:2px 0 2px 18px;border-left:3px solid var(--mbc-accent);color:var(--mbc-muted);}
.mbc-t-entry table:not(.mbc *){width:100%;border-collapse:collapse;font-size:.95rem;}
.mbc-t-entry table:not(.mbc *) :is(th,td){border:1px solid var(--mbc-line);padding:8px 10px;text-align:left;}
.mbc-t-entry table:not(.mbc *) th{background:var(--mbc-surface);font-weight:800;}

/* Reusable blocks for Elementor HTML widgets */
.mbc-t-card{background:var(--mbc-surface);border:1px solid var(--mbc-line);border-radius:var(--mbc-radius);box-shadow:var(--mbc-shadow);padding:22px;}
.mbc-t-band{background:var(--mbc-primary);color:#fff;border-radius:var(--mbc-radius);padding:28px;}
.mbc-t-band :is(h1,h2,h3){color:#fff;}
.mbc-t-band p{color:var(--mbc-on-dark-muted);}
.mbc-t-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;background:var(--mbc-primary);color:#fff;font-weight:800;text-decoration:none;}
.mbc-t-btn:hover{background:#0D0E11;color:#fff;}
.mbc-t-btn--ghost{background:transparent;color:var(--mbc-text);border:1px solid var(--mbc-line);}
.mbc-t-chip{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:var(--mbc-surface);border:1px solid var(--mbc-line);font-size:.9rem;text-decoration:none;}
.mbc-t-chip:hover{border-color:var(--mbc-primary);}
.mbc-t-note{border-left:3px solid var(--mbc-accent);background:var(--mbc-surface);padding:14px 16px;border-radius:0 var(--mbc-radius-sm) var(--mbc-radius-sm) 0;}

/* Post / guide cards */
.mbc-t-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;padding:0;margin:0 0 32px;}
.mbc-t-postcard{background:var(--mbc-surface);border:1px solid var(--mbc-line);border-radius:var(--mbc-radius);box-shadow:var(--mbc-shadow);overflow:hidden;display:flex;flex-direction:column;}
.mbc-t-postcard img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.mbc-t-postcard__body{padding:18px 20px 22px;}
.mbc-t-postcard h2{font-size:1.2rem;margin-bottom:.35em;}
.mbc-t-postcard h2 a{text-decoration:none;}
.mbc-t-postcard h2 a:hover{color:var(--mbc-muted);}
.mbc-t-postcard p{color:var(--mbc-muted);font-size:.95rem;margin:0;}
.mbc-t-meta{color:var(--mbc-muted);font-size:.86rem;margin:0 0 .5em;}

.mbc-t-pagination{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 10px;}
.mbc-t-pagination .page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--mbc-line);background:var(--mbc-surface);text-decoration:none;}
.mbc-t-pagination .page-numbers.current{background:var(--mbc-primary);color:#fff;border-color:var(--mbc-primary);}

.mbc-t-prevnext{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:22px;border-top:1px solid var(--mbc-line);font-size:.95rem;}

/* ==========================================================================
   Footer
   ========================================================================== */
.mbc-t-footer{background:var(--mbc-primary);color:var(--mbc-on-dark-muted);margin-top:60px;}
.mbc-t-footer__inner{
	width:min(100% - 32px,var(--mbc-wrap));margin-inline:auto;
	padding:52px 0 36px;
	display:grid;grid-template-columns:minmax(240px,300px) 1fr;gap:40px;
}
.mbc-t-footer__brand img{width:220px;max-width:60vw;display:block;}
.mbc-t-footer__blurb{margin-top:16px;font-size:.92rem;line-height:1.6;color:var(--mbc-on-dark-muted);}
.mbc-t-footer__cols{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;}
.mbc-t-footer__col .mbc-t-footer__title{font-family:var(--mbc-font);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin:0 0 12px;}
.mbc-t-footer__col ul{list-style:none;margin:0;padding:0;}
.mbc-t-footer__col li{margin-bottom:8px;}
.mbc-t-footer__col a{color:var(--mbc-on-dark-muted);text-decoration:none;font-size:.92rem;}
.mbc-t-footer__col a:hover{color:var(--mbc-accent);}
.mbc-t-footer__bottom{
	border-top:1px solid var(--mbc-line-dark);
	width:min(100% - 32px,var(--mbc-wrap));margin-inline:auto;
	padding:18px 0 30px;
	display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
	font-size:.84rem;color:var(--mbc-on-dark-muted);
}
.mbc-t-footer__bottom p{margin:0;max-width:72ch;}

@media (max-width:1000px){
	.mbc-t-footer__inner{grid-template-columns:1fr;gap:32px;}
	.mbc-t-footer__cols{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:640px){
	.mbc-t-footer__cols{grid-template-columns:repeat(2,1fr);}
}

/* ==========================================================================
   Print — theme chrome only. Calculator print isolation is the plugin's job.
   ========================================================================== */
@media print{
	.mbc-t-header,.mbc-t-footer,.mbc-t-skip,.mbc-t-mobile,.mbc-t-pagination,.mbc-t-prevnext{display:none!important;}
	body{background:#fff;font-size:12pt;}
	.mbc-t-main{margin:0;}
}

/* Standalone search form (404 / widgets) */
.mbc-t-searchform{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.mbc-t-searchform input[type="search"]{flex:1 1 240px;height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--mbc-line);background:var(--mbc-surface);font:inherit;}
.mbc-t-hero-img img{border-radius:var(--mbc-radius);}
