/*
Theme Name: Shiksha Abhiyan
Theme URI: https://shikshaabhiyan.org
Author: RST Solutions
Author URI: https://rstsolutions.in
Description: Custom WordPress Theme for Shiksha Abhiyan Charitable Trust.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: shikshaabhiyan
*/

html{
scroll-behavior:smooth;
}

body{
margin:0;
padding:0;
font-family:var(--sa-body-font, 'Segoe UI'), sans-serif;
font-size:16px;
line-height:1.7;
background:#ffffff;
color:#333;
overflow-x:hidden;
}

*{
box-sizing:border-box;
}

a{
text-decoration:none;
transition:.3s;
}

img{
max-width:100%;
height:auto;
display:block;
}

.container{
max-width:var(--sa-container-width, 1200px);
margin:auto;
padding:0 15px;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--sa-heading-font, 'Segoe UI'), sans-serif;
}

.btn{
border-radius:var(--sa-button-radius, 8px) !important;
}

/* Section Spacing — controlled from Theme Style settings */
.section-py{
padding-top:var(--sa-section-spacing, 80px);
padding-bottom:var(--sa-section-spacing, 80px);
}

/*=========================
Header
==========================*/

.site-header{

position:sticky;

top:0;

left:0;

width:100%;

background:#ffffff;

box-shadow:0 5px 20px rgba(0,0,0,.05);

z-index:999;

min-height:var(--sa-header-height, 80px);

display:flex;

align-items:center;

}

.navbar{

padding:18px 0;

width:100%;

}

.logo{

font-size:30px;

font-weight:700;

}

.logo-blue{

color:var(--sa-primary, #0B5ED7);

}

.logo-orange{

color:var(--sa-accent, #FF8A00);

}

.navbar-nav{

align-items:center;

}

.navbar-nav li{

margin-left:25px;

}

.navbar-nav li a{

font-weight:600;

color:#222;

transition:.3s;

}

.navbar-nav li a:hover{

color:var(--sa-primary, #0B5ED7);

}

.donate-btn{

background:var(--sa-accent, #FF8A00);

color:#fff;

padding:12px 26px;

border-radius:40px;

font-weight:600;

transition:.3s;

display:inline-block;

}

.donate-btn:hover{

background:var(--sa-primary, #0B5ED7);

color:#fff;

}

.navbar-toggler{

border:none;

}

.navbar-toggler:focus{

box-shadow:none;

}

/*=================================

Hero Section

==================================*/

.hero-section{

padding:100px 0;

background:#f8fbff;

}

.hero-section.hero-slider-active{

padding:0;

}

.hero-carousel{

background:#f8fbff;

}

.hero-carousel .carousel-item{

padding:100px 0;

}

.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next{

width:46px;

height:46px;

top:50%;

bottom:auto;

transform:translateY(-50%);

background:var(--sa-primary, #0B5ED7);

border-radius:50%;

opacity:.9;

transition:.3s;

}

.hero-carousel .carousel-control-prev{ left:20px; }

.hero-carousel .carousel-control-next{ right:20px; }

.hero-carousel .carousel-control-prev:hover,
.hero-carousel .carousel-control-next:hover{

opacity:1;

background:var(--sa-secondary, #0B3C78);

}

.hero-carousel .carousel-control-prev-icon,
.hero-carousel .carousel-control-next-icon{

width:16px;

height:16px;

}

.hero-carousel .carousel-indicators{

bottom:15px;

}

.hero-carousel .carousel-indicators [data-bs-target]{

background-color:var(--sa-primary, #0B5ED7);

width:10px;

height:10px;

border-radius:50%;

opacity:.35;

margin:0 5px;

}

.hero-carousel .carousel-indicators .active{

opacity:1;

}

@media (max-width:991px){

	.hero-carousel .carousel-control-prev,
	.hero-carousel .carousel-control-next{
		display:none;
	}

}

.hero-tag{

display:inline-block;

background:#eaf3ff;

padding:8px 20px;

border-radius:50px;

color:var(--sa-primary, #0B5ED7);

font-weight:600;

margin-bottom:20px;

}

.hero-section h1{

font-size:58px;

font-weight:800;

line-height:1.2;

margin-bottom:25px;

}

.hero-section h1 span{

color:var(--sa-primary, #0B5ED7);

}

.hero-section p{

font-size:18px;

color:#666;

margin-bottom:35px;

}

.hero-buttons{

margin-bottom:50px;

}

.hero-counter{

display:flex;

gap:60px;

}

.hero-counter h2{

font-size:42px;

font-weight:700;

color:var(--sa-primary, #0B5ED7);

margin-bottom:5px;

}

.hero-counter p{

margin:0;

}

.btn-primary{

background:var(--sa-primary, #0B5ED7);

border:none;

padding:14px 35px;

}

.btn-outline-primary{

padding:14px 35px;

}

/*==================================
About Section
==================================*/

.about-section{

padding:100px 0;

}

.section-tag{

display:inline-block;

padding:8px 18px;

background:#EAF3FF;

color:var(--sa-primary, #0B5ED7);

border-radius:40px;

font-weight:600;

margin-bottom:20px;

}

.section-title{

font-size:42px;

font-weight:700;

margin-bottom:25px;

}

.about-section p{

color:#666;

line-height:1.8;

}


/*==================================
Founder
==================================*/

.founder-section{

padding:100px 0;

background:#F8FBFF;

}

.founder-section h2{

font-size:40px;

font-weight:700;

margin-bottom:25px;

}

.founder-section p{

color:#666;

line-height:1.9;

}

/*==================================
Impact Section
==================================*/

.impact-section{
    padding:100px 0;
    background:var(--sa-primary, #0B5ED7);
    color:#fff;
}

.impact-section .section-tag{
    background:rgba(255,255,255,.15);
    color:#fff;
}

.impact-section .section-title{
    color:#fff;
}

.impact-section p{
    color:#e8e8e8;
}

.impact-card{
    background:rgba(255,255,255,.08);
    border-radius:20px;
    padding:40px 25px;
    text-align:center;
    transition:.35s;
    height:100%;
}

.impact-card:hover{
    transform:translateY(-8px);
    background:#ffffff;
    color:var(--sa-primary, #0B5ED7);
}

.impact-card h2{
    font-size:48px;
    font-weight:700;
    margin-bottom:10px;
}

.impact-card h5{
    margin:0;
    font-weight:600;
}


/*==========================
Services
==========================*/

.services-section{
    background:#ffffff;
    padding:100px 0;
}

.service-card{
    background:#fff;
    border-radius:18px;
    padding:40px 30px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
    overflow:hidden;
}

.service-card:hover{
    transform:translateY(-10px);

    border-bottom:4px solid var(--sa-primary, #0B5ED7);
}

.service-icon{
    width:80px;
    height:80px;
    margin:auto;
    background:var(--sa-primary, #0B5ED7);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:50%;
    font-size:32px;
    margin-bottom:25px;
}

.service-card h4{
    font-weight:700;
    margin-bottom:15px;
}

.service-card p{
    color:#666;
    line-height:1.8;
}


/*==================================
Events Section
==================================*/

.events-section{
    padding:100px 0;
    background:#ffffff;
}

.event-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    transition:.35s;
    height:100%;
    position:relative;
}

.event-card:hover{
    transform:translateY(-8px);
}

.event-card img{
    width:100%;
    height:240px;
    object-fit:cover;
}

.event-card-featured{
    border:2px solid var(--sa-accent, #FF8A00);
}

.event-featured-badge{
    position:absolute;
    top:15px;
    right:15px;
    background:var(--sa-accent, #FF8A00);
    color:#fff;
    font-size:12px;
    font-weight:700;
    padding:5px 14px;
    border-radius:30px;
    z-index:2;
}

.event-media{
    position:relative;
}

.event-video-wrap{
    position:relative;
    width:100%;
    padding-top:56.25%; /* 16:9 */
    overflow:hidden;
}

.event-video-wrap iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:0;
}

.event-video-link{
    position:relative;
    display:block;
}

.event-video-link .play-icon{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:60px;
    height:60px;
    border-radius:50%;
    background:rgba(255,255,255,.9);
    color:var(--sa-primary, #0B5ED7);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
    transition:.3s;
}

.event-video-link:hover .play-icon{
    background:var(--sa-primary, #0B5ED7);
    color:#fff;
}

.event-meta{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    font-size:13px;
    color:#888;
    margin-bottom:12px;
}

.event-meta i{
    color:var(--sa-primary, #0B5ED7);
    margin-right:4px;
}

.event-content{
    padding:25px;
}

.event-content h4{
    font-weight:700;
    margin-bottom:15px;
}

.event-content p{
    color:#666;
    line-height:1.8;
}

.event-link{
    color:var(--sa-primary, #0B5ED7);
    font-weight:600;
}

.event-link:hover{
    color:var(--sa-accent, #FF8A00);
}


/*==================================
Call To Action
==================================*/

.cta-section{
    background:linear-gradient(135deg,var(--sa-primary, #0B5ED7),var(--sa-secondary, #0B3C78));
    padding:90px 0;
}

.cta-section h2{
    font-size:42px;
    font-weight:700;
    margin-bottom:20px;
}

.cta-section p{
    font-size:18px;
    color:#eef4ff;
}

.cta-section .btn{
    border-radius:50px;
    padding:14px 32px;
    font-weight:600;
}

.cta-section .btn-warning{
    background:var(--sa-accent, #FF8A00);
    border:none;
}

.cta-section .btn-warning:hover{
    background:#e57a00;
}


.donation-box{
    background:#fff;
    padding:30px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.qr-image{
    width:220px;
    margin:0 auto 25px;
}

.upi-id{
    text-align:center;
    font-weight:600;
    color:var(--sa-secondary, #0B3C78);
    margin-bottom:15px;
    padding-bottom:15px;
    border-bottom:1px dashed #ddd;
}

.bank-details{
    text-align:left;
}

.bank-details h5{
    font-weight:700;
    margin-bottom:20px;
    color:var(--sa-primary, #0B5ED7);
}

.bank-details p{
    margin-bottom:10px;
    color:#333;
}



/*==========================
Footer
==========================*/

.footer{

background:var(--sa-secondary, #0B3C78);

color:#fff;

padding-top:70px;

}

.footer h4{

margin-bottom:20px;

font-weight:700;

}

.footer p{

color:#ddd;

line-height:1.8;

}

.footer-links{

list-style:none;

padding:0;

margin:0;

}

.footer-links li{

margin-bottom:12px;

}

.footer-links li a{

color:#ddd;

text-decoration:none;

transition:.3s;

}

.footer-links li a:hover{

color:#fff;

padding-left:5px;

}


.founder-quote{
    background:#ffffff;
    border-left:5px solid var(--sa-accent, #FF8A00);
    padding:20px 25px;
    margin:25px 0;
    font-size:20px;
    font-style:italic;
    font-weight:600;
    color:var(--sa-secondary, #0B3C78);
    border-radius:8px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}


.copyright{

margin-top:50px;

padding:20px 0;

border-top:1px solid rgba(255,255,255,.1);

text-align:center;

font-size:14px;

color:#ccc;

}

/*==================================
Mission Section
==================================*/

.mission-section{
    background:#F8FBFF;
}

.mission-box{
    background:#fff;
    border-radius:18px;
    padding:40px 30px;
    height:100%;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
    transition:.35s;
}

.mission-box:hover{
    transform:translateY(-8px);
}

.mission-box .icon{
    font-size:38px;
    margin-bottom:18px;
}

.mission-box h3{
    font-weight:700;
    color:var(--sa-secondary, #0B3C78);
    margin-bottom:15px;
}

.mission-box p{
    color:#666;
    line-height:1.8;
    margin:0;
}


/*==================================
Why Us Section
==================================*/

.why-section{
    background:#ffffff;
}

.why-card{
    background:#F8FBFF;
    border-radius:16px;
    padding:35px 20px;
    text-align:center;
    transition:.35s;
    height:100%;
}

.why-card:hover{
    transform:translateY(-8px);
    background:var(--sa-primary, #0B5ED7);
    color:#fff;
}

.why-card h3{
    font-size:32px;
    font-weight:700;
    color:var(--sa-accent, #FF8A00);
    margin-bottom:10px;
}

.why-card:hover h3{
    color:#fff;
}

.why-card p{
    margin:0;
    font-weight:600;
}


/*==================================
Registration Section
==================================*/

.registration-section{
    background:#F8FBFF;
}

.reg-card{
    background:#fff;
    border-radius:16px;
    padding:30px 20px;
    text-align:center;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
    transition:.35s;
    height:100%;
}

.reg-card:hover{
    transform:translateY(-8px);
}

.reg-card h5{
    font-weight:700;
    color:var(--sa-secondary, #0B3C78);
    margin-bottom:10px;
}

.reg-card p{
    color:#666;
    margin:0;
    font-weight:600;
}


/*==================================
Contact Section
==================================*/

.contact-section{
    background:#ffffff;
}

.contact-card{
    background:#F8FBFF;
    border-radius:16px;
    padding:35px 25px;
    text-align:center;
    transition:.35s;
    height:100%;
}

.contact-card:hover{
    transform:translateY(-8px);
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.contact-card h5{
    font-weight:700;
    color:var(--sa-secondary, #0B3C78);
    margin-bottom:10px;
}

.contact-card p{
    color:#666;
    margin:0;
}


/*==================================
People / Team Section
==================================*/

.people-section{
    background:#F8FBFF;
}

.people-card{
    background:#fff;
    border-radius:18px;
    padding:30px 20px;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
    transition:.35s;
    height:100%;
}

.people-card:hover{
    transform:translateY(-8px);
}

.people-photo img{
    width:130px;
    height:130px;
    object-fit:cover;
    border:4px solid #EAF3FF;
}

.people-photo-placeholder{
    width:130px;
    height:130px;
    margin:auto;
    border-radius:50%;
    background:#EAF3FF;
    color:var(--sa-primary, #0B5ED7);
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:40px;
}

.people-name{
    font-weight:700;
    color:var(--sa-secondary, #0B3C78);
    margin-bottom:5px;
}

.people-designation{
    color:var(--sa-primary, #0B5ED7);
    font-weight:600;
    margin-bottom:3px;
}

.people-department{
    color:#999;
    font-size:14px;
    margin-bottom:12px;
}

.people-contact a{
    display:inline-flex;
    width:36px;
    height:36px;
    border-radius:50%;
    background:#EAF3FF;
    color:var(--sa-primary, #0B5ED7);
    justify-content:center;
    align-items:center;
    margin:0 4px;
    transition:.3s;
}

.people-contact a:hover{
    background:var(--sa-primary, #0B5ED7);
    color:#fff;
}


/*==================================
Scroll Reveal Animation
==================================*/

.reveal{
    opacity:0;
    transform:translateY(40px);
    transition:opacity .7s ease, transform .7s ease;
}

.reveal.reveal-visible{
    opacity:1;
    transform:translateY(0);
}

@media (prefers-reduced-motion: reduce){
    .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* Stagger reveal animation for cards within the same row */
.row > .reveal:nth-child(1){transition-delay:0s;}
.row > .reveal:nth-child(2){transition-delay:.12s;}
.row > .reveal:nth-child(3){transition-delay:.24s;}
.row > .reveal:nth-child(4){transition-delay:.36s;}
.row > .reveal:nth-child(5){transition-delay:.48s;}
.row > .reveal:nth-child(6){transition-delay:.6s;}
