/* 1680px outer width includes 24px side gutters (1632px content). */
.bt-site { --bt-gutter:24px; --bt-boxed-width:1632px; }
.bt-site .elementor[data-elementor-type] > .e-con { --container-max-width:1632px; padding-inline:var(--bt-gutter) !important; }
.bt-site .elementor[data-elementor-type] > .e-con > .e-con-inner { max-width:1632px !important; width:100% !important; margin-inline:auto; }
.bt-site .elementor-section.elementor-section-boxed > .elementor-container { padding-inline:var(--bt-gutter); }
.bt-site .site-content > .ast-container { max-width:calc(var(--bt-boxed-width,1140px) + 48px); padding-inline:24px; }
.bt-site.ast-page-builder-template .site-content > .ast-container { max-width:none; padding-inline:0; }
.bt-site .e-con, .bt-site .elementor-widget { min-width:0; }
.bt-site .elementor-widget-text-editor, .bt-site .elementor-heading-title { overflow-wrap:break-word; }
.bt-site .elementor img { max-width:100%; }
.bt-site .elementor-button { white-space:normal; }
.bt-site .elementor-widget-video iframe { max-width:100%; }
.bt-site .elementor-menu-anchor { scroll-margin-top:100px; }

/* Keep Bootstrap's grid inside the existing shortcode. */
.bt-site .bt-bootstrap .custom-blog-grid { display:flex; gap:0; grid-template-columns:none; }
.bt-site .bt-bootstrap .blog-post-card { display:flex; flex-direction:column; background:transparent; box-shadow:none; border:0; border-radius:0; }
.bt-site .bt-bootstrap .blog-post-card > a { display:block; background:#fff; }
.bt-site .bt-bootstrap .blog-post-card > a img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.bt-site .bt-bootstrap .blog-post-card > .elementor-post__text { flex:1; padding:24px; background:#fff; }
.bt-site .bt-bootstrap .elementor-post__title { font-size:clamp(18px,1.4vw,23px); line-height:1.4; }
.bt-site .bt-bootstrap .elementor-post__excerpt { line-height:1.7; }

.bt-mobile-header { display:none; }
.bt-mobile-panel { --bs-body-color:#1e293b; --bs-body-bg:#fff; --bs-border-color-translucent:#dce5df; --bs-offcanvas-width:380px; max-width:calc(100vw - 24px); font-family:inherit; z-index:100001; }
.bt-mobile-panel, .bt-mobile-panel * { box-sizing:border-box; }
.bt-mobile-panel .offcanvas-header { gap:16px; padding:24px; border-bottom:1px solid #e4ebe5; }
.bt-mobile-panel h2 { margin:0; color:#1e293b; font-size:20px; line-height:1.4; }
.bt-menu-close { flex-shrink:0; width:44px; height:44px; padding:0; border:1px solid #dce5df; border-radius:8px; background:#f3f7f4; color:#1e293b; font-size:30px; line-height:1; }
.bt-mobile-panel .offcanvas-body { padding:12px 24px 32px; overscroll-behavior:contain; }
.bt-mobile-panel ul { list-style:none; margin:0; padding:0; }
.bt-mobile-panel li { position:relative; margin:0; border-bottom:1px solid #e8eee9; }
.bt-mobile-panel a { display:flex; align-items:center; min-height:52px; padding:14px 0; color:#1e293b; text-decoration:none; line-height:1.5; overflow-wrap:anywhere; }
.bt-mobile-panel .menu-item-has-children > a { padding-right:48px; }
.bt-mobile-panel .sub-menu { margin:0 0 12px; padding-left:16px; border-left:2px solid #63d855; }
.bt-mobile-panel .sub-menu a { padding-block:12px; font-size:15px; }
.bt-mobile-panel .sub-menu li:last-child { border-bottom:0; }
.bt-mobile-panel .sub-menu[hidden] { display:none; }
.bt-mobile-panel .dropdown-menu-toggle { display:none; }
.bt-submenu-toggle { position:absolute; right:0; top:4px; width:44px; height:44px; padding:0; border:0; border-radius:6px; background:#f0f6f1; color:#226d25; font-size:24px; }
.bt-mobile-panel .current-menu-item > a, .bt-mobile-panel a:hover { color:#237923; font-weight:600; }
.bt-menu-toggle:focus-visible, .bt-menu-close:focus-visible, .bt-submenu-toggle:focus-visible, .bt-mobile-panel a:focus-visible { outline:3px solid #348e31; outline-offset:3px; }
.offcanvas-backdrop { z-index:100000; }

/* Use Bootstrap's xl breakpoint for the compact navigation. */
@media (max-width:1199.98px) {
    .bt-site .elementor-208, .bt-site .elementor-1261 { display:none !important; }
    .bt-mobile-header { display:block; position:sticky; top:0; z-index:99990; background:#fff; box-shadow:0 2px 12px #10281812; }
    .bt-mobile-header-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; width:100%; max-width:calc(var(--bt-boxed-width,1140px) + 48px); min-height:80px; margin:auto; padding:12px 24px; }
    .bt-brand { display:flex; align-items:center; max-width:calc(100% - 108px); }
    .bt-mobile-logo { display:block; width:170px; height:auto; max-height:56px; object-fit:contain; object-position:left center; }
    .bt-menu-toggle { display:flex; justify-content:center; align-items:center; gap:9px; min-width:88px; min-height:44px; padding:8px 12px; border:1px solid #dce5df; border-radius:8px; background:#fff; color:#226d25; font:inherit; font-size:14px; }
    .bt-menu-toggle > span:first-child { font-size:23px; line-height:1; }
    .bt-site.admin-bar .bt-mobile-header { top:32px; }
    .bt-site .elementor-149 > .elementor-element-d8db1fc { min-height:0; padding-block:56px !important; }
    .bt-site .elementor-149 > .elementor-element-d8db1fc > .e-con-inner { min-height:0; }
}
@media (max-width:991.98px) {
    .bt-site .elementor-149 > .elementor-element-2877858 > .e-con-inner { flex-wrap:wrap; gap:32px; }
    .bt-site .elementor-149 > .elementor-element-2877858 > .e-con-inner > .e-con { flex:1 1 calc(50% - 32px); width:auto; min-height:0; }
    .bt-site .elementor-1132 > .e-con > .e-con-inner { flex-wrap:wrap; gap:32px; }
    .bt-site .elementor-1132 > .e-con > .e-con-inner > .e-con { flex:1 1 calc(50% - 32px); width:auto; padding-inline:0; }
}
@media (max-width:767.98px) {
    .bt-site .elementor[data-elementor-type="wp-page"] > .e-con { padding-block:36px !important; min-height:0; }
    .bt-site .elementor[data-elementor-type="wp-page"] > .e-con > .e-con-inner { gap:24px; min-height:0; }
    .bt-site .elementor[data-elementor-type="wp-page"] > .e-con > .e-con-inner > .e-con { width:100% !important; max-width:100%; flex-basis:auto; padding-inline:0 !important; min-height:0; }
    .bt-site .elementor-149 > .elementor-element-d8db1fc { padding-block:40px !important; }
    .bt-site .elementor-149 .elementor-element-2877858 .e-con { min-height:0; }
    .bt-site .elementor[data-elementor-type="wp-page"] .elementor-widget-spacer { --spacer-size:24px !important; }
    .bt-site .elementor-widget-heading .elementor-heading-title { line-height:1.25; }
    .bt-site .elementor-widget-heading h1.elementor-heading-title { font-size:clamp(30px,8vw,44px) !important; }
    .bt-site .elementor-widget-heading h2.elementor-heading-title { font-size:clamp(25px,6vw,34px) !important; }
    .bt-site .elementor-widget-heading h3.elementor-heading-title { font-size:clamp(21px,5vw,28px) !important; }
    .bt-site .elementor-widget-text-editor { font-size:16px; line-height:1.7; }
    .bt-site .elementor-button { min-height:44px; max-width:100%; }
    .bt-site .elementor-1132 > .e-con { padding-block:32px !important; }
    .bt-site .elementor-1132 > .e-con > .e-con-inner > .e-con { flex-basis:100%; width:100%; padding:0 !important; }
    .bt-site .bt-bootstrap .blog-post-card > .elementor-post__text { padding:20px; }
}
@media (max-width:782px) { .bt-site.admin-bar .bt-mobile-header { top:46px; } }
@media (max-width:600px) { .bt-site.admin-bar .bt-mobile-header { top:0; } }
@media (prefers-reduced-motion:reduce) { .bt-mobile-panel, .offcanvas-backdrop { transition:none !important; } }
/* Replace the old fixed-header compensation with the sticky mobile header. */
@media (max-width:1199.98px) { body.bt-site { padding-top:0 !important; } }
.bt-site .bt-bootstrap .row { --bs-gutter-x:24px; --bs-gutter-y:24px; }
@media (max-width:767.98px) {
    .bt-site .elementor-149 .elementor-element-d8db1fc h2.elementor-heading-title { font-size:clamp(34px,9vw,44px) !important; }
}

@media (max-width:1199.98px) {
    .bt-site .elementor-149 > .elementor-element-d8db1fc .e-con { min-height:0 !important; }
}
.bt-site .bt-menu-toggle:is(:hover,:focus,:active),
.bt-site .bt-menu-close:is(:hover,:focus,:active),
.bt-site .bt-submenu-toggle:is(:hover,:focus,:active) { background:#eaf5e9; color:#226d25; border-color:#7dba79; }
@media (max-width:767.98px) {
    .bt-site .elementor-149 > .elementor-element-d8db1fc .e-con,
    .bt-site .elementor-149 > .elementor-element-d8db1fc > .e-con-inner { padding:0 !important; }
    .bt-site .elementor-149 > .elementor-element-d8db1fc .elementor-widget-spacer { display:none; }
}


