/* ================= ROOT ================= */
:root {
  --primary: #e6c47a;
  --primary-dark: #d4b067;
  --primary-darker: #b8962e;
  --accent-brown: #7a3e1c;
  --black: #000000;
  --white: #ffffff;
  --text-dark: #111;
  --text-muted: #555;
  --bg-light: #ffffff;
}

/* ================= GLOBAL ================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bg-light);
  color: var(--text-dark);
  line-height: 1.6;
  overflow-x: hidden;
}

/* Keep every semantic and Bootstrap-style heading in the brand typeface. */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.container,
.container-fluid {
  width: 100%;
}

/* ================= TOP BAR ================= */
.top-bar {
  background: linear-gradient(to right, #b8962e 0%, #e6c47a 50%, #fff6d5 100%);
  padding: 6px 0;
  font-size: 14px;
  font-weight: 500;
}

/* ================= HEADER ================= */
.main-header {
  background: #000;
}

.logo img {
  height: 92px;
  width: auto;
  object-fit: contain;
}

.search-box input {
  padding: 10px 18px;
  border-radius: 10px;
  border: none;
  width: 260px;
}

/* Icons */
.header-icons i {
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  transition: 0.3s;
}

.header-icon-btn {
  position: relative;
  border: 0;
  background: transparent;
  padding: 0;
  line-height: 1;
  color: inherit;
}

.header-icon-btn .bi {
  pointer-events: none;
}

.header-count-badge {
  position: absolute;
  right: -9px;
  top: -10px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #d94a59;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0 5px;
  border: 2px solid #000;
}

.header-icons i:hover {
  color: #e6c47a;
}

.header-icons .btn {
  border-radius: 10px;
  font-size: 13px;
}

/* ================= NAVBAR ================= */
.nav-bar {
  background: #f3f3f3;
  height: 80px;
  display: flex;
  align-items: center;
}

.navbar {
  padding: 0 !important;
}

.nav-link {
  font-weight: 500;
  letter-spacing: 0.5px;
  padding: 0 14px;
  line-height: 80px;
  position: relative;
  color: #000 !important;
}

.nav-bar button.nav-link {
  border: 0;
  background: transparent;
  font-family: inherit;
}

/* Hover underline */
.nav-link:not(.dropdown-toggle)::after {
  content: "";
  width: 0%;
  height: 2px;
  background: #e6c47a;
  position: absolute;
  bottom: 18px;
  left: 0;
  transition: 0.3s;
}

.nav-link:not(.dropdown-toggle):hover::after {
  width: 100%;
}

/* ================= HERO ================= */
.hero-section {
  background: linear-gradient(to right, #b8962e 0%, #e6c47a 50%, #fff6d5 100%);
  min-height: 65vh; 
  display: flex;
  align-items: center;
  padding: 40px 0; 
  font-family: 'Playfair Display', serif;
}

.hero-section h1 {
  font-size: 60px;
  font-weight: 700;
  line-height: 1.1;
}

.hero-section h1 .hero-subheading {
  display: inline-block;
  font-size: 0.55em;
  line-height: 1.25;
}

.hero-section p {
  margin: 20px 0;
  font-size: 17px;
}

/* Button */
.shop-btn {
  background: #000;
  color: #fff;
  padding: 12px 30px;
  border-radius: 10px;
}

.shop-btn:hover {
  background: #e6c47a;
  color: #000;
}

/* ================= HERO VIDEO ================= */
.hero-video-wrapper {
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0,0,0,0.18);
}

/* Increased video height */
.hero-video {
  width: 100%;
  height: 520px; /* increased */
  object-fit: cover;
  transition: 0.5s;
}

/* subtle zoom */
.hero-video-wrapper:hover .hero-video {
  transform: scale(1.05);
}

/* Control button */
.video-control {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 45px;
  height: 45px;
  background: rgba(0,0,0,0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.video-control i {
  color: #fff;
  font-size: 18px;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 992px) {

  .hero-section {
    min-height: 55vh;
    text-align: center;
  }

  .hero-section h1 {
    font-size: 42px;
  }

  .nav-link {
    line-height: normal;
    padding: 10px 0;
  }

  .hero-video {
    height: 380px;
  }
}

@media (max-width: 768px) {

  .search-box {
    display: none;
  }

  .header-icons .btn {
    display: none;
  }

  .nav-bar {
    height: auto;
  }

  .hero-section {
    min-height: auto;
    padding: 40px 0;
  }

  .hero-section h1 {
    font-size: 32px;
  }

  .hero-video {
    height: 260px;
  }
}

/* SECTION */
.grace-section {
  background: #f8f6f4;
}

/* TITLE */
.section-title {
  font-size: 42px;
  font-weight: 500;
  font-family: 'Playfair Display', serif;
}

.title-underline {
  width: 120px;
  height: 2px;
  background: #000;
  margin: 10px auto 0;
}

/* VIEW ALL */
.view-all-wrapper {
  position: absolute;
  right: 0;
  top: 10px;
}

.view-all-btn {
  background: #e6c47a;
  padding: 10px 22px;
  font-weight: 600;
  border-radius: 4px;
  color: #000;
  transition: 0.3s;
}

.view-all-btn:hover {
  background: #d4b067;
}

/* CARD */
.product-card {
  padding: 10px;
  position: relative;
  overflow: hidden;
}

.card-img {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.card-img img {
  width: 100%;
  border-radius: 12px;
  transition: 0.4s;
}

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

/* BADGE */
.badge-new {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #6b2d1a;
  color: #fff;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 50px;
}

/* RATING */
.rating {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: #fff;
  padding: 3px 8px;
  font-size: 12px;
  border-radius: 5px;
}

/* TEXT */
.product-title {
  font-size: 14px;
  margin-top: 10px;
}

.price {
  font-size: 14px;
  font-weight: 600;
}

.old-price {
  text-decoration: line-through;
  color: #888;
  margin-left: 5px;
}

.discount {
  color: green;
  margin-left: 5px;
}

/* SLIDER FIX */
.product-slider .slick-slide {
  padding: 10px;
}

/* ================= PROMO SECTION ================= */
.promo-section {
  background: #f5f2ef;
}

/* CARD */
.promo-card {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
}

.promo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s ease;
}

/* Hover zoom */
.promo-card:hover img {
  transform: scale(1.05);
}

/* OVERLAY BASE */
.promo-overlay {
  position: absolute;
  color: #fff;
  z-index: 2;
}

/* LEFT TEXT */
.left-overlay {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.left-overlay h2 {
  font-size: 42px;
  font-family: 'Playfair Display', serif;
  font-weight: 600;
}

.left-overlay p {
  font-size: 16px;
  margin-top: 10px;
}

/* RIGHT TEXT */
.right-overlay {
  top: 20%;
  right: 30px;
  text-align: right;
}

.right-overlay .tag {
  font-style: italic;
  font-size: 18px;
  display: block;
  margin-bottom: 5px;
}

.right-overlay h2 {
  font-size: 36px;
  font-family: 'Playfair Display', serif;
}

/* DARK OVERLAY */
.promo-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
  z-index: 1;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .left-overlay h2 {
    font-size: 30px;
  }

  .right-overlay h2 {
    font-size: 26px;
  }
}

@media (max-width: 768px) {
  .promo-overlay {
    padding: 10px;
  }

  .left-overlay h2 {
    font-size: 24px;
  }

  .left-overlay p {
    font-size: 14px;
  }

  .right-overlay {
    right: 15px;
    top: 15%;
  }

  .right-overlay h2 {
    font-size: 22px;
  }
}

/* ================= CELEBRATE SECTION ================= */
.celebrate-section {
  background: linear-gradient(90deg, #fff6d5 0%, #e6c47a 50%, #b8962e 100%);
  padding: 80px 0;
}

/* TITLE */
.celebrate-title {
  font-size: 48px;
  font-weight: 600;
  font-family: 'Playfair Display', serif;
  color: #000;
  line-height: 1.2;
  margin-bottom: 25px;
}

/* TEXT */
.celebrate-text {
  font-size: 18px;
  line-height: 1.7;
  color: #111;
  max-width: 520px;
}

/* IMAGE */
.celebrate-img {
  border-radius: 10px;
  overflow: hidden;
}

.celebrate-img img {
  width: 100%;
  height: 620px;
  object-fit: cover;
  transition: 0.5s;
}

/* Hover */
.celebrate-img:hover img {
  transform: scale(1.05);
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .celebrate-title {
    font-size: 34px;
    text-align: center;
  }

  .celebrate-text {
    text-align: center;
    margin: auto;
  }
}

@media (max-width: 768px) {
  .celebrate-section {
    padding: 60px 0;
  }

  .celebrate-title {
    font-size: 28px;
  }

  .celebrate-text {
    font-size: 15px;
  }
}

/* ================= HERO DIVIDER ================= */
.hero-divider {
  position: relative;
  width: 100%;
  background: #fff;
  padding: 12px 0;
  overflow: hidden;
}

/* Gold top & bottom lines */
.hero-divider::before,
.hero-divider::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(
    to right,
    #fff6d5,
    #e6c47a,
    #b8962e,
    #e6c47a,
    #fff6d5
  );
  z-index: 2;
}

.hero-divider::before {
  top: 0;
}

.hero-divider::after {
  bottom: 0;
}

/* SVG Pattern Strip */
.divider-pattern {
  width: 100%;
  height: 40px;
  background-image: url('../svg/divider-pattern.svg'); /* your SVG path */
  background-repeat: repeat-x;
  background-position: left center;
  background-size: auto 40px;
  animation: dividerDrift 10s linear infinite;
  will-change: background-position;

  /* premium look */
  opacity: 0.95;
  filter: contrast(110%) brightness(95%);
}

@keyframes dividerDrift {
  from {
    background-position: 0 center;
  }
  to {
    background-position: 220px center;
  }
}

/* Tablet */
@media (max-width: 768px) {
  .divider-pattern {
    height: 30px;
    background-size: auto 30px;
  }

  .hero-divider {
    padding: 8px 0;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .divider-pattern {
    height: 24px;
    background-size: auto 24px;
  }
}

/* ================= JEWELLERY SECTION ================= */
.jewellery-section {
  background: #f8f6f4;
}

/* TITLE */
.jewellery-title {
  font-size: 40px;
  font-weight: 500;
  font-family: 'Playfair Display', serif;
  letter-spacing: 1px;
}

/* CARD */
.jewel-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  height: 420px;
  cursor: pointer;
}

/* IMAGE */
.jewel-card img,
.jewel-card video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s ease;
  display: block;
}

/* HOVER ZOOM */
.jewel-card:hover img,
.jewel-card:hover video {
  transform: scale(1.05);
}

/* DURATION BADGE */
.duration {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(255,255,255,0.9);
  color: #000;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 20px;
  font-weight: 500;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .jewel-card {
    height: 360px;
  }

  .jewellery-title {
    font-size: 32px;
  }
}

@media (max-width: 768px) {
  .jewel-card {
    height: 300px;
  }

  .jewellery-title {
    font-size: 26px;
  }
}

@media (max-width: 480px) {
  .jewel-card {
    height: 260px;
  }
}

/* ================= BLOUSE SECTION ================= */
.blouse-section {
  background: #f8f6f4;
}

/* TITLE */
.blouse-title {
  font-size: 42px;
  font-weight: 500;
  font-family: 'Playfair Display', serif;
  letter-spacing: 1px;
  color: #000;
}

/* CARD */
.blouse-card {
  overflow: hidden;
  border-radius: 6px;
}

/* IMAGE */
.blouse-card img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  transition: 0.5s ease;
}

/* HOVER EFFECT */
.blouse-card:hover img {
  transform: scale(1.05);
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .blouse-card img {
    height: 420px;
  }

  .blouse-title {
    font-size: 34px;
  }
}

@media (max-width: 768px) {
  .blouse-card img {
    height: 340px;
  }

  .blouse-title {
    font-size: 28px;
  }
}

@media (max-width: 480px) {
  .blouse-card img {
    height: 280px;
  }
}

/* ================= SECTION ================= */
.celebration-section {
  background: #f8f6f4;
}

/* TITLE */
.celebration-title {
  font-size: 28px;
  font-family: 'Playfair Display', serif;
  color: #7a3e1c;
}

/* BUTTON */
.view-all-btn {
  background: #7a3e1c;
  color: #fff;
  padding: 8px 20px;
  border-radius: 6px;
}

.view-all-btn:hover {
  background: #5c2f16;
}

/* CARD */
.product-card {
  padding: 10px;
}

/* IMAGE */
.product-img {
  border-radius: 12px;
  overflow: hidden;
}

.product-img img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  transition: 0.4s;
}

/* HOVER */
.product-card:hover img {
  transform: scale(1.05);
}

/* TEXT */
.product-name {
  font-size: 14px;
  margin-top: 10px;
}

.product-price {
  font-size: 14px;
  font-weight: 600;
}

/* SLIDER */
.celebration-slider .slick-slide {
  padding: 10px;
}

/* ================= SECTION ================= */
.occasion-section {
  background: #fff;
}

/* TITLE */
.occasion-title {
  font-size: 32px;
  font-family: 'Playfair Display', serif;
  font-weight: 500;
}

/* VIEW ALL BUTTON */
.view-all-btn {
  position: absolute;
  right: 0;
  top: 0;
  background: #000;
  color: #e6c47a;
  padding: 10px 22px;
  font-weight: 600;
}

.view-all-btn:hover {
  background: #222;
}

/* CARD */
.occasion-grid {
  --bs-gutter-x: 0.5rem;
  --bs-gutter-y: 0.5rem;
}

.occasion-section .occasion-card {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 0;
  aspect-ratio: 2 / 3;
  height: auto;
  cursor: pointer;
}

/* IMAGE */
.occasion-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s ease;
}

/* HOVER */
.occasion-card:hover img {
  transform: scale(1.02);
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .occasion-card {
    height: auto;
  }

  .occasion-title {
    font-size: 28px;
  }
}

@media (max-width: 768px) {
  .occasion-card {
    height: auto;
  }

  .occasion-title {
    font-size: 22px;
  }

  .view-all-btn {
    position: static;
    margin-top: 15px;
  }
}

@media (max-width: 480px) {
  .occasion-card {
    height: auto;
  }
}

/* ================= TESTIMONIAL ================= */
.testimonial-section {
  background: #f5f2ef;
}

.testimonial-title {
  font-size: 42px;
  font-family: 'Playfair Display', serif;
}

/* CARD */
.testimonial-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  transition: 0.3s;
}

.testimonial-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.testimonial-content {
  padding: 20px;
  text-align: center;
}

/* STARS */
.stars {
  color: #7a3e1c;
  font-size: 18px;
  margin-bottom: 8px;
}

.testimonial-content h6 {
  font-weight: 600;
}

.testimonial-content p {
  font-size: 14px;
  color: #555;
}

/* HOVER */
.testimonial-card:hover {
  transform: translateY(-5px);
}

/* ================= STATS ================= */
.stats-section {
  background: linear-gradient(90deg, #fff6d5, #e6c47a, #b8962e);
}

/* BOX */
.stat-box h2 {
  font-size: 70px;
  font-weight: 600;
  font-family: 'Playfair Display', serif;
}

.stat-box p {
  font-size: 22px;
  margin-top: 10px;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .testimonial-title {
    font-size: 32px;
  }

  .stat-box h2 {
    font-size: 50px;
  }
}

@media (max-width: 768px) {

  .testimonial-card img {
    height: 180px;
  }

  .stat-box h2 {
    font-size: 40px;
  }

  .stat-box p {
    font-size: 18px;
  }
}

@media (max-width: 480px) {

  .testimonial-title {
    font-size: 26px;
  }

  .stat-box h2 {
    font-size: 34px;
  }
}

/* ================= FOOTER ================= */
.footer-section {
  background: #000;
  color: #e6c47a;
  padding-top: 60px;
}

/* LOGO */
.footer-logo img {
  width: 240px;
  margin-bottom: 15px;
}

.footer-logo p {
  color: #ccc;
  font-size: 18px;
}

/* TITLE */
.footer-title {
  font-size: 22px;
  margin-bottom: 15px;
}

/* LINKS */
.footer-links {
  list-style: none;
  padding: 0;
}

.footer-links li {
  margin-bottom: 8px;
}

.footer-links a {
  color: #ccc;
  text-decoration: none;
  font-size: 18px;
}

.footer-links a:hover {
  color: #e6c47a;
}

/* TEXT */
.footer-text {
  color: #ccc;
  font-size: 18px;
}

/* DIVIDER */
.footer-divider {
  margin: 40px 0 20px;
}

/* BOTTOM */
.footer-bottom {
  padding: 15px 0;
  border-top: 1px solid #222;
}

.footer-bottom p {
  color: #aaa;
  margin: 0;
  font-size: 16px;
}

.footer-bottom p a {
  color: #e6c47a;
  text-decoration: underline;
}

.footer-bottom p a:hover {
  color: #fff6d5;
}

/* SOCIAL */
.social-section {
  display: flex;
  align-items: center;
  gap: 15px;
  flex-wrap: nowrap; 
}

/* ICON CONTAINER */
.social-icons {
  display: flex;
  align-items: center;
  gap: 10px; 
}

/* ICON STYLE */
.social-icons a {
  width: 38px;
  height: 38px;
  background: #e6c47a;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  text-decoration: none;
  transition: 0.3s;
}

.social-icons a:hover {
  background: #fff;
  transform: translateY(-3px);
}


/* ================= RESPONSIVE ================= */

@media (max-width: 768px) {
  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }

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

/* ================= SECTION ================= */
.saree-collection-section {
  background: #f5f5f5;
  padding-bottom: 80px;
}

/* HEADINGS */
.saree-title {
  font-size: 48px;
  font-family: 'Playfair Display', serif;
}

.saree-subtitle {
  font-family: cursive;
  color: #c49b3f;
  margin-top: -10px;
}

.saree-desc {
  max-width: 700px;
  margin: 20px auto;
  font-size: 18px;
}

/* ================= CARD ================= */
.saree-card {
  position: relative;
  height: 420px;
  overflow: hidden;
}

/* ARCH BACKGROUND */
.arch-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 100%;
  background: #c49b3f;
  border-radius: 200px 200px 0 0;
  z-index: 1;
}

/* IMAGE */
.saree-card img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* DARK OVERLAY */
.saree-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 20px;
  z-index: 3;

  background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
  color: #fff;
  text-align: left;
}

/* TEXT */
.saree-overlay h5 {
  font-size: 18px;
  font-weight: 600;
}

.saree-overlay p {
  font-size: 14px;
  margin-top: 5px;
}

/* ================= HOVER ================= */
.saree-card:hover img {
  transform: scale(1.05);
  transition: 0.4s;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .saree-title {
    font-size: 36px;
  }

  .saree-card {
    height: 380px;
  }
}

@media (max-width: 768px) {

  .saree-card {
    height: 340px;
  }

  .saree-title {
    font-size: 28px;
  }

  .saree-desc {
    font-size: 16px;
  }
}

@media (max-width: 480px) {

  .saree-card {
    height: 300px;
  }

  .saree-overlay h5 {
    font-size: 14px;
  }

  .saree-overlay p {
    font-size: 12px;
  }
}

/* ================= SECTION ================= */
.jewellery-section {
  background: #f5f5f5;
}

/* TITLE */
.jewellery-title {
  font-size: 48px;
  font-family: 'Playfair Display', serif;
}

.jewellery-title span {
  display: block;
  font-family: cursive;
  color: #c49b3f;
  font-size: 36px;
  margin-top: -10px;
}

/* DESCRIPTION */
.jewellery-desc {
  font-size: 18px;
  margin-top: 15px;
}

/* ================= CARD ================= */
.jewel-card {
  background: #e7d199;
  padding: 20px;
  text-align: center;
  transition: 0.3s;
}

/* IMAGE BOX */
.jewel-img-box {
  background: #ddd;
  padding: 20px;
  margin-bottom: 15px;
}

/* IMAGE */
.jewel-img-box img {
  width: 100%;
  height: 200px;
  object-fit: contain;
  transition: 0.4s;
}

/* TEXT */
.jewel-card h5 {
  font-weight: 600;
  margin-bottom: 8px;
}

.jewel-card p {
  font-size: 14px;
  color: #333;
}

/* HOVER */
.jewel-card:hover {
  transform: translateY(-5px);
}

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

/* About page cards must expand to fit heading + description text */
.about-page .jewellery-section .jewel-card {
  height: auto;
  overflow: visible;
}

.about-page .jewellery-section .jewel-card p,
.about-page .accessories-section .card-label p {
  display: block;
  overflow: visible;
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .jewellery-title {
    font-size: 36px;
  }

  .jewellery-title span {
    font-size: 26px;
  }
}

@media (max-width: 768px) {

  .jewel-img-box img {
    height: 160px;
  }

  .jewellery-desc {
    font-size: 16px;
  }
}

@media (max-width: 480px) {

  .jewellery-title {
    font-size: 26px;
  }

  .jewellery-title span {
    font-size: 20px;
  }

  .jewel-img-box img {
    height: 140px;
  }
}

/* ================= SECTION ================= */
.accessories-section {
  background: #f5f5f5;
  padding-bottom: 0;
}

/* TITLE */
.accessories-title {
  font-size: 48px;
  font-family: 'Playfair Display', serif;
}

.accessories-title span {
  display: block;
  font-family: cursive;
  color: #c49b3f;
  font-size: 36px;
  margin-top: -10px;
}

/* DESCRIPTION */
.accessories-desc {
  font-size: 18px;
  margin-top: 15px;
}

/* ================= GOLD BG ================= */
.accessories-bg {
  background: #e7d199;
  padding: 60px 0;
  margin-top: 40px;
}

/* ================= CARD ================= */
.accessory-card {
  position: relative;
  text-align: center;
}

/* CIRCLE BG */
.circle-bg {
  width: 260px;
  height: 260px;
  background: #eaeaea;
  border-radius: 50%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* IMAGE */
.circle-bg img {
  width: 85%;
  height: auto;
  object-fit: contain;
  transition: 0.4s;
}

/* LABEL */
.card-label {
  background: #dcdcdc;
  padding: 15px;
  width: 85%;
  margin: -40px auto 0;
  position: relative;
  z-index: 2;
}

.card-label h6 {
  font-weight: 600;
  margin-bottom: 5px;
}

.card-label p {
  font-size: 13px;
  margin: 0;
}

/* HOVER */
.accessory-card:hover img {
  transform: scale(1.08);
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {

  .accessories-title {
    font-size: 36px;
  }

  .accessories-title span {
    font-size: 26px;
  }

  .circle-bg {
    width: 220px;
    height: 220px;
  }
}

@media (max-width: 768px) {

  .circle-bg {
    width: 200px;
    height: 200px;
  }

  .card-label {
    width: 90%;
  }

  .accessories-desc {
    font-size: 16px;
  }
}

@media (max-width: 480px) {

  .accessories-title {
    font-size: 26px;
  }

  .accessories-title span {
    font-size: 20px;
  }

  .circle-bg {
    width: 170px;
    height: 170px;
  }

  .card-label {
    padding: 12px;
  }
}

/* ================= SECTION ================= */
.dresses-section {
  background: #f5f5f5;
  padding-bottom: 0;
}

/* TITLE */
.dress-title {
  font-size: 48px;
  font-family: 'Playfair Display', serif;
}

.dress-title span {
  display: block;
  font-family: cursive;
  color: #c49b3f;
  font-size: 36px;
  margin-top: -10px;
}

/* DESC */
.dress-desc {
  font-size: 18px;
  margin-top: 15px;
}

/* ================= AREA ================= */
.dress-area {
  background: #eee8e3;
  padding: 60px 0;
  margin-top: 40px;
}

/* ================= CARD ================= */
.dress-card {
  position: relative;
  height: 420px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

/* IMAGE */
.dress-card img {
  position: relative;
  z-index: 2;
  max-height: 100%;
  object-fit: contain;
  transition: 0.4s;
}

/* HOVER */
.dress-card:hover img {
  transform: scale(1.05);
}

.dress-single-image-wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.dress-single-image {
  width: 100%;
  display: block;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {

  .dress-title {
    font-size: 36px;
  }

  .dress-title span {
    font-size: 26px;
  }

  .dress-card {
    height: 380px;
  }

  .dress-single-image-wrap {
    max-width: 100%;
  }
}

@media (max-width: 768px) {

  .dress-card {
    height: 340px;
  }

  .dress-desc {
    font-size: 16px;
  }
}

@media (max-width: 480px) {

  .dress-title {
    font-size: 26px;
  }

  .dress-title span {
    font-size: 20px;
  }

  .dress-card {
    height: 300px;
  }

}

/* ================= COMMON ================= */
.section-title {
  font-size: 48px;
  font-family: 'Playfair Display', serif;
  margin-bottom: 30px;
  position: relative;
}

.section-title::after {
  content: "";
  width: 120px;
  height: 2px;
  background: #000;
  display: block;
  margin: 10px auto 0;
}

/* ================= ABOUT ================= */
.about-section {
  background: #f5f5f5;
}

.about-content {
  max-width: 900px;
  font-size: 18px;
  line-height: 1.8;
}

/* ================= WHY ================= */
.why-section {
  background: #f5f5f5;
}

/* CARD */
.why-card {
  background: linear-gradient(135deg, #efd89b, #c49b3f);
  padding: 30px;
  border-radius: 15px;
  text-align: center;
  transition: 0.3s;
}

/* ICON */
.icon-circle {
  width: 70px;
  height: 70px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 15px;
  font-size: 28px;
}

/* TEXT */
.why-card h5 {
  font-weight: 600;
  margin-bottom: 10px;
}

.why-card p {
  font-size: 15px;
}

/* HOVER */
.why-card:hover {
  transform: translateY(-5px);
}

/* ================= RESPONSIVE ================= */

@media (max-width: 992px) {
  .section-title {
    font-size: 36px;
  }
}

@media (max-width: 768px) {

  .section-title {
    font-size: 28px;
  }

  .about-content {
    font-size: 16px;
  }

  .why-card {
    padding: 25px;
  }
}

@media (max-width: 480px) {

  .section-title {
    font-size: 24px;
  }

  .icon-circle {
    width: 60px;
    height: 60px;
    font-size: 22px;
  }

  .why-card h5 {
    font-size: 16px;
  }

  .why-card p {
    font-size: 13px;
  }
}

/* SECTION */
.saree-banner {
  background: #f7f7f7;
  overflow: hidden;
}

/* CONTENT */
.banner-content {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 60px;
  background: linear-gradient(to right, #f7f7f7 70%, transparent);
  z-index: 2;
}

.content-box {
  max-width: 500px;
}

/* HEADING */
.content-box h1 {
  font-size: 64px;
  font-weight: 600;
  font-family: 'Playfair Display', serif;
  color: #000;
  line-height: 1.2;
  margin-bottom: 20px;
}

/* SUBTEXT */
.content-box p {
  font-size: 20px;
  margin-bottom: 30px;
  color: #333;
}

/* BUTTON */
.shop-btn {
  background: #e6c47a;
  color: #000;
  padding: 12px 30px;
  border-radius: 40px;
  font-weight: 600;
  transition: 0.3s;
}

.shop-btn:hover {
  background: #000;
  color: #fff;
}

/* IMAGE */
.banner-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ================= RESPONSIVE ================= */

/* TABLET */
@media (max-width: 992px) {
  .content-box h1 {
    font-size: 48px;
  }

  .banner-content {
    padding: 60px 30px;
  }
}

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

  .saree-banner .row {
    flex-direction: column-reverse;
  }

  .banner-content {
    text-align: center;
    padding: 40px 20px;
    background: #f7f7f7;
  }

  .content-box h1 {
    font-size: 34px;
  }

  .content-box p {
    font-size: 16px;
  }

  .shop-btn {
    padding: 10px 25px;
  }

  .banner-image img {
    height: 300px;
    object-fit: cover;
  }
}

/* SMALL MOBILE */
@media (max-width: 480px) {
  .content-box h1 {
    font-size: 28px;
  }
}

/* TITLE */
.section-title h2 {
  font-size: 42px;
  font-family: 'Playfair Display', serif;
}

.section-title span {
  color: #c89b3c;
  font-family: cursive;
}

/* VIEW ALL */
.view-all-btn {
  background: #e6c47a;
  border-radius: 0;
  padding: 10px 20px;
  font-weight: 600;
}

/* CARD */
.product-card {
  padding: 10px;
}

.product-img {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.product-img img {
  width: 100%;
  border-radius: 12px;
  transition: 0.3s;
}

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

/* BADGE */
.badge-new {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #8b3e2f;
  color: #fff;
  padding: 4px 10px;
  font-size: 12px;
  border-radius: 20px;
}

/* INFO */
.product-info {
  padding: 10px 5px;
}

.product-info h6 {
  font-size: 14px;
  margin-bottom: 5px;
}

/* PRICE */
.price {
  font-size: 14px;
}

.price .new {
  font-weight: 600;
}

.price .old {
  text-decoration: line-through;
  color: #999;
  margin-left: 5px;
}

.price .offer {
  color: #c89b3c;
  margin-left: 5px;
}

/* USP SECTION */
.usp-section {
  background: linear-gradient(to right, #e6c47a, #c89b3c);
  padding: 30px 0;
}

.usp-box i {
  font-size: 28px;
  margin-bottom: 10px;
}

.usp-box h6 {
  font-weight: 600;
  margin-bottom: 5px;
}

.usp-box p {
  font-size: 14px;
  margin: 0;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .section-title h2 {
    font-size: 28px;
  }
}

/* SECTION */
.saree-category {
  background: #fff;
}

/* HEADER */
.category-header {
  position: relative;
}

.category-title {
  font-size: 48px;
  font-family: 'Playfair Display', serif;
  font-weight: 500;
}

/* VIEW ALL */
.view-all-btn {
  background: #e6c47a;
  padding: 10px 20px;
  border-radius: 0;
  font-weight: 600;
  position: relative;
}

.view-all-btn::after {
  content: "";
  width: 40px;
  height: 2px;
  background: #7a4b2a;
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
}

/* PRODUCT */
.product-card {
  padding: 10px;
}

.product-img {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.product-img img {
  width: 100%;
  border-radius: 12px;
  transition: 0.4s;
}

/* HOVER */
.product-card:hover img {
  transform: scale(1.06);
}

/* BADGE */
.badge-new {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #8b3e2f;
  color: #fff;
  font-size: 11px;
  padding: 5px 10px;
  border-radius: 20px;
}

/* RATING */
.rating {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: #fff;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 6px;
}

/* INFO */
.product-info {
  padding-top: 10px;
}

.product-info h6 {
  font-size: 14px;
  margin-bottom: 5px;
}

/* PRICE */
.price {
  font-size: 14px;
}

.price .new {
  font-weight: 600;
}

.price .old {
  text-decoration: line-through;
  color: #999;
  margin-left: 6px;
}

.price .offer {
  color: #c89b3c;
  margin-left: 6px;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .category-title {
    font-size: 36px;
  }
}

@media (max-width: 768px) {

  .category-header {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .category-title {
    font-size: 28px;
  }

  .view-all-btn {
    margin-top: 10px;
  }
}

@media (max-width: 480px) {
  .category-title {
    font-size: 24px;
  }
}
/* ================= UX + MOBILE OVERRIDES ================= */
:root {
  --ava-gold: #e6c47a;
  --ava-black: #111;
  --ava-soft: #f7f4ef;
}

html,
body {
  overflow-x: clip;
}

img,
video {
  max-width: 100%;
  height: auto;
}

.main-header .container,
.nav-bar .container {
  width: min(100%, 1200px);
}

.logo img {
  height: clamp(64px, 9vw, 92px);
}

.main-header {
  position: sticky;
  top: 0;
  z-index: 1050;
}

.nav-bar {
  min-height: 64px;
  height: auto;
  position: sticky;
  top: clamp(72px, 9vw, 96px);
  z-index: 1045;
  transition: box-shadow 0.25s ease, background-color 0.25s ease;
}

.navbar-toggler {
  border: 1px solid rgba(0, 0, 0, 0.25);
  padding: 0.35rem 0.55rem;
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(230, 196, 122, 0.35);
}

.navbar-collapse {
  transition: all 0.25s ease;
}

.nav-link {
  white-space: nowrap;
}

.hero-section,
.about-hero-section,
.saree-banner,
.celebrate-section,
.promo-section,
.grace-section,
.jewellery-section,
.blouse-section,
.occasion-section,
.testimonial-section,
.stats-section {
  overflow: hidden;
}

@media (max-width: 991.98px) {
  .main-header {
    padding: 0.65rem 0;
  }

  .main-header .container {
    gap: 0.8rem;
  }

  .header-icons {
    gap: 0.75rem !important;
  }

  .header-icons i {
    font-size: 17px;
  }

  .nav-bar .container {
    align-items: center;
  }

  .navbar-collapse {
    margin-top: 0.55rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #e8e8e8;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    padding: 0.6rem 1rem;
  }

  .navbar-nav {
    gap: 0.2rem !important;
  }

  .nav-link {
    line-height: 1.3;
    padding: 0.65rem 0.35rem !important;
    border-bottom: 1px solid #f2f2f2;
  }

  .nav-item:last-child .nav-link {
    border-bottom: 0;
  }

  .nav-link:not(.dropdown-toggle)::after {
    display: none;
  }

  .hero-section {
    padding: 30px 0;
  }

  .hero-section .row,
  .celebrate-section .row {
    row-gap: 1.5rem;
  }

  .hero-video {
    height: clamp(240px, 55vw, 380px);
  }

  .view-all-wrapper {
    position: static;
    text-align: center;
    margin: 0 0 1rem;
  }

  .view-all-btn {
    position: static !important;
    display: inline-block;
    margin-top: 0.5rem;
  }

  .section-title,
  .section-title h2,
  .saree-title,
  .jewellery-title,
  .dress-title,
  .category-title,
  .occasion-title,
  .testimonial-title,
  .celebrate-title {
    line-height: 1.2;
    letter-spacing: 0;
  }

  .stat-box h2 {
    font-size: clamp(2rem, 7vw, 3rem);
  }

  .stat-box p {
    font-size: clamp(0.95rem, 2.8vw, 1.1rem);
  }
}

@media (max-width: 767.98px) {
  .top-bar {
    font-size: 12px;
    padding: 5px 0;
  }

  .main-header .container {
    flex-wrap: nowrap;
  }

  .logo {
    flex: 1;
    text-align: left !important;
  }

  .header-icons {
    flex-shrink: 0;
    gap: 0.65rem !important;
  }

  .hero-section h1,
  .content-box h1 {
    font-size: clamp(1.9rem, 7.6vw, 2.4rem) !important;
  }

  .hero-section p,
  .content-box p,
  .celebrate-text,
  .saree-desc,
  .jewellery-desc,
  .accessories-desc,
  .dress-desc,
  .about-content {
    font-size: 0.96rem !important;
    line-height: 1.6;
  }

  .left-overlay h2,
  .right-overlay h2 {
    font-size: clamp(1.25rem, 5.6vw, 1.6rem);
  }

  .left-overlay p,
  .right-overlay .tag {
    font-size: 0.85rem;
  }

  .product-img img,
  .card-img img {
    border-radius: 10px;
  }

  .jewel-card,
  .occasion-card,
  .dress-card,
  .saree-card,
  .blouse-card img {
    border-radius: 10px;
  }

  .footer-section {
    text-align: center;
  }

  .footer-logo img {
    margin-inline: auto;
  }

  .footer-text,
  .footer-links a,
  .footer-logo p {
    font-size: 13px;
  }
}

/* ================= HOME HERO FRAME VIDEO ================= */
body:not(.inner-page) .hero-video-wrapper {
  position: relative;
  width: min(100%, 820px);
  margin-inline: auto;
  box-shadow: none;
  overflow: visible;
}

body:not(.inner-page) .hero-video-frame {
  position: relative;
  z-index: 3;
  width: 100%;
  height: auto;
  display: block;
  pointer-events: none;
}

body:not(.inner-page) .hero-video-viewport {
  position: absolute;
  z-index: 1;
  top: 11.5%;
  left: 9.8%;
  width: 80.4%;
  height: 72.2%;
  overflow: hidden;
}

body:not(.inner-page) .hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

body:not(.inner-page) .hero-video-wrapper:hover .hero-video {
  transform: scale(1.04);
}

body:not(.inner-page) .hero-video-wrapper .video-control {
  z-index: 4;
  right: 13%;
  bottom: 10%;
}

/* Hide hero video play/pause control on homepage */
body:not(.inner-page) .hero-video-wrapper .video-control {
  display: none !important;
}

@media (max-width: 991.98px) {
  body:not(.inner-page) .hero-video-wrapper {
    width: min(100%, 720px);
  }

  body:not(.inner-page) .hero-video-wrapper .video-control {
    right: 12%;
    bottom: 9%;
  }
}

@media (max-width: 575.98px) {
  body:not(.inner-page) .hero-video-wrapper .video-control {
    width: 38px;
    height: 38px;
    right: 11.5%;
    bottom: 8.8%;
  }

  body:not(.inner-page) .hero-video-wrapper .video-control i {
    font-size: 15px;
  }
}

@media (max-width: 479.98px) {
  .main-header {
    padding: 0.5rem 0;
  }

  .logo img {
    height: 52px;
  }

  .header-icons i {
    font-size: 16px;
  }

  .hero-video {
    height: 230px;
  }

  .video-control {
    width: 40px;
    height: 40px;
  }

  .video-control i {
    font-size: 16px;
  }

  .section-title::after {
    width: 84px;
  }

  .social-section {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
}

/* ================= NAV + BUTTON FIXES ================= */
.navbar .nav-link.dropdown-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.navbar .nav-link.dropdown-toggle::after {
  margin-left: 0.15rem;
}

.mobile-nav-arrow {
  display: none;
}

.mobile-nav-toggle {
  margin-left: 2px;
  border-color: rgba(255, 255, 255, 0.6);
}

.mobile-nav-toggle .navbar-toggler-icon {
  width: 1.2em;
  height: 1.2em;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  background-size: 100% 100%;
}

.mobile-nav-search-wrap {
  display: none;
}

.mobile-nav-search-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  background: #f7f7f7;
  padding: 8px 10px;
}

.mobile-nav-search-inner i {
  color: #7a7a7a;
  font-size: 0.95rem;
}

.mobile-nav-search-input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1f1f1f;
  font-size: 0.95rem;
  line-height: 1.2;
}

.mobile-nav-search-input::placeholder {
  color: #8a8a8a;
}

.navbar .dropdown-menu {
  border: 1px solid #ececec;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.08);
  max-height: min(70vh, 520px);
  overflow-y: auto;
}

.navbar .dropdown-item {
  font-size: 13px;
  font-weight: 500;
  padding: 0.55rem 0.9rem;
  white-space: normal;
}

.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus {
  background: #f8f1de;
  color: #111;
}

.navbar .dropdown-item.active,
.nav-bar .dropdown-item.active {
  background: #f7f3e8 !important;
  color: #171717 !important;
}

.btn,
.shop-btn,
.view-all-btn,
.about-shop-btn {
  color: #111 !important;
  opacity: 1 !important;
}

.btn-outline-light {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.8) !important;
}

.btn-outline-light:hover {
  color: #111 !important;
}

.btn-light {
  color: #111 !important;
}

.shop-btn,
.view-all-btn,
.about-shop-btn {
  font-weight: 700;
}

@media (max-width: 991.98px) {
  .main-header {
    position: sticky;
    top: 0;
    z-index: 1050;
  }

  .nav-bar {
    position: sticky;
    top: clamp(72px, 11vw, 92px);
    z-index: 1045;
    min-height: 0;
    height: 0;
    padding: 0 !important;
    background: transparent;
    border: 0;
    overflow: visible;
  }

  .navbar.nav-bar {
    padding: 0 !important;
  }

  .nav-bar > .container {
    padding: 0 !important;
  }

  .navbar .nav-link.dropdown-toggle {
    display: flex;
    width: 100%;
    justify-content: center;
    text-align: center;
    position: relative;
    padding-right: 2rem !important;
    gap: 0.5rem;
  }

  .navbar .nav-link.dropdown-toggle::after {
    display: none !important;
  }

  .mobile-nav-arrow {
    display: inline-flex;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #111;
    border-radius: 50%;
    cursor: pointer;
  }

  .navbar .dropdown-menu {
    position: static !important;
    transform: none !important;
    border: 0;
    box-shadow: none;
    background: #fafafa;
    margin-top: 0.35rem;
    padding-top: 0.25rem;
    max-height: 280px;
  }

  .navbar .dropdown-item {
    padding-left: 1rem;
    border-left: 2px solid #ead6a5;
    margin-left: 0.4rem;
  }

  .header-icons .btn {
    display: none !important;
  }

  .mobile-auth-item {
    border-bottom: 1px solid #f2f2f2;
    padding: 0.45rem 0;
  }

  .mobile-auth-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
  }

  .mobile-auth-buttons .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    padding: 0.38rem 0.7rem;
    font-size: 13px;
    border-radius: 10px;
  }
}

/* Remove login/signup buttons from bottom navbar (nav collapse) on all pages */
.nav-bar .mobile-auth-item,
.nav-bar .mobile-auth-buttons {
  display: none !important;
}

@media (min-width: 992px) {
  .navbar .nav-item.dropdown:hover > .dropdown-menu,
  .navbar .nav-item.dropdown:focus-within > .dropdown-menu {
    display: block;
  }

  .navbar .nav-link.dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    white-space: nowrap;
  }

  .navbar .nav-link.dropdown-toggle::after {
    margin-left: 0.15rem;
    vertical-align: middle;
    transform: translateY(1px);
    position: static;
    border-top: 0.35em solid currentColor;
    border-right: 0.35em solid transparent;
    border-left: 0.35em solid transparent;
    border-bottom: 0;
  }

  .navbar .nav-item.dropdown .dropdown-menu {
    margin-top: 0.35rem;
    min-width: 260px;
  }
}

@media (max-width: 767.98px) {
  .logo img {
    height: 64px !important;
  }

  .header-icons i {
    font-size: 21px !important;
  }

  .mobile-nav-toggle .navbar-toggler-icon {
    width: 1.35em;
    height: 1.35em;
  }
}

/* ================= UNIFIED BUTTON SYSTEM ================= */
:root {
  --btn-bg: #e6c47a;
  --btn-text: #111111;
  --btn-border: #e6c47a;
  --btn-hover-bg: #b8962e;
  --btn-hover-text: #ffffff;
  --btn-hover-border: #b8962e;
}

.btn,
.shop-btn,
.view-all-btn,
.about-shop-btn {
  background: var(--btn-bg) !important;
  color: var(--btn-text) !important;
  border: 1px solid var(--btn-border) !important;
  font-weight: 600;
  transition: all 0.25s ease;
}

.btn:hover,
.btn:focus,
.shop-btn:hover,
.shop-btn:focus,
.view-all-btn:hover,
.view-all-btn:focus,
.about-shop-btn:hover,
.about-shop-btn:focus {
  background: var(--btn-hover-bg) !important;
  color: var(--btn-hover-text) !important;
  border-color: var(--btn-hover-border) !important;
}

.btn:focus-visible,
.shop-btn:focus-visible,
.view-all-btn:focus-visible,
.about-shop-btn:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(184, 150, 46, 0.3) !important;
}

/* Remove decorative underline bars below buttons */
.btn::after,
.shop-btn::after,
.view-all-btn::after,
.about-shop-btn::after {
  content: none !important;
  display: none !important;
}

/* Remove both underlines under "Grace in Bloom" */
.grace-section .section-title::after,
.grace-section .title-underline {
  content: none !important;
  display: none !important;
}

/* Homepage hero CTA override */
body:not(.inner-page) .hero-section .shop-btn {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}

/* ================= INNER PAGE FULL-WIDTH BANNERS ================= */
.inner-page .saree-banner,
.inner-page .page-banner {
  position: relative;
  width: 100%;
  min-height: 460px;
  background-image: linear-gradient(rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.22)), url("../images/saree-banner.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
}

.about-page .page-banner {
  background-image: linear-gradient(rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.22)), url("../images/about/about-banner.png");
}

.sarees-page .saree-banner {
  background-image: linear-gradient(rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.22)), url("../images/sarees/sarees-banner.jpeg");
}

.offers-page .page-banner {
  background-image: linear-gradient(rgba(85, 45, 15, 0.42), rgba(85, 45, 15, 0.42)), url("../images/sarees/sale-1.png");
}

.offers-page .page-banner .banner-content {
  max-width: 860px;
}

.videos-page .page-banner {
  background-image: linear-gradient(rgba(25, 25, 25, 0.42), rgba(25, 25, 25, 0.42)), url("../images/home/video-3.png");
}

.videos-page .videos-hero {
  min-height: 620px;
  background-image: linear-gradient(rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.66)), url("../images/home/video-4.png");
  background-position: center;
}

.videos-page .videos-hero .banner-content {
  max-width: 700px;
}

.videos-page .videos-hero .content-box h1 {
  color: #111;
  text-shadow: none;
}

.videos-page .videos-hero .content-box p {
  color: #383838;
}

.videos-page .insta-video-section {
  background: #f4f4f4;
}

.videos-page .insta-title {
  font-size: clamp(2.1rem, 4.5vw, 4rem);
  color: #101010;
  font-weight: 600;
}

.videos-page .insta-slider-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.videos-page .insta-slider-controls {
  display: inline-flex;
  gap: 8px;
}

.videos-page .insta-nav-btn {
  width: 38px;
  height: 38px;
  border: 1px solid #c7c1ba;
  background: #fff;
  border-radius: 8px;
  color: #2c2c2c;
}

.videos-page .insta-slider {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (18px * 4)) / 5);
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 6px;
}

.videos-page .insta-slider::-webkit-scrollbar {
  height: 8px;
}

.videos-page .insta-slider::-webkit-scrollbar-thumb {
  background: #c9b79e;
  border-radius: 999px;
}

.videos-page .youtube-card {
  border-radius: 18px;
  overflow: hidden;
  background: #111;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.videos-page .youtube-card iframe {
  width: 100%;
  aspect-ratio: 9 / 16;
  border: 0;
  display: block;
}

.videos-page .insta-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #ece8df;
  scroll-snap-align: start;
}

.videos-page .insta-card img,
.videos-page .insta-card iframe {
  width: 100%;
  aspect-ratio: 9 / 16;
  border: 0;
  object-fit: cover;
  display: block;
}

.videos-page .insta-duration {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  background: rgba(255, 255, 255, 0.86);
  border-radius: 999px;
  padding: 4px 10px;
}

@media (max-width: 1399.98px) {
  .videos-page .insta-slider {
    grid-auto-columns: calc((100% - (18px * 3)) / 4);
  }
}

@media (max-width: 1199.98px) {
  .videos-page .insta-slider {
    grid-auto-columns: calc((100% - (18px * 2)) / 3);
  }
}

@media (max-width: 991.98px) {
  .videos-page .videos-hero {
    min-height: 470px;
  }

  .videos-page .insta-slider {
    grid-auto-columns: calc((100% - 18px) / 2);
  }
}

@media (max-width: 767.98px) {
  .videos-page .videos-hero {
    min-height: 360px;
  }

  .videos-page .insta-slider {
    grid-auto-columns: 100%;
    gap: 14px;
  }

  .videos-page .insta-slider-head {
    align-items: flex-end;
  }

  .videos-page .insta-duration {
    font-size: 12px;
    padding: 3px 9px;
  }
}

.inner-page .saree-banner .container-fluid,
.inner-page .saree-banner .row,
.inner-page .page-banner .container {
  min-height: 460px;
}

.inner-page .saree-banner .banner-image {
  display: none;
}

.inner-page .saree-banner .banner-content,
.inner-page .page-banner .banner-content {
  width: 100%;
  max-width: 680px;
  padding: 70px 24px;
  background: transparent;
}

.inner-page .saree-banner .content-box h1,
.inner-page .page-banner .content-box h1 {
  color: #fff;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

.inner-page .saree-banner .content-box p,
.inner-page .page-banner .content-box p {
  color: rgba(255, 255, 255, 0.94);
}

@media (max-width: 991.98px) {
  .inner-page .saree-banner,
  .inner-page .page-banner {
    min-height: 380px;
  }

  .inner-page .saree-banner .container-fluid,
  .inner-page .saree-banner .row,
  .inner-page .page-banner .container {
    min-height: 380px;
  }

  .inner-page .saree-banner .banner-content,
  .inner-page .page-banner .banner-content {
    max-width: 100%;
    padding: 52px 20px;
    text-align: left;
  }
}

@media (max-width: 575.98px) {
  .inner-page .saree-banner,
  .inner-page .page-banner {
    min-height: 320px;
  }

  .inner-page .saree-banner .container-fluid,
  .inner-page .saree-banner .row,
  .inner-page .page-banner .container {
    min-height: 320px;
  }

  .inner-page .saree-banner .banner-content,
  .inner-page .page-banner .banner-content {
    padding: 36px 16px;
  }
}

/* ================= SPECIAL OFFERS PAGE ================= */
.offers-page .offers-title {
  font-size: clamp(2rem, 4.4vw, 4rem);
  font-weight: 600;
  color: #111;
}

.offers-page .offers-category-label {
  color: #9a7a3f;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.offers-page .offer-product-card .dynamic-product-link {
  color: inherit;
  display: block;
  text-decoration: none;
}

.offers-page .offer-product-card .price {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
}

.offers-page .offer-product-card .price .old {
  color: #777;
  font-size: 0.9rem;
  text-decoration: line-through;
}

.offers-page .offer-product-card .price .offer {
  color: #9d2f29;
  font-size: 0.82rem;
  font-weight: 700;
}

.offers-page .offers-empty-state {
  background: #f3f3f3;
  min-height: 320px;
}

.offers-page .offers-collection-section {
  background: #f3f3f3;
}

.offers-page .offers-kids-section {
  background: #e7d89d;
}

.offers-page .offers-grid {
  display: grid;
  gap: 24px;
}

.offers-page .offers-grid-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.offers-page .offers-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.offers-page .offer-product-card,
.offers-page .offer-temple-card {
  background: transparent;
}

.offers-page .offer-media {
  position: relative;
  overflow: hidden;
  background: #ece5d7;
}

.offers-page .offer-media img {
  width: 100%;
  height: 520px;
  object-fit: cover;
  display: block;
}

.offers-page .offer-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: #ea3f51;
  color: #fff;
  font-size: 14px;
  line-height: 1.05;
  font-weight: 700;
  text-align: center;
  padding: 10px 8px;
  min-width: 66px;
  border-radius: 999px;
}

.offers-page .offer-info {
  padding-top: 14px;
}

.offers-page .offer-info h6,
.offers-page .offer-info h5 {
  margin-bottom: 6px;
  font-weight: 600;
}

.offers-page .offer-info p {
  margin-bottom: 0;
}

.offers-page .offers-promo-strip {
  background: #f3f3f3;
}

.offers-page .offers-promo-strip img {
  width: 100%;
  height: 700px;
  object-fit: cover;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}

.offers-page .offers-temple-section {
  background: #f3f3f3;
}

.offers-page .offer-temple-card {
  background: #e7d89d;
  padding: 22px 22px 18px;
}

.offers-page .offer-temple-card .offer-media img {
  height: 520px;
}

.offers-page .offer-temple-card .offer-info {
  text-align: center;
}

@media (max-width: 1399.98px) {
  .offers-page .offers-grid-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1199.98px) {
  .offers-page .offers-grid-5,
  .offers-page .offers-grid-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .offers-page .offer-media img,
  .offers-page .offer-temple-card .offer-media img {
    height: 440px;
  }

  .offers-page .offers-promo-strip img {
    height: 560px;
  }
}

@media (max-width: 991.98px) {
  .offers-page .offers-grid-5,
  .offers-page .offers-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .offers-page .offers-promo-strip img {
    height: 500px;
  }
}

@media (max-width: 767.98px) {
  .offers-page .offers-grid-5,
  .offers-page .offers-grid-4 {
    grid-template-columns: 1fr;
  }

  .offers-page .offers-kids-section .d-flex {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 12px;
  }

  .offers-page .offer-media img,
  .offers-page .offer-temple-card .offer-media img {
    height: 420px;
  }

  .offers-page .offers-promo-strip img {
    height: 460px;
  }
}

/* Sarees page extra sections */
.saree-poster-strip {
  background: #bea154;
}

.poster-img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}

.review-heading {
  font-size: clamp(2rem, 4.2vw, 4rem);
  font-family: 'Playfair Display', serif;
}

.review-heading span {
  color: #b8962e;
  font-family: cursive;
}

.review-card {
  background: #fff;
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  height: 100%;
}

.review-card img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: 14px;
}

.review-card .stars {
  margin-top: 10px;
  font-size: 22px;
}

.review-card p {
  font-size: 14px;
  color: #333;
}

.saree-faq-section {
  background: #e8dbad;
}

.faq-title {
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-family: 'Playfair Display', serif;
}

.saree-faq-section .accordion-item {
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.28);
  background: transparent;
}

.saree-faq-section .accordion-button {
  background: transparent;
  padding: 1.2rem 0.2rem;
  box-shadow: none !important;
  font-size: clamp(1.1rem, 2.3vw, 2rem);
  color: #111;
}

.saree-faq-section .accordion-button:not(.collapsed) {
  color: #111;
}

.saree-faq-section .accordion-body {
  padding: 0 0.2rem 1rem;
  color: #333;
}

/* About page accessories circle background */
.about-page .accessories-section .circle-bg {
  background: #ffffff;
}

/* Contact page sections */
.contact-page .contact-hero {
  background-image: linear-gradient(rgba(108, 61, 24, 0.56), rgba(108, 61, 24, 0.56)), url("../images/sarees/sarees-banner.jpeg");
  background-position: center;
}

.contact-page .contact-intro {
  background: #ececec;
  padding: 86px 0 48px;
}

.contact-page .contact-intro h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.3rem, 5vw, 4.6rem);
  margin-bottom: 18px;
}

.contact-page .contact-intro p {
  font-size: clamp(1.1rem, 2.2vw, 2.2rem);
  font-weight: 600;
  margin: 0;
}

.contact-page .contact-block {
  background: #efe2ad;
}

.contact-page .contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.contact-page .contact-left,
.contact-page .contact-right {
  padding: clamp(2.2rem, 5vw, 5rem);
}

.contact-page .contact-left {
  background: #e9dcab;
}

.contact-page .contact-right {
  background: #bea154;
}

.contact-page .contact-grid h3 {
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 700;
  margin-bottom: 22px;
}

.contact-page .lead-text {
  font-size: 1.05rem;
  max-width: 640px;
  margin-bottom: 40px;
}

.contact-page .info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 28px;
}

.contact-page .info-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.contact-page .icon-ring {
  width: 68px;
  height: 68px;
  min-width: 68px;
  border: 2px solid rgba(0, 0, 0, 0.8);
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.contact-page .icon-ring i {
  font-size: 31px;
}

.contact-page .info-item h4 {
  font-size: 2rem;
  margin-bottom: 6px;
  font-weight: 700;
}

.contact-page .info-item p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.4;
}

.contact-page .contact-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.contact-page .contact-form-grid input,
.contact-page .contact-form-grid textarea {
  width: 100%;
  border: 2px solid rgba(0, 0, 0, 0.28);
  padding: 16px 22px;
  background: transparent;
  font-size: 1.1rem;
}

.contact-page .contact-form-grid textarea {
  grid-column: 1 / -1;
  min-height: 190px;
  resize: vertical;
}

.contact-page .submit-btn {
  grid-column: 1 / -1;
  border: 0;
  border-radius: 999px;
  padding: 16px 24px;
  background: #e9e9e9;
  font-size: 2.1rem;
  font-weight: 700;
}

.contact-page .contact-promo {
  border-top: 28px solid #efefef;
  border-bottom: 20px solid #efefef;
}

.contact-page .promo-inner {
  position: relative;
  min-height: 640px;
}

.contact-page .promo-inner img {
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  display: block;
}

.contact-page .promo-copy {
  position: absolute;
  right: 8%;
  top: 50%;
  transform: translateY(-50%);
  color: #1f2235;
  max-width: 520px;
}

.contact-page .promo-copy h3 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.4rem, 4.8vw, 5rem);
  margin-bottom: 12px;
}

.contact-page .promo-line {
  width: 180px;
  height: 4px;
  background: #8d2020;
  display: block;
  margin-bottom: 18px;
}

.contact-page .promo-copy h4 {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: clamp(2rem, 4vw, 3.8rem);
  margin-bottom: 20px;
}

.contact-page .promo-copy p {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: clamp(1.3rem, 2.6vw, 2.2rem);
  margin-bottom: 26px;
}

.contact-page .promo-cta {
  display: inline-block;
  text-decoration: none;
  color: #fff;
  background: #8d2020;
  padding: 10px 28px;
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  line-height: 1;
}

.contact-page .trust-strip {
  background: #e9dcab;
  border-top: 16px solid #efefef;
  border-bottom: 16px solid #efefef;
  padding: 42px 0 50px;
}

.contact-page .trust-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 22px;
}

.contact-page .trust-item {
  text-align: left;
}

.contact-page .trust-item i {
  font-size: 3rem;
  margin-bottom: 16px;
  display: inline-block;
}

.contact-page .trust-item h5 {
  font-size: 2.05rem;
  font-weight: 700;
  margin-bottom: 12px;
}

.contact-page .trust-item p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.35;
}

.contact-page .contact-map iframe {
  border: 0;
  width: 100%;
  height: 680px;
  display: block;
}

@media (max-width: 1200px) {
  .contact-page .trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 991.98px) {
  .contact-page .contact-grid {
    grid-template-columns: 1fr;
  }

  .contact-page .info-grid {
    grid-template-columns: 1fr;
  }

  .contact-page .promo-copy {
    position: static;
    transform: none;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.82);
    margin: 18px;
    padding: 20px;
  }

  .contact-page .promo-inner {
    min-height: 0;
  }

  .contact-page .promo-inner img {
    min-height: 420px;
  }
}

@media (max-width: 767.98px) {
  .contact-page .contact-form-grid {
    grid-template-columns: 1fr;
  }

  .contact-page .trust-grid {
    grid-template-columns: 1fr;
  }

  .contact-page .submit-btn {
    font-size: 1.35rem;
  }

  .contact-page .contact-map iframe {
    height: 420px;
  }
}

/* ================= GLOBAL TYPOGRAPHY STANDARD ================= */
:root {
  --std-h1-size: 56px;
  --std-h2-size: 44px;
  --std-h3-size: 34px;
  --std-h4-size: 28px;
  --std-h5-size: 22px;
  --std-h6-size: 18px;
  --std-subheading-size: 28px;
  --std-paragraph-size: 18px;
}

body h1 {
  font-size: var(--std-h1-size) !important;
  line-height: 1.2 !important;
}

body h2 {
  font-size: var(--std-h2-size) !important;
  line-height: 1.2 !important;
}

body h3 {
  font-size: var(--std-h3-size) !important;
  line-height: 1.25 !important;
}

body h4 {
  font-size: var(--std-h4-size) !important;
  line-height: 1.25 !important;
}

body h5 {
  font-size: var(--std-h5-size) !important;
  line-height: 1.3 !important;
}

body h6 {
  font-size: var(--std-h6-size) !important;
  line-height: 1.35 !important;
}

body p {
  font-size: var(--std-paragraph-size) !important;
  line-height: 1.6 !important;
}

/* Footer legal links */
.footer-legal-links {
  margin-top: 12px;
  margin-bottom: 0;
  font-size: 15px !important;
}

.footer-legal-links a {
  color: #e6c47a;
  text-decoration: none;
}

.footer-legal-links a:hover {
  color: #fff6d5;
  text-decoration: underline;
}

/* Legal pages */
.legal-page .legal-content {
  background: #f8f6f4;
}

.legal-page .legal-card {
  background: #fff;
  border-radius: 14px;
  padding: clamp(22px, 4vw, 44px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}

.legal-page .legal-card h2,
.legal-page .legal-card h3 {
  margin-top: 8px;
  margin-bottom: 12px;
}

.legal-page .legal-card p {
  margin-bottom: 14px;
}

.return-policy-page .return-policy-intro {
  max-width: 850px;
  margin-bottom: 28px;
  color: #5e554d;
}

.return-policy-list {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: return-policy-item;
}

.return-policy-list li {
  position: relative;
  padding: 20px 22px 18px 74px;
  border: 1px solid #eadfc9;
  border-radius: 12px;
  background: #fffcf6;
  counter-increment: return-policy-item;
}

.return-policy-list li::before {
  content: counter(return-policy-item);
  position: absolute;
  top: 20px;
  left: 22px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #2f271f;
  color: #f2d28c;
  font-weight: 700;
}

.return-policy-list h3 {
  margin: 0 0 7px !important;
  color: #33291f;
}

.return-policy-list p {
  margin: 0 !important;
  color: #62584e;
}

.return-policy-contact {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #eadfc9;
}

.return-policy-contact h2 {
  margin-top: 0 !important;
}

.return-policy-contact a,
.return-policy-thanks a {
  color: #86631f;
  font-weight: 600;
}

.return-policy-thanks {
  margin-bottom: 0 !important;
}

/* ================= ACCESSORIES PAGE REBUILD ================= */
.accessories-page .accessories-hero {
  min-height: 460px;
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
  position: relative;
}

.accessories-page .accessories-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.18);
}

.accessories-page .accessories-hero-content {
  position: relative;
  z-index: 1;
  max-width: 640px;
  color: #fff;
  padding: 28px;
}

.accessories-page .accessories-hero-content h1 {
  margin-bottom: 14px;
}

.accessories-page .accessories-hero-content p {
  margin: 0;
}

.accessories-page .accessories-product-section {
  background: #f3f3f3;
}

.accessories-page .accessories-section-title {
  font-family: 'Playfair Display', serif;
  color: #111;
  margin: 0;
}

.accessories-page .accessories-grid {
  display: grid;
  gap: 24px;
}

.accessories-page .accessories-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.accessories-page .accessories-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.accessories-page .accessories-card {
  background: #fff;
  padding: 10px;
}

.accessories-page .accessories-card .product-img img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.accessories-page .accessories-card .product-info {
  padding: 12px 0 4px;
}

.accessories-page .accessories-card h6 {
  color: #7b563f;
}

.accessories-page .accessories-card .price .new {
  margin-right: 8px;
}

.accessories-page .accessories-card .price .offer {
  background: #d8cec3;
  border-radius: 3px;
  padding: 1px 8px;
}

.accessories-page .accessories-promo-strip {
  background: #e8d89e;
  padding: 50px 0;
}

.accessories-page .accessories-promo-strip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.accessories-page .accessories-dupattas {
  background: #e9e3e3;
  padding: 30px;
}

.accessories-page .accessories-blouses {
  background: #f5f5f5;
}

.accessories-page .blouse-card {
  text-align: center;
  background: #ebdb9f;
  padding: 14px 14px 24px;
  height: 100%;
}

.accessories-page .blouse-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  margin-bottom: 14px;
}

.accessories-page .blouse-card h4,
.accessories-page .blouse-card p {
  margin: 0;
}

.accessories-page .accessories-aari {
  background: #e9dcab;
}

.accessories-page .gudi-section {
  background: #c8ab53;
}

.accessories-page .gudi-content h3 {
  font-family: 'Playfair Display', serif;
  margin-bottom: 14px;
}

.accessories-page .gudi-content p {
  margin-bottom: 14px;
}

.accessories-page .gudi-btn {
  border: 2px solid #212121;
  border-radius: 30px;
  padding: 10px 24px;
  color: #111;
  font-weight: 600;
}

.accessories-page .gudi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px 22px;
}

.accessories-page .gudi-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 8px;
}

.accessories-page .gudi-card h5 {
  font-family: 'Playfair Display', serif;
  margin-bottom: 8px;
}

.accessories-page .gudi-btn-small {
  background: #fff;
  border-radius: 28px;
  padding: 6px 16px;
  font-weight: 600;
}

.accessories-page .accessories-new-arrival img {
  width: 100%;
  display: block;
}

@media (max-width: 1199.98px) {
  .accessories-page .accessories-grid-five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .accessories-page .gudi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .accessories-page .accessories-hero {
    min-height: 380px;
  }

  .accessories-page .accessories-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accessories-page .accessories-dupattas {
    padding: 16px;
  }
}

@media (max-width: 767.98px) {
  .accessories-page .accessories-grid-five,
  .accessories-page .accessories-grid-four,
  .accessories-page .gudi-grid {
    grid-template-columns: 1fr;
  }

  .accessories-page .accessories-product-section,
  .accessories-page .accessories-blouses,
  .accessories-page .accessories-aari,
  .accessories-page .gudi-section {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .accessories-page .accessories-hero-content {
    padding: 14px;
  }
}

/* ================= JEWELLERY PAGE REBUILD ================= */
.jewellery-page .jewellery-hero {
  min-height: 460px;
  background-size: cover;
  background-position: center;
}

.jewellery-page .jewellery-products {
  background: #f3f3f3;
}

.jewellery-page .jew-section-title {
  font-family: 'Playfair Display', serif;
  margin: 0;
  color: #111;
}

.jewellery-page .jew-grid {
  display: grid;
  gap: 24px;
}

.jewellery-page .jew-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.jewellery-page .jew-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.jewellery-page .jew-card {
  background: transparent;
}

.jewellery-page .jew-card .product-img img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.jewellery-page .jew-card .product-info {
  padding: 10px 0 0;
}

.jewellery-page .jew-card h6 {
  color: #7b563f;
}

.jewellery-page .jew-card .price .new {
  margin-right: 8px;
}

.jewellery-page .jew-card .price .offer {
  background: #d8cec3;
  border-radius: 3px;
  padding: 1px 8px;
}

.jewellery-page .jew-radiant {
  background: #e9dcab;
  padding: 70px 0;
}

.jewellery-page .jew-radiant img {
  width: 100%;
  border-radius: 24px;
}

.jewellery-page .jew-radiant h2,
.jewellery-page .jew-collection h2 {
  font-family: 'Playfair Display', serif;
  margin-bottom: 14px;
}

.jewellery-page .j-btn-outline {
  border: 2px solid #1c1c1c;
  border-radius: 32px;
  padding: 10px 28px;
  color: #111;
  font-weight: 600;
}

.jewellery-page .jew-collection {
  background: #e9dcab;
  padding: 76px 0;
}

.jewellery-page .j-collection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.jewellery-page .j-collection-item img {
  width: 100%;
  border-radius: 16px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 12px;
}

.jewellery-page .j-collection-item h4 {
  font-family: 'Playfair Display', serif;
}

.jewellery-page .j-btn-pill {
  background: #fff;
  border-radius: 28px;
  padding: 6px 16px;
  font-weight: 600;
}

.jewellery-page .jew-temple {
  background: #f3f3f3;
}

.jewellery-page .temple-card {
  background: #e9dcab;
  padding: 16px 16px 20px;
  text-align: center;
  height: 100%;
}

.jewellery-page .temple-card img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  margin-bottom: 14px;
}

.jewellery-page .temple-card h4 {
  margin-bottom: 8px;
}

.jewellery-page .temple-card p {
  margin: 0;
}

.jewellery-page .jew-diamond {
  background: #c6a852;
  padding: 64px 0;
  text-align: center;
}

.jewellery-page .j-diamond-images {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0 30px;
}

.jewellery-page .j-diamond-images img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.jewellery-page .jew-diamond p {
  max-width: 920px;
  margin: 0 auto 24px;
}

.jewellery-page .jew-all-rounders img {
  width: 100%;
  display: block;
}

@media (max-width: 1199.98px) {
  .jewellery-page .jew-grid-five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .jewellery-page .j-collection-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991.98px) {
  .jewellery-page .jewellery-hero {
    min-height: 380px;
  }

  .jewellery-page .jew-grid-four,
  .jewellery-page .j-diamond-images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .jewellery-page .jew-grid-five,
  .jewellery-page .jew-grid-four,
  .jewellery-page .j-diamond-images {
    grid-template-columns: 1fr;
  }

  .jewellery-page .jewellery-hero {
    min-height: 320px;
  }

  .jewellery-page .jew-radiant,
  .jewellery-page .jew-collection,
  .jewellery-page .jew-diamond {
    padding: 2rem 0;
  }
}

/* ================= FLOATING CONTACT BUTTONS ================= */
.floating-contact-buttons {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.floating-contact-buttons .floating-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.floating-contact-buttons .floating-btn i {
  font-size: 1.35rem;
  line-height: 1;
}

.floating-contact-buttons .call-btn {
  background: linear-gradient(135deg, #d9b45f, #b4882e);
}

.floating-contact-buttons .whatsapp-btn {
  background: #25d366;
}

.floating-contact-buttons .floating-btn::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.55);
  animation: floatPulse 1.8s infinite ease-out;
}

.floating-contact-buttons .floating-btn:hover {
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.3);
}

@keyframes floatPulse {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  70% {
    transform: scale(1.28);
    opacity: 0;
  }
  100% {
    transform: scale(1.28);
    opacity: 0;
  }
}

@media (max-width: 767.98px) {
  .floating-contact-buttons {
    right: 12px;
    bottom: 12px;
    gap: 10px;
  }

  .floating-contact-buttons .floating-btn {
    width: 48px;
    height: 48px;
  }
}

/* ================= GLOBAL UX ENHANCEMENTS ================= */
:root {
  --ux-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ux-fast: 0.22s;
  --ux-med: 0.38s;
  --ux-slow: 0.6s;
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a,
button,
.btn,
.nav-link,
.dropdown-item,
input,
textarea,
select {
  transition: color var(--ux-fast) var(--ux-ease), background-color var(--ux-fast) var(--ux-ease),
    border-color var(--ux-fast) var(--ux-ease), transform var(--ux-fast) var(--ux-ease),
    box-shadow var(--ux-fast) var(--ux-ease), opacity var(--ux-fast) var(--ux-ease);
}

.btn:hover,
button:hover {
  transform: translateY(-2px);
}

.btn:active,
button:active {
  transform: translateY(0) scale(0.98);
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(230, 196, 122, 0.55);
  outline-offset: 2px;
}

.nav-link {
  position: relative;
}

.nav-link:not(.dropdown-toggle)::after {
  content: "";
  position: absolute;
  bottom: 24px;
  width: calc(100% - 28px);
  height: 2px;
  background: #b4882e;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--ux-med) var(--ux-ease);
}

.nav-link:not(.dropdown-toggle):hover::after,
.nav-link:not(.dropdown-toggle).active::after {
  transform: scaleX(1);
}

img {
  transition: transform var(--ux-slow) var(--ux-ease), filter var(--ux-med) var(--ux-ease),
    box-shadow var(--ux-med) var(--ux-ease);
}

.product-card:hover img,
.saree-card:hover img,
.jewel-card:hover img,
.accessory-card:hover img,
.review-card:hover img,
.temple-card:hover img,
.blouse-card:hover img,
.jew-card:hover img,
.gudi-card:hover img,
.j-collection-item:hover img {
  transform: scale(1.03);
  filter: saturate(1.04) contrast(1.03);
}

.product-card,
.saree-card,
.jewel-card,
.accessory-card,
.why-card,
.review-card,
.temple-card,
.blouse-card,
.jew-card,
.info-item,
.trust-item,
.usp-box,
.j-collection-item,
.gudi-card {
  transition: transform var(--ux-med) var(--ux-ease), box-shadow var(--ux-med) var(--ux-ease),
    background-color var(--ux-med) var(--ux-ease);
}

.product-card:hover,
.why-card:hover,
.review-card:hover,
.temple-card:hover,
.blouse-card:hover,
.j-collection-item:hover,
.gudi-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

.search-box input:focus {
  box-shadow: 0 0 0 0.22rem rgba(230, 196, 122, 0.35);
}

.floating-contact-buttons .floating-btn {
  animation: floatBob 3.4s ease-in-out infinite;
}

.floating-contact-buttons .whatsapp-btn {
  animation-delay: 0.22s;
}

@keyframes floatBob {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

}

/* ================= INNER PAGE BANNER BREADCRUMB ================= */
.inner-page .page-banner,
.inner-page .saree-banner,
.inner-page .accessories-hero,
.inner-page .jewellery-hero,
.inner-page .dresses-hero {
  position: relative;
}

.banner-breadcrumb {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 18px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 18px 0 10px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.38);
  color: #fff;
  font-size: 14px !important;
  font-weight: 500;
  letter-spacing: 0.2px;
}

.banner-breadcrumb a {
  color: #fff;
  text-decoration: none;
}

.banner-breadcrumb a:hover {
  color: #e6c47a;
}

.banner-breadcrumb span {
  opacity: 0.75;
}

.banner-breadcrumb strong {
  color: #e6c47a;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .banner-breadcrumb {
    top: 10px;
    margin: 10px 0 8px;
    font-size: 12px !important;
    padding: 5px 12px;
  }

}

/* ================= DRESSES / LEHENGAS PAGE ================= */
.dresses-page .dresses-hero {
  min-height: 520px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.dresses-page .dresses-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.18);
}

.dresses-page .dresses-hero-content {
  position: relative;
  z-index: 1;
  color: #fff;
  max-width: 640px;
  padding: 24px;
  text-align: left !important;
  margin-right: auto;
}

.dresses-page .dresses-hero-content h1 {
  font-size: clamp(2.1rem, 4.7vw, 4rem);
  font-weight: 600;
  margin-bottom: 10px;
}

.dresses-page .dresses-hero-content p {
  font-size: clamp(1rem, 2vw, 1.45rem);
  margin-bottom: 16px;
}

.dresses-page .dress-products {
  background: #f3f3f3;
}

.dresses-page .dress-section-title {
  margin: 0;
  font-size: clamp(2rem, 4.3vw, 4rem);
  font-weight: 600;
  color: #101010;
}

.dresses-page .dress-grid {
  display: grid;
  gap: 28px;
}

.dresses-page .dress-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dresses-page .dress-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dresses-page .dress-card .product-img {
  border-radius: 0;
  overflow: hidden;
  background: #e7dfcf;
}

.dresses-page .dress-card .product-img img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  display: block;
}

.dresses-page .dress-card .product-info {
  padding-top: 12px;
}

.dresses-page .dress-card h6 {
  font-size: 1.02rem;
  margin-bottom: 8px;
}

.dresses-page .dress-highlight,
.dresses-page .kids-section,
.dresses-page .dress-partywear {
  background: #e7d89d;
}

.dresses-page .dress-highlight .container,
.dresses-page .kids-section .container,
.dresses-page .dress-partywear .container {
  padding-top: 22px;
  padding-bottom: 10px;
}

.dresses-page .dress-highlight .dress-grid img {
  width: 100%;
  height: 520px;
  object-fit: cover;
}

.dresses-page .dress-highlight p {
  max-width: 950px;
  margin: 18px auto 22px;
  text-align: center;
}

.dresses-page .dress-outline-btn {
  border: 2px solid #1a1a1a;
  border-radius: 999px;
  padding: 10px 38px;
  font-weight: 600;
}

.dresses-page .dress-outline-btn:hover {
  background: #111;
  color: #fff;
}

.dresses-page .party-card {
  background: #e7d89d;
  text-align: center;
}

.dresses-page .party-card img {
  width: 100%;
  height: 560px;
  object-fit: cover;
}

.dresses-page .party-card h4 {
  margin-top: 16px;
  font-size: 2rem;
}

.dresses-page .party-card p {
  margin-bottom: 0;
}

.dresses-page .three-banner-strip {
  background: #f3f3f3;
}

.dresses-page .three-banner-strip img {
  width: 100%;
  height: 620px;
  object-fit: cover;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
}

.dresses-page .dress-offer-banner {
  background: #f3f3f3;
}

.dresses-page .dress-offer-banner img {
  width: 100%;
  max-height: 720px;
  object-fit: cover;
}

.dresses-page .celebration-sub {
  margin: 8px 0 0;
  font-size: 1.55rem;
  color: #7a4c2e;
}

.dresses-page .three-banner-strip-last img {
  height: 700px;
}

@media (max-width: 1399.98px) {
  .dresses-page .dress-grid-five {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1199.98px) {
  .dresses-page .dress-grid-five,
  .dresses-page .dress-grid-four {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dresses-page .dress-card .product-img img {
    height: 360px;
  }

  .dresses-page .party-card img {
    height: 500px;
  }
}

@media (max-width: 991.98px) {
  .dresses-page .dress-grid-five,
  .dresses-page .dress-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .dresses-page .dress-section-title {
    font-size: clamp(1.7rem, 5vw, 2.4rem);
  }

  .dresses-page .three-banner-strip img {
    height: 520px;
  }

  .dresses-page .three-banner-strip-last img {
    height: 560px;
  }
}

@media (max-width: 767.98px) {
  .dresses-page .dresses-hero {
    min-height: 360px;
  }

  .dresses-page .dress-products .d-flex,
  .dresses-page .kids-section .d-flex,
  .dresses-page .dress-partywear .d-flex {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 12px;
  }

  .dresses-page .dress-grid-five,
  .dresses-page .dress-grid-four {
    grid-template-columns: 1fr;
  }

  .dresses-page .dress-card .product-img img {
    height: 420px;
  }

  .dresses-page .party-card img {
    height: 440px;
  }

  .dresses-page .three-banner-strip img,
  .dresses-page .three-banner-strip-last img {
    height: 460px;
  }
}

/* ================= FINAL STANDARD FIXES ================= */
/* 1) Same banner height on all inner pages (except homepage) */
.inner-page .page-banner,
.inner-page .saree-banner,
.inner-page .accessories-hero,
.inner-page .jewellery-hero,
.inner-page .dresses-hero,
.inner-page .videos-hero,
.inner-page .offers-hero,
.inner-page .about-hero-section {
  min-height: 520px !important;
  background-size: cover !important;
  background-position: center !important;
}

@media (max-width: 991.98px) {
  .inner-page .page-banner,
  .inner-page .saree-banner,
  .inner-page .accessories-hero,
  .inner-page .jewellery-hero,
  .inner-page .dresses-hero,
  .inner-page .videos-hero,
  .inner-page .offers-hero,
  .inner-page .about-hero-section {
    min-height: 420px !important;
  }
}

@media (max-width: 767.98px) {
  .inner-page .page-banner,
  .inner-page .saree-banner,
  .inner-page .accessories-hero,
  .inner-page .jewellery-hero,
  .inner-page .dresses-hero,
  .inner-page .videos-hero,
  .inner-page .offers-hero,
  .inner-page .about-hero-section {
    min-height: 320px !important;
  }
}

/* 2) Fix Dresses/Lehengas product image style */
.dresses-page .dress-grid .product-card,
.dresses-page .dress-grid .dress-card {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.dresses-page .dress-grid .product-img {
  width: 100% !important;
  overflow: hidden !important;
}

.dresses-page .dress-grid .product-img img {
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  display: block !important;
}

/* 2b) Prevent section overlap on Dresses / Lehengas page */
.dresses-page .dress-products,
.dresses-page .dress-highlight,
.dresses-page .dress-partywear,
.dresses-page .kids-section,
.dresses-page .dress-offer-banner,
.dresses-page .three-banner-strip {
  position: relative;
  z-index: 1;
  margin-top: 0 !important;
  clear: both;
}

.dresses-page .dress-products + .dress-highlight,
.dresses-page .dress-highlight + .dress-partywear,
.dresses-page .dress-partywear + .three-banner-strip,
.dresses-page .three-banner-strip + .kids-section,
.dresses-page .kids-section + .dress-offer-banner,
.dresses-page .dress-offer-banner + .dress-products,
.dresses-page .dress-products + .three-banner-strip-last {
  padding-top: 48px;
}

.dresses-page .dress-card .product-info {
  position: static !important;
  margin-top: 0 !important;
}

@media (max-width: 1199.98px) {
  .dresses-page .dress-grid .product-img img {
    height: 360px !important;
  }
}

@media (max-width: 767.98px) {
  .dresses-page .dress-grid .product-img img {
    height: 420px !important;
  }
}

/* 2c) Keep Dresses / Lehengas banner breadcrumb at center-top */
.dresses-page .dresses-hero {
  position: relative;
}

.dresses-page .dresses-hero .banner-breadcrumb {
  top: 14px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 3;
  white-space: nowrap;
}

.dresses-page .dresses-hero .dresses-hero-content {
  padding-top: 72px;
}

/* Inner banner content should stay left-aligned on all pages (except homepage). */
.inner-page .page-banner .banner-content,
.inner-page .saree-banner .banner-content,
.inner-page .accessories-hero .accessories-hero-content,
.inner-page .jewellery-hero .banner-content,
.inner-page .dresses-hero .dresses-hero-content {
  text-align: left !important;
}

.inner-page .accessories-hero .accessories-hero-content,
.inner-page .jewellery-hero .banner-content,
.inner-page .dresses-hero .dresses-hero-content {
  max-width: 680px;
  margin-right: auto;
  padding-top: 86px;
}

/* Banner text and CTA alignment fixes (Jewellery, Accessories, Dresses/Lehangas) */
.inner-page .jewellery-hero .banner-content,
.inner-page .accessories-hero .accessories-hero-content,
.inner-page .dresses-hero .dresses-hero-content {
  text-align: left !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

/* Remove white/gradient panel from Jewellery banner content */
.inner-page .jewellery-hero .banner-content {
  background: transparent !important;
  width: 100%;
}

.inner-page .jewellery-hero .banner-content .content-box {
  background: transparent !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.inner-page .accessories-hero .accessories-hero-content .shop-btn,
.inner-page .jewellery-hero .banner-content .shop-btn,
.inner-page .dresses-hero .dresses-hero-content .shop-btn,
.inner-page .page-banner .banner-content .shop-btn,
.inner-page .saree-banner .banner-content .shop-btn {
  margin-top: 14px;
}

/* ================= DESIGN PROTOCOL: SPACING + RESPONSIVE STANDARDS ================= */
:root {
  --page-gutter-desktop: 32px;
  --page-gutter-tablet: 24px;
  --page-gutter-mobile: 16px;
  --section-space-desktop: 72px;
  --section-space-tablet: 56px;
  --section-space-mobile: 40px;
}

.container,
.container-fluid {
  padding-left: var(--page-gutter-desktop);
  padding-right: var(--page-gutter-desktop);
}

.inner-page section {
  margin: 0;
}

@media (max-width: 991.98px) {
  .container,
  .container-fluid {
    padding-left: var(--page-gutter-tablet);
    padding-right: var(--page-gutter-tablet);
  }
}

@media (max-width: 767.98px) {
  .container,
  .container-fluid {
    padding-left: var(--page-gutter-mobile);
    padding-right: var(--page-gutter-mobile);
  }
}

/* ================= DRESSES / LEHENGAS: LAYOUT + RESPONSIVE FIXES ================= */
.dresses-page .dresses-hero-content {
  padding-inline: 0;
}

.dresses-page .dress-products,
.dresses-page .dress-highlight,
.dresses-page .dress-partywear,
.dresses-page .kids-section,
.dresses-page .dress-offer-banner,
.dresses-page .three-banner-strip,
.dresses-page .three-banner-strip-last {
  padding-top: var(--section-space-desktop) !important;
  padding-bottom: var(--section-space-desktop) !important;
}

.dresses-page .dress-products .d-flex,
.dresses-page .dress-partywear .d-flex,
.dresses-page .kids-section .d-flex {
  gap: 18px;
  flex-wrap: wrap;
}

.dresses-page .dress-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
}

.dresses-page .dress-grid-five,
.dresses-page .dress-grid-four {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.dresses-page .dress-card .product-img img {
  height: auto !important;
  aspect-ratio: 3 / 4;
}

.dresses-page .dress-highlight .dress-grid img {
  height: auto;
  aspect-ratio: 3 / 4;
}

.dresses-page .party-card img {
  height: auto;
  aspect-ratio: 3 / 4;
}

.dresses-page .party-card h4 {
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.dresses-page .three-banner-strip img,
.dresses-page .three-banner-strip-last img {
  height: auto;
  aspect-ratio: 3 / 4;
}

.dresses-page .dress-offer-banner img {
  height: auto;
  max-height: none;
}

@media (max-width: 991.98px) {
  .dresses-page .dress-products,
  .dresses-page .dress-highlight,
  .dresses-page .dress-partywear,
  .dresses-page .kids-section,
  .dresses-page .dress-offer-banner,
  .dresses-page .three-banner-strip,
  .dresses-page .three-banner-strip-last {
    padding-top: var(--section-space-tablet) !important;
    padding-bottom: var(--section-space-tablet) !important;
  }
}

@media (max-width: 767.98px) {
  .dresses-page .dresses-hero-content {
    padding-top: 56px;
    max-width: 100%;
  }

  .dresses-page .dress-products,
  .dresses-page .dress-highlight,
  .dresses-page .dress-partywear,
  .dresses-page .kids-section,
  .dresses-page .dress-offer-banner,
  .dresses-page .three-banner-strip,
  .dresses-page .three-banner-strip-last {
    padding-top: var(--section-space-mobile) !important;
    padding-bottom: var(--section-space-mobile) !important;
  }

  .dresses-page .dress-section-title {
    line-height: 1.2;
  }
}

/* ================= CROSS-PAGE SECTION UNIFORMITY ================= */
.sarees-page .saree-collection-section,
.sarees-page .saree-category,
.jewellery-page .jewellery-products,
.accessories-page .accessories-product-section,
.dresses-page .dress-products {
  padding-top: var(--section-space-desktop) !important;
  padding-bottom: var(--section-space-desktop) !important;
}

.sarees-page .saree-category .d-flex,
.jewellery-page .jewellery-products .d-flex,
.accessories-page .accessories-product-section .d-flex,
.dresses-page .dress-products .d-flex {
  margin-bottom: 28px !important;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center !important;
}

.sarees-page .section-title h2,
.jewellery-page .jew-section-title,
.accessories-page .accessories-section-title,
.dresses-page .dress-section-title {
  margin: 0;
  font-size: clamp(1.85rem, 3.6vw, 3rem);
  font-weight: 600;
  line-height: 1.2;
}

.sarees-page .product-card,
.jewellery-page .product-card,
.accessories-page .product-card,
.dresses-page .product-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.sarees-page .product-card .product-img img,
.jewellery-page .product-card .product-img img,
.accessories-page .product-card .product-img img,
.dresses-page .product-card .product-img img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}

.sarees-page .product-info,
.jewellery-page .product-info,
.accessories-page .product-info,
.dresses-page .product-info {
  padding-top: 12px;
}

.sarees-page .product-info h6,
.jewellery-page .product-info h6,
.accessories-page .product-info h6,
.dresses-page .product-info h6 {
  margin-bottom: 8px;
  line-height: 1.35;
}

.sarees-page .saree-poster-strip,
.jewellery-page .jew-radiant,
.accessories-page .accessories-promo-strip,
.dresses-page .three-banner-strip,
.dresses-page .three-banner-strip-last {
  padding-top: var(--section-space-desktop) !important;
  padding-bottom: var(--section-space-desktop) !important;
}

.sarees-page .poster-img,
.jewellery-page .jew-radiant img,
.accessories-page .accessories-promo-strip img,
.dresses-page .three-banner-strip img,
.dresses-page .three-banner-strip-last img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}

@media (max-width: 991.98px) {
  .sarees-page .saree-collection-section,
  .sarees-page .saree-category,
  .jewellery-page .jewellery-products,
  .accessories-page .accessories-product-section,
  .dresses-page .dress-products,
  .sarees-page .saree-poster-strip,
  .jewellery-page .jew-radiant,
  .accessories-page .accessories-promo-strip,
  .dresses-page .three-banner-strip,
  .dresses-page .three-banner-strip-last {
    padding-top: var(--section-space-tablet) !important;
    padding-bottom: var(--section-space-tablet) !important;
  }
}

@media (max-width: 767.98px) {
  .sarees-page .saree-category .d-flex,
  .jewellery-page .jewellery-products .d-flex,
  .accessories-page .accessories-product-section .d-flex,
  .dresses-page .dress-products .d-flex {
    align-items: flex-start !important;
    margin-bottom: 20px !important;
  }

  .sarees-page .saree-collection-section,
  .sarees-page .saree-category,
  .jewellery-page .jewellery-products,
  .accessories-page .accessories-product-section,
  .dresses-page .dress-products,
  .sarees-page .saree-poster-strip,
  .jewellery-page .jew-radiant,
  .accessories-page .accessories-promo-strip,
  .dresses-page .three-banner-strip,
  .dresses-page .three-banner-strip-last {
    padding-top: var(--section-space-mobile) !important;
    padding-bottom: var(--section-space-mobile) !important;
  }
}

/* ================= EDITORIAL TRIO SECTIONS ================= */
.editorial-trio-section {
  background: #efefef;
}

.editorial-trio-section .blouse-title,
.editorial-trio-section .dress-section-title {
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #111;
  margin-bottom: 8px;
}

.editorial-trio-grid {
  max-width: 1140px;
  margin-inline: auto;
}

.editorial-trio-card {
  width: 100%;
  display: block;
  border-radius: 0;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.14);
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.editorial-trio-card img {
  width: 100%;
  height: 100% !important;
  display: block;
  object-fit: cover;
}

.editorial-trio-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 30px rgba(0, 0, 0, 0.18);
}

.editorial-trio-equal .editorial-trio-card {
  aspect-ratio: 3 / 4.8;
}

.editorial-trio-featured .editorial-trio-card {
  aspect-ratio: 3 / 4.4;
}

.editorial-trio-featured .editorial-trio-center {
  aspect-ratio: 3 / 2.9;
}

@media (max-width: 991.98px) {
  .editorial-trio-featured .editorial-trio-center {
    aspect-ratio: 3 / 3.5;
  }
}

@media (max-width: 767.98px) {
  .editorial-trio-grid {
    max-width: 520px;
  }

  .editorial-trio-equal .editorial-trio-card,
  .editorial-trio-featured .editorial-trio-card,
  .editorial-trio-featured .editorial-trio-center {
    aspect-ratio: 3 / 4.4;
  }
}

/* ================= HOMEPAGE BLOUSE FINAL OVERRIDE ================= */
body:not(.inner-page) .blouse-section {
  background: #efefef !important;
  padding-top: 84px !important;
  padding-bottom: 84px !important;
}

body:not(.inner-page) .blouse-section .container {
  max-width: 1240px;
}

body:not(.inner-page) .blouse-section .blouse-title {
  font-size: clamp(2.2rem, 4.4vw, 3.6rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 26px;
}

body:not(.inner-page) .blouse-section .editorial-trio-grid {
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
}

body:not(.inner-page) .blouse-section .editorial-trio-card {
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.15);
  background: #ddd;
}

body:not(.inner-page) .blouse-section .editorial-trio-equal .editorial-trio-card {
  aspect-ratio: 3 / 4.7;
}

@media (max-width: 991.98px) {
  body:not(.inner-page) .blouse-section {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}

@media (max-width: 767.98px) {
  body:not(.inner-page) .blouse-section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
  }

  body:not(.inner-page) .blouse-section .editorial-trio-grid {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
  }
}

/* ================= GLOBAL MOBILE SAFETY LAYER ================= */
@media (max-width: 991.98px) {
  html,
  body {
    overflow-x: hidden;
  }

  .container,
  .container-fluid {
    max-width: 100%;
  }

  .main-header .container,
  .nav-bar .container,
  section .container {
    width: 100%;
  }

  .row {
    margin-left: 0;
    margin-right: 0;
  }

  [class*="col-"] {
    min-width: 0;
  }

  .product-card,
  .dress-card,
  .jew-card,
  .accessories-card,
  .temple-card,
  .occasion-card,
  .review-card,
  .testimonial-card {
    width: 100%;
  }

  img,
  video,
  iframe {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 767.98px) {
  .top-bar marquee {
    font-size: 12px;
  }

  .search-box {
    display: none !important;
  }

  .main-header .container {
    gap: 0.5rem;
  }

  .logo img {
    height: 52px !important;
  }

  .header-icons .btn {
    display: none !important;
  }

  .header-icons i {
    font-size: 16px;
  }

  .main-header {
    padding: 0.55rem 0 !important;
  }

  .main-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .logo {
    flex: 0 0 auto !important;
    display: flex;
    align-items: center;
    text-align: left !important;
    margin: 0 !important;
  }

  .logo img {
    height: 48px !important;
    width: auto;
    display: block;
    margin: 0 !important;
  }

  .header-icons {
    display: inline-flex !important;
    align-items: center;
    gap: 0.6rem !important;
    margin-left: auto;
    height: 100%;
    line-height: 1;
  }

  .header-icons i {
    font-size: 1.55rem;
    line-height: 1;
    vertical-align: middle;
  }

  .mobile-nav-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-left: 0.15rem;
    padding: 0.35rem 0.5rem;
    align-self: center;
  }

  .nav-bar {
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    position: relative;
    z-index: 1050;
  }

  .nav-bar > .container {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }

  .navbar-collapse {
    margin-top: 0 !important;
    max-height: 72vh;
    overflow-y: auto;
  }

  .nav-bar .navbar-collapse:not(.show) {
    display: none !important;
  }

  .nav-bar .navbar-collapse.show {
    display: block !important;
    background: #fff;
    border-top: 1px solid #ececec;
    box-shadow: 0 14px 24px rgba(0, 0, 0, 0.12);
    padding: 0.65rem 1rem;
  }

  .mobile-nav-search-wrap {
    display: block;
    margin: 2px 0 10px;
  }

  .hero-section,
  .about-hero-section,
  .saree-banner,
  .accessories-hero,
  .jewellery-hero,
  .dresses-hero,
  .videos-hero,
  .offers-hero,
  .page-banner {
    min-height: auto !important;
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  .hero-section h1,
  .banner-content h1,
  .accessories-hero-content h1,
  .dresses-hero-content h1 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    line-height: 1.2;
  }

  .hero-section p,
  .banner-content p,
  .accessories-hero-content p,
  .dresses-hero-content p {
    font-size: 0.95rem !important;
    line-height: 1.55;
  }

  .d-flex.justify-content-between {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.8rem;
  }

  .view-all-btn,
  .shop-btn,
  .about-shop-btn {
    min-height: 42px;
    padding: 10px 18px !important;
  }

  .product-slider .slick-slide,
  .celebration-slider .slick-slide,
  .saree-slider .slick-slide,
  .category-slider .slick-slide {
    padding-left: 6px;
    padding-right: 6px;
  }

  .contact-page .contact-grid,
  .contact-page .info-grid,
  .contact-page .contact-form-grid,
  .contact-page .trust-grid,
  .accessories-page .gudi-grid,
  .offers-page .offers-grid {
    grid-template-columns: 1fr !important;
  }

  .footer-section .row > [class*="col-"] {
    margin-bottom: 1rem;
  }

  .footer-bottom {
    gap: 0.7rem;
  }
}

@media (max-width: 575.98px) {
  .hero-divider {
    padding: 6px 0;
  }

  .divider-pattern {
    height: 22px !important;
    background-size: auto 22px !important;
  }

  .floating-contact-buttons {
    right: 12px;
    bottom: 12px;
  }

  .floating-contact-buttons .floating-btn {
    width: 48px;
    height: 48px;
  }

  .table,
  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* ================= MOBILE HEADER ALIGNMENT HOTFIX ================= */
@media (max-width: 767.98px) {
  .main-header .container {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    column-gap: 0.6rem;
    min-height: 62px !important;
  }

  .main-header .search-box {
    display: none !important;
  }

  .main-header .logo {
    grid-column: 1;
    justify-self: start;
    align-self: center;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-header .logo img {
    height: 44px !important;
    width: auto !important;
    max-width: 120px;
  }

  .main-header .header-icons {
    grid-column: 2;
    justify-self: end;
    align-self: center;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: nowrap !important;
  }

  .main-header .header-icons i {
    font-size: 1.45rem !important;
  }

  .main-header .mobile-nav-toggle {
    margin: 0 0 0 0.1rem !important;
    align-self: center !important;
  }
}

/* ================= PRODUCT ACTION BUTTONS ================= */
.product-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.product-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #d4b067;
  background: #fff;
  color: #1a1a1a !important;
  padding: 8px 12px !important;
  min-height: 38px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}

.product-action-btn i {
  font-size: 14px;
}

.product-action-btn:hover {
  background: #d4b067;
  color: #111 !important;
}

.cart-btn {
  background: #111;
  border-color: #111;
  color: #fff !important;
}

.cart-btn:hover {
  background: #d4b067;
  border-color: #d4b067;
  color: #111 !important;
}

/* Keep Slick layout in control after converting product grids to sliders */
.slick-initialized.product-slider,
.slick-initialized.celebration-slider,
.slick-initialized.saree-slider,
.slick-initialized.category-slider,
.slick-initialized.dress-grid,
.slick-initialized.jew-grid,
.slick-initialized.accessories-grid,
.slick-initialized.offers-grid {
  display: block !important;
  margin-top: 42px;
}

/* Shared arrows for all product slick sliders */
.product-slick-arrow.slick-prev,
.product-slick-arrow.slick-next {
  position: absolute;
  top: -34px;
  transform: none;
  width: 38px;
  height: 38px;
  border: 1px solid #d4b067;
  border-radius: 999px;
  background: #fff;
  color: #1a1a1a;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  z-index: 5;
}

.product-slick-arrow.slick-prev:hover,
.product-slick-arrow.slick-next:hover {
  background: #d4b067;
  color: #111;
}

.product-slick-arrow.slick-prev::before,
.product-slick-arrow.slick-next::before {
  content: "" !important;
}

.product-slick-arrow i {
  font-size: 16px;
  line-height: 1;
}

.product-slick-arrow.slick-prev {
  left: 0;
  right: auto;
}

.product-slick-arrow.slick-next {
  left: 48px;
  right: auto;
}

@media (max-width: 767.98px) {
  .slick-initialized.product-slider,
  .slick-initialized.celebration-slider,
  .slick-initialized.saree-slider,
  .slick-initialized.category-slider,
  .slick-initialized.dress-grid,
  .slick-initialized.jew-grid,
  .slick-initialized.accessories-grid,
  .slick-initialized.offers-grid {
    margin-top: 0;
  }

  .product-slick-arrow.slick-prev,
  .product-slick-arrow.slick-next {
    top: 50%;
    transform: translateY(-50%);
  }

  .product-slick-arrow.slick-prev {
    left: -8px;
    right: auto;
  }

  .product-slick-arrow.slick-next {
    left: auto;
    right: -8px;
  }
}

/* Special Offers desktop: keep visible gap between slider cards */
@media (min-width: 992px) {
  .offers-page .offers-grid.slick-initialized .slick-list {
    margin: 0 -10px;
  }

  .offers-page .offers-grid.slick-initialized .slick-slide {
    padding: 0 10px;
  }
}

@media (max-width: 767.98px) {
  .product-actions {
    gap: 6px;
  }

  .product-action-btn {
    flex: 1 1 calc(50% - 3px);
    padding: 8px 10px !important;
    font-size: 12px;
  }
}

/* ================= DRESSES PAGE BREAK FIX (DESKTOP + MOBILE) ================= */
.dresses-page .dresses-hero {
  display: none !important;
}

.dresses-page .dress-products,
.dresses-page .kids-section {
  background: #f3f3f3 !important;
}

.dresses-page .dress-products .dress-grid,
.dresses-page .kids-section .dress-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
}

.dresses-page .dress-products .dress-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.dresses-page .dress-products .product-card,
.dresses-page .kids-section .product-card {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.dresses-page .dress-products .product-card .product-img,
.dresses-page .kids-section .product-card .product-img {
  width: 100% !important;
  overflow: hidden !important;
}

.dresses-page .dress-products .product-card .product-img img,
.dresses-page .kids-section .product-card .product-img img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  display: block !important;
}

@media (max-width: 1199.98px) {
  .dresses-page .dress-products .dress-grid-five,
  .dresses-page .dress-products .dress-grid-four,
  .dresses-page .kids-section .dress-grid-four {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991.98px) {
  .dresses-page .dress-products .dress-grid-five,
  .dresses-page .dress-products .dress-grid-four,
  .dresses-page .kids-section .dress-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767.98px) {
  .dresses-page .dress-products .dress-grid-five,
  .dresses-page .dress-products .dress-grid-four,
  .dresses-page .kids-section .dress-grid-four {
    grid-template-columns: 1fr !important;
  }

  .dresses-page .dress-products .d-flex,
  .dresses-page .kids-section .d-flex {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }
}

/* Let Slick control dresses mobile carousels when initialized */
.dresses-page .dress-products .dress-grid.slick-initialized,
.dresses-page .kids-section .dress-grid.slick-initialized {
  display: block !important;
}

.dresses-page .mobile-dress-slider.slick-initialized .product-card {
  display: block !important;
  width: 100% !important;
}

@media (max-width: 767.98px) {
  .dresses-page .mobile-dress-slider .slick-slide {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Unify legacy non-homepage banners while preserving dynamic admin banners */
.inner-page .page-banner:not(.dynamic-page-banner),
.inner-page .saree-banner,
.inner-page .accessories-hero,
.inner-page .jewellery-hero,
.inner-page .dresses-hero,
.inner-page .videos-hero,
.inner-page .offers-hero,
.inner-page .about-hero-section {
  background-image: linear-gradient(rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.22)),
    url("../images/about/about-banner.png") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Dresses / Lehangas page sections */
.dresses-page .dl-section {
  padding: 64px 0;
}

.dresses-page .dl-title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(2.1rem, 5vw, 5rem);
  font-weight: 600;
  color: #111;
}

.dresses-page .dl-section-head {
  margin-bottom: 28px;
}

.dresses-page .dl-view-all {
  border: 1px solid #d6c57f;
  background: #e5d48d;
  color: #111;
  font-weight: 700;
  border-radius: 0;
  padding: 13px 28px;
  letter-spacing: 0.02em;
}

.dresses-page .dl-view-all:hover {
  background: #d8c16d;
  color: #111;
}

.dresses-page .dl-view-all-outline {
  border-color: #1a1a1a;
  background: transparent;
}

.dresses-page .dl-view-all-dark {
  border-color: #65381d;
  background: #65381d;
  color: #fff;
  font-weight: 500;
  text-transform: none;
}

.dresses-page .dl-view-all-dark:hover {
  background: #4f2c17;
  border-color: #4f2c17;
  color: #fff;
}

.dresses-page .dl-product-rail {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
}

.dresses-page .dl-product-rail::-webkit-scrollbar {
  height: 8px;
}

.dresses-page .dl-product-rail::-webkit-scrollbar-thumb {
  background: #5c3219;
  border-radius: 999px;
}

.dresses-page .dl-product-card {
  flex: 0 0 clamp(220px, 23vw, 340px);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.dresses-page .dl-product-card .product-img {
  background: #b9aa9e;
  border-radius: 0;
  overflow: hidden;
}

.dresses-page .dl-product-card .product-img img {
  width: 100%;
  height: clamp(290px, 35vw, 520px);
  object-fit: cover;
  display: block;
}

.dresses-page .dl-product-card .product-info {
  padding: 14px 0 0;
}

.dresses-page .dl-product-card .product-info h6 {
  font-size: clamp(1rem, 1.5vw, 2rem);
  color: #583823;
  font-weight: 600;
}

.dresses-page .dl-cotton {
  background: #ece6ca;
}

.dresses-page .dl-cotton-grid img {
  width: 100%;
  height: clamp(320px, 46vw, 700px);
  object-fit: cover;
  border-radius: 28px 28px 0 0;
  display: block;
}

.dresses-page .dl-copy {
  max-width: 980px;
  margin: 56px auto 0;
}

.dresses-page .dl-copy p {
  font-size: clamp(1.15rem, 2vw, 3rem);
  line-height: 1.35;
  color: #111;
  font-weight: 500;
}

.dresses-page .dl-outline-btn {
  margin-top: 14px;
  border: 2px solid #1a1a1a;
  border-radius: 999px;
  padding: 12px 44px;
  font-weight: 600;
  color: #111;
  background: transparent;
}

.dresses-page .dl-outline-btn:hover {
  background: #111;
  color: #fff;
}

.dresses-page .dl-party-card {
  background: #e8d79a;
  padding: 0 0 22px;
  height: 100%;
}

.dresses-page .dl-party-card img {
  width: 100%;
  height: clamp(360px, 50vw, 760px);
  object-fit: cover;
  display: block;
}

.dresses-page .dl-party-content {
  text-align: center;
  padding: 18px 14px 0;
}

.dresses-page .dl-party-content h4 {
  margin-bottom: 8px;
  font-size: clamp(1.4rem, 2.3vw, 3rem);
  font-weight: 700;
  color: #111;
}

.dresses-page .dl-party-content p {
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 2.2rem);
  line-height: 1.35;
  color: #111;
}

.dresses-page .dl-poster-strip img {
  width: 100%;
  height: clamp(420px, 56vw, 900px);
  object-fit: cover;
  display: block;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
}

.dresses-page .dl-poster-strip .dl-poster-main {
  height: clamp(480px, 62vw, 1020px);
}

.dresses-page .dl-kids {
  background: #d9bc68;
}

.dresses-page .dl-kids .dl-product-card .product-img {
  background: #fff;
  box-shadow: 0 20px 36px rgba(0, 0, 0, 0.22);
}

.dresses-page .dl-kids-banner img {
  width: 100%;
  height: clamp(240px, 34vw, 520px);
  object-fit: cover;
  display: block;
}

.dresses-page .dl-subhead {
  margin: 0 0 14px;
  color: #6a3f22;
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(1.6rem, 2.7vw, 3.2rem);
  font-weight: 500;
  border-bottom: 2px solid #6a3f22;
  display: inline-block;
  padding-bottom: 4px;
}

.dresses-page .dl-poster-strip-last {
  padding-top: 24px;
}

@media (max-width: 991.98px) {
  .dresses-page .dl-section {
    padding: 52px 0;
  }

  .dresses-page .dl-section-head {
    margin-bottom: 20px;
  }

  .dresses-page .dl-view-all {
    padding: 11px 20px;
    font-size: 0.92rem;
  }

  .dresses-page .dl-copy {
    margin-top: 34px;
  }
}

@media (max-width: 767.98px) {
  .dresses-page .dl-section {
    padding: 42px 0;
  }

  .dresses-page .dl-product-rail {
    gap: 14px;
  }

  .dresses-page .dl-product-card {
    flex-basis: min(83vw, 320px);
  }

  .dresses-page .dl-title {
    text-align: center;
  }

  .dresses-page .dl-view-all {
    margin-left: auto;
    margin-right: auto;
  }

.dresses-page .dl-subhead {
    font-size: 1.9rem;
  }
}

/* Signup page */
.signup-page .signup-section {
  background: #f7f4ea;
}

.signup-page .signup-card {
  background: #fff;
  border: 1px solid #eadfbc;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
}

.signup-page .signup-promo {
  position: relative;
  min-height: 100%;
}

.signup-page .signup-promo img {
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  display: block;
}

.signup-page .signup-promo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 7, 3, 0.2), rgba(14, 7, 3, 0.64));
}

.signup-page .signup-promo-content {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  color: #fff;
}

.signup-page .signup-promo-content h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.8vw, 3rem);
  margin-bottom: 8px;
}

.signup-page .signup-promo-content p {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.5;
}

.signup-page .signup-form-wrap {
  padding: 34px 26px;
}

.signup-page .signup-head h1 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  margin-bottom: 10px;
  color: #24180f;
}

.signup-page .signup-head p {
  margin: 0 0 24px;
  color: #6a5a49;
}

.signup-page .signup-form .form-label {
  font-weight: 600;
  color: #2f1f14;
}

.signup-page .signup-form .required {
  color: #8f2e2e;
}

.signup-page .signup-form .form-control,
.signup-page .signup-form .form-select {
  min-height: 48px;
  border-radius: 10px;
  border: 1px solid #dbcdaa;
}

.signup-page .signup-form .form-control:focus,
.signup-page .signup-form .form-select:focus {
  border-color: #8a5a33;
  box-shadow: 0 0 0 0.2rem rgba(138, 90, 51, 0.15);
}

.signup-page .field-note {
  color: #8a7d6a;
}

.signup-page .signup-submit-btn {
  min-height: 50px;
  border-radius: 12px;
  border: 1px solid #6a3d1f;
  background: #6a3d1f;
  color: #fff;
  font-weight: 600;
}

.signup-page .signup-submit-btn:hover {
  background: #542f18;
  border-color: #542f18;
  color: #fff;
}

@media (max-width: 767.98px) {
  .signup-page .signup-card {
    border-radius: 14px;
  }

  .signup-page .signup-promo img {
    min-height: 280px;
    max-height: 320px;
  }

  .signup-page .signup-form-wrap {
    padding: 24px 16px;
  }
}

/* Login page */
.login-page .login-section {
  background: #f7f4ea;
}

.login-page .login-card {
  background: #fff;
  border: 1px solid #eadfbc;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08);
}

.login-page .login-promo {
  position: relative;
  min-height: 100%;
}

.login-page .login-promo img {
  width: 100%;
  height: 100%;
  min-height: 680px;
  object-fit: cover;
  display: block;
}

.login-page .login-promo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(14, 7, 3, 0.16), rgba(14, 7, 3, 0.72));
}

.login-page .login-promo-content {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 2;
  color: #fff;
}

.login-page .login-season {
  display: inline-block;
  margin-bottom: 12px;
  padding: 6px 12px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 999px;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.login-page .login-promo-content h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, 3vw, 3rem);
  margin-bottom: 8px;
}

.login-page .login-promo-content p {
  margin: 0;
  line-height: 1.5;
}

.login-page .login-form-wrap {
  padding: 34px 26px;
}

.login-page .login-head h1 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  margin-bottom: 8px;
  color: #24180f;
}

.login-page .login-head p {
  margin: 0 0 20px;
  color: #6a5a49;
}

.login-page .login-mode-toggle {
  display: inline-flex;
  gap: 8px;
  padding: 4px;
  background: #f3ecdb;
  border-radius: 12px;
}

.login-page .login-mode-toggle .btn {
  border: 0;
  border-radius: 10px;
  color: #593d29;
  font-weight: 600;
  padding: 8px 14px;
}

.login-page .login-mode-toggle .btn.active {
  background: #6a3d1f;
  color: #fff;
}

.login-page .login-form .form-label {
  font-weight: 600;
  color: #2f1f14;
}

.login-page .login-form .required {
  color: #8f2e2e;
}

.login-page .login-form .form-control,
.login-page .login-form .form-select {
  min-height: 48px;
  border-radius: 10px;
  border: 1px solid #dbcdaa;
}

.login-page .login-form .form-control:focus,
.login-page .login-form .form-select:focus {
  border-color: #8a5a33;
  box-shadow: 0 0 0 0.2rem rgba(138, 90, 51, 0.15);
}

.login-page .password-wrap {
  position: relative;
}

.login-page .password-toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  color: #7a614b;
}

.login-page .error-text {
  min-height: 18px;
  display: block;
  color: #b33a2e;
  margin-top: 4px;
}

.login-page .otp-send-btn {
  border: 1px solid #c2ad7a;
  background: #f6edd0;
  color: #5a3b26;
  font-weight: 600;
}

.login-page .otp-send-btn:disabled {
  opacity: 0.72;
}

.login-page .login-link {
  color: #6a3d1f;
  text-decoration: none;
}

.login-page .login-link:hover {
  text-decoration: underline;
}

.login-page .login-submit-btn {
  min-height: 50px;
  border-radius: 12px;
  border: 1px solid #6a3d1f;
  background: #6a3d1f;
  color: #fff;
  font-weight: 600;
}

.login-page .login-submit-btn:hover {
  background: #542f18;
  border-color: #542f18;
  color: #fff;
}

.login-page .login-divider {
  text-align: center;
  position: relative;
}

.login-page .login-divider::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  border-top: 1px solid #e7d7bf;
}

.login-page .login-divider span {
  position: relative;
  background: #fff;
  padding: 0 10px;
  color: #8a7d6a;
}

.login-page .google-login-btn {
  min-height: 48px;
  border: 1px solid #dbcdaa;
  background: #fff;
  color: #2b1f17;
  font-weight: 600;
}

.login-page .google-login-btn:hover {
  background: #f8f6f1;
}

.login-page .register-text {
  color: #6a5a49;
}

@media (max-width: 991.98px) {
  .login-page .login-form-wrap {
    padding: 28px 20px;
  }
}

@media (max-width: 767.98px) {
  .login-page .login-card {
    border-radius: 14px;
  }

  .login-page .login-promo img {
    min-height: 280px;
    max-height: 330px;
  }

  .login-page .login-form-wrap {
    padding: 24px 16px;
  }

  .login-page .login-mode-toggle {
    width: 100%;
    justify-content: center;
  }
}

/* Products catalog page */
.products-page {
  background: #f2f2f2;
  font-family: "Poppins", sans-serif;
}

.products-page .products-top-nav {
  background: #fff;
}

.products-page .products-nav-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.products-page .products-nav-list a {
  color: #111;
  text-decoration: none;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.products-page .products-shell {
  background: #ece9e9;
  align-items: stretch;
}

.products-page .products-filters {
  background: #e8dfbc;
  padding: 22px 24px;
}

.products-page .filter-head {
  font-size: clamp(2.1rem, 2.4vw, 3.2rem);
  font-weight: 600;
  margin-bottom: 12px;
  color: #111;
}

.products-page .filter-block {
  border-top: 2px solid #212121;
  padding: 18px 0 20px;
}

.products-page .filter-toggle {
  width: 100%;
  border: 0;
  background: transparent;
  font-size: clamp(1.35rem, 1.5vw, 2rem);
  font-weight: 500;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.products-page .price-range-line {
  margin: 18px 4px 16px;
  position: relative;
  height: 4px;
  background: #111;
}

.products-page .price-range-line span {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #111;
  transform: translateY(-50%);
}

.products-page .price-range-line span:first-child {
  left: 0;
}

.products-page .price-range-line span:last-child {
  right: 0;
}

.products-page .price-inputs {
  display: flex;
  align-items: center;
  gap: 10px;
}

.products-page .price-inputs span {
  font-size: 1.35rem;
  font-weight: 500;
  flex: 0 0 auto;
}

.products-page .price-box {
  flex: 1;
  border: 2px solid #6f6b5a;
  padding: 8px 10px;
  font-size: 1.3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.products-page .color-swatch-grid {
  margin-top: 16px;
  background: #dfe6e8;
  padding: 16px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

.products-page .color-swatch-grid span {
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.products-page .filter-check-list {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  gap: 5px;
}

.products-page .filter-check-list label {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  gap: 10px;
}

.products-page .filter-check-list input {
  width: 18px;
  height: 18px;
}

.products-page .size-pills {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.products-page .size-pills button {
  border: 2px solid #8a887f;
  background: #ece5c8;
  font-size: 1.08rem;
  padding: 8px 14px;
  border-radius: 10px;
  transition: all 0.2s ease;
}

.products-page .size-pills button:hover {
  background: #111;
  color: #fff;
  border-color: #111;
}

.products-page .size-pills button.active {
  background: #111;
  color: #fff;
  border-color: #111;
}

.products-page .color-swatch-grid span {
  cursor: pointer;
}

.products-page .color-swatch-grid span.selected {
  outline: 2px solid #111;
  outline-offset: 1px;
}

.products-page .price-filter-input {
  background: #ece5c8;
  flex: 1 1 0;
  min-width: 0;
  width: 0;
  box-sizing: border-box;
  display: block;
  padding: 8px 10px;
  font-size: 1.1rem;
  font-weight: 600;
}

.products-page .products-results {
  padding: 18px 18px 22px;
}

.products-page .products-sort-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  font-size: 1.2rem;
}

.products-page .results-meta {
  margin: 0;
  color: #6b5a4e;
  font-size: 1.12rem;
  font-weight: 500;
}

.products-page .products-sort-row span {
  color: #8f7f6e;
}

.products-page .sort-dropdown-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.products-page .sort-chip {
  border: 0;
  background: transparent;
  font-size: 1.2rem;
  font-weight: 500;
  color: #5e4f44;
}

.products-page .sort-chip::after {
  margin-left: 10px;
}

.products-page .products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.products-page .catalog-card {
  background: #fff;
  border: 1px solid #e6e1dd;
  border-radius: 14px;
  padding: 10px 10px 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  overflow: hidden;
}

.products-page .catalog-card > a {
  display: block;
  height: 100%;
  color: inherit;
}

.products-page .catalog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.1);
}


.products-page .catalog-card h6 {
  margin: 10px 0 4px;
  font-size: 1.15rem;
  color: #593d2a;
  line-height: 1.25;
  min-height: 2.9em;
}

.products-page .catalog-media {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  background: #d9d2cc;
}

.products-page .catalog-media img {
  width: 100%;
  aspect-ratio: 0.76;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.products-page .catalog-card:hover .catalog-media img {
  transform: scale(1.03);
}

.products-page .rating-tag {
  position: absolute;
  left: 10px;
  bottom: 10px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8px;
  padding: 5px 9px;
  font-size: 0.92rem;
  font-weight: 600;
  color: #4e3526;
}

.products-page .new-badge {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #76452e;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  display: grid;
  place-items: center;
}

.products-page .catalog-price {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.05rem;
}

.products-page .catalog-price .new {
  color: #4c2f1e;
  font-weight: 600;
}

.products-page .catalog-price .old {
  color: #8d7869;
  text-decoration: line-through;
}

.products-page .off-chip {
  margin-top: 4px;
  display: inline-block;
  background: #d5c7b7;
  color: #6a4a35;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 0.95rem;
  font-weight: 600;
}

.products-page .catalog-pagination {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.products-page .catalog-pagination button {
  min-width: 64px;
  height: 64px;
  border: 2px solid #7b7b7b;
  background: transparent;
  font-size: 1.35rem;
  font-weight: 600;
}

.products-page .catalog-pagination button + button {
  border-left: 0;
}

.products-page .catalog-pagination button.active {
  background: #fff;
}

/* Shared toast */
.avaa-mini-toast {
  position: fixed;
  right: 18px;
  bottom: 120px;
  z-index: 1060;
  background: #111;
  color: #fff;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 0.95rem;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.2s ease;
}

.avaa-mini-toast.show {
  opacity: 1;
  transform: translateY(0);
}

/* Cart & Wishlist pages */
.bag-page {
  background: #f4f2f1;
}

.bag-shell {
  background: #fff;
  border: 1px solid #e7e2de;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  padding: 20px;
}

.bag-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.bag-head h1 {
  margin: 0;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 700;
}

.bag-items {
  display: grid;
  gap: 14px;
}

.bag-item {
  display: grid;
  grid-template-columns: 110px 1fr auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #e7e2de;
  border-radius: 10px;
  padding: 10px;
}

.bag-item img {
  width: 100%;
  aspect-ratio: 0.8;
  object-fit: cover;
  border-radius: 8px;
}

.bag-item-info h6 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 600;
}

.bag-item-info p {
  margin: 0 0 6px;
  color: #746355;
  font-size: 0.9rem;
}

.bag-item-price {
  font-weight: 700;
  color: #452d1e;
}

.bag-item-actions {
  display: grid;
  gap: 8px;
}

.bag-remove-btn,
.bag-view-btn,
.bag-clear-btn,
.bag-checkout-btn {
  border: 1px solid #111;
  background: #fff;
  color: #111;
  border-radius: 8px;
  padding: 8px 12px;
  font-weight: 600;
  text-decoration: none;
}

.bag-checkout-btn.is-disabled {
  opacity: 0.55;
  pointer-events: none;
}

.bag-checkout-btn {
  background: #111;
  color: #fff;
}

.bag-qty-row {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #cfc7c1;
  border-radius: 8px;
  padding: 4px 8px;
}

.bag-qty-row button {
  border: 0;
  background: transparent;
  font-weight: 700;
}

.bag-empty {
  border: 1px dashed #bdaea3;
  border-radius: 10px;
  padding: 24px;
  text-align: center;
  color: #6b5a4e;
}

.bag-summary {
  margin-top: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.bag-total {
  font-size: 1.05rem;
  font-weight: 600;
}

.bag-total-value {
  color: #452d1e;
}

@media (max-width: 767.98px) {
  .bag-item {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 992px) {
  .products-page .products-filters {
    position: relative;
    top: auto;
    height: auto;
    min-height: 100%;
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 1199.98px) {
  .products-page .products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .products-page .products-filters {
    padding: 20px;
  }

  .products-page .products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .products-page .products-nav-list {
    justify-content: flex-start;
    gap: 10px 16px;
  }

  .products-page .products-results {
    padding: 14px;
  }

  .products-page .products-sort-row {
    justify-content: space-between;
    font-size: 1.35rem;
  }

  .products-page .sort-chip {
    font-size: 1.35rem;
  }

  .products-page .products-grid {
    grid-template-columns: 1fr;
  }

  .products-page .catalog-pagination button {
    min-width: 56px;
    height: 56px;
    font-size: 1.45rem;
  }
}

/* Product details page */
.product-details-page {
  background: #f2f2f2;
}

.product-details-page .pd-breadcrumb {
  font-size: 0.95rem;
  color: #6a635c;
}

.product-details-page .pd-breadcrumb a {
  color: #6a635c;
  text-decoration: none;
}

.product-details-page .pd-breadcrumb strong {
  color: #1a1a1a;
}

.product-details-page .pd-gallery-card {
  background: #fff;
  border: 1px solid #e5dfda;
  border-radius: 16px;
  padding: 14px;
}

.product-details-page .pd-main-image-wrap {
  border-radius: 16px;
  overflow: hidden;
  background: #d9d3ce;
}

.product-details-page .pd-main-image {
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  display: block;
}

.product-details-page .pd-info-card {
  background: #fff;
  border: 1px solid #e5dfda;
  border-radius: 16px;
  padding: 14px 14px 16px;
}

.product-details-page .pd-top-line {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.product-details-page .pd-rating {
  font-size: 1.05rem;
  font-weight: 700;
}

.product-details-page .pd-rating span {
  font-weight: 500;
}

.product-details-page .pd-share-icons {
  font-size: 1.15rem;
  display: flex;
  gap: 10px;
}

.product-details-page .pd-title {
  margin: 20px 0 14px;
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  line-height: 1.2;
  font-weight: 700;
  color: #171717;
}

.product-details-page .pd-price-line {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.product-details-page .pd-price-line .new {
  font-size: 1.65rem;
  font-weight: 700;
}

.product-details-page .pd-price-line .old {
  font-size: 1.15rem;
  text-decoration: line-through;
  color: #5f5f5f;
}

.product-details-page .pd-price-line .save {
  background: #111;
  color: #fff;
  padding: 4px 8px;
  font-weight: 600;
  font-size: 0.9rem;
}

.product-details-page .pd-code {
  margin: 18px 0;
  font-size: 1.25rem;
  font-weight: 600;
}

.product-details-page .pd-stock {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #d2e7d5;
  color: #2b6b3e;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 8px 14px;
}

.product-details-page .pd-stock.is-unavailable {
  background: #f4d9d5;
  color: #8b2f27;
}

.product-details-page .pd-subtitle {
  margin: 24px 0 10px;
  font-size: 1.55rem;
  font-weight: 700;
}

.product-details-page .pd-description {
  font-size: 1.02rem;
  line-height: 1.5;
  color: #1f1f1f;
}

.product-details-page .pd-label {
  display: block;
  font-size: 1rem;
  margin-bottom: 8px;
  font-weight: 600;
}

.product-details-page .pd-pill {
  border: 2px solid #333;
  background: #f6f6f6;
  border-radius: 8px;
  font-size: 0.98rem;
  font-weight: 600;
  padding: 8px 14px;
}

.product-details-page .pd-variant-picker {
  margin-bottom: 18px;
}

.product-details-page .pd-option-select {
  width: 100%;
  min-height: 46px;
  border: 2px solid #333;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font-size: 0.98rem;
  font-weight: 600;
  padding: 8px 38px 8px 12px;
}

.product-details-page .pd-option-select option:disabled {
  color: #aaa;
}

.product-details-page .pd-variant-message {
  min-height: 24px;
  margin: 10px 0 0;
  color: #8b2f27;
  font-weight: 600;
}

.product-details-page .pd-thumb-strip {
  margin-top: 14px;
  border: 1px solid #d8d0c9;
  padding: 8px;
  border-radius: 12px;
  background: #fbf9f7;
}

.product-details-page .pd-thumbs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.product-details-page .pd-thumb-btn {
  padding: 0;
  border: 2px solid transparent;
  border-radius: 8px;
  background: transparent;
  overflow: hidden;
}

.product-details-page .pd-thumb-btn.active {
  border-color: #111;
}

.product-details-page .pd-thumbs img {
  width: 100%;
  aspect-ratio: 0.7;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}

.product-details-page .pd-action-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.product-details-page .qty-box {
  border: 2px solid #333;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 6px 12px;
  font-size: 1.15rem;
}

.product-details-page .qty-box button {
  border: 0;
  background: transparent;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

.product-details-page .pd-btn-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.product-details-page .pd-btn {
  border-radius: 9px;
  font-size: 1.05rem;
  font-weight: 700;
  padding: 11px 14px;
  border: 2px solid #111;
}

.product-details-page .pd-btn i {
  margin-right: 8px;
}

.product-details-page .pd-btn:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.product-details-page .pd-btn-outline {
  background: transparent;
  color: #111;
  transition: all 0.2s ease;
}

.product-details-page .pd-btn-outline:hover {
  background: #111;
  color: #fff;
}

.product-details-page .pd-btn-solid {
  margin-top: 12px;
  width: 100%;
  background: #000;
  color: #fff;
  transition: opacity 0.2s ease;
}

.product-details-page .pd-btn-solid:hover {
  opacity: 0.88;
}

.product-details-page .pd-section-card {
  margin-top: 18px;
  border: 2px solid #585858;
  border-radius: 10px;
  padding: 34px 16px 12px;
  position: relative;
}

.product-details-page .pd-section-title {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  border-radius: 8px;
  padding: 6px 20px;
  font-size: 1.15rem;
  font-weight: 700;
}

.product-details-page .pd-section-card label {
  display: block;
  font-size: 0.98rem;
  margin: 6px 0;
}

.product-details-page .pd-similar-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.product-details-page .pd-similar-strip img {
  width: 100%;
  aspect-ratio: 0.75;
  object-fit: cover;
  border-radius: 8px;
}

.product-details-page .pd-offer-banner {
  margin-top: 18px;
  background: #000;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  font-size: 1.05rem;
  font-weight: 700;
  padding: 10px 14px;
}

.product-details-page .pd-accordion-list {
  margin-top: 14px;
}

.product-details-page .pd-accordion-list button {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #d4d4d4;
  background: transparent;
  padding: 12px 0;
  font-size: 1.15rem;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.product-details-page .pd-accordion-item {
  border-bottom: 1px solid #d4d4d4;
}

.product-details-page .pd-accordion-item:last-child {
  border-bottom: 0;
}

.product-details-page .pd-accordion-trigger {
  border-bottom: 0 !important;
}

.product-details-page .pd-accordion-content {
  display: none;
  padding: 0 0 14px;
}

.product-details-page .pd-accordion-content p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.7;
  color: #2b2b2b;
}

.product-details-page .pd-accordion-item.is-open .pd-accordion-content {
  display: block;
}

.product-details-page .pd-recommend h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif;
  text-align: center;
  font-size: clamp(2.2rem, 4.5vw, 4.2rem);
  margin: 6px 0 18px;
}

.product-details-page .pd-reco-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.product-details-page .reco-media {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}

.product-details-page .reco-media img {
  width: 100%;
  aspect-ratio: 0.74;
  object-fit: cover;
}

.product-details-page .new-tag {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.82rem;
  color: #fff;
  background: #7e4a31;
  font-weight: 700;
}

.product-details-page .review-tag {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 7px;
  padding: 3px 7px;
  font-size: 0.82rem;
  font-weight: 600;
}

@media (max-width: 1199.98px) {
  .product-details-page .pd-main-image {
    min-height: 500px;
  }

  .product-details-page .pd-btn,
  .product-details-page .pd-accordion-list button {
    font-size: 1rem;
  }

  .product-details-page .pd-thumbs,
  .product-details-page .pd-similar-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .product-details-page .pd-main-image {
    min-height: 360px;
  }

  .product-details-page .pd-action-grid,
  .product-details-page .pd-btn-row,
  .product-details-page .pd-reco-grid {
    grid-template-columns: 1fr;
  }

  .product-details-page .pd-title {
    font-size: 1.3rem;
  }

  .product-details-page .pd-price-line .new {
    font-size: 1.35rem;
  }

  .product-details-page .pd-code,
  .product-details-page .pd-subtitle {
    font-size: 1.15rem;
  }

  .product-details-page .pd-description,
  .product-details-page .pd-label {
    font-size: 0.96rem;
  }

  .product-details-page .pd-thumbs,
  .product-details-page .pd-similar-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .product-details-page .pd-info-card {
    position: sticky;
    top: 12px;
  }
}

/* =========================================================
   AVAA UNIFORM UI/UX SYSTEM (global consistency layer)
   ========================================================= */
:root {
  --avaa-bg: #f3f3f3;
  --avaa-surface: #ffffff;
  --avaa-text: #1d1d1d;
  --avaa-muted: #6f665f;
  --avaa-border: #e2ddd7;
  --avaa-accent: #d8bc73;
  --avaa-accent-dark: #bfa055;
  --avaa-radius-sm: 10px;
  --avaa-radius-md: 14px;
  --avaa-radius-lg: 18px;
  --avaa-shadow-sm: 0 6px 16px rgba(0, 0, 0, 0.06);
  --avaa-shadow-md: 0 12px 30px rgba(0, 0, 0, 0.08);
}

body {
  color: var(--avaa-text);
}

.inner-page {
  background: var(--avaa-bg);
}

/* Header/Nav consistency */
.main-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.main-header .search-box input {
  border-radius: 12px;
}

.nav-bar {
  border-bottom: 1px solid var(--avaa-border);
}

.nav-link {
  letter-spacing: 0.01em;
  font-weight: 500;
}

/* Inner-page section rhythm */
.inner-page section {
  margin: 0;
}

.inner-page section.py-5,
.inner-page section.pb-5 {
  padding-top: clamp(40px, 5vw, 68px) !important;
  padding-bottom: clamp(40px, 5vw, 68px) !important;
}

/* Banner consistency */
.inner-page .page-banner .content-box h1,
.inner-page .saree-banner .content-box h1,
.inner-page .accessories-hero-content h1,
.inner-page .dresses-hero-content h1 {
  letter-spacing: 0.01em;
}

/* Buttons consistency */
.btn {
  border-radius: 10px;
}

.shop-btn,
.view-all-btn {
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em;
  box-shadow: var(--avaa-shadow-sm);
}

.shop-btn:hover,
.view-all-btn:hover {
  transform: translateY(-1px);
}

/* Card consistency */
.product-card,
.offer-product-card,
.offer-temple-card,
.catalog-card,
.pd-reco-card,
.dl-party-card {
  border-radius: var(--avaa-radius-md);
}

.product-img,
.offer-media,
.catalog-media,
.reco-media {
  border-radius: var(--avaa-radius-md);
  overflow: hidden;
}

.dynamic-product-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.dynamic-product-link:hover {
  color: inherit;
  text-decoration: none;
}

/* Shared title rhythm */
h1, h2, h3 {
  letter-spacing: 0.005em;
}

/* Form controls consistency */
input,
select,
textarea {
  border-radius: var(--avaa-radius-sm);
}

/* Footer polish and consistency */
.footer-section {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.footer-title {
  letter-spacing: 0.02em;
}

.footer-links a {
  opacity: 0.9;
}

.footer-links a:hover {
  opacity: 1;
}

/* Products page polish */
.products-page .products-shell {
  border-radius: var(--avaa-radius-lg);
  overflow: hidden;
  box-shadow: var(--avaa-shadow-md);
}

.products-page .catalog-card {
  background: var(--avaa-surface);
}

.products-page .catalog-card h6 {
  font-weight: 600;
}

/* Product details page polish */
.product-details-page .pd-info-card,
.product-details-page .pd-gallery-card {
  box-shadow: var(--avaa-shadow-sm);
}

.product-details-page .pd-btn {
  letter-spacing: 0.01em;
}

.product-details-page .pd-reco-card > a,
.product-details-page .pd-similar-strip a {
  display: block;
  color: inherit;
}

/* Legal pages readability */
.legal-page .legal-content,
.privacy-page .legal-content,
.terms-page .legal-content {
  background: #fff;
  border: 1px solid var(--avaa-border);
  border-radius: var(--avaa-radius-md);
  padding: clamp(20px, 4vw, 34px);
  box-shadow: var(--avaa-shadow-sm);
}

/* Mobile consistency refinements */
@media (max-width: 767.98px) {
  .shop-btn,
  .view-all-btn {
    width: auto;
    min-height: 42px;
  }

  .products-page .products-shell,
  .product-details-page .pd-info-card,
  .product-details-page .pd-gallery-card {
    border-radius: 12px;
  }
}

/* =========================================
   GLOBAL RESPONSIVE HARDENING (ALL PAGES)
========================================= */
img,
video,
iframe {
  max-width: 100%;
}

@media (max-width: 1199.98px) {
  .container,
  .container-lg,
  .container-xl,
  .container-xxl {
    padding-left: 18px;
    padding-right: 18px;
  }

  .products-page .products-grid,
  .product-details-page .pd-reco-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .main-header .search-box input {
    width: min(46vw, 300px);
  }

  .main-header .logo img {
    height: 72px;
  }

  .hero-section,
  .about-hero-section,
  .saree-banner,
  .jewellery-hero,
  .accessories-hero,
  .dresses-hero,
  .videos-hero,
  .offers-hero,
  .page-banner {
    min-height: auto !important;
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  .products-page .products-shell {
    display: block;
  }

  .products-page .products-filters {
    border-radius: 14px 14px 0 0;
  }

  .products-page .products-results {
    border-radius: 0 0 14px 14px;
  }

  .products-page .products-grid,
  .product-details-page .pd-reco-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-details-page .pd-main .row > [class*='col-'] {
    width: 100%;
  }

  .product-details-page .pd-action-grid {
    grid-template-columns: 1fr !important;
  }

  .product-details-page .pd-btn-row {
    grid-template-columns: 1fr !important;
  }

  .product-details-page .pd-similar-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .signup-page .signup-card .row > [class*='col-'],
  .login-page .login-card .row > [class*='col-'] {
    width: 100%;
  }

  .bag-shell {
    padding: 16px;
  }

  .videos-page .youtube-card iframe {
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 767.98px) {
  body {
    overflow-x: hidden;
  }

  .main-header .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .main-header .logo img {
    height: 64px !important;
    max-width: 155px;
  }

  .main-header .search-box {
    display: none !important;
  }

  .header-icons {
    gap: 0.45rem !important;
  }

  .header-icons .btn {
    display: none !important;
  }

  .nav-bar .navbar-collapse.show {
    max-height: 72vh;
    overflow-y: auto;
  }

  .nav-bar .nav-link {
    font-size: 0.98rem;
    padding: 9px 0;
  }

  .top-bar marquee {
    font-size: 0.83rem;
  }

  .hero-section h1,
  .section-title,
  .videos-page .insta-title,
  .product-details-page h2 {
    font-size: clamp(1.5rem, 7vw, 2.2rem) !important;
    line-height: 1.2;
  }

  .products-page .products-sort-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .products-page .sort-dropdown-wrap {
    width: 100%;
    justify-content: space-between;
  }

  .products-page .products-grid,
  .product-details-page .pd-reco-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .products-page .catalog-card {
    padding: 9px;
  }

  .products-page .filter-check-list label {
    font-size: 1.02rem;
  }

  .products-page .price-inputs {
    gap: 8px;
  }

  .products-page .price-filter-input {
    font-size: 1rem;
    padding: 7px 8px;
  }

  .product-details-page .pd-thumb-strip {
    overflow-x: auto;
  }

  .product-details-page .pd-thumbs {
    width: max-content;
  }

  .product-details-page .pd-similar-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bag-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .bag-item-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .videos-page .insta-slider-head {
    align-items: center;
  }

  .videos-page .insta-slider-controls {
    margin-left: auto;
  }

  .footer-section .row > [class*='col-'] {
    margin-bottom: 0.6rem;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.55rem;
  }
}

@media (max-width: 575.98px) {
  .container,
  .container-sm {
    padding-left: 12px;
    padding-right: 12px;
  }

  .main-header .logo img {
    height: 62px !important;
    max-width: 150px;
  }

  .header-count-badge {
    right: -8px;
    top: -8px;
    min-width: 16px;
    height: 16px;
    font-size: 0.6rem;
    border-width: 1px;
  }

  .products-page .filter-head {
    font-size: 2rem;
  }

  .products-page .filter-toggle {
    font-size: 1.25rem;
  }

  .products-page .size-pills button {
    padding: 7px 11px;
    font-size: 0.95rem;
  }

  .bag-item {
    padding: 9px;
  }

  .bag-item-actions {
    grid-template-columns: 1fr;
  }

  .videos-page .insta-slider,
  .videos-page .youtube-slider {
    gap: 12px;
  }
}

/* About page mobile fix: ensure Jewellery & Accessories text is fully visible */
@media (max-width: 767.98px) {
  .about-page .jewellery-section .jewel-card {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .about-page .jewellery-section .jewel-card p {
    display: block !important;
    overflow: visible !important;
    max-height: none !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    margin-bottom: 0 !important;
  }

  .about-page .jewellery-section .jewel-img-box img {
    height: 160px !important;
    object-fit: contain !important;
  }
}

/* Unified bottom navbar spacing/alignment across all pages */
.nav-bar .navbar-collapse {
  align-items: center;
}

.nav-bar .navbar-nav {
  align-items: center;
}

.nav-bar .nav-item {
  display: flex;
  align-items: center;
}

.nav-bar .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.55rem 0.2rem;
  letter-spacing: 0.2px;
}

@media (min-width: 992px) {
  .nav-bar .navbar-nav {
    gap: clamp(14px, 1.35vw, 28px) !important;
  }
}

@media (max-width: 991.98px) {
  .nav-bar .navbar-nav {
    width: 100%;
    align-items: stretch;
    gap: 0 !important;
  }

  .nav-bar .nav-item {
    display: block;
  }

  .nav-bar .nav-link {
    justify-content: center;
    min-height: 0;
    padding: 0.85rem 0.25rem;
  }
}

/* Blog pages */
.blog-page .page-banner {
  background-image: linear-gradient(rgba(0, 0, 0, 0.26), rgba(0, 0, 0, 0.26)), url("../images/about/about-banner.png");
}

.blog-details-page .page-banner {
  background-image: linear-gradient(rgba(0, 0, 0, 0.34), rgba(0, 0, 0, 0.34)), url("../images/sarees/sarees-banner.jpeg");
}

.blog-page .page-banner .banner-content,
.blog-details-page .page-banner .banner-content {
  max-width: 760px;
}

.blog-page .page-banner .content-box h1,
.blog-details-page .page-banner .content-box h1 {
  margin-bottom: 0.65rem;
}

.blog-page .page-banner .content-box p,
.blog-details-page .page-banner .content-box p {
  max-width: 680px;
}

.blog-listing {
  background: #f8f6f2;
}

.blog-card {
  border: 1px solid #e7ded2;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
  height: 100%;
}

.blog-card-img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.blog-card-body {
  padding: 1rem 1rem 1.1rem;
}

.blog-meta {
  color: #8c7d69;
  font-size: 0.86rem;
  font-weight: 500;
}

.blog-card h3 {
  margin: 0.6rem 0 0.5rem;
  font-size: 1.25rem;
  line-height: 1.3;
}

.blog-card p {
  color: #5f5951;
  margin-bottom: 0.75rem;
}

.blog-read-link {
  color: #aa8a45;
  font-weight: 600;
  text-decoration: none;
}

.blog-read-link:hover {
  color: #8f7337;
}

.blog-sidebar {
  display: grid;
  gap: 1rem;
}

.blog-widget {
  background: #fff;
  border: 1px solid #e7ded2;
  border-radius: 14px;
  padding: 1rem;
}

.blog-widget h4 {
  font-size: 1.02rem;
  margin-bottom: 0.7rem;
}

.blog-widget ul {
  margin: 0;
  padding-left: 1rem;
}

.blog-widget li + li {
  margin-top: 0.4rem;
}

.blog-widget a {
  color: #2b2825;
  text-decoration: none;
}

.blog-widget a:hover {
  color: #aa8a45;
}

.blog-details-hero {
  padding: 0;
}

.blog-breadcrumb {
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.92rem;
  margin-bottom: 0.8rem;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.36);
}

.blog-breadcrumb a {
  color: rgba(255, 255, 255, 0.92);
  text-decoration: none;
}

.blog-breadcrumb span {
  margin: 0 0.45rem;
}

.blog-details-hero h1 {
  margin-bottom: 0.65rem;
}

.blog-article-meta {
  color: rgba(255, 255, 255, 0.95);
  font-size: 0.92rem;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.36);
}

.blog-article-card {
  background: #fff;
  border: 1px solid #e7ded2;
  border-radius: 16px;
  overflow: hidden;
}

.blog-details-main-img {
  width: 100%;
  max-height: 430px;
  object-fit: cover;
}

.blog-article-body {
  padding: clamp(18px, 2.6vw, 30px);
}

.blog-article-body h2 {
  font-family: "Playfair Display", serif;
  margin: 1.2rem 0 0.55rem;
}

.blog-article-body p {
  color: #5d5750;
  line-height: 1.8;
}

.blog-article-body blockquote {
  margin: 1.2rem 0;
  border-left: 3px solid #c7ab66;
  background: #fbf7ef;
  padding: 0.8rem 0.95rem;
  color: #4f473d;
}

.blog-related-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog-related-list li + li {
  margin-top: 0.55rem;
  padding-top: 0.55rem;
  border-top: 1px dashed #e7ded2;
}

@media (max-width: 991.98px) {
  .blog-details-content .sticky-top {
    position: static !important;
  }
}

@media (max-width: 767.98px) {
  .blog-card h3 {
    font-size: 1.1rem;
  }

  .blog-article-body {
    padding: 14px;
  }
}

/* =========================================================
   FINAL GLOBAL NAVBAR FIX (desktop + mobile safety)
   Keeps bottom navbar stable across all pages.
   ========================================================= */
@media (min-width: 992px) {
  .main-header,
  .main-header .container,
  .nav-bar,
  .nav-bar .container,
  .nav-bar .navbar,
  .nav-bar .navbar-collapse {
    overflow: visible !important;
  }

  .main-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
  }

  .nav-bar {
    position: sticky !important;
    top: 112px !important;
    z-index: 1180 !important;
    isolation: isolate !important;
    min-height: 72px !important;
    height: 72px !important;
    background: #f3f3f3 !important;
    border-top: 1px solid #e4ded2 !important;
    border-bottom: 1px solid #e4ded2 !important;
    overflow: visible !important;
  }

  .nav-bar .container {
    max-width: 1320px !important;
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  .nav-bar .navbar-collapse {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    overflow: visible !important;
  }

  .nav-bar .navbar-nav {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
  }

  .nav-bar .nav-item {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 1 auto !important;
    z-index: 2 !important;
  }

  .nav-bar .nav-link {
    min-height: 72px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    padding: 0 8px !important;
    white-space: nowrap !important;
  }

  /* stop active/hover underline overlapping text */
  .nav-bar .nav-link:not(.dropdown-toggle)::after {
    left: 8px !important;
    width: calc(100% - 16px) !important;
    bottom: 11px !important;
    height: 2px !important;
  }

  .nav-bar .nav-link.dropdown-toggle {
    gap: 0.4rem !important;
  }

  .nav-bar .nav-link.dropdown-toggle::after {
    position: static !important;
    margin-left: 0.1rem !important;
    transform: none !important;
  }

  .nav-bar .nav-item.dropdown:hover > .dropdown-menu,
  .nav-bar .nav-item.dropdown:focus-within > .dropdown-menu {
    display: block !important;
  }

  .nav-bar .dropdown-menu {
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    margin-top: 0 !important;
    min-width: 360px !important;
    max-width: 420px !important;
    max-height: min(72vh, 560px) !important;
    overflow-y: auto !important;
    border: 1px solid #e9e5de !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 28px rgba(17, 17, 17, 0.14) !important;
    background: #fff !important;
    padding: 6px 0 !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
  }

  .nav-bar .dropdown-item {
    white-space: normal !important;
    word-break: break-word !important;
    font-size: 0.96rem !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    color: #333 !important;
    text-transform: uppercase !important;
    padding: 12px 20px !important;
  }

  .nav-bar .dropdown-item:hover,
  .nav-bar .dropdown-item:focus {
    background: #f7f3e8 !important;
    color: #171717 !important;
  }

  /* edge-safe dropdowns for right-most items */
  .nav-bar .nav-item.dropdown:last-child .dropdown-menu,
  .nav-bar .nav-item:nth-last-child(2).dropdown .dropdown-menu {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 991.98px) {
  /* keep mobile collapse behavior unaffected and on top */
  .main-header {
    z-index: 1200 !important;
  }

  .nav-bar {
    z-index: 1190 !important;
  }

  .nav-bar .navbar-collapse.show {
    position: relative !important;
    z-index: 5000 !important;
  }
}

/* Products catalog UX refresh */
.products-page .products-hero-section {
  overflow: hidden;
}

.products-page .products-hero-eyebrow {
  letter-spacing: 0.24em;
  color: #9a7a3f;
}

.products-page .products-hero-title {
  max-width: 100%;
  font-family: 'Cormorant Garamond', serif;
  font-size: 3.1rem;
  line-height: 1.02;
  overflow-wrap: anywhere;
  word-break: normal;
}

.products-page .products-hero-description {
  max-width: 760px;
}

.products-page .products-catalog-section {
  background: linear-gradient(180deg, #fcf8f1 0%, #f6f0e6 100%);
}

.products-page .products-toolbar {
  padding: 1rem 1.1rem;
  border: 1px solid #e9decc;
  border-radius: 14px;
  background: #fffdf9;
}

.products-page .products-toolbar > div:first-child {
  min-width: 0;
}

.products-page .products-toolbar-title {
  max-width: 100%;
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: normal;
}

.products-page .products-sort-wrap {
  gap: 0.65rem;
}

.products-page .products-sort-select {
  min-width: 220px;
  border-radius: 999px;
  border-color: #d9c5a2;
  background-color: #fff;
}

.products-page .products-filter-card {
  position: sticky;
  top: 96px;
  border-color: #e8dcc8 !important;
  background: #fffdfa;
}

.products-page .products-filter-card .form-control,
.products-page .products-filter-card .form-select {
  border-color: #dfd3bf;
}

.products-page .products-filter-card .btn-dark {
  background: #20170f;
  border-color: #20170f;
}

.products-page .products-filter-card .btn-dark:hover {
  background: #3a2a1a;
  border-color: #3a2a1a;
}

.products-page .products-results-wrap .product-card {
  border-color: #eadfcf !important;
  transition: transform .25s ease, box-shadow .25s ease;
}

.products-page .products-results-wrap .product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 28px rgba(37, 24, 8, 0.12) !important;
}

.products-page .products-results-wrap .product-info h6 {
  font-size: 1rem;
  line-height: 1.35;
  min-height: 2.7em;
}

.products-page .products-results-wrap .price .new {
  font-size: 1.05rem;
  font-weight: 700;
}

.products-page .products-results-wrap .price .offer {
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  background: #efe4d2;
  color: #6a4b25;
}

@media (min-width: 1200px) {
  .products-page .products-hero-title {
    font-size: 4rem;
  }
}

@media (max-width: 991.98px) {
  .products-page .products-hero-title {
    font-size: 3rem;
  }

  .products-page .products-filter-card {
    position: static;
    top: auto;
  }

  .products-page .products-toolbar {
    padding: .85rem;
  }

  .products-page .products-sort-select {
    min-width: 180px;
  }
}

@media (max-width: 575.98px) {
  .products-page .products-hero-section {
    padding-top: 2.15rem !important;
    padding-bottom: 2.15rem !important;
  }

  .products-page .products-hero-eyebrow {
    font-size: 0.76rem;
    line-height: 1.35;
    letter-spacing: 0.18em;
  }

  .products-page .products-hero-title {
    font-size: 2rem;
    line-height: 1.08;
  }

  .products-page .products-toolbar {
    align-items: stretch !important;
  }

  .products-page .products-toolbar-title {
    font-size: 1.65rem;
  }

  .products-page .products-sort-wrap {
    width: 100%;
    justify-content: space-between;
  }

  .products-page .products-sort-wrap form {
    width: 100%;
    justify-content: space-between;
  }

  .products-page .products-sort-select {
    min-width: 150px;
    max-width: 190px;
  }
}

@media (max-width: 379.98px) {
  .products-page .products-hero-title {
    font-size: 1.8rem;
  }

  .products-page .products-toolbar-title {
    font-size: 1.45rem;
  }
}

/* Global product card image uniformity */
:root {
  --product-card-media-ratio: 4 / 5;
}

.product-card .product-img,
.offer-product-card .product-img,
.catalog-card .catalog-media,
.dl-product-card .product-img {
  aspect-ratio: var(--product-card-media-ratio) !important;
  width: 100% !important;
  overflow: hidden !important;
}

.product-card .product-img img,
.offer-product-card .product-img img,
.catalog-card .catalog-media img,
.dl-product-card .product-img img,
.dynamic-product-link .product-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Slider product card image uniformity */
:root {
  --slider-card-media-ratio: 4 / 5;
}

.product-slider .product-card .card-img,
.product-slider .product-card .product-img,
.celebration-slider .product-card .product-img,
.saree-slider .product-card .product-img,
.category-slider .product-card .product-img,
.offers-grid .offer-product-card .offer-media,
.offers-grid .offer-temple-card .offer-media {
  aspect-ratio: var(--slider-card-media-ratio) !important;
  width: 100% !important;
  overflow: hidden !important;
}

.product-slider .product-card .card-img img,
.product-slider .product-card .product-img img,
.celebration-slider .product-card .product-img img,
.saree-slider .product-card .product-img img,
.category-slider .product-card .product-img img,
.offers-grid .offer-product-card .offer-media img,
.offers-grid .offer-temple-card .offer-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Keep product rails scrollable without showing the browser scrollbar. */
.product-slider,
.celebration-slider,
.saree-slider,
.category-slider,
.dress-grid,
.jew-grid,
.accessories-grid,
.offers-grid,
.dresses-page .dl-product-rail,
.dresses-page .mobile-dress-slider,
.slick-list {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.product-slider::-webkit-scrollbar,
.celebration-slider::-webkit-scrollbar,
.saree-slider::-webkit-scrollbar,
.category-slider::-webkit-scrollbar,
.dress-grid::-webkit-scrollbar,
.jew-grid::-webkit-scrollbar,
.accessories-grid::-webkit-scrollbar,
.offers-grid::-webkit-scrollbar,
.dresses-page .dl-product-rail::-webkit-scrollbar,
.dresses-page .mobile-dress-slider::-webkit-scrollbar,
.slick-list::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Hide legacy static hero banners when dynamic page banner is present */
.has-dynamic-banner .page-banner:not(.dynamic-page-banner),
.has-dynamic-banner .accessories-hero,
.has-dynamic-banner .saree-banner {
  display: none !important;
}

/* Premium videos page redesign */
.videos-page .premium-videos {
  background:
    radial-gradient(circle at 15% -5%, rgba(201, 163, 94, 0.14), transparent 28%),
    radial-gradient(circle at 100% 30%, rgba(38, 29, 17, 0.1), transparent 34%),
    #f2f0ec;
}

.videos-page .videos-intro {
  padding-bottom: 2rem !important;
}

.videos-page .intro-shell {
  border-radius: 26px;
  background: linear-gradient(118deg, #111112 0%, #221a12 38%, #8d6836 100%);
  color: #f5ecde;
  padding: clamp(1.25rem, 2.8vw, 2.4rem);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(236, 213, 167, 0.32);
  box-shadow: 0 18px 44px rgba(22, 14, 7, 0.25);
}

.videos-page .intro-kicker {
  letter-spacing: 0.14em;
  font-size: 0.8rem;
  font-weight: 600;
  opacity: 0.92;
}

.videos-page .intro-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.1rem, 4vw, 3.25rem);
  line-height: 1.08;
  color: #fff8ea;
}

.videos-page .intro-text {
  max-width: 640px;
  font-size: clamp(1rem, 1.4vw, 1.1rem);
  color: rgba(253, 248, 238, 0.9);
}

.videos-page .intro-stats {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.videos-page .stat-chip {
  min-width: 126px;
  border-radius: 16px;
  border: 1px solid rgba(236, 213, 167, 0.45);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(5px);
  padding: 0.72rem 0.92rem;
}

.videos-page .stat-label {
  display: block;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 246, 232, 0.76);
}

.videos-page .stat-value {
  display: block;
  font-size: 1.32rem;
  color: #fff;
}

.videos-page .insta-video-section {
  background: transparent;
}

.videos-page .video-group {
  background: #f9f6ef;
  border: 1px solid #e8dcc9;
  border-radius: 24px;
  padding: clamp(1rem, 2.3vw, 1.8rem);
  box-shadow: 0 18px 30px rgba(42, 26, 10, 0.08);
}

.videos-page .insta-slider-head {
  margin-bottom: 1.25rem;
}

.videos-page .insta-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem, 3.1vw, 2.6rem);
  font-weight: 700;
  line-height: 1.1;
  color: #1e1710;
}

.videos-page .group-subtitle {
  color: #6e5a44;
  font-size: 0.98rem;
}

.videos-page .insta-slider-controls {
  gap: 0.55rem;
}

.videos-page .insta-nav-btn {
  width: 42px;
  height: 42px;
  border-radius: 11px;
  border: 1px solid #d9c7ac;
  background: linear-gradient(180deg, #fff9ef 0%, #f3ebdc 100%);
  color: #6e512d;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.videos-page .insta-nav-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(62, 41, 16, 0.16);
}

.videos-page .insta-slider {
  gap: 16px;
}

.videos-page .youtube-card,
.videos-page .insta-card {
  border: 1px solid #eadbc1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(53, 35, 15, 0.08);
}

.videos-page .youtube-card iframe,
.videos-page .insta-card img,
.videos-page .insta-card iframe {
  aspect-ratio: 9 / 16;
}

.videos-page .video-card-meta {
  padding: 0.8rem 0.9rem 0.95rem;
}

.videos-page .video-card-meta h3 {
  margin: 0;
  font-size: 0.98rem;
  color: #2b2319;
  font-weight: 600;
  line-height: 1.4;
}

.videos-page .insta-duration {
  top: 12px;
  left: 12px;
  color: #5b4528;
  background: rgba(255, 249, 237, 0.95);
  border: 1px solid #e4d2b6;
}

.videos-page .empty-card {
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(155deg, #1a1712 0%, #33281c 100%);
  border-color: #4b3924;
}

.videos-page .empty-card-content {
  text-align: center;
  padding: 1.1rem;
  color: #f5e9d5;
}

.videos-page .empty-card-content i {
  display: inline-block;
  margin-bottom: 0.7rem;
  font-size: 1.85rem;
}

.videos-page .empty-card-content p {
  color: rgba(245, 233, 213, 0.86);
}

@media (max-width: 991.98px) {
  .videos-page .intro-shell {
    align-items: flex-start;
    flex-direction: column;
  }

  .videos-page .intro-stats {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .videos-page .video-group {
    border-radius: 18px;
    padding: 0.9rem;
  }

  .videos-page .insta-title {
    font-size: 1.55rem;
  }

  .videos-page .group-subtitle {
    font-size: 0.9rem;
  }

.videos-page .insta-nav-btn {
    width: 38px;
    height: 38px;
  }
}

.header-icon-link {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

.account-page .account-main {
  background: radial-gradient(circle at top right, rgba(184, 150, 46, 0.14), transparent 30%), #f5f2ea;
}

.account-page .account-alert {
  border-radius: 14px;
  border: 1px solid rgba(32, 104, 66, 0.22);
  margin-bottom: 16px;
}

.account-page .account-kicker {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.76rem;
  font-weight: 700;
  color: #8d6836;
}

.account-page .account-guest-card,
.account-page .account-header-card,
.account-page .account-stat-card,
.account-page .account-panel {
  border: 1px solid rgba(141, 104, 54, 0.2);
  background: #fffcf6;
  border-radius: 24px;
  box-shadow: 0 16px 30px rgba(56, 36, 12, 0.09);
}

.account-page .account-guest-card {
  padding: clamp(1.2rem, 2.5vw, 2rem);
}

.account-page .account-guest-card h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem, 3.5vw, 2.5rem);
}

.account-page .account-btn-primary {
  background: linear-gradient(130deg, #a6783b, #d8b26a);
  color: #fff8ea;
  border: 0;
  border-radius: 12px;
  padding: 0.58rem 1.05rem;
}

.account-page .account-btn-outline {
  border: 1px solid #c6a068;
  color: #5c3e18;
  border-radius: 12px;
  padding: 0.58rem 1.05rem;
}

.account-page .account-header-card {
  padding: clamp(1.2rem, 2.2vw, 1.8rem);
  background: linear-gradient(135deg, #1d1712, #5d3f1b);
  color: #fff7ec;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-end;
}

.account-page .account-header-card h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
}

.account-page .account-loyalty {
  min-width: 180px;
  border-radius: 14px;
  padding: 0.75rem 0.95rem;
  border: 1px solid rgba(255, 224, 168, 0.4);
  background: rgba(255, 255, 255, 0.1);
}

.account-page .account-loyalty span {
  display: block;
  font-size: 0.8rem;
  color: rgba(255, 244, 224, 0.82);
}

.account-page .account-loyalty strong {
  font-size: 1.4rem;
}

.account-page .account-stats-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.account-page .account-stat-card {
  padding: 1rem 1.1rem;
}

.account-page .account-stat-card span {
  display: block;
  color: #7f6846;
  font-size: 0.95rem;
  margin-bottom: 8px;
}

.account-page .account-stat-card strong {
  font-size: clamp(1.2rem, 2.3vw, 1.65rem);
  color: #1c1711;
}

.account-page .account-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 2fr 1fr;
}

.account-page .account-profile-panel {
  grid-column: 1 / -1;
}

.account-page .account-profile-form {
  display: grid;
  gap: 14px;
}

.account-page .account-profile-avatar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #ead9c3;
  border-radius: 14px;
  background: #fff9ef;
}

.account-page .account-profile-avatar span {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(130deg, #8a5f2c, #c49758);
  color: #fff6ea;
  font-weight: 700;
  font-size: 1.05rem;
}

.account-page .account-profile-avatar strong,
.account-page .account-profile-avatar small {
  display: block;
}

.account-page .account-profile-avatar small {
  color: #7e6748;
}

.account-page .account-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.account-page .account-form-grid label {
  display: grid;
  gap: 7px;
}

.account-page .account-form-grid label span {
  font-size: 0.9rem;
  color: #6f583a;
  font-weight: 600;
}

.account-page .account-form-grid input,
.account-page .account-form-grid textarea {
  border-radius: 12px;
  border: 1px solid #dcc5a5;
  padding: 11px 12px;
  background: #fffefb;
  color: #2b2117;
}

.account-page .account-full-row {
  grid-column: 1 / -1;
}

.account-page .account-panel {
  padding: 1.1rem;
}

.account-page .account-panel h3 {
  font-size: 1.35rem;
  margin-bottom: 0.95rem;
  font-family: "Playfair Display", Georgia, serif;
}

.account-page .account-table {
  margin-bottom: 0;
}

.account-page .account-table thead th {
  border-bottom: 1px solid #e8dbc8;
  color: #806543;
  font-weight: 600;
  font-size: 0.86rem;
}

.account-page .account-table tbody td {
  vertical-align: middle;
  border-color: #eee3d2;
  color: #2f2418;
}

.account-page .order-status-chip {
  background: #f2e6d5;
  color: #724f24;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.79rem;
  font-weight: 600;
}

.account-page .address-card {
  border: 1px dashed #d9c1a0;
  border-radius: 14px;
  background: #fffaf0;
  padding: 0.9rem;
  color: #3e3021;
}

.account-page .account-address-form {
  border-top: 1px solid #ead9c3;
  padding-top: 14px;
}

@media (max-width: 991.98px) {
  .account-page .account-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .account-page .account-grid {
    grid-template-columns: 1fr;
  }

  .account-page .account-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .account-page .account-stats-grid {
    grid-template-columns: 1fr;
  }

  .account-page .account-header-card {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* =========================================================
   MOBILE DYNAMIC CONTENT + MEDIA RESPONSIVENESS
   ========================================================= */
.inner-page img,
.inner-page video,
.inner-page iframe {
  max-width: 100%;
}

.inner-page .dynamic-page-banner {
  width: 100%;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
}

.dynamic-product-link,
.offer-product-card,
.product-card,
.pd-gallery-card,
.pd-info-card {
  min-width: 0;
}

.offer-media img,
.product-img img,
.catalog-media img,
.blog-card-img,
.blog-details-main-img,
.videos-page .insta-card img {
  object-position: center;
}

@media (max-width: 767.98px) {
  .inner-page section.py-5,
  .inner-page section.pb-5 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

  .inner-page .page-banner {
    min-height: clamp(240px, 68vw, 310px) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background-position: center !important;
  }

  .inner-page .page-banner .container,
  .inner-page .page-banner .banner-content {
    min-height: inherit;
  }

  .inner-page .page-banner .banner-content {
    display: flex;
    align-items: center;
    padding: 28px 4px;
  }

  .inner-page .page-banner .content-box {
    width: 100%;
  }

  .inner-page .page-banner .content-box h1,
  .inner-page .page-banner .content-box p {
    overflow-wrap: anywhere;
  }

  .offers-page .offers-collection-section .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .offers-page .offers-title {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
    line-height: 1.12;
  }

  .offers-page .offers-grid-5,
  .offers-page .offers-grid-4,
  .offers-page .offers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
  }

  .offers-page .offer-media,
  .offers-page .offer-temple-card .offer-media {
    width: 100%;
    height: auto !important;
    aspect-ratio: 4 / 5;
  }

  .offers-page .offer-media img,
  .offers-page .offer-temple-card .offer-media img,
  .offers-grid .offer-product-card .offer-media img,
  .offers-grid .offer-temple-card .offer-media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  .offers-page .offer-badge {
    top: 8px;
    right: 8px;
    min-width: 50px;
    padding: 7px 6px;
    font-size: 11px;
  }

  .offers-page .offer-info {
    padding-top: 10px;
  }

  .offers-page .offer-info h6,
  .offers-page .offer-info h5 {
    min-height: 2.6em;
    margin-bottom: 5px;
    font-size: 0.92rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }

  .offers-page .offer-product-card .price {
    gap: 3px 6px;
    font-size: 0.85rem;
  }

  .offers-page .offer-product-card .price .old,
  .offers-page .offer-product-card .price .offer {
    font-size: 0.75rem;
  }

  .offers-page .product-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin-top: 10px;
  }

  .offers-page .product-action-btn {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    padding: 7px 6px !important;
    font-size: 11px;
    white-space: normal;
  }

  .product-details-page .pd-main {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .product-details-page .pd-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 7px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .product-details-page .pd-gallery-card,
  .product-details-page .pd-info-card {
    width: 100%;
    padding: 10px;
    overflow: hidden;
  }

  .product-details-page .pd-main-image-wrap {
    width: 100%;
  }

  .product-details-page .pd-main-image {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none;
    object-fit: contain;
  }

  .product-details-page .pd-thumb-strip {
    width: 100%;
    padding: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .product-details-page .pd-thumbs {
    display: flex;
    width: max-content;
    max-width: none;
    gap: 8px;
  }

  .product-details-page .pd-thumb-btn {
    flex: 0 0 72px;
    width: 72px;
  }

  .product-details-page .pd-thumbs img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .product-details-page .pd-top-line {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .product-details-page .pd-title,
  .product-details-page .pd-description,
  .product-details-page .pd-code,
  .product-details-page .pd-pill,
  .product-details-page .pd-accordion-content {
    overflow-wrap: anywhere;
  }

  .product-details-page .pd-price-line {
    gap: 8px 10px;
  }

  .product-details-page .pd-pill {
    width: 100%;
    max-width: 100%;
    text-align: left;
  }

  .product-details-page .pd-btn {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }

  .product-details-page .pd-section-title {
    width: max-content;
    max-width: calc(100% - 24px);
    padding: 6px 14px;
    text-align: center;
    white-space: normal;
  }

  .product-details-page .pd-similar-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .product-details-page .pd-reco-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .product-details-page .review-tag {
    right: 7px;
    bottom: 7px;
    left: 7px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .products-page .products-toolbar,
  .products-page .products-sort-wrap,
  .products-page .products-sort-wrap form {
    min-width: 0;
  }

  .products-page .products-sort-wrap form {
    flex-wrap: wrap;
  }

  .products-page .products-sort-select {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .blog-card-img,
  .blog-details-main-img {
    width: 100%;
    height: auto;
  }
}

@media (max-width: 359.98px) {
  .offers-page .offers-grid-5,
  .offers-page .offers-grid-4,
  .offers-page .offers-grid {
    grid-template-columns: 1fr !important;
  }

  .product-details-page .pd-reco-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   PRODUCT DETAILS + SPECIAL OFFERS MOBILE CAROUSELS
   ========================================================= */
.product-details-page .pd-main-image-wrap {
  position: relative;
}

.product-details-page .pd-gallery-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  background: rgba(17, 17, 17, 0.68);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  backdrop-filter: blur(4px);
}

.product-details-page .pd-gallery-prev {
  left: 12px;
}

.product-details-page .pd-gallery-next {
  right: 12px;
}

.product-details-page .pd-gallery-count {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  border-radius: 999px;
  background: rgba(17, 17, 17, 0.72);
  color: #fff;
  padding: 5px 10px;
  font-size: 0.78rem;
  font-weight: 700;
}

.offers-page .offers-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.offers-page .offers-carousel-controls {
  display: inline-flex;
  gap: 8px;
  flex: 0 0 auto;
}

.offers-page .offers-carousel-btn {
  width: 42px;
  height: 42px;
  border: 1px solid #c7a958;
  border-radius: 50%;
  background: #fff;
  color: #2b2115;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.offers-page .offers-carousel-btn:disabled {
  cursor: default;
  opacity: 0.35;
}

.offers-page .offers-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 72px) / 4);
  grid-template-columns: none !important;
  gap: 24px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.offers-page .offers-carousel::-webkit-scrollbar {
  display: none;
}

.offers-page .offers-carousel .offer-product-card {
  scroll-snap-align: start;
  min-width: 0;
}

@media (max-width: 1199.98px) {
  .offers-page .offers-carousel {
    grid-auto-columns: calc((100% - 48px) / 3);
  }
}

@media (max-width: 991.98px) {
  .offers-page .offers-carousel {
    grid-auto-columns: calc((100% - 18px) / 2);
    gap: 18px;
  }
}

@media (max-width: 767.98px) {
  .product-details-page .pd-main .container-xxl {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .product-details-page .pd-main .row {
    --bs-gutter-x: 0;
  }

  .product-details-page .pd-gallery-card,
  .product-details-page .pd-info-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 14px !important;
  }

  .product-details-page .pd-main-image-wrap {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    max-height: min(68vh, 520px);
    background: #eee9e2;
  }

  .product-details-page .pd-main-image {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .product-details-page .pd-gallery-nav {
    width: 38px;
    height: 38px;
  }

  .product-details-page .pd-gallery-prev {
    left: 8px;
  }

  .product-details-page .pd-gallery-next {
    right: 8px;
  }

  .product-details-page .pd-thumb-strip {
    display: block !important;
    max-width: 100% !important;
    margin-top: 10px;
    overflow-x: auto !important;
  }

  .product-details-page .pd-thumbs {
    display: flex !important;
    width: max-content !important;
    max-width: none !important;
    height: auto !important;
    grid-template-columns: none !important;
  }

  .product-details-page .pd-thumb-btn {
    display: block !important;
    flex: 0 0 68px !important;
    width: 68px !important;
    height: 84px !important;
    max-width: 68px !important;
  }

  .product-details-page .pd-thumb-btn img,
  .product-details-page .pd-thumbs img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }

  .product-details-page .pd-info-card {
    padding: 16px 14px 18px !important;
  }

  .product-details-page .pd-title {
    margin: 14px 0 10px !important;
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
    line-height: 1.15 !important;
    text-transform: none !important;
  }

  .product-details-page .pd-rating,
  .product-details-page .pd-code,
  .product-details-page .pd-description {
    font-size: 0.95rem !important;
  }

  .product-details-page .pd-subtitle {
    margin-top: 20px !important;
    font-size: 1.2rem !important;
  }

  .product-details-page .pd-prop-row > [class*="col-"] {
    width: 100%;
  }

  .offers-page .offers-section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
  }

  .offers-page .offers-title {
    text-align: left !important;
  }

  .offers-page .offers-carousel-btn {
    width: 38px;
    height: 38px;
  }

  .offers-page .offers-grid-5.offers-carousel,
  .offers-page .offers-grid-4.offers-carousel,
  .offers-page .offers-grid.offers-carousel {
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: min(82vw, 310px) !important;
    gap: 14px !important;
    overflow-x: auto !important;
    padding: 2px 2px 12px !important;
    scroll-padding-inline: 2px;
  }

  .offers-page .offer-product-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 10px;
    border: 1px solid #e6dccb;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(38, 25, 9, 0.08);
  }

  .offers-page .offer-product-card .dynamic-product-link {
    height: auto;
  }

  .offers-page .offer-media {
    aspect-ratio: 4 / 5 !important;
    max-height: 430px;
    border-radius: 12px;
  }

  .offers-page .offer-info h6 {
    min-height: 0;
    font-size: 1rem;
  }

  .offers-page .product-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
    padding-top: 12px;
  }

  .offers-page .product-action-btn {
    min-height: 40px;
    font-size: 0.72rem;
  }
}

@media (max-width: 374.98px) {
  .offers-page .offers-grid-5.offers-carousel,
  .offers-page .offers-grid-4.offers-carousel,
  .offers-page .offers-grid.offers-carousel {
    grid-auto-columns: calc(100vw - 48px) !important;
  }

  .product-details-page .pd-main-image-wrap {
    max-height: 440px;
  }
}

/* =========================================================
   PRODUCT DETAILS EXPERIENCE
   Authoritative layer: keeps legacy product rules predictable.
   ========================================================= */
.product-details-page {
  --pd-ink: #201a14;
  --pd-muted: #756b60;
  --pd-gold: #c7a45a;
  --pd-gold-soft: #f4ead4;
  --pd-line: #e8ded0;
  --pd-surface: #fffdfa;
  background:
    radial-gradient(circle at 10% 0%, rgba(199, 164, 90, 0.11), transparent 28rem),
    #f7f4ef;
  color: var(--pd-ink);
}

.product-details-page .pd-main {
  padding-top: 32px !important;
  padding-bottom: 56px !important;
}

.product-details-page .pd-main .container-xxl {
  max-width: 1480px;
}

.product-details-page .pd-main > .container-xxl > .row {
  align-items: flex-start;
}

.product-details-page .pd-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 9px;
  margin-bottom: 18px !important;
  font-size: 0.86rem;
}

.product-details-page .pd-breadcrumb a {
  transition: color 0.2s ease;
}

.product-details-page .pd-breadcrumb a:hover {
  color: #9c762c;
}

.product-details-page .pd-gallery-card,
.product-details-page .pd-info-card {
  border: 1px solid rgba(177, 145, 90, 0.2);
  border-radius: 24px;
  background: rgba(255, 253, 250, 0.96);
  box-shadow: 0 22px 60px rgba(58, 42, 20, 0.08);
}

.product-details-page .pd-gallery-card {
  padding: 14px;
}

.product-details-page .pd-main-image-wrap {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1.03;
  overflow: hidden;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(236, 226, 211, 0.82)),
    #eee7dc;
  touch-action: pan-y;
  isolation: isolate;
}

.product-details-page .pd-main-image {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block;
  background: transparent;
  transition: opacity 0.18s ease, transform 0.35s ease;
}

.product-details-page .pd-main-image.is-changing {
  opacity: 0.35;
  transform: scale(0.992);
}

.product-details-page .pd-gallery-nav {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: rgba(25, 21, 17, 0.76);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  transition: transform 0.2s ease, background 0.2s ease;
}

.product-details-page .pd-gallery-nav:hover {
  background: #17130f;
  transform: translateY(-50%) scale(1.06);
}

.product-details-page .pd-gallery-count {
  right: 14px;
  bottom: 14px;
  padding: 7px 12px;
  background: rgba(25, 21, 17, 0.78);
  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.16);
  letter-spacing: 0.04em;
}

.product-details-page .pd-swipe-hint {
  display: none;
}

.product-details-page .pd-thumb-strip {
  width: 100%;
  margin-top: 12px;
  padding: 8px;
  overflow-x: auto;
  border: 1px solid var(--pd-line);
  border-radius: 15px;
  background: #fbf7f1;
  scrollbar-width: thin;
  scrollbar-color: #c8b99f transparent;
  overscroll-behavior-inline: contain;
}

.product-details-page .pd-thumbs {
  display: flex !important;
  width: max-content !important;
  min-width: 100%;
  max-width: none !important;
  height: auto !important;
  gap: 8px;
}

.product-details-page .pd-thumb-btn {
  position: relative;
  display: block !important;
  flex: 0 0 82px;
  width: 82px !important;
  height: 96px !important;
  max-width: 82px !important;
  padding: 3px;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.product-details-page .pd-thumb-btn:hover {
  transform: translateY(-2px);
}

.product-details-page .pd-thumb-btn.active {
  border-color: var(--pd-gold);
  box-shadow: 0 5px 14px rgba(122, 88, 31, 0.18);
}

.product-details-page .pd-thumb-btn img,
.product-details-page .pd-thumbs img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  border-radius: 8px;
}

.product-details-page .pd-info-card {
  padding: clamp(24px, 3vw, 42px);
}

.product-details-page .pd-top-line {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--pd-line);
}

.product-details-page .pd-rating {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #47704f;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-details-page .pd-eyebrow {
  color: #9a762e;
}

.product-details-page .pd-status-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #a99982;
}

.product-details-page .pd-share-icons {
  gap: 8px;
}

.product-details-page .pd-share-icons a {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--pd-line);
  border-radius: 50%;
  color: var(--pd-ink);
  background: #fff;
  transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.product-details-page .pd-share-icons a:hover {
  color: #9a762e;
  border-color: #cdb174;
  transform: translateY(-2px);
}

.product-details-page .pd-title {
  max-width: 18ch;
  margin: 24px 0 14px;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-size: clamp(2.25rem, 3.7vw, 4.15rem);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: -0.025em;
}

.product-details-page .pd-price-line {
  gap: 9px 14px;
  padding-bottom: 18px;
}

.product-details-page .pd-price-line .new {
  color: #8f6925;
  font-size: clamp(1.65rem, 2.2vw, 2.15rem);
  font-weight: 700;
}

.product-details-page .pd-price-line .old {
  color: #8c8379;
  font-size: 1rem;
}

.product-details-page .pd-price-line .save {
  border-radius: 999px;
  background: var(--pd-gold-soft);
  color: #805d1d;
  padding: 6px 10px;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

.product-details-page .pd-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--pd-line);
  border-bottom: 1px solid var(--pd-line);
}

.product-details-page .pd-code {
  margin: 0;
  color: var(--pd-muted);
  font-size: 0.9rem;
  font-weight: 500;
}

.product-details-page .pd-code span {
  color: var(--pd-ink);
  font-weight: 700;
}

.product-details-page .pd-stock {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 0.82rem;
}

.product-details-page .pd-description-panel {
  padding: 22px 0 20px;
}

.product-details-page .pd-subtitle {
  margin: 0 0 8px;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-size: 1.75rem;
  font-weight: 700;
}

.product-details-page .pd-description {
  margin: 0;
  color: #544b43;
  font-size: 1rem;
  line-height: 1.7;
}

.product-details-page .pd-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
}

.product-details-page .pd-category-list span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--pd-line);
  border-radius: 999px;
  background: #fff;
  color: #63584c;
  padding: 7px 11px;
  font-size: 0.82rem;
  font-weight: 600;
}

.product-details-page .pd-category-list i {
  color: #a27b31;
}

.product-details-page .pd-variant-picker {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid #e5d6bb;
  border-radius: 18px;
  background: linear-gradient(135deg, #fffaf1, #fff);
}

.product-details-page .pd-section-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.product-details-page .pd-section-heading .pd-subtitle {
  margin: 0;
}

.product-details-page .pd-section-heading > span {
  color: var(--pd-muted);
  font-size: 0.78rem;
}

.product-details-page .pd-label {
  margin-bottom: 6px;
  color: #554a3f;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.product-details-page .pd-option-select {
  min-height: 48px;
  border: 1px solid #cfbea1;
  border-radius: 12px;
  background-color: #fff;
  font-size: 0.92rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.product-details-page .pd-option-select:focus {
  border-color: var(--pd-gold);
  outline: none;
  box-shadow: 0 0 0 3px rgba(199, 164, 90, 0.16);
}

.product-details-page .pd-variant-message {
  min-height: 0;
  margin-bottom: 0;
}

.product-details-page .pd-variant-message:empty {
  display: none;
}

.product-details-page .pd-btn-row {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 10px;
}

.product-details-page .pd-btn {
  min-height: 52px;
  border-width: 1px;
  border-radius: 13px;
  font-size: 0.92rem;
  letter-spacing: 0.035em;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.product-details-page #pdAddToCart {
  border-color: var(--pd-gold);
  background: var(--pd-gold);
  color: #241c10;
}

.product-details-page #pdAddToCart:hover {
  border-color: #b79043;
  background: #b79043;
  color: #17120b;
}

.product-details-page .pd-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 9px 20px rgba(52, 38, 19, 0.12);
}

.product-details-page .pd-btn-solid {
  min-height: 55px;
  margin-top: 10px;
  border-color: #201a14;
  background: #201a14;
}

.product-details-page .pd-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
  padding: 15px 0;
  border-top: 1px solid var(--pd-line);
  border-bottom: 1px solid var(--pd-line);
}

.product-details-page .pd-benefits > div {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.product-details-page .pd-benefits i {
  flex: 0 0 auto;
  color: #9a762e;
  font-size: 1.15rem;
}

.product-details-page .pd-benefits span {
  min-width: 0;
  color: var(--pd-muted);
  font-size: 0.7rem;
  line-height: 1.25;
}

.product-details-page .pd-benefits strong {
  display: block;
  color: var(--pd-ink);
  font-size: 0.76rem;
}

.product-details-page .pd-section-card {
  margin-top: 24px;
  padding: 28px 14px 14px;
  border: 1px solid var(--pd-line);
  border-radius: 17px;
  background: #fff;
}

.product-details-page .pd-section-title {
  top: -13px;
  border: 1px solid #d7bf8e;
  border-radius: 999px;
  background: #fffaf0;
  color: #6d4f1e;
  padding: 6px 16px;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.product-details-page .pd-similar-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.product-details-page .pd-similar-strip a {
  border-radius: 11px;
  overflow: hidden;
}

.product-details-page .pd-similar-strip img {
  aspect-ratio: 4 / 5;
  transition: transform 0.35s ease;
}

.product-details-page .pd-similar-strip a:hover img {
  transform: scale(1.04);
}

.product-details-page .pd-offer-banner {
  margin-top: 24px;
  border-radius: 13px 13px 0 0;
  background: #272018;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  font-size: 1.25rem;
  letter-spacing: 0.02em;
  text-transform: none;
}

.product-details-page .pd-accordion-list {
  margin-top: 0;
  border: 1px solid var(--pd-line);
  border-top: 0;
  border-radius: 0 0 13px 13px;
  background: #fff;
  padding: 0 16px;
}

.product-details-page .pd-accordion-list button {
  min-height: 54px;
  padding: 14px 0;
  font-size: 0.85rem;
  letter-spacing: 0.045em;
}

.product-details-page .pd-accordion-content p {
  color: #62584e;
  font-size: 0.9rem;
}

.product-details-page .return-policy-list.is-compact {
  gap: 10px;
}

.product-details-page .return-policy-list.is-compact li {
  padding: 0 0 0 28px;
  border: 0;
  background: transparent;
}

.product-details-page .return-policy-list.is-compact li::before {
  top: 1px;
  left: 0;
  width: 20px;
  height: 20px;
  background: #eee3cb;
  color: #6d4f1e;
  font-size: 0.7rem;
}

.product-details-page .return-policy-list.is-compact h3 {
  color: #3c332a;
  font-family: inherit;
  font-size: 0.86rem !important;
  line-height: 1.35 !important;
}

.product-details-page .return-policy-list.is-compact p {
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
}

.product-details-page .pd-policy-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 15px;
  color: #7e5c1d;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

.product-details-page .pd-policy-link:hover {
  color: #432f0c;
  text-decoration: underline;
}

@media (max-width: 575.98px) {
  .return-policy-list li {
    padding: 62px 18px 18px;
  }

  .return-policy-list li::before {
    top: 18px;
    left: 18px;
  }

  .product-details-page .return-policy-list.is-compact li {
    padding: 0 0 0 28px;
  }

  .product-details-page .return-policy-list.is-compact li::before {
    top: 1px;
    left: 0;
  }
}

@media (min-width: 1200px) {
  .product-details-page .pd-gallery-card {
    position: sticky;
    top: 18px;
  }

  .product-details-page .pd-info-card {
    position: static;
  }
}

@media (max-width: 991.98px) {
  .product-details-page .pd-main {
    padding-top: 22px !important;
    padding-bottom: 38px !important;
  }

  .product-details-page .pd-main > .container-xxl > .row {
    gap: 18px;
  }

  .product-details-page .pd-main-image-wrap {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 767.98px) {
  .product-details-page .pd-main .container-xxl {
    padding-inline: 12px !important;
  }

  .product-details-page .pd-breadcrumb {
    margin-bottom: 12px !important;
    font-size: 0.76rem;
  }

  .product-details-page .pd-gallery-card {
    padding: 8px !important;
    border-radius: 18px !important;
  }

  .product-details-page .pd-main-image-wrap {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 14px;
  }

  .product-details-page .pd-main-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .product-details-page .pd-gallery-nav {
    width: 40px;
    height: 40px;
  }

  .product-details-page .pd-gallery-prev {
    left: 9px;
  }

  .product-details-page .pd-gallery-next {
    right: 9px;
  }

  .product-details-page .pd-gallery-count {
    right: 9px;
    bottom: 9px;
  }

  .product-details-page .pd-swipe-hint {
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #554a3f;
    padding: 6px 9px;
    font-size: 0.68rem;
    font-weight: 700;
    backdrop-filter: blur(6px);
  }

  .product-details-page .pd-thumb-strip {
    display: block !important;
    margin-top: 8px;
    padding: 6px;
    overflow-x: auto !important;
    border-radius: 12px;
  }

  .product-details-page .pd-thumbs {
    display: flex !important;
    width: max-content !important;
    min-width: 0;
    max-width: none !important;
    height: 76px !important;
    gap: 6px;
  }

  .product-details-page .pd-thumb-btn {
    flex: 0 0 60px !important;
    width: 60px !important;
    height: 76px !important;
    max-width: 60px !important;
    padding: 2px;
    border-radius: 9px;
  }

  .product-details-page .pd-thumb-btn img,
  .product-details-page .pd-thumbs img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    object-fit: cover !important;
  }

  .product-details-page .pd-info-card {
    padding: 20px 16px 22px !important;
    border-radius: 18px !important;
  }

  .product-details-page .pd-top-line {
    align-items: center;
    flex-wrap: nowrap;
  }

  .product-details-page .pd-rating {
    flex-wrap: wrap;
    gap: 5px;
    font-size: 0.7rem !important;
  }

  .product-details-page .pd-share-icons a {
    width: 36px;
    height: 36px;
  }

  .product-details-page .pd-title {
    max-width: none;
    margin: 20px 0 10px !important;
    font-size: clamp(2rem, 10vw, 3rem) !important;
    line-height: 1 !important;
  }

  .product-details-page .pd-price-line {
    padding-bottom: 14px;
  }

  .product-details-page .pd-price-line .new {
    font-size: 1.6rem;
  }

  .product-details-page .pd-meta-row {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px 0;
  }

  .product-details-page .pd-code {
    font-size: 0.82rem !important;
  }

  .product-details-page .pd-description-panel {
    padding: 18px 0;
  }

  .product-details-page .pd-subtitle {
    margin: 0 0 7px !important;
    font-size: 1.5rem !important;
  }

  .product-details-page .pd-description {
    font-size: 0.93rem !important;
    line-height: 1.65;
  }

  .product-details-page .pd-category-list {
    gap: 6px;
  }

  .product-details-page .pd-category-list span {
    padding: 6px 9px;
    font-size: 0.72rem;
  }

  .product-details-page .pd-variant-picker {
    padding: 15px 13px;
    border-radius: 15px;
  }

  .product-details-page .pd-section-heading {
    display: block;
  }

  .product-details-page .pd-section-heading > span {
    display: block;
    margin-top: -2px;
  }

  .product-details-page .pd-prop-row {
    --bs-gutter-y: 10px;
  }

  .product-details-page .pd-prop-row > [class*="col-"] {
    width: 100%;
  }

  .product-details-page .pd-option-select {
    min-height: 50px;
  }

  .product-details-page .pd-btn-row {
    grid-template-columns: 1fr !important;
    gap: 9px;
  }

  .product-details-page .pd-btn {
    min-height: 52px;
  }

  .product-details-page .pd-benefits {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 16px 4px;
  }

  .product-details-page .pd-benefits span {
    font-size: 0.76rem;
  }

  .product-details-page .pd-benefits strong {
    font-size: 0.82rem;
  }

  .product-details-page .pd-section-card {
    margin-top: 22px;
  }

  .product-details-page .pd-similar-strip {
    display: flex;
    grid-template-columns: none;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
  }

  .product-details-page .pd-similar-strip a {
    flex: 0 0 98px;
    scroll-snap-align: start;
  }

  .product-details-page .pd-offer-banner {
    font-size: 1.12rem;
  }
}

@media (max-width: 374.98px) {
  .product-details-page .pd-main-image-wrap {
    aspect-ratio: 3 / 4 !important;
  }

  .product-details-page .pd-title {
    font-size: 1.9rem !important;
  }
}

/* Product breadcrumb banner */
.product-details-page .pd-breadcrumb {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  width: fit-content;
  max-width: 100%;
  gap: 7px;
  margin-bottom: 20px !important;
  padding: 9px 14px;
  border: 1px solid rgba(184, 145, 70, 0.3);
  border-left: 4px solid #b58a39;
  border-radius: 10px;
  background: linear-gradient(90deg, #fff9ed 0%, #fffdfa 100%);
  box-shadow: 0 7px 22px rgba(77, 54, 21, 0.07);
  color: #786b5c;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.35;
  text-transform: uppercase;
}

.product-details-page .pd-breadcrumb-icon {
  color: #a77b2e;
  font-size: 0.82rem;
}

.product-details-page .pd-breadcrumb a {
  color: #675b4e;
  text-decoration: none;
  text-transform: uppercase !important;
}

.product-details-page .pd-breadcrumb a:hover {
  color: #9a6f24;
}

.product-details-page .pd-breadcrumb-separator {
  color: #c3a66f;
  font-weight: 500;
}

.product-details-page .pd-breadcrumb strong {
  border-radius: 6px;
  background: #252019;
  color: #fff8e9;
  padding: 4px 7px;
  font-weight: 700;
  text-transform: uppercase !important;
}

@media (max-width: 767.98px) {
  .product-details-page .pd-breadcrumb {
    gap: 5px;
    margin-bottom: 14px !important;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 0.62rem;
    letter-spacing: 0.04em;
  }

  .product-details-page .pd-breadcrumb strong {
    padding: 3px 6px;
  }
}

/* Final desktop navbar fit: show every top-level item without clipping. */
@media (min-width: 1200px) {
  .nav-bar {
    min-height: 68px !important;
    height: 68px !important;
    overflow: visible !important;
  }

  .nav-bar .nav-container,
  .nav-bar .container,
  .nav-bar .navbar-collapse {
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
  }

  .nav-bar .nav-container {
    padding-left: clamp(16px, 2.2vw, 42px) !important;
    padding-right: clamp(16px, 2.2vw, 42px) !important;
  }

  .nav-bar .navbar-collapse {
    display: flex !important;
    justify-content: center !important;
    height: 100% !important;
  }

  .nav-bar .navbar-nav {
    width: min(100%, 1720px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: clamp(10px, 1.05vw, 24px) !important;
  }

  .nav-bar .nav-item {
    flex: 0 0 auto !important;
  }

  .nav-bar .nav-link {
    min-height: 68px !important;
    padding: 0 !important;
    white-space: nowrap !important;
    font-size: clamp(0.76rem, 0.82vw, 1rem) !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
  }

  .nav-bar .nav-link.dropdown-toggle {
    gap: 0.28rem !important;
  }

  .nav-bar .nav-link.dropdown-toggle::after {
    margin-left: 0.1rem !important;
  }

  .nav-bar .nav-link:not(.dropdown-toggle)::after {
    left: 0 !important;
    width: 0 !important;
    bottom: 13px !important;
  }

  .nav-bar .nav-link:not(.dropdown-toggle):hover::after,
  .nav-bar .nav-link:not(.dropdown-toggle).active::after {
    width: 100% !important;
  }
}

@media (max-width: 1199.98px) {
  .nav-bar {
    height: auto !important;
    min-height: 0 !important;
  }

  .nav-bar .navbar-collapse.show {
    position: relative !important;
    z-index: 5000 !important;
  }

  .nav-bar .navbar-nav {
    width: 100% !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .nav-bar .nav-item {
    display: block !important;
  }

  .nav-bar .nav-link {
    min-height: 0 !important;
    justify-content: center !important;
    padding: 0.9rem 0.25rem !important;
    line-height: 1.2 !important;
  }
}

/* Responsive navbar hard reset.
   Desktop starts at xl because the full menu needs the wider row. */
@media (min-width: 1200px) {
  .main-header,
  .main-header .container,
  .nav-bar,
  .nav-bar .nav-container,
  .nav-bar .navbar-collapse {
    overflow: visible !important;
  }

  .nav-bar {
    position: sticky !important;
    top: 112px !important;
    z-index: 1180 !important;
    display: flex !important;
    align-items: center !important;
    min-height: 68px !important;
    height: 68px !important;
    background: #f3f3f3 !important;
    border-top: 1px solid #e4ded2 !important;
    border-bottom: 1px solid #e4ded2 !important;
  }

  .nav-bar .nav-container {
    width: 100% !important;
    max-width: none !important;
    padding-left: clamp(18px, 2.3vw, 46px) !important;
    padding-right: clamp(18px, 2.3vw, 46px) !important;
  }

  .nav-bar .navbar-collapse {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
  }

  .nav-bar .navbar-nav {
    width: min(100%, 1740px) !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: clamp(8px, 0.9vw, 18px) !important;
  }

  .nav-bar .nav-item {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
  }

  .nav-bar .nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 68px !important;
    padding: 0 !important;
    white-space: nowrap !important;
    font-size: clamp(0.9rem, 0.9vw, 1.08rem) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
  }
}

@media (max-width: 1199.98px) {
  .main-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
  }

  .nav-bar {
    position: sticky !important;
    top: auto !important;
    z-index: 1190 !important;
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
  }

  .nav-bar .nav-container {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .nav-bar .navbar-collapse {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  .nav-bar .navbar-collapse:not(.show) {
    display: none !important;
  }

  .nav-bar .navbar-collapse.show {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-height: calc(100vh - 140px) !important;
    overflow-y: auto !important;
    padding: 8px clamp(14px, 3vw, 26px) 14px !important;
    background: #f3f3f3 !important;
    border-top: 1px solid #e2dccf !important;
    border-bottom: 1px solid #e2dccf !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important;
  }

  .nav-bar .navbar-nav {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    text-align: center !important;
  }

  .nav-bar .nav-item {
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid rgba(17, 17, 17, 0.08) !important;
  }

  .nav-bar .nav-item:last-child {
    border-bottom: 0 !important;
  }

  .nav-bar .nav-link {
    width: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 13px 42px !important;
    color: #111 !important;
    font-size: clamp(0.95rem, 2.8vw, 1.08rem) !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .nav-bar .nav-link:not(.dropdown-toggle)::after {
    display: none !important;
  }

  .nav-bar .nav-link.dropdown-toggle {
    position: relative !important;
    gap: 0 !important;
    padding-right: 46px !important;
  }

  .nav-bar .nav-link.dropdown-toggle::after {
    display: inline-block !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }

  .nav-bar .mobile-nav-arrow {
    display: none !important;
  }

  .nav-bar .dropdown-menu {
    position: static !important;
    transform: none !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 260px !important;
    overflow-y: auto !important;
    margin: 0 0 8px !important;
    padding: 4px 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.08) !important;
  }

  .nav-bar .dropdown-item {
    margin: 0 !important;
    padding: 10px 16px !important;
    border-left: 0 !important;
    text-align: center !important;
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 575.98px) {
  .nav-bar .navbar-collapse.show {
    max-height: calc(100vh - 104px) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .nav-bar .nav-link {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    font-size: 0.95rem !important;
  }
}

/* Desktop information links belong to the black logo header.
   Their original entries remain available in the unchanged mobile menu. */
@media (min-width: 1200px) {
  .main-header {
    padding-bottom: 2.75rem !important;
  }

  .nav-bar {
    top: 153px !important;
  }

  .main-header .container {
    position: relative !important;
  }

  .desktop-header-secondary-nav {
    position: absolute;
    right: 0;
    bottom: -2rem;
    align-items: center;
    gap: 0;
    white-space: nowrap;
  }

  .desktop-header-secondary-nav a {
    display: inline-flex;
    align-items: center;
    color: #f4df9f;
    font-size: clamp(0.78rem, 0.78vw, 0.94rem);
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    letter-spacing: 0.03em;
    transition: color 0.2s ease;
  }

  .desktop-header-secondary-nav a + a::before {
    content: "|";
    margin: 0 clamp(10px, 0.85vw, 18px);
    color: rgba(244, 223, 159, 0.55);
  }

  .desktop-header-secondary-nav a:hover,
  .desktop-header-secondary-nav a:focus {
    color: #fff;
  }

  .nav-bar .desktop-secondary-nav {
    display: none !important;
  }

  .nav-bar .navbar-nav {
    justify-content: center !important;
  }
}

/* Secure checkout */
.checkout-page,
.checkout-success-page {
  background: #f8f5ef;
}

.checkout-main,
.checkout-success-main {
  padding: clamp(48px, 6vw, 88px) 0;
}

.checkout-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.checkout-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: #9b7426;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.checkout-heading h1,
.checkout-success-card h1 {
  margin: 0;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 4rem);
  color: #17130d;
}

.checkout-heading p {
  margin: 8px 0 0;
  color: #6f685e;
}

.checkout-security {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 14px;
  border: 1px solid #ddcfb3;
  border-radius: 999px;
  background: #fff;
  color: #5f5547;
  font-size: 0.88rem;
  white-space: nowrap;
}

.checkout-alert {
  margin-bottom: 22px;
  padding: 14px 18px;
  border: 1px solid #e5bd76;
  border-radius: 12px;
  background: #fff8e8;
  color: #704d12;
}

.checkout-card {
  border: 1px solid #e7ded0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(49, 39, 23, 0.07);
}

.checkout-form {
  padding: clamp(22px, 3vw, 38px);
}

.checkout-section-title {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-bottom: 22px;
}

.checkout-section-title > span {
  display: inline-flex;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #17130d;
  color: #efd17c;
  font-size: 0.82rem;
  font-weight: 700;
}

.checkout-section-title h2,
.checkout-summary h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #1f1a13;
}

.checkout-section-title p {
  margin: 3px 0 0;
  color: #7c7469;
  font-size: 0.9rem;
}

.checkout-address-title {
  margin-top: 34px;
}

.checkout-form label {
  display: block;
  margin-bottom: 7px;
  color: #443c32;
  font-size: 0.88rem;
  font-weight: 650;
}

.checkout-form label small {
  color: #918779;
  font-weight: 400;
}

.checkout-form input {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #dcd3c6;
  border-radius: 10px;
  background: #fff;
  color: #211c16;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.checkout-form input:focus {
  border-color: #b58a2b;
  box-shadow: 0 0 0 3px rgba(181, 138, 43, 0.13);
}

.checkout-payment-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 30px;
  padding: 16px 18px;
  border: 1px solid #d9c89f;
  border-radius: 12px;
  background: #fffbf1;
}

.checkout-payment-box div {
  display: grid;
  gap: 4px;
}

.checkout-payment-box strong {
  color: #2a2115;
}

.checkout-payment-box strong i {
  margin-right: 7px;
  color: #a2771e;
}

.checkout-payment-box span {
  color: #756a59;
  font-size: 0.84rem;
}

.checkout-payment-box > i {
  color: #2b8a57;
  font-size: 1.6rem;
}

.checkout-message {
  min-height: 24px;
  margin-top: 14px;
  font-size: 0.9rem;
}

.checkout-message.is-error {
  color: #b12f2f;
}

.checkout-message.is-info {
  color: #6f581c;
}

.checkout-pay-btn,
.checkout-secondary-btn {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.checkout-pay-btn {
  width: 100%;
  padding: 0 20px;
  background: linear-gradient(135deg, #c79a35, #efd17c);
  color: #17130d;
}

.checkout-pay-btn:not(:disabled):hover {
  color: #17130d;
  transform: translateY(-1px);
}

.checkout-pay-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.checkout-terms {
  margin: 13px 0 0;
  color: #7c7469;
  font-size: 0.78rem;
  text-align: center;
}

.checkout-terms a {
  color: #68501d;
}

.checkout-summary {
  position: sticky;
  top: 238px;
  padding: clamp(20px, 2.4vw, 30px);
}

.checkout-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 17px;
  border-bottom: 1px solid #eee7dc;
}

.checkout-summary-head a {
  color: #8e6b22;
  font-size: 0.86rem;
  font-weight: 600;
}

.checkout-items {
  max-height: 390px;
  overflow-y: auto;
}

.checkout-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 16px 0;
  border-bottom: 1px solid #eee7dc;
}

.checkout-item-image {
  position: relative;
}

.checkout-item-image img {
  width: 64px;
  height: 74px;
  border-radius: 9px;
  object-fit: cover;
  background: #f1ece4;
}

.checkout-item-image span {
  position: absolute;
  top: -7px;
  right: -7px;
  display: inline-flex;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  border-radius: 999px;
  background: #17130d;
  color: #fff;
  font-size: 0.7rem;
}

.checkout-item h3 {
  margin: 0;
  font-size: 0.94rem;
  font-weight: 650;
  color: #2a241c;
}

.checkout-item p {
  margin: 4px 0 0;
  color: #8a8175;
  font-size: 0.76rem;
}

.checkout-item > strong {
  font-size: 0.86rem;
  white-space: nowrap;
}

.checkout-empty {
  padding: 28px 4px;
  color: #746b5f;
  text-align: center;
}

.checkout-empty a {
  color: #8e6b22;
}

.checkout-totals {
  display: grid;
  gap: 11px;
  padding: 20px 0;
}

.checkout-totals > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  color: #6d6458;
  font-size: 0.9rem;
}

.checkout-totals strong {
  color: #2b251d;
}

.checkout-grand-total {
  margin-top: 5px;
  padding-top: 15px;
  border-top: 1px solid #ded5c8;
  font-size: 1.08rem !important;
}

.checkout-grand-total strong {
  font-size: 1.25rem;
}

.checkout-assurances {
  display: grid;
  gap: 9px;
  padding-top: 18px;
  border-top: 1px solid #eee7dc;
  color: #70675a;
  font-size: 0.82rem;
}

.checkout-assurances i {
  width: 21px;
  color: #99711d;
}

.checkout-success-card {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 58px);
  border: 1px solid #e4d8c7;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 22px 60px rgba(49, 39, 23, 0.08);
  text-align: center;
}

.checkout-success-icon {
  display: inline-flex;
  width: 74px;
  height: 74px;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #e8f6ed;
  color: #278552;
  font-size: 2.1rem;
}

.checkout-success-card > p {
  max-width: 570px;
  margin: 16px auto 26px;
  color: #6c6459;
}

.checkout-success-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin: 0 auto 28px;
  border: 1px solid #e9e0d3;
  border-radius: 12px;
  background: #e9e0d3;
  text-align: left;
}

.checkout-success-details > div {
  display: grid;
  gap: 5px;
  padding: 16px;
  background: #fffdf9;
}

.checkout-success-details span {
  color: #857b6e;
  font-size: 0.78rem;
}

.checkout-success-details strong {
  color: #282118;
}

.checkout-success-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.checkout-success-actions .checkout-pay-btn {
  width: auto;
}

.checkout-secondary-btn {
  padding: 0 20px;
  border: 1px solid #d8c7aa;
  color: #503e1f;
}

@media (max-width: 1199.98px) {
  .checkout-summary {
    top: 20px;
  }
}

@media (max-width: 767.98px) {
  html {
    font-size: 14px;
  }

  .checkout-main,
  .checkout-success-main {
    padding: 36px 0 52px;
  }

  .checkout-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .checkout-security {
    white-space: normal;
  }

  .checkout-form,
  .checkout-summary {
    border-radius: 14px;
  }

  .checkout-summary {
    position: static;
  }

  .checkout-success-details {
    grid-template-columns: 1fr;
  }

  .checkout-success-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .checkout-success-actions .checkout-pay-btn {
    width: 100%;
  }
}

/* Consistent, compact heading scale across the storefront. */
body h1 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.15;
}

body h2 {
  font-size: clamp(1.6rem, 3vw, 2.25rem) !important;
  line-height: 1.2;
}

body h3 {
  font-size: clamp(1.3rem, 2.3vw, 1.75rem) !important;
  line-height: 1.25;
}

body h4 {
  font-size: clamp(1.12rem, 1.8vw, 1.4rem) !important;
}

body h5 {
  font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
}

body h6 {
  font-size: clamp(0.92rem, 1.1vw, 1.05rem) !important;
}

@media (max-width: 767.98px) {
  body h1 {
    font-size: clamp(1.65rem, 7vw, 2rem) !important;
  }

  body h2 {
    font-size: clamp(1.35rem, 6vw, 1.65rem) !important;
  }

  body h3 {
    font-size: clamp(1.18rem, 5vw, 1.4rem) !important;
  }

  body h4 {
    font-size: 1.12rem !important;
  }

  body h5 {
    font-size: 1rem !important;
  }

  body h6 {
    font-size: 0.92rem !important;
  }
}

/* Homepage collection slider inspired by the portrait editorial grid. */
.promo-section {
  overflow: hidden;
  background: #fbf4dc;
}

.promo-heading {
  margin-bottom: 32px;
}

.promo-heading > span {
  display: block;
  color: #9d7828;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.28em;
}

.promo-heading-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 7px auto 4px;
  color: #b58a2b;
}

.promo-heading-mark::before,
.promo-heading-mark::after {
  width: 72px;
  height: 1px;
  background: #c5a45b;
  content: "";
}

.promo-heading-mark i {
  font-size: 1rem;
}

.promo-heading h2 {
  margin: 0;
  color: #17301f;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
}

.promo-collection-slider {
  position: relative;
  margin: 0 -12px;
  padding-bottom: 30px;
}

.promo-collection-slider .slick-slide {
  padding: 0 12px;
}

.promo-collection-slider .promo-card {
  position: relative;
  display: block !important;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  border-radius: 4px;
  background: #eadfc3;
  color: #15120e;
  text-decoration: none;
}

.promo-collection-slider .promo-card::before {
  display: none;
}

.promo-collection-slider .promo-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.promo-collection-slider .promo-overlay {
  position: absolute;
  right: 8%;
  bottom: 7%;
  left: 8%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 13px 9px;
  background: rgba(255, 255, 255, 0.9);
  color: #181511;
  text-align: center;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.promo-collection-slider .promo-card:hover .promo-overlay,
.promo-collection-slider .promo-card:focus-visible .promo-overlay {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.96);
}

.promo-collection-slider .promo-overlay strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1rem, 1.35vw, 1.35rem);
  font-weight: 600;
  line-height: 1.15;
}

.promo-collection-slider .promo-overlay small {
  margin-top: 7px;
  color: #5d554a;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.promo-slick-arrow {
  position: absolute;
  top: calc(50% - 30px);
  z-index: 4;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(181, 138, 43, 0.35);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #6d521d;
  box-shadow: 0 8px 22px rgba(66, 45, 13, 0.14);
}

.promo-slick-arrow.slick-prev {
  left: -10px;
}

.promo-slick-arrow.slick-next {
  right: -10px;
}

.promo-collection-slider .slick-dots {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.promo-collection-slider .slick-dots button {
  display: block;
  width: 8px;
  height: 8px;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d6c598;
  color: transparent;
  font-size: 0;
  transition: width 0.25s ease, background-color 0.25s ease;
}

.promo-collection-slider .slick-dots .slick-active button {
  width: 24px;
  background: #9d7828;
}

@media (max-width: 767.98px) {
  .promo-section {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  .promo-section .container {
    padding-right: 10px;
    padding-left: 10px;
  }

  .promo-heading {
    margin-bottom: 22px;
    padding: 0 10px;
  }

  .promo-heading > span {
    font-size: 0.72rem;
    letter-spacing: 0.2em;
  }

  .promo-heading-mark::before,
  .promo-heading-mark::after {
    width: 45px;
  }

  .promo-collection-slider {
    margin: 0 -5px;
    padding-bottom: 25px;
  }

  .promo-collection-slider .slick-slide {
    padding: 0 5px;
  }

  .promo-collection-slider .promo-card {
    aspect-ratio: 3 / 4;
  }

  .promo-collection-slider .promo-overlay {
    right: 7%;
    bottom: 5%;
    left: 7%;
    min-height: 82px;
    padding: 11px 7px;
  }

  .promo-collection-slider .promo-overlay strong {
    font-size: clamp(0.88rem, 4vw, 1.15rem);
  }

  .promo-collection-slider .promo-overlay small {
    margin-top: 4px;
    font-size: 0.56rem;
    letter-spacing: 0.08em;
  }
}

/* Mobile product grids: keep two complete cards visible per row. */
@media (max-width: 767.98px) {
  .products-page .products-grid-row {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 16px;
  }

  .products-page .products-grid-row > [class*="col-"] {
    width: 50%;
    flex: 0 0 auto;
  }

  .products-page .products-results-wrap .product-card {
    border-radius: 12px !important;
  }

  .products-page .products-results-wrap .product-info {
    padding: 10px !important;
  }

  .products-page .products-results-wrap .product-info > p {
    display: none;
  }

  .products-page .products-results-wrap .product-info h6 {
    min-height: 2.7em;
    margin-bottom: 6px !important;
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .products-page .products-results-wrap .price {
    display: flex;
    align-items: baseline;
    gap: 2px 6px;
    flex-wrap: wrap;
  }

  .products-page .products-results-wrap .price .new {
    font-size: 0.88rem;
  }

  .products-page .products-results-wrap .price .old,
  .products-page .products-results-wrap .price .offer {
    font-size: 0.7rem;
  }

  .offers-page .offers-carousel-controls {
    display: none;
  }

  .offers-page .offers-grid-5.offers-carousel,
  .offers-page .offers-grid-4.offers-carousel,
  .offers-page .offers-grid.offers-carousel {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 16px 10px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .offers-page .offer-product-card {
    min-width: 0;
    padding: 7px;
    border-radius: 12px;
  }

  .offers-page .offer-info h6 {
    font-size: 0.82rem;
    line-height: 1.35;
  }

  .offers-page .offer-product-card .price .new {
    width: 100%;
    font-size: 0.88rem;
  }

  .offers-page .product-actions {
    grid-template-columns: 1fr;
    gap: 6px;
    padding-top: 8px;
  }

  .offers-page .product-action-btn {
    min-height: 36px;
    padding: 6px 4px !important;
    font-size: 0.65rem;
  }
}

/* Animated gold lettering for the primary offers navigation link. */
.nav-bar .special-offers-nav {
  color: #9d7828 !important;
  font-weight: 700;
  letter-spacing: 0.035em;
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .nav-bar .special-offers-nav {
    background-image: linear-gradient(
      105deg,
      #7b5710 0%,
      #b88718 32%,
      #f8dc76 47%,
      #fff5b7 50%,
      #b88718 64%,
      #7b5710 100%
    );
    background-size: 260% 100%;
    background-position: 100% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
    animation: special-offers-shine 2.8s ease-in-out infinite;
  }
}

.nav-bar .special-offers-nav:hover,
.nav-bar .special-offers-nav:focus-visible {
  filter: drop-shadow(0 1px 4px rgba(184, 137, 24, 0.38));
}

@keyframes special-offers-shine {
  0%, 28% {
    background-position: 100% 50%;
  }
  72%, 100% {
    background-position: 0% 50%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav-bar .special-offers-nav {
    animation: none;
    background-position: 50% 50%;
  }
}

/* Home mobile rails: show two complete product cards at once. */
@media (max-width: 575.98px) {
  .grace-section .product-slider .slick-slide,
  .celebration-section .celebration-slider .slick-slide {
    padding-right: 5px;
    padding-left: 5px;
  }

  .grace-section .product-card,
  .celebration-section .product-card {
    min-width: 0;
    padding: 5px;
  }

  .grace-section .product-card h6,
  .celebration-section .product-card h6 {
    min-height: 2.7em;
    margin-top: 7px;
    margin-bottom: 5px;
    font-size: 0.75rem;
    line-height: 1.35;
  }

  .grace-section .product-card .price,
  .grace-section .product-card .product-price,
  .celebration-section .product-card .price,
  .celebration-section .product-card .product-price {
    margin-bottom: 5px;
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .grace-section .product-card .old-price,
  .grace-section .product-card .discount {
    margin-left: 2px;
    font-size: 0.65rem;
  }

  .grace-section .product-actions,
  .celebration-section .product-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin-top: 7px;
  }

  .grace-section .product-action-btn,
  .celebration-section .product-action-btn {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 5px 3px !important;
    font-size: 0.62rem;
  }

  .grace-section .badge-new {
    top: 6px;
    right: 6px;
    padding: 4px 7px;
    font-size: 0.58rem;
  }

  .grace-section .rating {
    bottom: 6px;
    left: 6px;
    padding: 2px 5px;
    font-size: 0.58rem;
  }
}

/* Homepage hero hierarchy and CTA typography. */
.hero-section .hero-title-welcome {
  display: block;
  margin-bottom: 0.25rem;
  font-size: clamp(1.25rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.hero-section .hero-title-brand {
  display: block;
  font-size: clamp(2.8rem, 4.4vw, 4.35rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.025em;
}

.hero-section h1 .hero-subheading {
  display: block;
  margin-top: 1rem;
  font-size: clamp(1.2rem, 1.9vw, 1.8rem);
  font-weight: 600;
  line-height: 1.25;
}

.shop-btn {
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

@media (max-width: 575.98px) {
  .hero-section .hero-title-welcome {
    font-size: 1rem;
  }

  .hero-section .hero-title-brand {
    font-size: clamp(2.1rem, 9.5vw, 2.65rem);
  }

  .hero-section h1 .hero-subheading {
    margin-top: 0.75rem;
    font-size: 1rem;
  }
}

/* Single website typeface. Bootstrap Icons retain their own glyph font. */
html body,
html body *:not(.bi):not([class^="bi-"]):not([class*=" bi-"]) {
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Search controls: visible submit actions on desktop and mobile. */
.main-header .search-box {
  position: relative;
  width: clamp(220px, 24vw, 300px);
}

.main-header .search-box input {
  width: 100%;
  min-height: 48px;
  padding: 10px 50px 10px 18px;
}

.search-submit-btn,
.mobile-search-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  color: #1d1a14;
  cursor: pointer;
}

.search-submit-btn {
  position: absolute;
  top: 50%;
  right: 6px;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: #e6c47a;
  transform: translateY(-50%);
}

.search-submit-btn:hover,
.search-submit-btn:focus-visible,
.mobile-search-submit-btn:hover,
.mobile-search-submit-btn:focus-visible {
  background: #d4b067;
}

.search-submit-btn:focus-visible,
.mobile-search-submit-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.mobile-nav-search-inner {
  padding: 5px 5px 5px 12px;
}

.mobile-search-submit-btn {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: #e6c47a;
}

/* Live header search suggestions. */
.search-suggestions {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 1100;
  width: min(460px, 92vw);
  max-height: min(520px, 70vh);
  overflow-y: auto;
  border: 1px solid #e2d5bd;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(24, 18, 9, 0.2);
}

.search-suggestions[hidden] {
  display: none !important;
}

.search-suggestion-item {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #eee8de;
  color: #24211d;
  text-decoration: none;
}

.search-suggestion-item:last-child {
  border-bottom: 0;
}

.search-suggestion-item:hover,
.search-suggestion-item:focus-visible,
.search-suggestion-item.is-active {
  background: #fff8e9;
  color: #17130c;
  outline: none;
}

.search-suggestion-image {
  width: 62px;
  height: 76px;
  border-radius: 8px;
  background: #f4efe7;
  object-fit: cover;
}

.search-suggestion-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}

.search-suggestion-category,
.search-suggestion-meta {
  color: #8a8175;
  font-size: 0.75rem;
  line-height: 1.3;
}

.search-suggestion-name {
  display: -webkit-box;
  overflow: hidden;
  color: #29251f;
  font-size: 0.94rem;
  font-weight: 500;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.search-suggestions-message {
  padding: 18px;
  color: #71685d;
  font-size: 0.9rem;
  text-align: center;
}

.mobile-nav-search-wrap,
.mobile-nav-search-form {
  position: relative;
}

/* Coupon cards on the Special Offers page */
.coupon-offers-section {
  background: #fffaf0;
}

.coupon-offers-heading {
  max-width: 760px;
  margin: 0 auto 32px;
}

.coupon-offers-heading h2 {
  color: #271a12;
  font-family: 'Playfair Display', serif;
  font-weight: 600;
}

.coupon-offers-heading > p:last-child {
  color: #6f6258;
}

.coupon-offers-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.coupon-offer-card {
  display: flex;
  min-height: 270px;
  flex-direction: column;
  padding: 24px;
  border: 1px solid #dfcfad;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(65, 43, 24, 0.08);
}

.bag-active-coupons {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 14px;
}

.bag-active-coupons-label {
  align-self: center;
  color: #74675c;
  font-size: 0.78rem;
  font-weight: 600;
}

.bag-coupon-chip {
  display: inline-flex;
  flex-direction: column;
  gap: 1px;
  padding: 7px 10px;
  border: 1px dashed #9f7739;
  border-radius: 9px;
  background: #fff8e9;
  color: #352315;
  line-height: 1.25;
  text-align: left;
}

.bag-coupon-chip:hover,
.bag-coupon-chip:focus-visible {
  border-style: solid;
  background: #f5e7c7;
  outline: none;
}

.bag-coupon-chip strong {
  font-size: 0.78rem;
  letter-spacing: 0.05em;
}

.bag-coupon-chip span {
  color: #78634a;
  font-size: 0.68rem;
}

.coupon-offer-card--expired,
.coupon-offer-card--unavailable {
  opacity: 0.68;
}

.coupon-offer-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 18px;
}

.coupon-offer-status {
  padding: 5px 10px;
  border-radius: 999px;
  background: #f0e5ca;
  color: #6f5027;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.coupon-offer-discount {
  color: #9d2f29;
  font-size: 0.84rem;
  font-weight: 700;
}

.coupon-offer-card h3 {
  margin-bottom: 14px;
  color: #2e2118;
  font-size: 1.2rem !important;
}

.coupon-offer-code {
  margin-bottom: 16px;
  padding: 11px 14px;
  border: 1px dashed #a47d3c;
  border-radius: 10px;
  background: #fff8e9;
  color: #321f12;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-align: center;
}

.coupon-offer-bonus,
.coupon-offer-validity {
  margin: 0 0 8px;
  color: #65584d;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
}

.coupon-offer-validity {
  margin-top: auto;
}

@media (max-width: 991.98px) {
  .coupon-offers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px) {
  .coupon-offers-grid {
    grid-template-columns: 1fr;
  }

  .coupon-offer-card {
    min-height: 0;
  }
}

@media (max-width: 991.98px) {
  .mobile-nav-search-form .search-suggestions {
    top: calc(100% + 6px);
    width: 100%;
    max-height: min(400px, 58vh);
  }

  .search-suggestion-item {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
  }

  .search-suggestion-image {
    width: 52px;
    height: 64px;
  }
}

/* Homepage hero left panel, based on the Avaa Boutique brand composition. */
body:not(.inner-page) .hero-section {
  background:
    radial-gradient(circle at 26% 38%, rgba(255, 239, 177, 0.36), transparent 38%),
    linear-gradient(105deg, #c4a137 0%, #e4c46d 56%, #fff2c4 100%);
}

body:not(.inner-page) .hero-section .hero-copy {
  width: min(100%, 560px);
  margin-left: 0;
  text-align: left;
}

body:not(.inner-page) .hero-section .hero-brand-logo {
  display: block;
  width: min(100%, 390px);
  height: auto;
  margin: 0 0 18px;
  filter: brightness(0);
}

body:not(.inner-page) .hero-section .hero-welcome {
  margin: 0 0 10px;
  color: #0b0b0b;
  font-size: clamp(0.9rem, 1.05vw, 1.05rem) !important;
  font-weight: 600;
  line-height: 1.4 !important;
}

body:not(.inner-page) .hero-section .hero-title {
  margin: 0;
  color: #070707;
  font-size: clamp(1.9rem, 2.5vw, 2.75rem) !important;
  font-style: italic;
  font-weight: 700;
  line-height: 1.16 !important;
  letter-spacing: -0.025em;
}

body:not(.inner-page) .hero-section .hero-description {
  max-width: 540px;
  margin: 18px 0 22px;
  color: #17130d;
  font-size: clamp(0.9rem, 1vw, 1rem) !important;
  line-height: 1.6 !important;
}

body:not(.inner-page) .hero-section .shop-btn {
  min-width: 138px;
  padding: 10px 24px !important;
  border: 2px solid #000 !important;
  border-radius: 9px;
  font-size: 0.92rem;
  font-weight: 700;
  box-shadow: 0 9px 18px rgba(0, 0, 0, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body:not(.inner-page) .hero-section .shop-btn:hover {
  background: #fff !important;
  color: #000 !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.16);
}

@media (max-width: 991.98px) {
  body:not(.inner-page) .hero-section .hero-copy {
    margin-inline: auto;
    text-align: center;
  }

  body:not(.inner-page) .hero-section .hero-brand-logo {
    width: min(100%, 380px);
    margin: 0 auto 18px;
  }

  body:not(.inner-page) .hero-section .hero-description {
    margin-inline: auto;
  }
}

@media (max-width: 575.98px) {
  body:not(.inner-page) .hero-section .hero-brand-logo {
    width: min(88%, 320px);
    margin-bottom: 14px;
  }

  body:not(.inner-page) .hero-section .hero-welcome {
    margin-bottom: 10px;
    font-size: 0.95rem !important;
  }

  body:not(.inner-page) .hero-section .hero-title {
    font-size: clamp(1.55rem, 6.8vw, 2rem) !important;
  }

  body:not(.inner-page) .hero-section .hero-description {
    margin-top: 16px;
    margin-bottom: 22px;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
  }

  body:not(.inner-page) .hero-section .shop-btn {
    min-width: 132px;
    padding: 9px 22px !important;
    font-size: 0.9rem;
  }
}
