/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/
/* WP BAKERY */
.lightbox { margin-top: 100px; }

/* Blog Sidebar Cards */
/* Center Search Form Inside Sidebar Widget */
#right-sidebar aside.widget_search .search-form {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 auto !important;
}

/* Ensure the label container scales properly */
#right-sidebar aside.widget_search .search-form label {
    display: flex !important;
    flex: 1 !important;
    margin: 0 !important;
}

/* Make input fill available inline space */
#right-sidebar aside.widget_search .search-field {
    width: 100% !important;
    box-sizing: border-box !important;
}





.separate-containers .inside-left-sidebar, .separate-containers .inside-right-sidebar { margin-top: 40px; }
.separate-containers.both-right .site-main, .separate-containers.right-sidebar .site-main { margin-right: 20px; }

/* Border on Every Sidebar Element & Card */
#right-sidebar .inside-right-sidebar aside.widget,
#right-sidebar .inside-right-sidebar .yacht-ad-wrapper,
#right-sidebar .inside-right-sidebar .widget_recent_entries li {
    border: 1px solid #ededed;
    border-radius: 8px;
    padding: 15px !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
    background-color: #ffffff !important;
    overflow: hidden !important;
}

/* Remove background/border duplicates on parent containers */
#right-sidebar .inside-right-sidebar aside.widget_block,
#right-sidebar .inside-right-sidebar aside.widget_recent_entries {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Remove default <br> spacing between ads */
#right-sidebar .inside-right-sidebar aside.widget_block br {
    display: none !important;
}

/* Ensure images fit cleanly inside their new borders */
#right-sidebar .inside-right-sidebar img {
    max-width: 100% !important;
	padding: 22px; 22px; 22px; 22px;
    height: auto !important;
    display: block !important;
    border-radius: 4px !important;
}





/* Center all ad blocks, links, and images across all screen widths */
#block-3.widget_block,
#block-3 .yacht-ad-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

#block-3 .yacht-ad-wrapper a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

#block-3 .yacht-ad-wrapper img {
    margin: 0 auto !important;
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
}




.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header{
    padding: 20px 14px 20px 14px !important;
    border: solid 1px #efefef;
    margin: 40px 4px 0 4px;
    border-radius: 8px;
}



.site-info { display: none; }
:root { --base-2: #ffffff !important; }
body { background-color: #ffffff !important;}
.inside-header { padding: 4px 4px !important; }

/* Home Page Cats section */
.home-categories-section .job_listing-entry-header.listing-cover {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.home-categories-section .job_listing-entry-header-wrapper.cover-wrapper,
.home-categories-section .job_listing-entry-meta {
    width: 100% !important;
    text-align: center !important;
}

.home-categories-section .job_listing-title {
    margin: 0 !important;
    text-align: center !important;
}

/* Search Filters pages */
.separate-containers.no-sidebar .site-main {
    margin-left: 0;
    border: 1px solid #e9ecef;
    border-radius: 4px;
    margin-right: 0;
    margin-top: 1px;
}

.separate-containers .site-main { margin: 0px; }

/* Primary Navigation collapse in Mobile Menu <= 1068px */
@media (max-width: 1068px) {
    .main-navigation .main-nav > ul,
    .gen-sidebar-nav { display: none; }
    .main-navigation .menu-toggle,
    .main-navigation .mobile-bar-items { display: block; }
    .main-navigation { text-align: left; }
    .main-navigation.toggled .main-nav > ul { display: block; }
}

/* HOME PAGE */
.home-hero-video-wrapper { background-color: #0d1b2a; }

/* Fullscreen Hero Container */
.home-hero-video-wrapper {
    position: relative;
    width: 100vw;
    max-width: 100%; /* Keeps full width bounded within the window without breaking sticky parents */
    height: 100vh;
    min-height: 550px;
    overflow: hidden; /* Clips video content locally */
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}

/* Background Video Sizing & Position */
#hero-bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
}

/* Dark Overlay */
.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* Centered Overlay Content Box */
.hero-video-content {
    position: relative;
    z-index: 3;
    text-align: center;
    color: #ffffff;
    max-width: 1100px;
    width: 90%;
    padding: 0;
    margin: 0 auto;
}

/* Typography */
.hero-main-title {
    font-size: 38px;
    font-weight: 500;
    letter-spacing: 1px;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.hero-sub-title {
    font-size: 16px;
    font-weight: 400;
    color: #ffffff;
    margin: 0 0 35px 0;
    line-height: 1.4;
    text-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

/* Search Form Overrides for Video Hero */
.hero-search-filter-box #jas-wrapper {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}

.hero-search-filter-box #jas-search-form_r .jas-row {
    display: flex !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.hero-search-filter-box .search_keywords,
.hero-search-filter-box .search_region,
.hero-search-filter-box .search_categories {
    flex: 1 1 250px !important;
}

.hero-search-filter-box input[type="text"],
.hero-search-filter-box select {
    width: 100% !important;
    height: 52px !important;
    border-radius: 4px !important;
    border: none !important;
    padding: 0 15px !important;
    font-size: 15px !important;
    background: #ffffff !important;
    color: #333333 !important;
    box-sizing: border-box !important;
}

.hero-search-filter-box .search_button_in_homepage {
    width: 100%;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    line-height: 40px;
    padding: 0;
    font-size: medium;
    text-transform: capitalize;
    
    /* Flexbox centering */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* Color & border overrides */
    background-color: #B19B5F;
    color: #ffffff;
    border: none;
    box-sizing: border-box;
}

/* Hover state */
.hero-search-filter-box .search_button_in_homepage:hover {
    background-color: #9c8750;
    color: #ffffff;
}

/* Page Body Spacing */
.custom-home-body-block {
    padding: 40px 0;
}

/* ==========================================================================
   APP SHOWCASE SECTION STYLES
   ========================================================================== */
.home-app-showcase-section {
    padding: 30px 0;
    text-align: center;
}

.app-showcase-header {
    margin-bottom: 40px;
}

.app-showcase-title {
    font-size: 32px;
    font-weight: 400;
    color: #b19b5f;
    letter-spacing: 1.5px;
    margin: 0 0 10px 0;
}

.app-showcase-subtitle {
    font-size: 18px;
    color: #b19b5f;
    margin: 0;
}

/* 3-Column Grid Layout */
.app-showcase-grid {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 30px;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

/* White Card Rectangle Container */
.app-showcase-col {
    flex: 1 1 280px;
    max-width: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 24px 20px;
    border: 1px solid #e9ecef;
    border-radius: 12px;
}

/* Image Container & Styling (8% Larger: 43.2% Width) */
.app-showcase-img-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.app-showcase-col img {
    width: 44% !important;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}

/* Title and Description Text Inside Cards */
.app-col-title {
    font-size: 20px;
    font-weight: 400;
    color: #b19b5f;
    margin: 0 0 12px 0;
}

.app-col-desc {
    font-size: 15px;
    color: #b19b5f;
    line-height: 1.5;
    margin: 0;
    padding: 0 10px;
}

/* App Store Download Badges */
.app-download-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.app-store-badge img {
    height: 40px;
    width: auto;
    display: block;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.app-store-badge:hover img {
    opacity: 0.9;
    transform: scale(1.03);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .home-app-showcase-section {
        padding: 40px 0;
    }
    
    .app-showcase-grid {
        gap: 25px;
        margin-bottom: 35px;
    }

    .app-showcase-col {
        max-width: 90%;
    }

    .app-showcase-col img {
        width: 36% !important;
    }

    .app-store-badge img {
        height: 46px;
    }
}



/* ==========================================================================
   CAPTAIN'S BIBLE COVER BANNER SECTION
   ========================================================================== */
.home-captains-bible-section {
    position: relative;
	margin-top:30px;
    width: 100vw;
    max-width: 100%;
    /* Maintain native aspect ratio of the 1920x600 image (~3.2 / 1) on large screens */
    aspect-ratio: 1920 / 600;
    height: auto;
    background-image: url('https://yachting-info.com/vagman2017/wp-content/uploads/2018/02/who_we_are_on_azimouthio.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Dark Tinted Overlay */
.captains-bible-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Centered Content Styling */
.captains-bible-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #ffffff;
    max-width: 900px;
    margin: 0 auto;
}

.captains-bible-title {
    font-size: clamp(26px, 3.2vw, 42px) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    letter-spacing: 2px;
    margin: 0 0 8px 0 !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.captains-bible-subtitle {
    font-size: 42px;
    font-weight: 400;
    color: #ffffff;
    letter-spacing: 1.5px;
    margin: 0 0 20px 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.captains-bible-line1,
.captains-bible-line2,
.captains-bible-line3 {
    font-size: clamp(13px, 1.3vw, 16px);
    color: #ffffff;
    line-height: 1.5;
    margin: 0 0 6px 0;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

.captains-bible-line3 {
    margin-bottom: 25px;
}

/* Gold Button */
.captains-bible-btn {
    display: inline-block;
    background-color: #b19b5f;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
    padding: 12px 34px;
    border-radius: 4px;
    text-decoration: none !important;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.captains-bible-btn:hover {
    background-color: #96824d;
    transform: translateY(-2px);
}

/* Screen width <= 992px: Crop background image with fixed vertical height */
@media (max-width: 992px) {
    .home-captains-bible-section {
        aspect-ratio: auto; /* Disable aspect ratio constraint */
        min-height: 440px;
        padding: 50px 20px;
    }
}

@media (max-width: 768px) {
    .home-captains-bible-section {
        min-height: 400px;
        padding: 40px 15px;
    }
    
    .captains-bible-btn {
        padding: 10px 26px;
        font-size: 15px;
    }
}


/* Home sponsored listings */
.home-sponsored-listings,
.home-sponsored-listings .grid-container,
section.home-sponsored-listings {
    background-color: #ffffff !important;
    background: #ffffff !important;
}

/* Forces full-width parent wrappers of this section to stay white on large screens */
:has(> .home-sponsored-listings),
[class*="section-wrapper"]:has(.home-sponsored-listings) {
    background-color: #ffffff !important;
}

/* YACHTING RADIO COVER BANNER SECTION */
.home-yachting-radio-section {
    position: relative;
    width: 100vw;
    max-width: 100%;
    aspect-ratio: 1920 / 600;
    height: auto;
    background-image: url('https://yachting-info.com/vagman2017/wp-content/uploads/2021/04/yachting_radio_feature_home.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-top:60px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding: 40px 20px;
    box-sizing: border-box;
}

/* Radio Logo Styling */
.radio-banner-logo-wrap { margin-bottom: 15px; }

.radio-banner-logo {
    max-width: 250px;
    height: auto;
    display: inline-block;
}

/* Play Button Styling Override */
.radio-play-btn { padding: 12px 50px !important; }

/* Screen width <= 992px responsive tweak */
@media (max-width: 992px) {
    .home-yachting-radio-section {
        aspect-ratio: auto;
        min-height: 440px;
        padding: 50px 20px;
    }
    
    .radio-banner-logo { max-width: 150px; }
}

.radio-banner-subtitle {
    font-size: clamp(13px, 1.3vw, 16px) !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    line-height: 1.5;
    margin: 0 0 25px 0 !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

.tempo-section-block {
    text-align: center;
    padding: 60px 0 30px 0;
    font-size: 20px;
    font-weight: 600;
    color: #333333;
    background-color: #ffffff;
}

/* ADVERTISE CTA SECTION (75% / 25% Layout) */
.home-advertise-cta-section{
	margin: 26px 0 26px 0;
	padding:38px;
}
.advertise-cta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

/* 75% Column Width */
.advertise-cta-col-text {
    flex: 0 0 75%;
    max-width: 75%;
}

/* 25% Column Width */
.advertise-cta-col-btn {
    flex: 0 0 25%;
    max-width: 25%;
    text-align: right;
}

/* Typography in Gold Color (#b19b5f) */
.advertise-cta-title {
    font-size: clamp(22px, 2.5vw, 32px) !important;
    font-weight: 600 !important;
    color: #b19b5f !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.3 !important;
}

.advertise-cta-desc {
    font-size: clamp(14px, 1.3vw, 17px);
    color: #b19b5f !important;
    margin: 0;
    line-height: 1.5;
}

/* Gold Button */
.advertise-cta-btn {
    display: inline-block;
    background-color: #b19b5f;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
    padding: 16px 32px;
    border-radius: 4px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.advertise-cta-btn:hover {
    background-color: #96824d;
    transform: translateY(-2px);
}

/* Responsive adjustments for Mobile & Tablets */
@media (max-width: 992px) {
    .advertise-cta-row {
        flex-direction: column;
        text-align: center;
    }

    .advertise-cta-col-text,
    .advertise-cta-col-btn {
        flex: 0 0 100%;
        max-width: 100%;
        text-align: center;
    }

    .advertise-cta-btn {
        width: 100%;
        max-width: 300px;
    }
}

/* Global Search */
.gp-search-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 999999 !important;
}

/* Force the overlay to fill screen without trapping clicks */
.gp-search-modal .gp-modal__overlay {
    width: 100% !important;
    height: 100% !important;
}

/* Center the inner container vertically and horizontally using absolute positioning */
.gp-search-modal .gp-modal__container {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 80% !important;
    max-width: 800px !important; /* Prevents search bar from becoming ridiculously wide on huge screens */
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure the form occupies 100% of the centered 80% container */
.gp-search-modal .search-modal-form {
    width: 100%;
	padding: 8px;
}

/* Flexbox to keep input and zoom button inline */
.gp-search-modal .search-modal-fields {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    background-color: #ffffff;
    border-radius: 4px;
    padding: 6px 12px;
}

.gp-search-modal #search-modal-input {
    flex: 1 !important;
    width: 100% !important;
}

.gp-search-modal button { cursor: pointer !important; }

/* 1. Style input container & focus state with gold border */
.gp-search-modal .search-modal-fields {
    border: 2px solid #B19B5F !important;
    border-radius: 4px;
    background-color: #ffffff !important;
}

.gp-search-modal #search-modal-input {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

/* 2. Recolor the native clear "X" icon to #B19B5F */
.gp-search-modal #search-modal-input::-webkit-search-cancel-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    height: 16px;
    width: 16px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23B19B5F'><path d='M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/></svg>") no-repeat center center !important;
    cursor: pointer;
}

/* 3. Remove browser autofill light-blue background */
.gp-search-modal #search-modal-input:-webkit-autofill,
.gp-search-modal #search-modal-input:-webkit-autofill:hover,
.gp-search-modal #search-modal-input:-webkit-autofill:focus,
.gp-search-modal #search-modal-input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: #000000 !important;
    transition: background-color 5000s ease-in-out 0s !important;
}



/* Change GeneratePress icon color specifically in the main header menu */
.main-navigation .gp-icon svg, .site-header .gp-icon svg { fill: #B19B5F; }

.main-navigation a:hover .gp-icon svg { fill: #777777; }
button, html input[type="button"], input[type="reset"], input[type="submit"], a.button, a.wp-block-button__link:not(.has-background) { background-color: #B19B5F; }
.gp-icon svg { fill: #ffffff; }
ul.job-listing-meta.meta { display: none !important; }

/* Sticky header - containing the logo and floated menu */
#masthead,
.site-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 99999;
    background-color: #ffffff; /* Ensures content behind doesn't show through */
}

/* Overriding /vagman2017/wp-content/themes/generatepress/assets/css/main.min.css?ver=3.6.1 */
.inside-site-info { padding: 0px 40px; }
.widget ul li { font-size: smaller; }

.under-footer-div {
    background-color: #b19b5f;
    text-align: center;
    padding: 20px 0;
    color: #0c0d38;
	font-size: smaller;
    /* Break out of parent container to stretch full-width */
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
}

.footer-site-social{margin-bottom:6px;}

.footer-site-social li {
    display: inline-block;
    margin-left: 10px;
}

/* Center social menu on footer horizontally */
.footer-site-social ul#menu-social {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center; /* Horizontally centers the items */
    align-items: center;
    width: 100%;             /* Ensures full width to allow centering */
    gap: 15px;               /* Spacing between icons */
}

/* Force social icons to #0c0d38 */
.footer-site-social a,
.footer-site-social a:visited { color: #0c0d38 !important; }

.footer-site-social .social-icon {
    width: 24px !important;
    height: 24px !important;
    fill: #0c0d38 !important;
    color: #0c0d38 !important;
    transition: fill 0.2s ease, transform 0.2s ease;
}

.footer-site-social a:hover .social-icon {
    fill: #000000 !important;
    transform: translateY(-2px);
}

/* Custom Footer Card Styling */
.custom-footer-card {
    background-color: #070a2b; 
    color: #b19b5f;
    text-align: center;
    padding: 35px 20px;
    max-width: 550px;
    margin: 0 auto;
    border-radius: 4px;
}

.custom-footer-card .footer-card-title {
    color: #b19b5f;
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 20px;
}

.custom-footer-card .footer-card-text {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 25px;
}

.custom-footer-card .footer-card-text strong {
    color: #b19b5f;
    font-weight: 700;
}

/* Contact Links */
.custom-footer-card .footer-card-contact {
    font-size: 0.96rem;
    margin-bottom: 25px;
}

.custom-footer-card a {
    color: #b19b5f !important;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.custom-footer-card a:hover { opacity: 0.8; }

/* Media Kit CTA */
.custom-footer-card .footer-card-mediakit {
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 25px;
}

.custom-footer-card .footer-card-subheading {
    font-size: 0.9rem;
    letter-spacing: 1px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* App Badges Container */
.custom-footer-card .footer-card-app-badges {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.custom-footer-card .footer-card-app-badges img {
    height: auto;
    display: block;
}

/* FullWidth Dark Navy Footer Container */
.site-footer {
    background-color: #0c0d38;
    color: #b19b5f;
}

/* Ensure inner widget wrapper fills space and aligns columns */
.footer-widgets {
    background-color: transparent;
    padding: 50px 0;
}

.footer-widgets .inside-footer-widgets {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

/* Style Widget Titles & Text inside all 3 columns */
.footer-widgets a:hover { opacity: 0.8; }
.footer-widgets .widget-title,
.footer-widgets h4 {
    color: #b19b5f !important;
    font-size: 1.2rem;
    font-weight: 500;
    margin-bottom: 20px;
}

.footer-widgets a {
    color: #b19b5f !important;
    text-decoration: none;
}

/* Reset individual card background so all 3 columns blend smoothly */
.custom-footer-card {
    background-color: transparent;
    padding: 0;
    max-width: 100%;
}

/* Custom 3-Column Footer Widths: 52% / 24% / 24% */
@media (min-width: 769px) {
    .footer-widgets .inside-footer-widgets {
        display: flex;
        flex-wrap: nowrap;
    }

    /* Column 1: 52% Width */
    .footer-widgets .footer-widget-1 {
        flex: 0 0 52%;
        max-width: 52%;
    }

    /* Column 2: 24% Width */
    .footer-widgets .footer-widget-2 {
        flex: 0 0 24%;
        max-width: 24%;
    }

    /* Column 3: 24% Width */
    .footer-widgets .footer-widget-3 {
        flex: 0 0 24%;
        max-width: 24%;
    }
}

/* Search filter */
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header { padding:0 4px 0 4px; }
@media (max-width: 768px) {
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header { padding: 0 8px 0 8px; }
}
.search_button_inside_pages,
.search_button_inside_pages:hover,
.search_button_inside_pages:focus,
.search_button_inside_pages:active,
.search_button_inside_pages:visited,
.search_button_inside_pages.loading,
.search_button_inside_pages.active {
    width: 100%;
    background-color: #B19B5F !important;
    color: #FFFFFF !important;
    padding-top: 8px;
    padding-bottom: 8px;
    border: none;
    outline: none;
    box-shadow: none;
}

/* Optional: Slight opacity change on hover instead of color shift */
.search_button_inside_pages:hover {
    opacity: 0.9;
}

/* Custom focus border and outline for WP Job Manager search inputs and dropdowns */
.job_search_form input[type="text"]:focus,
.job_search_form select:focus,
.job_filters input[type="text"]:focus,
.job_filters select:focus,
.search_keywords input:focus,
.search_location input:focus,
.search_categories select:focus {
    border-color: rgba(177, 155, 95, 0.8) !important; /* 80% opacity gold */
    border-radius: 3px !important; /* Adjust pixel value to control roundness */
    outline: none !important;
    box-shadow: none !important;
}

/* Select2 Autocomplete Focus Border & Outline */
.select2-container--open .select2-selection--single,
.select2-container--focus .select2-selection--single,
.select2-container--default .select2-selection--single:focus,
.select2-dropdown {
    border-color: transparent !important;
    outline: none !important;
    box-shadow: 0 0 5px rgba(177, 155, 95, 0.4) !important;
}

/* Select2 Search Input Box (inside dropdown popup) */
.select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #B19B5F !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Chosen Autocomplete Focus Border & Outline */
.chosen-container-active .chosen-single,
.chosen-container-active .chosen-choices,
.chosen-container-single .chosen-search input[type="text"]:focus {
    border-color: #FF0000 !important;
    outline: none !important;
    box-shadow: 0 0 5px rgba(177, 155, 95, 0.4) !important;
}

/* Search Results grid */
ul.job_listings {
	border: unset;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    list-style: none !important;
    padding-left: 0 !important;
    margin: 0 0 30px 0 !important;
}

ul.job_listings > li.job_listing {
    margin-bottom: 0;
	padding: 0 10px 0 10px;
    list-style: none;
    width: 100%;
    float: none;
    position: relative;
}

/* 2. Main Card Container */
ul.job_listings > li.job_listing .content-box {
    position: relative !important;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    display: block !important; /* Changed from flex to block to prevent link collapsing */
    min-height: 260px;
}

/* 3. CLICKABLE OVERLAY FIX - Forces anchor to expand over entire card */
ul.job_listings li.job_listing a.job_listing-clickbox,
a.job_listing-clickbox {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 9999 !important; /* Stack directly over cover, text, and logo */
    display: block !important;
    cursor: pointer !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ensure header cover image fills from the top */
header.job_listing-entry-header.listing-cover {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 220px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-top: 0 !important;
}

/* 4. Disable mouse capture on internal elements so clicks pass straight to <a> link */
ul.job_listings li.job_listing header,
ul.job_listings li.job_listing footer,
ul.job_listings li.job_listing .job_listing-entry-header-wrapper,
ul.job_listings li.job_listing .job_listing-entry-meta,
ul.job_listings li.job_listing .job_listing-title,
ul.job_listings li.job_listing .job_listing-location,
ul.job_listings li.job_listing .job_listing-phone,
ul.job_listings li.job_listing img {
    pointer-events: none !important;
}

/* 5. Header & Background Cover Image */
header.job_listing-entry-header.listing-cover {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 210px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

/* Dark overlay gradient behind white text */
header.job_listing-entry-header.listing-cover::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.job_listing-entry-header-wrapper {
    position: relative;
    z-index: 2;
}

/* 6. Featured Badge */
.listing-featured-badge {
    display: inline-block;
    background-color: #b19b5f;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 3px;
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

/* 7. Text Styling */
.job_listing-title {
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 6px 0 !important;
    line-height: 1.2;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.job_listing-location {
    color: #ffffff;
    font-size: 13px;
    margin-bottom: 6px;
    opacity: 0.9;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.job_listing-phone {
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

.job_listing-phone::before {
    content: "📞";
    font-size: 12px;
}

/* 8. Company Logo */
footer.job_listing-entry-footer {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 3;
}

.listing-entry-company-image {
    width: 76px;
    height: 76px;
    background: #ffffff;
    border-radius: 4px;
    padding: 1px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
}

.listing-entry-company-image__img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 2px;
}

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

@media (max-width: 600px) {
    ul.job_listings {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Isolated Block Layout: Cover Top, 2 Columns Below */

/* DIV 1: Full-Width Cover Header Block */
.custom-listing-cover-block {
    display: block !important;
    width: 100% !important;
    height: 380px !important;
    position: relative !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-sizing: border-box !important;
    clear: both !important;
}

.custom-listing-cover-block .cover-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1;
}


.custom-listing-cover-block .cover-content-inner {
        position: absolute;
        left: 0;
        right: 0;
        z-index: 2;
        color: #ffffff;
    }

@media (min-width: 1240px) {
	.custom-listing-cover-block .cover-content-inner {margin: 50px 0 0 12vw; }
}

@media (max-width: 1239px) {
	.custom-listing-cover-block .cover-content-inner { margin: 14px 0 0px 14px; }
}

.custom-listing-cover-block .listing-badge {
    display: inline-block;
    background-color: #b19b5f;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 3px;
    margin-bottom: 8px;
}

.custom-listing-cover-block .listing-title {
    color: #ffffff !important;
    font-size: 34px;
    font-weight: 700;
    margin: 5px 0 !important;
}

.custom-listing-cover-block .listing-subtitle {
    color: #f0f0f0;
    font-size: 15px;
    margin: 0;
}

/* DIV 2: Body Block Below Cover */
.custom-listing-body-block {
    display: block !important;
    width: 100% !important;
    background-color: #ffffff;
    padding: 40px 0 60px 0;
    clear: both !important;
}

/* 2-Column Flexbox Layout */
.listing-flex-container {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 30px !important;
}

.col-25-sidebar {
    flex: 0 0 calc(25% - 15px) !important;
    width: calc(25% - 15px) !important;
    max-width: calc(25% - 15px) !important;
    padding: 0;
    border-radius: 6px;
    box-sizing: border-box !important;
}

.col-75-main {
    flex: 0 0 calc(75% - 15px) !important;
    width: calc(75% - 15px) !important;
    max-width: calc(75% - 15px) !important;
    background: #ffffff;
    padding: 30px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    box-sizing: border-box !important;
}

/* Mobile Responsiveness */
@media (max-width: 992px) {
    .listing-flex-container { flex-direction: column !important; }
    .col-25-sidebar,
    .col-75-main {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

.listing_info_links{
	color:#1e73be;
	font-size: small;
    text-decoration: none;
}

/* Fix JAS Ajax Search Pagination Stacking */
nav.job-manager-pagination ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 !important;
}

nav.job-manager-pagination ul li {
    display: inline-flex !important;
    list-style: none !important;
    margin: 0 3px !important;
    padding: 0 !important;
}


/* Override inline display:block and fixed widths on spans & links */
nav.job-manager-pagination ul li a.jas-page-link,
nav.job-manager-pagination ul li span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;       /* Reduced box size slightly to match smaller text */
    height: 32px !important;      /* Reduced box size slightly to match smaller text */
    min-width: 32px !important;
    font-size: 12px !important;   /* <--- ADD/ADJUST THIS (e.g., 11px, 12px, 13px) */
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

/* Active page square styling */
nav.job-manager-pagination ul li span:not([style*="transparent"]) {
    background-color: #1e73be !important;
    color: #ffffff !important;
    border: none !important;
}

/* Unselected page numbers */
nav.job-manager-pagination ul li a.jas-page-link {
    border: 1px solid #d0d7de !important;
    background-color: #ffffff !important;
    color: #1e73be !important;
}

nav.job-manager-pagination ul li a.jas-page-link:hover { background-color: #f0f4f8 !important; }

/* Sidebar Gallery Grid & Fullscreen Lightbox */
.col-25-sidebar .sidebar-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Map adjustment */
.col-25-sidebar .job-location-map {
    padding: 0;
    overflow: hidden;
}

/* Target all possible WP Job Manager application containers */
.job_application,
.application,
.application_button,
.job-manager-application-details,
input.application_button,
div.job_details + div.application {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Align Contact Info, Social Profiles, and Photo Gallery in Sidebar */
.job-meta-details,
.listing-social-container,
.listing-gallery-container {
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
}

.job-meta-details .meta-item { margin-left: 0 !important; }

/* Align Social Profiles heading and links with the Photo Gallery container */
.listing-social-container {
    padding: 0 10px !important;
    box-sizing: border-box !important;
}

.listing-gallery-container {
    padding: 0 10px 10px 10px !important;
    box-sizing: border-box !important;
}

/* Gallery Grid Layout (Uniform Circular Thumbnails) */
.gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(65px, 1fr)) !important;
    gap: 12px !important;
}

.gallery-thumb {
    width: 65px !important;
    height: 65px !important;
    border-radius: 50% !important;
    overflow: hidden !important; /* Clips the child <img> to the circular shape */
    cursor: pointer;
}

.gallery-thumb:hover {
    transform: scale(1.08);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50% !important;
}

/* Lightbox Dialog Container */
#lightbox-dialog {
    border: none;
    background: transparent;
    padding: 0;
    max-width: 100vw;
    max-height: 100vh;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#lightbox-dialog::backdrop { background: rgba(15, 23, 42, 0.88); backdrop-filter: blur(4px); }

.lightbox-content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
}

#lightbox-img {
    max-width: 85vw;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

/* Navigation Arrows & Close Controls */
.lightbox-close {
    position: fixed;
    top: 20px;
    right: 25px;
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 38px;
    cursor: pointer;
    z-index: 10001;
    line-height: 1;
}

.lightbox-nav {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    border: none;
    font-size: 28px;
    padding: 16px 12px;
    cursor: pointer;
    border-radius: 4px;
    z-index: 10001;
    transition: background 0.2s ease;
}

.lightbox-nav:hover { background: rgba(255, 255, 255, 0.35); }
.lightbox-nav.prev { left: 20px; }
.lightbox-nav.next { right: 20px; }
.social_share_listing {	text-decoration: none; display: inline-flex; align-items: center; box-shadow: none; background-color:#FFFFFF; padding:0; }
.social_share_listing2 { font-size: 22px;width: 22px;height: 22px;color: #b19b5f;text-decoration: none; }

/* BLOG */
.nav-links, 
.pagination, 
.pagination .page-numbers {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 20px 0 !important;
    flex-wrap: wrap !important;
}

/* "P a g e s" Header above controls */
.nav-links::before, .pagination::before {
    content: "P a g e s";
    display: block;
    width: 100%;
    text-align: center;
    color: #818080;
    font-size: small;
    letter-spacing: 2px;
    margin-bottom: 8px;
}


/* Base style for inactive number buttons */
.nav-links a.page-numbers,
.pagination a.page-numbers,
.page-numbers li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    background-color: #ffffff !important;
    color: #1e73be !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

/* Hover state for inactive number buttons */
.nav-links a.page-numbers:hover,
.pagination a.page-numbers:hover,
.page-numbers li a:hover {
    border-color: #1e73be !important;
    background-color: #f4f8fb !important;
}

/* Active current page box (Solid Blue) */
.nav-links .current,
.pagination .current,
.page-numbers li span.current {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    background-color: #1e73be !important;
    color: #ffffff !important;
    border: 1px solid #1e73be !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
}

/* Dots */
.nav-links .dots,
.pagination .dots,
.page-numbers li span.dots {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    color: #1e73be !important;
    font-weight: bold !important;
    font-size: 16px !important;
    width: auto !important;
    padding: 0 4px !important;
}

/* Prev/Next native single arrows */
.nav-links .prev, 
.nav-links .next,
.pagination .prev, 
.pagination .next {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    background-color: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
    
    /* Reveal the native single arrow cleanly */
    color: #1e73be !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Hover state for arrow buttons */
.nav-links .prev:hover, 
.nav-links .next:hover,
.pagination .prev:hover, 
.pagination .next:hover {
    border-color: #1e73be !important;
    background-color: #f4f8fb !important;
}

/* Prevent duplicate icons */
.nav-links .prev::before,
.pagination .prev::before,
.nav-links .next::before,
.pagination .next::before {
    content: "" !important;
    display: none !important;
}

.blog article.post,
.archive article.post {
    border-top: 1px solid #e2e8f0;
    padding-top: 10px;
    margin-top: 40px;
}

.post-image:not(:first-child) { margin-top: 1em; }

.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) { margin-top: 0.8em; }

/* Push the button container to a new line */
.blog .entry-content .read-more,
.archive .entry-content .read-more,
.blog .entry-summary .read-more,
.archive .entry-summary .read-more {
    display: table !important; /* Forces new line without expanding full width */
    clear: both;
    margin-top: 15px;
}

/* Style the button with compact width and static #B19B5F background */
a.read-more,
a.read-more:hover,
a.read-more:focus,
a.read-more:active {
    display: inline-block !important;
    width: auto !important; /* Prevents full width stretching */
    background-color: #B19B5F !important;
    color: #ffffff !important;
    padding: 10px 20px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none !important;
    text-align: center;
    text-transform: capitalize !important; /* Forces "Read More" capital M */
    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Hide category links of post cards on blog and archive pages */
.blog .entry-meta .cat-links,
.archive .entry-meta .cat-links,
.blog footer.entry-meta,
.archive footer.entry-meta {  display: none; }

/* Hide category and footer meta on blog lists, archives, AND single posts */
.blog .entry-meta .cat-links,
.archive .entry-meta .cat-links,
.single .entry-meta .cat-links,
.blog footer.entry-meta,
.archive footer.entry-meta,
.single footer.entry-meta {
    display: none;
}

/* Remove underlines from all links sitewide */
a, 
a:visited, 
a:hover, 
a:focus, 
a:active {
    text-decoration: none;
}

/* Full-Width Hero Container */
.single-post-fullwidth-hero {
    position: relative;
    width: 100%;
    height: 350px; /* Adjust banner height as needed */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Semi-transparent Overlay to Make Text Pop */
.hero-dark-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 1;
}

/* Overlaid Title Text */
.hero-content-inner {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 0 20px;
    max-width: 1200px;
}

.hero-post-title {
    color: #ffffff !important;
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

/* Hide Default Featured Image inside Content */
.single-post .featured-image,
.single-post .page-header-image-single { display: none !important; }

/* Hide Default Title inside the Content Area to prevent duplication */
.single-post h1.entry-title { display: none !important; }

/* WebTV Page Specific 2-Column Grid Layout */
.webtv-categories-section ul.webtv-categories-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Reset individual item width constraints */
.webtv-categories-section ul.webtv-categories-grid > li.job_listing {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

@supports not (display: grid) {
    .webtv-categories-section ul.webtv-categories-grid {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    .webtv-categories-section ul.webtv-categories-grid > li.job_listing {
        width: calc(50% - 15px) !important;
    }
}

/* Convert card header into a Flexbox container */
.webtv-categories-section .job_listing-entry-header {
    display: flex !important;
    align-items: center !important;     /* Vertical center */
    justify-content: center !important; /* Horizontal center */
    position: relative !important;
}

/* Ensure child wrapper stretches full width/height */
.webtv-categories-section .job_listing-entry-header-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
}

/* Center text meta block */
.webtv-categories-section .job_listing-entry-meta {
    text-align: center !important;
    width: 100% !important;
    padding: 15px !important;
}

/* Force title alignment */
.webtv-categories-section h3.job_listing-title {
    text-align: center !important;
    margin: 0 !important;
}

/* Responsive breakpoint: collapse to 1 column on mobile */
@media (max-width: 767px) {
    .webtv-categories-section ul.webtv-categories-grid {
        grid-template-columns: 1fr !important;
    }
    .webtv-categories-section ul.webtv-categories-grid > li.job_listing {
        width: 100% !important;
    }
}

/* WebTV Subcategory Template Hero Styles */

.webtv-subcategory-hero {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    min-height: 320px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Semi-transparent overlay to keep text readable */
.webtv-subcategory-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.webtv-subcategory-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 20px;
}

.webtv-subcategory-title {
    color: #ffffff !important;
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7);
    text-transform: uppercase;
}

/* Spacing for WPBakery Content */
.webtv-subcategory-body { padding: 40px 0; }

@media (max-width: 767px) {
    .webtv-subcategory-hero { min-height: 200px; }
    .webtv-subcategory-title { font-size: 1.75rem; }
}