/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Description: Child theme for Hello Elementor
Author: Stape
Author URI: https://santamonicalocal.com
Template: hello-elementor
Version: 1.1
Text Domain: helloelementor-child
*/

/* import Inter font */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* start here */

.taxonomy-terms-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 15px 0;
    width: 100%; /* Ensure full width of container */
}

/* For all term links */
/* Make the entire tag clickable by updating the PHP function */
.term-with-icon {
    display: flex;
    align-items: center;
    background: transparent;
    border-radius: 5px;
    padding: 10px;
    transition: all 0.3s ease;
    position: relative;
    box-sizing: border-box;
    cursor: pointer; /* Add pointer cursor to indicate clickability */
}

/* Add positioning for the link to cover the entire tag */
.term-with-icon a.term-link {
    position: static; /* Allow clicks through to parent */
    z-index: 1;
}

/* To make the full tag clickable, we'll add a special link helper */
.term-with-icon .tag-link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; /* Above other elements */
}

/* For all term links */
.term-link {
    color: #52344e !important; /* Updated color as requested */
    text-decoration: none;
    font-weight: 500;
    font-size: 20px;
    font-family: "Poppins", "Inter", sans-serif !important; /* Force Poppins font */
    white-space: nowrap; /* Prevent line breaks within tags */
    transition: transform 0.3s ease; /* Add transition for hover effect */
}

/* Global hover state */
.term-link:hover {
    transform: scale(1.03); /* Add grow effect on hover */
    color: #52344e !important;
}

/* For wider screens - place horizontally */
@media screen and (min-width: 768px) {
    .taxonomy-terms-icons {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start; /* Start from left instead of distributing */
        gap: 25px; /* Increased gap to prevent overlapping */
        max-width: 100%; /* Ensure container uses full width */
    }
    
    /* All tags get consistent styling */
    .taxonomy-terms-icons .term-with-icon {
        flex: 0 0 auto; /* Don't grow or shrink, use natural width */
        margin-right: 0; /* Remove margin as we're using gap */
        min-width: 0;
    }
    
    /* Only apply truncation if absolutely necessary */
    .taxonomy-terms-icons:has(.term-with-icon:nth-child(4)) .term-with-icon .term-link {
        max-width: 200px; /* Allow more space before truncation */
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Icon styling */
.icon-container {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    flex-shrink: 0;
    transform: translateX(0);
    transition: all 0.3s ease;
}

.term-with-icon:hover .icon-container {
    transform: scale(1.03); /* Add grow effect on hover */
}

.term-icon {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* Safari-specific fixes */
@supports (-webkit-hyphens:none) {
    .taxonomy-terms-icons {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
    }
    
    @media screen and (min-width: 768px) {
        .taxonomy-terms-icons {
            -webkit-flex-direction: row;
            flex-direction: row;
        }
    }
}

/* OTHER STUFF */

/* styling for owners name in articles */

.owner {
color:#b36065;
font-weight: bold;
}

.semi {
font-weight: 600;
}

/* Category Page Styles - Updated with Specific Selectors */

/* Base styles for category cards */
.elementor-element-929c555 .e-con-inner > .category-card,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex {
    border-radius: 16px 16px 16px 16px !important;
    overflow: hidden; 
    transition: all 0.3s ease;
    position: relative !important;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    perspective: 1000;
}

/* Alternating colored borders for category cards */
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+1),
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+1) {
    border-bottom: 15px solid #8fcbe7 !important;
    -webkit-border-bottom: 15px solid #8fcbe7 !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+2),
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+2) {
    border-bottom: 15px solid #229fbb !important;
    -webkit-border-bottom: 15px solid #229fbb !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+3),
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+3) {
    border-bottom: 15px solid #fab708 !important;
    -webkit-border-bottom: 15px solid #fab708 !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+4),
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+4) {
    border-bottom: 15px solid #56324e !important;
    -webkit-border-bottom: 15px solid #56324e !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+5),
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+5) {
    border-bottom: 15px solid #b36065 !important;
    -webkit-border-bottom: 15px solid #b36065 !important;
}

/* Overlay effect using pseudo-element */
.elementor-element-929c555 .e-con-inner > .category-card::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    z-index: 1;
    pointer-events: none;
    border-radius: 16px 16px 16px 16px;
    -webkit-border-radius: 16px 16px 16px 16px;
}

/* Colored overlay for each card type */
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+1)::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+1)::before {
    background-color: #8fcbe7 !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+2)::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+2)::before {
    background-color: #229fbb !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+3)::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+3)::before {
    background-color: #fab708 !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+4)::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+4)::before {
    background-color: #56324e !important;
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+5)::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+5)::before {
    background-color: #b36065 !important;
}

/* Show overlay on hover/focus/active */
.elementor-element-929c555 .e-con-inner > .category-card:hover::before,
.elementor-element-929c555 .e-con-inner > .category-card:focus::before,
.elementor-element-929c555 .e-con-inner > .category-card:active::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:hover::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:focus::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active::before {
    opacity: 0.4 !important;
}

/* Text styling for better visibility */
.elementor-element-929c555 .e-con-inner > .category-card .elementor-icon-box-content p,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon-box-content p {
    text-shadow: 0 0 10px rgba(0,0,0,0.6), 1px 1px 3px rgba(0,0,0,0.6);
    -webkit-text-shadow: 0 0 10px rgba(0,0,0,0.8), 1px 1px 3px rgba(0,0,0,0.9);
    color: white !important;
    font-weight: bold;
    position: relative;
    z-index: 2;
    letter-spacing: 0.5px;
}

/* Icon styling and shadows */
.elementor-element-929c555 .e-con-inner > .category-card .elementor-icon,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg,
.elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg .s0,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg .s0 {
    fill: white !important;
    -webkit-filter: drop-shadow(0 0 8px rgba(0,0,0,0.5)) drop-shadow(1px 1px 2px rgba(0,0,0,0.5));
    filter: drop-shadow(0 0 8px rgba(0,0,0,0.5)) drop-shadow(1px 1px 2px rgba(0,0,0,0.5));
}

/* Hover effects */
.elementor-element-929c555 .e-con-inner > .category-card:hover,
.elementor-element-929c555 .e-con-inner > .category-card:focus,
.elementor-element-929c555 .e-con-inner > .category-card:active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:hover,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:focus,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active {
    -webkit-transform: translateY(-5px) !important;
    transform: translateY(-5px) !important;
    -webkit-box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.elementor-element-929c555 .e-con-inner > .category-card:hover .elementor-icon,
.elementor-element-929c555 .e-con-inner > .category-card:active .elementor-icon,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:hover .elementor-icon,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active .elementor-icon {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    filter: brightness(1.2);
    -webkit-filter: brightness(1.2);
}

/* Card-specific glow effects on hover */
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+1):hover,
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+1):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+1):hover,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+1):active {
    -webkit-box-shadow: 0 10px 25px rgba(143, 203, 231, 0.4);
    box-shadow: 0 10px 25px rgba(143, 203, 231, 0.4);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+2):hover,
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+2):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+2):hover,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+2):active {
    -webkit-box-shadow: 0 10px 25px rgba(34, 159, 187, 0.4);
    box-shadow: 0 10px 25px rgba(34, 159, 187, 0.4);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+3):hover,
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+3):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+3):hover,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+3):active {
    -webkit-box-shadow: 0 10px 25px rgba(250, 183, 8, 0.4);
    box-shadow: 0 10px 25px rgba(250, 183, 8, 0.4);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+4):hover,
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+4):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+4):hover,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+4):active {
    -webkit-box-shadow: 0 10px 25px rgba(86, 50, 78, 0.4);
    box-shadow: 0 10px 25px rgba(86, 50, 78, 0.4);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+5):hover,
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+5):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+5):hover,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+5):active {
    -webkit-box-shadow: 0 10px 25px rgba(179, 96, 101, 0.4);
    box-shadow: 0 10px 25px rgba(179, 96, 101, 0.4);
}

/* Click/active effects */
.elementor-element-929c555 .e-con-inner > .category-card:active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active {
    -webkit-transform: scale(0.98) translateY(-2px) !important;
    transform: scale(0.98) translateY(-2px) !important;
    -webkit-transition: all 0.1s ease-out;
    transition: all 0.1s ease-out;
}

.elementor-element-929c555 .e-con-inner > .category-card:active::before,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active::before {
    opacity: 0.7 !important;
}

/* Color-specific glow on click */
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+1):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+1):active {
    -webkit-box-shadow: 0 0 30px rgba(143, 203, 231, 0.8);
    box-shadow: 0 0 30px rgba(143, 203, 231, 0.8);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+2):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+2):active {
    -webkit-box-shadow: 0 0 30px rgba(34, 159, 187, 0.8);
    box-shadow: 0 0 30px rgba(34, 159, 187, 0.8);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+3):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+3):active {
    -webkit-box-shadow: 0 0 30px rgba(250, 183, 8, 0.8);
    box-shadow: 0 0 30px rgba(250, 183, 8, 0.8);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+4):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+4):active {
    -webkit-box-shadow: 0 0 30px rgba(86, 50, 78, 0.8);
    box-shadow: 0 0 30px rgba(86, 50, 78, 0.8);
}
.elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+5):active,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+5):active {
    -webkit-box-shadow: 0 0 30px rgba(179, 96, 101, 0.8);
    box-shadow: 0 0 30px rgba(179, 96, 101, 0.8);
}

/* Icon animation on click */
.elementor-element-929c555 .e-con-inner > .category-card:active .elementor-icon,
.elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active .elementor-icon {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    -webkit-transition: transform 0.15s ease;
    transition: transform 0.15s ease;
}

/* Mobile & iOS specific adjustments */
@media only screen and (max-width: 767px) {
    /* Ensure rounded corners on small screens */
    .elementor-element-929c555 .e-con-inner > .category-card,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex {
        border-radius: 16px 16px 16px 16px !important;
        -webkit-border-radius: 16px 16px 16px 16px !important;
        -webkit-appearance: none;
        -webkit-tap-highlight-color: transparent;
    }
    
    /* Force colored borders - stronger specificity for mobile */
    .elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+1),
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+1) {
        border-bottom: 15px solid #8fcbe7 !important;
        -webkit-border-bottom: 15px solid #8fcbe7 !important;
    }
    .elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+2),
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+2) {
        border-bottom: 15px solid #229fbb !important;
        -webkit-border-bottom: 15px solid #229fbb !important;
    }
    .elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+3),
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+3) {
        border-bottom: 15px solid #fab708 !important;
        -webkit-border-bottom: 15px solid #fab708 !important;
    }
    .elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+4),
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+4) {
        border-bottom: 15px solid #56324e !important;
        -webkit-border-bottom: 15px solid #56324e !important;
    }
    .elementor-element-929c555 .e-con-inner > .category-card:nth-of-type(5n+5),
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:nth-of-type(5n+5) {
        border-bottom: 15px solid #b36065 !important;
        -webkit-border-bottom: 15px solid #b36065 !important;
    }
    
    /* Enhanced text visibility for mobile */
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon-box-content p,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon-box-content p {
        text-shadow: 0 0 15px rgba(0,0,0,1), 2px 2px 4px rgba(0,0,0,1) !important;
        -webkit-text-shadow: 0 0 15px rgba(0,0,0,1), 2px 2px 4px rgba(0,0,0,1) !important;
        color: white !important;
        font-weight: bold !important;
    }
    
    /* Force white fill for all SVG elements on mobile */
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg,
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg path,
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg .s0,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg path,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg .s0 {
        fill: white !important;
        stroke: none !important;
        -webkit-filter: drop-shadow(0 0 10px rgba(0,0,0,0.5));
        filter: drop-shadow(0 0 10px rgba(0,0,0,0.5));
    }
    
    /* Specific targeting for flower icons that use fill="#FFFFFF" */
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg .s0[fill="#FFFFFF"],
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg .s0[fill="#FFFFFF"] {
        fill: white !important;
        -webkit-filter: drop-shadow(0 0 8px rgba(0,0,0,1));
        filter: drop-shadow(0 0 8px rgba(0,0,0,1));
    }
    
    /* Force overlay to work on mobile */
    .elementor-element-929c555 .e-con-inner > .category-card::before,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex::before {
        border-radius: 16px 16px 16px 16px !important;
        -webkit-border-radius: 16px 16px 16px 16px !important;
    }
    
    .elementor-element-929c555 .e-con-inner > .category-card:active::before,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active::before {
        opacity: 0.6 !important;
    }
}

/* Specific iOS fixes */
@supports (-webkit-touch-callout: none) {
    /* Additional iOS-specific overrides */
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg,
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg path,
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg .s0,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg path,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg .s0 {
        fill: white !important;
        color: white !important;
    }
    
    /* Specific iOS click behavior */
    .elementor-element-929c555 .e-con-inner > .category-card:active,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex:active {
        -webkit-transform: scale(0.97) !important;
        transform: scale(0.97) !important;
    }
    
    /* Improve iOS performance */
    .elementor-element-929c555 .e-con-inner > .category-card,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex {
        will-change: transform;
    }
}

/* More subtle icon shadows for desktop while ensuring white color */
@media only screen and (min-width: 768px) {
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg,
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg .s0,
    .elementor-element-929c555 .e-con-inner > .category-card .elementor-icon svg path,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg .s0,
    .elementor-element-929c555 .e-con-inner > .e-con-full.e-flex .elementor-icon svg path {
        fill: white !important;
        color: white !important;
        stroke: none !important;
        -webkit-filter: drop-shadow(0 0 4px rgba(0,0,0,0.2)) drop-shadow(1px 1px 1px rgba(0,0,0,0.2)) !important;
        filter: drop-shadow(0 0 4px rgba(0,0,0,0.2)) drop-shadow(1px 1px 1px rgba(0,0,0,0.2)) !important;
    }
}

/* directory description font styles */

.tag-description {
    font-family: 'Inter', sans-serif !important;
    font-size: 16px;
}

/* Make sure paragraphs inside the description inherit the styling */
.tag-description p {
    font-family: inherit;
    font-size: inherit;
}

/* Archive Posts page clean up styling */

/* Apply styles only on desktop and tablets (screen width > 767px) */
@media only screen and (min-width: 768px) {
    /* Target ONLY the directory cards and not the header */
    body.post-type-archive-directory .elementor-location-archive .e-con-boxed,
    body.tax-industry .elementor-location-archive .e-con-boxed,
    body.tax-location .elementor-location-archive .e-con-boxed {
        min-height: 450px !important;
        display: flex !important;
        flex-direction: column !important;
    }
    /* All other selectors also need the .elementor-location-archive class */
    body.post-type-archive-directory .elementor-location-archive .e-con-boxed .e-con-inner,
    body.tax-industry .elementor-location-archive .e-con-boxed .e-con-inner,
    body.tax-location .elementor-location-archive .e-con-boxed .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
    }
    /* Text excerpt styling - with word-break protection */
    body.post-type-archive-directory .elementor-location-archive .elementor-element[data-widget_type="text-editor.default"] .elementor-widget-container,
    body.tax-industry .elementor-location-archive .elementor-element[data-widget_type="text-editor.default"] .elementor-widget-container,
    body.tax-location .elementor-location-archive .elementor-element[data-widget_type="text-editor.default"] .elementor-widget-container {
        min-height: 80px !important; 
        height: auto !important;
        margin-bottom: 15px !important;
        position: relative !important;
        word-break: normal !important;
        overflow: visible !important;
        -webkit-line-clamp: 4 !important; /* Show exactly 4 lines */
        -webkit-box-orient: vertical !important;
    }
    /* Button positioning */
    body.post-type-archive-directory .elementor-location-archive .elementor-element[data-widget_type="button.default"],
    body.tax-industry .elementor-location-archive .elementor-element[data-widget_type="button.default"],
    body.tax-location .elementor-location-archive .elementor-element[data-widget_type="button.default"] {
        margin-top: auto !important;
        margin-bottom: 20px !important;
    }
    /* Heading styling */
    body.post-type-archive-directory .elementor-location-archive .elementor-element[data-widget_type="heading.default"],
    body.tax-industry .elementor-location-archive .elementor-element[data-widget_type="heading.default"],
    body.tax-location .elementor-location-archive .elementor-element[data-widget_type="heading.default"] {
        margin-bottom: 15px !important;
    }
}


/* Blog posts / Articles / Single Post -- not directory posts */
/* Target paragraphs only in regular blog posts */
/* AKA 'articles' */

.type-post .elementor-widget-theme-post-content p {
    padding-bottom: 22px;
}

/* Add spacing to the left of images with leftpad class */
.type-post .elementor-widget-theme-post-content .leftpad img {
    margin-left: 30px;    /* Space to the left of the image */
}

/* Alternative approach - also target the figure element if present */
.type-post .elementor-widget-theme-post-content figure.leftpad img,
.type-post .elementor-widget-theme-post-content .leftpad img {
    margin-left: 30px;
}

/* Add spacing to the left of image CAPTIONS with leftpad class */
.type-post .elementor-widget-theme-post-content .leftpad figcaption {
    margin-left: 30px;
}

/* Add spacing to the top of images with leftpad class */
.type-post .elementor-widget-theme-post-content .toppad img {
    margin-top: 30px;    /* Space to the top of the image */
}

/* Make horizontal separator line thinner */
.type-post .wp-block-separator.has-alpha-channel-opacity {
    border-top: 1px solid;
    border-bottom: none;
    height: 1px !important;
}

/* Center align images with centeralign class */
.type-post .elementor-widget-theme-post-content .centeralign,
.type-post .elementor-widget-theme-post-content figure.centeralign,
.type-post .elementor-widget-theme-post-content .wp-block-image.centeralign {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    text-align: center !important;
}

/* Make sure the image inside is also properly centered */
.type-post .elementor-widget-theme-post-content .centeralign img,
.type-post .elementor-widget-theme-post-content figure.centeralign img,
.type-post .elementor-widget-theme-post-content .wp-block-image.centeralign img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
}


/* Single Post / Blog / Article on MOBILE styling */

@media (max-width: 767px) {
  /* Add spacing after paragraphs */
  html body.single-post div.elementor-widget-theme-post-content div.elementor-widget-container p {
    margin-bottom: 20px !important;
  }
  
  /* Make images full width with no text wrap */
  html body.single-post div.elementor-widget-theme-post-content div.elementor-widget-container img,
  html body.single-post div.elementor-widget-theme-post-content div.elementor-widget-container figure,
  html body.single-post div.elementor-widget-theme-post-content div.elementor-widget-container .wp-block-image {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 20px !important;
  }
  
  /* Clear floats to prevent text wrapping */
  html body.single-post div.elementor-widget-theme-post-content div.elementor-widget-container .alignleft,
  html body.single-post div.elementor-widget-theme-post-content div.elementor-widget-container .alignright,
  html body.single-post div.elementor-widget-theme-post-content div.elementor-widget-container .aligncenter {
    float: none !important;
    display: block !important;
    margin: 0 auto 20px auto !important;
    width: 100% !important;
  }
}

/* DIRECTORY Loop Grid on Home Page - Spotlight Area */

/* Refined zoom effect with more noticeable upward movement */
.elementor-element-3c1cca6 .e-loop-item a.e-con-boxed {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

/* Create a pseudo-element that will be the actual background */
.elementor-element-3c1cca6 .e-loop-item a.e-con-boxed::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: inherit;
    transition: transform 0.8s ease;
    z-index: -1;
}

/* Apply the subtle zoom effect and more pronounced upward movement on hover */
.elementor-element-3c1cca6 .e-loop-item a.e-con-boxed:hover::after {
    transform: scale(1.08) translateY(-15px);
}

/* Ensure the content stays in place */
.elementor-element-3c1cca6 .e-loop-item a.e-con-boxed .e-con-inner {
    position: relative;
    z-index: 2;
}

/* Article Excerpt on Home Page Hover State for Text */

a.blog-post-item:link .elementor-heading-title {
    color: #56324e !important;
}

/* Target using the blog-post-item class */
a.blog-post-item:hover .elementor-heading-title {
    color: #b36065 !important;
}

a.blog-post-item:hover .elementor-widget-theme-post-excerpt .elementor-widget-container {
    color: #56324e !important;
}

/* Add transitions */
a.blog-post-item .elementor-heading-title,
a.blog-post-item .elementor-widget-theme-post-excerpt .elementor-widget-container {
    transition: color 300ms ease;
}

/* link colors on business profile */

.directory.type-directory .elementor-widget-theme-post-content p a {
  transition: color 0.3s ease; /* Add smooth transition for all state changes */
}


.directory.type-directory .elementor-widget-theme-post-content p a:link {
color: #b36065;
}

.directory.type-directory .elementor-widget-theme-post-content p a:hover {
color: #fd850a;
}

.directory.type-directory .elementor-widget-theme-post-content p a:visited {
color: #229fbb;
}

