/* =====================================================================
   MORVI NANDAN ENTERPRISES — Premium Handicrafts & Home Decor, Jaipur
   Custom Design System (Bootstrap 5 base + bespoke styling)
   ===================================================================== */

:root{
  /* Restrained 2-colour luxury system: deep navy (from the logo lettering) + a single
     muted gold accent, on an ivory neutral. Every "dark" section in the site — hero,
     footer, stats, CTA, navbar underline — reads as this SAME navy, not two competing
     darks. Gold is used sparingly (icons, dividers, buttons) rather than on every card. */
  --mn-maroon:        #1c2c4a;   /* primary dark neutral (navy) */
  --mn-maroon-dark:   #0d1526;   /* deepest navy — hero/footer base */
  --mn-maroon-light:  #2e4468;   /* lighter navy, for subtle accents only */
  --mn-gold:          #b7913f;   /* single accent colour */
  --mn-gold-light:    #d3b678;   /* accent, lighter tint (text-on-dark) */
  --mn-gold-deep:     #8f6a2a;   /* accent, deeper tint (hover states) */
  --mn-brass:         #8f6a2a;   /* alias — kept for existing rules, same as gold-deep */
  --mn-cream:         #f6f6f5;   /* neutral off-white, for subtly-shaded panels only */
  --mn-cream-dark:    #e8e8e5;   /* neutral light grey, for borders/table shading */
  --mn-ink:           #23201d;  /* near-black body text */
  --mn-ink-soft:      #5a5650;  /* muted body text */
  --mn-white:         #ffffff;

  --mn-gold-foil: var(--mn-gold);

  --mn-font-head: 'Playfair Display', Georgia, serif;
  --mn-font-body: 'Poppins', 'Segoe UI', sans-serif;

  --mn-radius: 14px;
  --mn-shadow-sm: 0 4px 16px rgba(13,21,38,.08);
  --mn-shadow-md: 0 12px 32px rgba(13,21,38,.13);
  --mn-shadow-lg: 0 22px 54px rgba(13,21,38,.18);
  --mn-shadow-gold: 0 10px 26px rgba(183,145,63,.22);
  --mn-transition: all .35s cubic-bezier(.4,0,.2,1);
}

/* ---------- Base ---------- */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--mn-font-body);
  color:var(--mn-ink);
  background:#ffffff;
  line-height:1.75;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--mn-font-head);
  color:var(--mn-maroon-dark);
  font-weight:700;
  letter-spacing:.2px;
}
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }
::selection{ background:var(--mn-gold); color:var(--mn-white); }

.container-xl{ max-width:1280px; }

/* Scrollbar */
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:var(--mn-cream-dark); }
::-webkit-scrollbar-thumb{ background:var(--mn-gold); border-radius:10px; }

/* ---------- Utility Text ---------- */
.text-maroon{ color:var(--mn-maroon); }
.text-gold{ color:var(--mn-gold) !important; }
.bg-maroon{ background:var(--mn-maroon); }
.bg-cream{ background:var(--mn-cream); }
.bg-cream-dark{ background:var(--mn-cream-dark); }

/* Deep navy section — same dark neutral as the hero/footer, not a second competing colour */
.bg-navy{
  background:linear-gradient(160deg, var(--mn-maroon) 0%, var(--mn-maroon-dark) 100%);
  position:relative;
}
.bg-navy .mn-kicker{ color:var(--mn-gold-light); }
.bg-navy .mn-kicker::before{ background:var(--mn-gold); }
.bg-navy h1, .bg-navy h2, .bg-navy h3, .bg-navy .mn-section-title{ color:#fff; }
.bg-navy .mn-section-sub{ color:rgba(255,255,255,.75); }
.bg-navy .mn-section-sub strong{ color:var(--mn-gold-light); }
.bg-navy .mn-check-list li{ color:rgba(255,255,255,.88); }
.bg-navy .mn-check-list li i{ background:var(--mn-gold); color:var(--mn-maroon-dark); }
.bg-navy .mn-process-step h5{ color:#fff; }
.bg-navy .mn-process-step p{ color:rgba(255,255,255,.7); }
.bg-navy .accordion-button{ color:var(--mn-maroon); }
.bg-navy .accordion-button:not(.collapsed){ background:var(--mn-cream); color:var(--mn-maroon); }
.fw-600{ font-weight:600; }
.ls-1{ letter-spacing:1px; }
.ls-2{ letter-spacing:2px; }

/* ---------- Preloader ---------- */
#preloader{
  position:fixed; inset:0; z-index:9999;
  background:var(--mn-maroon-dark);
  display:flex; align-items:center; justify-content:center;
  transition:opacity .6s ease, visibility .6s ease;
}
#preloader.loaded{ opacity:0; visibility:hidden; }
.preloader-mark{
  width:64px; height:64px; color:var(--mn-gold);
  animation:mnSpin 1.4s linear infinite;
}
@keyframes mnSpin{ to{ transform:rotate(360deg); } }

/* ---------- Topbar ---------- */
.mn-topbar{
  background:var(--mn-maroon-dark);
  color:var(--mn-cream-dark);
  font-size:.82rem;
  padding:6px 0;
}
.mn-topbar a{ color:var(--mn-cream-dark); transition:var(--mn-transition); }
.mn-topbar a:hover{ color:var(--mn-gold-light); }
.mn-topbar .divider{ opacity:.35; margin:0 10px; }
.mn-topbar .social-links a{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%;
  background:rgba(255,255,255,.08); margin-left:6px; font-size:.8rem;
}
.mn-topbar .social-links a:hover{ background:var(--mn-gold); color:var(--mn-maroon-dark); }

/* ---------- Navbar ---------- */
.mn-navbar{
  background:var(--mn-white);
  padding:0;
  margin: 0px;
  transition:var(--mn-transition);
  border-bottom:1px solid rgba(13,21,38,.08);
}
.mn-navbar.scrolled{
  padding:8px 0;
  box-shadow:var(--mn-shadow-md);
}
.mn-brand{ display:flex; align-items:center; gap:10px; }
.mn-brand-mark{ width:44px; height:44px; color:var(--mn-maroon); flex-shrink:0; }
.mn-brand-text{ line-height:1.1; }
.mn-brand-text .name{
  font-family:var(--mn-font-head); font-weight:700; font-size:1.28rem;
  color:var(--mn-maroon-dark); display:block;
}
.mn-brand-text .tag{
  font-size:.62rem; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--mn-brass); font-weight:600; display:block;
}
.mn-navbar .nav-link{
  font-weight:600; color:var(--mn-ink); margin:0 6px;
  position:relative; padding:10px 4px !important;
  font-size:.94rem;
}
.mn-navbar .nav-link::after{
  content:''; position:absolute; left:4px; bottom:4px; height:2px; width:0;
  background:var(--mn-gold); transition:var(--mn-transition);
}
.mn-navbar .nav-link:hover::after,
.mn-navbar .nav-link.active::after{ width:calc(100% - 8px); }
.mn-navbar .nav-link.active{ color:var(--mn-maroon); }
.mn-navbar .navbar-toggler{ border:none; box-shadow:none; }

.btn-mn-whatsapp{
  background:#25d366; color:#fff; border:none; font-weight:600;
  padding:10px 20px; border-radius:50px; display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 8px 20px rgba(37,211,102,.35); transition:var(--mn-transition);
  font-size:.92rem; white-space:nowrap;
}
.btn-mn-whatsapp:hover{ background:#1ebe5b; color:#fff; transform:translateY(-2px); box-shadow:0 12px 26px rgba(37,211,102,.45); }

/* ---------- Buttons ---------- */
.btn-mn-primary{
  background:linear-gradient(135deg, var(--mn-maroon), var(--mn-maroon-dark)); color:#fff; border:2px solid var(--mn-maroon);
  padding:12px 30px; border-radius:50px; font-weight:600; letter-spacing:.6px;
  transition:var(--mn-transition); display:inline-flex; align-items:center; gap:8px;
}
.btn-mn-primary:hover{ background:var(--mn-maroon-dark); border-color:var(--mn-gold); color:#fff; transform:translateY(-2px); box-shadow:var(--mn-shadow-gold); }
.btn-mn-outline{
  background:transparent; color:var(--mn-maroon); border:2px solid var(--mn-maroon);
  padding:12px 30px; border-radius:50px; font-weight:600; letter-spacing:.6px;
  transition:var(--mn-transition); display:inline-flex; align-items:center; gap:8px;
}
.btn-mn-outline:hover{ background:var(--mn-maroon); border-color:var(--mn-gold); color:#fff; transform:translateY(-2px); box-shadow:var(--mn-shadow-md); }
.btn-mn-gold{
  background:var(--mn-gold);
  color:var(--mn-maroon-dark); border:none; padding:12px 30px; border-radius:50px;
  font-weight:700; letter-spacing:.6px; transition:var(--mn-transition);
  display:inline-flex; align-items:center; gap:8px;
}
.btn-mn-gold:hover{ background:var(--mn-gold-deep); transform:translateY(-2px); box-shadow:var(--mn-shadow-gold); color:var(--mn-maroon-dark); }
.btn-sm-pill{ padding:8px 18px; font-size:.85rem; }

/* ---------- Section Basics ---------- */
.mn-section{ padding:90px 0; position:relative; }
@media (max-width:767.98px){ .mn-section{ padding:56px 0; } }

.mn-kicker{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--mn-brass); font-weight:700; letter-spacing:3px;
  text-transform:uppercase; font-size:.78rem; margin-bottom:14px;
}
.mn-kicker::before{ content:''; width:28px; height:2px; background:var(--mn-gold); display:inline-block; }
.mn-section-title{
  font-size:clamp(1.7rem,3vw,2.6rem); margin-bottom:16px;
}
.mn-section-sub{
  color:var(--mn-ink-soft); max-width:680px; font-size:1.02rem;
}
.mn-divider-orn{
  width:120px; height:22px; margin:18px 0; color:var(--mn-gold);
}

/* Ornamental jaali pattern background strip */
.mn-jaali-strip{
  height:14px;
  background-image:
    linear-gradient(135deg, var(--mn-gold) 25%, transparent 25%),
    linear-gradient(225deg, var(--mn-gold) 25%, transparent 25%),
    linear-gradient(45deg, var(--mn-gold) 25%, transparent 25%),
    linear-gradient(315deg, var(--mn-gold) 25%, transparent 25%);
  background-position:7px 0,7px 0,0 0,0 0;
  background-size:14px 14px; background-repeat:repeat-x;
  opacity:.55;
}

/* ---------- Hero ---------- */
.mn-hero{
  position:relative; min-height:92vh; display:flex; align-items:center;
  background:linear-gradient(180deg, rgba(13,21,38,.72), rgba(13,21,38,.86)),
             var(--hero-img) center/cover no-repeat;
  color:#fff; overflow:hidden;
}
.mn-hero::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(201,151,63,.18), transparent 45%),
             radial-gradient(circle at 85% 80%, rgba(201,151,63,.14), transparent 45%);
  pointer-events:none;
}
.mn-hero .badge-est{
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25);
  padding:8px 18px; border-radius:50px; font-size:.8rem; letter-spacing:1.5px;
  text-transform:uppercase; font-weight:600; backdrop-filter:blur(4px);
}
.mn-hero h1{
  color:#fff; font-size:clamp(2.2rem,5vw,3.8rem); line-height:1.15;
}
.mn-hero h1 span{ color:var(--mn-gold-light); }
.mn-hero p.lead{ color:rgba(255,255,255,.85); max-width:560px; font-size:1.1rem; }
.mn-hero-stats{
  display:flex; gap:34px; margin-top:40px; flex-wrap:wrap;
}
.mn-hero-stats .item strong{
  font-family:var(--mn-font-head); font-size:1.9rem; color:var(--mn-gold-light); display:block;
}
.mn-hero-stats .item span{ font-size:.82rem; color:rgba(255,255,255,.75); letter-spacing:.5px; }
.mn-hero-scroll{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  color:rgba(255,255,255,.75); font-size:1.6rem; animation:mnBounce 2s infinite;
}
@keyframes mnBounce{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,10px); } }

/* ---------- Trust strip ---------- */
.mn-trust{ background:var(--mn-maroon); color:#fff; padding:22px 0; }
.mn-trust .item{ display:flex; align-items:center; gap:12px; font-weight:600; font-size:.95rem; }
.mn-trust .item i{ font-size:1.5rem; color:var(--mn-gold-light); }

/* ---------- Cards: Category ---------- */
.mn-cat-card{
  position:relative; border-radius:var(--mn-radius); overflow:hidden;
  height:340px; box-shadow:var(--mn-shadow-sm); transition:var(--mn-transition);
  isolation:isolate; border:1.5px solid transparent;
}
.mn-cat-card img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.mn-cat-card::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(13,21,38,.92) 100%);
}
.mn-cat-card .cat-body{
  position:absolute; left:0; right:0; bottom:0; padding:22px; color:#fff; z-index:2;
}
.mn-cat-card .cat-count{
  font-size:.75rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--mn-gold-light);
  font-weight:700;
}
.mn-cat-card h3{ color:#fff; font-size:1.3rem; margin:4px 0 6px; }
.mn-cat-card .cat-link{
  font-size:.85rem; font-weight:600; color:#fff; display:inline-flex; align-items:center; gap:6px;
  opacity:0; transform:translateY(8px); transition:var(--mn-transition);
}
.mn-cat-card:hover img{ transform:scale(1.08); }
.mn-cat-card:hover .cat-link{ opacity:1; transform:translateY(0); }
.mn-cat-card:hover{ box-shadow:var(--mn-shadow-gold); border-color:var(--mn-gold); }

/* ---------- About preview ---------- */
.mn-about-media{ position:relative; }
.mn-about-media img{ border-radius:var(--mn-radius); box-shadow:var(--mn-shadow-md); }
.mn-about-media .float-card{
  position:absolute; bottom:-26px; right:-20px; background:#fff; padding:18px 24px;
  border-radius:var(--mn-radius); box-shadow:var(--mn-shadow-lg);
  border-left:4px solid var(--mn-gold); max-width:220px;
}
.mn-about-media .float-card strong{ font-family:var(--mn-font-head); font-size:1.8rem; color:var(--mn-maroon); display:block; }
.mn-about-media .float-card span{ font-size:.8rem; color:var(--mn-ink-soft); }
@media (max-width:767.98px){ .mn-about-media .float-card{ right:6px; bottom:-18px; padding:12px 16px; } }

.mn-check-list{ list-style:none; padding:0; margin:0; }
.mn-check-list li{ display:flex; gap:12px; margin-bottom:14px; align-items:flex-start; }
.mn-check-list li i{
  color:var(--mn-maroon); background:var(--mn-cream-dark); width:30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.85rem;
}

/* ---------- Stats counters ---------- */
.mn-stats{ background:var(--mn-maroon-dark); color:#fff; position:relative; overflow:hidden; }
.mn-stats::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 30%, rgba(201,151,63,.15), transparent 40%),
             radial-gradient(circle at 80% 70%, rgba(201,151,63,.12), transparent 40%);
}
.mn-stat-item{ text-align:center; position:relative; z-index:1; }
.mn-stat-item .num{ font-family:var(--mn-font-head); font-size:clamp(2rem,4vw,3rem); color:var(--mn-gold-light); font-weight:700; }
.mn-stat-item .lbl{ text-transform:uppercase; letter-spacing:1.5px; font-size:.78rem; color:rgba(255,255,255,.75); font-weight:600; }
.mn-stat-item i{ font-size:1.8rem; color:var(--mn-gold-light); margin-bottom:8px; display:block; }

/* ---------- Feature / Why-choose icon cards ---------- */
.mn-feature-card{
  background:#fff;
  border-radius:var(--mn-radius); padding:32px 26px; height:100%;
  box-shadow:var(--mn-shadow-sm); transition:var(--mn-transition);
  border:1px solid rgba(13,21,38,.06); position:relative;
}
.mn-feature-card:hover{ transform:translateY(-8px); box-shadow:var(--mn-shadow-md); border-color:rgba(183,145,63,.35); }
.mn-feature-card .icon-wrap{
  width:62px; height:62px; border-radius:16px;
  background:var(--mn-maroon);
  display:flex; align-items:center; justify-content:center; margin-bottom:20px;
  color:var(--mn-gold-light); font-size:1.6rem; transition:var(--mn-transition);
}
.mn-feature-card:hover .icon-wrap{ background:var(--mn-gold); color:var(--mn-maroon-dark); }
.mn-feature-card h4{ font-size:1.15rem; margin-bottom:10px; }
.mn-feature-card p{ color:var(--mn-ink-soft); font-size:.92rem; margin-bottom:0; }

/* ---------- Product cards ---------- */
.mn-product-card{
  background:#fff; border-radius:var(--mn-radius); overflow:hidden; height:100%;
  box-shadow:var(--mn-shadow-sm); transition:var(--mn-transition); display:flex; flex-direction:column;
  border:1.5px solid transparent;
}
.mn-product-card:hover{ box-shadow:var(--mn-shadow-md); transform:translateY(-6px); border-color:rgba(183,145,63,.4); }
.mn-product-card .img-wrap{ position:relative; overflow:hidden; height:230px; display:block; background:var(--mn-cream-dark); }
.mn-product-card .img-wrap img{ width:100%; height:100%; object-fit:contain; padding:14px; transition:transform .6s ease; }
.mn-product-card:hover .img-wrap img{ transform:scale(1.06); }
.mn-product-card .tag{
  position:absolute; top:14px; left:14px; background:var(--mn-maroon); color:#fff;
  font-size:.7rem; padding:5px 12px; border-radius:50px; letter-spacing:.5px; font-weight:600;
  text-transform:uppercase;
}
.mn-product-card .zoom-btn{
  position:absolute; top:14px; right:14px; width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.92); color:var(--mn-maroon); display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(-6px); transition:var(--mn-transition); cursor:pointer; border:none;
}
.mn-product-card:hover .zoom-btn{ opacity:1; transform:translateY(0); }
.mn-product-card .body{ padding:20px 20px 22px; flex-grow:1; display:flex; flex-direction:column; }
.mn-product-card h5{ font-size:1.08rem; margin-bottom:8px; }
.mn-product-card p{ color:var(--mn-ink-soft); font-size:.87rem; flex-grow:1; }
.mn-product-card .foot{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
.mn-product-card .price{ color:var(--mn-brass); font-weight:700; font-size:.9rem; }
.mn-product-card .enq-btn{
  background:var(--mn-cream-dark); color:var(--mn-maroon); border:none; padding:8px 16px;
  border-radius:50px; font-weight:600; font-size:.82rem; display:inline-flex; align-items:center; gap:6px;
  transition:var(--mn-transition);
}
.mn-product-card .enq-btn:hover{ background:#25d366; color:#fff; }

/* Filter tabs */
.mn-filter-tabs{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.mn-filter-tabs button{
  background:#fff; border:2px solid var(--mn-cream-dark); color:var(--mn-ink);
  padding:9px 22px; border-radius:50px; font-weight:600; font-size:.88rem; transition:var(--mn-transition);
}
.mn-filter-tabs button:hover{ border-color:var(--mn-gold); color:var(--mn-maroon); }
.mn-filter-tabs button.active{ background:var(--mn-maroon); border-color:var(--mn-maroon); color:#fff; }

.mn-pagination{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; margin-top:2.5rem; }
.mn-pagination .page-btn{
  min-width:42px; height:42px; padding:0 14px; display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:2px solid var(--mn-cream-dark); color:var(--mn-ink);
  border-radius:50px; font-weight:600; font-size:.9rem; transition:var(--mn-transition); cursor:pointer;
}
.mn-pagination .page-btn:hover{ border-color:var(--mn-gold); color:var(--mn-maroon); }
.mn-pagination .page-btn.active{ background:var(--mn-maroon); border-color:var(--mn-maroon); color:#fff; cursor:default; }
.mn-pagination .page-btn.disabled{ opacity:.4; cursor:not-allowed; }
.mn-pagination .page-ellipsis{ color:var(--mn-ink-soft); padding:0 4px; user-select:none; }

/* ---------- Process steps ---------- */
.mn-process-step{ text-align:center; position:relative; padding:0 12px; }
.mn-process-step .num-circle{
  width:78px; height:78px; border-radius:50%;
  background:linear-gradient(145deg, #ffffff, var(--mn-cream)); border:2px solid var(--mn-gold);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-family:var(--mn-font-head);
  font-size:1.6rem; color:var(--mn-maroon); position:relative; z-index:1; box-shadow:var(--mn-shadow-sm);
}
.mn-process-step h5{ font-size:1.05rem; margin-bottom:8px; }
.mn-process-step p{ color:var(--mn-ink-soft); font-size:.87rem; }
.mn-process-line{
  position:absolute; top:39px; left:0; right:0; height:2px; background:repeating-linear-gradient(90deg,var(--mn-gold) 0 8px, transparent 8px 14px);
  z-index:0;
}
@media (max-width:991.98px){ .mn-process-line{ display:none; } }

/* ---------- Testimonials ---------- */
.mn-testi-card{
  background:#fff;
  border-radius:var(--mn-radius); padding:34px 30px; box-shadow:var(--mn-shadow-sm);
  height:100%; position:relative; border:1px solid rgba(13,21,38,.06);
  transition:var(--mn-transition);
}
.mn-testi-card:hover{ box-shadow:var(--mn-shadow-md); border-color:rgba(183,145,63,.35); transform:translateY(-4px); }
.mn-testi-card i.bi-quote{ font-size:2.2rem; color:var(--mn-gold); opacity:.6; }
.mn-testi-card p{ color:var(--mn-ink-soft); font-style:italic; margin:14px 0 20px; }
.mn-testi-card .who{ display:flex; align-items:center; gap:12px; }
.mn-testi-card .avatar{
  width:48px; height:48px; border-radius:50%;
  background:var(--mn-maroon); color:var(--mn-gold-light);
  display:flex; align-items:center; justify-content:center; font-family:var(--mn-font-head); font-weight:700; font-size:1.1rem;
}
.mn-testi-card .who strong{ display:block; font-size:.95rem; color:var(--mn-maroon-dark); }
.mn-testi-card .who small{ color:var(--mn-ink-soft); font-size:.78rem; }
.mn-testi-card .stars{ color:var(--mn-gold); font-size:.8rem; margin-top:2px; }

/* ---------- CTA banner ---------- */
.mn-cta-banner{
  background:linear-gradient(120deg, var(--mn-maroon-dark), var(--mn-maroon));
  border-radius:24px; padding:56px 40px; color:#fff; position:relative; overflow:hidden;
}
.mn-cta-banner::after{
  content:''; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%;
  background:rgba(183,145,63,.12);
}
.mn-cta-banner h2{ color:#fff; }
@media (max-width:767.98px){ .mn-cta-banner{ padding:36px 22px; border-radius:16px; } }

/* ---------- Gallery ---------- */
.mn-gallery-item{
  position:relative; border-radius:var(--mn-radius); overflow:hidden; margin-bottom:20px; cursor:pointer;
  box-shadow:var(--mn-shadow-sm);
}
.mn-gallery-item img{ width:100%; transition:transform .6s ease; }
.mn-gallery-item::after{ content:''; position:absolute; inset:0; background:rgba(13,21,38,0); transition:var(--mn-transition); }
.mn-gallery-item .gal-icon{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff;
  font-size:1.6rem; opacity:0; transition:var(--mn-transition);
}
.mn-gallery-item:hover img{ transform:scale(1.1); }
.mn-gallery-item:hover::after{ background:rgba(13,21,38,.45); }
.mn-gallery-item:hover .gal-icon{ opacity:1; }

/* ---------- Page header (inner pages) ---------- */
.mn-page-header{
  position:relative; padding:150px 0 80px; color:#fff; text-align:center;
  background:linear-gradient(180deg, rgba(13,21,38,.78), rgba(13,21,38,.9)), var(--hero-img) center/cover no-repeat;
}
.mn-page-header h1{ color:#fff; font-size:clamp(1.9rem,4vw,3rem); }
.mn-page-header .breadcrumb{
  justify-content:center; background:transparent; margin:0; padding:0; font-size:.9rem;
}
.mn-page-header .breadcrumb a{ color:rgba(255,255,255,.75); }
.mn-page-header .breadcrumb-item.active{ color:var(--mn-gold-light); }
.mn-page-header .breadcrumb-item+.breadcrumb-item::before{ color:rgba(255,255,255,.5); }

/* ---------- Forms ---------- */
.mn-form-control{
  background:#fff; border:1.5px solid var(--mn-cream-dark); border-radius:10px; padding:13px 16px;
  font-size:.94rem; transition:var(--mn-transition); width:100%;
}
.mn-form-control:focus{ outline:none; border-color:var(--mn-gold); box-shadow:0 0 0 4px rgba(201,151,63,.15); }
label.mn-label{ font-weight:600; font-size:.86rem; margin-bottom:6px; display:block; color:var(--mn-ink); }

.mn-contact-info-card{
  background:#fff; border-radius:var(--mn-radius); padding:28px; box-shadow:var(--mn-shadow-sm);
  display:flex; gap:18px; align-items:flex-start; height:100%; transition:var(--mn-transition);
}
.mn-contact-info-card:hover{ box-shadow:var(--mn-shadow-md); transform:translateY(-4px); }
.mn-contact-info-card .icon{
  width:52px; height:52px; border-radius:50%; background:var(--mn-cream-dark); color:var(--mn-maroon);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.mn-contact-info-card h5{ font-size:1rem; margin-bottom:6px; }
.mn-contact-info-card p, .mn-contact-info-card a{ font-size:.88rem; color:var(--mn-ink-soft); margin-bottom:2px; }

/* Premium luxury variant — soft ivory & gold, not heavy dark blocks */
.mn-luxury-card{
  background:#fff;
  border:1.5px solid rgba(183,145,63,.4);
  box-shadow:var(--mn-shadow-sm);
  position:relative;
  overflow:hidden;
}
.mn-luxury-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--mn-gold);
}
.mn-luxury-card:hover{
  box-shadow:var(--mn-shadow-md);
  border-color:var(--mn-gold);
  transform:translateY(-6px);
}
.mn-luxury-card .icon{
  background:var(--mn-maroon);
  color:var(--mn-gold-light);
}
.mn-luxury-card h5{ color:var(--mn-maroon-dark); letter-spacing:.3px; }
.mn-call-line{ margin-bottom:5px !important; }
.mn-call-name{ color:var(--mn-brass); font-weight:700; }
.mn-call-hours{ color:var(--mn-ink-soft) !important; font-size:.8rem; margin-top:10px; padding-top:8px; border-top:1px dashed var(--mn-cream-dark); }

/* Accordion (FAQ) */
.accordion-item{ border:none; margin-bottom:12px; border-radius:12px !important; overflow:hidden; box-shadow:var(--mn-shadow-sm); }
.accordion-button{ font-weight:600; color:var(--mn-maroon-dark); font-family:var(--mn-font-body); padding:18px 22px; }
.accordion-button:not(.collapsed){ background:var(--mn-cream-dark); color:var(--mn-maroon); box-shadow:none; }
.accordion-button:focus{ box-shadow:none; }
.accordion-button::after{ filter:hue-rotate(300deg) saturate(2); }
.accordion-body{ color:var(--mn-ink-soft); font-size:.92rem; padding:0 22px 20px; }

/* ---------- Footer ---------- */
.mn-footer{
  background:var(--mn-maroon-dark);
  color:rgba(255,255,255,.78); position:relative;
}
.mn-footer h6{ color:#fff; font-family:var(--mn-font-head); font-size:1.1rem; margin-bottom:20px; }
.mn-footer .about-mark{ width:40px; height:40px; color:var(--mn-gold-light); }
.mn-footer-brand{ align-items:center; }
.mn-footer-logo{
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border-radius:10px; padding:6px 10px;
}
.mn-footer-logo img{ width:90px; height:auto; display:block; }
.mn-footer p{ font-size:.88rem; }
.mn-footer ul{ list-style:none; padding:0; margin:0; }
.mn-footer ul li{ margin-bottom:12px; }
.mn-footer ul li a{ font-size:.88rem; transition:var(--mn-transition); display:inline-flex; align-items:center; gap:8px; }
.mn-footer ul li a:hover{ color:var(--mn-gold-light); padding-left:4px; }
.mn-footer .social-links a{
  width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08);
  display:inline-flex; align-items:center; justify-content:center; margin-right:8px; transition:var(--mn-transition);
}
.mn-footer .social-links a:hover{ background:var(--mn-gold); color:var(--mn-maroon-dark); transform:translateY(-3px); }
.mn-footer-bottom{ background:rgba(0,0,0,.18); padding:16px 0; font-size:.82rem; }
.mn-footer-bottom a{ color:var(--mn-gold-light); }
.mn-footer .contact-line{ display:flex; gap:10px; margin-bottom:14px; font-size:.88rem; align-items:flex-start; }
.mn-footer .contact-line i{ color:var(--mn-gold-light); margin-top:3px; }

/* ---------- Floating buttons ---------- */
.mn-float-whatsapp{
  position:fixed; bottom:26px; right:26px; z-index:1000; width:60px; height:60px; border-radius:50%;
  background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.7rem;
  box-shadow:0 10px 30px rgba(37,211,102,.5); transition:var(--mn-transition); animation:mnPulse 2.4s infinite;
}
.mn-float-whatsapp:hover{ transform:scale(1.1); color:#fff; }
@keyframes mnPulse{
  0%{ box-shadow:0 0 0 0 rgba(37,211,102,.55); }
  70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); }
  100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}
.mn-back-top{
  position:fixed; bottom:26px; right:96px; z-index:1000; width:46px; height:46px; border-radius:50%;
  background:var(--mn-maroon); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; box-shadow:var(--mn-shadow-md); opacity:0; visibility:hidden; transform:translateY(10px);
  transition:var(--mn-transition); border:none;
}
.mn-back-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
@media (max-width:575.98px){
  .mn-float-whatsapp{ width:52px; height:52px; font-size:1.5rem; right:18px; bottom:18px; }
  .mn-back-top{ right:78px; bottom:18px; width:40px; height:40px; }
}

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:translateY(0); }
.reveal.delay-1{ transition-delay:.1s; }
.reveal.delay-2{ transition-delay:.2s; }
.reveal.delay-3{ transition-delay:.3s; }
.reveal.delay-4{ transition-delay:.4s; }

/* ---------- Misc ---------- */
.mn-map-wrap{ border-radius:var(--mn-radius); overflow:hidden; box-shadow:var(--mn-shadow-md); }
.mn-map-wrap iframe{ width:100%; height:100%; min-height:340px; border:0; display:block; }

.mn-badge-soft{
  background:var(--mn-cream-dark); color:var(--mn-maroon); padding:6px 16px; border-radius:50px;
  font-size:.78rem; font-weight:700; letter-spacing:.5px;
}

.mn-toast-wrap{ position:fixed; top:90px; right:20px; z-index:2000; }

/* =====================================================================
   PRODUCT DETAIL PAGE
   ===================================================================== */
.mn-pd-gallery{
  background:var(--mn-white);
  border-radius:var(--mn-radius);
  box-shadow:var(--mn-shadow-sm);
  padding:18px;
}
.mn-pd-gallery .main-img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:10px;
  background:var(--mn-cream-dark);
  cursor:zoom-in;
}
.mn-pd-thumbs{
  display:flex;
  gap:10px;
  margin-top:12px;
  flex-wrap:wrap;
}
.mn-pd-thumbs img{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:8px;
  border:2px solid transparent;
  cursor:pointer;
  opacity:.65;
  transition:var(--mn-transition);
}
.mn-pd-thumbs img.active,
.mn-pd-thumbs img:hover{ border-color:var(--mn-gold); opacity:1; }
.mn-pd-info h1{
  font-family:var(--mn-font-head);
  font-size:clamp(1.5rem,3vw,2.1rem);
  color:var(--mn-maroon-dark);
  margin-bottom:.5rem;
}
.mn-pd-price{
  font-family:var(--mn-font-head);
  font-size:1.6rem;
  color:var(--mn-gold);
  font-weight:700;
  margin-bottom:1rem;
}
.mn-pd-cat-badge{
  display:inline-block;
  background:var(--mn-cream-dark);
  color:var(--mn-maroon);
  border-radius:30px;
  padding:5px 16px;
  font-size:.8rem;
  font-weight:600;
  margin-bottom:1rem;
}
.mn-pd-actions{ display:flex; gap:12px; flex-wrap:wrap; margin:1.25rem 0; }
.mn-pd-table{
  width:100%;
  border-collapse:collapse;
  margin:0;
  background:var(--mn-white);
  border-radius:var(--mn-radius);
  overflow:hidden;
  box-shadow:var(--mn-shadow-sm);
}
.mn-pd-table tr{ border-bottom:1px solid var(--mn-cream-dark); }
.mn-pd-table tr:last-child{ border-bottom:none; }
.mn-pd-table th, .mn-pd-table td{
  padding:12px 18px;
  text-align:left;
  font-size:.95rem;
}
.mn-pd-table th{
  width:40%;
  color:var(--mn-maroon);
  font-weight:600;
  background:var(--mn-cream);
}
.mn-pd-table td{ color:var(--mn-ink-soft); }
.mn-pd-section-heading{
  font-family:var(--mn-font-head);
  color:var(--mn-maroon-dark);
  font-size:1.25rem;
  margin:2.2rem 0 1rem;
  padding-bottom:.5rem;
  border-bottom:2px solid var(--mn-gold-light);
}
.mn-pd-desc{ color:var(--mn-ink-soft); line-height:1.85; }
.mn-pd-brand-line{
  font-size:.9rem;
  color:var(--mn-ink-soft);
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px dashed var(--mn-cream-dark);
}
.mn-pd-brand-line a{ color:var(--mn-maroon); font-weight:600; text-decoration:underline; }
.mn-pd-related .mn-product-card{ height:100%; }
