/*
Theme Name:        AWB India
Theme URI:         https://awbindia.org
Author:            Action for Well Being
Author URI:        https://awbindia.org
Description:       Official WordPress theme for Action for Well Being (AWB India) — a Delhi-based NGO promoting LGBTQIA+ inclusion, queer rights education, and mental health awareness since 2019. Integrates WPForms Lite, Yoast SEO, The Events Calendar, WP Razorpay/PayU, and Smash Balloon Social Photo Feed.
Version:           1.0.0
Requires at least: 6.0
Tested up to:      6.6
Requires PHP:      8.0
License:           Private
Text Domain:       awb-india
Tags:              ngo, lgbtq, accessibility-ready, custom-colors, custom-menu, featured-images, full-width-template, sticky-post, two-columns, translation-ready
*/

/* ==========================================================
   THEME DESIGN SYSTEM
   Playfair Display (headings) + DM Sans (body)
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --c-purple:       #6B2D8B;
  --c-purple-light: #9B4DBB;
  --c-purple-dark:  #3D1550;
  --c-purple-pale:  #F4EFF8;
  --c-purple-soft:  #F8F3FC;
  --c-gold:         #E8A020;
  --c-gold-light:   #F5C842;
  --c-teal:         #1DB584;
  --c-teal-light:   #28E8A8;
  --c-ink:          #1A0E2A;
  --c-white:        #FAFAF7;
  --c-gray-50:      #F7F5F0;
  --c-gray-200:     #E5E0D8;
  --c-gray-400:     #9E9890;
  --c-gray-600:     #5A5550;
  --c-text:         #2C2420;
  --c-muted:        #706860;
  --r-sm: 6px; --r-md: 12px; --r-lg: 18px; --r-xl: 28px; --r-pill: 999px;
  --shadow-card:  0 2px 16px rgba(107,45,139,.10);
  --shadow-hover: 0 8px 32px rgba(107,45,139,.18);
  --font-head: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', 'Segoe UI', sans-serif;
  --max-w: 1200px;
  --section-pad: 80px 24px;
}

/* ---- RESET ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--c-text);background:var(--c-white);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--c-purple);text-decoration:none}
a:hover{text-decoration:underline}

/* ---- UTILITIES ---- */
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}
.section{padding:var(--section-pad)}
.section--dark{background:var(--c-ink)}
.section--soft{background:var(--c-purple-soft)}
.section--pale{background:var(--c-purple-pale)}
.section--gray{background:var(--c-gray-50)}
.label{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--c-purple);margin-bottom:10px}
.label--light{color:var(--c-gold-light)}
.heading-xl{font-family:var(--font-head);font-size:clamp(32px,5vw,60px);font-weight:900;line-height:1.1}
.heading-lg{font-family:var(--font-head);font-size:clamp(26px,4vw,44px);font-weight:700;line-height:1.2}
.heading-md{font-family:var(--font-head);font-size:clamp(20px,2.5vw,30px);font-weight:700;line-height:1.25}
.text-white{color:#fff}.text-muted{color:var(--c-muted)}.text-light{color:rgba(255,255,255,.65)}.lead{font-size:17px;color:var(--c-muted);max-width:580px;line-height:1.8}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:var(--r-pill);font-family:var(--font-body);font-size:14px;font-weight:600;border:none;cursor:pointer;transition:all .2s;text-decoration:none}
.btn-primary{background:var(--c-purple);color:#fff}
.btn-primary:hover{background:var(--c-purple-dark);transform:translateY(-2px);box-shadow:var(--shadow-hover);text-decoration:none;color:#fff}
.btn-gold{background:var(--c-gold);color:var(--c-ink)}
.btn-gold:hover{background:var(--c-gold-light);transform:translateY(-2px);text-decoration:none;color:var(--c-ink)}
.btn-teal{background:var(--c-teal);color:#fff}
.btn-teal:hover{background:#17a076;transform:translateY(-2px);text-decoration:none;color:#fff}
.btn-outline-w{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff}
.btn-outline-w:hover{background:rgba(255,255,255,.1);border-color:#fff;text-decoration:none;color:#fff}
.btn-outline-p{background:transparent;border:1.5px solid var(--c-purple);color:var(--c-purple)}
.btn-outline-p:hover{background:var(--c-purple-pale);text-decoration:none}
.btn-sm{padding:8px 18px;font-size:13px}.btn-lg{padding:16px 36px;font-size:16px}.btn-block{width:100%;justify-content:center}

/* ---- BADGES ---- */
.badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;padding:4px 12px;border-radius:var(--r-pill)}
.badge-purple{background:var(--c-purple-pale);color:var(--c-purple)}
.badge-gold{background:#FEF3DC;color:#854F0B}
.badge-teal{background:#E1F5EE;color:#0F6E56}
.badge-pink{background:#FBEAF0;color:#993556}

/* ---- CARDS ---- */
.card{background:#fff;border-radius:var(--r-lg);border:1px solid rgba(107,45,139,.10);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}
.card-body{padding:24px}

/* ---- FORM BASE ---- */
.form-group{margin-bottom:18px}
.form-label{display:block;font-size:12px;font-weight:600;color:var(--c-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px}
.form-control{width:100%;padding:11px 16px;border:1.5px solid var(--c-gray-200);border-radius:var(--r-md);font-family:var(--font-body);font-size:14px;color:var(--c-text);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.form-control:focus{border-color:var(--c-purple);box-shadow:0 0 0 3px rgba(107,45,139,.08)}
textarea.form-control{resize:vertical;min-height:110px}

/* ---- NAVIGATION ---- */
.site-header{background:rgba(250,250,247,.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(107,45,139,.10);position:sticky;top:0;z-index:1000}
.nav-inner{max-width:var(--max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:68px}
.site-branding{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-icon{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--c-purple),var(--c-purple-light));display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:19px;font-weight:900;color:#fff;flex-shrink:0}
.brand-name{font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--c-purple);line-height:1.2;display:block}
.brand-sub{font-size:10px;color:var(--c-gray-400);letter-spacing:.08em;text-transform:uppercase;display:block}
/* WordPress nav_menu output */
#primary-menu{display:flex;list-style:none;gap:4px;margin:0;padding:0}
#primary-menu li a{display:block;padding:8px 14px;border-radius:var(--r-md);font-size:14px;font-weight:500;color:var(--c-muted);text-decoration:none;transition:all .15s}
#primary-menu li a:hover,#primary-menu li.current-menu-item a,#primary-menu li.current_page_item a{color:var(--c-purple);background:var(--c-purple-pale)}
.nav-ctas{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--c-text);margin:4px 0;transition:all .25s}

/* ---- FOOTER ---- */
.site-footer{background:var(--c-ink);color:rgba(255,255,255,.6)}
.footer-top{padding:64px 24px 40px}
.footer-grid{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.footer-brand h3{font-family:var(--font-head);font-size:20px;font-weight:700;color:#fff;margin-bottom:12px}
.footer-brand p{font-size:13px;line-height:1.75;max-width:280px}
.footer-pride{display:flex;height:4px;border-radius:2px;overflow:hidden;width:100%;margin-top:20px}
.footer-pride span{flex:1}
.footer-col h5{font-size:12px;font-weight:600;color:rgba(255,255,255,.9);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col ul li{margin-bottom:9px}
.footer-col ul li a{font-size:13px;color:rgba(255,255,255,.5);transition:color .2s}
.footer-col ul li a:hover{color:#fff;text-decoration:none}
.footer-bottom-bar{border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom-inner{max-width:var(--max-w);margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;font-size:12px}
.social-links{display:flex;gap:8px;margin-top:16px}
.social-link{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);font-size:15px;transition:all .2s;text-decoration:none}
.social-link:hover{background:var(--c-purple);border-color:var(--c-purple);color:#fff;text-decoration:none}

/* ---- PAGE HERO ---- */
.page-hero{background:var(--c-ink);padding:80px 24px 72px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(107,45,139,.45) 0%,transparent 60%),radial-gradient(ellipse at 10% 80%,rgba(29,181,132,.15) 0%,transparent 50%)}
.page-hero-inner{max-width:var(--max-w);margin:0 auto;position:relative;z-index:2}
.page-hero h1{font-family:var(--font-head);font-size:clamp(32px,5vw,56px);font-weight:900;color:#fff;margin-bottom:16px}
.page-hero p{font-size:17px;color:rgba(255,255,255,.7);max-width:540px;line-height:1.75}
.breadcrumb{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:20px}
.breadcrumb a{color:rgba(255,255,255,.55)}
.breadcrumb a:hover{color:#fff}

/* ---- PLUGIN OVERRIDE: WPForms Lite ---- */
.wpforms-container .wpforms-form .wpforms-field-label{font-size:12px;font-weight:600;color:var(--c-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:7px}
.wpforms-container .wpforms-form input[type=text],
.wpforms-container .wpforms-form input[type=email],
.wpforms-container .wpforms-form input[type=tel],
.wpforms-container .wpforms-form input[type=date],
.wpforms-container .wpforms-form input[type=number],
.wpforms-container .wpforms-form select,
.wpforms-container .wpforms-form textarea{width:100%;padding:11px 16px;border:1.5px solid var(--c-gray-200)!important;border-radius:var(--r-md)!important;font-family:var(--font-body);font-size:14px;color:var(--c-text);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;box-shadow:none!important}
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form select:focus,
.wpforms-container .wpforms-form textarea:focus{border-color:var(--c-purple)!important;box-shadow:0 0 0 3px rgba(107,45,139,.08)!important}
.wpforms-container .wpforms-form button[type=submit],.wpforms-container .wpforms-form .wpforms-submit{background:var(--c-purple)!important;color:#fff!important;border:none!important;padding:14px 32px!important;border-radius:var(--r-pill)!important;font-size:15px!important;font-weight:600!important;cursor:pointer;font-family:var(--font-body)!important;transition:background .2s,transform .15s!important}
.wpforms-container .wpforms-form button[type=submit]:hover{background:var(--c-purple-dark)!important;transform:translateY(-2px)!important}
.wpforms-container .wpforms-form .wpforms-confirmation-container-full{background:var(--c-teal);color:#fff;border-radius:var(--r-md);padding:18px 22px;font-weight:600;border:none}

/* ---- PLUGIN OVERRIDE: The Events Calendar ---- */
.tribe-events .tribe-events-calendar td,.tribe-events .tribe-events-calendar th{border-color:var(--c-gray-200)}
.tribe-events .tribe-event-schedule-details{color:var(--c-purple);font-weight:600}
.tribe-events-single .tribe-events-schedule{background:var(--c-purple-pale);border-radius:var(--r-md);padding:12px 18px;color:var(--c-purple)}
.tribe-events .tribe-events-c-nav__list-item-link{color:var(--c-purple)}
.tribe-events .tribe-events-c-nav__list-item-link:hover{color:var(--c-purple-dark)}
.tribe-block__event-website .tribe-block__btn{background:var(--c-purple);color:#fff;border-radius:var(--r-pill);padding:10px 20px}
.tribe-events .tribe-events-calendar .tribe-events-calendar__mobile-events-icon--event{background:var(--c-purple)}
.tribe_events_cat-workshop .tribe-event-featured-image{border-top:4px solid var(--c-teal)}
.tribe_events_cat-conference .tribe-event-featured-image{border-top:4px solid var(--c-purple)}

/* ---- PLUGIN OVERRIDE: Smash Balloon Instagram Feed ---- */
#sb_instagram .sbi_photo_wrap img{border-radius:var(--r-md);transition:transform .2s,box-shadow .2s}
#sb_instagram .sbi_photo_wrap:hover img{transform:scale(1.04);box-shadow:var(--shadow-hover)}
#sb_instagram #sbi_load .sbi_load_btn{background:var(--c-purple)!important;color:#fff!important;border-radius:var(--r-pill)!important;border:none!important;padding:12px 28px!important;font-family:var(--font-body)!important;font-weight:600!important}
.sbi-header-text .sbi-screenreader{font-family:var(--font-head);color:var(--c-purple)}

/* ---- ANIMATIONS ---- */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulseDot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}

/* ---- RESPONSIVE ---- */
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
  #primary-menu{display:none;position:absolute;top:68px;left:0;right:0;background:var(--c-white);flex-direction:column;padding:16px 24px;border-bottom:1px solid var(--c-gray-200);box-shadow:0 8px 24px rgba(0,0,0,.08)}
  #primary-menu.open{display:flex}
  .nav-toggle{display:block}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr}
  :root{--section-pad:56px 20px}
}
