/* Custom Font Declarations */
@font-face {
    font-family: 'Gara';
    src: url('GARA.TTF') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gara';
    src: url('GARABD.TTF') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* Apply Gara font to all elements except Font Awesome icons */
*:not([class*="fa-"]):not([class*="fab"]):not([class*="fas"]):not([class*="far"]):not([class*="fal"]) {
    font-family: 'Gara' !important;
}

/* Ensure Font Awesome icons use their correct font */
[class*="fa-"], [class*="fab"], [class*="fas"], [class*="far"], [class*="fal"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}
/* Main styles */
body {
    background-color: #f4f4f4;
    font-family: 'Gara';
    overflow-x: hidden;
}

/* Navbar styles */
.navbar {
    background-color: white;
    padding: 10px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.navbar-brand {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 5px;
}

.navbar-brand img {
    height: 50px !important;
    width: 90px !important;
}

.navbar-subtitle {
    font-size: 14px;
    display: block;
    letter-spacing: 1px;
}

/* Banner styles */
.banner {
    position: relative;
    height: 450px;
    color: #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.banner-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    z-index: -1;
}

.banner-content {
    position: absolute;
    z-index: 1;
    /* background: rgb(0, 0, 0, 0.5); */
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding: 20px;

}

.banner h1 {
    font-size: 27px;
    margin-bottom: 20px;
    max-width: 800px;
}

.banner p {
    font-size: 17px;
    max-width: 800px;
    /* margin-bottom: 160px; */
}

.banner h2 {
    font-size: 23px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 800px;
    padding: 0 20px;
    box-sizing: border-box;
    color: #000; 
    text-shadow: 0 1px 3px rgba(0,0,0,0.5); 
    z-index: 2; 
    display: flex;
    justify-content: space-around;
    /* bottom: -10px; */
}

/* Product list styles */
.product-section {
    padding: 60px 0;
}

.product-item {
    text-align: center;
    margin-bottom: 80px;
}

.product-image {
    max-width: 300px;
    margin-bottom: 20px;
}

.product-title {
    font-size: 20px;
    margin-bottom: 5px;
}

.product-category {
    font-size: 16px;
    margin-bottom: 20px;
    color: #555;
}

.btn-details {
    background-color: #222;
    color: white;
    padding: 10px 30px;
    border: none;
    border-radius: 0;
}

.btn-details:hover {
    background-color: #444;
    color: white;
}

/* Introduction Section Styles */
.intro-section {
    padding: 80px 0;
    background-color: #fff;
}

.section-title {
    font-size: 28px;
    margin-bottom: 20px;
    position: relative;
}

.section-description {
    font-size: 16px;
    color: #555;
    margin-bottom: 40px;
    line-height: 1.6;
}

.features-row {
    margin-top: 60px;
}
 .intro-card {
    background-color: #f4f4f4;
    padding: 30px 20px;
    border-radius: 10%;
    height: 100%;
}


.feature-icon-container {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #222;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
}

.feature-icon-container i {
    font-size: 24px;
}

.feature-title {
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: 600;
}

.feature-description {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    max-width: 250px;
    margin: 0 auto;
}

/* Features Section Styles */
.features-section {
    padding: 80px 0;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.feature-card {
    background-color: #f4f4f4;
    padding: 30px 20px;
    border-radius: 10%;
    height: 100%;
    margin-bottom: 30px;
}

/* Contact Section Styles */
.contact-section {
    position: relative;
    height: 300px;
    margin-bottom: 0;
    z-index: 0;
}

.footer-image {
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.contact-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* background: rgb(0, 0, 0, 0.5); */
}

.contact-overlay h2 {
    color: #000;
    font-size: 30px;
    letter-spacing: 2px;
}

/* Footer Styles */
.footer-section {
    background-color: #f4f4f4;
    color: #111;
    padding: 40px 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

.footer-logo img {
    height: 50px !important;
    width: 90px !important;
    cursor: pointer;
}

.footer-logo h2 {
    font-size: 24px;
    letter-spacing: 5px;
    margin-bottom: 0;
    color: #111;
}

.footer-logo p {
    font-size: 14px;
    letter-spacing: 1px;
    color: #111;
}

.footer-contact {
    margin-top: 20px;
    color: #111;
}

.footer-contact a {
    color: inherit; /* Preserves the original text color */
    text-decoration: none; /* Removes the underline */
    cursor: pointer; /* Shows a hand cursor on hover */
}

.footer-contact a:hover {
    opacity: 0.8; /* Subtle hover effect */
}

.footer-contact a p {
    margin-bottom: 8px;
    font-size: 14px;
}

.footer-contact a i {
    margin-right: 8px; /* Maintains spacing between icon and text */
}

/* Responsive adjustments for banner */
@media (max-width: 768px) {
    .banner {
        height: 300px; /* Reduced height for mobile to show complete image */
    }
    
    .banner h1 {
        font-size: 18px; /* Reduced for single line */
        line-height: 1.2;
        margin-bottom: 15px;
    }

    .banner p {
        font-size: 14px; /* Reduced for max 2 lines */
        line-height: 1.3;
        margin-bottom: 125px;
        max-width: 90%;
    }

    .banner h2 {
        font-size: 16px; /* Reduced for single line */
        line-height: 1.2;
        max-width: 90%;
    }
}

@media (max-width: 480px) {
    .banner {
        height: 250px; /* Further reduced for small screens */
    }
    .banner-image {
        object-fit: fill;
        height: 250px;
        width: 100%;
    }
    .banner-content {
        justify-content: flex-start;
    }
    
    .banner h1 {
        font-size: 13px;
    }

    .banner p {
        font-size: 13px;
    }

    .banner h2 {
        font-size: 13px;
        /* bottom: -10px; */
        

    }
}

/* Responsive fix for feature cards on mobile */
@media (max-width: 767px) {
    .features-section .col-md-4 {
        margin-bottom: 30px;
    }
    
    .features-section .feature-card {
        margin-bottom: 0;
    }
    .featured-second-row {
        margin-top: .4rem !important;
    }
}

/* Product Detail Page Styles */
.product-detail-section {
    padding: 60px 0;
    background-color: #f4f4f4;
}

.product-image-container {
    text-align: center;
    margin-bottom: 30px;
}

.product-detail-image {
    max-width: 100%;
    height: 400px;  /* Fixed height for consistent sizing */
    width: 100%;    /* Full width */
    object-fit: contain;  /* Maintain aspect ratio while fitting within bounds */

}

.product-details {
    padding: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.product-detail-title {
    font-size: 36px;
    margin-bottom: 15px;
    font-weight: 600;
}

.product-quote-btn {
    margin-bottom: 15px;
}

.product-quote-btn .btn {
    padding: 10px 20px;
    width: 100%;
    border-radius: 0;
}

.product-divider {
    margin: 20px 0;
    border-top: 1px solid #ccc;
}

/* Carousel Dots Styles */
.carousel-dots {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.carousel-dots button {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    border: none !important;
    background-color: #ccc !important;
    opacity: 1 !important;
    margin: 0 !important;
    text-indent: 0 !important;
    transition: background-color 0.3s ease;
}

.carousel-dots button.active {
    background-color: #333 !important;
}

.carousel-dots button:hover {
    background-color: #666 !important;
}

/* Product Tabs Styles */
.product-nav {
    border: none;
    margin-bottom: 15px;
}

.product-nav .nav-link {
    border: none;
    padding: 8px 0;
    margin-right: 30px;
    color: #666;
    font-weight: 500;
    position: relative;
    background-color: transparent;
    font-size: 14px;
}

.product-nav .nav-link.active {
    color: #000;
    font-weight: 600;
    background-color: transparent;
}

.product-nav .nav-link.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
}

/* Specifications Table Styles */
.specs-table {
    margin-top: 15px;
    font-size: 14px;
}

.spec-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #ccc;
}

.spec-name {
    color: #333;
    font-weight: 400;
}

.spec-value {
    color: #000;
    font-weight: 500;
    text-align: right;
}

/* Finishes Tab Styles */
.finishes-content {
    padding: 20px 0;
}

.finishes-grid {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.finish-item {
    text-align: center;
    flex: 0 0 auto;
}

.finish-image-container {
    width: 80px;
    height: 80px;
    overflow: hidden;
    margin: 0 auto 12px;
    transition: transform 0.3s ease;
    /* background-color: black !important; */
    padding: 2px;
}

.finish-image-container:hover {
    transform: translateY(-2px);
}

.finish-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.finish-name {
    font-size: 14px;
    font-weight: 500;
    color: #333;
    margin: 0;
    letter-spacing: 0.5px;
}

.finishes-quote {
    background-color: #d9d9d9;
    /* border-left: 4px solid #007bff; */
    padding: 20px 25px;
    border-radius: 8px;
    margin-left: 20px;
    width: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.quote-text {
    font-size: 12px;
    line-height: 1.4;
    color: #333;
    font-style: italic;
    margin: 0;
    text-align: center;
    display: -webkit-box;
    /* -webkit-line-clamp: 2; */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Accessories styling */
.accessories-text {
    /* font-style: italic; */
    /* color: #666; */
    line-height: 1.5;
    margin-left: 20% !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .finishes-grid {
        justify-content: center;
        gap: 20px;
        margin-bottom: 30px;
    }
    
    .finishes-quote {
        margin-left: 0;
        margin-top: 20px;
    }
    
    .finish-image-container {
        width: 70px;
        height: 70px;
    }

    .product-detail-image {
        height: 300px;  /* Smaller height on mobile */
    }
}

@media (max-width: 576px) {
    .finishes-grid {
        gap: 15px;
    }
    
    .finish-image-container {
        width: 60px;
        height: 60px;
    }
    
    .finish-name {
        font-size: 12px;
    }
    
    .finishes-quote {
        padding: 15px 20px;
    }
    
    .quote-text {
        font-size: 13px;
    }

    .product-detail-image {
        height: 250px;  /* Even smaller height on small mobile */
    }
}

/* Additional Bootstrap compatibility */
.finishes-content .row {
    margin: 0;
}

.finishes-content .col-lg-8,
.finishes-content .col-lg-4,
.finishes-content .col-md-7,
.finishes-content .col-md-5 {
    padding-left: 15px;
    padding-right: 15px;
}