/*
 Theme Name: Indy Oil
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Indy Oil Website
 Author: David Snyman
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

.flex-center {
    display: flex;
    align-items: center;
}
.move-down-140 {
    margin-bottom: -140px;
}
.move-up-140 {
    margin-top: -140px;
}
.move-up-110 {
    margin-top: -110px;
}

/* Fonts */

@font-face {
	font-family: Futura-Bold-Oblique;
	src: url(https://www.indyoil.co.za/wp-content/themes/IndyOil/fonts/Futura-Bold-Oblique.otf);
}

h2.acf-slide-title {
font-family: Futura-Bold-Oblique; 
}
h2.orange {
    color: #f15922!important;
}
h1, h2, h3, h4 {
    font-family: "Oxanium", sans-serif;
    font-optical-sizing: auto;
    font-weight: 800;
    font-style: normal;
    letter-spacing: -0.02em;
}
h2 {
    font-size: 2.4rem !important;
    line-height: 3rem;
    padding-bottom: 0;
    text-transform: uppercase;
}

body, li, p, a {
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings: "wdth" 100;
    font-size: 16px;
}

span.small-centered {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 2px;
    margin-left: 20px;
    color: #ff5722;
}

/* Structure */
.et_pb_row, .container {
    width: 90% !important;
    max-width: 100% !important;
}
div#hero .et_pb_row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0;
}
#et-info {
    float: right;
}
div#top-header {
    background: linear-gradient(90deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) 50%, rgba(237, 221, 83, 0) 100%);
}

/* Header */
#top-header {
    z-index: 99999;
}
#main-header {
    z-index: 100000;
}
img#logo {
    position: relative;
    bottom: 15px;
}
/* Hero */
div#hero {
    margin-top: -2px;
}
.hero-title {
    position: absolute !important;
    top: 30%;
    width: 40% !important;
    right: 0;
}
.hero-title h1 {
    color: #f95b26 !important;
    text-align: left;
    width: 50%;
    font-size: 3rem;
    text-transform: uppercase;
}
/**
 * Product Display Styles
 */

.indy-product-display {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;
    align-items: center;
}

.indy-product-image {
    flex: 1;
    min-width: 300px;
}

.indy-product-image img {
    max-width: 100%;
    height: auto;
    display: block;
}

.indy-product-details {
    flex: 1;
    min-width: 300px;
}
span.indy-product-size {
    text-transform: uppercase;
}
.indy-product-category, h2.subheading {
    color: #666;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.9rem !important;
    margin-bottom: 0;
    font-family: 'Oxanium';
    font-weight: 700;
    border-bottom: 1px solid #F15922;
    display: inline-block;
    line-height: 2rem;
}
.indy-product-category {
    border: none;
    margin-bottom: 6px;
}
.indy-product-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0.5rem 0 1rem;
    line-height: 1.2;
    padding: 0;
}

.indy-product-meta {
    display: flex;
	flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1.5rem;
}

.indy-product-variant {
    display: inline-block;
    padding: 0.5rem 1rem;
    background-color: #f95b26;
    color: white;
    font-weight: 600;
    border-radius: 3px;
	width: calc(33.333% - 8px);
}

.indy-product-oil-type {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.indy-product-description {
    margin-bottom: 1.5rem;
    line-height: 1.6;
    color: #333;
}

.indy-product-downloads {
    display: flex;
    gap: .5rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.indy-download-btn {
    display: inline-block;
    padding: 0.5rem 1rem;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border-radius: 3px;
}

.indy-download-btn.safety-sheet {
    background-color: #f95b26;
    color: white;
}

.indy-download-btn.warranty-sheet {
    background-color: #000;
    color: white;
}

.indy-download-btn:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.indy-product-applications {
    margin-top: 2rem;
    cursor: pointer;
}

.indy-applications-title {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f95b26;
    margin-bottom: 1rem;
    color: #666;
}

.indy-applications-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.indy-applications-content.active {
    max-height: 500px;
}

/* Responsive styles */
@media (max-width: 768px) {
    .indy-product-display {
        flex-direction: column;
    }
    
    .indy-product-meta {
        flex-direction: column;
        gap: 0.5rem;
    }
    
    .indy-product-code, .indy-product-size {
        display: inline-block;
        width: fit-content;
    }
    
    .indy-product-downloads {
        flex-direction: column;
    }
    
    .indy-download-btn {
        text-align: center;
    }
}

/**
 * Related Products Styles
 */



.indy-related-title {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1rem;
    text-transform: uppercase;
}

.indy-related-description {
    max-width: 800px;
    margin: 0 auto 3rem;
    text-align: center;
    line-height: 1.6;
    color: #666;
}

.indy-related-products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1rem;
    max-width: 1200px;
    margin: 0 auto;
}

.indy-related-product-item {
    display: flex;
    flex-direction: column;
    background-color: white;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid #eee;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: 1.2rem;
}

.indy-related-product-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.indy-related-product-image {
    overflow: hidden;
}

.indy-related-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.5s ease;
}

.indy-related-product-item:hover .indy-related-product-image img {
    transform: scale(1.05);
}

.indy-related-product-title {
    font-size: 18px;
    margin: 1rem;
    text-align: center;
    flex-grow: 1;
    height: auto !important;
}
a.indy-view-product-btn {
    width: 100%;
    text-align: center;
}
.indy-view-product-btn:hover {
    background-color: #e04613;
}

/* Responsive styles */
@media (max-width: 768px) {
    .indy-related-products-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media (max-width: 480px) {
    .indy-related-products-grid {
        grid-template-columns: 1fr;
    }
}

/* Product Categories */

.product-categories-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin: 30px 0;
}
    
.category-card {
    position: relative;
    background: #000;
    overflow: hidden;
    height: 100%;
    transition: transform 0.3s ease;
	border-radius: 5px;
}
    
    .category-card:hover {
        transform: translateY(-5px);
    }
    
.category-image {
    width: 100%;
    object-fit: cover;
    position: relative;
    top: 0;
    left: 0;
}
    
    .category-overlay {
        position: relative;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(45deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.3) 100%);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 30px 25px;
        color: white;
    }
    
.category-title {
    font-size: 1.2rem;
    font-weight: bold;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: 1px;
    position: absolute;
    top: -53px;
    left: 0;
    width: 100%;
    padding: 15px 25px 12px;
    color: #fff !important;
    background: rgba(0,0,0,0.5);
}
    
    .category-description {
        line-height: 1.6;
        margin: 0 0 25px 0;
        opacity: 0.9;
    }
    
.category-button, .btn, .indy-view-product-btn {
    background: #ff5722;
    color: white !important;
    border: none;
    padding: 10px 24px;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
    transition: background 0.3s ease;
    align-self: flex-start;
    line-height: 1rem;
}
    
    .btn:hover {
        background: #000;
        color: white;
        text-decoration: none;
    }
.category-button:hover {
        background: #fff;
        color: #000 !important;
        text-decoration: none;
    }
    
    .category-link {
        text-decoration: none;
        color: inherit;
    }
    
    @media (max-width: 768px) {
        .product-categories-grid {
            grid-template-columns: 1fr;
        }
       
        
        .category-title {
            font-size: 24px;
			top: -58px;
        }
        
        .category-overlay {
            padding: 20px;
        }
		
    }

/* Accreditations */
.accreditations-list img {
    max-height: 80px;
    width: auto;
}
.accreditations-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4rem;
    flex-wrap: wrap;
}

/* Testimonial */

    .testimonials-carousel-wrapper {
        max-width: 800px;
        margin: 0 auto;
        padding: 20px;
        position: relative;
    }
    
    .testimonials-carousel {
        position: relative;
        overflow: hidden;
        min-height: 150px;
    }
    
    .testimonial-item {
        display: none;
        text-align: center;
        padding: 20px;
        opacity: 0;
        transition: opacity 0.5s ease-in-out;
    }
    
    .testimonial-item.active {
        display: block;
        opacity: 1;
    }
    
    .testimonial-item .quote {
        font-style: italic;
        font-size: 1.2em;
        margin-bottom: 15px;
        line-height: 1.6;
        color: #fff;
    }
    
    .testimonial-item .name {
        font-weight: bold;
        color: #fff;
        font-style: normal;
    }
    
.carousel-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 0;
}
    
    .carousel-btn {
        background: #fff;
        color: #333;
        border: none;
        border-radius: 50%;
        width: 32px;
        height: 32px;
        font-size: 18px;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }
    
.carousel-btn:hover {
    background: rgba(255,255,255,0.5);
}
    
    .carousel-dots {
        display: flex;
        gap: 10px;
    }
    
    .carousel-dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        border: none;
        background: #ccc;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }
    
.carousel-dot.active {
    background: #fff;
}
    .carousel-dot:hover {
        background: #666;
    }
blockquote.quote {
    border: none;
    padding: 0;
    margin: 0;
}
.testimonial-item {
    padding-top: 0;
}
.testimonials-carousel-wrapper {
    padding-top: 0;
}

/* Footer */

.et_pb_row.et_pb_row_1_tb_footer {
    font-size: 14px;
    line-height: 14px;
}
.et_pb_column.et_pb_column_1_4.et_pb_column_2_tb_footer.et_pb_css_mix_blend_mode_passthrough {
    margin-left: -7%;
    margin-right: 10%;
}
.et_pb_text_3_tb_footer p {
    margin-left: 40px;
}
a.address:before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 40px;
    background: url(https://www.indyoil.co.za/wp-content/uploads/2025/05/address.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
}
a.email:before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 40px;
    background: url(https://www.indyoil.co.za/wp-content/uploads/2025/05/email.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    margin-top: 4px;
}
a.phone:before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 40px;
    background: url(https://www.indyoil.co.za/wp-content/uploads/2025/05/phone.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
}

/* Product Categories */
.category-header {
    text-align: center;
}
ul.sub-categories {
    display: flex;
    list-style: none;
    gap: 1rem;
    justify-content: center;
    padding: 0 !important;
    flex-wrap: wrap;
}
ul.sub-categories li {
    width: 18%;
    position: relative;
    overflow: hidden;
}
ul.sub-categories li:hover img {
    scale: 1.2;
    transition: .3s;
}
/* Product List */
h2.product-category-title {
    text-align: center;
    margin-bottom: 3rem;
}
.product-list-container {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 16px;
            margin-bottom: 40px;
        }
        
.product-card {
    border: 1px solid #eee;
    border-radius: 5px;
    padding: 15px;
    transition: box-shadow 0.3s ease;
    background: #fff;
}
        
        .product-card:hover {
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        }
        
        .product-image {
            margin-bottom: 15px;
            text-align: center;
        }
        
        .product-thumbnail {
            width: 100%;
            height: auto;
            object-fit: cover;
            aspect-ratio: 1/1;
            border-radius: 3px;
        }
        
.product-title {
    font-size: 18px;
    margin-bottom: 8px;
    line-height: 1.3;
    text-align: center;
    height: 57px;
}
        
        .product-title a {
            color: #333;
            text-decoration: none;
        }
        
        .product-title a:hover {
            color: #666;
        }
        
        .product-actions {
            text-align: center;
        }
        
.product-actions .btn {
    width: 100%;
}
        
        .product-pagination {
            margin-top: 30px;
            text-align: center;
        }
        
        .product-pagination .page-numbers {
            padding: 5px 10px;
            margin: 0 5px;
            border: 1px solid #ddd;
            text-decoration: none;
        }
        
        .product-pagination .page-numbers.current {
            background-color: #ff5918;
            color: white;
            border-color: #ff5918;
        }
        
        .no-products {
            text-align: center;
            padding: 30px;
            font-style: italic;
            color: #666;
        }
        
        /* Responsive styles */
        @media (max-width: 768px) {
            .product-list-container {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        
        @media (max-width: 480px) {
            .product-list-container {
                grid-template-columns: 1fr;
            }
        }
.indy-product-image {
    border: 2px solid #f2f2f2;
}

.et_pb_section.et_pb_section_1_tb_footer.et_pb_with_background.et_section_regular {
    padding: 0 !important;
}

/* Image Subcategories */

.sub-categories .category-image {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    transition: .3s;
}

.sub-categories a {
    text-decoration: none;
    display: block;
}

.sub-categories .category-name {
    display: block;
    text-align: center;
}
span.category-name {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    background: rgba(0,0,0,.5);
    padding: 10px;
    color: #fff;
    font-family: 'Oxanium';
    font-weight: 600;
}

.company-logos-container {
        text-align: center;
        margin: 20px 0;
    }
    
    .main-logo {
        margin-bottom: 30px;
    }
    
    .main-logo img {
        max-width: 300px;
        height: auto;
        display: inline-block;
    }
    
    .company-logos {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
        align-items: center;
    }
    
    .company-item {
        flex: 0 0 auto;
    }
    
  .company-item img {
    max-width: 250px;
    max-height: 50px;
    height: auto;
    width: auto;
    transition: opacity 0.3s ease;
}
   .company-item:nth-child(4) img {
    padding: 5px;
    margin-top: -10px;
} 
    .company-item a:hover img {
        opacity: 0.8;
    }
    
    /* Responsive design */
    @media (max-width: 768px) {
        .company-logos {
            gap: 15px;
        }
        
        .company-item img {
            max-width: 100px;
            max-height: 60px;
        }
        
        .main-logo img {
            max-width: 220px;
        }
    }

input, input.text, input.title, input[type=text], select, textarea {
    margin: 0;
    padding: 6px 10px !important;
    width: 100%;
    margin-bottom: 9px;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner {
    color: #fff;
    width: auto;
    padding: 7px 50px !important;
    border: none;
    background: #000;
    text-transform: uppercase;
}

/* Blog */

.et_pb_blog_grid .et_pb_post {
    border: none;
    padding: 0;
}
.et_pb_blog_grid .et_pb_image_container {
    margin: 0;
}
h2.entry-title {
    text-transform: capitalize;
    font-size: 1.5rem !important;
    line-height: 1.2;
    margin-bottom: 1rem;
}
a.more-link {
    background: #fa4616;
    color: #fff;
    padding: 10px 20px;
    display: inline-block !important;
    margin-top: 2rem;
    text-transform: capitalize;
    font-size: 1rem;
    line-height: 1rem;
}
.et_pb_title_container {
    margin-bottom: 1rem;
}
.et_pb_module.et_pb_sidebar_0_tb_body.et_pb_widget_area.clearfix.et_pb_widget_area_left.et_pb_bg_layout_light {
    padding: 30px;
    background: #f2f2f2;
    border: none;
}
h2.wp-block-heading {
    font-size: 1.2rem !important;
}

/* Product Gallery */
.gallery-main-image {
    border: 1px solid #f2f2f2;
}
.gallery-thumbnails {
    display: flex;
}
.gallery-thumbnail {
    width: 20%;
    border: 1px solid #f2f2f2;
    cursor: pointer;
}

/* Sub Categoryh Styles */

.subcategory-item:nth-child(even) .subcategory-row {
    flex-flow: row-reverse;
}
.product-subcategories-container {
        margin: 20px 0;
    }
    
.subcategory-item {
    margin-bottom: 30px;
    background-color: #fff;
}
    
.subcategory-row {
    display: flex;
    align-items: center;
    gap: 70px;
    justify-content: center;
    width: 90%;
    margin: 0 auto;
}
    
.subcategory-content {
    flex: 1;
    text-align: left;
}
    
    .subcategory-title {
        margin: 0 0 32px 0;
    }
    
    .subcategory-description {
        margin-bottom: 32px;
        line-height: 1.6;
        color: #666;
    }
    
.subcategory-image {
    flex: 1;
}
    
    .category-image {
        height: auto;
        border-radius: 4px;
    }
    
    /* Responsive design */
    @media (max-width: 768px) {
        .subcategory-row {
    flex-direction: column !important;
}
        
        .subcategory-image {
            width: 100%;
        }
    }

.acf-slide-video video {
    object-fit: cover !important;
    width: 100%;
    margin: 0;
}
input.et_pb_searchsubmit {
    width: auto;
}

/* Responsive Columns */

@media all and (max-width: 980px) {
/*** wrap row in a flex box ***/
.custom_row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
-webkit-flex-wrap: wrap; /* Safari 6.1+ */
flex-wrap: wrap;
}
 
/*** custom classes that will designate the order of columns in the flex box row ***/
.first-on-mobile {
-webkit-order: 1;
order: 1;
}
 
.second-on-mobile {
-webkit-order: 2;
order: 2;
}
 
.third-on-mobile {
-webkit-order: 3;
order: 3;
}
 
.fourth-on-mobile {
-webkit-order: 4;
order: 4;
}
/*** add margin to last column ***/
.custom_row:last-child .et_pb_column:last-child {
margin-bottom: 30px;
}
 
}

/* Mobile */
@media (max-width: 768px) {
h2 {
    font-size: 2rem !important;
    line-height: 2.3rem;
    padding-bottom: 0;
    text-transform: uppercase;
}
.et_pb_column.et_pb_column_1_4.et_pb_column_2_tb_footer.et_pb_css_mix_blend_mode_passthrough {
    margin-left: 0;
}
.flex-center {
    flex-wrap: wrap;
}
.subcategory-row {
    gap: 30px;
}
.subcategory-item {
    margin-bottom: 60px;
}
.subcategory-item:last-child {
    margin-bottom: 0;
}
ul.sub-categories li {
    width: 100%;
}
 }