/* ==========================================================
   Flint Insights: layout layer for the PHP templates.
   flint-blog.css holds the design (colours, type, motion).
   This file supplies the page structure that the page builder
   used to provide, and makes the theme container full width.
   ========================================================== */

/* ---- theme container: let the blog sections run edge to edge ---- */
body.fl-insights-page .site-content > .ast-container,
body.fl-insights-page #content > .ast-container{max-width:none!important;width:100%!important;padding:0!important;display:block!important}
body.fl-insights-page .site-content{padding:0!important}
body.fl-insights-page.ast-separate-container{background-color:#fff}

.fl-blog{width:100%;max-width:none;margin:0;background:#fff;text-align:left;-webkit-font-smoothing:antialiased}
.fl-blog .fl-sec{padding-left:24px;padding-right:24px;margin:0}
.fl-blog .fl-wrap{width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.fl-blog .elementor-heading-title{margin:0;padding:0}
.fl-blog .fl-hero .elementor-heading-title{max-width:900px}
.fl-blog a{box-shadow:none}

/* ---- section spacing ---- */
.fl-blog .fl-hero--archive{padding-top:72px;padding-bottom:56px}
.fl-blog .fl-hero--archive .fl-wrap{gap:18px}
.fl-blog .fl-hero--single{padding-top:84px;padding-bottom:64px}
.fl-blog .fl-feed{padding-top:64px;padding-bottom:96px}
.fl-blog .fl-feed .fl-wrap{gap:32px}
.fl-blog .fl-related{padding-top:72px;padding-bottom:88px}
.fl-blog .fl-related .fl-wrap{gap:28px}
.fl-blog .fl-article{padding-top:64px;padding-bottom:32px}
.fl-blog .fl-postnav{padding-top:8px;padding-bottom:56px;background:#fff}
.fl-blog .fl-cta{padding-top:84px;padding-bottom:84px}

/* ---- buttons ---- */
.fl-blog .elementor-button{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}
.fl-blog .elementor-button:hover,.fl-blog .elementor-button:focus{text-decoration:none}

/* ---- category tabs ---- */
.fl-blog .fl-pills{flex-direction:row;flex-wrap:wrap;align-items:center}
.fl-blog .fl-cats ul{margin:0;padding:0}
.fl-blog .fl-cats li a{text-decoration:none}
.fl-blog .fl-tabs .elementor-button:focus-visible,.fl-blog .fl-cats li a:focus-visible{outline:2px solid var(--fl-gold)!important;outline-offset:2px}

/* ---- post cards ---- */
.fl-blog .elementor-posts-container{margin:0;padding:0}
.fl-blog .elementor-post{display:block;padding:0;border:0;background:none;min-width:0}
.fl-blog .elementor-post__card{position:relative}
.fl-blog .elementor-post__thumbnail__link{display:block;position:relative;margin:0}
.fl-blog .elementor-post__thumbnail{position:relative;overflow:hidden}
.fl-blog .elementor-post__thumbnail img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.fl-blog .elementor-post__badge{position:absolute;top:0;left:0;z-index:2}
.fl-blog .elementor-post__title a,.fl-blog .elementor-post__read-more{text-decoration:none}
.fl-blog .elementor-post__title a:hover{color:var(--fl-gold-ink)!important}
.fl-blog .fl-empty{font-size:17px;color:var(--fl-muted);margin:0}

/* ---- pagination ---- */
.fl-blog .elementor-pagination{text-align:center}
.fl-blog .elementor-pagination .page-numbers{padding:0 12px}
.fl-blog .elementor-pagination a.page-numbers:hover{border-color:var(--fl-gold)}

/* ---- single post: content + sidebar ---- */
.fl-blog .fl-article-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:64px}
.fl-blog .fl-main{flex:1 1 auto;min-width:0;margin:0;padding:0}
.fl-blog .fl-side{width:320px;flex:none;display:flex;flex-direction:column;gap:28px}
.fl-blog .fl-content > *:first-child{margin-top:0}
.fl-blog .fl-content h2{scroll-margin-top:120px}
.fl-blog .fl-content ul li::marker{content:""}
.fl-blog .fl-content ol{margin:0 0 22px;padding-left:22px}
.fl-blog .fl-content ol li{margin:0 0 10px}
.fl-blog .fl-content .fl-inline-cta p{margin:0}
.fl-blog .fl-meta time{font:inherit;color:inherit}

.fl-blog .fl-toc ul{list-style:none;margin:0;padding:0}
.fl-blog .fl-toc li{margin:0;padding:0;list-style:none}
.fl-blog .fl-toc .elementor-toc__header-title{margin:0}

.fl-blog .fl-side-cta{display:flex;flex-direction:column;gap:14px}
.fl-blog .fl-side-cta .elementor-heading-title{margin:0}

.fl-blog .fl-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fl-blog .fl-share-label{width:100%;font-family:var(--fl-ui);font-size:14px;font-weight:600;color:var(--fl-gold-ink)}
.fl-blog .fl-share .elementor-share-btn{display:inline-flex;align-items:center;padding:8px 12px;font-family:var(--fl-ui);font-size:13px;font-weight:600;line-height:1.2;color:var(--fl-ink);text-decoration:none;transition:border-color .2s}

/* ---- previous / next ---- */
.fl-blog .elementor-post-navigation{display:flex;justify-content:space-between;gap:28px}
.fl-blog .elementor-post-navigation > div{flex:1 1 50%;min-width:0}
.fl-blog .elementor-post-navigation__next{text-align:right}
.fl-blog .elementor-post-navigation a{display:inline-flex;align-items:center;gap:14px;text-decoration:none;max-width:100%}
.fl-blog .elementor-post-navigation a > span:not(.post-navigation__arrow-wrapper){display:flex;flex-direction:column;gap:4px;min-width:0}
.fl-blog .post-navigation__arrow-wrapper{color:var(--fl-gold-ink);font-size:20px;line-height:1}
.fl-blog .elementor-post-navigation a:hover .post-navigation__prev--title,
.fl-blog .elementor-post-navigation a:hover .post-navigation__next--title{color:var(--fl-gold-ink)!important}

/* ---- CTA band ---- */
.fl-blog .fl-cta-row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
.fl-blog .fl-cta-copy{display:flex;flex-direction:column;gap:14px;flex:1 1 55%;max-width:640px}
.fl-blog .fl-cta-buttons{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}

/* ---- responsive ---- */
@media (max-width:1024px){
  .fl-blog .fl-article-row{flex-direction:column;gap:48px}
  .fl-blog .fl-main{width:100%}
  .fl-blog .fl-side{width:100%}
  .fl-blog .fl-content{max-width:none}
}
@media (max-width:767px){
  .fl-blog .fl-hero--archive{padding-top:48px;padding-bottom:40px}
  .fl-blog .fl-hero--single{padding-top:52px;padding-bottom:44px}
  .fl-blog .fl-feed{padding-top:44px;padding-bottom:64px}
  .fl-blog .fl-article{padding-top:40px}
  .fl-blog .fl-cta{padding-top:56px;padding-bottom:56px}
  .fl-blog .fl-cta-row{flex-direction:column;align-items:flex-start}
  .fl-blog .fl-cta-copy{flex-basis:auto}
  .fl-blog .elementor-post-navigation{flex-direction:column;gap:18px}
  .fl-blog .elementor-post-navigation__next{text-align:left}
}

/* ---- links inside the banner never pick up the theme underline ---- */
.fl-blog .fl-meta a,.fl-blog .fl-crumbs a{text-decoration:none}
.fl-blog .fl-meta a:hover{text-decoration:underline}
