:root {
  --theme-bg: #fffefb;
  --theme-top: #faf8f3;
  --theme-nav: #f4efe0;
  --theme-gold: #c2a33e;

  --font-primary: "Unna", serif;
  --font-secondary: "Nova Slim", system-ui;
  --transition: all 0.3s ease;

  /* ===== Brand Core Colors ===== */
  --theme-maroon: #800000;
  /* Deep luxurious maroon */
  --theme-darkgold: #b8860b;
  /* Antique gold accent */
  --theme-gold: #f7d98b;
  /* Soft highlight gold */
  --theme-cream: #faf6ef;
  /* Background contrast */
  --theme-text: #7a6423;
  /* Primary text color */
  --theme-light-text: #e8d8c4;
  /* Muted text for footer */
  --theme-white: #ffffff;

  /* ===== Shadows & Borders ===== */
  --shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  --shadow-heavy: 0 4px 20px rgba(0, 0, 0, 0.15);
  --border-gold: 1px solid rgba(247, 217, 139, 0.5);
  --theme-maroon: #800000;
}


body {

  background-color: #fff8f0;
  color: var(--theme-maroon);
}


.theme-btn-outline-danger {
  --bs-btn-color: var(--theme-maroon);
  --bs-btn-border-color: var(--theme-maroon);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--theme-maroon);
  --bs-btn-hover-border-color: var(--theme-maroon);
  --bs-btn-focus-shadow-rgb: 220, 53, 69;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--theme-maroon);
  --bs-btn-active-border-color: var(--theme-maroon);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: var(--theme-maroon);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--theme-maroon);
  --bs-gradient: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--theme-maroon);
  font-family: var(--font-primary);
}


p, a, span, button {
  font-family: var(--font-secondary);
}

.py-5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

/* ---------- Global ---------- */
body {
  background: var(--theme-bg);

  margin: 0;
  background-color: #fff8f0;
  color: var(--theme-maroon);



}

a {
  text-decoration: none;
}

/* ---------- Top Bar ---------- */
.topbar {
  background: var(--theme-top);
  border-bottom: 1px solid var(--theme-maroon);
}

.navbar-brand img {
  height: 80px;
  width: auto;
}

.nav-icons i {
  color: var(--theme-maroon);
  font-size: 1.2rem;
  cursor: pointer;
  transition: var(--transition);
}

.nav-icons i:hover {
  color: var(--theme-maroon);
}

/* ---------- Desktop Menu ---------- */
.main-nav {
  background: var(--theme-nav);
  border-bottom: 1px solid var(--theme-maroon);
}

.navbar-nav .nav-link {
  color: var(--theme-maroon);
  font-weight: 500;
  margin: 0 1rem;
  transition: var(--transition);
  padding: 0.8rem 0;
  font-family: var(--font-secondary);
  font-size: 1.2rem;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: var(--theme-darkgold);
}

/* Dropdown arrow right side */
.dropdown-icon {
  font-size: 0.6rem;
  color: var(--theme-maroon);
  transition: transform 0.3s ease;
}

.mega-dropdown:hover .dropdown-icon {
  transform: rotate(180deg);
}

/* ================================
   Mega Menu (Centered + Responsive)
================================ */
.mega-dropdown {
  position: relative;
  z-index: 200;
}

/* Container for dropdown */
.mega-dropdown .mega-menu {
  position: absolute;
  top: 100%;
  /* left: 50%; */
  transform: translateX(-50%) translateY(15px);
  background: #fff;
  border-top: 2px solid var(--theme-maroon);
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  padding: 1.8rem 2rem;
  width: 900px;
  max-width: 95vw;
  /* makes it responsive */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
}

/* Show on hover */
.mega-dropdown:hover>.mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Keep nav height fixed */
.navbar-nav {
  align-items: center;
}

/* Layout inside */
.mega-menu .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}

/* Columns */
.mega-menu .col-md-3 {
  flex: 1;
  min-width: 160px;
}

/* Category headers */
.mega-menu h6 {
  font-weight: 600;
  color: var(--theme-maroon);
  margin-bottom: 0.75rem;
  border-bottom: 1px solid #f3e8c9;
  padding-bottom: 0.25rem;
  text-align: left;
  font-size: 1.3rem;
}

/* Links */
.mega-menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.mega-menu a {
  color: var(--theme-dark);
  text-decoration: none;
  display: block;
  padding: 4px 0;
  font-size: 0.95rem;
  transition: color 0.25s ease, padding-left 0.25s ease;
}

.mega-menu a:hover {
  color: var(--theme-gold);
  padding-left: 6px;
}

/* Image styling */
.mega-menu img {
  border-radius: 6px;
  border: 1px solid #eee;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 100%;
  height: auto;
}

.mega-menu img:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

/* Fix for Bootstrap default hidden dropdowns */
.dropdown-menu.mega-menu {
  display: block !important;
}

/* Prevent clipping */
.navbar,
.container {
  overflow: visible !important;
}

/* ---------- Responsive Adjustments ---------- */
@media (max-width: 991px) {
  .mega-menu {
    position: static;
    transform: none;
    width: 100%;
    max-width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 1rem;
  }

  .mega-menu .row {
    flex-direction: column;
    gap: 1rem;
  }

  .mega-menu .col-md-3 {
    min-width: 100%;
  }

  .mega-menu img {
    max-width: 100%;
  }
}

/* ---------- Mobile Offcanvas ---------- */
.offcanvas {
  background: linear-gradient(180deg, #f6f0d5 0%, #f4ecd2 100%);
}

.offcanvas-header {
  background: var(--theme-top);
  color: var(--theme-darkgold);
  border-bottom: 1px solid var(--theme-gold);
}

.offcanvas-title {
  font-weight: 600;
  color: var(--theme-gold);
}

.mobile-menu li {
  margin-bottom: 0.75rem;
}

.mobile-menu a {
  color: var(--theme-darkgold);
  font-weight: 500;
  display: block;
  transition: var(--transition);
}

.mobile-menu a:hover {
  color: var(--theme-gold);
  padding-left: 4px;
}

/* Submenu in sidebar */
.submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.submenu.open {
  max-height: 500px;
}

.submenu-toggle i {
  font-size: 0.7rem;
  transition: transform 0.3s ease;
}

.submenu-toggle i.rotate {
  transform: rotate(180deg);
}

/* --------------------------------------------------------- */
/* =============================
   Hero Slider Banner
============================= */
#heroSlider {
  position: relative;
  width: 100%;
  overflow: hidden;
}

#heroSlider .carousel-item img {
  height: 90vh;
  object-fit: cover;
  filter: brightness(75%);
}

/* Overlay text styling */
#heroSlider .carousel-caption {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  /* background: rgba(0, 0, 0, 0.25); */
  color: #fff;
  padding: 0 1rem;
}

#heroSlider .slide-title {
  font-size: 3rem;
  font-weight: 700;
  color: var(--theme-gold);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  margin-bottom: 1rem;
}

#heroSlider .slide-text {
  font-size: 1.2rem;
  font-weight: 400;
  max-width: 600px;
  color: #fff;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
  margin-bottom: 1.5rem;
}

/* Button Style */
.btn-gold {
  background: var(--theme-gold);
  color: var(--theme-maroon);
  padding: 0.75rem 2rem;
  border-radius: 50px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(184, 157, 79, 0.3);
}

.btn-gold:hover {
  background: #a98d3f;
  color: #fff;
  box-shadow: 0 6px 18px rgba(184, 157, 79, 0.4);
}

/* Carousel controls (gold icons) */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: rgba(184, 157, 79, 0.85);
  border-radius: 50%;
  width: 45px;
  height: 45px;
  background-size: 60%;
}

.carousel-control-prev,
.carousel-control-next {
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  opacity: 1;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  #heroSlider .carousel-item img {
    height: 65vh;
  }

  #heroSlider .slide-title {
    font-size: 2rem;
  }

  #heroSlider .slide-text {
    font-size: 1rem;
  }

  .btn-gold {
    padding: 0.6rem 1.6rem;
  }
}

/* =============================
   Focus Section (Luxury Version)
============================= */

.focus-title {
  font-weight: 600;
  color: var(--theme-maroon);
  font-size: 2rem;
  margin-bottom: 1rem;
}

.focus-desc {
  color: var(--theme-darkgold);
  font-size: 1.05rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.focus-btn {
  text-transform: uppercase;
  font-weight: 600;
  border-radius: 0;
  padding: 0.75rem 1.5rem;
  letter-spacing: 0.5px;
  background-color: var(--theme-gold);
}

/* ------- Carousel Header ------- */
.focus-carousel-header {
  position: relative;
}

.focus-subtitle {
  font-weight: 600;
  color: var(--theme-maroon);
  font-size: 1.1rem;
}

.focus-arrows {
  display: flex;
  align-items: center;
  gap: 10px;
}

.custom-prev,
.custom-next {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--theme-darkgold);
  color: var(--theme-darkgold);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 0.9rem;
}

.custom-prev:hover,
.custom-next:hover {
  background-color: var(--theme-darkgold);
  color: #fff;
}

/* ------- Swiper Styling ------- */
.focusSwiper {
  width: 100%;
}

.focusSwiper .swiper-slide img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 8px;
  transition: transform 0.4s ease;
}

.focusSwiper .swiper-slide:hover img {
  transform: scale(1.03);
}

.slide-caption {
  margin-top: 0.75rem;
  font-weight: 500;
  font-size: 1rem;
  color: #222;
}

/* Hide default Swiper arrows */
.swiper-button-next,
.swiper-button-prev {
  display: none !important;
}

/* Responsive */
@media (max-width: 768px) {
  .focus-title {
    text-align: center;
    font-size: 1.6rem;
  }

  .focus-desc {
    text-align: center;
  }

  .focus-btn {
    display: block;
    margin: 0 auto;
  }

  .focusSwiper .swiper-slide img {
    height: 240px;
  }

  .focus-carousel-header {
    justify-content: center;
  }
}

/* -------------------------------- */
/* =============================
   Shop by Categories
============================= */
.categories-section {
  background: var(--theme-cream);
}

.categories-title {
  font-weight: 600;
  color: var(--theme-maroon);
  font-size: 1.9rem;
}

.categories-subtitle {
  color: var(--theme-darkgold) !important;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.5px;
}

/* Category Cards */
.category-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.category-card img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.category-card h6 {
  margin: 12px 0;
  font-weight: 600;
  color: #222;
  letter-spacing: 0.5px;
  font-size: 0.95rem;
}

.category-card:hover img {
  transform: scale(1.05);
}

.category-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}

/* View All Card */
.view-all {
  background: #faf6ef;
  border: 1px solid var(--theme-darkgold);
  border-radius: 8px;
  height: 100%;
  text-align: center;
  transition: all 0.3s ease;
}

.view-all h2 {
  font-weight: 700;
  color: var(--theme-darkgold);
}

.view-all p {
  color: #555;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.view-all .view-link {
  font-weight: 600;
  color: var(--theme-darkgold);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: color 0.3s ease;
}

.view-all:hover {
  background: var(--theme-darkgold);
}

.view-all:hover h2,
.view-all:hover p,
.view-all:hover .view-link {
  color: #fff;
}

/* Responsive */
@media (max-width: 768px) {
  .category-card img {
    height: 160px;
  }

  .categories-title {
    font-size: 1.6rem;
  }
}

/* =============================
   Elegant Open-Book Footer
============================= */
.footer-section {
  background: radial-gradient(circle at top center,
      var(--theme-gold) 0%,
      #320805 80%);
  color: #fff;
  border-top-left-radius: 50px 50px;
  border-top-right-radius: 50px 50px;
  padding: 10rem 0 1rem;
  position: relative;
  overflow: hidden;
}

/* Soft shine at top curve */
.footer-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: 12px;
  background: linear-gradient(90deg,
      transparent,
      rgba(255, 255, 255, 0.3),
      transparent);
  border-radius: 100%;
  opacity: 0.25;
}

.footer-logo {
  width: 150px;
  /* Default size */
  max-width: 100%;
  /* Responsive */
  height: auto;
  /* Keep proportions */
  border-radius: 12px;
  /* Smooth corners */
  object-fit: contain;
  /* No cropping */
  display: block;
  margin-left: 0 auto;
  /* Center logo */
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.footer-logo:hover {
  transform: scale(1.05);
  /* Soft zoom on hover */
  opacity: 0.95;
}

/* For larger screens */
@media (min-width: 992px) {
  .footer-logo {
    width: 180px;
  }
}

/* For small mobile screens */
@media (max-width: 480px) {
  .footer-logo {
    width: 120px;
  }
}

.footer-heading {
  font-weight: 600;
  color: #fff;
  margin-bottom: 1rem;
  font-size: 1.1rem;
}

/* Social Icons */
.footer-social a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 1rem;
  margin-right: 10px;
  transition: all 0.3s ease;
}

.footer-social a:hover {
  background: var(--theme-maroon);
  color: #fff;
  transform: translateY(-3px);
}

/* Payment Icons */
.footer-payments {
  margin-top: 15px;
  gap: 12px;
}

.footer-payments img {
  height: 28px;
  opacity: 0.85;
  transition: opacity 0.3s ease, transform 0.3s ease;
  /* filter: brightness(0) invert(1); */
}

.footer-payments img:hover {
  opacity: 1;
  transform: scale(1.08);
}

/* Footer Links */
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 0.5rem;
}

.footer-links a {
  color: #fff;
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.3s ease;
}

.footer-links a:hover {
  color: var(--theme-maroon);
}

/* Divider & Bottom */
.footer-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.footer-policy-links a {
  color: #fff;
  margin: 0 10px;
  font-size: 0.9rem;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-policy-links a:hover {
  color: var(--theme-maroon);
}

.text-center p {
  color: var(--theme-darkgold);
}

/* Responsive */
@media (max-width: 768px) {
  .footer-section {
    text-align: center;
    border-top-left-radius: 60px 30px;
    border-top-right-radius: 60px 30px;
    padding: 3rem 0 1rem;
  }

  .footer-heading {
    margin-top: 2rem;
  }

  .footer-payments {
    justify-content: center;
  }

  .footer-policy-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
}

/* -------------------- */
/* =============================
   Featured Jewellery Section
============================= */

.section-title {
  font-family: var(--font-primary);
  color: var(--theme-maroon);
  font-weight: 700;
  font-size: 2rem;
}

.section-subtitle {
  color: var(--theme-darkgold);
  font-size: 1.2rem;
}

/* Product Card */
.product-card {
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: all 0.3s ease;
  position: relative;
}

.product-card:hover {
  box-shadow: var(--shadow-heavy);
  transform: translateY(-3px);
}

/* Product Image */
.product-img {
  position: relative;
  overflow: hidden;
}

.product-img img {
  width: 100%;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.product-img .img2 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.product-card:hover .img2 {
  opacity: 1;
  transform: scale(1.02);
}

.product-card:hover .img1 {
  opacity: 0;
}

/* Icons (Wishlist / Cart) */
.product-icons {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 5;
}

.product-icons button {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--theme-maroon);
  font-size: 1rem;
  transition: all 0.3s ease;
  cursor: pointer;
}

.product-icons button:hover {
  background: var(--theme-gold);
  color: var(--theme-maroon);
}

.product-price {
  margin-top: 5px;
}

.offer-price {
  font-weight: 600;
  color: var(--theme-darkgold);
  margin-right: 8px;
  font-size: 1.05rem;
}

.old-price {
  text-decoration: line-through;
  color: #999;
  font-size: 0.9rem;
}

/* Responsive */
@media (max-width: 768px) {
  .product-card {
    margin-bottom: 1.5rem;
  }

  .product-icons {
    flex-direction: row;
    bottom: 10px;
    top: auto;
    justify-content: center;
  }
}

/* =============================
   Jewellery Collections Section
============================= */
.collection-section {
  background: var(--theme-cream);
}

.section-title {
  font-family: var(--font-primary);
  color: var(--theme-maroon);
  font-weight: 700;
  font-size: 2rem;
}

/* .section-subtitle {
  color: var(--theme-darkgold);
  font-size: 1rem;
} */

.collection-card {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: all 0.4s ease;
}

.collection-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.collection-card:hover img {
  transform: scale(1.05);
}

/* Overlay text */
.collection-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      rgba(0, 0, 0, 0.1) 0%,
      rgba(0, 0, 0, 0.45) 100%);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.collection-card:hover .collection-overlay {
  opacity: 1;
}

.collection-overlay h4 {
  font-family: var(--font-primary);
  font-size: 1.4rem;
  color: var(--theme-gold);
}

.collection-overlay p {
  font-size: 0.95rem;
  margin: 0;
  color: #fff;
  opacity: 0.9;
}

/* Responsive */
@media (max-width: 768px) {
  .collection-card {
    margin-bottom: 1rem;
  }

  .col-sm-6,
  .col-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .collection-overlay {
    padding: 0.8rem;
  }

  .collection-overlay h4 {
    font-size: 1rem;
  }

  .collection-overlay p {
    font-size: 0.8rem;
  }
}

/* =============================
   Product Carousel Section
============================= */
.product-carousel-section {
  background: var(--theme-cream);
  position: relative;
}

.product-carousel-section .swiper {
  padding: 20px 10px 50px;
}

/* Navigation Arrows */
.swiper-button-next,
.swiper-button-prev {
  color: var(--theme-darkgold);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: var(--theme-gold);
  color: var(--theme-maroon);
  transform: scale(1.1);
}

/* Fix icon size inside arrow */
.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 1.1rem;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  .product-carousel-section .swiper {
    padding-bottom: 40px;
  }
}

/* =============================
   Product Carousel Section
============================= */
.product-carousel-section {
  background: var(--theme-cream);
  position: relative;
  background: #fff;
}

/* Title + Arrow Layout */
.slider-arrows {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Match Featured Collection Arrows */
.custom-prev,
.custom-next {
  border: 1px solid var(--theme-darkgold);
  color: var(--theme-darkgold);
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.custom-prev:hover,
.custom-next:hover {
  background: var(--theme-darkgold);
  color: #fff;
}

/* Responsive Carousel Padding */
.product-carousel-section .swiper {
  padding: 10px 0 40px;
}

/* Product cards inside slider */
.product-card {
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.product-card:hover {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
}

/* Image hover swap */
.product-img {
  position: relative;
  overflow: hidden;
}

.product-img img {
  width: 100%;
  transition: opacity 0.4s ease;
}

.product-img .img2 {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.product-card:hover .img2 {
  opacity: 1;
}

.product-icons {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.product-icons button {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
}

.product-icons button:hover {
  background: var(--theme-gold);
  color: #fff;
}

/* Text */
.product-title {
  font-family: var(--font-primary);
  color: var(--theme-maroon);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 1px;
}

.product-price {
  color: var(--theme-darkgold);
  font-size: 0.9rem;
}

.product-price .old-price {
  text-decoration: line-through;
  color: #888;
  font-size: 0.85rem;
  margin-left: 6px;
}

/* Responsive */
@media (max-width: 768px) {

  .product-prev,
  .product-next {
    width: 28px;
    height: 28px;
  }
}

/* =============================
   360° Product View Section
============================= */
.product-360-section {
  background: linear-gradient(180deg, #fffaf3, #f7f3ea);
  text-align: center;
  color: var(--theme-maroon);
  position: relative;
}

.product-360-section .section-title {
  font-family: var(--font-primary);
  font-size: 2rem;
  font-weight: 700;
  color: var(--theme-maroon);
}

.product-360-section .section-subtitle {
  color: var(--theme-darkgold);
  font-size: 1.2rem;
  margin-bottom: 2rem;
}

.viewer-container {
  background: #fff;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.viewer-container:hover {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.cloudimage-360 {
  width: 100%;
  max-width: 450px;
  aspect-ratio: 1 / 1;
}

/* Responsive */
@media (max-width: 768px) {
  .product-360-section .section-title {
    font-size: 1.6rem;
  }

  .viewer-container {
    padding: 1.2rem;
  }
}

/* ------------------------------- */
.rinni-testimonial {
  position: relative;
  background: #fff9f9;
  overflow: hidden;

  background: var(--theme-cream);
}

.section-heading {
  font-weight: 600;
  color: var(--theme-maroon);
  letter-spacing: 0.5px;
}

.testimonial-section {
  position: relative;
  text-align: center;
  background: var(--theme-bg);
  border-radius: 25px;
  padding: 100px 40px;
  max-width: 900px;
  margin: 0 auto;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.1);
  z-index: 2;
}

.testimonial-text {
  font-size: 1.15rem;
  color: var(--theme-darkgold);
  margin-bottom: 20px;
  min-height: 100px;
  line-height: 1.6;
  transition: opacity 0.4s ease;
  font-family: var(--font-secondary);
}

.reviewer-name {
  font-weight: 600;
  color: var(--theme-maroon);
  font-size: 1.05rem;
  transition: opacity 0.4s ease;
}

/* Floating Profile Images */
.profiles {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 130%;
  height: 420px;
  pointer-events: none;
  z-index: 1;
}

.profiles img {
  width: 85px;
  height: 85px;
  border-radius: 50%;
  border: 3px solid var(--theme-maroon);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  object-fit: cover;
  position: absolute;
  cursor: pointer;
  pointer-events: all;
  transition: all 0.4s ease;
  animation: float 6s ease-in-out infinite;
}

.profiles img:hover {
  transform: scale(1.1) rotate(5deg);
}

/* Floating Animation */
@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0px);
  }
}

/* Image Positions */
.profiles img:nth-child(1) {
  left: 5%;
  top: 20%;
  animation-delay: 0s;
}

.profiles img:nth-child(2) {
  right: 8%;
  top: 15%;
  animation-delay: 0.5s;
}

.profiles img:nth-child(3) {
  left: 10%;
  bottom: 15%;
  animation-delay: 1s;
}

.profiles img:nth-child(4) {
  right: 10%;
  bottom: 20%;
  animation-delay: 1.5s;
}

.profiles img:nth-child(5) {
  left: 50%;
  top: 5%;
  /* transform: translateX(-50%); */
  animation-delay: 2s;
}

.profiles img:nth-child(6) {
  left: 18%;
  top: 5%;
  animation-delay: 2.5s;
}

.profiles img:nth-child(7) {
  right: 18%;
  bottom: 5%;
  animation-delay: 3s;
}

.profiles img:nth-child(8) {
  left: 50%;
  bottom: -5%;
  /* transform: translateX(-50%); */
  animation-delay: 3.5s;
}

.active-img {
  border: 3px solid #b01e51;
  box-shadow: 0 0 25px rgba(176, 30, 81, 0.6);
  transform: scale(1.1);
  z-index: 3;
}

@media (max-width: 768px) {
  .profiles img {
    width: 65px;
    height: 65px;
  }

  .testimonial-section {
    padding: 150px 25px;
  }
}



.about-image img {
  max-height: 420px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 10px 20px rgba(128, 0, 0, 0.3);
}

h2.fw-bold {
  color: var(--theme-maroon);
}

p.lead {
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--theme-darkgold);
}

.section-title {
  font-weight: 700;
  margin-bottom: 1rem;
  color: var(--theme-maroon);
  text-align: center;
}

.section-content {
  max-width: 900px;
  margin: 0 auto 2rem;
  text-align: center;
}

.breadcrumb {
  background: transparent;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-bottom: 1.5rem;
  font-weight: 600;
}

.breadcrumb-item a {
  color: var(--theme-darkgold);
  text-decoration: none;
}

.breadcrumb-item a:hover {
  text-decoration: underline;
}

.breadcrumb-item.active {
  color: var(--theme-maroon);
}

.btn-send {
  background-color: var(--theme-maroon);
}

.page-title {
  margin-top: 2%;
}

.btn-maroon {
  background: var(--theme-maroon);
  color: white;
  padding: 0.75rem 2rem;
  border-radius: 50px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 14px rgba(184, 157, 79, 0.3);
}

.border-theme-maroon {
  border: 2px solid #800000;
  /* maroon border */
  border-radius: 8px;
  background-color: #fff8f0;
  /* optional light background for contrast */
}

.text-maroon {
  color: #800000;
}

.text-gold {
  color: #b8860b;
}

.btn-maroon {
  background: #800000;
  color: #fff;
  border-radius: 50px;
  border: none;
  transition: background 0.3s, color 0.3s;
}

.btn-maroon:hover {
  background: #a67c00;
  color: #fff;
}

.btn-outline-maroon {
  border: 2px solid #800000;
  color: #800000;
  background: #fff;
  border-radius: 2rem;
}

.btn-outline-maroon.active,
.btn-outline-maroon:active,
.btn-outline-maroon:hover {
  background: #800000;
  color: #fff;
}

.color-dot {
  display: inline-block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #ddd;
  margin: 0 8px 0 0;
  vertical-align: middle;
  cursor: pointer;
}

.color-dot.selected {
  border: 2px solid #800000;
}

.thumb-img {
  cursor: pointer;
}

.theme-card {
  background: var(--theme-cream, #faf6ef);
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(128, 0, 0, 0.03);
  border: 0;
  transition: box-shadow 0.25s, transform 0.2s;
}

.theme-card:hover {
  box-shadow: 0 8px 32px rgba(128, 0, 0, 0.1),
    0 2px 8px rgba(123, 100, 35, 0.12);
  transform: translateY(-4px) scale(1.012);
}

.theme-product-name {
  margin-top: 15px;
  color: var(--theme-maroon, #800000);
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.theme-product-price {
  color: var(--theme-maroon, #800000);
  font-size: 1.08rem;
  font-family: var(--font-secondary, serif);
  font-weight: 400;
  margin-top: 6px;
  letter-spacing: 0.01em;
}

@media (max-width: 992px) {
  .theme-product-name {
    font-size: 1rem;
  }

  .theme-product-price {
    font-size: 1rem;
  }

  .theme-card img {
    height: 220px !important;
  }
}

.main-product-img {
  max-width: 400px;
  max-height: 400px;
  width: 100%;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}

@media (max-width: 768px) {
  .main-product-img {
    max-width: 90vw;
    max-height: 250px;
  }
}

.account-sidebar {
  background: var(--theme-cream, #faf6ef);
  border-radius: 12px;
}

.account-link {
  display: block;
  margin-bottom: 1rem;
  color: var(--theme-maroon, #800000);
  font-weight: 500;
  text-decoration: none;
  border-radius: 6px;
  padding: 8px 0;
  transition: background 0.2s, color 0.2s;
}

.account-link.active,
.account-link:hover {
  background: var(--theme-gold-light, #f7d98b);
  color: var(--theme-maroon, #800000);
}

.user-avatar {
  border-radius: 50%;
  width: 64px;
  height: 64px;
  margin: 0 auto 1rem;
  background: #f5e4ca;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bg-white {
  background: #fff;
}

.justify-content-center {
  justify-content: center;
}

/* ============================
   SIDE BANNER CARD
============================ */
.menu-side-card img {
  border-radius: 16px;
  transition: transform 0.35s ease;
}

.menu-side-card img:hover {
  transform: scale(1.05);
}

/* ============================
   TITLES
============================ */
.side-card-title {
  font-family: var(--font-primary);
  font-size: 22px;
  font-weight: 600;
  margin-top: 12px;
}

/* Section title */
.menu-section {
  font-size: 14.5px;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.6px;
  margin-bottom: 14px;
  color: #333;
}

/* ============================
   MENU LIST
============================ */
.menu-list li {
  margin-bottom: 12px;
}

.menu-list a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  transition: color 0.25s ease, padding-left 0.25s ease;


  font-family: var(--font-secondary);
}

.menu-list a:hover {
  color: #d4a017;
  padding-left: 6px;
}

/* ============================
   GOLD ICON BADGE
============================ */
.icon-badge {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f8e7c0, #d4a017);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  box-shadow: 0 4px 10px rgba(212, 160, 23, 0.3);
  transition: transform 0.3s ease;
}

.menu-list a:hover .icon-badge {
  transform: scale(1.12);
}

/* ============================
   OPTIONAL — IMPROVE TOP BANNER OVERLAY
============================ */
.top-banner {
  position: relative;
}

.top-banner img {
  border-radius: 16px;
  width: 100%;
}

.banner-title {
  position: absolute;
  bottom: 14px;
  left: 16px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

.glass-bg {
  background: rgba(255, 255, 255, 0.15);
  /* light transparent white */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  /* Safari support */
  border-radius: 12px;
  padding: 20px 30px;
  border: 1px solid rgba(255, 255, 255, 0.3);
}