/*
 Theme Name: Holts
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Holts Website
 Author: David Snyman
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */
p:not(.has-background):last-of-type {
    padding-bottom: 1em;
}
.acf-gallery {
    height: 200px !important;
}

.et_pb_gutters2 .et_pb_column_1_2, .et_pb_gutters2.et_pb_row .et_pb_column_1_2 {
    width: 49%;
}
.et_pb_gutters2 .et_pb_column, .et_pb_gutters2.et_pb_row .et_pb_column {
    margin-right: 2%;
}
.et_pb_column.et_pb_column_1_2>.et_pb_row_inner.et_pb_gutters2>.et_pb_column_1_4, .et_pb_gutters2 .et_pb_column_1_2>.et_pb_row_inner>.et_pb_column_1_4 {
    width: 48%;
    margin-right: 4%;
}


.et_pb_row {
    width: 90% !important;
    max-width: 1280px !important;
}
.w-70 {
    width: 70%;
}
.flex-center {
    display: flex;
    align-items: center;
}
/* fonts */

h1, h2, h3 {
    font-family: "futura-pt-condensed", sans-serif;
    font-weight: 800 !important;
    font-style: normal;
}
h1, h2 {
    font-size: 3.5rem !important;
    padding: 0;
    line-height: 3.5rem;
    letter-spacing: -.01em;
    margin: -10px 0;
    text-transform: uppercase;
}
h3 {
    font-size: 2rem;
}
h3.sm {
    font-family: "roboto", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 2px;
    font-size: 1.2rem;
}
h3.sm.ls-normal {
    font-size: 1.2rem;
    letter-spacing: 0;
}
.et_pb_column_1_3 h3, .et_pb_column_1_4 h3, .et_pb_column_1_5 h3, .et_pb_column_1_6 h3, .et_pb_column_2_5 h3 {
    font-size: 2rem;
}
body {
    font-size: 1rem !important;
}

a.btn, input#wpsl-search-btn {
    font-family: "roboto", sans-serif;
    font-weight: 900;
    font-size: .8rem;
    font-style: normal;
    color: #fff !important;
    background: #DB061F;
    padding: 8px 24px;
    display: inline-block;
    border-radius: 4px;
    line-height: 1.25rem;
    text-transform: uppercase;
}
a.btn.white {
    background: #fff;
    color: #000;
}
.et_header_style_left #et-top-navigation nav>ul>li>a {
    font-weight: 400;
}
#top-menu li.current-menu-ancestor>a, #top-menu li.current-menu-item>a, #top-menu li.current_page_item>a {
    font-weight: 600 !important;
}
#main-header {
    box-shadow: none;
}
.container {
    width: 90%;
    max-width: 1280px;
    margin: auto;
}
.et_pb_widget_area_left {
    border-right: none;
}
/* Prod Tabs */

ul.et_pb_tabs_controls {
    background-color: #f4f4f4;
    display: flex;
    justify-content: center;
    border-radius: 10px;
    padding: 10px !important;
}

ul.et_pb_tabs_controls li {
    border: none;
    background: transparent;
}
ul.et_pb_tabs_controls li.et_pb_tab_active {
    background: #e40520 !important;
    border-radius: 5px;
}
ul.et_pb_tabs_controls li.et_pb_tab_active a {
    color: #fff !important;
    font-weight: 800;
}

.et_pb_tabs_controls li a {
    color: #000000;
    padding: 10px 30px;
    font-weight: 700 !important;
}
.et_pb_module.et_pb_tabs {
    border: none;
}

/* Gallery */

 .product-gallery-slider-wrapper {
            display: flex;
            gap: 10px;
            max-width: 1200px;
            margin: 0 auto;
        }
        
.gallery-thumbnails {
    display: flex;
    flex-direction: column;
    gap: 10px;
    order: -1;
    width: 15%;
    height: 510px;
    overflow-y: scroll;
}
        
        .gallery-thumbnail {
            cursor: pointer;
            border: 3px solid transparent;
            transition: border-color 0.3s ease;
			background: #f2f2f2;
    border-radius: 5px;
        }
        
        .gallery-thumbnail.active {
    border-color: #e40520;
}
        
        .gallery-thumbnail img {
            width: 100%;
            height: auto;
            display: block;
        }
.gallery-thumbnails::-webkit-scrollbar {
    display: none;
}        
.gallery-main-image {
    flex-grow: 1;
    background: #f2f2f2;
    border-radius: 5px;
    width: calc(85% - 10px);
}
        
        .gallery-main-image img {
            width: 100%;
            height: auto;
            display: block;
        }
        
        /* Responsive adjustments */
        @media (max-width: 768px) {
            .product-gallery-slider-wrapper {
                flex-direction: column;
            }
            
            .gallery-thumbnails {
                width: 100%;
                flex-direction: row;
                order: 1;
                overflow-x: auto;
            }
            
            .gallery-thumbnail {
                min-width: 80px;
            }
            
.gallery-main-image {
    max-width: 100%;
    width: 100%;
}
        }

/* FAQ's */

 .faq-accordion {
            margin: 2em auto;
        }
        
        .faq-item {
            border-bottom: 1px solid #ddd;
        }
        
.faq-question {
    width: 100%;
    padding: .7em 1em;
    border: none;
    background: none;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: inherit;
    font-size: 1.1em;
    font-weight: 600;
}
        
        .faq-question:hover {
            background-color: #f5f5f5;
        }
        
        .faq-icon {
            min-width: 20px;
            transition: transform 0.3s ease;
        }
        
        .faq-question[aria-expanded='true'] .faq-icon {
            transform: rotate(45deg);
        }
        
        .faq-answer {
            padding: 0 1em;
            margin: 1.5em 0;
            overflow: hidden;
            height: 0;
            transition: height 0.3s ease-out;
        }
        
        .faq-question[aria-expanded='true'] + .faq-answer {
            height: auto;
        }
        
        /* Mobile adjustments */
        @media (max-width: 768px) {
            .faq-question {
                padding: 1em;
                font-size: 1em;
            }
            
            .faq-answer {
                padding: 0 1em;
                margin-bottom: 1em;
            }
        }

/* News */

.news-home-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}
.news-home-container.helpAdvice {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.news-wrapper {
    margin-bottom: 20px;
}
.newsImage {
    overflow: hidden;
    transition: .5s;
    border-radius: 10px;
    display: block;
    margin-bottom: 20px;
	transition: .5s;
}
.newsTitle h3 {
    font-family: 'roboto';
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.6rem;
}
.newsImage:hover img {
	scale: 1.2;
	transition: .5s;
}	
.newsImage img {
    border-radius: 10px;
    margin-bottom: -9px;
	transition: .5s;
}
.news-wrapper a.btn {
    margin-top: 1rem;
}
.news-wrapper h2 {
    margin-bottom: 2rem;
    font-size: 3rem !important;
}

/* News Category */

.et_pb_posts .et_pb_ajax_pagination_container {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.et_pb_posts .et_pb_ajax_pagination_container h2 {
    font-size: 2rem !important;
    font-weight: 400;
    line-height: 1.6rem;
    margin-bottom: 1rem;
}
/* Newsletter */

.newsletter input {
    border: none;
    border-bottom: 1px solid #fff;
    background: transparent;
    width: 65% !important;
    margin-right: 8%;
    padding: 20px 0 10px;
    position: relative;
	color: #fff;
}
.newsletter input::placeholder {
    color: #fff;
    opacity: 1;
}
.newsletter input.wpcf7-form-control.wpcf7-submit.has-spinner {
    font-family: "roboto", sans-serif;
    font-weight: 900;
    font-size: .8rem;
    font-style: normal;
    color: #fff;
    background: #DB061F;
    padding: 8px 24px;
    display: inline-block;
    border-radius: 4px;
    line-height: 1.25rem;
    border: none;
    width: auto;
    margin: 0;
}
span.wpcf7-spinner {
    position: absolute;
}
.newsletter {
    font-size: .8rem;
    color: #fff;
}
.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
    position: absolute;
    top: -40px;
    left: 0;
}
.wpcf7-response-output {
    border-color: #ff0000 !important;
    font-size: .8rem;
    margin: 10px 0 !important;
    padding: 0 10px !important;
    color: #fff;
}

/* Featured Products */

.featured-products-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 2rem;
}
        
.product-card {
    background: #f5f5f5;
    border-radius: 8px;
    padding: 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.product-button img {
    width: 60px !important;
}
.product-button {
    display: flex;
    justify-content: space-around;
}        
.product-image {
    margin-bottom: 1rem;
}
        
.product-image img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}
        
.product-title {
    font-size: 1.4rem;
    margin: 0.5rem 0;
    color: #333;
}
        
.view-product-btn {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    margin-top: auto;
    background: #000;
    border-radius: 4px;
    text-decoration: none;
    color: #fff !important;
    font-weight: bold;
    transition: all 0.3s ease;
    line-height: 1rem;
    width: 70%;
    text-transform: uppercase;
}
        
        .view-product-btn:hover {
            background: #333;
            color: white;
        }
        
        /* Responsive adjustments */
        @media (max-width: 768px) {
            .featured-products-grid {
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
                gap: 1rem;
            }
            
            .product-title {
                font-size: 1.1rem;
            }
        }

/* Affiliated Brands */

.brands-container {
    display: flex;
    gap: 20px 60px;
    margin-top: 3rem;
    align-content: center;
}
.brands-container.distributor-page {
    flex-wrap: wrap;
}
.affiliated-brand img {
    width: auto;
    max-height: 45px;
}
.distributor-page .affiliated-brand img {
    height: 52px;
}
/* Carousel */

.holts-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, auto);
    gap: 25px;
}

.holts-image-one {
    grid-column: 1;
    grid-row: 1;
	height: 225px;
}

.holts-image-two {
    grid-column: 2;
    grid-row: 1;
	height: 225px;
}

.holts-image-three {
    grid-column: 3 / span 2;
    grid-row: 1 / span 2;
    width: 100%;
    height: 510px;
    border-radius: 15px;
}

.holts-content {
    grid-column: 1 / span 2;
    grid-row: 2;
    text-align: left;
}

.holts-btn {
    display: inline-block;
    padding: 10px 20px;
    background: red;
    color: white;
    text-decoration: none;
    border-radius: 5px;
}
.distributors-carousel-container .swiper-slide {
    width: auto !important;
}
.swiper-slide {
    width: 100% !important;
}
.holts-content h2 {
    margin-bottom: 1rem;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 1.2rem;
	color: #fff;
}
.swiper-button-prev {
    left: auto;
    right: 80px;
}
.swiper-button-prev, .swiper-button-next {
    width: 50px;
    height: 50px;
    background: #DB061F;
    border-radius: 50px;
    top: auto;
    bottom: 2rem;
}

/* Prod Variants */
table.product-variants {
    margin-top: 0;
}
table.product-variants td, table.product-variants th {
    padding: 10px 30px !important;
}
table.product-variants tr {
    border-bottom: 1px solid;
}

/* Our Range */

/* Product Categories Carousel Styles */
.products-tabs-container {
    display: flex;
    width: 100%;
}

.category-tabs {
    width: 25%;
    background-color: #1a1a1a;
    border-radius: 20px 0 0 20px;
    overflow: hidden;
}

.category-tab {
    padding: 15px 20px;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s;
}

.category-tab:hover, .category-tab.active {
    background-color: #DB061F;
}

.products-content {
    width: 75%;
    background: #f5f5f5;
    border-radius: 0 20px 20px 0;
}

.header-section {
    background-image: url('https://ptdevelopment.co/69680_HOLTS_Website_2025/wp-content/uploads/2025/03/range-header-bg@2x.png');
    position: relative;
    padding: 40px 20px;
    color: white;
    background-size: cover;
    background-position: center;
	border-radius: 0 20px 0 0;
}

.header-section h2 {
    color: #fff;
    font-size: 2.5rem !important;
    margin-bottom: 20px;
}


.product-carousel {
    padding: 20px;
}

.carousel-container {
    position: relative;
}

/* Updated slider CSS for proper display without gaps */
.products-slider {
    display: flex;
    overflow-x: hidden;
    scroll-behavior: smooth;
    /* Remove any existing gap properties */
    gap: 0;
    margin: 0;
    padding: 0;
}

.product-slide {
    flex: 0 0 calc(100% / 3); /* Adjust based on items_per_slide */
    padding: 15px;
    box-sizing: border-box;
    /* Make sure no transform is applied by default */
    transform: none;
}

.product-carousel .product-card {
    background-color: white;
}

.product-card img {
    max-width: 100%;
    height: auto;
    margin-bottom: 15px;
    /* For more consistent image sizes */
    object-fit: contain;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.product-title {
    font-weight: bold;
    margin-bottom: 15px;
}

.product-carousel .view-product-btn {
    background-color: #DB061F;
    width: 100%;
}

.carousel-nav {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.prev-btn, .next-btn {
    background-color: white;
    border: 1px solid #ddd;
    padding: 8px 15px;
    margin: 0 5px;
    cursor: pointer;
}

/* Hide all product carousels initially except the first one */
.product-carousel {
    display: none;
}

.product-carousel.active {
    display: block;
}

/* Caategory Page */

/* Category products shortcode styles */
.category-products-container {
    width: 100%;
    margin: 0 auto;
}

.category-header {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
    align-items: center;
    gap: 5%;
}

.category-image {
    flex: 0 0 50%;
    margin-right: 0;
}

.category-image img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
}

.category-info {
    flex: 1;
}

.category-title {
    font-size: 32px;
    margin-bottom: 15px;
}

.category-description {
    font-size: 16px;
    line-height: 1.6;
}

/* Product grid styles */
.featured-products-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
}

.featured-products-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.product-card {
    background-color: white;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    padding: 15px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.product-image {
    margin-bottom: 15px;
}

.product-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    object-fit: cover;
}

.product-title {
    font-size: 18px;
    margin-bottom: 15px;
    text-align: center;
    font-family: 'Roboto';
    font-weight: 500;
    line-height: 1.5rem;
    height: 58px;
}

.product-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.view-product-btn:hover {
    background-color: #cc0029;
}

.product-button img {
    max-height: 30px;
    width: auto;
    margin: 0;
}
img.cat-logo {
    width: 25%;
    margin: 0;
}

/* Contact Us Form */

select, textarea {
    margin: 1%;
    padding: 10px;
    width: 98%;
}


input.wpcf7-form-control.wpcf7-submit.has-spinner {
    margin: 0 1% 1% 1%;
    font-family: "roboto", sans-serif;
    font-weight: 900;
    font-size: .8rem;
    font-style: normal;
    color: #fff;
    background: #DB061F;
    padding: 8px 24px;
    display: inline-block;
    border-radius: 4px;
    line-height: 1.25rem;
    text-transform: uppercase;
    border: none;
	width: auto !important;
}
.wpcf7-list-item {
    display: inline-block;
    margin: 0 3px 2%;
    font-size: .8rem;
}
h2.wp-block-heading {
    font-size: 28px !important;
}
h1.entry-title {
    font-size: 32px !important;
    margin-top: 20px;
    line-height: 2rem;
}
#top-menu li li a {
    padding: 6px 0px;
    width: 200px;
    font-size: 14px;
}
.contact-details {
    display: flex;
    justify-content: space-around;
}
embed, iframe, object, video {
    max-width: 100%;
    width: 100%;
}


.contact-us-form {
    display: flex;
    flex-wrap: wrap;
}
.input-label {
    width: 48%;
    margin: 2% 1% 0;
}
.input-label.full {
    width: 98%;
}
.contact-us-form p {
    padding: 0;
}

.contact-us-form input.text, .contact-us-form input.title, .contact-us-form input[type=email], .contact-us-form input[type=password], .contact-us-form input[type=tel], .contact-us-form input[type=text] {
    width: 100%;
    padding: 10px;
}
.input-label p:nth-child(2) {
    padding-bottom: 0;
}

.what-we-do .et_pb_column {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px;
    align-items: center;
    max-width: 60%;
    margin: 0 20%;
    justify-items: center;
}
.what-we-do .et_pb_image {
    margin: 0;
}
.what-we-do .et_pb_image:nth-child(1) {
    grid-column: 1 / 3;
	grid-row: 1;
}
.what-we-do .et_pb_image:nth-child(2) {
    grid-column: 3 / 5;
	grid-row: 1;
}
.what-we-do .et_pb_image:nth-child(3) {
    grid-column: 5 / 7;
	grid-row: 1;
}
.what-we-do .et_pb_image:nth-child(4) {
    grid-column: 2 / 4;
	grid-row: 2;
}
.what-we-do .et_pb_image:nth-child(5) {
    grid-column: 4 / 6;
	grid-row: 2;
}
.what-we-do img {
    max-height: 50px;
    width: auto;
}
.wpsl-input label, #wpsl-radius label, #wpsl-category label {
    width: auto !important;
}
#wpsl-search-wrap .wpsl-input, #wpsl-search-wrap .wpsl-select-wrap, div#wpsl-radius, div#wpsl-results {
    display: flex !important;
    align-items: center;
}
#wpsl-result-list li p {
    padding-left: 0;
    margin: 0;
}
div#wpsl-stores a {
    color: #db061f;
}

/* Footer */

footer a {
	position:relative;
	line-height: 2rem;
}

a.tel-icon:before {
    content: "";
    display: block;
    width: 18px;
    height: 20px;
    background: url(https://ptdevelopment.co/69680_HOLTS_Website_2025/wp-content/uploads/2025/03/tel.svg);
    background-size: contain;
	margin-right: 8px;
	background-repeat: no-repeat;
	position: absolute;
    left: -27px;
    top: 3px;
}
a.email-icon:before {
    content: "";
    display: block;
    width: 18px;
    height: 20px;
    background: url(https://ptdevelopment.co/69680_HOLTS_Website_2025/wp-content/uploads/2025/03/email.svg);
    background-size: contain;
	margin-right: 8px;
	background-repeat: no-repeat;
	position: absolute;
    left: -27px;
    top: 3px;
}
a.location-icon:before {
    content: "";
    display: block;
    width: 18px;
    height: 20px;
    background: url(https://ptdevelopment.co/69680_HOLTS_Website_2025/wp-content/uploads/2025/03/location.svg);
    background-size: contain;
	margin-right: 8px;
	background-repeat: no-repeat;
	position: absolute;
    left: -27px;
    top: 3px;
}
.social-container {
    display: flex;
    gap: 10px;
}
.social-wrapper img {
    width: 38px;
}

/* Products Page */

.product-categories-list {
            display: flex;
            flex-direction: column;
            gap: 50px;
        }
.product-category-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5%;
}
        .category-content {
            flex: 1;
            padding-right: 20px;
        }
.category-image img {
    max-width: 100%;
    height: auto;
    width: 100%;
}
        .category-title {
            margin-bottom: 10px;
        }
        .category-description {
            color: #666;
        }
.product-category-item:nth-child(2n) .category-content {
    order: 2;
}

/* Distributors Carousel */
.distributors-carousel-container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
}

.distributors-swiper {
    width: 100%;
}

.distributors-swiper .affiliated-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    height: 100%;
}

.distributors-swiper .affiliated-brand img {
    max-width: 150px;
    max-height: 100px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.distributors-swiper .affiliated-brand img:hover {
    transform: scale(1.1);
}

.distributors-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto !important;
}

@media (max-width: 767px) {
    .distributors-swiper .affiliated-brand img {
        max-width: 120px;
    }
}

/* Responsive styles */
@media (max-width: 1024px) {
    .featured-products-grid.columns-4 {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
h2 {
    font-size: 2.4rem !important;
	line-height: 2.8rem;
}
    .category-header {
        flex-direction: column;
    }
    
    .category-image {
        margin-right: 0;
        margin-bottom: 20px;
        flex: 0 0 100%;
    }
    
    .featured-products-grid.columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }
	img.holts-image-one {
		display:none;
	}
	img.holts-image-two {
		display:none;
	}
.holts-image-three {
    grid-column: 1 / span 4;
    grid-row: 1;
    width: 100%;
    height: auto;
}
.holts-content {
    grid-column: 1 / span 4;
    grid-row: 2;
    text-align: left;
}
.swiper-button-prev, .swiper-button-next {
    width: 42px;
    height: 42px;
    bottom: 0px;
}
.flex-center {
    flex-wrap: wrap;
}
.w-70 {
    width: 100%;
}
.flex-center .et_pb_column:nth-child(1) {
    padding-bottom: 30px;
    margin: 0;
}
.news-home-container {
    display: block;
}
.news-wrapper {
    margin-bottom: 30px;
}
.featured-products-grid {
    display: block;
}
.product-card {
    margin-bottom: 1.2rem;
}
.products-tabs-container {
    display: block;
    width: 100%;
}
.category-tabs {
    width: 100%;
    border-radius: 20px 20px 20px 20px;
}
.products-content {
    width: 100%;
    border-radius: 20px 20px 20px 20px;
}
.header-section {
    border-radius: 20px 20px 0 0;
}
.category-info {
    order: 2;
}
.et_pb_section {
    padding: 0;
}
.product-slide {
    flex: 0 0 calc(100% / 1);
}
.brands-container {
    flex-direction: column;
    align-items: center;
}
.newsletter input {
    width: 100% !important;
    margin-right: 0;
}
.newsletter input.wpcf7-form-control.wpcf7-submit.has-spinner {
    margin: 20px 0 0;
}
.contact-details {
    display: block;
    justify-content: space-around;
}
footer .et_pb_row_0_tb_footer {
    width: 70% !important;
}
}

@media (max-width: 480px) {
    .featured-products-grid.columns-4 {
        grid-template-columns: repeat(1, 1fr);
    }
}
