/* ================================================================
   WEDDING BUZZ — COMPLETE REDESIGNED CSS
   Aesthetic: Romantic Luxury — Rose Gold & Deep Ivory
   Fonts: Cormorant Garamond (display) + DM Sans (body)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

/* ── CSS Variables ── */
:root {
  --rose:        #c8856a;
  --rose-light:  #e8b4a0;
  --rose-dark:   #a0604a;
  --gold:        #c9a96e;
  --gold-light:  #e8d5b0;
  --ivory:       #fdf8f4;
  --ivory-deep:  #f5ede4;
  --deep:        #2c1f1a;
  --muted:       #8a7470;
  --white:       #ffffff;
  --shadow-soft: 0 4px 24px rgba(44,31,26,0.08);
  --shadow-card: 0 8px 40px rgba(44,31,26,0.12);
  --shadow-hover:0 16px 56px rgba(44,31,26,0.18);
  --radius-sm:   8px;
  --radius-md:   16px;
  --radius-lg:   24px;
  --radius-xl:   32px;
}

/* ── Base ── */
body {
  font-family: 'DM Sans', sans-serif;
  background-color: var(--ivory);
  color: var(--deep);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  letter-spacing: 0.01em;
}

/* ── Navigation ── */
.navbar-transparent .nav-item {
  margin-right: 28px;
}

/* ── NAVBAR: Transparent on top, solid white on scroll ── */

/* Default navbar — when scrolled (theme adds .scrolled or removes .navbar-transparent) */
.navbar {
  background: rgb(253,248,244) !important;
  background-color: rgb(253,248,244) !important;
  border-bottom: 1px solid rgba(201,169,110,0.2);
  box-shadow: 0 2px 20px rgba(44,31,26,0.08);
  transition: background 0.4s ease, box-shadow 0.4s ease;
}

/* Transparent state — on top of hero */
.navbar-transparent .navbar,
.navbar.navbar-transparent,
.navbar.affix-top,
.navbar.not-scrolled {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Nav links WHITE when navbar is transparent (top of page) */
.navbar-transparent .navbar .nav-link,
.navbar.navbar-transparent .nav-link,
.navbar.affix-top .nav-link,
.navbar.not-scrolled .nav-link {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

/* Nav links DARK after scroll */
.navbar .nav-link {
  color: var(--deep) !important;
  text-shadow: none !important;
}

.navbar .nav-link:hover {
  color: var(--rose) !important;
}

/* Nav links WHITE before scroll (navbar-transparent on parent div) */
.navbar-transparent .navbar .nav-link {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3) !important;
}

/* CTA button always visible */
.navbar-transparent .navbar .btn,
.navbar.navbar-transparent .btn {
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-dark) 100%) !important;
  color: white !important;
}

/* Hero fullscreen behind navbar — image starts from top */
section:first-of-type,
.hero-section,
[class*="hero"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Push hero CONTENT (text, search bar) below navbar */
.hero-section .container,
section:first-of-type > .container,
section:first-of-type > .row,
section:first-of-type .hero-content {
  padding-top: 90px !important;
}

body {
  padding-top: 0;
}

/* Modal z-index — properly layered */
.modal-backdrop  { z-index: 1040 !important; }
.modal           { z-index: 1050 !important; }
.modal-dialog    { z-index: 1050 !important; margin-top: 80px; }
.modal-content   { z-index: 1050 !important; position: relative; }
.modal .btn-close,
.modal [data-bs-dismiss],
.modal .close     { z-index: 1060 !important; position: relative; cursor: pointer; pointer-events: all !important; }

.navbar-brand {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--deep) !important;
}

.navbar .nav-link {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: color 0.2s ease;
  padding: 0.5rem 0 !important;
  position: relative;
}

.navbar .nav-link::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1.5px;
  background: var(--rose);
  transition: width 0.3s ease;
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after {
  width: 100%;
}

.navbar .nav-link:hover {
  color: var(--rose) !important;
}

.navbar-transparent .navbar .nav-link {
  line-height: inherit;
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.navbar-transparent .navbar .dropdown .dropdown-toggle:after {
  line-height: 0;
}

/* ── CTA Button ── */
.btn-primary,
.btn-danger,
a.btn.btn-danger,
a.btn.btn-primary {
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-dark) 100%);
  border: none;
  border-radius: 50px;
  padding: 0.65rem 1.8rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--white) !important;
  box-shadow: 0 4px 20px rgba(200,133,106,0.35);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.btn-primary::before,
.btn-danger::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.4s ease;
}

.btn-primary:hover::before,
.btn-danger:hover::before {
  left: 100%;
}

.btn-primary:hover,
.btn-danger:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(200,133,106,0.45);
}

/* Outline button */
.btn-outline-danger,
.btn-outline-primary {
  border: 1.5px solid var(--rose);
  border-radius: 50px;
  padding: 0.6rem 1.8rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rose) !important;
  background: transparent;
  transition: all 0.3s ease;
}

.btn-outline-danger:hover,
.btn-outline-primary:hover {
  background: var(--rose);
  color: var(--white) !important;
  box-shadow: 0 4px 20px rgba(200,133,106,0.3);
  transform: translateY(-2px);
}

/* ── Section Headings ── */
section h2,
.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  color: var(--deep);
  line-height: 1.2;
}

section h2 span,
.section-title span {
  color: var(--rose);
  font-style: italic;
}

.section-subtitle {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.7;
}

/* ── Decorative divider ── */
.section-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
  margin: 1rem auto;
}

.section-divider::before,
.section-divider::after {
  content: '';
  flex: 1;
  max-width: 80px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold));
}

.section-divider::after {
  background: linear-gradient(to left, transparent, var(--gold));
}

/* ── Hero Section ── */
section:first-of-type {
  position: relative;
  z-index: 1;
  margin-top: 0;
  padding-top: 0;
}

.hero-zoom {
  animation: zoomOutIn 1.8s ease-out both;
  transform-origin: center;
}

.hero-zoom-delay {
  animation-delay: 0.25s;
}

@keyframes zoomOutIn {
  0%   { transform: scale(1.1); }
  40%  { transform: scale(0.93); }
  70%  { transform: scale(1.05); }
  100% { transform: scale(1); }
}

/* ── Cards — Equal Height ── */
.row:has(.data-card) {
  align-items: stretch;
}

.row:has(.data-card) > [class*="col"] {
  display: flex;
  flex-direction: column;
}

.data-card.card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  border: none;
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: transform 0.35s cubic-bezier(0.22,1,0.36,1),
              box-shadow 0.35s cubic-bezier(0.22,1,0.36,1);
}

.data-card.card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-hover);
}

/* Card image area */
.data-card .card-img-top,
.data-card img:first-child {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.data-card.card:hover .card-img-top,
.data-card.card:hover img:first-child {
  transform: scale(1.04);
}

.data-card .card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.4rem 1.5rem 1.5rem;
  background: var(--white);
}

/* Card title */
.data-card .card-body h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--deep);
  margin-bottom: 0.5rem;
  line-height: 1.35;
  min-height: calc(1.35em * 2);
  max-height: calc(1.35em * 2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Rating row */
.data-card .card-body .d-flex {
  margin-bottom: 0.5rem;
  min-height: 1.8rem;
  align-items: center;
  gap: 0.4rem;
}

/* Rating text */
.data-card .card-body .d-flex small,
.data-card .card-body .d-flex span {
  font-size: 0.82rem;
  color: var(--muted);
  font-family: 'DM Sans', sans-serif;
}

/* Location text */
.data-card .card-body .text-muted {
  color: var(--muted) !important;
  font-size: 0.82rem;
}

/* Price row pinned to bottom */
.data-card .card-body .mt-1:last-child {
  margin-top: auto;
}

/* Price labels */
.data-card .card-body .mt-1 small,
.data-card .card-body .mt-1 span {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.78rem;
  font-weight: 400;
  color: var(--muted);
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Price values */
.data-card .card-body .mt-1 strong,
.data-card .card-body .mt-1 b,
.data-card .card-body .mt-1 h5,
.data-card .card-body .mt-1 h6 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--deep);
}

/* Call Now Button inside card */
.data-card .card-body .btn,
.data-card .card-body a.btn {
  width: 100%;
  margin-top: 1rem;
  background: linear-gradient(135deg, var(--rose) 0%, var(--rose-dark) 100%);
  border: none;
  border-radius: 50px;
  padding: 0.6rem 1.2rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--white) !important;
  box-shadow: 0 4px 16px rgba(200,133,106,0.3);
  transition: all 0.3s ease;
}

.data-card .card-body .btn:hover,
.data-card .card-body a.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(200,133,106,0.4);
}

/* iPad equal height */
@media (min-width: 768px) and (max-width: 1199px) {
  .row:has(.data-card) > [class*="col"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .data-card.card {
    height: 100% !important;
    flex: 1 1 100% !important;
  }

  .data-card .card-body {
    flex: 1 1 auto !important;
  }

  .data-card .card-body h3 {
    min-height: calc(1.35em * 2) !important;
    max-height: calc(1.35em * 2) !important;
  }
}

/* ── Category Cards ── */
.col-xxl-5th { flex: 1 0 14%; max-width: 15%; }
@media (max-width: 1399.98px) { .col-xxl-5th { flex: 0 0 25%; max-width: 25%; } }
@media (max-width: 1199.98px) { .col-xxl-5th { flex: 0 0 33.333%; max-width: 33.333%; } }
@media (max-width: 767.98px)  { .col-xxl-5th { flex: 0 0 50%; max-width: 50%; } }

.category-card .card {
  border: none;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-soft);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
  background: var(--white);
  overflow: hidden;
}

.category-card:hover .card {
  transform: translateY(-6px);
  box-shadow: var(--shadow-hover);
}

.category-image-wrapper {
  position: relative;
  overflow: hidden;
  border-top-left-radius: var(--radius-md);
  border-top-right-radius: var(--radius-md);
  aspect-ratio: 1 / 1;
}

.category-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.category-card:hover .category-image {
  transform: scale(1.1);
}

/* Category name */
.category-card .card-body {
  padding: 0.75rem 1rem;
  text-align: center;
}

.category-card .card-title,
.category-card h5,
.category-card h6 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--deep);
  margin: 0;
}

/* ── Category Listing Page ── */
.category-link {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none !important;
}

.category-link:hover {
  transform: translateY(-5px);
}

.category-link:hover .card {
  box-shadow: var(--shadow-hover) !important;
}

/* ── How It Works ── */
.how-steps { gap: 1rem; }

.how-step {
  background: var(--white);
  border: 1px solid rgba(201,169,110,0.2);
  border-radius: var(--radius-md);
  padding: 1.8rem 1.2rem;
  box-shadow: var(--shadow-soft);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  min-width: 0;
  position: relative;
  overflow: hidden;
}

.how-step::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--rose), var(--gold));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.how-step:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-hover);
}

.how-step:hover::before {
  opacity: 1;
}

.how-step-number {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  margin: 0 auto 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--rose), var(--rose-dark));
  color: var(--white);
  font-weight: 700;
  font-size: 1.1rem;
  font-family: 'Cormorant Garamond', serif;
  box-shadow: 0 4px 16px rgba(200,133,106,0.35);
}

.how-arrow {
  align-self: center;
  font-size: 1.4rem;
  color: var(--gold);
  line-height: 1;
}

@media (max-width: 767.98px) {
  .how-steps { gap: 0.75rem; }
  .how-step { padding: 1.25rem 1rem; }
  .how-arrow { font-size: 1.2rem; }
}

/* ── Portfolio Gallery ── */
.portfolio-image-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-md);
  aspect-ratio: 1/1;
}

.portfolio-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease, filter 0.4s ease;
}

.portfolio-image-wrapper:hover img {
  transform: scale(1.08);
  filter: brightness(1.05);
}

.portfolio-image-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(200,133,106,0) 0%,
    rgba(201,169,110,0.15) 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  border-radius: var(--radius-md);
}

.portfolio-image-wrapper:hover::after {
  opacity: 1;
}

/* ── Pagination ── */
.text-center .pagination {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.pagination .page-item {
  margin: 0 0.1rem;
}

.pagination .page-link {
  color: var(--deep);
  background-color: var(--white);
  border: 1.5px solid rgba(201,169,110,0.3);
  border-radius: 50px !important;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  transition: all 0.2s ease;
}

.pagination .page-link:hover {
  color: var(--rose);
  background-color: var(--ivory-deep);
  border-color: var(--rose-light);
}

.pagination .page-item.active .page-link {
  color: var(--white);
  background: linear-gradient(135deg, var(--rose), var(--rose-dark));
  border-color: transparent;
  box-shadow: 0 4px 12px rgba(200,133,106,0.4);
}

.pagination .page-item.disabled .page-link {
  color: var(--muted);
  background-color: var(--ivory);
  border-color: rgba(201,169,110,0.15);
}

/* ── Vendor Carousel ── */
#vendorGallery {
  position: relative;
  z-index: 10;
}

.carousel-item img {
  position: relative;
  z-index: 10;
  border-radius: var(--radius-md);
}

.carousel:hover .carousel-item:before {
  background-color: rgba(0,0,0,0);
}

/* ── About Content Read More ── */
.about-content {
  overflow: hidden;
  position: relative;
  transition: max-height 0.3s ease;
}

.about-content.clamped::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 50px;
  background: linear-gradient(to bottom, rgba(253,248,244,0), rgba(253,248,244,1));
}

/* ── Floating WhatsApp ── */
.floating_btn {
  width: 58px;
  height: 58px;
  background: linear-gradient(135deg, #25d366, #1da851);
  border-radius: 50%;
  text-align: center;
  box-shadow: 0 4px 20px rgba(37,211,102,0.4);
  transition: all 0.3s ease;
  animation: pulse 2.5s infinite;
}

.floating_btn:hover {
  transform: scale(1.12);
  box-shadow: 0 8px 28px rgba(37,211,102,0.5);
}

.contact_icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.my-float {
  color: white;
  font-size: 24px;
}

.text_icon {
  margin: 0;
  padding: 2px 6px;
  color: white;
  font-size: 11px;
  font-family: 'DM Sans', sans-serif;
  position: absolute;
  bottom: -26px;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(44,31,26,0.8);
  border-radius: 4px;
  white-space: nowrap;
  letter-spacing: 0.03em;
}

@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,0.6); }
  70%  { box-shadow: 0 0 0 18px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}

/* ── Scroll Indicator ── */
.float-text {
  width: 20px;
  position: fixed;
  z-index: 1002;
  margin-left: 30px;
  text-align: center;
  font-size: 11px;
  top: 50%;
  left: 16px;
  transform: translate(-50%, -50%);
  font-weight: 500;
  font-family: 'DM Sans', sans-serif;
}

.float-text a { color: var(--deep); text-decoration: none; }
.float-text.dark a { color: var(--white); }

.float-text span {
  margin-left: -5px;
  margin-top: 20px;
  writing-mode: vertical-rl;
  letter-spacing: 1px;
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.scrollbar {
  position: fixed;
  bottom: 0; left: 0;
  height: 3px;
  transition: all linear 0.1s;
  min-width: 0%;
  z-index: 1000;
  background: linear-gradient(90deg, var(--rose), var(--gold));
}

.scrollbar-v {
  background: linear-gradient(to bottom, var(--rose), var(--gold));
  position: fixed;
  top: calc(50% + 60px);
  left: 43px;
  width: 2px;
  transition: all linear 0.1s;
  min-height: 0%;
  z-index: 1000;
  border-radius: 2px;
}

.scrollbar-v:before {
  content: "";
  position: absolute;
  left: 0;
  width: 2px;
  min-height: 100px;
  background: rgba(44,31,26,0.1);
  border-radius: 2px;
}

.scrollbar-v.dark:before {
  background: rgba(255,255,255,0.15);
}

/* ── Show on Scroll ── */
.show-on-scroll { opacity: 0; }
.show-on-scroll.show { opacity: 1; }
.show-on-scroll.hide { opacity: 0; }

/* ── Quote Modal ── */
.modal-content {
  border: none;
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 80px rgba(44,31,26,0.2);
  overflow: hidden;
}

.modal-header {
  border-bottom: none;
  padding: 1.8rem 2rem 0.5rem;
}

.modal-header .modal-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--deep);
}

.form-control-lg, .form-select-lg {
  border-radius: var(--radius-sm);
  border: 1.5px solid rgba(201,169,110,0.3);
  font-size: 0.9rem;
  font-family: 'DM Sans', sans-serif;
  background: var(--ivory);
  color: var(--deep);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control-lg:focus, .form-select-lg:focus {
  border-color: var(--rose);
  box-shadow: 0 0 0 3px rgba(200,133,106,0.15);
  background: var(--white);
}

.fw-500 { font-weight: 500; }
.fw-600 { font-weight: 600; }

#quoteFormMessage { margin-top: 1rem; }
#quoteFormMessage .alert {
  margin: 0;
  border-radius: var(--radius-sm);
}

/* ── Fancybox ── */
body.fancybox-is-open .fancybox__container { z-index: 9999 !important; }
body.fancybox-is-open .fancybox__backdrop  { z-index: 9998 !important; }
.fancybox__toolbar { z-index: 10000 !important; }

/* ── Utility ── */
.position-relative { z-index: 1; }

.object-fit-cover { object-fit: cover !important; }

.hover-shadow { transition: box-shadow 0.3s ease; }
.hover-shadow:hover { box-shadow: var(--shadow-hover) !important; }

.transition { transition: all 0.3s ease; }

/* ── General card reset for non-data cards ── */
.card {
  border-radius: var(--radius-md);
  border: none;
  box-shadow: var(--shadow-soft);
}

/* ── Badges / Tags ── */
.badge {
  border-radius: 50px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 0.35em 0.85em;
}

.bg-danger, .bg-primary {
  background: linear-gradient(135deg, var(--rose), var(--rose-dark)) !important;
}

/* ── Star rating color ── */
.text-warning {
  color: var(--gold) !important;
}

/* ── Links ── */
a {
  color: var(--rose);
  transition: color 0.2s ease;
}

a:hover {
  color: var(--rose-dark);
}

/* ── Section backgrounds ── */
section {
  background-color: var(--ivory);
}

section:nth-of-type(even) {
  background-color: var(--ivory-deep);
}

/* ── Scrollbar styling ── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--ivory); }
::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, var(--rose-light), var(--gold-light));
  border-radius: 10px;
}

/* ── Navbar Fixed Offset Fix ── */
/* Pushes page content below fixed navbar */
body > *:not(nav):not(header):first-of-type,
main,
.main-content,
#main,
#content,
.page-wrapper {
    margin-top: 0 !important;
}

/* Hero — must sit BELOW navbar, not behind it */
.hero-section,
section.hero,
div.hero,
[class*="hero-wrap"],
[class*="banner"] {
    margin-top: 0 !important;
}


/* Hero fullscreen — starts from top, content padded below navbar */
section:first-of-type,
.hero-section,
[class*="hero"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Hero inner content pushed below navbar height */
.hero-section .container,
.hero-section .hero-content,
section:first-of-type .container,
section:first-of-type > .container {
  padding-top: 90px !important;
}

body {
  padding-top: 0;
}
/* ── Hero Category Icons — Better Visibility ── */

/* Icon circle — keep original size, just improve look */
.d-md-flex.justify-content-between .rounded-circle,
.d-flex.justify-content-between .rounded-circle {
  border: 2px solid rgba(255, 255, 255, 0.85) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
  transition: all 0.3s ease !important;
}

.d-md-flex.justify-content-between .rounded-circle:hover,
.d-flex.justify-content-between .rounded-circle:hover {
  background: rgba(200, 133, 106, 0.6) !important;
  border-color: #ffffff !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(200,133,106,0.5) !important;
}

/* Icons — pure white + subtle shadow */
.d-md-flex.justify-content-between .rounded-circle img,
.d-md-flex.justify-content-between .rounded-circle svg,
.d-md-flex.justify-content-between .rounded-circle i,
.d-flex.justify-content-between .rounded-circle img,
.d-flex.justify-content-between .rounded-circle svg,
.d-flex.justify-content-between .rounded-circle i {
  filter: brightness(0) invert(1) drop-shadow(0 1px 3px rgba(0,0,0,0.5)) !important;
}

/* Label text — white + readable */
.d-md-flex.justify-content-between p,
.d-md-flex.justify-content-between span,
.d-md-flex.justify-content-between small,
.d-flex.justify-content-between p,
.d-flex.justify-content-between span,
.d-flex.justify-content-between small {
  color: #ffffff !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 5px rgba(0,0,0,0.7) !important;
}


/* ── mb-0 small text — dark brown, no shadow ── */
p.mb-0.small,
.mb-0.small {
  color: #3a2218 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
p.mb-0.small .fw-bold,
.mb-0.small .fw-bold {
  color: #3a2218 !important;
  text-shadow: none !important;
}

/* ── Footer — Light Warm Gradient ── */
footer,
.footer,
#footer,
[class*="footer"] {
  background: linear-gradient(135deg,
    #fdf8f4 0%,
    #f5ede4 40%,
    #eeddd0 70%,
    #e8d5b0 100%) !important;
  color: var(--deep) !important;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer .h1, footer .h2, footer .h3, footer .h4, footer .h5, footer .h6,
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
  color: var(--deep) !important;
  font-family: 'Cormorant Garamond', serif;
}

footer p, footer span, footer li,
.footer p, .footer span, .footer li {
  color: var(--muted) !important;
}

footer a, .footer a {
  color: var(--rose-dark) !important;
}

footer a:hover, .footer a:hover {
  color: var(--rose) !important;
  text-decoration: none !important;
}

footer hr, .footer hr {
  border-color: rgba(201,169,110,0.3) !important;
}

footer .border-top, .footer .border-top {
  border-color: rgba(201,169,110,0.25) !important;
}

footer .text-muted, .footer .text-muted {
  color: var(--muted) !important;
}

footer .btn, .footer .btn {
  transition: all 0.3s ease !important;
}