/* ==========================================================
   Meyyazhi Healing Center — site stylesheet
   Built on top of Bootstrap 5. Brand palette + custom
   components (hero, testimonial cards, forms, admin views).
   ========================================================== */

:root{
  --cream:#FBF5EC;
  --lavender:#F3E7F4;
  --purple-deep:#3B1548;
  --purple:#5E2A78;
  --violet:#7A3A94;
  --magenta:#B23A82;
  --gold:#C89B3C;
  --gold-light:#E4C878;
  --ink:#4a3550;
}

*{ box-sizing:border-box; }

body{
  font-family:'Catamaran', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
}

h1,h2,h3{
  font-family:'Noto Sans Tamil', sans-serif;
  color:var(--purple-deep);
  font-weight:700;
}

a{ color:inherit; text-decoration:none; }

/* ---------- NAVBAR ---------- */
.site-header{
  background:rgba(251,245,236,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(59,21,72,0.08);
  position:sticky;
  top:0;
  z-index:50;
}
.navbar-brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Noto Sans Tamil', sans-serif;
  font-weight:700; font-size:19px;
  color:var(--purple-deep) !important;
}
.navbar-brand img{ width:38px; height:38px; object-fit:contain; }
.navbar-brand small{ display:block; font-size:11px; font-weight:600; color:var(--violet); }
.navbar-nav .nav-link{
  font-weight:600; color:var(--purple) !important;
  padding:8px 14px !important;
}
.navbar-nav .nav-link:hover{ color:var(--purple-deep) !important; }

/* ---------- BUTTONS ---------- */
.btn-brand-primary{
  background:var(--purple-deep); color:#fff;
  border:none; border-radius:999px;
  padding:12px 28px; font-weight:700;
  box-shadow:0 10px 24px rgba(59,21,72,0.25);
}
.btn-brand-primary:hover{ background:var(--purple); color:#fff; }
.btn-brand-outline{
  border:1.6px solid var(--purple-deep); color:var(--purple-deep);
  border-radius:999px; padding:11px 28px; font-weight:700; background:transparent;
}
.btn-brand-outline:hover{ background:var(--purple-deep); color:#fff; }
.btn-whatsapp{
  background:#25D366; color:#fff; border:none;
  border-radius:999px; padding:12px 26px; font-weight:700;
  display:inline-flex; align-items:center; gap:8px;
  box-shadow:0 10px 24px rgba(37,211,102,0.3);
}
.btn-whatsapp:hover{ background:#1ebe5b; color:#fff; }

/* ---------- HERO ---------- */
.hero{
  position:relative;
  padding:110px 20px 90px;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 8%, rgba(200,155,60,0.16), transparent 45%),
    radial-gradient(circle at 10% 92%, rgba(122,58,148,0.14), transparent 45%),
    linear-gradient(160deg, var(--cream) 0%, var(--cream) 60%, var(--lavender) 100%);
}
.hero-lotus{ position:absolute; border-radius:50%; opacity:0.10; filter:blur(1px); }
.hero-lotus.left{ width:280px; height:280px; left:-100px; top:40px; background:radial-gradient(circle, var(--gold), transparent 70%); }
.hero-lotus.right{ width:340px; height:340px; right:-120px; bottom:-60px; background:radial-gradient(circle, var(--violet), transparent 70%); }
.hero-logo{
  width:130px; height:130px; margin:0 auto 22px;
  border-radius:50%;
  background:radial-gradient(circle, #fff 58%, transparent 100%);
  box-shadow:0 10px 30px rgba(59,21,72,0.16);
  display:flex; align-items:center; justify-content:center;
  position:relative; z-index:2;
}
.hero-logo img{ width:120px; height:120px; object-fit:contain; }
.hero-sub{ position:relative; z-index:2; font-size:14px; font-weight:700; letter-spacing:1.5px; color:var(--gold); margin-bottom:14px; }
.hero-title{
  position:relative; z-index:2;
  font-size:clamp(38px, 6vw, 60px); line-height:1.15; margin-bottom:18px;
}
.hero-title span{ display:block; font-size:0.5em; color:var(--purple); font-weight:600; }
.hero-tagline{ position:relative; z-index:2; max-width:560px; margin:0 auto 34px; font-size:17px; font-weight:600; color:var(--violet); }
.hero-cta{ position:relative; z-index:2; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---------- SECTIONS ---------- */
.section{ padding:80px 0; }
.section-head{ max-width:640px; margin:0 auto 44px; }
.section-head.text-center{ text-align:center; }
.section-head h2{ font-size:clamp(28px,4vw,36px); }
.eyebrow{ font-size:13px; font-weight:700; color:var(--gold); letter-spacing:1.2px; margin-bottom:10px; text-transform:uppercase; }

.values-section{ background:linear-gradient(180deg, var(--cream), var(--lavender)); }
.value-card{
  background:#fff; border-top:3px solid var(--gold);
  border-radius:14px; padding:32px 26px; height:100%;
  box-shadow:0 10px 26px rgba(59,21,72,0.06);
}
.value-card .glyph{
  width:48px; height:48px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
}
.value-card h3{ font-size:20px; margin-bottom:8px; }
.value-card p{ font-size:15px; color:var(--ink); margin:0; }

/* ---------- TESTIMONIAL CARDS ---------- */
.testimonial-card{
  background:#fff; border-radius:16px; padding:30px 26px;
  height:100%; position:relative;
  box-shadow:0 10px 30px rgba(59,21,72,0.07);
  border-left:3px solid var(--gold);
}
.testimonial-card .quote-icon{ color:var(--gold-light); margin-bottom:12px; }
.testimonial-card .t-text{ font-size:15.5px; color:var(--ink); font-weight:500; line-height:1.75; min-height:70px; }
.testimonial-card .t-meta{
  margin-top:18px; padding-top:14px; border-top:1px dashed rgba(94,42,120,0.2);
  display:flex; justify-content:space-between; align-items:center;
}
.testimonial-card .t-name{ font-weight:700; color:var(--purple-deep); font-size:14.5px; }
.testimonial-card .t-date{ font-size:12.5px; color:var(--violet); }

/* ---------- SHARE / FORM ---------- */
.share-cta{
  background:var(--purple-deep); color:var(--cream); text-align:center;
}
.share-cta h2{ color:#fff; }
.share-cta p{ color:#e6d9ec; max-width:520px; margin:14px auto 26px; }

.share-form-section{ background:var(--lavender); }
.form-card{
  background:#fff; border-radius:20px; padding:44px; max-width:640px;
  box-shadow:0 14px 40px rgba(59,21,72,0.1);
}
.form-card .form-label{ font-weight:700; color:var(--purple-deep); }
.form-card .req{ color:var(--magenta); }
.form-card .form-control{
  border:1.5px solid rgba(94,42,120,0.25); border-radius:10px; padding:11px 14px;
}
.form-card .form-control:focus{
  border-color:var(--gold); box-shadow:0 0 0 0.2rem rgba(200,155,60,0.25);
}
.form-note{ font-size:12.5px; color:var(--violet); }

/* ---------- CONTACT PAGE ---------- */
.contact-details-card{
  background:#fff; border-radius:20px; padding:40px;
  box-shadow:0 14px 40px rgba(59,21,72,0.1);
  height:100%;
}
.contact-item{ display:flex; gap:16px; align-items:flex-start; margin-bottom:24px; }
.contact-item:last-of-type{ margin-bottom:0; }
.contact-item .icon-circle{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--gold-light), var(--gold));
  display:flex; align-items:center; justify-content:center;
}
.contact-item h4{ font-size:15px; color:var(--purple-deep); margin-bottom:3px; font-weight:700; }
.contact-item p{ font-size:15.5px; color:var(--ink); margin:0; }
.contact-item a{ font-weight:700; color:var(--magenta); }

/* ---------- PAGE HEADER (testimonials.php) ---------- */
.page-header{
  padding:80px 20px 50px;
  background:linear-gradient(160deg, var(--cream) 0%, var(--lavender) 100%);
  text-align:center;
}
.page-header h1{ font-size:clamp(32px,5vw,46px); margin:10px 0 12px; }
.page-header p{ color:var(--violet); font-weight:600; max-width:520px; margin:0 auto; }

/* ---------- FOOTER ---------- */
.site-footer{ padding:50px 20px 34px; text-align:center; border-top:1px solid rgba(59,21,72,0.1); margin-top:20px; }
.footer-brand{ font-family:'Noto Sans Tamil', sans-serif; font-weight:700; font-size:19px; color:var(--purple-deep); }
.footer-tagline{ font-size:13.5px; color:var(--violet); margin:6px 0 18px; }
.footer-links{ display:flex; justify-content:center; gap:22px; margin-bottom:18px; flex-wrap:wrap; }
.footer-links a{ font-size:13.5px; font-weight:700; color:var(--purple); }
.footer-links a:hover{ color:var(--purple-deep); }
.footer-socials{ display:flex; justify-content:center; gap:16px; margin-bottom:16px; }
.footer-socials a{
  width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--lavender); color:var(--purple-deep); transition:background .2s ease;
}
.footer-socials a:hover{ background:var(--gold-light); }
.footer-copy{ font-size:12.5px; color:var(--violet); }

/* ---------- ADMIN ---------- */
.admin-login-body{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg, var(--cream) 0%, var(--lavender) 100%);
  padding:20px;
}
.admin-login-card{
  background:#fff; border-radius:20px; padding:44px; max-width:420px; width:100%;
  text-align:center; box-shadow:0 16px 44px rgba(59,21,72,0.14);
}
.admin-logo{ width:70px; height:70px; object-fit:contain; margin:0 auto 16px; }
.admin-login-card h1{ font-size:24px; margin-bottom:4px; }

.admin-body{ background:#f4f1f6; min-height:100vh; }
.admin-navbar{ background:var(--purple-deep); padding:14px 0; }
.admin-navbar .navbar-brand{ color:#fff !important; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:767px){
  .section{ padding:60px 0; }
  .hero{ padding:90px 16px 60px; }
  .form-card{ padding:28px 20px; }
}
