.elementor-kit-5041{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;}.elementor-kit-5041 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================
   FIX: Materials Carousel Mobile Scroll
   ============================================ */

/* Force the scroll container to not wrap and allow overflow */
.tac-materials-scroll,
.tac-materials-scroll > .e-con-inner,
.tac-materials-scroll > .elementor-element {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
}

/* Prevent Elementor from overriding card widths on mobile */
.tac-materials-scroll > .e-con-inner > .tac-material-card,
.tac-materials-scroll > .tac-material-card,
.tac-materials-scroll .e-con-inner .e-con {
    flex: 0 0 auto !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    scroll-snap-align: start;
}

@media (max-width: 767px) {
    .tac-materials-scroll > .e-con-inner > .tac-material-card,
    .tac-materials-scroll > .tac-material-card,
    .tac-materials-scroll .e-con-inner .e-con {
        width: 150px !important;
        min-width: 150px !important;
        max-width: 150px !important;
    }
    
    /* Ensure the inner container also scrolls */
    .tac-materials-scroll > .e-con-inner {
        width: max-content !important;
        min-width: max-content !important;
    }
}

/* ============================================
   TAC GRANITE — SOCIAL IMPACT STYLES
   ============================================ */

/* Section background overlay */
.tac-social-impact {
    position: relative;
    overflow: hidden;
}

/* Ensure background overlay renders */
.tac-social-impact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.55);
    z-index: 0;
    pointer-events: none;
}

/* Keep content above overlay */
.tac-social-impact > .e-con-inner,
.tac-social-impact > .e-con {
    position: relative;
    z-index: 1;
}

/* Cover image subtle animation on hover */
.tac-social-impact .elementor-widget-image img {
    transition: transform 0.5s ease;
    border-radius: 12px;
}

.tac-social-impact .elementor-widget-image:hover img {
    transform: scale(1.03);
}

/* Button hover effect */
.tac-impact-btn .elementor-button {
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.tac-impact-btn .elementor-button:hover {
    background-color: #C8A96E !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

/* Gold accent divider */
.tac-social-impact .elementor-divider-separator {
    border-color: #C8A96E !important;
}

/* Mobile stacking */
@media (max-width: 767px) {
    .tac-social-impact {
        min-height: auto !important;
    }
    
    .tac-social-impact .elementor-widget-image img {
        border-radius: 10px;
    }
}

/* ============================================
   TAC GRANITE — TAC TOWERS SECTION STYLES
   ============================================ */

/* Section container */
.tac-towers-section {
    background-color: #FFFFFF;
}

/* Image hover effect */
.tac-towers-img img {
    transition: transform 0.5s ease, box-shadow 0.5s ease;
    border-radius: 12px;
}

.tac-towers-img:hover img {
    transform: scale(1.02);
    box-shadow: 0 12px 40px rgba(0,0,0,0.12) !important;
}

/* Gold accent divider */
.tac-towers-section .elementor-divider-separator {
    border-color: #C8A96E !important;
}

/* Button hover */
.tac-towers-btn .elementor-button {
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.tac-towers-btn .elementor-button:hover {
    background-color: #C8A96E !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

/* Mobile */
@media (max-width: 767px) {
    .tac-towers-section {
        text-align: center;
    }
}

/* ============================================
   TAC GRANITE — TAC EXPERIENCE STEPS STYLES
   ============================================ */

.tac-experience-section {
    background-color: #FFFFFF;
}

/* Step cards */
.tac-step-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    text-align: center;
}

.tac-step-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

/* Gold step numbers */
.tac-step-card .elementor-widget-heading:first-child .elementor-heading-title {
    color: #C8A96E;
    opacity: 0.9;
}

/* Gold divider */
.tac-experience-section .elementor-divider-separator {
    border-color: #C8A96E !important;
}

/* Mobile: single column with less gap */
@media (max-width: 767px) {
    .tac-step-card {
        width: 100% !important;
    }
}

/* Tablet: 2 columns */
@media (min-width: 768px) and (max-width: 1024px) {
    .tac-step-card {
        width: 46% !important;
    }
}

/* ============================================
   TAC GRANITE — CONTACT SECTION STYLES
   ============================================ */

.tac-contact-section {
    background-color: #F0EFED;
}

.tac-contact-section .elementor-divider-separator {
    border-color: #C8A96E !important;
}

/* Form card */
.tac-contact-form-card {
    background: #FFFFFF;
    border-radius: 12px;
}

/* Style form inputs to match brand */
.tac-contact-form-card input[type="text"],
.tac-contact-form-card input[type="email"],
.tac-contact-form-card input[type="tel"],
.tac-contact-form-card select,
.tac-contact-form-card textarea {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    border: 1px solid #E0E0E0 !important;
    border-radius: 6px !important;
    padding: 12px 15px !important;
    transition: border-color 0.3s ease !important;
    background: #FAFAFA !important;
}

.tac-contact-form-card input:focus,
.tac-contact-form-card textarea:focus,
.tac-contact-form-card select:focus {
    border-color: #C8A96E !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(200,169,110,0.15) !important;
}

/* Style form submit button */
.tac-contact-form-card input[type="submit"],
.tac-contact-form-card button[type="submit"],
.tac-contact-form-card .wpforms-submit,
.tac-contact-form-card .elementor-button {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    background: #1A1A1A !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.tac-contact-form-card input[type="submit"]:hover,
.tac-contact-form-card button[type="submit"]:hover,
.tac-contact-form-card .wpforms-submit:hover {
    background: #C8A96E !important;
    transform: translateY(-2px);
}

/* Location cards */
.tac-location-card {
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tac-location-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 25px rgba(0,0,0,0.08) !important;
}

/* Directions button hover */
.tac-directions-btn .elementor-button {
    transition: all 0.3s ease;
}

.tac-directions-btn .elementor-button:hover {
    background: #1A1A1A !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* ============================================
   TAC GRANITE — GOOGLE REVIEWS SECTION STYLES
   ============================================ */

.tac-reviews-section {
    background-color: #FFFFFF;
}

.tac-reviews-section .elementor-divider-separator {
    border-color: #C8A96E !important;
}

/* Make the review widget responsive */
.tac-reviews-section .elementor-shortcode {
    width: 100%;
}

/* Mobile */
@media (max-width: 767px) {
    .tac-location-card {
        width: 100% !important;
    }
    
    .tac-contact-form-card {
        width: 100% !important;
    }
}/* End custom CSS */