/* ==========================================================================
   Layout fixes for static site
   Compensates for missing Elementor JS and WP dynamic styles
   ========================================================================== */

/* --- Elementor layout --- */
.elementor-popup-modal,
.elementor-location-popup{display:none!important}
.ast-container,
.ast-container-fluid{padding-left:0;padding-right:0}
.elementor-section-stretched{width:100%!important;max-width:100%!important;margin-left:0!important;left:0!important}
.e-con-boxed>.e-con-inner{max-width:min(var(--content-width,1140px),100vw - 40px)!important;margin-left:auto!important;margin-right:auto!important}
.e-con-boxed>.e-con-inner>.e-con{max-width:100%!important}
.key-grid-box{max-width:100%!important}
footer.site-footer{display:block!important}

/* --- Sticky header --- */
.elementor-element-74e01a7{position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:9999!important}
.elementor-28298{min-height:100px}
.eael-simple-menu-container .eael-simple-menu.eael-simple-menu-horizontal li{padding-bottom:5px}

/* --- Scroll-to-top button --- */
@font-face{font-family:wpxpress;src:url("/assets/fonts/wpxpress.woff") format("woff");font-display:block}
.progress-wrap{position:fixed;cursor:pointer;z-index:10000;opacity:0;visibility:hidden;transform:translateY(15px);transition:200ms linear}
.progress-wrap.active-progress{opacity:1;visibility:visible;transform:translateY(0)}
.progress-wrap::after{position:absolute;top:0;left:0;z-index:1;display:block;text-align:center;width:46px;height:46px;line-height:46px;content:"\e900";font-family:wpxpress;transition:200ms linear}
.progress-wrap svg path{fill:none}

/* --- Nav dropdown --- */
.eael-simple-menu.eael-simple-menu-horizontal li ul{
  background:#fff;
  box-shadow:0 8px 30px rgba(31,60,78,.12),0 2px 8px rgba(31,60,78,.06);
  border-radius:12px;
  padding:8px 0;
  border:1px solid rgba(100,103,154,.08);
  min-width:220px;
  margin-top:8px;
  overflow:hidden
}
.eael-simple-menu.eael-simple-menu-horizontal li ul li a.menu-link{
  padding:10px 20px!important;
  font-size:14px;
  color:#1F3C4E;
  transition:all .15s ease;
  border-left:3px solid transparent;
  display:block
}
.eael-simple-menu.eael-simple-menu-horizontal li ul li a.menu-link:hover{
  background:linear-gradient(90deg,rgba(171,163,220,.1),rgba(244,174,192,.06));
  color:#64679A;
  border-left-color:#ABA3DC
}
.elementor-widget-eael-simple-menu .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-to-top li ul{transform:translateY(20px);transition:all 300ms}
.elementor-widget-eael-simple-menu .eael-simple-menu.eael-simple-menu-horizontal.eael-simple-menu-dropdown-animate-to-top li:hover>ul{transform:translateY(0)}

/* --- Circular progress ring --- */
.ring-active .elementor-widget-container{animation:progress 2s forwards!important}
.ring-active .elementor-widget-container::before{background:conic-gradient(#1F3C4E calc(var(--percentage) * 1%),var(--secondary) 0)!important}

/* ==========================================================================
   Blog archive pages (author, category, pagination)
   Astra customizer inline styles not captured in scrape
   ========================================================================== */

/* Container - scoped to archive/blog/single-post/page so Elementor pages stay centered */
/* Exclude elementor-template-full-width pages (motivators, plans, etc.) */
body.archive .ast-container,
body.blog .ast-container,
body.single-post .ast-container,
body.page:not(.ast-page-builder-template) .ast-container{max-width:1240px;padding:0 20px;margin:0 auto}

/* --- Archive header --- */
.ast-archive-description{text-align:center;max-width:100%;background-color:transparent;padding:0;margin:0;border-bottom:0}
.ast-archive-description p{font-size:inherit;font-weight:inherit;line-height:inherit}
.ast-archive-description .ast-archive-title,
.ast-archive-description .ast-archive-title *{font-family:Montserrat,sans-serif;font-weight:700;font-size:2.813vw;line-height:3.438vw;letter-spacing:-0.01em;color:#000;text-align:center;margin:0}
.ast-archive-title{color:var(--ast-global-color-2)}
.ast-archive-entry-banner{display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative;background:#eee}
.site-content section.ast-archive-description{margin-bottom:2em}
.ast-author-box{display:flex;align-items:center;justify-content:center}
.ast-author-bio{flex:1 1 0%;text-align:center}
body.archive .ast-archive-description{max-width:100%;width:100%;text-align:center;padding:0}
body.archive .ast-archive-description .ast-archive-title,
body.archive .ast-archive-description .ast-archive-title *{font-weight:700;font-size:clamp(1.5rem,2.813vw,3.5rem);line-height:clamp(2rem,3.438vw,4rem)}
body.archive .ast-archive-description>:not(:last-child){margin-bottom:10px}

/* --- Blog grid cards --- */
.archive .ast-article-post .ast-article-inner,
.blog .ast-article-post .ast-article-inner,
.archive .ast-article-post .ast-article-inner:hover,
.blog .ast-article-post .ast-article-inner:hover{border-radius:6px;overflow:hidden}

.ast-blog-layout-4-grid .ast-row{display:flex;flex-flow:wrap;align-items:stretch}
.ast-blog-layout-4-grid .ast-article-post{width:33.33%;margin-bottom:2em;border-bottom:0;background-color:transparent}

.ast-article-inner{padding:1.5em;background-color:var(--ast-global-color-5)}
.ast-article-inner .post-thumb{margin-bottom:1.563vw}
.ast-blog-layout-4-grid .ast-article-inner{box-shadow:0 6px 15px -2px rgba(16,24,40,.05)}
.ast-blog-layout-4-grid .ast-article-inner .wp-post-image{width:100%;height:20.885vw;max-height:20.885vw;object-fit:cover}

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single,
.ast-separate-container .comment-respond{padding:3em}
.ast-separate-container .ast-article-single .ast-article-single{padding:0}
.ast-separate-container .ast-blog-layout-4-grid .ast-article-post{padding:0 1em}
.ast-separate-container.ast-desktop .ast-blog-layout-4-grid .ast-row{margin-left:-1em;margin-right:-1em}
.ast-separate-container .ast-blog-layout-4-grid .ast-article-inner,
.ast-plain-container .ast-blog-layout-4-grid .ast-article-inner{height:100%}

.ast-row .blog-layout-4 .post-content,
.blog-layout-4 .post-thumb{padding-left:0;padding-right:0}
.ast-article-post.remove-featured-img-padding .blog-layout-4 .post-content .ast-blog-featured-section:first-child .post-thumb-img-content{margin-top:-1.5em}
.ast-article-post.remove-featured-img-padding .blog-layout-4 .post-content .ast-blog-featured-section .post-thumb-img-content{margin-left:-1.5em;margin-right:-1.5em}

/* --- Post thumbnails --- */
.ast-article-post .post-thumb-img-content{overflow:hidden}
.ast-article-post .post-thumb-img-content img{aspect-ratio:16/9;width:100%;object-fit:cover;transform:scale(1);transition:transform .5s}
.ast-article-post:hover .post-thumb-img-content img{transform:scale(1.1)}

/* --- Pagination --- */
.ast-pagination{display:inline-block;width:100%;padding-top:2em;text-align:center}
.ast-pagination .nav-links{display:inline-block;width:100%}
.ast-pagination .page-numbers{display:inline-block;width:2.33333em;height:2.33333em;font-size:1.06666rem;line-height:calc(2.33333em - 3px);font-weight:500}
.ast-pagination .page-numbers.current{color:#fff;border-color:var(--ast-global-color-0);background-color:var(--ast-global-color-0);border-radius:2px}
.ast-pagination .prev.page-numbers{float:left;padding:0 1.5em;height:2.33333em;line-height:calc(2.33333em - 3px);width:auto}
.ast-pagination .next.page-numbers{float:right;display:inherit;padding:0 1.5em;height:2.33333em;line-height:calc(2.33333em - 3px);width:auto}
.ast-pagination a,.nav-links a{color:var(--ast-global-color-3)}

/* --- Responsive --- */
@media(max-width:921px){
  .ast-blog-layout-4-grid .ast-article-post{width:100%}
}
@media(max-width:544px){
  .ast-separate-container .ast-article-post,
  .ast-separate-container .ast-article-single,
  .ast-separate-container .comments-title,
  .ast-separate-container .ast-archive-description{padding:1.5em 1em}
  .ast-separate-container #content .ast-container{padding-left:.54em;padding-right:.54em}
  .ast-comment-formwrap.ast-row{column-gap:10px;display:inline-block}
  #ast-commentform .ast-grid-common-col{position:relative;width:100%}
}
@media(min-width:1201px){
  .ast-separate-container .ast-author-box,
  .ast-separate-container .ast-404-layout-1,
  .ast-separate-container .no-results{padding:3em}
}

/* Elementor divider - missing from widget CSS on static site */
.elementor-divider-separator{
  display:block;
  border-top:var(--divider-border-width, 1px) var(--divider-border-style, solid) var(--divider-color, #8B8B8B)
}
.elementor-divider{padding:15px 0}

/* Blockquote left border */
blockquote{
  border-left:5px solid rgba(0,0,0,0.05);
  padding:20px;
  margin:1.5em 0;
  font-style:italic
}
