/*
 Theme Name: Astra Child - Optimized
 Template: astra
 Version: 2.0.0
 Author: Steve
 Description: Optimized child theme for Astra
*/

/* =======================================
   Base Styles
======================================= */

/* Mobile hamburger icon color */
#ast-mobile-header .ast-mobile-menu-trigger-minimal,
#ast-mobile-header .ast-mobile-menu-trigger-minimal svg {
    color: #000000 !important;
    fill: #000000 !important;
}

/* Logout icon color */
.um-logout-icon {
    color: #000000 !important;
    font-size: 20px !important;
    padding-right: 6px !important;
    line-height: 1;
    vertical-align: middle;
}

/* Menu hover + active color */
.main-header-menu .menu-link:hover,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link {
    color: #000000 !important;
}

/* Force logout SVG icon to be visible */
.um-logout-icon svg,
.um-logout-icon svg path {
    fill: #000000 !important;
    stroke: #000000 !important;
}

/* Fix Login/Register link color in logged-out state */
.um-welcome-message a {
    color: #000000 !important;
}

/* Global Styles */
.site-header .um-welcome-message {
  font-size: inherit;
  line-height: inherit;
  color: #000000 !important;
  white-space: nowrap;
}

/* Elegant underline reveal on hover */
.main-header-menu .menu-link {
    position: relative;
}

.main-header-menu .menu-link::after {
    content: "";
    position: absolute;
    left: 6px;
    right: 6px;
    bottom: -2px;
    height: 2px;
    background: #C89A32;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}

.main-header-menu .menu-link:hover::after {
    transform: scaleX(1);
}

/* Keep underline on the active menu item */
.main-header-menu .current-menu-item > .menu-link::after,
.main-header-menu .current_page_item > .menu-link::after,
.main-header-menu .current-menu-ancestor > .menu-link::after,
.main-header-menu .current_page_ancestor > .menu-link::after {
    transform: scaleX(1) !important;
}

/* Underline reveal for Login / Register links */
.site-header .um-welcome-message a {
    position: relative;
}

.site-header .um-welcome-message a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background: #C89A32;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}

.site-header .um-welcome-message a:hover::after {
    transform: scaleX(1);
}

/* Elegant social icon hover effect (Instagram etc.) */

/* Scale transition on the link element */
.site-header .ast-header-social-1-wrap .ast-social-color-type-custom {
    transition: transform 0.2s ease !important;
}

.site-header .ast-header-social-1-wrap .ast-social-color-type-custom:hover {
    transform: scale(1.2) !important;
    background-color: transparent !important;
}

/* Override Astra's white-fill + brand-bg hover using the exact element classes from DevTools */
html body .site-header .ast-header-social-1-wrap .ast-social-color-type-custom:hover svg,
html body .site-header .ast-header-social-1-wrap .ast-social-color-type-custom:hover svg path,
html body .site-header .ast-header-social-1-wrap .ast-social-color-type-custom:hover svg circle,
html body .site-header .ast-header-social-1-wrap .ast-social-color-type-custom:hover svg rect,
html body .site-header .ast-header-social-1-wrap .ast-social-color-type-custom:hover .ahfb-svg-iconset svg,
html body .site-header .ast-header-social-1-wrap .ast-social-color-type-custom:hover .ahfb-svg-iconset svg path {
    fill: #C89A32 !important;
}

/* Make Astra header background transparent */
.site-header,
.ast-primary-header-bar,
.ast-header-break-point .ast-mobile-header-wrap {
    background-color: transparent !important;
}

.site-header {
    box-shadow: none !important;
}

/* =======================================
   Responsive Header Styles
======================================= */

@media (min-width: 769px) {
    .site-header .um-welcome-message {
        margin-left: auto;
        padding-left: 12px;
        text-align: right;
    }
}

/* Mobile + Tablet (≤ 921px) */
@media (max-width: 921px) {
    #ast-mobile-header .site-header-primary-section-right {
        flex-wrap: wrap;
    }
    
    #ast-mobile-header .ast-header-html-1 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    #ast-mobile-header .ast-header-html-1 .um-welcome-message {
        display: block;
        width: 100%;
        text-align: left;
        margin-bottom: 4px;
    }
    
    #ast-mobile-header .um-welcome-message a {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }
}

/* Narrow Phones (≤ 544px) */
@media (max-width: 544px) {
    #ast-mobile-header .um-welcome-message a {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }
}

@media (min-width: 769px) {
    li[class*="gtranslate"] div {
        position: static !important;
        white-space: normal !important;
    }
    
    .main-header-menu li[class*="gtranslate"] {
        position: static !important;
        display: inline-block !important;
        vertical-align: middle;
    }
}

/* =======================================
   GeoDirectory City Dropdown
======================================= */

/* Wrapper for the input and dropdown */
.gd-city-dropdown-wrapper {
    position: relative;
    display: inline-block;
    width: 100%;
}

/* Style the location input */
.gd-city-dropdown-wrapper input[type="text"],
.gd-city-dropdown-wrapper input[type="search"],
.gd-city-dropdown-wrapper input[name="gd_location"],
.gd-city-dropdown-wrapper input[name="location"] {
    padding-right: 40px !important;
    width: 100%;
    box-sizing: border-box;
}

/* Dropdown button */
.gd-city-dropdown-btn {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #666;
    cursor: pointer;
    padding: 4px 8px;
    font-size: 12px;
    line-height: 1;
    z-index: 10;
    transition: color 0.2s ease;
}

.gd-city-dropdown-btn:hover {
    color: #000;
}

.gd-city-dropdown-btn:focus {
    outline: 2px solid #060097;
    outline-offset: 2px;
}

/* Dropdown list container */
.gd-city-dropdown-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 4px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    list-style: none;
    padding: 4px 0;
    min-width: 200px;
}

/* Dropdown items */
.gd-city-dropdown-item {
    padding: 10px 16px;
    cursor: pointer;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    transition: background-color 0.15s ease;
    text-align: left;
}

.gd-city-dropdown-item:hover,
.gd-city-dropdown-item:focus {
    background-color: #f5f5f5;
    outline: none;
}

.gd-city-dropdown-item:focus {
    background-color: #e8f0fe;
}

/* City name styling */
.gd-city-name {
    font-weight: 500;
    color: #333;
    font-size: 14px;
}

/* Country name styling */
.gd-city-country {
    color: #999;
    font-size: 12px;
    margin-left: 8px;
}

/* Empty state */
.gd-city-dropdown-item.empty {
    color: #999;
    font-style: italic;
    cursor: default;
}

.gd-city-dropdown-item.empty:hover {
    background-color: transparent;
}

/* Scrollbar styling */
.gd-city-dropdown-list::-webkit-scrollbar {
    width: 8px;
}

.gd-city-dropdown-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.gd-city-dropdown-list::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

.gd-city-dropdown-list::-webkit-scrollbar-thumb:hover {
    background: #999;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .gd-city-dropdown-list {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0;
        border-radius: 12px 12px 0 0;
        max-height: 60vh;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.2);
    }
    
    .gd-city-dropdown-item {
        padding: 14px 20px;
        font-size: 16px;
    }
    
    .gd-city-dropdown-btn {
        right: 12px;
        font-size: 14px;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .gd-city-dropdown-list {
        border-width: 2px;
    }
    
    .gd-city-dropdown-item:focus {
        outline: 2px solid #000;
        outline-offset: -2px;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .gd-city-dropdown-btn,
    .gd-city-dropdown-item {
        transition: none;
    }
    
    .gd-city-dropdown-list {
        transition: none;
    }
}

/* =======================================
   GeoDirectory Category Cards - Base Styles
======================================== */

/* Base category card styles */
.gd-cptcat-ul .card,
.gd-cptcat-ul .card.bg-transparent {
    position: relative !important;
    background-color: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    outline: 0 !important;
    box-shadow: none !important;
    color: #000000 !important; /* All text black */
}

/* Base card body styles */
.gd-cptcat-ul .card .card-body,
.gd-cptcat-ul .card.bg-transparent .card-body {
    background-color: #ffffff !important;
    border: 0 !important;
    border-radius: 8px !important;
    outline: 0 !important;
    box-shadow: none !important;
    color: #000000 !important; /* All text black */
    min-height: 120px !important; /* Increased minimum height */
    padding: 1.5rem 1rem !important; /* More horizontal padding */
}

/* Card titles/links */
.gd-cptcat-ul .card h3,
.gd-cptcat-ul .card h4,
.gd-cptcat-ul .card a,
.gd-cptcat-ul .card .card-title {
    color: #000000 !important;
}

/* All text elements within cards */
.gd-cptcat-ul .card *,
.gd-cptcat-ul .card p,
.gd-cptcat-ul .card span,
.gd-cptcat-ul .card .dropdown-item {
    color: #000000 !important;
}

/* Remove rounded corners */
.gd-cptcat-cat-left.iconbox {
    border-radius: 0 !important;
}

.gd-cptcat-ul .dropdown-item {
    border-radius: 0 !important;
    color: #000000 !important; /* Dropdown text black */
}

/* Widen category cards to fit title and count on same line */
.gd-cptcat-ul .gd-cptcat-parent.col {
    min-width: 280px !important; /* Wider minimum width */
    max-width: 350px !important; /* Reasonable max width */
}

/* Adjust card body layout for better spacing */
.gd-cptcat-ul .card-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    position: relative !important;
    padding: 1.5rem 1.25rem !important; /* More padding */
}

/* Category title container with better spacing */
.gd-cptcat-ul .gd-cptcat-cat-right {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important; /* Space between icon, title, and count */
    width: 100% !important;
    margin-bottom: 8px !important; /* Space above dropdown arrow */
}

/* Count badge styling */
.gd-cptcat-ul .gd-cptcat-count {
    background-color: rgba(0,0,0,0.2) !important;
    color: #000000 !important;
    border: 1px solid rgba(0,0,0,0.3) !important;
    font-size: 0.75rem !important;
    padding: 2px 6px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important; /* Prevent badge from shrinking */
}

/* Ensure subcategory dropdown arrow is not covered */
.gd-cptcat-ul .gd-cptcat-li-sub-container {
    position: absolute !important;
    bottom: 5px !important; /* More space above arrow */
    left: 0 !important;
    right: 0 !important;
    height: 25px !important; /* Taller to avoid overlap */
    /* z-index removed - let it stack naturally behind dropdowns */
}

/* Dropdown arrow button */
.gd-cptcat-ul .gd-cptcat-li-sub-container a {
    position: relative !important;
    /* z-index removed - let it stack naturally behind dropdowns */
}

/* =======================================
   Responsive Adjustments for Category Cards
======================================= */

/* Mobile devices */
@media (max-width: 576px) {
    .gd-cptcat-ul .gd-cptcat-parent.col {
        min-width: 100% !important; /* Full width on mobile */
        max-width: 100% !important;
        margin-bottom: 1rem !important;
    }
    
    .gd-cptcat-ul .card-body {
        padding: 1.25rem 1rem !important;
        min-height: 100px !important; /* Slightly smaller on mobile */
    }
    
    .gd-cptcat-ul .gd-cptcat-cat-right {
        flex-direction: row !important; /* Keep title and count on same line */
        flex-wrap: nowrap !important;
        gap: 6px !important;
        margin-bottom: 10px !important; /* More space for arrow */
    }

    .gd-cptcat-ul .gd-cptcat-count {
        font-size: 0.7rem !important;
        margin-top: 0 !important;
        flex-shrink: 0 !important;
    }
    
    .gd-cptcat-ul .gd-cptcat-li-sub-container {
        bottom: 8px !important; /* Even more space on mobile */
        height: 30px !important;
    }
}

/* Tablet devices */
@media (min-width: 577px) and (max-width: 768px) {
    .gd-cptcat-ul .gd-cptcat-parent.col {
        min-width: 240px !important; /* Moderate width on tablets */
        max-width: 300px !important;
    }
    
    .gd-cptcat-ul .card-body {
        padding: 1.4rem 1.1rem !important;
        min-height: 110px !important;
    }
}

/* Large desktop */
@media (min-width: 992px) {
    .gd-cptcat-ul .gd-cptcat-parent.col {
        min-width: 300px !important; /* Larger minimum on desktop */
        max-width: 380px !important;
    }
    
    .gd-cptcat-ul .card-body {
        padding: 1.6rem 1.3rem !important;
        min-height: 130px !important; /* More height on large screens */
    }
}

/* =======================================
   Fix for GeoDirectory All Categories Page
======================================= */

/* Override ALL text-transform classes that might be forcing uppercase */
.geodir-categories-container *,
.geodir-categories-container .gd-cptcat-cat-right,
.geodir-categories-container .gd-cptcat-cat-right a,
.geodir-categories-container .gd-cptcat-cat-right .stretched-link,
.geodir-categories-container .gd-cptcat-cat-right h6,
.geodir-categories-container .gd-cptcat-ul .gd-cptcat-cat-right,
.geodir-categories-container .gd-cptcat-ul .gd-cptcat-cat-right a,
.geodir-categories-container .gd-cptcat-ul .gd-cptcat-cat-right .stretched-link,
.geodir-categories-container .gd-cptcat-ul .gd-cptcat-cat-right h6,
.gd-cptcat-ul .gd-cptcat-cat-right,
.gd-cptcat-ul .gd-cptcat-cat-right a,
.gd-cptcat-ul .gd-cptcat-cat-right .stretched-link,
.gd-cptcat-ul .gd-cptcat-cat-right h6,
.gd-cptcat-ul .gd-cptcat-cat-right *,
.gd-cptcat-ul .card *,
.gd-cptcat-ul .card a *,
.gd-cptcat-ul .card h6 *,
.gd-cptcat-ul .card .gd-cptcat-cat-right *,
.text-uppercase,
.text-uppercase *,
[class*="text-uppercase"],
[class*="text-uppercase"] *,
[style*="text-transform"],
[style*="TEXT-TRANSFORM"] {
    text-transform: none !important;
    text-transform: capitalize !important;
}

/* Target subcategory dropdown items on all categories page */
.geodir-categories-container .gd-cptcat-sub .dropdown-item,
.geodir-categories-container .gd-cptcat-sub .dropdown-item a,
.geodir-categories-container .gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right,
.geodir-categories-container .gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right a,
.geodir-categories-container .gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right h6,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item a,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right a,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right h6,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item *,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item a *,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right *,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right a *,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right h6 * {
    text-transform: none !important;
    text-transform: capitalize !important;
}

/* More aggressive targeting - override inline styles */
.geodir-categories-container [style*="text-transform"],
.gd-cptcat-ul [style*="text-transform"],
.geodir-categories-container a[style*="text-transform"],
.gd-cptcat-ul a[style*="text-transform"],
.geodir-categories-container h6[style*="text-transform"],
.gd-cptcat-ul h6[style*="text-transform"] {
    text-transform: none !important;
    text-transform: capitalize !important;
}

/* Force text-transform on category links specifically */
.geodir-categories-container .gd-cptcat-cat-right a,
.geodir-categories-container .gd-cptcat-cat-right .stretched-link,
.geodir-categories-container .gd-cptcat-cat-right h6,
.gd-cptcat-ul .gd-cptcat-cat-right a,
.gd-cptcat-ul .gd-cptcat-cat-right .stretched-link,
.gd-cptcat-ul .gd-cptcat-cat-right h6,
.gd-cptcat-sub .dropdown-item a,
.gd-cptcat-sub .dropdown-item .stretched-link,
.gd-cptcat-sub .dropdown-item h6 {
    text-transform: none !important;
    text-transform: capitalize !important;
    display: block !important;
}


/* =======================================
   Category-Specific Colors - Optimized
======================================= */

/* Category 957 - Legal and Notary - White */
.category-957.card,
.category-957.card .card-body,
.category-957.card.bg-transparent,
.category-957.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-957),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-957) .card-body,
.geodir-categories-container .category-957.card,
.geodir-categories-container .category-957.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-957.card,
.geodir-categories-container .gd-cptcat-parent .category-957.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-957.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 966 - Connectivity and Security - White */
.category-966.card,
.category-966.card .card-body,
.category-966.card.bg-transparent,
.category-966.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-966),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-966) .card-body,
.geodir-categories-container .category-966.card,
.geodir-categories-container .category-966.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-966.card,
.geodir-categories-container .gd-cptcat-parent .category-966.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-966.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 956 - Real Estate and Search - White */
.category-956.card,
.category-956.card .card-body,
.category-956.card.bg-transparent,
.category-956.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-956),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-956) .card-body,
.geodir-categories-container .category-956.card,
.geodir-categories-container .category-956.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-956.card,
.geodir-categories-container .gd-cptcat-parent .category-956.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-956.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 967 - Energy and Sustainability - White */
.category-967.card,
.category-967.card .card-body,
.category-967.card.bg-transparent,
.category-967.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-967),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-967) .card-body,
.geodir-categories-container .category-967.card,
.geodir-categories-container .category-967.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-967.card,
.geodir-categories-container .gd-cptcat-parent .category-967.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-967.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 968 - Moving and Storage - White */
.category-968.card,
.category-968.card .card-body,
.category-968.card.bg-transparent,
.category-968.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-968),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-968) .card-body,
.geodir-categories-container .category-968.card,
.geodir-categories-container .category-968.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-968.card,
.geodir-categories-container .gd-cptcat-parent .category-968.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-968.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 958 - Survey and Inspection - White */
.category-958.card,
.category-958.card .card-body,
.category-958.card.bg-transparent,
.category-958.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-958),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-958) .card-body,
.geodir-categories-container .category-958.card,
.geodir-categories-container .category-958.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-958.card,
.geodir-categories-container .gd-cptcat-parent .category-958.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-958.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 969 - Investment and Compliance - White */
.category-969.card,
.category-969.card .card-body,
.category-969.card.bg-transparent,
.category-969.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-969),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-969) .card-body,
.geodir-categories-container .category-969.card,
.geodir-categories-container .category-969.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-969.card,
.geodir-categories-container .gd-cptcat-parent .category-969.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-969.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 959 - Finance and Insurance - White */
.category-959.card,
.category-959.card .card-body,
.category-959.card.bg-transparent,
.category-959.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-959),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-959) .card-body,
.geodir-categories-container .category-959.card,
.geodir-categories-container .category-959.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-959.card,
.geodir-categories-container .gd-cptcat-parent .category-959.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-959.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 970 - Education and Schools Children - White */
.category-970.card,
.category-970.card .card-body,
.category-970.card.bg-transparent,
.category-970.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-970),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-970) .card-body,
.geodir-categories-container .category-970.card,
.geodir-categories-container .category-970.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-970.card,
.geodir-categories-container .gd-cptcat-parent .category-970.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-970.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 960 - Construction and Trades - White */
.category-960.card,
.category-960.card .card-body,
.category-960.card.bg-transparent,
.category-960.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-960),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-960) .card-body,
.geodir-categories-container .category-960.card,
.geodir-categories-container .category-960.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-960.card,
.geodir-categories-container .gd-cptcat-parent .category-960.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-960.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 971 - Education and Schools Adults - White */
.category-971.card,
.category-971.card .card-body,
.category-971.card.bg-transparent,
.category-971.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-971),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-971) .card-body,
.geodir-categories-container .category-971.card,
.geodir-categories-container .category-971.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-971.card,
.geodir-categories-container .gd-cptcat-parent .category-971.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-971.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 961 - Outdoor and Pools - White */
.category-961.card,
.category-961.card .card-body,
.category-961.card.bg-transparent,
.category-961.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-961),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-961) .card-body,
.geodir-categories-container .category-961.card,
.geodir-categories-container .category-961.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-961.card,
.geodir-categories-container .gd-cptcat-parent .category-961.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-961.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 972 - Healthcare - White */
.category-972.card,
.category-972.card .card-body,
.category-972.card.bg-transparent,
.category-972.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-972),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-972) .card-body,
.geodir-categories-container .category-972.card,
.geodir-categories-container .category-972.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-972.card,
.geodir-categories-container .gd-cptcat-parent .category-972.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-972.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 962 - Cleaning and Handy Help - White */
.category-962.card,
.category-962.card .card-body,
.category-962.card.bg-transparent,
.category-962.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-962),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-962) .card-body,
.geodir-categories-container .category-962.card,
.geodir-categories-container .category-962.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-962.card,
.geodir-categories-container .gd-cptcat-parent .category-962.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-962.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 973 - Pet Services - White */
.category-973.card,
.category-973.card .card-body,
.category-973.card.bg-transparent,
.category-973.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-973),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-973) .card-body,
.geodir-categories-container .category-973.card,
.geodir-categories-container .category-973.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-973.card,
.geodir-categories-container .gd-cptcat-parent .category-973.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-973.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 963 - Property Management - White */
.category-963.card,
.category-963.card .card-body,
.category-963.card.bg-transparent,
.category-963.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-963),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-963) .card-body,
.geodir-categories-container .category-963.card,
.geodir-categories-container .category-963.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-963.card,
.geodir-categories-container .gd-cptcat-parent .category-963.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-963.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 964 - Relocation and Admin - White */
.category-964.card,
.category-964.card .card-body,
.category-964.card.bg-transparent,
.category-964.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-964),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-964) .card-body,
.geodir-categories-container .category-964.card,
.geodir-categories-container .category-964.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-964.card,
.geodir-categories-container .gd-cptcat-parent .category-964.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-964.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* Category 965 - Design and Furnishing - White */
.category-965.card,
.category-965.card .card-body,
.category-965.card.bg-transparent,
.category-965.card.bg-transparent .card-body,
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-965),
.gd-cptcat-ul .card.bg-transparent:has(#cat-submenu-965) .card-body,
.geodir-categories-container .category-965.card,
.geodir-categories-container .category-965.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-965.card,
.geodir-categories-container .gd-cptcat-parent .category-965.card .card-body,
.geodir-categories-container .gd-cptcat-parent .category-965.card .card-body.btn-outline-primary {
    background-color: #ffffff !important;
}

/* =======================================
   Category Card Text Styling - Optimized
======================================= */

/* All category cards - black text, no underlines */
.gd-cptcat-ul .card.bg-transparent .card-body,
.category-957.card.bg-transparent .card-body,
.category-966.card.bg-transparent .card-body,
.category-956.card.bg-transparent .card-body,
.category-967.card.bg-transparent .card-body,
.category-968.card.bg-transparent .card-body,
.category-958.card.bg-transparent .card-body,
.category-969.card.bg-transparent .card-body,
.category-959.card.bg-transparent .card-body,
.category-970.card.bg-transparent .card-body,
.category-960.card.bg-transparent .card-body,
.category-971.card.bg-transparent .card-body,
.category-961.card.bg-transparent .card-body,
.category-972.card.bg-transparent .card-body,
.category-962.card.bg-transparent .card-body,
.category-973.card.bg-transparent .card-body,
.category-963.card.bg-transparent .card-body,
.category-964.card.bg-transparent .card-body,
.category-965.card.bg-transparent .card-body {
    color: #000000 !important;
}

/* Category links - black text, no underline */
.gd-cptcat-ul .card.bg-transparent .card-body a,
.category-957.card.bg-transparent .card-body a,
.category-966.card.bg-transparent .card-body a,
.category-956.card.bg-transparent .card-body a,
.category-967.card.bg-transparent .card-body a,
.category-968.card.bg-transparent .card-body a,
.category-958.card.bg-transparent .card-body a,
.category-969.card.bg-transparent .card-body a,
.category-959.card.bg-transparent .card-body a,
.category-970.card.bg-transparent .card-body a,
.category-960.card.bg-transparent .card-body a,
.category-971.card.bg-transparent .card-body a,
.category-961.card.bg-transparent .card-body a,
.category-972.card.bg-transparent .card-body a,
.category-962.card.bg-transparent .card-body a,
.category-973.card.bg-transparent .card-body a,
.category-963.card.bg-transparent .card-body a,
.category-964.card.bg-transparent .card-body a,
.category-965.card.bg-transparent .card-body a {
    color: #000000 !important;
    text-decoration: none !important;
}

/* Category links hover effect */
.gd-cptcat-ul .card.bg-transparent .card-body a:hover,
.category-957.card.bg-transparent .card-body a:hover,
.category-966.card.bg-transparent .card-body a:hover,
.category-956.card.bg-transparent .card-body a:hover,
.category-967.card.bg-transparent .card-body a:hover,
.category-968.card.bg-transparent .card-body a:hover,
.category-958.card.bg-transparent .card-body a:hover,
.category-969.card.bg-transparent .card-body a:hover,
.category-959.card.bg-transparent .card-body a:hover,
.category-970.card.bg-transparent .card-body a:hover,
.category-960.card.bg-transparent .card-body a:hover,
.category-971.card.bg-transparent .card-body a:hover,
.category-961.card.bg-transparent .card-body a:hover,
.category-972.card.bg-transparent .card-body a:hover,
.category-962.card.bg-transparent .card-body a:hover,
.category-973.card.bg-transparent .card-body a:hover,
.category-963.card.bg-transparent .card-body a:hover,
.category-964.card.bg-transparent .card-body a:hover,
.category-965.card.bg-transparent .card-body a:hover {
    color: #333333 !important;
    text-decoration: none !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* Count badges */
.gd-cptcat-ul .card.bg-transparent .gd-cptcat-count,
.category-957.card.bg-transparent .gd-cptcat-count,
.category-966.card.bg-transparent .gd-cptcat-count,
.category-956.card.bg-transparent .gd-cptcat-count,
.category-967.card.bg-transparent .gd-cptcat-count,
.category-968.card.bg-transparent .gd-cptcat-count,
.category-958.card.bg-transparent .gd-cptcat-count,
.category-969.card.bg-transparent .gd-cptcat-count,
.category-959.card.bg-transparent .gd-cptcat-count,
.category-970.card.bg-transparent .gd-cptcat-count,
.category-960.card.bg-transparent .gd-cptcat-count,
.category-971.card.bg-transparent .gd-cptcat-count,
.category-961.card.bg-transparent .gd-cptcat-count,
.category-972.card.bg-transparent .gd-cptcat-count,
.category-962.card.bg-transparent .gd-cptcat-count,
.category-973.card.bg-transparent .gd-cptcat-count,
.category-963.card.bg-transparent .gd-cptcat-count,
.category-964.card.bg-transparent .gd-cptcat-count,
.category-965.card.bg-transparent .gd-cptcat-count {
    background-color: rgba(0,0,0,0.2) !important;
    color: #000000 !important;
    border: 1px solid rgba(0,0,0,0.3) !important;
}

/* Icon containers */
.gd-cptcat-ul .card.bg-transparent .gd-cptcat-cat-right,
.category-957.card.bg-transparent .gd-cptcat-cat-right,
.category-966.card.bg-transparent .gd-cptcat-cat-right,
.category-956.card.bg-transparent .gd-cptcat-cat-right,
.category-967.card.bg-transparent .gd-cptcat-cat-right,
.category-968.card.bg-transparent .gd-cptcat-cat-right,
.category-958.card.bg-transparent .gd-cptcat-cat-right,
.category-969.card.bg-transparent .gd-cptcat-cat-right,
.category-959.card.bg-transparent .gd-cptcat-cat-right,
.category-970.card.bg-transparent .gd-cptcat-cat-right,
.category-960.card.bg-transparent .gd-cptcat-cat-right,
.category-971.card.bg-transparent .gd-cptcat-cat-right,
.category-961.card.bg-transparent .gd-cptcat-cat-right,
.category-972.card.bg-transparent .gd-cptcat-cat-right,
.category-962.card.bg-transparent .gd-cptcat-cat-right,
.category-973.card.bg-transparent .gd-cptcat-cat-right,
.category-963.card.bg-transparent .gd-cptcat-cat-right,
.category-964.card.bg-transparent .gd-cptcat-cat-right,
.category-965.card.bg-transparent .gd-cptcat-cat-right {
    color: #000000 !important;
}

/* =======================================
   Subcategory Styles - Comprehensive
======================================= */

/* Subcategory dropdown items - black text (desktop and mobile) */
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item,
.gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item *,
.gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item * {
    color: #000000 !important;
}

/* Subcategory links - black text (desktop and mobile) */
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item a,
.gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item a *,
.gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a * {
    color: #000000 !important;
    text-decoration: none !important;
}

/* Subcategory links hover effect - dark gray (desktop and mobile) */
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item a:hover,
.gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a:hover,
.gd-cptcat-ul.gd-cptcat-sub .dropdown-item a:hover *,
.gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a:hover * {
    color: #333333 !important;
    text-decoration: none !important;
}

/* Ensure subcategory dropdown menus have white background */
.gd-cptcat-ul.gd-cptcat-sub,
.gd-cptcat-ul.gd-cptcat-sub-1 {
    background-color: #ffffff !important;
}

/* Subcategory count badges - ensure they're visible */
.gd-cptcat-ul.gd-cptcat-sub .gd-cptcat-count,
.gd-cptcat-ul.gd-cptcat-sub-1 .gd-cptcat-count {
    background-color: #f0f0f0 !important;
    color: #666666 !important;
}

/* Override any text-reset classes that might be forcing white text */
.gd-cptcat-ul.gd-cptcat-sub .text-reset,
.gd-cptcat-ul.gd-cptcat-sub-1 .text-reset,
.gd-cptcat-ul.gd-cptcat-sub .stretched-link,
.gd-cptcat-ul.gd-cptcat-sub-1 .stretched-link {
    color: #000000 !important;
}

/* =======================================
   FIX: Text Wrapping for Subcategory Dropdowns
   Ensures long category names wrap properly instead of overflowing.
   Works with the JS fix in gd-subcategory-dropdown-fix.js which
   wraps bare text nodes in <span class="gd-subcategory-text">.
======================================= */

/* 1. Override text-truncate and centering on the outer container */
.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right.text-truncate,
.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right.text-truncate,
.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right,
.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

/* 2. Make the <a> inside dropdown items a flex container */
.gd-cptcat-sub .dropdown-item a.stretched-link,
.gd-cptcat-sub-1 .dropdown-item a.stretched-link,
.gd-cptcat-sub .dropdown-item a.h6,
.gd-cptcat-sub-1 .dropdown-item a.h6 {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    white-space: normal !important;
}

/* 3. Icon stays fixed size, does not shrink */
.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-left,
.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-left {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
}

/* 4. JS-created text span takes remaining space and wraps */
.gd-cptcat-sub .dropdown-item .gd-subcategory-text,
.gd-cptcat-sub-1 .dropdown-item .gd-subcategory-text {
    flex: 1 !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
}

/* 5. Dropdown container width constraints */
.gd-cptcat-ul.gd-cptcat-sub,
.gd-cptcat-ul.gd-cptcat-sub-1 {
    min-width: 200px !important;
    max-width: 350px !important;
    width: auto !important;
}

/* 6. Mobile-specific */
@media (max-width: 768px) {
    .gd-cptcat-ul.gd-cptcat-sub,
    .gd-cptcat-ul.gd-cptcat-sub-1 {
        min-width: 250px !important;
        max-width: calc(100vw - 40px) !important;
        width: auto !important;
    }

    .gd-cptcat-sub .dropdown-item .gd-subcategory-text,
    .gd-cptcat-sub-1 .dropdown-item .gd-subcategory-text {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
}

/* Target the specific subcategory structure more directly */
body .gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right,
body .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right,
body .gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right *,
body .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right * {
    color: #000000 !important;
}

/* Mobile-specific subcategory text color - ensure black text on mobile */
@media (max-width: 768px) {
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item,
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item *,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item * {
        color: #000000 !important;
    }
    
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item a,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a,
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item a *,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a * {
        color: #000000 !important;
        text-decoration: none !important;
    }
    
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item a:hover,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a:hover,
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item a:hover *,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a:hover * {
        color: #333333 !important;
        text-decoration: none !important;
    }
    
    /* Mobile override for text-reset classes */
    .gd-cptcat-ul.gd-cptcat-sub .text-reset,
    .gd-cptcat-ul.gd-cptcat-sub-1 .text-reset,
    .gd-cptcat-ul.gd-cptcat-sub .stretched-link,
    .gd-cptcat-ul.gd-cptcat-sub-1 .stretched-link {
        color: #000000 !important;
    }
    
    /* Mobile targeting of specific subcategory structure */
    body .gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right,
    body .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right,
    body .gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right *,
    body .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right * {
        color: #000000 !important;
    }
}

/* Additional mobile-specific rules with higher specificity */
@media (max-width: 768px) {
    /* Target mobile subcategory dropdowns with body + multiple classes */
    body.mobile-device .gd-cptcat-ul.gd-cptcat-sub .dropdown-item,
    body.mobile-device .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item,
    body .gd-cptcat-ul.gd-cptcat-sub.dropdown-menu .dropdown-item,
    body .gd-cptcat-ul.gd-cptcat-sub-1.dropdown-menu .dropdown-item {
        color: #000000 !important;
    }
    
    /* Target mobile subcategory links with higher specificity */
    body.mobile-device .gd-cptcat-ul.gd-cptcat-sub .dropdown-item a,
    body.mobile-device .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item a,
    body .gd-cptcat-ul.gd-cptcat-sub.dropdown-menu .dropdown-item a,
    body .gd-cptcat-ul.gd-cptcat-sub-1.dropdown-menu .dropdown-item a {
        color: #000000 !important;
        text-decoration: none !important;
    }
    
    /* Target mobile subcategory structure with even more specific selectors */
    body .gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right a,
    body .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right a,
    body .gd-cptcat-ul.gd-cptcat-sub .dropdown-item .gd-cptcat-cat-right a span,
    body .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item .gd-cptcat-cat-right a span {
        color: #000000 !important;
    }
    
    /* Target mobile subcategory text with attribute selectors */
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item[class*="dropdown-item"] a,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item[class*="dropdown-item"] a {
        color: #000000 !important;
    }
    
    /* Target mobile subcategory text with direct child selectors */
    .gd-cptcat-ul.gd-cptcat-sub > .dropdown-item > .gd-cptcat-cat-right > a,
    .gd-cptcat-ul.gd-cptcat-sub-1 > .dropdown-item > .gd-cptcat-cat-right > a {
        color: #000000 !important;
    }
}

/* Ultra-specific mobile rules using important on each property */
@media (max-width: 768px) {
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item,
    .gd-cptcat-ul.gd-cptcat-sub .dropdown-item *,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item,
    .gd-cptcat-ul.gd-cptcat-sub-1 .dropdown-item * {
        color: #000000 !important;
        fill: #000000 !important;
        stroke: #000000 !important;
        background-color: transparent !important;
    }
}

/* =======================================
   GeoDirectory Search Input Styles for Home Page
======================================= */
 
.wp-block-geodirectory-geodir-widget-search .gd_search_text{ /*.search-text .gd_search_text*/
    width: 100% !important; 
    font-size: 12px !important;
}


.wp-block-geodirectory-geodir-widget-search .snear { /*.search-text .snear*/
      width: 100% !important;
    font-size: 12px !important;
}


.geodir-search-container .gd_search_text{ /*.search-text .gd_search_text*/
    width: 100% !important; 
    font-size: 12px !important;
}


.geodir-search-container  .snear { /*.search-text .snear*/
      width: 100% !important;
    font-size: 12px !important;
}




/* =======================================
   FIX: Dropdown Z-Index Layering Issue
   Ensures subcategory dropdowns have solid background and appear above all elements
======================================= */

/* Make dropdown menu completely opaque with solid white background */
.gd-cptcat-sub.dropdown-menu,
.gd-cptcat-sub-1.dropdown-menu {
    z-index: 999999 !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
    border: 2px solid #dee2e6 !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3) !important;
    position: absolute !important;
    isolation: isolate !important;
    /* Width constraints to prevent overflow */
    min-width: 200px !important;
    max-width: 350px !important;
    width: auto !important;
}

/* Ensure dropdown items also have solid background */
.gd-cptcat-sub.dropdown-menu .dropdown-item,
.gd-cptcat-sub-1.dropdown-menu .dropdown-item {
    background-color: #ffffff !important;
    opacity: 1 !important;
    /* Text wrapping for long category names */
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
    padding: 8px 12px !important;
    line-height: 1.4 !important;
}

/* CRITICAL FIX: Override the z-index of arrow containers when dropdown is open */
/* This ensures arrows appear BEHIND the dropdown menu, not in front of it */
body.gd-dropdown-open .gd-cptcat-li-sub-container {
    z-index: 0 !important;
}

body.gd-dropdown-open .gd-cptcat-li-sub-container > a {
    z-index: 0 !important;
}

/* Hide ALL arrows when any dropdown is open - MAXIMUM SPECIFICITY */
html body.gd-dropdown-open .gd-cptcat-li-sub-container,
html body.gd-dropdown-open .gd-cptcat-li-sub-container *,
html body.gd-dropdown-open .gd-cptcat-li-sub-container a,
html body.gd-dropdown-open .fa-chevron-down,
html body.gd-dropdown-open .fas.fa-chevron-down,
html body.gd-dropdown-open i.fa-chevron-down,
html body.gd-dropdown-open i[class*="fa-chevron"],
html body.gd-dropdown-open .gd-cptcat-ul .gd-cptcat-li-sub-container,
html body.gd-dropdown-open .gd-cptcat-ul .gd-cptcat-li-sub-container a {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Mobile version */
@media (max-width: 768px) {
    .gd-cptcat-sub.dropdown-menu,
    .gd-cptcat-sub-1.dropdown-menu {
        z-index: 999999 !important;
        background-color: #ffffff !important;
        opacity: 1 !important;
        border: 2px solid #dee2e6 !important;
        box-shadow: 0 10px 25px rgba(0,0,0,0.3) !important;
        isolation: isolate !important;
        /* Mobile width constraints - wider on mobile for better touch targets */
        min-width: 250px !important;
        max-width: calc(100vw - 40px) !important;
        width: auto !important;
    }

    .gd-cptcat-sub.dropdown-menu .dropdown-item,
    .gd-cptcat-sub-1.dropdown-menu .dropdown-item {
        background-color: #ffffff !important;
        opacity: 1 !important;
        /* Text wrapping for mobile */
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        padding: 12px 16px !important;
        line-height: 1.5 !important;
        font-size: 14px !important;
    }
}

/* Hide GeoDirectory Default Category field */
/*  div[data-argument="default_category"] {
    display: none !important;
}  */
    

/* Hide GeoDirectory Latitude and Longitude input fields */
#address_latitude,
#address_longitude {
    display: none !important; 
}

/* Hide labels for Latitude and Longitude */
label[for="address_latitude"],
label[for="address_longitude"] {
    display: none !important;
}

/* Hide help text under Latitude and Longitude */
 #address_latitude ~ small,
#address_longitude ~ small {
    display: none !important;
} 

/* Resize GeoDirectory map pin (custom marker icons are 640px, scale to ~40px) */
.geodir-map-canvas .gm-style div:has(> img[src*="wp-content/uploads"]) {
    transform: scale(0.0625) !important;
    transform-origin: 50% 100% !important;
    overflow: visible !important;
}

/* Red X marker beneath the pin icon */
.geodir-map-canvas .gm-style div:has(> img[src*="wp-content/uploads"])::after {
    content: "✕";
    position: absolute;
    bottom: -200px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 320px;
    font-weight: 900;
    color: #cc0000;
    line-height: 1;
    text-shadow: 0 0 40px rgba(0,0,0,0.3);
    pointer-events: none;
    z-index: 1;
}

/* Resize the clickable marker overlay to match */
.geodir-map-canvas .gm-style div[role="button"][title]:has(> img[src*="transparent.png"]) {
    transform: scale(0.0625) !important;
    transform-origin: 50% 100% !important;
}


/* Wrapper for the whole block (unchanged) */
.place-meta {
  margin: 0 0 1rem 0;
}

/* One row = label + value */
.place-row {
  display: grid !important;
  grid-template-columns: 160px 1fr !important;  /* fixed label width so values align */
  column-gap: 0.75rem !important;
  row-gap: 0.25rem !important;
  align-items: flex-start !important;
  margin-bottom: 0.35rem !important;
}

/* Label column */
.place-label {
  font-weight: 600 !important;
  text-align: left !important;
  white-space: nowrap !important;   /* keep label on one line */
}

/* Value column */
.place-value {
  text-align: left !important;
  word-wrap: break-word !important; /* allow long URLs/text to wrap */
}

/* Description row: desktop */
.place-row-desc .place-value {
  max-width: 500px !important;   /* wrap around ~200px container */
}

/* Mobile: description spans full width under label */
@media (max-width: 767px) {

  .place-row-desc {
    display: block !important;   /* stack label then value */
  }

  .place-row-desc .place-label {
    display: block !important;
    margin-bottom: 0.25rem !important;
  }

  .place-row-desc .place-value {
    max-width: none !important;
    width: 100% !important;
    padding: 0.25rem 0 !important;  /* small vertical padding */
  }
}

/* formatting for the user posts area on Home page */

.quick-post-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;      /* center horizontally */
    justify-content: center;
    margin: 1.5rem auto;
    padding: 1rem;
}

.quick-post-form {
    width: 100%;
    max-width: 600px;         /* keeps it narrow on desktop */
}

.quick-post-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.quick-post-form .button {
    display: inline-block;
}

/* Success/error message under form, centered */
.quick-post-message {
    margin-top: 0.75rem;
    text-align: center;
    color: #155724;
    background: #d4edda;
    border: 1px solid #c3e6cb;
    padding: 0.75rem 1rem;
    border-radius: 3px;
    max-width: 600px;
    width: 100%;
    box-sizing: border-box;
}


