/*---------------------------------------------------------------------------------

 Theme Name:   Hurricane Plumber
 Theme URI:    
 Description:  A Divi child theme by Hurricane Web Performance
 Author:       Digital Refresh
 Author URI:   https://graphicsbyhurricane.com
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

------------------------------ ADDITIONAL CSS HERE ------------------------------*/

/* two columns footer on mobile */
@media only screen and (max-width: 479px) {
    .two-columns .et_pb_column {
        width: 49%!important;
        padding: 10px;
    }
}

/* three columns services on mobile */
@media only screen and (min-width: 479px) and (max-width: 980px) {
    .three-columns .et_pb_column {
        width: 33.33%!important;
        padding: 10px;
    }
}

@media only screen and (min-width: 981px){
    .three-columns-team .et_pb_column {
        width: 31.33%!important;
    }
}

@media only screen and (min-width: 479px) and (max-width: 980px) {
    .two-columns-teams .et_pb_column {
        width: 49%!important;
    }
}

@media only screen and (min-width: 457px) and (max-width: 980px) {
    .two-columns-fl .et_pb_column {
        width: 50%!important;
        padding: 10px;
    }
}

/*sidebar button styling*/
.sidebar-button:after {
    right: 25px !important;
}

/*make the contact form button fullwidth*/
.et_contact_bottom_container { width: 97%; }
.et_pb_contact_submit.et_pb_button { width: 100%; margin: 0 auto; }
.et_pb_contact_form_0.et_pb_contact_form_container.et_pb_module .et_pb_button { text-align: left; }
.et_pb_contact_submit.et_pb_button { text-align: left!important; }
.et_pb_contact_form_0.et_pb_contact_form_container.et_pb_module .et_pb_button:after,
.et_pb_contact_form_0_tb_body.et_pb_contact_form_container.et_pb_module .et_pb_button:after {
    right: 25px!important;
}

/* Remove text shadow in Divi slider modules */
.et_pb_slide_description { text-shadow:none !important; }

/* testimonial sidebar name padding */
h4.test-slider { padding-top: 10px !important; font-size: 20px!important; }
h4.test-slider-home { padding-top: 30px !important; font-size: 20px!important; color: #222d35!important; }

.et_pb_slider_0.et_pb_slider .et-pb-controllers { bottom: -32px!important; }
@media (max-width: 767px) {
    .et_pb_slider_0.et_pb_slider .et-pb-controllers { bottom: -15px!important; }
}

/* Navigation dots for testimonial slider */
.et-pb-controllers .et-pb-active-control { opacity: 1; width: 10px; height: 10px; border-radius: 0px!important; }
.et-pb-controllers a { width: 10px; height: 10px; border-radius: 0px!important; }

/* remove side padding on testimonials slider*/
.et_pb_slide { padding: 0 0%; } 

/*Style back to top button*/
.et_pb_scroll_top.et-pb-icon { background: #808080; }
.et_pb_scroll_top.et-pb-icon:hover { background: #222d35; } /* kept darker on hover for contrast */

/* Remove page overflow */
#page-container { overflow-x: hidden; }

.et-pb-contact-message { color: #222d35; font-size: 18px; line-height: 1.1em; }

/* ================================
   CUSTOM HEADER V2 – ALL HOVERS TO MEDIUM GREY
   ================================ */
.header-v2 .sub-menu .menu-item:hover,
.header-v2 .sub-menu a:hover {
    background: #808080 !important;
    color: #ffffff !important;
    transition: all 0.3s ease-in-out;
}

/* Remove any transparent background on main menu hover (prevents blue flash) */
.nav li a:hover,
#main-header .et_pb_menu__menu nav ul li a:hover {
    background-color: transparent !important;
    opacity: 1 !important;
}

/* Mobile menu hover (hamburger dropdown) */
.et_mobile_menu li a:hover {
    background-color: #808080 !important;
 color: #ffffff !important;
}

/* ================================
   READ MORE BUTTON HOVER
   ================================ */
.more-link {
    margin-top: 25px!important;
    color: #FFFFFF!important;
    border: 2px solid #808080 !important;
    border-radius: 5px;
    letter-spacing: 1px;
    font-size: 15px;
    font-weight: 700!important;
    text-transform: uppercase!important;
    background-color: #808080 !important;
    padding: 10px 25px!important;
    display: block;
    text-align: center;
    transition: all 0.3s ease;
}
.more-link:hover {
    border-color: #222d35 !important;
    background-color: #222d35 !important;
    color: #ffffff !important;
}

/* Extra safety – catch any remaining blue hovers in dropdowns */
#main-header .sub-menu a:hover,
.et_pb_fullwidth_menu .sub-menu a:hover,
.et_pb_menu .sub-menu a:hover,
.header-v2 .sub-menu li:hover > a {
    background-color: #808080 !important;
    color: #ffffff !important;
}

/* Mobile dropdown arrow toggle hover (if you ever want it grey too) */
.et_mobile_menu .mobile-toggle:hover {
    background-color: #808080 !important;
}

/* Rest of your original CSS (unchanged) */
.header-v2 .sub-menu { padding: 0 !important; border-top: solid 33px #ffffff !important; box-shadow: none !important; }

.et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu {
    width: 100vw !important;
    right: -5vw !important;
    left: auto !important;
}

.nav ul li ul { width: 280px; }
#top-menu li li a { width: 240px; }

ul.sub-menu {
    padding: 0 !important;
    border:none !important;
    width: 240px !important;
    border-bottom-left-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}
@media only screen and (min-width: 981px) {
    ul.sub-menu { margin-left: -16px; }
}

.sub-menu .menu-item { padding: 0 !important; width: 100% !important; }
.sub-menu .menu-item a {
    border: none !important;
    width: 100% !important;
    padding: 10px 25px !important;
    margin: 0 !important;
    text-align: left !important;
}

/* testimonial background quote adjustments */
@media (max-width: 880px) {
    div.et_pb_section.et_pb_section_4 { background-size: 50px 50px!important; }
}

/* remove box shadow on service boxes mobile */
@media (max-width: 479px){
    .mob-bs { box-shadow:none!important; }
}

/* individual service page - services list side by side*/
@media (min-width: 480px) and (max-width: 980px) {
    .flex-services { flex-basis: 33%; }
}
@media all and (max-width: 479px) {
    .flex-services { flex-basis: 50%!important; }
}

/*blog styling*/
.blog-image-right { padding-left: 15px; padding-top: 15px; padding-bottom: 15px; }
.blog-image-left { padding-right: 15px; padding-top: 15px; padding-bottom: 15px; }

/* Collapsable Mobile Menu – unchanged (kept your custom code) */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
    height: 100%;
    padding: 0px !important;
    max-height: 164px;
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 999;
    background-color: transparent;
}

/* ... rest of your mobile menu code unchanged ... */