/*
 Theme Name: Hello Elementor Child
 Theme URI: https://example.com/
 Description: Child theme for Elementor Hello theme
 Author: Your Name
 Template: hello-elementor
 Version: 1.0
*/

/* Add your custom styles below */
:root {
    --primary-color: #309ecf;
    --secondary-color: #224286;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: #000;
}
ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, body, html, p, table, div, blockquote, fieldset, input {
    margin: 0;
    padding: 0;
}
p, ul, ol, table {
    font-size: 12px;
    line-height: 15px;
    padding-bottom: 10px;
}
a {
    color: #224286;
    text-decoration: underline;
}
a:hover {
    color: #309ecf;
}
img {
    max-width: 100%;
}
h1 {
    color: #309ecf;
    margin-bottom: 5px;
}
.top-menu ul.tahefobu-nav-menu li {
    line-height: 31px;
    border-left: 1px solid #fff;
}
.top-menu ul.tahefobu-nav-menu li:hover {
    background: url(images/nav-hover.jpg) repeat-x;
}
.top-search div.asl_w {
    box-shadow: none;
}
.top-search .asl_w_container {
    min-width: 230px;
}
.top-search #ajaxsearchlite1 .probox, div.asl_w .probox,
.top-search div.asl_m .probox .proinput input,
.top-search div.asl_w .probox .promagnifier {
    height: 19px;
    box-shadow: none;
    border: none;
    font-size: 14px !important;
}
.top-search div.asl_w .probox .promagnifier {
    width: auto;
    background: #224286;
    color: #fff;
    border: none;
    padding: 0 4px;
    text-transform: uppercase;
    font-size: 12px !important;
    font-weight: bold;
}
.top-search div.asl_w .probox .promagnifier::before {
    content: 'Search';
}
.top-search div.asl_w .probox .promagnifier span.innericon {
    display: none !important;
}
.top-search div.asl_w .probox .proloading, 
.top-search div.asl_w .probox .proclose, 
.top-search div.asl_w .probox .prosettings {
    width: 14px;
    height: 14px;
}
.top-search div.asl_m .probox .proclose svg {
    width: 15px;
    height: 15px;
    margin-top: -5px;
}

.top-head-txt {
    text-align: right;
    margin: 5px 5px 0 0;
    font-size: 12px;
    line-height: 15px;
    padding-bottom: 5px;
}
.top-head-txt p {
    padding-bottom: 5px;
}
.top-head-txt p span {
    color: #309ecf;
    font-weight: bold;
}
footer.site-footer {
    padding-top: 0;
}
.site-footer.footer-inverted .footer-inner {
    justify-content: left;
    box-sizing: border-box;
    padding: 0 15px;
}
.site-footer .footer-inner .copyright p {
    padding: 0;
}
footer.site-footer .site-navigation ul.menu a {
    padding: 0;
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    margin-left: 15px;
}
main#content {
    max-width: 999px;
    margin: 0 auto;
    padding: 0 15px;
    width: auto;
}
#sidebar {width:209px; float:left; border-top:6px solid #224286;}
#sidebar h1 {margin:3px 0 2px 0; font-size:15px; line-height:20px; text-transform:uppercase;}
#sidebar ul {padding-bottom:5px;}
#sidebar ul li {margin-bottom:3px; list-style:none; background:url(images/bg-list-top.jpg) top left repeat-x; position: relative; }
#sidebar nav > ul > li > a {background:url(images/bg-list-btm.jpg) bottom left repeat-x !important;}
#sidebar ul li a {padding:7px 0px 7px 15px; background:url(images/bg-list-btm.jpg) bottom left repeat-x;  display:block;}
#sidebar nav > ul > li.menu-item-has-children > a.active {background:none !important;}
#sidebar a {text-decoration:none; font-size:13px; color:#224286; font-weight:bold;}
#sidebar a:hover {color:#000;}
#sidebar ul li ul {padding:7px 0px 7px 15px; font-size:12px; height:auto; margin: 0;}
#sidebar ul li ul li {width:152px; display:block; text-align:left; padding:3px 0 3px 14px; border:0; background:none; line-height:12px; height:auto;}
#sidebar ul li ul li:hover {background:none;}
#sidebar ul li ul li a {background: none; padding: 0;}
#sidebar ul li ul li a:hover {color:#309ecf;}
#sidebar .firstImg {margin-bottom:5px;} 


.rjbw-image-wrapper {overflow: hidden;display: block;}
#hover-banner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 90%;
		background: #399ECF;
		color: #fff;
		padding: 10px;
		border-radius: 8px;
		font-size: 13px;
		text-align: center;
		z-index: 99;
}
/* Show banner ONLY when hovering the image wrapper */
.rjbw-image-wrapper:hover #hover-banner {
		display: block !important;
}

/* Ensure the image dims slightly on hover to make text readable */
.rjbw-image-wrapper:hover img {
		opacity: 0.7;
}


#homeBox {border:2px solid #c0c0c2; padding:3px;}
#homeBox table {margin:0;}
#homeBox td {padding:2px;}
#homeBox {border:2px solid #c0c0c2; padding:3px;}
#homeBox table {margin:0;}
#homeBox td {padding:2px;}
.pipesTD {position:relative;}
.pipesTD img {position:relative; z-index:1;}
#pipesText {position:absolute; top:16px; right:15px; z-index:5; width:260px; padding:15px; background:url(/images/bg-white.png); color:#224286; font-size:17px;  font-family:Georgia, serif;}
#pipesText p {color:#224286; font-size:17px; line-height:20px;}

main#content .content-main {width: calc(100% - 209px); float: left; padding-left: 24px; box-sizing: border-box;}
.home main#content .content-main {padding-left: 9px;}
.site-footer {display: inline-block; width: 100%;}
.home .page-header {display: none;}
.site-main p, .site-main ul, .site-main ol {
    color: #58585a;
    font-size: 13px;
    line-height: 16px;
}


.home-box {
    border: 2px solid #c0c0c2;
    padding: 3px;
}
.home-box .top-img {
    display: flex;
    padding: 2px;
}
.home-box .top-img .delivery-txt {
    font-family: Georgia, serif;
    font-size: 29px;
    background: #309ecf;
    width: 100%;
    color: #ffffff;
    margin: 0;
    font-style: italic;
    padding: 3px 20px;
}
.home-box .image-block {
    display: flex;
    padding: 2px;
}
.home-box .image-block img {
    display: block;
}
.home-box .image-block span{
    padding: 2px;
}
.home-box .main-pipe-img {
    display: flex;
    padding: 2px;
    position: relative;
}
.home-box .main-pipe-img img {
    display: block;
}
.home-box .main-pipe-img .pipes-text-sec{
    position: absolute;
    top: 16px;
    right: 15px;
    z-index: 5;
    width: 260px;
    padding: 15px;
    background: url(images/bg-white.png);
    color: #224286;
    font-size: 17px;
    font-family: Georgia, serif;
}
.home-box .main-pipe-img .pipes-text-sec p{
    color: #224286;
    font-size: 17px;
    line-height: 20px;
}

body.woocommerce-page.turbo-hide-theme-header header.woocommerce-products-header {
    display: block !important;
}
body.woocommerce-page.turbo-hide-theme-header header.woocommerce-products-header h1 {
    font-size: 20px;
    margin-bottom: 5px;
}
header.woocommerce-products-header .term-description {
    margin-top: 10px;
}
header.woocommerce-products-header .term-description a {
    display: inline-block;
    margin-bottom: 10px;
}
.woocommerce ul.products li.product h3 {
    text-align: center;
    color: #224286;
    font-size: 17px;x
    font-weight: bold;
    margin: 5px 0;
}
.woocommerce-no-products-found,.woocommerce-result-count,.woocommerce-ordering {
    display: none;
}



@media (max-width:767px) {
    #sidebar {
        width: 100%;
    }
}


/* Layout & Base */
.pvc-container { max-width: 1200px; margin: 0 auto; padding: 20px; font-family: sans-serif; color: #444; }
.pvc-grid { display: flex; gap: 30px; margin-top: 30px; }
.pvc-main-content { flex: 2; }
.pvc-sidebar { flex: 1; }

/* Components */
.pvc-card { background: #f9f9f9; padding: 15px; border-radius: 8px; margin-bottom: 20px; }
.pvc-subtitle { color: #2e7bb8; font-size: 20px; margin-bottom: 15px; }
.pvc-text { line-height: 1.6; margin-bottom: 15px; }

/* Sidebar Specifics */
.pvc-promo h2 { font-size: 18px; color: #2e7bb8; margin-bottom: 5px; }
.pvc-phone { font-size: 22px; font-weight: bold; display: block; }
.pvc-delivery-banner { background: #2e7bb8; color: #fff; padding: 10px; text-align: center; border-radius: 6px; margin-bottom: 20px; font-weight: bold; }
.pvc-focus-text { font-size: 14px; color: #2e7bb8; text-transform: uppercase; margin-top: 25px; }

/* Lists */
.pvc-list { padding-left: 20px; list-style-image: url('images/shape.png'); }
.pvc-list li { margin-bottom: 8px; font-size: 14px; }

/* Slider & Images */
.pvc-slider img { width: 100%; border-radius: 8px; transition: 0.3s; }
.pvc-slider img:hover { transform: scale(1.02); }
.map-thumb { width: 100%; border-radius: 8px; cursor: pointer; }
.map-link { display: block; text-align: center; margin-top: 10px; color: #2e7bb8; text-decoration: none; font-size: 14px; }

/* Testimonial */
.pvc-testimonial { text-align: center; margin-top: 40px; padding: 20px; border-top: 1px solid #eee; }
.pvc-testimonial .quote { font-style: italic; font-size: 18px; margin-bottom: 5px; }
.pvc-testimonial .author { font-size: 13px; color: #777; }

/* Overlay/Popup */
.pvc-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.85); display: none; justify-content: center; align-items: center; z-index: 9999; }
.pvc-overlay.active { display: flex; }
.pvc-popup { position: relative; max-width: 90%; }
.pvc-popup img { width: 100%; border-radius: 8px; }
.close-btn { position: absolute; top: -15px; right: -15px; font-size: 28px; background: #fff; border-radius: 50%; width: 35px; height: 35px; display: flex; justify-content: center;cursor: pointer; }

/* Responsive */
@media (max-width: 768px) {
    .pvc-grid { flex-direction: column; }
}

.contact-main {
    max-width: 1100px;
    margin: 20px auto;
    
}

/* Heading */
.contact-heading {
    text-align: center;
    margin-bottom: 40px;
}

.contact-heading h2 {
    font-size: 32px;
    margin-bottom: 10px;
}

.contact-heading p {
    color: #666;
    font-size: 16px;
}

/* Layout */
.contact-section {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

/* Cards */
.contact-card {
    flex: 1;
    background: #fff;
    padding: 10px;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}

/* Info */
.contact-label {
    font-weight: 600;
    margin-top: 15px;
    margin-bottom: 5px;
    color: #EB5345;
}

/* Form */
.contact-form form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: #EB5345;
    outline: none;
}

.contact-form input[type="submit"] {
    background: #399ecf;
    color: #fff;
    border: none;
    cursor: pointer;
    font-weight: 600;
}

.contact-form input[type="submit"]:hover {
    background: #d94335;
}

/* Mobile */
@media (max-width: 767px) {
    * {
        box-sizing: border-box;
    }
    .contact-heading h2 {
        font-size: 26px;
    }
    .top-search #ajaxsearchlite1 .probox, div.asl_w .probox,
    .top-search div.asl_m .probox .proinput input,
    .top-search div.asl_w .probox .promagnifier {
        height: 25px;
    }
    .top-head-txt p {
        font-size: 11px;
        line-height: 14px;
    }
    #sidebar .widget img {
        width: 100%;
    }
    main#content .content-main {
        width: 100%;
        padding: 0;
    }
    .home main#content .content-main {
        padding-left: 0px;
    }
    .home-box .top-img .delivery-txt {
        text-align: center;
        font-size: 20px;
    }
    .home-box .image-block {
        flex-wrap: wrap;
    }
    .home-box .image-block span {
        width: 100%;
    }
    .home-box .image-block img {
        width: 100%;
    }
    .home-box .main-pipe-img img {
        height: 300px;
        object-fit: cover;
    }
    .home-box .main-pipe-img .pipes-text-sec {
        padding: 15px;
        width: calc(100% - 30px);
    }
    .home-box .main-pipe-img .pipes-text-sec p {
        font-size: 14px;
    }

    .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main {
        padding: 0;
    }
    .pvc-container {
        padding: 20px 0;
    }
    
}

@media (min-width:768px) and (max-width:991px) {
    .home-box .main-pipe-img img {
        display: block;
        height: 370px;
        object-fit: cover;
    }
    .tahefobu-site-logo-wrapper .tahefobu-site-logo img {
        max-height: 95px;
    }
    .site-footer.footer-inverted .footer-inner {
        padding: 0 15px;
        box-sizing: border-box;
    }
}




/* Toggle button (hidden on desktop) */
.filter-toggle,.filter-header {
    display: none;
}



@media (max-width: 768px) {
    .site-sidebar .textwidget h1 {
        display: none;
    }
    .filter-content {
        max-height: none;
        overflow: visible;
    }
    .filter-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 5px;
        margin-top: 5px;
    }

    .filter-header h3 {
        color: #309ecf;
        font-size: 18px;
        margin: 0;
    }
    .site-main {
        display: block;
    }
    .content-sidebar,
    .content-main {
        width: 100%;
    }

    
    .filter-toggle {
        display: flex;
        background: #eee;
        width: 32px;
        height: 32px;
        align-items: center;
        justify-content: center;
        border-radius: 6px;
        cursor: pointer;
        font-size: 20px;
        font-weight: bold;
    }

    
    .filter-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    
    .filter-box.active .filter-content {
        max-height: 1000px;
    }
}