/*
    code by Iatek LLC 2018 - CC 2.0 License - Attribution required
    code customized by Azmind.com
*/
@media (max-width: 768px) {
    #homePageSlidersContainer .carousel-item {
        max-width: 100%;
        margin: auto !important;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    /* Show 4th slide on md if col-md-4*/
    #homePageSlidersContainer
        .carousel-inner
        .active.col-md-4.carousel-item
        + .carousel-item
        + .carousel-item
        + .carousel-item {
        position: absolute;
        top: 0;
        right: -33.3333%; /*change this with javascript in the future*/
        z-index: -1;
        display: block;
        visibility: visible;
    }
}
@media (min-width: 576px) and (max-width: 768px) {
    /* Show 3rd slide on sm if col-sm-6*/
    #homePageSlidersContainer
        .carousel-inner
        .active.col-sm-6.carousel-item
        + .carousel-item
        + .carousel-item {
        position: absolute;
        top: 0;
        right: -50%; /*change this with javascript in the future*/
        z-index: -1;
        display: block;
        visibility: visible;
    }
}
@media (min-width: 576px) {
    #homePageSlidersContainer .carousel-item {
        margin-right: 0;
    }
    /* show 2 items */
    #homePageSlidersContainer .carousel-inner .active + .carousel-item {
        display: block;
    }
    #homePageSlidersContainer
        .carousel-inner
        .carousel-item.active:not(.carousel-item-right):not(
            .carousel-item-left
        ),
    #homePageSlidersContainer
        .carousel-inner
        .carousel-item.active:not(.carousel-item-end):not(.carousel-item-start)
        + .carousel-item {
        transition: none;
    }
    #homePageSlidersContainer .carousel-inner .carousel-item-next {
        position: relative;
        transform: translate3d(0, 0, 0);
    }
    /* left or forward direction */
    #homePageSlidersContainer
        .active.carousel-item-start
        + .carousel-item-next.carousel-item-start,
    #homePageSlidersContainer
        .carousel-item-next.carousel-item-start
        + .carousel-item,
    #homePageSlidersContainer
        .carousel-item-next.carousel-item-start
        + .carousel-item
        + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* farthest right hidden item must be also positioned for animations */
    #homePageSlidersContainer
        .carousel-inner
        .carousel-item-prev.carousel-item-end {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        display: block;
        visibility: visible;
    }
    /* right or prev direction */
    .active.carousel-item-end + .carousel-item-prev.carousel-item-end,
    .carousel-item-prev.carousel-item-end + .carousel-item,
    .carousel-item-prev.carousel-item-end + .carousel-item + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;
    }
}
/* MD */
@media (min-width: 768px) {
    .carousel-item {
        width: 33%;
    }
    /* show 3rd of 3 item slide */
    .carousel-inner .active + .carousel-item + .carousel-item {
        display: block;
    }
    .carousel-inner
        .carousel-item.active:not(.carousel-item-end):not(.carousel-item-start)
        + .carousel-item
        + .carousel-item {
        transition: none;
    }
    .carousel-inner .carousel-item-next {
        position: relative;
        transform: translate3d(0, 0, 0);
    }
    /* left or forward direction */
    .carousel-item-next.carousel-item-start
        + .carousel-item
        + .carousel-item
        + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* right or prev direction */
    .carousel-item-prev.carousel-item-end
        + .carousel-item
        + .carousel-item
        + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;
    }
}
/* LG -- THIS IS TURNED OFF FOR NOW AS WE ONLY SHOW 3 BOXES*/
@media (min-width: 991px) {
    /* show 4th item */
    .carousel-inner .active + .carousel-item + .carousel-item + .carousel-item {
        display: none;
    }
    .carousel-inner
        .carousel-item.active:not(.carousel-item-end):not(.carousel-item-start)
        + .carousel-item
        + .carousel-item
        + .carousel-item {
        transition: none;
    }
    /* Show 5th slide on lg if col-lg-3 */
    .carousel-inner
        .active.col-lg-3.carousel-item
        + .carousel-item
        + .carousel-item
        + .carousel-item
        + .carousel-item {
        position: absolute;
        top: 0;
        right: -25%; /*change this with javascript in the future*/
        z-index: -1;
        display: block;
        visibility: visible;
    }
    /* left or forward direction */
    .carousel-item-next.carousel-item-start
        + .carousel-item
        + .carousel-item
        + .carousel-item
        + .carousel-item {
        position: relative;
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }
    /* right or prev direction //t - previous slide direction last item animation fix */
    .carousel-item-prev.carousel-item-end
        + .carousel-item
        + .carousel-item
        + .carousel-item
        + .carousel-item {
        position: relative;
        transform: translate3d(100%, 0, 0);
        visibility: visible;
        display: block;
        visibility: visible;
    }
}

#homePageSlidersContainer h2 {
    color: #007541;
    font-family: "Hackney Bold", Sans-serif;
    font-size: 3em;
}

#homePageSlidersContainer .row > h2 {
    position: absolute;
}

#homePageSlidersContainer h2.card-title {
    line-height: 1;
    font-size: 1.1em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#homePageSlidersContainer .socialMetricsBar {
    bottom: 0px;
    background-color: rgb(0 0 0 / 20%);
}

/* Card shrink */

@media (min-width: 1200px) {
    #homePageSlidersContainer .carousel-item {
        height: 340px;
        overflow: hidden;
        width: 33%;
    }
    #homePageSlidersContainer .carousel-item img,
    #homePageSlidersContainer .carousel-item .imageContainer {
        height: 270px;
        transition: ease 0.5s;
    }
    #homePageSlidersContainer .carousel-item.shrink img,
    #homePageSlidersContainer .carousel-item.shrink .imageContainer {
        height: 210px;
        transition: ease 0.5s;
    }

    #homePageSlidersContainer .carousel-item.shrink .contentContainer {
        height: 126px;
        justify-content: center;
        transition: ease 0.5s;
    }
    #homePageSlidersContainer .carousel-item .contentContainer {
        height: 200px;
        justify-content: space-around;
        transition: ease 0.5s;
    }
    #homePageSlidersContainer .carousel-item .card-title {
        height: 70px;
        align-content: center;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        transition: ease 0.5s;
    }

    #homePageSlidersContainer .shrink .card-title {
        height: 40px;
        transition: ease 0.5s;
    }

    #homePageSlidersContainer .badges {
        height: 84px;
        display: flex;
        justify-content: end;
    }

    #homePageSlidersContainer .badges p {
        align-content: end;
    }
    #homePageSlidersContainer .badges p span:nth-of-type(7) {
        display: none;
    }
}
@media (max-width: 1200px) {
    #homePageSlidersContainer .carousel-item {
        height: 280px;
        width: 33%;
    }
    #homePageSlidersContainer .carousel-item > div {
        height: 270px;
    }
    #homePageSlidersContainer .carousel-item .imageContainer {
        height: 160px;
    }
}
@media (max-width: 768px) {
    #homePageSlidersContainer .carousel-item {
        height: 290px;
    }
    #homePageSlidersContainer .carousel-item .imageContainer {
        height: 170px;
    }

    /* Hide all instances after the 5th */
    #homePageSlidersContainer .rovBadge:nth-child(n + 5) {
        display: none;
    }
}

/* MOBILE CARDS NO CAROUSEL */
@media (max-width: 767px) {
    #homePageSlidersContainer .rovHomepageCarouselTitleContainer {
        position: sticky;
        top: 60px;
        z-index: 9;
        height: 60px;
    }
    /* Adjust top position when the WordPress admin bar is present */
    body.admin-bar
        #homePageSlidersContainer
        .rovHomepageCarouselTitleContainer {
        top: 106px; /* 60px + 32px admin bar height */
    }
    #homePageSlidersContainer .carousel-inner .carousel-item:nth-child(-n + 3) {
        float: none !important;
        display: block !important;
    }
    #homePageSlidersContainer .carousel-item {
        border-bottom: 0.5px solid lightgrey;
        padding-bottom: 2%;
        margin-bottom: 4%;
        width: 100%;
    }
    #homePageSlidersContainer .carousel-control-prev,
    #homePageSlidersContainer .carousel-control-next {
        display: none;
    }
    #homePageSlidersContainer h1 {
        position: sticky;
        top: 75px;
        z-index: 9;
        background: white;
        padding: 2% 0;
    }
}
/* End Card Shrink ^^ */

#homePageSlidersContainer .carousel-item img.carouselImage {
    filter: brightness(0.95);
    object-fit: cover;
    height: 100%;
    transition: 0.2s ease;
}
#homePageSlidersContainer .carousel-item img.carouselImage:hover {
    filter: brightness(1);
    transition: 0.2s ease;
}

/* BADGES */
#homePageSlidersContainer .socialMetricsBar div {
    line-height: 1;
    font-weight: bolder;
    font-size: 1em;
    font-family: monospace;
    text-transform: capitalize;
}

/* Pulsing placeholder images */
#homePageSlidersContainer .placeholder > .card {
    width: 100%;
}
@media (min-width: 1024px) {
    #homePageSlidersContainer .placeholder > .card {
        width: 33.33%;
    }
    #homePageSlidersContainer .socialMetricsBar div {
        font-size: 1.2em;
    }
}
#homePageSlidersContainer .placeholder img {
    -webkit-animation: pulse 3s infinite ease-in-out;
    -o-animation: pulse 3s infinite ease-in-out;
    -ms-animation: pulse 3s infinite ease-in-out;
    -moz-animation: pulse 3s infinite ease-in-out;
    animation: pulse 3s infinite ease-in-out;
}
/* End Placeholder */

/* Precise scrolling */
#homePageSlidersContainer > div.row {
    scroll-margin-top: 8em;
}

/* Menu */
@media (max-width: 1300px) {
    #homepageMenu a.nav-link img {
        width: 30px;
    }
}
@media (min-width: 1400px) {
    #homepageMenu img {
        display: inline !important;
    }
}

#homepageMenu {
    left: 0;
    width: 100%;
    height: 100%;
}
#homepageMenu > div {
    padding: 110px 2px 110px 2px;
}
@media (max-width: 960px) {
    #site-logo .site-title {
        width: 200px;
    }
}

#homepageMenu .nav-item:hover {
    margin-left: 4%;
    transition: 0.5s ease;
}
#homepageMenu .nav-item:hover img {
    transform: rotate(360deg);
    transition: 0.8s ease;
}
#homepageMenu .nav-item {
    transition: all 0.5s ease;
}

/* Video embed */
#homePageSlidersContainer .homepageVideoEmbed {
    z-index: 1;
    position: absolute;
    bottom: 14px;
    left: 0;
    right: 0;
    top: 0;
    background: #000000ad;
}
#homePageSlidersContainer .rovHomepageCarouselVideoClose {
    top: -10px;
    right: -5px;
    z-index: 88;
}

/* Disable carousel wrap */
#homePageSlidersContainer .rovCarouselDisableWrap {
    pointer-events: none;
    opacity: 20%;
    transition: 0.5s ease;
}

.rovHomepageCarouselTitleContainer > a,
.rovHomepageCarouselTitleContainer > div {
    flex: 0.5;
}
@media (min-width: 800px) {
    .rovHomepageCarouselTitleContainer > a,
    .rovHomepageCarouselTitleContainer > div {
        flex: 1.2;
    }
}

@media (max-width: 1024px) {
    .badges .rovSocialShareBar .rovBadge:nth-child(n + 5) {
        display: none;
    }
}

/* ===== NEW HOMEPAGE REDESIGN STYLES ===== */

/* Reset and Base */
.site-content:not(.maintenance-content) {
    padding: unset;
}

#content > .container {
    max-width: unset !important;
    padding: 0;
}

/* Hero buttons - global styles */
.hero-btn {
    padding: 16px 40px;
    font-size: 1.1rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 0 !important;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all 0.3s ease;
}

.hero-btn-primary {
    background: #00754a;
    color: white !important;
    border: 2px solid #00754a;
}

.hero-btn-primary:hover {
    background: #005e3b;
    border-color: #005e3b;
    color: white !important;
    text-decoration: none;
}

.hero-btn-secondary {
    background: rgba(255, 255, 255, 0.15);
    color: white !important;
    border: 2px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.hero-btn-secondary:hover {
    background: white;
    color: #00754a !important;
    border-color: #00754a;
    text-decoration: none;
}

.hero-btn-secondary:hover i {
    color: #00754a !important;
}

/* Alternating Section Backgrounds */
.section-bg-light {
    background: #fafafa;
}

.section-bg-lighter {
    background: #f5f5f5;
}

.section-bg-dark {
    background: #1a1a1a;
}

/* Top 6-Box Grid with Clip Effect */
.top-grid-section {
    padding: 60px 0;
    background: #fafafa;
}

.clipped-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 40px;
}

.clipped-box {
    position: relative;
    height: 250px;
    overflow: hidden;
    border-radius: 12px;
    cursor: pointer;
    text-decoration: none;
}

.clipped-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.clipped-box:hover img {
    transform: scale(1.1);
}

.clipped-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400"><path d="M0,0 L400,0 L400,300 Q200,350 0,300 Z" fill="rgba(0,0,0,0.3)"/></svg>');
    background-size: cover;
    z-index: 1;
    pointer-events: none;
}

.clipped-box .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    z-index: 2;
    color: white;
}

.clipped-box h3 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
    color: white;
}

/* Brand Intro */
.brand-intro {
    max-width: 900px;
    margin: 0 auto 60px;
    text-align: center;
}

.brand-intro h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
}

.brand-intro p {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #555;
}

/* Brand Message Cards */
.brand-message-card {
    background: #1a1a1a;
    color: white;
    padding: 60px 40px;
    border-radius: 16px;
    text-align: center;
    margin: 60px 0;
}

.brand-message-card h3 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 16px;
    color: white;
}

.brand-message-card p {
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 0;
    opacity: 0.95;
}

/* ===========================
   CTA Blocks
   Styles moved to custom.css for global use across pages
   =========================== */

/* Green Brand Card */
.green-brand-card {
    background: #2d5016;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
    color: white;
}

.green-brand-card::before {
    display: none; /* Remove the dark overlay for brand card */
}

.green-brand-card h3 {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0;
    color: white;
    line-height: 1.4;
}

/* What You Can Do Section */
.what-you-can-do {
    padding: 80px 0;
    background: white;
}

.what-you-can-do h2 {
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 60px;
}

.feature-card {
    text-align: center;
    padding: 30px;
}

.feature-card .icon {
    font-size: 3rem;
    margin-bottom: 20px;
    color: #2d5016;
}

.feature-card h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.feature-card p {
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
}

/* Email Signup - Styles moved to template-parts/email-signup.php */

/* Instagram Section */
.instagram-section {
    padding: 80px 0;
    background: white;
    text-align: center;
}

.instagram-section h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 40px;
}

.instagram-embed {
    max-width: 540px;
    margin: 0 auto;
}

/* States Grid Section */
.states-grid-section {
    padding: 80px 0;
    background: white;
}

.states-grid-section h2 {
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}

.states-grid-section .section-subtitle {
    text-align: center;
    font-size: 1.2rem;
    color: #666;
    margin-bottom: 60px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.states-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.state-card {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 12px;
    text-decoration: none;
    display: block;
    background: #f5f5f5;
}

.state-card-wrapper {
    text-decoration: none;
    display: block;
    color: inherit;
}

.state-card {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 12px;
    background: #f5f5f5;
    margin-bottom: 12px;
}

.state-card svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 95%;
    height: 95%;
}

.state-card svg image {
    transition: transform 0.3s ease;
    transform-origin: center center;
}

.state-card-wrapper:hover .state-card svg image {
    transform: scale(1.07);
}

.state-name {
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
}

/* State Message Cards */
.state-message-card {
    position: relative;
    aspect-ratio: 1;
    border-radius: 12px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    text-align: center;
}

/* Wide cards that span multiple columns */
.state-message-card-wide {
    aspect-ratio: auto;
    /* Height will be set dynamically via JavaScript to match state card height */
}

.state-message-card.bg-orange {
    background: #ff6b35;
    color: white;
}

.state-message-card.bg-green {
    background: #2d5016;
    color: white;
}

.state-message-card.bg-blue {
    background: #1e3a8a;
    color: white;
}

.state-message-card h3 {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    color: white;
    line-height: 1.3;
}

.state-message-card:hover {
    opacity: 0.9;
}

/* iPad Showcase Section */
.ipad-showcase-section {
    padding: 80px 0;
    background: #2d3748;
    color: white;
}

.ipad-showcase-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.ipad-showcase-text h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 24px;
    color: white;
}

.ipad-showcase-text p {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-bottom: 20px;
    opacity: 0.95;
}

.ipad-showcase-text ul {
    list-style: none;
    padding: 0;
    margin: 30px 0;
}

.ipad-showcase-text ul li {
    font-size: 1.1rem;
    padding: 12px 0;
    padding-left: 30px;
    position: relative;
}

.ipad-showcase-text ul li:before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #48bb78;
    font-weight: 700;
    font-size: 1.3rem;
}

.ipad-showcase-image {
    text-align: center;
}

.ipad-showcase-image img {
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0 20px 60px rgba(0, 0, 0, 0.4));
}

.ipad-showcase-text .btn {
    background: white;
    color: #2d3748;
    padding: 18px 50px;
    font-size: 1.2rem;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    text-decoration: none;
    display: inline-block;
    margin-top: 20px;
    transition: transform 0.3s ease;
}

.ipad-showcase-text .btn:hover {
    transform: translateY(-2px);
}

/* Map Section */
.map-section {
    position: relative;
    padding: 80px 0;
    background: #f8f9fa;
}

.map-container {
    position: relative;
    height: 500px;
    border-radius: 16px;
    overflow: hidden;
    background-image: url("https://images.unsplash.com/photo-1524661135-423995f22d0b?w=1200&q=80");
    background-size: cover;
    background-position: center;
}

.map-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
}

.map-overlay-content {
    text-align: center;
    color: white;
}

.map-overlay-content h2 {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: white;
}

/* Responsive */
@media (max-width: 992px) {
    .clipped-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .ipad-showcase-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .ipad-showcase-text {
        order: 2;
    }

    .ipad-showcase-image {
        order: 1;
    }
}

@media (max-width: 768px) {
    .clipped-grid {
        grid-template-columns: 1fr;
    }

    .brand-intro h2 {
        font-size: 1.8rem;
    }

    .brand-message-card h3 {
        font-size: 1.5rem;
    }

    .cta-block h2 {
        font-size: 1.8rem;
    }

    .feature-card {
        margin-bottom: 40px;
    }

    .states-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

/* Section Background Utilities */
.section-bg-white {
    background: #ffffff;
}

/* Feature Cards New (What You Can Do Here) */
.feature-card-new {
    background: white;
    border-radius: 12px;
    border: 1px solid #e8e8e8;
    transition: all 0.3s ease;
    height: 100%;
}

.feature-card-new:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border-color: #e0e0e0;
}

.feature-card-new h3 {
    color: #1a1a1a;
}

.feature-card-new .icon-circle {
    transition: all 0.3s ease;
}

.feature-card-new:hover .icon-circle {
    background: #d4e9d4 !important;
}

/* Stats Section */
.stat-card {
    padding: 20px;
}

.stat-number {
    font-family:
        system-ui,
        -apple-system,
        sans-serif;
}

.stat-label {
    /* text-transform removed - now controlled by custom.css utility class */
    letter-spacing: 0.5px;
}

/* Utility Classes */
.mw-900 {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive Typography */
@media (max-width: 768px) {
    .feature-card-new h3 {
        font-size: 1.1rem;
    }

    .stat-number {
        font-size: 2rem !important;
    }
}

/* Curator Cards */
.curator-card-new {
    transition: all 0.3s ease;
}

.curator-card-new:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    border-color: #e0e0e0;
}

.curator-card-invite:hover {
    border-color: #00754a;
    background: #fafafa !important;
}

.curator-card-invite .btn:hover {
    background: #005a39;
    border-color: #005a39;
}

/* ===========================
   Homepage H2 Styling
   =========================== */

h2 {
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
        "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !important;
    font-feature-settings: normal;
    font-size: 36px !important;
    font-synthesis-small-caps: none;
    font-synthesis-style: none;
    font-synthesis-weight: none;
    font-variation-settings: normal;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

/* ===========================
   Explore Content & Map Emerging Sections
   Styles moved to custom.css for global use across pages
   =========================== */

/* ===========================
   Homepage Stats Section
   =========================== */

#homepage-stats .stat-icon-circle {
    width: 60px;
    height: 60px;
    background: #e8f5e9;
    border-radius: 50%;
}

#homepage-stats i {
    font-size: 28px;
    color: var(--rov-green);
}

#homepage-stats .stat-number {
    font-size: 3rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
}

#homepage-stats .stat-label {
    font-size: 1rem;
    color: #666;
    font-weight: 500;
}

/* ===========================
   Mobile Responsive
   =========================== */

@media (max-width: 768px) {
    /* Explore content & map emerging responsive styles moved to custom.css */
}

/* ===========================
   Article Search Modal
   =========================== */

#articleSearchModal .modal-content {
    border: none;
    border-radius: 0;
}

#articleSearchModal .modal-body {
    max-height: 70vh;
}

#articleSearchResults {
    max-height: 50vh;
    overflow-y: auto;
}

#articleSearchInput {
    font-size: 1.2rem;
}

#articleSearchInput:focus {
    outline: none;
    box-shadow: none;
    border-bottom-color: var(--rov-green);
}

.article-search-result {
    transition: background-color 0.2s ease;
    border-radius: 4px;
    cursor: pointer;
}

.article-search-result:hover {
    background-color: #f8f9fa;
}

.article-search-result h6 {
    font-size: 1.1rem;
    line-height: 1.4;
}

.article-search-result img {
    border: 1px solid #e9ecef;
}

/* Search modal responsive */
@media (max-width: 768px) {
    #articleSearchModal .modal-dialog {
        margin: 1rem;
    }

    #articleSearchInput {
        font-size: 1rem;
    }

    .article-search-result img {
        width: 60px !important;
        height: 60px !important;
    }

    .article-search-result h6 {
        font-size: 0.95rem;
    }
}

/* ===========================
   Homepage Hero Overrides
   =========================== */

/* Homepage hero - darker solid overlay (no gradient) */
body.home section > div.position-absolute.w-100.h-100 > div[style*="linear-gradient"] {
    background: rgba(0, 0, 0, 0.65) !important;
}

/* Homepage hero - smaller h1 to prevent 3-line wrap */
body.home section h1.display-1 {
    font-size: 3.5rem !important;
}

@media (max-width: 992px) {
    body.home section h1.display-1 {
        font-size: 2.5rem !important;
    }
}

@media (max-width: 768px) {
    body.home section h1.display-1 {
        font-size: 2rem !important;
    }
}
