/* Homepage-specific styles */

/* Prevent hover states on bylines and other elements that shouldn't have them */
body.home .section__byline,
body.page-template-home .section__byline,
body.home .section__byline a,
body.page-template-home .section__byline a,
body.home .section__byline:hover,
body.page-template-home .section__byline:hover,
body.home .section__byline a:hover,
body.page-template-home .section__byline a:hover,
body.home .font-pre-heading.fw-bold,
body.page-template-home .font-pre-heading.fw-bold,
body.home .font-pre-heading.fw-bold:hover,
body.page-template-home .font-pre-heading.fw-bold:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
}

/* Prevent hover states on bylines with inline styles */
body.home div[style*="font-family:'Geist'"],
body.page-template-home div[style*="font-family:'Geist'"],
body.home div[style*="font-family:'Geist'"]:hover,
body.page-template-home div[style*="font-family:'Geist'"]:hover,
body.home div[style*="font-weight:200"],
body.page-template-home div[style*="font-weight:200"],
body.home div[style*="font-weight:200"]:hover,
body.page-template-home div[style*="font-weight:200"]:hover,
body.home div[style*="font-size:10px"],
body.page-template-home div[style*="font-size:10px"],
body.home div[style*="font-size:10px"]:hover,
body.page-template-home div[style*="font-size:10px"]:hover,
body.home div[style*="text-transform:uppercase"],
body.page-template-home div[style*="text-transform:uppercase"],
body.home div[style*="text-transform:uppercase"]:hover,
body.page-template-home div[style*="text-transform:uppercase"]:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
}

/* Prevent hover states on excerpts and other text elements */
body.home div[style*="color:#666"],
body.page-template-home div[style*="color:#666"],
body.home div[style*="color:#666"]:hover,
body.page-template-home div[style*="color:#666"]:hover,
body.home div[style*="color: #666"],
body.page-template-home div[style*="color: #666"],
body.home div[style*="color: #666"]:hover,
body.page-template-home div[style*="color: #666"]:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
}

/* Prevent hover states on text-muted elements and excerpts */
body.home .text-muted,
body.page-template-home .text-muted,
body.home .text-muted:hover,
body.page-template-home .text-muted:hover,
body.home .text-secondary,
body.page-template-home .text-secondary,
body.home .text-secondary:hover,
body.page-template-home .text-secondary:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
}

/* Remove hover effects from homepage billboard bylines */
body.home .homepage-billboard-block .text-muted,
body.page-template-home .homepage-billboard-block .text-muted,
body.home .homepage-billboard-block .text-muted:hover,
body.page-template-home .homepage-billboard-block .text-muted:hover,
body.home .homepage-billboard-block div[style*="font-family:Geist"][style*="font-weight:200"],
body.page-template-home .homepage-billboard-block div[style*="font-family:Geist"][style*="font-weight:200"],
body.home .homepage-billboard-block div[style*="font-family:Geist"][style*="font-weight:200"]:hover,
body.page-template-home .homepage-billboard-block div[style*="font-family:Geist"][style*="font-weight:200"]:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
    transform: none !important;
}

/* Additional byline hover removal for homepage billboard */
.homepage-billboard-block .text-muted,
.homepage-billboard-block .text-muted:hover,
.homepage-billboard-block div[style*="font-family:Geist"][style*="font-weight:200"],
.homepage-billboard-block div[style*="font-family:Geist"][style*="font-weight:200"]:hover,
.homepage-billboard-block div[style*="font-family:Geist"][style*="font-size:10px"],
.homepage-billboard-block div[style*="font-family:Geist"][style*="font-size:10px"]:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
    transform: none !important;
}

/* Remove hover effects from bylines within links */
.homepage-billboard-block a:hover .text-muted,
.homepage-billboard-block a:hover div[style*="font-family:Geist"][style*="font-weight:200"],
.homepage-billboard-block a:hover div[style*="font-family:Geist"][style*="font-size:10px"] {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
    transform: none !important;
}

/* Prevent hover states on excerpts with Source Serif 4 font */
body.home div[style*="font-family:'Source Serif 4'"],
body.page-template-home div[style*="font-family:'Source Serif 4'"],
body.home div[style*="font-family:'Source Serif 4'"]:hover,
body.page-template-home div[style*="font-family:'Source Serif 4'"]:hover,
body.home div[style*="font-family: 'Source Serif 4'"],
body.page-template-home div[style*="font-family: 'Source Serif 4'"],
body.home div[style*="font-family: 'Source Serif 4'"]:hover,
body.page-template-home div[style*="font-family: 'Source Serif 4'"]:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
}

/* Prevent hover states on homepage latest items */
body.home .homepage-latest-item,
body.page-template-home .homepage-latest-item,
body.home .homepage-latest-item:hover,
body.page-template-home .homepage-latest-item:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
}

/* Remove hover effects from first story in homepage latest block */
body.home .homepage-latest-block .homepage-latest-item:first-child,
body.page-template-home .homepage-latest-block .homepage-latest-item:first-child,
body.home .homepage-latest-block .homepage-latest-item:first-child:hover,
body.page-template-home .homepage-latest-block .homepage-latest-item:first-child:hover {
    transform: none !important;
    transition: none !important;
    cursor: default !important;
}





/* Prevent hover states on specific div elements that shouldn't have hover effects */
body.home .font-pre-heading.fw-bold.d-flex,
body.page-template-home .font-pre-heading.fw-bold.d-flex,
body.home .font-pre-heading.fw-bold.d-flex:hover,
body.page-template-home .font-pre-heading.fw-bold.d-flex:hover,
body.home div[style*="font-family:Resolve Sans Medium Wide"],
body.page-template-home div[style*="font-family:Resolve Sans Medium Wide"],
body.home div[style*="font-family:Resolve Sans Medium Wide"]:hover,
body.page-template-home div[style*="font-family:Resolve Sans Medium Wide"]:hover {
    color: inherit !important;
    text-decoration: none !important;
    transition: none !important;
    cursor: default !important;
}

/* Story titles hover effect with transition */
.homepage-list-item a,
.homepage-list-title-text a,
.branded-square-title a,
.branded-square-card a,
.vpc-title a,
.teaser_partner_more a,
.post-container-custom-block a,
.homepage-list-block a {
    transition: color 0.3s ease;
}

.homepage-list-item a:hover,
.homepage-list-title-text a:hover,
.branded-square-title a:hover,
.branded-square-card a:hover,
.vpc-title a:hover,
.teaser_partner_more a:hover,
.post-container-custom-block a:hover,
.homepage-list-block a:hover {
    color: #f53c60 !important;
    text-decoration: none;
}

/* Additional hover effects for different story title selectors */
.homepage-list-item h3 a,
.homepage-list-item h4 a,
.homepage-list-item h5 a,
.branded-square-content h3 a,
.vpc-content h4 a,
.teaser_partner_more h3 a,
.teaser_partner_more h4 a,
.post-container-custom-block h3 a,
.post-container-custom-block h4 a {
    transition: color 0.3s ease;
}

.homepage-list-item h3 a:hover,
.homepage-list-item h4 a:hover,
.homepage-list-item h5 a:hover,
.branded-square-content h3 a:hover,
.vpc-content h4 a:hover,
.teaser_partner_more h3 a:hover,
.teaser_partner_more h4 a:hover,
.post-container-custom-block h3 a:hover,
.post-container-custom-block h4 a:hover {
    color: #f53c60 !important;
    text-decoration: none;
}

/* Ensure the hover effect works for all story title links on homepage */
.homepage-list-item a[href*="adweek.com"]:hover,
.homepage-list-item a[href*="qa.adweek.com"]:hover,
.branded-square-card a[href*="adweek.com"]:hover,
.branded-square-card a[href*="qa.adweek.com"]:hover,
.vpc-title a[href*="adweek.com"]:hover,
.vpc-title a[href*="qa.adweek.com"]:hover {
    color: #f53c60 !important;
    text-decoration: none !important;
}

/* Fix branded squares row block section title width */
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    box-sizing: border-box !important;
    flex-basis: 100px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* Override any Bootstrap width classes */
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase.w-auto,
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase.w-100,
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase.w-75,
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase.w-50,
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase.w-25 {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
}

/* Make branded-squares-under-block match branded-squares-row-block styling */
.branded-squares-under-block {
    position: relative;
}

.branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 100% !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    background-color: var(--bs-body-bg) !important;
    z-index: 2 !important;
    color: var(--bs-body-color) !important;
    writing-mode: sideways-lr !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem 0rem !important;
    box-sizing: border-box !important;
    flex-basis: 100px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

.branded-squares-under-container {
    padding-left: 120px !important;
    padding-right: 15px !important;
}

/* Mobile styling to match branded-squares-row-block */
@media (max-width: 800px) {
    .branded-squares-under-block {
        margin-left: -15px !important;
        margin-right: -15px !important;
    }
    
    .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
        position: static !important;
        top: auto !important;
        transform: none !important;
        height: auto !important;
        width: 100% !important;
        background: var(--bs-body-bg) !important;
        color: var(--bs-body-color) !important;
        writing-mode: horizontal-tb !important;
        text-align: center !important;
        padding: 0.5rem !important;
        margin-bottom: 0.5rem !important;
        font-size: 48px !important;
        line-height: 1.2 !important;
    }
    
    .branded-squares-under-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Extra small mobile devices - make section label even smaller */
@media (max-width: 480px) {
    .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
        font-size: 36px !important;
        line-height: 1.1 !important;
        padding: 0.75rem !important;
    }
}

/* Small mobile devices - medium size */
@media (max-width: 767px) and (min-width: 481px) {
    .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
        font-size: 42px !important;
        line-height: 1.15 !important;
    }
}

/* Tablet styling - use mobile layout to prevent title from going off-screen */
@media (min-width: 768px) and (max-width: 991px) {
    .branded-squares-under-block {
        margin-left: -15px !important;
        margin-right: -15px !important;
        position: relative !important;
        max-width: none !important;
    }
    
    .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        height: auto !important;
        width: 100% !important;
        min-width: auto !important;
        max-width: none !important;
        background: var(--bs-body-bg) !important;
        color: var(--bs-body-color) !important;
        writing-mode: horizontal-tb !important;
        text-align: center !important;
        padding: 0.5rem !important;
        margin-bottom: 0.5rem !important;
        font-size: 100px !important;
        line-height: 1.2 !important;
        display: block !important;
        align-items: normal !important;
        justify-content: normal !important;
        box-sizing: border-box !important;
        flex-basis: auto !important;
        flex-shrink: auto !important;
        flex-grow: auto !important;
    }
    
    .branded-squares-under-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        position: relative !important;
        overflow: visible !important;
    }
}

/* Override inline styles for tablet - more specific to override PHP-generated CSS */
@media (min-width: 768px) and (max-width: 991px) {
    .adw-block.post-container-custom-block.branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        height: auto !important;
        width: 100% !important;
        min-width: auto !important;
        max-width: none !important;
        background: var(--bs-body-bg) !important;
        color: var(--bs-body-color) !important;
        writing-mode: horizontal-tb !important;
        text-align: center !important;
        padding: 0.5rem !important;
        margin-bottom: 0.5rem !important;
        font-size: 100px !important;
        line-height: 1.2 !important;
        display: block !important;
        align-items: normal !important;
        justify-content: normal !important;
        box-sizing: border-box !important;
        flex-basis: auto !important;
        flex-shrink: auto !important;
        flex-grow: auto !important;
    }
    
    .adw-block.post-container-custom-block.branded-squares-under-block .branded-squares-under-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
        position: relative !important;
        overflow: visible !important;
    }
    
    /* Override image heights to 400px on tablet */
    .adw-block.post-container-custom-block.branded-squares-under-block .branded-square-under-image {
        height: 400px !important;
    }
}


.adweek-logo-dark { display: none; }
body.dark-mode .adweek-logo-light, [data-theme="dark"] .adweek-logo-light { display: none !important; }
body.dark-mode .adweek-logo-dark, [data-theme="dark"] .adweek-logo-dark { display: block !important; }
/* Make left sidebar wider and offset main content for logo overlap */
.adw-homepage-layout.d-none.d-lg-flex .adw-homepage-sidebar--left {
  position: relative;
  padding-right: 0;
  padding-left: 32px;
  padding-bottom: 40px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.adw-homepage-layout.d-none.d-lg-flex .adw-homepage-main {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  position: relative;
  z-index: 1;
  background: none;
  border-radius: 0;
  /* Ensure main content doesn't interfere with navigation */
  margin-top: 0 !important;
}

/* Add padding to right sidebar */
.adw-homepage-layout.d-none.d-lg-flex .adw-homepage-sidebar--right {
  padding-right: 32px;
  padding-bottom: 40px;
}

/* Left-align ads in right sidebar */
.adw-homepage-sidebar--right .htl-ad-wrapper {
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Right-align ads in left sidebar */
.adw-homepage-sidebar--left .htl-ad-wrapper {
  justify-content: flex-end !important;
  text-align: right !important;
}
.aw-logo-wrapper-vertical {
  width: 100%;
  min-width: 0;
  height: 60vh;
  justify-content: center;
  align-items: center;
  overflow: visible;
  display: flex;
}
.svg-logo-vertical {
  height: 60vh !important;
  width: auto !important;
  max-width: 100% !important;
  transform: rotate(-90deg);
  display: block;
  margin: 0 auto;
}
@media (max-width: 991.98px) {
  .svg-logo-vertical {
    height: 40vh !important;
  }
}

.aw-logo-wrapper-vertical {
  width: 100%;
  min-width: 0;
  height: 283px;
  justify-content: center;
  align-items: center;
  overflow: visible;
  display: block !important;
}
.svg-logo-vertical {
  height: 283px !important;
  width: 711px !important;
  max-width: 100% !important;
  height: auto !important;
  transform: rotate(-90deg);
  display: block;
  margin: 0 auto;
  opacity: 1;
}
.aw-logo-wrapper-vertical { flex-direction: column !important; position: relative !important; justify-content: flex-start !important; align-items: center !important; }
.aw-logo-wrapper-vertical {
  position: relative !important;
}
.aw-logo-tagline-vertical {
  font-size: 10px;
  color: var(--bs-heading-color);
  font-weight: bold;
  text-align: right;
  letter-spacing: 0.5px;
  display: block;
  position: absolute;
  right: 190px;
  bottom: 10px;
  transform: rotate(-90deg);
  transform-origin: right bottom;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  z-index: 10;
}
@media (max-width: 1400px) {
  .aw-logo-tagline-vertical {
    right: 120px;
  }
}
@media (max-width: 991.98px) {
  .aw-logo-tagline-vertical {
    right: 40px;
    font-size: 9px;
  }
}
@media (max-width: 1400px) {
  .aw-logo-wrapper-vertical {
    width: 500px !important;
    height: 200px !important;
    top: 60px !important;
  }
  .svg-logo-vertical {
    width: 500px !important;
    height: auto !important;
  }
}
@media (max-width: 991.98px) {
  .aw-logo-wrapper-vertical {
    width: 300px !important;
    height: 120px !important;
    top: 20px !important;
  }
  .svg-logo-vertical {
    width: 300px !important;
    height: auto !important;
  }
}
.adw-homepage-layout.d-none.d-lg-flex .adw-homepage-main {
  padding-left: 56px;
  padding-right: 56px;
}
@media (max-width: 1400px) {
  .adw-homepage-layout.d-none.d-lg-flex .adw-homepage-main {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (max-width: 991.98px) {
  .adw-homepage-layout.d-none.d-lg-flex .adw-homepage-main {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.adw-homepage-sidebar p {
  font-family: 'Geist', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 17px;
  line-height: 34px;
  letter-spacing: 0;
  margin-bottom: 1.5rem;
}
.adw-homepage-sidebar p a {
  font-family: 'Geist', sans-serif;
  font-weight: 700;
  font-style: bold;
  font-size: 17px;
  line-height: 34px;
  letter-spacing: 0;
  color: #111;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-decoration-color: #F53C60;
}
/* Teaser Partner More Title Styles */
.teaser_partner_more .h3 > a {
  font-family: 'League Gothic', Impact, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 63px !important;
  line-height: 61px !important;
  letter-spacing: 0 !important;
  display: inline-block;
  text-decoration: none !important;
  width: 100%;
  word-break: break-word;
}
@media (max-width: 1199.98px) {
  .teaser_partner_more .h3 > a {
    font-size: 48px !important;
    line-height: 46px !important;
  }
}
@media (max-width: 991.98px) {
  .teaser_partner_more .h3 > a {
    font-size: 38px !important;
    line-height: 1 !important;
  }
}
/* If inside a column, make it smaller */
.wp-block-column .teaser_partner_more .h3 > a {
  font-size: 38px !important;
  line-height: 38px !important;
}
@media (max-width: 991.98px) {
  .wp-block-column .teaser_partner_more .h3 > a {
    font-size: 38px !important;
    line-height: 38px !important;
  }
}
/* Prevent horizontal scroll on homepage when nav has margin-left: 33% */
body.home, body.page-template-home, html.home, html.page-template-home {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}



/* Fix uneven mobile padding - ensure equal left and right padding */
@media (max-width: 991px) {
  body.home, body.page-template-home, html.home, html.page-template-home {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
    /* Ensure the main container has balanced padding */
.adw-homepage-maxwidth {
  padding-left: 20px !important;
  padding-right: 20px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Remove padding on mobile */
@media (max-width: 767px) {
  .adw-homepage-maxwidth {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Ensure main content area has balanced padding */
.adw-homepage-layout.d-block.d-lg-none .main-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Ensure article content has balanced padding */
.adw-homepage-layout.d-block.d-lg-none .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
}

/* Mobile and tablet navigation border bottom - HOMEPAGE ONLY */
@media (max-width: 991px) {
  
  
  /* Mobile paragraph link styling - Comprehensive coverage */
  body.home p a,
  body.page-template-home p a,
  body.home .adw-homepage-sidebar p a,
  body.page-template-home .adw-homepage-sidebar p a,
  body.home .adw-homepage p a,
  body.page-template-home .adw-homepage p a,
  body.home .wp-block-group p a,
  body.page-template-home .wp-block-group p a,
  body.home .wp-block-adw-blocks-v2-homepage-group p a,
  body.page-template-home .wp-block-adw-blocks-v2-homepage-group p a,
  body.home .homepage-list-block p a,
  body.page-template-home .homepage-list-block p a,
  body.home .post-container-custom-block p a,
  body.page-template-home .post-container-custom-block p a,
  body.home .homepage-billboard-block p a,
  body.page-template-home .homepage-billboard-block p a {
    color: var(--bs-body-color) !important;
    font-family: Geist !important;
    font-weight: 700 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    display: inline !important;
    padding-bottom: 1px !important;
    border-bottom: 2px solid #F53C60 !important;
    background: none !important;
    text-transform: none !important;
    transition: color 0.2s !important;
  }
  
  body.home p a:hover,
  body.page-template-home p a:hover,
  body.home .adw-homepage-sidebar p a:hover,
  body.page-template-home .adw-homepage-sidebar p a:hover,
  body.home .adw-homepage p a:hover,
  body.page-template-home .adw-homepage p a:hover,
  body.home .wp-block-group p a:hover,
  body.page-template-home .wp-block-group p a:hover,
  body.home .wp-block-adw-blocks-v2-homepage-group p a:hover,
  body.page-template-home .wp-block-adw-blocks-v2-homepage-group p a:hover,
  body.home .homepage-list-block p a:hover,
  body.page-template-home .homepage-list-block p a:hover,
  body.home .post-container-custom-block p a:hover,
  body.page-template-home .post-container-custom-block p a:hover,
  body.home .homepage-billboard-block p a:hover,
  body.page-template-home .homepage-billboard-block p a:hover {
    color: #F53C60 !important;
  }
  
  /* Mobile Byline Styling - All bylines across homepage containers */
  body.home .section__byline,
  body.page-template-home .section__byline,
  body.home .wp-block-adw-blocks-post-teaser-alt .section__byline,
  body.page-template-home .wp-block-adw-blocks-post-teaser-alt .section__byline,
  body.home .teaser_partner_more .section__byline,
  body.page-template-home .teaser_partner_more .section__byline,
  body.home .homepage-billboard-block .section__byline,
  body.page-template-home .homepage-billboard-block .section__byline,
  body.home .post-container-custom-block .section__byline,
  body.page-template-home .post-container-custom-block .section__byline,
  body.home .homepage-list-block .section__byline,
  body.page-template-home .homepage-list-block .section__byline,
  body.home .branded-square-under-byline,
  body.page-template-home .branded-square-under-byline,
  body.home .section--teaser_info .section__byline,
  body.page-template-home .section--teaser_info .section__byline,
  body.home .section--teaser_excerpt .section__byline,
  body.page-template-home .section--teaser_excerpt .section__byline {
    font-family: 'Geist' !important;
    font-weight: 200 !important;
    font-size: 10px !important;
    line-height: 24px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
    margin-bottom: 8px !important;
  }
  
  /* Mobile Billboard Container Block Read More Link Hover States */
  body.home .homepage-billboard-block .section__read-more:hover,
  body.page-template-home .homepage-billboard-block .section__read-more:hover,
  body.home .homepage-billboard-block .adw-story-link:hover,
  body.page-template-home .homepage-billboard-block .adw-story-link:hover,
  body.home .homepage-billboard-block a[href*="read-full-story"]:hover,
  body.page-template-home .homepage-billboard-block a[href*="read-full-story"]:hover,
  body.home .homepage-billboard-block a[href*="read-more"]:hover,
  body.page-template-home .homepage-billboard-block a[href*="read-more"]:hover {
    color: #F53C60 !important;
  }
}
/* Add padding to ads within homepage-group blocks */
.wp-block-adw-blocks-v2-homepage-group .htl-ad-wrapper {
}

/* Branded square under blocks - 20px padding to match billboard blocks */
.branded-square-under-image,
.branded-square-under-content,
.branded-square-under-title,
.branded-square-under-excerpt,
.branded-square-under-story-link {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Mobile styling for various blocks - 20px margins and proper sizing */
@media (max-width: 991px) {
  /* Mobile layout container - use full width with parent padding */
  .adw-homepage-layout.d-block.d-lg-none {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  
       /* WordPress columns on mobile - stack vertically */
   .adw-homepage-layout.d-block.d-lg-none .wp-block-columns {
     max-width: 100% !important;
     margin-left: 0 !important;
     margin-right: 0 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 40px !important;
     width: 100% !important;
     box-sizing: border-box !important;
   }
   
   /* WordPress columns on tablet - side by side */
   @media (min-width: 800px) {
     .adw-homepage-layout.d-block.d-lg-none .wp-block-columns {
       display: flex !important;
       flex-direction: row !important;
       gap: 30px !important;
     }
     
     .adw-homepage-layout.d-block.d-lg-none .wp-block-column {
       flex: 1 !important;
       width: 50% !important;
       margin-bottom: 0 !important;
       min-width: 0 !important;
       box-sizing: border-box !important;
     }
   }
  
     /* Individual columns on mobile - full width */
   .adw-homepage-layout.d-block.d-lg-none .wp-block-column {
     flex: 1 !important;
     width: 100% !important;
     margin-bottom: 0 !important;
     min-width: 0 !important;
     box-sizing: border-box !important;
   }
  
  /* Teaser sections on mobile - prevent full width */
  .adw-homepage-layout.d-block.d-lg-none .teaser_partner_more {
    max-width: 100% !important;
    width: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  
  /* Ensure images don't overflow on mobile */
  .adw-homepage-layout.d-block.d-lg-none .teaser_partner_more img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Ensure teaser content scales properly in side-by-side layout */
  .adw-homepage-layout.d-block.d-lg-none .wp-block-column .teaser_partner_more {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  /* Add spacing between teaser sections on mobile */
  .adw-homepage-layout.d-block.d-lg-none .teaser_partner_more .section--teaser_info {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  
  .adw-homepage-layout.d-block.d-lg-none .teaser_partner_more .section--teaser_excerpt {
    margin-top: 5px !important;
  }
  
  /* Reduce gap between teaser sections on mobile */
  .adw-homepage-layout.d-block.d-lg-none .teaser_partner_more {
    gap: 0.25rem !important;
  }
  
  /* Ensure text content doesn't overflow in columns */
  .adw-homepage-layout.d-block.d-lg-none .wp-block-column .h3 {
    font-size: 16px !important;
    line-height: 20px !important;
    word-wrap: break-word !important;
  }
  
  /* Branded squares under - no padding on mobile */
  .branded-square-under-image,
  .branded-square-under-content,
  .branded-square-under-title {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* WordPress Group Blocks - 20px margins */
  .wp-block-group,
  .wp-block-group.has-background,
  .wp-block-group.is-layout-constrained {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  

  
  /* Homepage Group Block Standalone Paragraphs - Specific styling (only direct p elements, not nested) */
  .wp-block-adw-blocks-v2-homepage-group > p {
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-family: Geist !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 17px !important;
    line-height: 34px !important;
    letter-spacing: 0 !important;
    border-top: 0.5px solid rgba(0, 0, 0, 0.5) !important;
    border-bottom: 0.5px solid rgba(0, 0, 0, 0.5) !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  
  /* Homepage Group Block Nested Paragraphs - Basic styling (no borders) */
  .wp-block-adw-blocks-v2-homepage-group .wp-block-group p,
  .wp-block-adw-blocks-v2-homepage-group .wp-block-image p,
  .wp-block-adw-blocks-v2-homepage-group .wp-block-buttons p,
  .wp-block-adw-blocks-v2-homepage-group .wp-block-heading p,
  .wp-block-adw-blocks-v2-homepage-group .section__excerpt p {
    padding-left: 20px !important;
    padding-right: 20px !important;
    font-family: Geist !important;
    font-weight: 400 !important;
    font-style: normal !important;
    font-size: 17px !important;
    line-height: 34px !important;
    letter-spacing: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  
  /* Smart Paragraph Block Mobile Styles */
  .smart-paragraph p {
    line-height: 30px !important;
  }
  
  /* Remove padding from section--teaser_excerpt elements on mobile */
  .wp-block-adw-blocks-v2-homepage-group .section--teaser_excerpt,
  .wp-block-adw-blocks-v2-homepage-group .section--teaser_excerpt p,
  .wp-block-adw-blocks-v2-homepage-group .section--teaser_excerpt .section__excerpt,
  .wp-block-adw-blocks-v2-homepage-group .section--teaser_excerpt .section__excerpt--emphasis,
  .wp-block-adw-blocks-v2-homepage-group .section--teaser_excerpt .section__excerpt--normal,
  .wp-block-adw-blocks-v2-homepage-group .section--teaser_excerpt .section__byline {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  .branded-square-under-title {
    font-family: 'League Gothic', Arial, sans-serif !important;
    font-size: 38px !important;
    line-height: 38px !important;
    font-weight: 400 !important;
  }
  
  /* Latest block - 20px padding to match billboard blocks */
  .homepage-list-block,
  .homepage-list-item {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* First and last homepage list items - specific padding on mobile */
  .homepage-list-item:first-child {
    padding-top: 28px !important;
  }
  
  .homepage-list-item:last-child {
    padding-bottom: 28px !important;
  }
  
  /* Post teaser alt - remove conflicting margins and add 15px padding */
  .wp-block-adw-blocks-post-teaser-alt,
  .teaser_partner_more {
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 30px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    padding-bottom: 20px !important;
  }
  
  /* Post container custom and homepage list blocks - 15px margins on mobile */
  .post-container-custom-block,
  .homepage-list-block {
    margin-left: 15px !important;
    margin-right: 15px !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
  }
  
  /* Read more story links - 20px margins */
  .section__read-more,
  .adw-story-link,
  a[href*="read-full-story"],
  a[href*="read-more"] {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}

/* Extra small mobile devices (300px and below) */
@media (max-width: 480px) {
  /* Mobile layout container - use full width with parent padding */
  .adw-homepage-layout.d-block.d-lg-none {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  
  /* WordPress columns on very small screens - stack vertically */
  .adw-homepage-layout.d-block.d-lg-none .wp-block-columns {
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  
  /* Individual columns on very small screens - full width */
  .adw-homepage-layout.d-block.d-lg-none .wp-block-column {
    flex: 1 !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  
  /* Branded squares under - League Gothic 38px titles with no padding */
  .branded-square-under-title {
    font-family: 'League Gothic', Arial, sans-serif !important;
    font-size: 38px !important;
    line-height: 38px !important;
    font-weight: 400 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Homepage list blocks - 10px padding on very small screens (except for images layout) */
  .homepage-list-block:not([data-layout="images"]),
  .homepage-list-item:not([data-layout="images"]) {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Homepage list with images - no padding on very small screens */
  .homepage-list-block[data-layout="images"],
  .homepage-list-item[data-layout="images"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
    /* First image title styling on mobile - ensure proper font size */
.homepage-list-first-image div[style*="font-size:28px"] {
  font-size: 28px !important;
  line-height: 33px !important;
  font-family: 'Geist', Arial, sans-serif !important;
  font-weight: 700 !important;
  font-style: Regular !important;
  letter-spacing: 0% !important;
}

/* Override font-size for first image title links */
.homepage-list-first-image div[style*="font-size:28px"] a {
  font-size: 28px !important;
  line-height: 33px !important;
  font-family: 'Geist', Arial, sans-serif !important;
  font-weight: 700 !important;
  font-style: Regular !important;
  letter-spacing: 0% !important;
}

/* Homepage list first image responsive sizing */
.homepage-list-first-image-img {
  width: 219px !important;
  height: 202px !important;
  object-fit: cover !important;
  display: block !important;
  margin-bottom: 16px !important;
}

/* Mobile styling for homepage list first image - larger size */
@media (max-width: 991px) {
  .homepage-list-first-image-img {
    width: 100% !important;
    height: 300px !important;
    max-width: 400px !important;
    margin: 0 auto 20px auto !important;
  }
  
  .homepage-list-first-image {
    text-align: left !important;
    display: block !important;
  }
  
  .homepage-list-first-image a {
    flex-shrink: unset !important;
    margin-right: 0 !important;
  }
  
  .homepage-list-first-image > div {
    flex: unset !important;
  }
}

/* Override homepage list padding and margins for mobile and tablet */
@media (max-width: 991px) {
  .homepage-list-block,
  .homepage-list-item {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 16px !important;
    padding-bottom: 8px !important;
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  
  .homepage-list-item:first-child {
    padding-top: 32px !important;
    margin-top: 32px !important;
  }
  
  .homepage-list-item:last-child {
    padding-bottom: 16px !important;
    margin-bottom: 32px !important;
  }
  
  /* Ensure homepage-list read more buttons use Resolve Sans on mobile */
  .homepage-list-block a[href*="read-more"],
  .homepage-list-block a[href*="read-full-story"] {
    font-family: 'Resolve Sans', Helvetica Neue, Helvetica, Arial, sans-serif !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    line-height: 15px !important;
    text-transform: uppercase !important;
  }
  

  
  /* Override font weight for bold parts in homepage-list titles on mobile */
  .homepage-list-block .section__label.font-label.label-lg.h2.text-uppercase.homepage-list-title span {
    font-weight: 400 !important;
  }
  

  

  

}

/* Override homepage list padding for all screen sizes */
.homepage-list-block,
.homepage-list-item {
  padding-left: 10px !important;
  padding-right: 10px !important;
  padding-bottom: 8px !important;
}


  
  /* Latest block - 20px padding to match billboard blocks */
  .homepage-list-block,
  .homepage-list-item {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* First and last homepage list items - specific padding on mobile */
  .homepage-list-item:first-child {
    padding-top: 28px !important;
  }
  
  .homepage-list-item:last-child {
    padding-bottom: 28px !important;
  }
  
  /* Post teaser alt - remove conflicting margins and add 15px padding */
  .wp-block-adw-blocks-post-teaser-alt,
  .teaser_partner_more {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  /* Override section--teaser_excerpt margins and padding on mobile */
  .wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt,
  .wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt p,
  .wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt .section__excerpt,
  .wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt .section__byline,
  .wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt .section__read-more,
  .teaser_partner_more .section--teaser_excerpt,
  .teaser_partner_more .section--teaser_excerpt p,
  .teaser_partner_more .section--teaser_excerpt .section__excerpt,
  .teaser_partner_more .section--teaser_excerpt .section__byline,
  .teaser_partner_more .section--teaser_excerpt .section__read-more {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Read more story links - 20px margins */
  .section__read-more,
  .adw-story-link,
  a[href*="read-full-story"],
  a[href*="read-more"] {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  
  /* Extra small mobile paragraph link styling - Ensure all paragraph links have proper styling */
  body.home p a,
  body.page-template-home p a {
    color: var(--bs-body-color) !important;
    font-family: Geist !important;
    font-weight: 700 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    display: inline !important;
    padding-bottom: 1px !important;
    border-bottom: 2px solid #F53C60 !important;
    background: none !important;
    text-transform: none !important;
    transition: color 0.2s !important;
  }
  
  body.home p a:hover,
  body.page-template-home p a:hover {
    color: #F53C60 !important;
  }
}

/* Excerpt emphasis and normal styling - match homepage latest items */
.teaser_partner_more .section--teaser_excerpt .section__excerpt--emphasis,
.wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt .section__excerpt--emphasis {
  font-family: 'Source Serif 4', serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
  margin-bottom: 0.5rem !important;
}

/* Dark mode support for section__excerpt--emphasis */
body.dark-mode .teaser_partner_more .section--teaser_excerpt .section__excerpt--emphasis,
body.dark-mode .wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt .section__excerpt--emphasis,
[data-theme="dark"] .teaser_partner_more .section--teaser_excerpt .section__excerpt--emphasis,
[data-theme="dark"] .wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt .section__excerpt--emphasis {
  color: #8A8A8A !important;
}

.teaser_partner_more .section--teaser_excerpt .section__excerpt--normal,
.wp-block-adw-blocks-post-teaser-alt .section--teaser_excerpt .section__excerpt--normal {
  font-family: 'Source Serif 4', serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 22px !important;
  letter-spacing: 0 !important;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
  margin-bottom: 0.5rem !important;
}

/* Rounded corners for section--teaser_partner (desktop only) */
@media (min-width: 768px) {
  .section--teaser_partner.rounded-corners {
    border-top-right-radius: 25px !important;
    border-top-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    overflow: hidden !important;
  }
  .section--teaser_partner.rounded-corners img,
  .teaser_partner_more .section--teaser_partner.rounded-corners img {
    border-top-right-radius: 25px !important;
    border-top-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
  }
}

/* Homepage Read More Link Styles - All read more links on homepage - match homepage latest items */
body.home .section__read-more,
body.page-template-home .section__read-more,
body.home .adw-story-link,
body.page-template-home .adw-story-link,
body.home .adw-homepage p a,
body.page-template-home .adw-homepage p a,
body.home .wp-block-adw-blocks-post-teaser-alt .section__read-more,
body.page-template-home .wp-block-adw-blocks-post-teaser-alt .section__read-more,
body.home .teaser_partner_more .section__read-more,
body.page-template-home .teaser_partner_more .section__read-more,
body.home .section--teaser_excerpt .section__read-more,
body.page-template-home .section--teaser_excerpt .section__read-more,
body.home a[href*="read-full-story"],
body.page-template-home a[href*="read-full-story"],
body.home a[href*="read-more"],
body.page-template-home a[href*="read-more"] {
  color: var(--bs-body-color) !important;
  font-family: Geist !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  display: inline-block !important;
  padding-bottom: 1px !important;
  border-bottom: 2px solid var(--bs-primary) !important;
  background: none !important;
  text-transform: uppercase !important;
  transition: color 0.2s !important;
}

/* Override hardcoded colors for read more links */
body.home .fw-bold.text-uppercase[style*="color: #111"],
body.page-template-home .fw-bold.text-uppercase[style*="color: #111"],
body.home .fw-bold.text-uppercase[style*="color:#111"],
body.page-template-home .fw-bold.text-uppercase[style*="color:#111"] {
  color: var(--bs-body-color) !important;
  border-bottom: 2px solid var(--bs-primary) !important;
}

body.home .section__read-more:hover,
body.page-template-home .section__read-more:hover,
body.home .adw-story-link:hover,
body.page-template-home .adw-story-link:hover,
body.home .adw-homepage p a:hover,
body.page-template-home .adw-homepage p a:hover,
body.home .wp-block-adw-blocks-post-teaser-alt .section__read-more:hover,
body.page-template-home .wp-block-adw-blocks-post-teaser-alt .section__read-more:hover,
body.home .teaser_partner_more .section__read-more:hover,
body.page-template-home .teaser_partner_more .section__read-more:hover,
body.home .section--teaser_excerpt .section__read-more:hover,
body.page-template-home .section--teaser_excerpt .section__read-more:hover,
body.home a[href*="read-full-story"]:hover,
body.page-template-home a[href*="read-full-story"]:hover,
body.home a[href*="read-more"]:hover,
body.page-template-home a[href*="read-more"]:hover {
  color: var(--bs-primary) !important;
}

/* Post Container Custom, Homepage List Block, and Homepage Billboard Read More Links */
body.home .branded-square-under-story-link a,
body.page-template-home .branded-square-under-story-link a,
body.home .homepage-list-block a[href*="read-full-story"],
body.page-template-home .homepage-list-block a[href*="read-full-story"],
body.home .homepage-list-block a[href*="read-more"],
body.page-template-home .homepage-list-block a[href*="read-more"],
body.home .post-container-custom-block a[href*="learn-more"],
body.page-template-home .post-container-custom-block a[href*="learn-more"],
body.home .post-container-custom-block a[href*="read-more"],
body.page-template-home .post-container-custom-block a[href*="read-more"],
body.home .homepage-billboard-block a[href*="read-full-story"],
body.page-template-home .homepage-billboard-block a[href*="read-full-story"],
body.home .homepage-billboard-block a[href*="read-more"],
body.page-template-home .homepage-billboard-block a[href*="read-more"] {
  color: var(--bs-body-color) !important;
  font-family: 'Resolve Sans', Helvetica Neue, Helvetica, Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  line-height: 15px !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  display: inline-block !important;
  padding-bottom: 1px !important;
  border-bottom: 2px solid var(--bs-primary) !important;
  background: none !important;
  text-transform: uppercase !important;
  transition: color 0.2s !important;
}

body.home .branded-square-under-story-link a:hover,
body.page-template-home .branded-square-under-story-link a:hover,
body.home .homepage-list-block a[href*="read-full-story"]:hover,
body.page-template-home .homepage-list-block a[href*="read-full-story"]:hover,
body.home .homepage-list-block a[href*="read-more"]:hover,
body.page-template-home .homepage-list-block a[href*="read-more"]:hover,
body.home .post-container-custom-block a[href*="learn-more"]:hover,
body.page-template-home .post-container-custom-block a[href*="learn-more"]:hover,
body.home .post-container-custom-block a[href*="read-more"]:hover,
body.page-template-home .post-container-custom-block a[href*="read-more"]:hover,
/* Billboard Container Block Read More Link Hover States */
body.home .homepage-billboard-block .section__read-more:hover,
body.page-template-home .homepage-billboard-block .section__read-more:hover,
body.home .homepage-billboard-block .adw-story-link:hover,
body.page-template-home .homepage-billboard-block .adw-story-link:hover,
body.home .homepage-billboard-block a[href*="read-full-story"]:hover,
body.page-template-home .homepage-billboard-block a[href*="read-full-story"]:hover,
body.home .homepage-billboard-block a[href*="read-more"]:hover,
body.page-template-home .homepage-billboard-block a[href*="read-more"]:hover {
  color: #F53C60 !important;
}

/* Smart Paragraph Block Global Styles */
.smart-paragraph {
  margin: 0 !important;
}

/* Homepage Paragraph Links - Style links within paragraphs to match read more specification */
body.home p a,
body.page-template-home p a,
body.home .adw-homepage-sidebar p a,
body.page-template-home .adw-homepage-sidebar p a,
body.home .adw-homepage p a,
body.page-template-home .adw-homepage p a,
body.home .wp-block-group p a,
body.page-template-home .wp-block-group p a,
body.home .wp-block-adw-blocks-v2-homepage-group p a,
body.page-template-home .wp-block-adw-blocks-v2-homepage-group p a,
body.home .homepage-list-block p a,
body.page-template-home .homepage-list-block p a,
body.home .post-container-custom-block p a,
body.page-template-home .post-container-custom-block p a,
body.home .homepage-billboard-block p a,
body.page-template-home .homepage-billboard-block p a {
  color: var(--bs-body-color) !important;
  font-family: Geist !important;
  font-weight: 700 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  display: inline !important;
  padding-bottom: 1px !important;
  border-bottom: 2px solid #F53C60 !important;
  background: none !important;
  text-transform: none !important;
  transition: color 0.2s !important;
}

body.home p a:hover,
body.page-template-home p a:hover,
body.home .adw-homepage-sidebar p a:hover,
body.page-template-home .adw-homepage-sidebar p a:hover,
body.home .adw-homepage p a:hover,
body.page-template-home .adw-homepage p a:hover,
body.home .wp-block-group p a:hover,
body.page-template-home .wp-block-group p a:hover,
body.home .wp-block-adw-blocks-v2-homepage-group p a:hover,
body.page-template-home .wp-block-adw-blocks-v2-homepage-group p a:hover,
body.home .homepage-list-block p a:hover,
body.page-template-home .homepage-list-block p a:hover,
body.home .post-container-custom-block p a:hover,
body.page-template-home .post-container-custom-block p a:hover,
body.home .homepage-billboard-block p a:hover,
body.page-template-home .homepage-billboard-block p a:hover {
  color: #F53C60 !important;
}

/* Homepage Byline Styling - All bylines across homepage containers - match homepage latest items */
body.home .section__byline,
body.page-template-home .section__byline,
body.home .wp-block-adw-blocks-post-teaser-alt .section__byline,
body.page-template-home .wp-block-adw-blocks-post-teaser-alt .section__byline,
body.home .teaser_partner_more .section__byline,
body.page-template-home .teaser_partner_more .section__byline,
body.home .post-container-custom-block .section__byline,
body.page-template-home .post-container-custom-block .section__byline,
body.home .homepage-list-block .section__byline,
body.page-template-home .homepage-list-block .section__byline,
body.home .branded-square-under-byline,
body.page-template-home .branded-square-under-byline,
body.home .section--teaser_info .section__byline,
body.page-template-home .section--teaser_info .section__byline,
body.home .section--teaser_excerpt .section__byline,
body.page-template-home .section--teaser_excerpt .section__byline {
  font-family: Geist !important;
  font-weight: 200 !important;
  font-style: ExtraLight !important;
  font-size: 10px !important;
  line-height: 24px !important;
  letter-spacing: 0.08px !important;
  text-transform: uppercase !important;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
}

/* Homepage Billboard Byline Styling - Desktop with extra margins */
body.home .homepage-billboard-block .section__byline,
body.page-template-home .homepage-billboard-block .section__byline {
  font-family: 'Geist' !important;
  font-weight: 200 !important;
  font-size: 10px !important;
  line-height: 24px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

/* Homepage Billboard Byline Styling - Non-first stories with line-height 3 */
body.home .homepage-billboard-block .section__byline:not(:first-child),
body.page-template-home .homepage-billboard-block .section__byline:not(:first-child),
body.home .homepage-billboard-block .section__byline + .section__byline,
body.page-template-home .homepage-billboard-block .section__byline + .section__byline {
  line-height: 3 !important;
}

/* Comprehensive override for all paragraph links on homepage - ensures proper styling */
body.home p a,
body.page-template-home p a {
  text-decoration: none !important;
  border-bottom: 2px solid #F53C60 !important;
  padding-bottom: 1px !important;
  color: var(--bs-body-color) !important;
  font-family: Geist !important;
  font-weight: 700 !important;
  transition: color 0.2s !important;
}

body.home p a:hover,
body.page-template-home p a:hover {
  color: #F53C60 !important;
}

/* Homepage Billboard Button Styling - Ensure Resolve Sans Medium Wide font */
body.home .homepage-billboard-block .btn,
body.page-template-home .homepage-billboard-block .btn {
  font-family: 'Resolve Sans Medium Wide', Helvetica Neue, Helvetica, Arial, sans-serif !important;
}

body.home .homepage-billboard-block .btn span,
body.page-template-home .homepage-billboard-block .btn span {
  font-family: 'Resolve Sans Medium Wide', Helvetica Neue, Helvetica, Arial, sans-serif !important;
}

/* Ensure button text content uses Resolve Sans Medium Wide font */
body.home .homepage-billboard-block .btn,
body.page-template-home .homepage-billboard-block .btn,
body.home .homepage-billboard-block .btn *,
body.page-template-home .homepage-billboard-block .btn * {
  font-family: 'Resolve Sans Medium Wide', Helvetica Neue, Helvetica, Arial, sans-serif !important;
}

/* Homepage Billboard Typography - Ensure Resolve Sans Medium Wide font */
.homepage-billboard-block h1,
.homepage-billboard-block h2,
.homepage-billboard-block h3,
.homepage-billboard-block h4 {
  font-family: 'Resolve Sans Medium Wide', Helvetica Neue, Helvetica, Arial, sans-serif !important;
}

/* Homepage Billboard Desktop Padding Reduction */
@media (min-width: 992px) {
  .homepage-billboard-block {
    padding: 16px !important;
  }
  
  .homepage-billboard-block .container-fluid {
    padding: 16px !important;
  }
}

/* Homepage Billboard READ FULL STORY Link Hover Effect */
.homepage-billboard-block a[href*="read-full-story"],
.homepage-billboard-block a[href*="read-more"] {
  transition: color 0.3s ease !important;
  color: var(--bs-body-color) !important;
}

.homepage-billboard-block a[href*="read-full-story"]:hover,
.homepage-billboard-block a[href*="read-more"]:hover {
  color: #F53C60 !important;
  text-decoration: none !important;
}

/* Dark mode support for READ FULL STORY links */
[data-theme="dark"] .homepage-billboard-block a[href*="read-full-story"]:hover,
[data-theme="dark"] .homepage-billboard-block a[href*="read-more"]:hover,
body.dark-mode .homepage-billboard-block a[href*="read-full-story"]:hover,
body.dark-mode .homepage-billboard-block a[href*="read-more"]:hover {
  color: var(--bs-primary) !important;
}

/* Mobile dark mode support for READ FULL STORY links */
@media (max-width: 991px) {
  .homepage-billboard-block a[href*="read-full-story"],
  .homepage-billboard-block a[href*="read-more"] {
    color: var(--bs-body-color) !important;
  }
  
  [data-theme="dark"] .homepage-billboard-block a[href*="read-full-story"],
  [data-theme="dark"] .homepage-billboard-block a[href*="read-more"],
  body.dark-mode .homepage-billboard-block a[href*="read-full-story"],
  body.dark-mode .homepage-billboard-block a[href*="read-more"] {
    color: var(--bs-body-color) !important;
  }
  
  [data-theme="dark"] .homepage-billboard-block a[href*="read-full-story"]:hover,
  [data-theme="dark"] .homepage-billboard-block a[href*="read-more"]:hover,
  body.dark-mode .homepage-billboard-block a[href*="read-full-story"]:hover,
  body.dark-mode .homepage-billboard-block a[href*="read-more"]:hover {
    color: var(--bs-primary) !important;
  }
}

/* Mobile homepage billboard READ FULL STORY link dark mode support */
@media (max-width: 991px) {
  .homepage-billboard-block .fw-bold.text-uppercase[style*="color: #111"],
  .homepage-billboard-block .fw-bold.text-uppercase[style*="color:#111"] {
    color: var(--bs-body-color) !important;
  }
  
  [data-theme="dark"] .homepage-billboard-block .fw-bold.text-uppercase[style*="color: #111"],
  [data-theme="dark"] .homepage-billboard-block .fw-bold.text-uppercase[style*="color:#111"],
  body.dark-mode .homepage-billboard-block .fw-bold.text-uppercase[style*="color: #111"],
  body.dark-mode .homepage-billboard-block .fw-bold.text-uppercase[style*="color:#111"] {
    color: var(--bs-body-color) !important;
  }
}

/* Homepage billboard excerpt dark mode support */
.homepage-billboard-block p[style*="color:#646464"],
.homepage-billboard-block p[style*="color: #646464"] {
  color: var(--bs-secondary-color) !important;
}

[data-theme="dark"] .homepage-billboard-block p[style*="color:#646464"],
[data-theme="dark"] .homepage-billboard-block p[style*="color: #646464"],
body.dark-mode .homepage-billboard-block p[style*="color:#646464"],
body.dark-mode .homepage-billboard-block p[style*="color: #646464"] {
  color: var(--bs-secondary-color) !important;
}

/* Comprehensive mobile homepage billboard dark mode support */
@media (max-width: 991px) {
  /* READ FULL STORY links */
  .homepage-billboard-block a[style*="color: #111"],
  .homepage-billboard-block a[style*="color:#111"] {
    color: var(--bs-body-color) !important;
  }
  
  [data-theme="dark"] .homepage-billboard-block a[style*="color: #111"],
  [data-theme="dark"] .homepage-billboard-block a[style*="color:#111"],
  body.dark-mode .homepage-billboard-block a[style*="color: #111"],
  body.dark-mode .homepage-billboard-block a[style*="color:#111"] {
    color: var(--bs-body-color) !important;
  }
  
  /* Excerpt text */
  .homepage-billboard-block p[style*="color:#646464"],
  .homepage-billboard-block p[style*="color: #646464"] {
    color: var(--bs-secondary-color) !important;
  }
  
  [data-theme="dark"] .homepage-billboard-block p[style*="color:#646464"],
  [data-theme="dark"] .homepage-billboard-block p[style*="color: #646464"],
  body.dark-mode .homepage-billboard-block p[style*="color:#646464"],
  body.dark-mode .homepage-billboard-block p[style*="color: #646464"] {
    color: var(--bs-secondary-color) !important;
  }
  
  /* Border colors */
  .homepage-billboard-block div[style*="border-bottom: 1px solid #eee"],
  .homepage-billboard-block div[style*="border-bottom:1px solid #eee"],
  .homepage-billboard-block div[style*="border-bottom: 1px solid #B6B8BA"],
  .homepage-billboard-block div[style*="border-bottom:1px solid #B6B8BA"] {
    border-bottom-color: var(--bs-border-color) !important;
  }
  
  [data-theme="dark"] .homepage-billboard-block div[style*="border-bottom: 1px solid #eee"],
  [data-theme="dark"] .homepage-billboard-block div[style*="border-bottom:1px solid #eee"],
  [data-theme="dark"] .homepage-billboard-block div[style*="border-bottom: 1px solid #B6B8BA"],
  [data-theme="dark"] .homepage-billboard-block div[style*="border-bottom:1px solid #B6B8BA"],
  body.dark-mode .homepage-billboard-block div[style*="border-bottom: 1px solid #eee"],
  body.dark-mode .homepage-billboard-block div[style*="border-bottom:1px solid #eee"],
  body.dark-mode .homepage-billboard-block div[style*="border-bottom: 1px solid #B6B8BA"],
  body.dark-mode .homepage-billboard-block div[style*="border-bottom:1px solid #B6B8BA"] {
    border-bottom-color: var(--bs-border-color) !important;
  }
}

/* Dark mode border styling for homepage elements */
[data-theme="dark"] .homepage-billboard-block,
body.dark-mode .homepage-billboard-block,
[data-theme="dark"] .homepage-latest-block,
body.dark-mode .homepage-latest-block,
[data-theme="dark"] .homepage-list-block,
body.dark-mode .homepage-list-block {
  border-color: var(--bs-border-color) !important;
}

/* Dark mode border styling for specific elements */
[data-theme="dark"] div[style*="border-bottom"],
body.dark-mode div[style*="border-bottom"],
[data-theme="dark"] .mb-3[style*="border-bottom"],
body.dark-mode .mb-3[style*="border-bottom"],
[data-theme="dark"] .mb-4[style*="border-bottom"],
body.dark-mode .mb-4[style*="border-bottom"] {
  border-bottom-color: var(--bs-border-color) !important;
}

/* Dark mode border styling for inline border styles */
[data-theme="dark"] div[style*="border-bottom: 1px solid #eee"],
body.dark-mode div[style*="border-bottom: 1px solid #eee"],
[data-theme="dark"] div[style*="border-bottom:1px solid #eee"],
body.dark-mode div[style*="border-bottom:1px solid #eee"],
[data-theme="dark"] div[style*="border-bottom: 1px solid #B6B8BA"],
body.dark-mode div[style*="border-bottom: 1px solid #B6B8BA"],
[data-theme="dark"] div[style*="border-bottom:1px solid #B6B8BA"],
body.dark-mode div[style*="border-bottom:1px solid #B6B8BA"] {
  border-bottom-color: var(--bs-border-color) !important;
}

/* Additional dark mode border styling for #eee borders */
[data-theme="dark"] .d-flex[style*="border-bottom: 1px solid #eee"],
body.dark-mode .d-flex[style*="border-bottom: 1px solid #eee"],
[data-theme="dark"] .mb-3[style*="border-bottom: 1px solid #eee"],
body.dark-mode .mb-3[style*="border-bottom: 1px solid #eee"],
[data-theme="dark"] div[style*="border-bottom: 1px solid #eee"],
body.dark-mode div[style*="border-bottom: 1px solid #eee"] {
  border-bottom-color: var(--bs-border-color) !important;
}

/* Dark mode border styling for homepage latest items */
[data-theme="dark"] .homepage-latest-item[style*="border-bottom"],
body.dark-mode .homepage-latest-item[style*="border-bottom"] {
  border-bottom-color: var(--bs-border-color) !important;
}

/* Dark mode border styling for homepage billboard elements */
[data-theme="dark"] .homepage-billboard-block div[style*="border-bottom"],
body.dark-mode .homepage-billboard-block div[style*="border-bottom"] {
  border-bottom-color: #6c6c6c !important;
}

/* Homepage Billboard Mobile and Tablet Styling */
@media (max-width: 991px) {
  /* Section title (h1) for homepage-billboard on tablet */
  .homepage-billboard-block h1.text-center.fw-bold.text-uppercase {
    font-size: 78px !important;
    line-height: 78px !important;
  }
  
  /* First story title - remove bold and adjust font size */
  .homepage-billboard-block .mb-4 h2.fw-bold {
    font-weight: 400 !important;
  }
  
  /* First story title font size for tablet */
  @media (min-width: 768px) and (max-width: 991px) {
    .homepage-billboard-block .mb-4 h2.fw-bold {
      font-size: 2.3rem !important;
      line-height: 1.2 !important;
    }
  }
  
  /* Other story titles font size for tablet */
  @media (min-width: 768px) and (max-width: 991px) {
    .homepage-billboard-block h3.fw-bold {
      font-size: 1.3rem !important;
      line-height: 1.3 !important;
    }
  }
}

/* Remove padding and margin from homepage-billboard blocks on mobile and tablet */
@media (max-width: 991px) {
  .homepage-billboard-block .d-block.d-lg-none {
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* Mobile and tablet Homepage Billboard Button Styling - Ensure Resolve Sans font */
@media (max-width: 991px) {
  /* Button font consistency maintained by global rule above */
}

/* Add margin bottom to navigation list */
.adw-nav-list {
  margin-bottom: 15px !important;
}

/* Fix spacing issues in section labels - only for branded squares */
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase,
.branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
  white-space: pre-wrap !important;
  word-spacing: 0.25em !important;
}

.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase span,
.branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase span {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* Fix letter spacing for latest block section title */
.homepage-latest-block .section__label.font-label.label-lg.h2 strong {
  letter-spacing: normal !important;
}

/* Fix spacing for latest block section title */
.homepage-latest-block .section__label.font-label.label-lg.h2 {
  word-spacing: 0.1em !important;
}

.homepage-latest-block .section__label.font-label.label-lg.h2 strong {
  letter-spacing: normal !important;
  margin-left: 0.1em !important;
}



/* Remove padding for branded squares under elements */
.branded-square-under-image,
.branded-square-under-content,
.branded-square-under-title,
.branded-square-under-excerpt,
.branded-square-under-story-link {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Branded squares under desktop styling - match homepage billboard block */
@media (min-width: 768px) {
  .branded-squares-under-block {
    max-width: 1336px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 100% !important;
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    background-color: var(--bs-body-bg) !important;
    z-index: 2 !important;
    color: var(--bs-body-color) !important;
    writing-mode: sideways-lr !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem 0rem !important;
    box-sizing: border-box !important;
  }
}

/* Branded squares under image hover effects */
.branded-square-under-image {
  overflow: hidden !important;
  position: relative !important;
  transition: background-size 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.branded-square-under-image:hover {
  background-size: 105% !important;
}

/* Post teaser alt hover effects - image zoom only */
.teaser_partner_more .section--teaser_partner {
  overflow: hidden !important;
}

.teaser_partner_more .section--teaser_partner img {
  transition: transform 0.3s ease !important;
}

.teaser_partner_more:hover .section--teaser_partner img {
  transform: scale(1.05) !important;
}

/* Homepage billboard main story hover effects - image zoom only */
.homepage-billboard-block .col-lg-4 .position-relative.w-100.mb-3 {
  overflow: hidden !important;
}

.homepage-billboard-block .col-lg-4 .position-relative.w-100.mb-3 a {
  display: block !important;
  overflow: hidden !important;
}

.homepage-billboard-block .col-lg-4 .position-relative.w-100.mb-3 img {
  transition: transform 0.3s ease !important;
  width: 479px !important;
  height: 288px !important;
  max-width: 100% !important;
  object-fit: cover !important;
}

.homepage-billboard-block .col-lg-4 .position-relative.w-100.mb-3:hover img {
  transform: scale(1.05) !important;
}

/* Direct targeting for homepage billboard main story image */
.homepage-billboard-block .col-lg-4 .d-flex.justify-content-start img {
  transition: transform 0.3s ease !important;
}

.homepage-billboard-block .col-lg-4 .d-flex.justify-content-start:hover img {
  transform: scale(1.05) !important;
}

/* Ultra-specific targeting for the exact structure */
.homepage-billboard-block .col-lg-4 .position-relative.w-100.mb-3.d-flex.justify-content-start img {
  transition: transform 0.3s ease !important;
}

.homepage-billboard-block .col-lg-4 .position-relative.w-100.mb-3.d-flex.justify-content-start:hover img {
  transform: scale(1.05) !important;
}

/* Fallback for any image in the main story area */
.homepage-billboard-block .col-lg-4 img {
  transition: transform 0.3s ease !important;
}

.homepage-billboard-block .col-lg-4:hover img {
  transform: scale(1.05) !important;
}

/* Specific targeting for homepage billboard main image */
.homepage-billboard-main-image {
  overflow: hidden !important;
}

.homepage-billboard-main-image img {
  transition: transform 0.3s ease !important;
}

.homepage-billboard-main-image:hover img {
  transform: scale(1.05) !important;
}

/* Homepage list first image hover effects */
.homepage-list-first-image-link {
  overflow: hidden !important;
  display: block !important;
}

.homepage-list-first-image-link img {
  transition: transform 0.3s ease !important;
}

.homepage-list-first-image-link:hover img {
  transform: scale(1.05) !important;
}

/* Homepage callout first story hover effects */
.homepage-callout-list .homepage-list-item:first-child {
  overflow: hidden !important;
}

.homepage-callout-list .homepage-list-item:first-child img {
  transition: transform 0.3s ease !important;
}

.homepage-callout-list .homepage-list-item:first-child:hover img {
  transform: scale(1.05) !important;
}

/* Latest stories hover effects */
.homepage-latest-block .homepage-latest-item.main-story img {
  transition: transform 0.3s ease !important;
}

.homepage-latest-block .homepage-latest-item.main-story:hover img {
  transform: scale(1.05) !important;
}

.homepage-latest-block .homepage-latest-item .d-flex.align-items-center img {
  transition: transform 0.3s ease !important;
}

.homepage-latest-block .homepage-latest-item .d-flex.align-items-center:hover img {
  transform: scale(1.05) !important;
}

/* Specific targeting for latest stories main image */
.homepage-latest-main-image-link {
  overflow: hidden !important;
  display: block !important;
}

.homepage-latest-main-image-link img {
  transition: transform 0.3s ease !important;
}

.homepage-latest-main-image-link:hover img {
  transform: scale(1.05) !important;
}

/* Homepage billboard card images hover effects */
.homepage-billboard-block .card-horizontal img {
  transition: transform 0.3s ease !important;
}

.homepage-billboard-block .card-horizontal:hover img {
  transform: scale(1.05) !important;
}

/* Homepage callout blocks main story hover effects - image zoom only */
.homepage-callout-list .homepage-list-item img {
  transition: transform 0.3s ease !important;
}

.homepage-callout-list .homepage-list-item:hover img {
  transform: scale(1.05) !important;
}

/* Homepage list block with images - first image hover effects */
.homepage-list-block .homepage-list-item:first-child img {
  transition: transform 0.3s ease !important;
}

.homepage-list-block .homepage-list-item:first-child:hover img {
  transform: scale(1.05) !important;
}

/* Branded squares row desktop styling - match homepage billboard block */
@media (min-width: 768px) {
  .branded-squares-row-block {
    max-width: 1336px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase {
    width: 100px !important;
    min-width: 100px !important;
    max-width: 100px !important;
    font-size: 100px !important;
  }
  
  /* iOS Safari fix for writing-mode spacing issues */
  @supports (-webkit-touch-callout: none) {
    .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase {
      writing-mode: vertical-rl !important;
      text-orientation: mixed !important;
      transform: translateY(-50%) rotate(180deg) !important;
    }
    
    .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase span {
      display: inline-block !important;
      margin: 0 !important;
      padding: 0 !important;
      font-weight: 700 !important;
    }
    
    /* Fix spacing between text elements on iOS */
    .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase br {
      display: none !important;
    }
    
    .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase {
      white-space: nowrap !important;
      word-spacing: 0 !important;
      letter-spacing: 0 !important;
    }
  }
}

/* Override font size for branded squares row block - higher specificity */
.branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title) {
  font-size: 100px !important;
}

/* Branded squares under tablet styling - max width constraint for screens up to 850px */
@media (max-width: 850px) and (min-width: 768px) {
  .branded-squares-under-block {
    max-width: 800px !important;
    width: 100% !important;
  }
}

/* Branded squares row mobile styling - individual cards with peek */
@media (max-width: 800px) {
  .branded-squares-row-container {
    display: none !important;
  }
  
  .branded-squares-row-container-mobile {
    display: block !important;
    padding: 0 20px 0 30px !important;
    overflow: visible !important;
  }
  
  /* Ensure the branded squares row block container doesn't have conflicting padding */
  .branded-squares-row-block {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  .branded-squares-row-slides-mobile {
    display: flex !important;
    gap: 20px !important;
    padding-right: 20px !important;
    padding-left: 0 !important;
  }
  
  .branded-square-row-item-mobile {
    flex: 0 0 300px !important;
    width: 300px !important;
    height: 400px !important;
  }
  
  .branded-square-row-item-mobile .branded-square-card {
    width: 300px !important;
    height: 400px !important;
  }
  
  .branded-squares-row-dots {
    display: none !important;
  }
  
  .branded-squares-row-dots-mobile {
    display: flex !important;
  }
  
  /* Ensure dots are perfectly circular on all devices, especially iOS and Chrome mobile */
  .branded-squares-row-dots-mobile .branded-squares-row-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    border: none !important;
    min-width: 10px !important;
    min-height: 10px !important;
    max-width: 10px !important;
    max-height: 10px !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
    background-clip: padding-box !important;
  }
  
  /* Fix dots container margin */
  .branded-squares-row-dots-mobile {
    margin: 2rem !important;
  }
}

/* Desktop dots container margin */
.branded-squares-row-dots {
  margin: 2rem !important;
}

/* Branded squares block section title - center aligned on mobile */
@media (max-width: 991px) {
  .branded-squares-block .section__label.font-label.label-lg.h2.text-uppercase {
    text-align: center !important;
    text-start: center !important;
  }
}

/* All branded squares section titles - unified mobile styling */
@media (max-width: 800px) {
  .branded-squares-block .section__label.font-label.label-lg.h2.text-uppercase,
  .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase {
    position: static !important;
    top: auto !important;
    transform: none !important;
    height: auto !important;
    width: 100% !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    writing-mode: horizontal-tb !important;
    text-align: center !important;
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    font-size: 48px !important;
    line-height: 1.2 !important;
    left: auto !important;
    right: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: auto !important;
    min-width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
    flex-shrink: auto !important;
    flex-grow: auto !important;
    box-sizing: border-box !important;
  }
}

/* Extra small mobile devices - unified styling for all branded squares */
@media (max-width: 480px) {
  .branded-squares-block .section__label.font-label.label-lg.h2.text-uppercase,
  .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase {
    font-size: 36px !important;
    line-height: 1.1 !important;
    padding: 0.75rem !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    height: auto !important;
    width: 100% !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    writing-mode: horizontal-tb !important;
    text-align: center !important;
    margin-bottom: 0.5rem !important;
    z-index: auto !important;
    min-width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
    flex-shrink: auto !important;
    flex-grow: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Small mobile devices - unified styling for all branded squares */
@media (max-width: 767px) and (min-width: 481px) {
  .branded-squares-block .section__label.font-label.label-lg.h2.text-uppercase,
  .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase {
    font-size: 42px !important;
    line-height: 1.15 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    height: auto !important;
    width: 100% !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    writing-mode: horizontal-tb !important;
    text-align: center !important;
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    z-index: auto !important;
    min-width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
    flex-shrink: auto !important;
    flex-grow: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Branded squares block desktop styling - constrain width */
@media (min-width: 850px) {
  .branded-squares-block {
    max-width: 100% !important;
    /* overflow: hidden !important; */
  }
  
  .branded-squares-block .branded-square-item {
    max-width: 100% !important;
  }
  
  .branded-squares-block .branded-square-card {
    max-width: 100% !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
  
  .branded-squares-block .section__label.font-label.label-lg.h2 {
    font-size: 78px !important;
  }
}

/* Branded squares block - ensure squares are always square */
.branded-squares-block .branded-square-card {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-width: 300px !important;
  max-height: 300px !important;
}

/* Override inline styles for branded square cards */
.branded-squares-block .branded-square-card[style*="width:322px"],
.branded-squares-block .branded-square-card[style*="height:322px"] {
  width: 300px !important;
  height: 300px !important;
  max-width: 300px !important;
  max-height: 300px !important;
}

/* Force override any branded square card with inline styles */
.branded-squares-block .branded-square-card[style] {
  width: 300px !important;
  height: 300px !important;
  max-width: 300px !important;
  max-height: 300px !important;
  aspect-ratio: 1 / 1 !important;
}

/* Ultra-specific override for branded square cards */
.branded-squares-block .branded-square-card.position-relative.overflow-hidden[style*="width:322px"][style*="height:322px"] {
  width: 300px !important;
  height: 300px !important;
  max-width: 300px !important;
  max-height: 300px !important;
  aspect-ratio: 1 / 1 !important;
}

/* Catch-all for any branded square card */
.branded-square-card {
  max-width: 500px !important;
  max-height: 500px !important;
}

/* Specific styling for branded squares row block */
.branded-squares-row-block .branded-square-card {
  width: 500px !important;
  height: 500px !important;
  max-width: 500px !important;
  max-height: 500px !important;
}

/* Responsive sizing for branded squares row block */
@media (max-width: 1199px) {
  .branded-squares-row-block .branded-square-card {
    width: 400px !important;
    height: 400px !important;
    max-width: 400px !important;
    max-height: 400px !important;
  }
}

/* Control section title width and font size on desktop */
.branded-squares-block .section__label.font-label.label-lg.h2 {
  max-width: 300px !important;
  font-size: 78px !important;
  line-height: 1.1 !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

/* Center section title on mobile */
@media (max-width: 850px) {
  .branded-squares-block .section__label.font-label.label-lg.h2 {
    text-align: center !important;
    max-width: 100% !important;
    line-height: 1.2 !important;
  }
}

/* Remove hover state from bylines in homepage billboard */
.mb-4[style*="border-bottom: 1px solid #B6B8BA"] a:hover,
.mb-4[style*="border-bottom: 1px solid #B6B8BA"] a:focus {
  text-decoration: none !important;
  color: inherit !important;
}

.mb-4[style*="border-bottom: 1px solid #B6B8BA"] .fw-bold:hover,
.mb-4[style*="border-bottom: 1px solid #B6B8BA"] .text-muted:hover {
  color: inherit !important;
}

/* Branded squares block mobile styling - make squares bigger with 15px margins */
@media (max-width: 850px) {
  .branded-squares-block .branded-square-item {
    margin-left: 15px !important;
    margin-right: 15px !important;
    margin-bottom: 2rem !important;
  }
  
  /* Override any inline styles for branded square cards */
  .branded-squares-block .branded-square-card,
  .branded-squares-block .branded-square-card[style*="width"],
  .branded-squares-block .branded-square-card[style*="height"],
  .branded-squares-block .branded-square-card[style*="width:322px"],
  .branded-squares-block .branded-square-card[style*="height:250px"],
  .branded-squares-block .branded-square-card[style*="!important"] {
    width: calc(100vw - 30px) !important;
    height: calc(100vw - 30px) !important;
    max-width: 400px !important;
    max-height: 400px !important;
    margin: 0 auto !important;
  }
  
  /* Force override for any inline width/height styles */
  .branded-squares-block .branded-square-card[style] {
    width: calc(100vw - 30px) !important;
    height: calc(100vw - 30px) !important;
    max-width: 400px !important;
    max-height: 400px !important;
    margin: 0 auto !important;
  }
  
  .branded-squares-block .branded-square-title,
  .branded-squares-block .branded-square-title[style*="font-size"],
  .branded-squares-block .branded-square-title[style*="font-size: 34px"] {
    font-size: 34px !important;
    line-height: 34px !important;
  }
  
  .branded-squares-block .branded-square-author,
  .branded-squares-block .branded-square-author[style*="font-size"],
  .branded-squares-block .branded-square-author[style*="font-size: 10px"] {
    font-size: 10px !important;
    line-height: 24px !important;
  }
}

/* Branded squares block tablet styling - 768-850px with larger max-width */
@media (max-width: 850px) and (min-width: 768px) {
  .branded-squares-block .branded-square-card[style] {
    width: calc(100vw - 30px) !important;
    height: calc(100vw - 30px) !important;
    max-width: 600px !important;
    max-height: 600px !important;
    margin: 0 auto !important;
  }
}


/* Branded squares section titles - full width and centered on mobile */
@media (max-width: 800px) {
  .branded-squares-row-block .section__label.font-label.label-lg.h2.text-uppercase,
  .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    height: auto !important;
    width: 100% !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    writing-mode: horizontal-tb !important;
    text-align: center !important;
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    font-size: 48px !important;
    line-height: 1.2 !important;
    z-index: auto !important;
    min-width: auto !important;
    max-width: none !important;
    flex-basis: auto !important;
    flex-shrink: auto !important;
    flex-grow: auto !important;
    box-sizing: border-box !important;
  }
}

/* Video podcast content - 15px left and right padding for all text on mobile */
@media (max-width: 768px) {
  .video-podcast-content .vpc-title,
  .video-podcast-content .vpc-description,
  .video-podcast-content .vpc-text,
  .video-podcast-content .vpc-episode,
  .video-podcast-content .btn-podcast {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* Events section title - smaller on mobile */
@media (max-width: 800px) {
  .section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title) {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    height: auto !important;
    width: 100% !important;
    background: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    writing-mode: horizontal-tb !important;
    text-align: center !important;
    padding: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    font-size: 48px !important;
    line-height: 1.2 !important;
  }
}

/* Extra small mobile devices - make events section title even smaller */
@media (max-width: 480px) {
  .section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title) {
    font-size: 36px !important;
    line-height: 1.1 !important;
    padding: 0.75rem !important;
  }
}

/* Small mobile devices - medium size for events section title */
@media (max-width: 767px) and (min-width: 481px) {
  .section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title) {
    font-size: 42px !important;
    line-height: 1.15 !important;
  }
}

/* Branded square under titles - 38px on mobile */
@media (max-width: 991px) {
  .branded-square-under-title {
    font-size: 38px !important;
    line-height: 38px !important;
    font-family: 'League Gothic', Arial, sans-serif !important;
    font-weight: 400 !important;
  }
}

/* Branded square under titles - 38px for mobile devices - higher specificity */
@media (max-width: 768px) {
  .branded-square-under-title,
  .branded-squares-under-container .branded-square-under-title,
  .branded-squares-under-block .branded-square-under-title,
  h3.branded-square-under-title,
  .branded-squares-under-container h3.branded-square-under-title {
    font-size: 38px !important;
    line-height: 38px !important;
    font-family: 'League Gothic', Arial, sans-serif !important;
    font-weight: 400 !important;
  }
}

/* Branded square under titles - 40px for desktop, 38px for mobile */
.branded-square-under-title {
  font-size: 40px !important;
  line-height: 40px !important;
  font-family: 'League Gothic', Arial, sans-serif !important;
  font-weight: 400 !important;
}

/* Mobile override for branded square under titles - higher specificity to override 1rem rule */
@media (max-width: 991px) {
  .branded-square-under-title,
  .branded-squares-under-container .branded-square-under-title,
  .branded-squares-under-block .branded-square-under-title,
  h3.branded-square-under-title {
    font-size: 38px !important;
    line-height: 38px !important;
    font-family: 'League Gothic', Arial, sans-serif !important;
    font-weight: 400 !important;
  }
}

/* Branded squares under section - 15px left and right margins on mobile */
@media (max-width: 991px) {
  .branded-squares-under-block {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
}

/* Teaser partner more - 15px left and right margins on mobile */
@media (max-width: 991px) {
  .teaser_partner_more {
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
}

/* Navigation right column - add more spacing */
body.page-template-home .nav-right-col {
  margin-bottom: 20px !important;
}

@media (max-width: 767px) {
  body.page-template-home .nav-right-col {
    margin-bottom: 20px !important;
  }
}

/* Zephr Premium Lock Positioning - Move locks from titles to images */
.section--teaser_partner {
  position: relative !important;
}



/* Mobile homepage list item links - 18px font size */
@media (max-width: 991px) {
    .homepage-list-item a {
        font-size: 18px !important;
    }
}

/* Section labels - 78px font size (excluding homepage list titles) */
.section__label.font-label.label-lg.h2.text-uppercase:not(.homepage-list-title) {
    font-size: 78px !important;
}



/* Latest titles - 18px on mobile */
@media (max-width: 991px) {
    .homepage-latest-block .section__title,
    .homepage-latest-block h1,
    .homepage-latest-block h2,
    .homepage-latest-block h3,
    .homepage-latest-block h4,
    .homepage-latest-block h5,
    .homepage-latest-block h6 {
        font-size: 18px !important;
    }
}

/* Homepage latest items - 18px on mobile */
@media (max-width: 991px) {
    .homepage-latest-block .homepage-list-item a,
    .homepage-latest-block .homepage-list-item h1,
    .homepage-latest-block .homepage-list-item h2,
    .homepage-latest-block .homepage-list-item h3,
    .homepage-latest-block .homepage-list-item h4,
    .homepage-latest-block .homepage-list-item h5,
    .homepage-latest-block .homepage-list-item h6,
    .homepage-latest-block .homepage-list-item .section__title {
        font-size: 18px !important;
    }
}

/* Homepage list block items - 18px on mobile */
@media (max-width: 991px) {
    .homepage-list-block .homepage-list-item a,
    .homepage-list-block .homepage-list-item div[style*="font-size:18px"] {
        font-size: 18px !important;
    }
}

/* WordPress columns and teaser partner more - 15px left/right padding */
.wp-block-columns,
.wp-block-column,
.teaser_partner_more {
    padding-right: 15px !important;
}

/* Vertical spacing between blocks - 35px margin */
.post-container-custom-block + .homepage-list-block,
.homepage-list-block + .post-container-custom-block {
    margin-top: 35px !important;
}

body.home .homepage-billboard-block a[href*="read-more"]:hover,
body.page-template-home .homepage-billboard-block a[href*="read-more"]:hover {
  color: #F53C60 !important;
}

/* Read More Button - Hover and Pressed States (No Spinning) */
.btn.fw-bold.px-4.text-uppercase[style*="background:#F53C60"],
.btn.fw-bold.px-4.text-uppercase[style*="background: #F53C60"] {
	transition: all 0.3s ease !important;
}

.btn.fw-bold.px-4.text-uppercase[style*="background:#F53C60"] span:first-child,
.btn.fw-bold.px-4.text-uppercase[style*="background: #F53C60"] span:first-child {
	transition: none !important;
	display: inline-block !important;
}

/* Hover state - no spinning */
.btn.fw-bold.px-4.text-uppercase[style*="background:#F53C60"]:hover,
.btn.fw-bold.px-4.text-uppercase[style*="background: #F53C60"]:hover {
	background: #e0244a !important;
	border-color: #e0244a !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(245, 60, 96, 0.3) !important;
}

.btn.fw-bold.px-4.text-uppercase[style*="background:#F53C60"]:hover span:first-child,
.btn.fw-bold.px-4.text-uppercase[style*="background: #F53C60"]:hover span:first-child {
	animation: none !important;
	transform: none !important;
}

/* Active/Pressed state - no spinning */
.btn.fw-bold.px-4.text-uppercase[style*="background:#F53C60"]:active,
.btn.fw-bold.px-4.text-uppercase[style*="background: #F53C60"]:active {
	background: #e0244a !important;
	border-color: #e0244a !important;
	transform: translateY(0) !important;
	box-shadow: 0 2px 6px rgba(245, 60, 96, 0.4) !important;
}

.btn.fw-bold.px-4.text-uppercase[style*="background:#F53C60"]:active span:first-child,
.btn.fw-bold.px-4.text-uppercase[style*="background: #F53C60"]:active span:first-child {
	animation: none !important;
	transform: none !important;
}

/* Homepage Billboard and Latest Titles Hover Effects */
/* Story titles hover effect for homepage billboard and latest blocks */
.homepage-billboard-block a,
.homepage-latest-block a,
.homepage-billboard-block h1 a,
.homepage-billboard-block h2 a,
.homepage-billboard-block h3 a,
.homepage-billboard-block h4 a,
.homepage-billboard-block h5 a,
.homepage-latest-block h1 a,
.homepage-latest-block h2 a,
.homepage-latest-block h3 a,
.homepage-latest-block h4 a,
.homepage-latest-block h5 a {
    transition: color 0.3s ease !important;
}

.homepage-billboard-block a:hover,
.homepage-latest-block a:hover,
.homepage-billboard-block h1 a:hover,
.homepage-billboard-block h2 a:hover,
.homepage-billboard-block h3 a:hover,
.homepage-billboard-block h4 a:hover,
.homepage-billboard-block h5 a:hover,
.homepage-latest-block h1 a:hover,
.homepage-latest-block h2 a:hover,
.homepage-latest-block h3 a:hover,
.homepage-latest-block h4 a:hover,
.homepage-latest-block h5 a:hover {
    color: #f53c60 !important;
    text-decoration: none !important;
}

/* Enhanced hover effects for story titles */
.homepage-billboard-block h3,
.homepage-billboard-block h4,
.homepage-billboard-block h5,
.homepage-latest-block h3,
.homepage-latest-block h4,
.homepage-latest-block h5 {
    transition: color 0.3s ease !important;
}

.homepage-billboard-block h3:hover,
.homepage-billboard-block h4:hover,
.homepage-billboard-block h5:hover,
.homepage-latest-block h3:hover,
.homepage-latest-block h4:hover,
.homepage-latest-block h5:hover {
    color: #f53c60 !important;
}

/* Ensure all interactive elements in homepage billboard and latest have hover effects */
.homepage-billboard-block a:hover,
.homepage-latest-block a:hover {
    text-decoration: none !important;
}

/* Main story title hover effect in latest block */
.homepage-latest-block div[style*="font-family:League Gothic"] a {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

.homepage-latest-block div[style*="font-family:League Gothic"] a:hover {
    color: #f53c60 !important;
}

/* READ FULL STORY link hover effect in homepage latest block */
.homepage-latest-block a[style*="border-bottom:2px solid #F53C60"] {
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.homepage-latest-block a[style*="border-bottom:2px solid #F53C60"]:hover {
    color: #f53c60 !important;
    border-bottom-color: #f53c60 !important;
}

/* Branded squares under container title hover effects */
.branded-squares-under-container .branded-square-under-title {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

.branded-squares-under-container .branded-square-under-title:hover {
    color: #f53c60 !important;
}

/* Branded squares under container link hover effects */
.branded-squares-under-container a {
    transition: color 0.3s ease !important;
}

.branded-squares-under-container a:hover {
    text-decoration: none !important;
}

/* Data Drop Subscribe Button Hover Effects */
.btn-data-drop-subscribe {
    transition: all 0.3s ease !important;
}

.btn-data-drop-subscribe:hover {
    background: #d6669a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(240, 125, 176, 0.3) !important;
}

.btn-data-drop-subscribe:active {
    background: #c25a8a !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(240, 125, 176, 0.4) !important;
}

/* Add 15px left and right padding to homepage list block */
.homepage-list-block {
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: content-box !important;
}

/* Add 15px left and right margin on mobile for homepage list block */
@media (max-width: 767px) {
  .homepage-list-block {
    margin-left: 15px !important;
    margin-right: 15px !important;
    margin-top: 60px !important;
    margin-bottom: 60px !important;
    box-sizing: content-box !important;
  }
  
  /* Override inline margin styles on mobile */
  .homepage-list-block[style*="margin:20px"] {
    margin: 60px 15px !important;
  }
  
  .homepage-list-block[style*="margin: 20px"] {
    margin: 60px 15px !important;
  }
  
  /* Increase spacing for Must Reads block specifically */
  .homepage-list-block[style*="border:1px solid #8000ff"] {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
  }
  
  .homepage-list-block[style*="border:1px solid #8000ff"][style*="margin:20px"] {
    margin: 80px 15px !important;
  }
  
  .homepage-list-block[style*="border:1px solid #8000ff"][style*="margin: 20px"] {
    margin: 80px 15px !important;
  }
}

/* Add 20px top margin for homepage list block on tablet */
@media (min-width: 768px) and (max-width: 1023px) {
  .homepage-list-block {
    margin-top: 20px !important;
  }
}

/* Data Drop Content - Dark Mode Support */
.wp-block-group.has-background[style*="background-color:#efefef"] {
  background-color: var(--bs-secondary-bg) !important;
}

[data-theme="dark"] .wp-block-group.has-background[style*="background-color:#efefef"],
body.dark-mode .wp-block-group.has-background[style*="background-color:#efefef"] {
  background-color: #2d2d2e !important;
}

.wp-block-group.has-white-background-color {
  background-color: var(--bs-tertiary-bg) !important;
}

  /* Remove padding from wp-block-group elements on mobile */
  @media (max-width: 767px) {
    .wp-block-group.has-background.is-layout-constrained,
    .wp-block-group.has-white-background-color.has-background.is-layout-constrained {
      padding-top: 7px !important;
      padding-right: 7px !important;
      padding-bottom: 20px !important;
      padding-left: 7px !important;
    }
  
  /* Make heading blocks inside wp-block-group use Geist 16px 700 on mobile */
  .wp-block-group.has-background.is-layout-constrained .wp-block-heading,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained .wp-block-heading,
  .wp-block-group.has-background.is-layout-constrained h1,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained h1,
  .wp-block-group.has-background.is-layout-constrained h2,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained h2,
  .wp-block-group.has-background.is-layout-constrained h3,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained h3,
  .wp-block-group.has-background.is-layout-constrained h4,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained h4,
  .wp-block-group.has-background.is-layout-constrained h5,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained h5,
  .wp-block-group.has-background.is-layout-constrained h6,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained h6 {
    font-family: 'Geist', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  /* Ensure h6 elements have consistent weight and thickness */
  .wp-block-group.has-background.is-layout-constrained h6.wp-block-heading,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained h6.wp-block-heading {
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-family: 'Geist', sans-serif !important;
  }
  
  /* Add 15px left/right padding to text content inside wp-block-group */
  .wp-block-group.has-background.is-layout-constrained p,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained p,
  .wp-block-group.has-background.is-layout-constrained .wp-block-paragraph,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained .wp-block-paragraph {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  /* Make images bigger with 7px padding in white background containers */
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained .wp-block-image,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained figure.wp-block-image {
    padding: 7px !important;
    width: calc(100% - 14px) !important;
    max-width: calc(100% - 14px) !important;
  }
  
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained .wp-block-image img,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained figure.wp-block-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
  
  /* Style links inside wp-block-group containers */
  .wp-block-group.has-background.is-layout-constrained a,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained a {
    text-decoration: none !important;
    color: inherit !important;
    transition: color 0.3s ease !important;
  }
  
  .wp-block-group.has-background.is-layout-constrained a:hover,
  .wp-block-group.has-white-background-color.has-background.is-layout-constrained a:hover {
    color: #f53c60 !important;
    text-decoration: none !important;
  }
}

/* Data Drop Subscribe Button - Dark Mode Support */
.btn-data-drop-subscribe {
  background: #F07DB0 !important;
  border: none !important;
  border-top-right-radius: 15px !important;
  border-bottom-left-radius: 15px !important;
  padding: 12px 24px !important;
  font-family: Resolve Sans Medium Wide, Helvetica Neue, Helvetica, Arial, sans-serif !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 12px !important;
  line-height: 100% !important;
  letter-spacing: 3% !important;
  text-align: center !important;
  vertical-align: middle !important;
  text-transform: uppercase !important;
  color: white !important;
  cursor: pointer !important;
  opacity: 1 !important;
  width: 100% !important;
  transition: all 0.3s ease !important;
}

.btn-data-drop-subscribe:hover {
  background: #d06a9a !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(240, 125, 176, 0.3) !important;
}

.btn-data-drop-subscribe:active {
  background: #d06a9a !important;
  transform: translateY(0) !important;
  box-shadow: 0 2px 6px rgba(240, 125, 176, 0.4) !important;
}

/* Image inversion class using Bootstrap variables */
.image-invert {
  filter: invert(1) !important;
}

/* Dark mode support for image inversion */
[data-bs-theme="dark"] .image-invert {
  filter: invert(0) !important;
}

/* Light mode support for image inversion */
[data-bs-theme="light"] .image-invert {
  filter: invert(1) !important;
}

/* Dark mode styling for wp-block-group containers */
[data-bs-theme="dark"] .wp-block-group.has-background.is-layout-constrained,
[data-bs-theme="dark"] .wp-block-group.has-white-background-color.has-background.is-layout-constrained {
  background-color: #2f3031 !important;
}

/* Dark mode image opacity adjustment */
[data-bs-theme="dark"] .wp-block-group.has-background.is-layout-constrained .wp-block-image img,
[data-bs-theme="dark"] .wp-block-group.has-white-background-color.has-background.is-layout-constrained .wp-block-image img,
[data-bs-theme="dark"] .wp-block-group.has-background.is-layout-constrained figure.wp-block-image img,
[data-bs-theme="dark"] .wp-block-group.has-white-background-color.has-background.is-layout-constrained figure.wp-block-image img {
  opacity: 0.8 !important;
  border-radius: 8px !important;
}

.branded-square-under-title {
    font-family: 'League Gothic', Arial, sans-serif !important;
    font-size: 38px !important;
    line-height: 38px !important;
    font-weight: 400 !important;
  }
  
  /* Override h3 rule for branded square under titles */
  .adw-homepage-layout.d-block.d-lg-none .wp-block-column .branded-square-under-title {
    font-size: 38px !important;
    line-height: 38px !important;
  }

/* Homepage Billboard Title Hover Effects - Comprehensive */
.homepage-billboard-block h1,
.homepage-billboard-block h2,
.homepage-billboard-block h3,
.homepage-billboard-block h4,
.homepage-billboard-block h5,
.homepage-billboard-block h6 {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

.homepage-billboard-block h1:hover,
.homepage-billboard-block h2:hover,
.homepage-billboard-block h3:hover,
.homepage-billboard-block h4:hover,
.homepage-billboard-block h5:hover,
.homepage-billboard-block h6:hover {
    color: #f53c60 !important;
}

/* Homepage Billboard Title Link Hover Effects */
.homepage-billboard-block h1 a,
.homepage-billboard-block h2 a,
.homepage-billboard-block h3 a,
.homepage-billboard-block h4 a,
.homepage-billboard-block h5 a,
.homepage-billboard-block h6 a {
    transition: color 0.3s ease !important;
    text-decoration: none !important;
}

.homepage-billboard-block h1 a:hover,
.homepage-billboard-block h2 a:hover,
.homepage-billboard-block h3 a:hover,
.homepage-billboard-block h4 a:hover,
.homepage-billboard-block h5 a:hover,
.homepage-billboard-block h6 a:hover {
    color: #f53c60 !important;
    text-decoration: none !important;
}

/* Override any inline styles for homepage billboard titles */
.homepage-billboard-block h1[style*="color"],
.homepage-billboard-block h2[style*="color"],
.homepage-billboard-block h3[style*="color"],
.homepage-billboard-block h4[style*="color"],
.homepage-billboard-block h5[style*="color"],
.homepage-billboard-block h6[style*="color"] {
    transition: color 0.3s ease !important;
}

.homepage-billboard-block h1[style*="color"]:hover,
.homepage-billboard-block h2[style*="color"]:hover,
.homepage-billboard-block h3[style*="color"]:hover,
.homepage-billboard-block h4[style*="color"]:hover,
.homepage-billboard-block h5[style*="color"]:hover,
.homepage-billboard-block h6[style*="color"]:hover {
    color: #f53c60 !important;
}

/* Card Title Hover Effects for Homepage Billboard */
.card-horizontal .card-title,
.card-horizontal h4,
.card-horizontal h3,
.card-horizontal h2,
.card-horizontal h1 {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

.card-horizontal .card-title:hover,
.card-horizontal h4:hover,
.card-horizontal h3:hover,
.card-horizontal h2:hover,
.card-horizontal h1:hover {
    color: #f53c60 !important;
}

/* Card Title Link Hover Effects */
.card-horizontal .card-title a,
.card-horizontal h4 a,
.card-horizontal h3 a,
.card-horizontal h2 a,
.card-horizontal h1 a {
    transition: color 0.3s ease !important;
    text-decoration: none !important;
}

.card-horizontal .card-title a:hover,
.card-horizontal h4 a:hover,
.card-horizontal h3 a:hover,
.card-horizontal h2 a:hover,
.card-horizontal h1 a:hover {
    color: #f53c60 !important;
    text-decoration: none !important;
}

/* Override inline styles for card titles */
.card-horizontal .card-title[style*="color"],
.card-horizontal h4[style*="color"],
.card-horizontal h3[style*="color"],
.card-horizontal h2[style*="color"],
.card-horizontal h1[style*="color"] {
    transition: color 0.3s ease !important;
}

.card-horizontal .card-title[style*="color"]:hover,
.card-horizontal h4[style*="color"]:hover,
.card-horizontal h3[style*="color"]:hover,
.card-horizontal h2[style*="color"]:hover,
.card-horizontal h1[style*="color"]:hover {
    color: #f53c60 !important;
}

/* League Gothic Heading Hover Effects */
h1[style*="font-family:League Gothic"],
h2[style*="font-family:League Gothic"],
h3[style*="font-family:League Gothic"],
h4[style*="font-family:League Gothic"],
h5[style*="font-family:League Gothic"],
h6[style*="font-family:League Gothic"] {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

h1[style*="font-family:League Gothic"]:hover,
h2[style*="font-family:League Gothic"]:hover,
h3[style*="font-family:League Gothic"]:hover,
h4[style*="font-family:League Gothic"]:hover,
h5[style*="font-family:League Gothic"]:hover,
h6[style*="font-family:League Gothic"]:hover {
    color: #f53c60 !important;
}

/* General h1-h6 Hover Effects for Homepage */
.homepage-billboard-block h1,
.homepage-billboard-block h2,
.homepage-billboard-block h3,
.homepage-billboard-block h4,
.homepage-billboard-block h5,
.homepage-billboard-block h6,
.homepage-latest-block h1,
.homepage-latest-block h2,
.homepage-latest-block h3,
.homepage-latest-block h4,
.homepage-latest-block h5,
.homepage-latest-block h6 {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

.homepage-billboard-block h1:hover,
.homepage-billboard-block h2:hover,
.homepage-billboard-block h3:hover,
.homepage-billboard-block h4:hover,
.homepage-billboard-block h5:hover,
.homepage-billboard-block h6:hover,
.homepage-latest-block h1:hover,
.homepage-latest-block h2:hover,
.homepage-latest-block h3:hover,
.homepage-latest-block h4:hover,
.homepage-latest-block h5:hover,
.homepage-latest-block h6:hover {
    color: #f53c60 !important;
}

/* fw-bold Title Hover Effects */
.fw-bold[style*="font-size"],
.fw-bold[style*="color"],
.mb-4 .fw-bold,
.mb-4 div[style*="font-size"] {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

.fw-bold[style*="font-size"]:hover,
.fw-bold[style*="color"]:hover,
.mb-4 .fw-bold:hover,
.mb-4 div[style*="font-size"]:hover {
    color: #f53c60 !important;
}

/* Link wrapper hover effects for fw-bold titles */
.mb-4 a:hover .fw-bold,
.mb-4 a:hover div[style*="font-size"] {
    color: #f53c60 !important;
}

/* General div title hover effects */
div[style*="font-size"][style*="color"] {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

div[style*="font-size"][style*="color"]:hover {
    color: #f53c60 !important;
}

/* Link wrapper hover effects for div titles */
a:hover div[style*="font-size"][style*="color"] {
    color: #f53c60 !important;
}

/* Link-wrapped title hover effects - Target parent link hover */
.mb-4 a:hover .fw-bold,
.mb-4 a:hover div[style*="font-size"],
.mb-4 a:hover div[style*="color: inherit"] {
    color: #f53c60 !important;
}

/* Direct hover effects for fw-bold titles */
.fw-bold[style*="font-size"],
.fw-bold[style*="color"],
.mb-4 .fw-bold {
    transition: color 0.3s ease !important;
    cursor: pointer !important;
}

.fw-bold[style*="font-size"]:hover,
.fw-bold[style*="color"]:hover,
.mb-4 .fw-bold:hover {
    color: #f53c60 !important;
}

/* Link wrapper hover effects for any title div */
a:hover .fw-bold,
a:hover div[style*="font-size"],
a:hover div[style*="color: inherit"] {
    color: #f53c60 !important;
}

/* Ensure smooth transitions on all title elements */
.fw-bold,
div[style*="font-size"],
div[style*="color: inherit"] {
    transition: color 0.3s ease !important;
}

/* Fix button hover states to use darker versions of their current colors */
body.home .btn[style*="background:#F53C60"],
body.page-template-home .btn[style*="background:#F53C60"],
body.home .btn[style*="background: #F53C60"],
body.page-template-home .btn[style*="background: #F53C60"] {
    transition: all 0.3s ease !important;
}

body.home .btn[style*="background:#F53C60"]:hover,
body.page-template-home .btn[style*="background:#F53C60"]:hover,
body.home .btn[style*="background: #F53C60"]:hover,
body.page-template-home .btn[style*="background: #F53C60"]:hover {
    background: #d63384 !important;
    border-color: #d63384 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Fix button hover states for buttons with red background in links */
body.home a[role="button"] .btn[style*="background:#F53C60"]:hover,
body.page-template-home a[role="button"] .btn[style*="background:#F53C60"]:hover,
body.home a[role="button"] .btn[style*="background: #F53C60"]:hover,
body.page-template-home a[role="button"] .btn[style*="background: #F53C60"]:hover {
    background: #d63384 !important;
    border-color: #d63384 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Make border-bottom match latest items styling */
.d-flex.align-items-start.mb-3.border-bottom.border-secondary,
.d-flex.align-items-center.mb-3.border-bottom.border-secondary {
    border-bottom: 1px solid #B6B8BA !important;
}

/* Dark mode support for border-bottom */
[data-theme="dark"] .d-flex.align-items-start.mb-3.border-bottom.border-secondary,
body.dark-mode .d-flex.align-items-start.mb-3.border-bottom.border-secondary,
[data-theme="dark"] .d-flex.align-items-center.mb-3.border-bottom.border-secondary,
body.dark-mode .d-flex.align-items-center.mb-3.border-bottom.border-secondary {
    border-bottom: 1px solid #6c6c6c !important;
}

/* Homepage premium lock icon visibility fix */
.homepage-latest-block .is-premium-sm-sq img,
.homepage-list-vertical-list .is-premium-sm-sq img {
    padding: 0 !important;
    max-width: 1.2em !important;
}

/* Remove gap-2 from post teaser alt components on homepage */
body.home .wp-block-adw-blocks-post-teaser-alt .section--teaser_info,
body.page-template-home .wp-block-adw-blocks-post-teaser-alt .section--teaser_info {
    gap: 0 !important;
}

/* Ensure kicker labels in post teaser alt components use correct color */
body.home .wp-block-adw-blocks-post-teaser-alt .section__kickerlabel,
body.page-template-home .wp-block-adw-blocks-post-teaser-alt .section__kickerlabel,
body.home .teaser_partner_more .section__kickerlabel,
body.page-template-home .teaser_partner_more .section__kickerlabel {
    color: #F53C60 !important;
}

/* Remove hover effects on kicker labels for homepage only */
body.home .section__kickerlabel:hover,
body.page-template-home .section__kickerlabel:hover {
    background-color: transparent !important;
    color: #F53C60 !important;
}

/* Remove hover effects on kicker labels within specific homepage components */
body.home .wp-block-adw-blocks-post-teaser-alt .section__kickerlabel:hover,
body.page-template-home .wp-block-adw-blocks-post-teaser-alt .section__kickerlabel:hover,
body.home .teaser_partner_more .section__kickerlabel:hover,
body.page-template-home .teaser_partner_more .section__kickerlabel:hover {
    background-color: transparent !important;
    color: #F53C60 !important;
}

/* Override inline styles for lock icons in post teaser alt components */
body.home .wp-block-adw-blocks-post-teaser-alt .is-premium-sm-sq img,
body.page-template-home .wp-block-adw-blocks-post-teaser-alt .is-premium-sm-sq img,
body.home .teaser_partner_more .is-premium-sm-sq img,
body.page-template-home .teaser_partner_more .is-premium-sm-sq img {
    width: 2em !important;
    height: 2em !important;
}

/* Ensure homepage billboard first story lock appears over image and is 2em x 2em */
body.home .homepage-billboard-block .is-premium-sm-sq img,
body.page-template-home .homepage-billboard-block .is-premium-sm-sq img {
    width: 2em !important;
    height: 2em !important;
}

/* Position lock over image in homepage billboard first story */
body.home .homepage-billboard-block .mb-4:first-child .is-premium-sm-sq,
body.page-template-home .homepage-billboard-block .mb-4:first-child .is-premium-sm-sq {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 4px !important;
    padding: 4px !important;
}

/* Position lock over image in homepage latest first story */
body.home .homepage-latest-block .homepage-latest-item:first-child .is-premium-sm-sq,
body.page-template-home .homepage-latest-block .homepage-latest-item:first-child .is-premium-sm-sq {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 10 !important;
    background: rgba(255, 255, 255, 0.9) !important;
    border-radius: 4px !important;
    padding: 4px !important;
}

/* Homepage list first image hover effects */
.homepage-list-first-image-link {
  overflow: hidden !important;
  display: block !important;
}

.homepage-list-first-image-link img {
  transition: transform 0.3s ease !important;
}

.homepage-list-first-image-link:hover img {
  transform: scale(1.05) !important;
}

/* Homepage list first image hover z-index - ensure it appears above section title */
.homepage-list-first-image:hover {
  z-index: 10 !important;
  position: relative !important;
}

.homepage-list-first-image-link:hover {
  z-index: 10 !important;
  position: relative !important;
}

.homepage-list-first-image-link:hover img {
  z-index: 10 !important;
  position: relative !important;
}

/* iOS Safari fix for writing-mode spacing issues */
@supports (-webkit-touch-callout: none) {
  .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    transform: translateY(-50%) rotate(180deg) !important;
  }
  
  .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase span {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 700 !important;
  }
  
  /* Fix spacing between text elements on iOS */
  .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase br {
    display: none !important;
  }
  
  .branded-squares-under-block .section__label.font-label.label-lg.h2.text-uppercase {
    white-space: nowrap !important;
    word-spacing: 0 !important;
    letter-spacing: 0 !important;
  }
}
