 :root {
     /* Theme Colors */
     --primary-brown: #8B4513;
     /* SaddleBrown */
     --dark-brown: #5D4037;
     /* Dark Wood */
     --accent-blue: #ADD8E6;
     /* Light Blue standard */
     --soft-blue-bg: #F0F8FF;
     /* AliceBlue for backgrounds */
     --text-dark: #333;
     --white: #ffffff;
 }

 body {
     font-family: 'Rubik', sans-serif;
     color: var(--text-dark);
     background-color: #fff;
     overflow-x: hidden;
 }

 h1,
 h2,
 h3,
 h4,
 h5 {
     font-family: 'Merriweather', serif;
     /* Elegant serif for headings */
     color: var(--dark-brown);
 }

 /* Utility Classes */
 .text-brown {
     color: var(--primary-brown) !important;
 }

 .bg-soft-blue {
     background-color: var(--soft-blue-bg) !important;
 }

 .bg-brown {
     background-color: var(--dark-brown) !important;
     color: white;
 }

 .section-padding {
     padding: 90px 0;
 }

 /* Buttons */
 .btn-furniture {
     background-color: var(--primary-brown);
     color: white;
     padding: 12px 35px;
     border-radius: 4px;
     /* Slightly square for furniture look */
     font-weight: 500;
     border: 2px solid var(--primary-brown);
     transition: all 0.3s ease;
 }

 .btn-furniture:hover {
     background-color: var(--accent-blue);
     border-color: var(--accent-blue);
     color: var(--dark-brown);
 }

 .btn-outline-furniture {
     border: 2px solid var(--primary-brown);
     color: var(--primary-brown);
     padding: 10px 30px;
     border-radius: 4px;
     font-weight: 500;
     transition: 0.3s;
 }

 .btn-outline-furniture:hover {
     background-color: var(--primary-brown);
     color: white;
 }

 /* Navbar */
 .navbar {
     background-color: white;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
     padding: 20px 0;
 }

 .navbar-brand {
     font-family: 'Merriweather', serif;
     font-weight: 700;
     font-size: 1.8rem;
     color: var(--primary-brown) !important;
 }

 .nav-link {
     color: #555 !important;
     margin: 0 10px;
     font-weight: 500;
     position: relative;
 }

 .nav-link:hover {
     color: var(--primary-brown) !important;
 }

 .nav-link::after {
     content: '';
     display: block;
     width: 0;
     height: 2px;
     background: var(--accent-blue);
     transition: width .3s;
 }

 .nav-link:hover::after {
     width: 100%;
 }

 /* Hero Section */
 .hero-section {
     background-color: var(--soft-blue-bg);
     min-height: 85vh;
     display: flex;
     align-items: center;
     position: relative;
     overflow: hidden;
 }

 .hero-blob {
     position: absolute;
     top: -10%;
     right: -5%;
     width: 50%;
     height: 100%;
     background: var(--accent-blue);
     opacity: 0.2;
     border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
     z-index: 1;
 }

 .hero-img {
     border-radius: 20px 0 20px 0;
     box-shadow: 20px 20px 0px var(--primary-brown);
     position: relative;
     z-index: 2;
     width: 100%;
     object-fit: cover;
 }

 /* Features */
 .feature-card {
     border: 1px solid #eee;
     padding: 30px;
     text-align: center;
     transition: 0.3s;
     background: white;
 }

 .feature-card:hover {
     border-color: var(--accent-blue);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
 }

 .feature-icon {
     font-size: 2.5rem;
     color: var(--primary-brown);
     margin-bottom: 20px;
 }

 /* Product Cards */
 .product-card {
     border: none;
     transition: all 0.3s ease;
 }

 .product-card:hover {
     transform: translateY(-5px);
 }

 .product-img-wrapper {
     position: relative;
     overflow: hidden;
     border-radius: 10px;
     background-color: #f8f8f8;
     height: 300px;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .product-img-wrapper img {
     max-width: 100%;
     max-height: 100%;
     transition: transform 0.5s;
 }

 .product-card:hover img {
     transform: scale(1.1);
 }

 .product-overlay {
     position: absolute;
     bottom: -50px;
     left: 0;
     width: 100%;
     background: rgba(255, 255, 255, 0.9);
     padding: 10px;
     display: flex;
     justify-content: center;
     transition: 0.3s;
     opacity: 0;
 }

 .product-card:hover .product-overlay {
     bottom: 0;
     opacity: 1;
 }

 .price-text {
     color: var(--primary-brown);
     font-weight: 700;
     font-size: 1.2rem;
 }

 /* Promo Section */
 .promo-section {
     background-image: linear-gradient(rgba(93, 64, 55, 0.8), rgba(93, 64, 55, 0.8)), url('https://images.unsplash.com/photo-1618221195710-dd6b41faaea6?q=80&w=2000&auto=format&fit=crop');
     background-size: cover;
     background-position: center;
     color: white;
     text-align: center;
     background-attachment: fixed;
 }

 /* Gallery */
 .gallery-item {
     position: relative;
     overflow: hidden;
     margin-bottom: 30px;
     border-radius: 10px;
 }

 .gallery-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: 0.5s;
 }

 .gallery-item:hover img {
     transform: scale(1.1);
     filter: brightness(70%);
 }

 .gallery-caption {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     color: white;
     text-align: center;
     opacity: 0;
     transition: 0.3s;
 }

 .gallery-item:hover .gallery-caption {
     opacity: 1;
 }

 /* Contact Form */
 .contact-box {
     background: var(--soft-blue-bg);
     padding: 50px;
     border-radius: 10px;
 }

 .form-control {
     border: 1px solid #ddd;
     padding: 12px;
     border-radius: 0;
 }

 .form-control:focus {
     box-shadow: none;
     border-color: var(--primary-brown);
 }

 /* Footer */
 footer {
     background-color: #2c2c2c;
     color: #ddd;
     padding-top: 70px;
 }

 .footer-logo {
     font-family: 'Merriweather', serif;
     font-size: 1.5rem;
     color: var(--accent-blue);
 }

 .footer-links a {
     color: #bbb;
     text-decoration: none;
     display: block;
     margin-bottom: 10px;
     transition: 0.3s;
 }

 .footer-links a:hover {
     color: var(--accent-blue);
     padding-left: 5px;
 }

 /* Responsive */
 @media (max-width: 991px) {
     .hero-img {
         box-shadow: 10px 10px 0px var(--primary-brown);
         margin-top: 30px;
     }

     .hero-blob {
         display: none;
     }
 }