/*
Theme Name: Brahmin Samaj
Theme URI: https://brahminsamaj.example.com
Author: Brahmin Samaj Tech Team
Description: Professional community website for Brahmin Samaj — Membership, Matrimonial, Scholarship, Business Directory, Donation. Bootstrap 5 + Razorpay + Custom Admin Panel. Hindi/English support.
Version: 1.0.0
License: GPL-2.0+
Text Domain: brahmin-samaj
*/

:root{
  --bs-saffron:#FF9933;
  --bs-saffron-dark:#E25822;
  --bs-maroon:#8B0000;
  --bs-maroon-dark:#5C0000;
  --bs-gold:#D4AF37;
  --bs-gold-light:#F0D78C;
  --bs-cream:#FFF8E7;
  --bs-ink:#2C1810;
  --bs-muted:#6b5b4b;
  --bs-line:#efe6d4;
  --bs-shadow:0 10px 30px rgba(139,0,0,.10);
  --bs-shadow-lg:0 20px 60px rgba(139,0,0,.18);
  --bs-radius:14px;
  --bs-font:'Poppins','Noto Sans Devanagari',system-ui,sans-serif;
  --bs-serif:'Tiro Devanagari Hindi','Cormorant Garamond',serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--bs-font);
  color:var(--bs-ink);
  background:#fff;
  line-height:1.65;
  font-size:15px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--bs-maroon);text-decoration:none;transition:.2s}
a:hover{color:var(--bs-saffron-dark)}

h1,h2,h3,h4,h5{font-family:var(--bs-font);font-weight:700;color:var(--bs-ink);letter-spacing:-.01em}
h1{font-size:2.6rem;line-height:1.15}
h2{font-size:2rem;line-height:1.2}
.section-title{position:relative;display:inline-block;margin-bottom:2rem}
.section-title:after{content:"";display:block;width:60px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--bs-saffron),var(--bs-gold));margin-top:10px}
.text-saffron{color:var(--bs-saffron-dark)}
.text-maroon{color:var(--bs-maroon)}
.text-gold{color:var(--bs-gold)}
.bg-cream{background:var(--bs-cream)}
.bg-maroon{background:var(--bs-maroon);color:#fff}
.bg-saffron{background:var(--bs-saffron)}
.bg-gold-grad{background:linear-gradient(135deg,var(--bs-saffron) 0%,var(--bs-maroon) 100%);color:#fff}

/* === BUTTONS === */
.bs-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 26px;border-radius:50px;font-weight:600;font-size:14px;
  border:0;cursor:pointer;letter-spacing:.3px;transition:.25s ease;
  text-transform:uppercase;
}
.bs-btn-primary{background:linear-gradient(135deg,var(--bs-saffron),var(--bs-maroon));color:#fff}
.bs-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(139,0,0,.35);color:#fff}
.bs-btn-gold{background:linear-gradient(135deg,var(--bs-gold),#b8941f);color:#2C1810}
.bs-btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(212,175,55,.4);color:#2C1810}
.bs-btn-outline{border:2px solid #fff;color:#fff;background:transparent}
.bs-btn-outline:hover{background:#fff;color:var(--bs-maroon)}
.bs-btn-ghost{border:2px solid var(--bs-maroon);color:var(--bs-maroon);background:transparent}
.bs-btn-ghost:hover{background:var(--bs-maroon);color:#fff}

/* === TOP BAR === */
.bs-topbar{background:var(--bs-maroon-dark);color:#fff;font-size:13px;padding:8px 0}
.bs-topbar a{color:var(--bs-gold-light);margin-left:14px}
.bs-topbar a:hover{color:#fff}

/* === NAVBAR === */
.bs-nav{
  background:#fff;padding:14px 0;position:sticky;top:0;z-index:1000;
  box-shadow:0 4px 20px rgba(0,0,0,.06);border-bottom:3px solid var(--bs-gold)
}
.bs-brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.25rem;color:var(--bs-maroon)}
.bs-brand .om{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--bs-saffron),var(--bs-maroon));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;font-weight:700;box-shadow:var(--bs-shadow)
}
.bs-brand small{display:block;font-size:11px;color:var(--bs-muted);font-weight:500;text-transform:uppercase;letter-spacing:1px}
.bs-menu{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
.bs-menu a{
  color:var(--bs-ink);font-weight:500;padding:8px 14px;border-radius:8px;font-size:14px;
}
.bs-menu a:hover,.bs-menu a.active{background:var(--bs-cream);color:var(--bs-maroon)}

/* === OFFCANVAS MOBILE === */
.bs-burger{display:none;background:transparent;border:1.5px solid var(--bs-maroon);color:var(--bs-maroon);padding:8px 12px;border-radius:8px;font-size:18px;cursor:pointer}
.bs-offcanvas{
  position:fixed;top:0;right:-100%;width:85%;max-width:340px;height:100vh;
  background:#fff;z-index:2000;transition:right .35s ease;
  box-shadow:-10px 0 40px rgba(0,0,0,.2);overflow-y:auto;padding:24px;
}
.bs-offcanvas.open{right:0}
.bs-offcanvas-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--bs-line);margin-bottom:18px}
.bs-offcanvas-close{background:transparent;border:0;font-size:24px;color:var(--bs-maroon);cursor:pointer}
.bs-offcanvas a{display:flex;align-items:center;gap:12px;padding:13px 12px;border-radius:8px;color:var(--bs-ink);font-weight:500;border-bottom:1px solid var(--bs-line)}
.bs-offcanvas a:hover{background:var(--bs-cream);color:var(--bs-maroon)}
.bs-offcanvas a i{width:22px;color:var(--bs-saffron-dark)}
.bs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1999;display:none}
.bs-overlay.show{display:block}

@media (max-width:991px){
  .bs-menu{display:none}
  .bs-burger{display:inline-flex}
}

/* === HERO === */
.bs-hero{
  position:relative;min-height:90vh;display:flex;align-items:center;
  color:#fff;overflow:hidden;
  background:linear-gradient(135deg,rgba(139,0,0,.85),rgba(92,0,0,.92)),
    url('https://images.unsplash.com/photo-1545158535-c3f7168c28b6?w=1920') center/cover;
}
.bs-hero:before{
  content:"ॐ";position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  font-size:38rem;color:rgba(212,175,55,.08);font-family:serif;line-height:1;pointer-events:none
}
.bs-hero-badge{
  display:inline-flex;align-items:center;gap:8px;background:rgba(212,175,55,.2);
  border:1px solid var(--bs-gold);color:var(--bs-gold-light);
  padding:8px 18px;border-radius:50px;font-size:13px;font-weight:600;margin-bottom:20px
}
.bs-hero h1{color:#fff;font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1.2rem}
.bs-hero h1 span{
  background:linear-gradient(90deg,var(--bs-gold),var(--bs-saffron));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.bs-hero p{font-size:1.15rem;opacity:.92;max-width:600px;margin-bottom:2rem}

@media (max-width:768px){
  .bs-hero{min-height:75vh}
  .bs-hero h1{font-size:2.2rem}
  .bs-hero p{font-size:1rem}
}

/* === SECTION === */
.bs-section{padding:80px 0}
.bs-section-sm{padding:50px 0}
.bs-eyebrow{
  display:inline-block;color:var(--bs-saffron-dark);font-weight:700;font-size:13px;
  text-transform:uppercase;letter-spacing:2px;margin-bottom:10px
}

/* === CARDS === */
.bs-card{
  background:#fff;border-radius:var(--bs-radius);padding:30px;
  box-shadow:0 4px 20px rgba(0,0,0,.06);transition:.3s;
  border:1px solid var(--bs-line);height:100%
}
.bs-card:hover{transform:translateY(-6px);box-shadow:var(--bs-shadow-lg);border-color:var(--bs-gold)}
.bs-card-icon{
  width:64px;height:64px;border-radius:16px;
  background:linear-gradient(135deg,var(--bs-saffron),var(--bs-maroon));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.7rem;margin-bottom:18px
}
.bs-card h4{font-size:1.2rem;margin-bottom:10px;color:var(--bs-maroon)}
.bs-card p{color:var(--bs-muted);font-size:14px;margin:0}

/* image card */
.bs-img-card{background:#fff;border-radius:var(--bs-radius);overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:.3s;height:100%}
.bs-img-card:hover{transform:translateY(-6px);box-shadow:var(--bs-shadow-lg)}
.bs-img-card img{width:100%;height:220px;object-fit:cover}
.bs-img-card .p{padding:22px}
.bs-img-card .badge-cat{background:var(--bs-cream);color:var(--bs-maroon);padding:4px 12px;border-radius:50px;font-size:12px;font-weight:600}

/* === STAT BAR === */
.bs-stats{background:linear-gradient(135deg,var(--bs-saffron),var(--bs-maroon));padding:50px 0;color:#fff}
.bs-stat .n{font-size:2.6rem;font-weight:800;color:var(--bs-gold-light)}
.bs-stat .l{font-size:14px;opacity:.9;text-transform:uppercase;letter-spacing:1px}

/* === FORMS === */
.bs-form-card{background:#fff;border-radius:var(--bs-radius);padding:36px;box-shadow:var(--bs-shadow);border:1px solid var(--bs-line)}
.bs-form-card label{font-weight:600;font-size:14px;color:var(--bs-ink);margin-bottom:6px;display:block}
.bs-form-card .form-control,.bs-form-card .form-select{
  border:1.5px solid var(--bs-line);border-radius:10px;padding:11px 14px;font-size:14px;
  transition:.2s;background:#fff;width:100%
}
.bs-form-card .form-control:focus,.bs-form-card .form-select:focus{
  outline:0;border-color:var(--bs-saffron);box-shadow:0 0 0 4px rgba(255,153,51,.15)
}

/* === PRICING === */
.bs-price{background:#fff;border-radius:var(--bs-radius);padding:36px 28px;box-shadow:var(--bs-shadow);text-align:center;position:relative;border:2px solid var(--bs-line);transition:.3s}
.bs-price:hover{transform:translateY(-8px);border-color:var(--bs-gold)}
.bs-price.featured{border-color:var(--bs-maroon);background:linear-gradient(180deg,#fff 0%,var(--bs-cream) 100%)}
.bs-price.featured:before{content:"⭐ POPULAR";position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--bs-maroon);color:#fff;padding:5px 18px;border-radius:50px;font-size:11px;font-weight:700;letter-spacing:1px}
.bs-price h3{color:var(--bs-maroon);margin-bottom:8px}
.bs-price .old{text-decoration:line-through;color:#aaa;font-size:1rem;margin-right:8px}
.bs-price .new{font-size:2.4rem;font-weight:800;color:var(--bs-saffron-dark)}
.bs-price ul{list-style:none;padding:0;margin:24px 0;text-align:left}
.bs-price ul li{padding:8px 0;font-size:14px;color:var(--bs-muted);display:flex;gap:10px}
.bs-price ul li:before{content:"✓";color:var(--bs-saffron-dark);font-weight:700}

/* === PAGE BANNER === */
.bs-banner{
  padding:80px 0 60px;background:linear-gradient(135deg,var(--bs-maroon),var(--bs-saffron-dark));color:#fff;text-align:center;position:relative;overflow:hidden
}
.bs-banner:after{content:"ॐ";position:absolute;right:-30px;bottom:-80px;font-size:18rem;color:rgba(212,175,55,.15);font-family:serif;line-height:1}
.bs-banner h1{color:#fff;font-size:2.6rem;margin:0 0 8px}
.bs-banner .crumbs{opacity:.85;font-size:14px}
.bs-banner .crumbs a{color:var(--bs-gold-light)}

/* === FOOTER === */
.bs-footer{background:var(--bs-ink);color:#d5cbb8;padding:60px 0 0}
.bs-footer h5{color:var(--bs-gold);margin-bottom:18px;font-size:1rem;text-transform:uppercase;letter-spacing:1px}
.bs-footer a{color:#d5cbb8;display:block;padding:5px 0;font-size:14px}
.bs-footer a:hover{color:var(--bs-saffron)}
.bs-footer .social a{display:inline-flex;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);align-items:center;justify-content:center;margin-right:8px;padding:0}
.bs-footer .social a:hover{background:var(--bs-saffron);color:#fff}
.bs-foot-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;text-align:center;font-size:13px;margin-top:40px;color:#9c8e76}

/* WhatsApp Float */
.bs-wa{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 6px 20px rgba(37,211,102,.5);z-index:999;animation:pulse 2s infinite}
.bs-wa:hover{color:#fff;transform:scale(1.1)}
@keyframes pulse{0%,100%{box-shadow:0 6px 20px rgba(37,211,102,.5)}50%{box-shadow:0 6px 30px rgba(37,211,102,.8)}}

/* Table */
.bs-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--bs-radius);overflow:hidden;box-shadow:var(--bs-shadow)}
.bs-table th{background:var(--bs-maroon);color:#fff;padding:14px;text-align:left;font-size:14px}
.bs-table td{padding:14px;border-bottom:1px solid var(--bs-line);font-size:14px}
.bs-table tr:last-child td{border-bottom:0}
.bs-table tr:hover td{background:var(--bs-cream)}

/* alert */
.bs-alert{padding:14px 18px;border-radius:10px;font-size:14px;margin-bottom:18px}
.bs-alert-success{background:#e8f5e9;color:#2e7d32;border-left:4px solid #2e7d32}
.bs-alert-error{background:#ffebee;color:#c62828;border-left:4px solid #c62828}
.bs-alert-info{background:#e3f2fd;color:#1565c0;border-left:4px solid #1565c0}
