/*
Theme Name: Balaji Murti Art
Theme URI: https://balajimurtiart.com
Author: Balaji Murti Art
Description: Premium, fully-dynamic & responsive multi-page WordPress theme for Balaji Murti Art — spiritual, decorative & healing crystal products. Maroon & gold aesthetic, hero slider, dynamic products (custom post type), animated sections, popup enquiry form and floating WhatsApp button.
Version: 2.0.0
Requires at least: 5.8
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: balaji-murti-art
*/

html { scroll-behavior: smooth; }
body { font-family:'Outfit',sans-serif; background:#fdf8f0; color:#2b1b12; overflow-x:hidden; margin:0; }
h1,h2,h3,h4,.font-display { font-family:'Playfair Display',serif; letter-spacing:.01em; }
.font-accent { font-family:'Cinzel',serif; letter-spacing:.14em; }
h1,h2 { font-weight:600; }
h1 em, h2 em, .font-display em { font-style:italic; font-weight:500; }
img { max-width:100%; height:auto; }
::selection { background:#d4af37; color:#2e0a0e; }

/* ticker */
.ticker-track{ display:inline-flex; animation:ticker 28s linear infinite; }
@keyframes ticker{ from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ornament divider */
.ornament{ display:flex; align-items:center; justify-content:center; gap:.75rem; }
.ornament::before,.ornament::after{ content:''; height:1px; width:44px; background:linear-gradient(90deg,transparent,#c19a2b); }
.ornament::after{ background:linear-gradient(90deg,#c19a2b,transparent); }

/* hover lift */
.lift{ transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease; }
.lift:hover{ transform:translateY(-8px); box-shadow:0 22px 44px -14px rgba(99,26,39,.28); }

/* card gold border grow */
.gcard{ position:relative; }
.gcard::after{ content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(212,175,55,.28); transition:box-shadow .4s ease; pointer-events:none; }
.gcard:hover::after{ box-shadow:inset 0 0 0 2px rgba(212,175,55,.85); }

/* floating blobs */
@keyframes float1{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(20px,-25px)} }
@keyframes float2{ 0%,100%{transform:translate(0,0)} 50%{transform:translate(-25px,20px)} }
.float-a{ animation:float1 9s ease-in-out infinite; }
.float-b{ animation:float2 11s ease-in-out infinite; }

/* pulse dot */
@keyframes pulseGlow{ 0%,100%{opacity:.5} 50%{opacity:1} }
.pulse-dot{ animation:pulseGlow 2s ease-in-out infinite; }

/* gradient gold text */
.grad-text{ background:linear-gradient(90deg,#f7ecc5,#d4af37 45%,#f7ecc5); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* shimmer sweep on buttons */
.shimmer{ position:relative; overflow:hidden; }
.shimmer::before{ content:''; position:absolute; top:0; left:-120%; width:60%; height:100%; background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent); transform:skewX(-20deg); transition:none; }
.shimmer:hover::before{ animation:sweep .9s ease; }
@keyframes sweep{ to{ left:140%; } }

/* dropdown */
.dropdown-panel{ opacity:0; visibility:hidden; transform:translateX(-50%) translateY(10px) scale(.98); transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),visibility .28s; pointer-events:none; }
.dropdown-panel.open{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0) scale(1); pointer-events:auto; }

/* hero slider (background cross-fade behind static content) */
#heroSlider{ overflow:hidden; }
.bma-grid-bg{ background-image:linear-gradient(45deg,rgba(212,175,55,.05) 25%,transparent 25%,transparent 75%,rgba(212,175,55,.05) 75%),linear-gradient(45deg,rgba(212,175,55,.05) 25%,transparent 25%,transparent 75%,rgba(212,175,55,.05) 75%); background-size:46px 46px; background-position:0 0,23px 23px; }
.hero-slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1.3s ease; }
.hero-slide.active{ opacity:1; visibility:visible; }
.hero-slide .kb-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.02); transition:transform 8s linear; }
.hero-slide.active .kb-bg{ transform:scale(1.16); }

/* scroll reveal + stagger */
.fade-up{ opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1); }
.fade-up.in{ opacity:1; transform:none; }
.stagger > *{ opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1); }
.stagger.in > *{ opacity:1; transform:none; }
.stagger.in > *:nth-child(2){ transition-delay:.08s; }
.stagger.in > *:nth-child(3){ transition-delay:.16s; }
.stagger.in > *:nth-child(4){ transition-delay:.24s; }
.stagger.in > *:nth-child(5){ transition-delay:.32s; }
.stagger.in > *:nth-child(6){ transition-delay:.40s; }

/* popup */
#enquiryOverlay{ transition:opacity .35s ease; }
#enquiryOverlay.hide{ opacity:0; pointer-events:none; }
#enquiryCard{ transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s ease; }
#enquiryOverlay.hide #enquiryCard{ transform:translateY(24px) scale(.97); opacity:0; }

/* gallery lightbox */
#galleryLightbox{ transition:opacity .3s ease; }
#galleryLightbox.hide{ opacity:0; pointer-events:none; }
#galleryLightbox img{ transition:transform .35s cubic-bezier(.16,1,.3,1); }
#galleryLightbox.hide img{ transform:scale(.96); }
.gallery-filter-btn{ cursor:pointer; }

/* whatsapp float */
@keyframes waPulse{ 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)} }
.wa-float{ animation:waPulse 2.4s infinite; }

/* ================= Mobile drawer (slides in from the right) ================= */
.mobile-drawer-overlay{
  position:fixed; inset:0; z-index:90; background:rgba(58,15,24,.55);
  backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);
  opacity:0; visibility:hidden; transition:opacity .35s ease, visibility .35s ease;
}
.mobile-drawer-overlay.open{ opacity:1; visibility:visible; }

.mobile-drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:95;
  width:84%; max-width:340px; background:#fdf8f0;
  box-shadow:-12px 0 40px -10px rgba(58,15,24,.35);
  transform:translateX(100%); transition:transform .38s cubic-bezier(.16,1,.3,1);
  display:flex; flex-direction:column; overflow-y:auto;
}
.mobile-drawer.open{ transform:translateX(0); }

.mobile-drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 1.25rem; border-bottom:1px solid rgba(212,175,55,.3); flex-shrink:0;
}
.mobile-drawer-logo{ height:2.75rem; width:auto; object-fit:contain; }
.mobile-drawer-close{
  width:2.5rem; height:2.5rem; border-radius:9999px; background:rgba(99,26,39,.06);
  color:#631a27; display:flex; align-items:center; justify-content:center;
  transition:background-color .2s ease; cursor:pointer;
}
.mobile-drawer-close:hover{ background:rgba(99,26,39,.14); }

.mobile-drawer-body{ padding:.75rem 1.1rem 2rem; display:flex; flex-direction:column; gap:.15rem; font-family:'Outfit',sans-serif; }
.mobile-drawer-link{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem .35rem; color:#631a27; font-size:1rem; letter-spacing:.01em;
  border-bottom:1px solid rgba(212,175,55,.15); background:none; text-align:left;
  width:100%; cursor:pointer; transition:color .2s ease, padding-left .2s ease;
}
.mobile-drawer-link:hover{ color:#a37f1f; padding-left:.6rem; }
.mobile-drawer-toggle svg{ transition:transform .25s ease; }
.mobile-drawer-toggle.open svg{ transform:rotate(180deg); }

.mobile-drawer-submenu{
  max-height:0; overflow:hidden; transition:max-height .35s ease;
  display:flex; flex-direction:column; padding-left:.5rem;
}
.mobile-drawer-submenu.open{ max-height:400px; }
.mobile-drawer-sublink{
  display:flex; align-items:center; gap:.75rem; padding:.6rem .35rem;
  color:rgba(43,27,18,.75); font-size:.9rem; transition:color .2s ease;
}
.mobile-drawer-sublink:hover{ color:#a37f1f; }
.mobile-drawer-sublink img{ width:2.25rem; height:2.25rem; border-radius:9999px; object-fit:cover; flex-shrink:0; }

.mobile-drawer-disabled{
  margin-top:.75rem; text-align:center; padding:.85rem; border-radius:9999px;
  background:rgba(227,166,172,.35); color:#a8404f; cursor:not-allowed; user-select:none; font-size:.95rem;
}
.mobile-drawer-disabled em{ font-style:normal; opacity:.75; font-size:.85em; }

/* Body scroll lock while the drawer is open */
body.drawer-open{ overflow:hidden; }

/* ================= Prose (basic readable styling for raw WP editor content) ================= */
/* Used only on the generic fallback templates (index.php / page.php) so that
   plain post/page content edited in the WordPress editor still looks tidy. */
.prose{ color:#2b1b12; line-height:1.75; }
.prose h1,.prose h2,.prose h3,.prose h4{ font-family:'Playfair Display',serif; color:#631a27; margin-top:1.6em; margin-bottom:.6em; line-height:1.3; }
.prose h1{ font-size:2rem; } .prose h2{ font-size:1.6rem; } .prose h3{ font-size:1.3rem; } .prose h4{ font-size:1.1rem; }
.prose p{ margin:1em 0; }
.prose a{ color:#a37f1f; text-decoration:underline; }
.prose ul{ list-style:disc; padding-left:1.4em; margin:1em 0; }
.prose ol{ list-style:decimal; padding-left:1.4em; margin:1em 0; }
.prose li{ margin:.35em 0; }
.prose blockquote{ border-left:3px solid #d4af37; padding-left:1em; font-style:italic; color:#4f151f; margin:1.2em 0; }
.prose img{ border-radius:1rem; margin:1.2em 0; }
.prose strong{ color:#631a27; }
.prose code{ background:#f3d3d6; padding:.15em .4em; border-radius:.3em; font-size:.9em; }

/* testimonials auto-scroll marquee (no visible scrollbar, continuous motion) */
.testi-marquee-wrap{ overflow:hidden; }
.testi-track{ display:flex; width:max-content; animation:testiScroll 42s linear infinite; }
.testi-marquee-wrap:hover .testi-track{ animation-play-state:paused; }
@keyframes testiScroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.testi-fade-left,.testi-fade-right{ position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.testi-fade-left{ left:0; background:linear-gradient(90deg,#d8b98a,transparent); }
.testi-fade-right{ right:0; background:linear-gradient(270deg,#d8b98a,transparent); }
@media (max-width:768px){ .testi-fade-left,.testi-fade-right{ width:36px; } }

/* subtle diamond bg pattern */
.diamond-bg{ background-image:linear-gradient(45deg,rgba(212,175,55,.05) 25%,transparent 25%,transparent 75%,rgba(212,175,55,.05) 75%),linear-gradient(45deg,rgba(212,175,55,.05) 25%,transparent 25%,transparent 75%,rgba(212,175,55,.05) 75%); background-size:26px 26px; background-position:0 0,13px 13px; }

/* page banner */
.page-hero{ background:radial-gradient(circle at 20% 20%,rgba(212,175,55,.18),transparent 55%),linear-gradient(135deg,#631a27,#7a2130 60%,#a8404f); }
