/*
Theme Name: Rashtriya Seva Sankalp
Theme URI: https://rashtriyasevasankalp.org
Author: Rashtiya Seva Sankalp
Author URI: https://rashtriyasevasankalp.org/
Description: Ravindra Prajapati (Ravi) is a committed social worker and nation-builder devoted to the upliftment of society through selfless service, cultural awareness, and moral leadership. With a deep-rooted belief in India’s timeless values and heritage, he strives to inspire individuals toward responsibility, unity, and disciplined action.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rashtriya-seva-sankalp
Tags: custom-theme, elementor, responsive, lightweight
*/

/* Reset */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    line-height:1.6;
}

.container{
    width:90%;
    max-width:1140px;
    margin:auto;
}

/* ===============================
   MEMBERS SLIDER – PREMIUM NGO DESIGN
================================= */

.members-section {
text-align: center;
overflow: hidden;
}

/* SECTION TITLE */
.section-title {
font-size: 42px;
font-weight: 700;
margin-bottom: 70px;
color: #1F2937;
}

/* CARD DESIGN */
.member-card {
background: #ffffff;
border-radius: 25px;
padding: 40px 25px;
margin: 10px;
text-align: center;
box-shadow: 0 10px 25px rgb(253 6 6 / 35%);
transition: 0.4s ease;
border-top: 4px solid #F97316;

/* FIX ALIGNMENT */
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
}

.member-card:hover {
transform: translateY(-12px);
box-shadow: 0 20px 50px rgba(249,115,22,0.18);
}

/* ROUND IMAGE */
.member-card img {
width: 160px;
height: 160px;
object-fit: cover;
border-radius: 50%;
display: block;
margin: 0 auto 20px auto;
border: 5px solid #F97316;
box-shadow: 0 10px 25px rgba(249,115,22,0.25);
transition: 0.4s ease;
}

.member-card:hover img {
transform: scale(1.08);
}

/* NAME */
.member-card h4 {
font-size: 18px;
font-weight: 600;
color: #1F2937;
margin-bottom: 6px;
min-height: 44px; /* FIX HEIGHT */
}

/* DESIGNATION */
.designation {
color: #EA580C;
font-size: 14px;
font-weight: 500;
min-height: 36px; /* FIX HEIGHT */
}

/* ===============================
   RESPONSIVE FIX
================================= */

@media(max-width:1024px){
.section-title {
font-size: 34px;
}
}

@media(max-width:768px){

.member-card {
padding: 30px 20px;
}

.member-card img {
width: 130px;
height: 130px;
}
}

/* Add this globally to fix sizing issues */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Container fixes */
.members-page {
  padding: 60px 15px; /* smaller horizontal padding on mobile */
  background: #FFF7ED;
  overflow-x: hidden; /* prevent horizontal scroll */
}

.members-container {
  max-width: 1140px;
  margin: 0 auto;
  width: 100%; /* ensure container never exceeds viewport */
}

/* GRID */
.members-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  width: 100%;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .members-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }


@media (max-width: 768px) {
  .members-grid {
    grid-template-columns: 1fr !important; /* 1 column for mobile */
    margin-top:10px!important;
    gap: 15px!important;
  }
	
h1{
	 font-size: 22px!important;
	}
}
  .members-page {
    padding: 40px 10px;
  }

  .member-card {
    padding: 20px 15px;
  }

  .member-card img {
    width: 120px;
    height: 120px;
  }

  .member-card h3 {
    font-size: 18px;
  }

  .designation {
    font-size: 13px;
  }
}

/* BLOG SECTION */


.blog-container {
max-width: 1140px;
margin: 0 auto;
}

.blog-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 50px;
}

.blog-title {
font-size: 36px;
font-weight: 700;
color: #1F2937;
}

.blog-view-all {
font-size: 14px;
font-weight: 600;
color: #F97316;
text-decoration: none;
}

.blog-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
}

.blog-card {
background: #fff;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 10px 25px rgba(0,0,0,0.05);
transition: 0.3s ease;
display: flex;
flex-direction: column;
}

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

.blog-image img {
width: 100%;
height: 220px;
object-fit: cover;
}

.blog-content {
padding: 10px;
flex: 1;
display: flex;
flex-direction: column;
}

.blog-card-title {
font-size: 18px;
font-weight: 600;
margin-bottom: 10px;
}

.blog-card-title a {
text-decoration: none;
color: #111;
}

.blog-excerpt {
font-size: 14px;
color: #6B7280;
line-height: 1.6;
margin-bottom: 15px;
flex-grow: 1;
}

.blog-btn {
display: inline-block;
padding: 10px 18px;
background: linear-gradient(135deg,#FF6A00,#C2410C);
color: #fff;
font-size: 13px;
font-weight: 600;
border-radius: 30px;
text-decoration: none;
transition: 0.3s ease;
}

.blog-btn:hover {
color: #fff!important;
}

/* RESPONSIVE */

@media (max-width: 1024px) {
.blog-grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 768px) {
.blog-grid {
grid-template-columns: 1fr;
}
.blog-header {
flex-direction: column;
gap: 10px;
align-items: flex-start;
}
.blog-title {
font-size: 28px;
}
}


.members-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
margin-top:40px;
}

.member-card{
background:#fff;
padding:25px;
border-radius:15px;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.member-img img{
width:120px;
height:120px;
border-radius:50%;
border:4px solid #ff7a00;
object-fit:cover;
}

.designation{
color:#666;
margin:10px 0;
}

.view-btn{
background:#ff7a00;
color:#fff!important;
padding:10px 20px;
border-radius:8px;
display:inline-block;
text-decoration:none;
}



.member-profile{
padding:80px 0;
text-align:center;
}

.profile-top img{
width:180px;
height:180px;
border-radius:50%;
border:6px solid #ff7a00;
}

.profile-box{
background:#fff;
padding:40px;
margin-top:30px;
border-radius:20px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.profile-info{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:30px;
}

@media(max-width:992px){

.members-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

.members-grid{
grid-template-columns:1fr;
}

}

/* BLOG GRID */

.elementor-blog-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:40px;
}

/* CARD */

.blog-card{
background:#f3f3f3;
border-radius:20px;
overflow:hidden;
padding-bottom:20px;
transition:0.3s;
}

.blog-card:hover{
transform:translateY(-6px);
box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

/* IMAGE */

.blog-image img{
width:100%;
height:230px;
object-fit:cover;
border-radius:20px 20px 0 0;
display:block;
}

/* TITLE */

.blog-title{
font-size:22px;
font-weight:600;
padding:20px 20px 10px;
color:#111;
line-height:1.35;
height:3.2em;

display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
}

.blog-title a{
text-decoration:none;
color:#111;
display:block;
}

/* EXCERPT */

.blog-excerpt{
font-size:15px;
color:#666;
line-height:1.6;
height:4.8em;

display:-webkit-box;
-webkit-line-clamp:3;
-webkit-box-orient:vertical;
overflow:hidden;
}

/* BUTTON */

.blog-readmore{
display:block;
margin:20px;
text-align:center;
background:#d15a12;
color:#000;
padding:12px;
border-radius:40px;
font-weight:500;
text-decoration:none;
transition:0.3s;
}

.blog-readmore:hover{
background:#b94e0e;
color:#fff!important;
}

/* PAGINATION */

.blog-pagination{
margin-top:40px;
text-align:center;
}

.blog-pagination a,
.blog-pagination span{
display:inline-block;
padding:8px 14px;
margin:4px;
background:#eee;
border-radius:6px;
text-decoration:none;
color:#333;
}

.blog-pagination .current{
background:#d15a12;
color:#fff;
}

/* MOBILE RESPONSIVE */

@media(max-width:1024px){

.elementor-blog-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

.elementor-blog-grid{
grid-template-columns:1fr;
}

}

.custom-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 15px;
}

.gallery-item {
    overflow: hidden;
    border-radius: 12px;
}

.gallery-item img {
    width: 100%;
    height: 220px;
    object-fit: cover;        /* image stretch nahi hogi */
    object-position: top center; /* image top center se crop hogi */
    border-radius: 10px;
    transition: transform 0.4s ease;
    display: block;
}

.gallery-item:hover img {
    transform: scale(1.08);
}

/* ===== Top Festival Banner ===== */

.e3-top-banner{
    width:100%;
    margin:0;
    padding:0;
    line-height:0;
}

.e3-top-banner picture,
.e3-top-banner img{
    width:100%;
    height:auto;
    display:block;
}

.gallery-pagination ul {
    display:flex;
    justify-content:center;
    gap:10px;
    list-style:none;
    padding:0;
}
.gallery-pagination a,
.gallery-pagination span {
    padding:8px 12px;
    border:1px solid #ddd;
    text-decoration:none;
}
.gallery-pagination .current {
    background:#000;
    color:#fff;
}

/* Gallery Grid */
.custom-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .custom-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .custom-gallery {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Pagination spacing FIX */
.gallery-pagination {
    margin-top: 30px; /* 👈 gap image aur pagination ke beech */
    text-align: center;
}

/* Pagination list */
.gallery-pagination ul {
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    flex-wrap: wrap; /* 👈 mobile me break ho jayega */
}

/* Buttons */
.gallery-pagination a,
.gallery-pagination span {
    padding: 8px 12px;
    border: 1px solid #ddd;
    text-decoration: none;
    font-size: 14px;
}

/* Active page */
.gallery-pagination .current {
    background: #000;
    color: #fff;
}

/* Mobile improvement */
@media (max-width: 480px) {
    .gallery-pagination a,
    .gallery-pagination span {
        padding: 6px 10px;
        font-size: 12px;
    }
}