/*
Theme Name: Manav Vikas Seva Dham
Theme URI: https://www.manavvikasorg.com
Author: Manav Vikas Samaj Sevi Sanstha
Author URI: https://www.manavvikasorg.com
Description: मानव विकास समाज सेवी संस्था (सेवाधाम आश्रम) के लिए बना कस्टम वर्डप्रेस थीम। अनाथ, वृद्ध, असहाय और गरीब परिवारों के लिए निःशुल्क शिक्षा, आश्रय और कौशल प्रशिक्षण कार्यक्रमों को दर्शाने हेतु डिज़ाइन किया गया।
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: manav-vikas
*/

/* -------------------------------------------------
   DESIGN TOKENS
   Palette:
     --cream        #FAF3E6  (page background, like aged paper)
     --indigo       #1F3A5E  (headings, primary structure)
     --indigo-deep  #142640  (footer, dark sections)
     --marigold     #E29227  (accent, CTAs, ornament)
     --sindoor      #B23A2E  (urgent / donation / phone)
     --ink           #2E2A22 (body text)
     --paper-line   #E7DCC6  (hairline rule on cream)
   Type:
     Display (Hindi headings): 'Yatra One'
     Body (Hindi + Latin):     'Hind'
     Utility (numbers/labels): 'Inter'
   Signature element: hand-drawn marigold toran (गेंदे का तोरण) used as
   a section divider — the garland Indian ashrams hang at their threshold
   to welcome guests, standing in for the generic gradient/numbered divider.
------------------------------------------------- */

:root{
  --cream: #FAF3E6;
  --indigo: #1F3A5E;
  --indigo-deep: #142640;
  --marigold: #E29227;
  --marigold-soft: #F2C879;
  --sindoor: #B23A2E;
  --ink: #2E2A22;
  --paper-line: #E7DCC6;
  --radius: 14px;
  --max: 1160px;
}

*, *::before, *::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Hind', 'Noto Sans Devanagari', sans-serif;
  font-size:17px;
  line-height:1.7;
}

img{ max-width:100%; display:block; }

a{ color:var(--sindoor); text-decoration:none; }
a:hover{ text-decoration:underline; }

h1,h2,h3,h4{
  font-family:'Yatra One', 'Hind', sans-serif;
  color:var(--indigo);
  line-height:1.3;
  margin:0 0 .5em;
  font-weight:400;
}

h1{ font-size:clamp(2.1rem, 4vw, 3.2rem); }
h2{ font-size:clamp(1.6rem, 3vw, 2.3rem); }
h3{ font-size:1.3rem; }

.eyebrow{
  font-family:'Inter', sans-serif;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--sindoor);
  font-weight:600;
}

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 24px;
}

/* skip link / accessibility */
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--indigo); color:#fff;
  padding:10px 16px; z-index:999; border-radius:0 0 8px 0;
}
.skip-link:focus{ left:0; }

:focus-visible{ outline:3px solid var(--marigold); outline-offset:2px; }

/* -------------------- HEADER -------------------- */
.site-header{
  background:var(--cream);
  border-bottom:3px solid var(--marigold);
  position:sticky; top:0; z-index:50;
}
.site-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:20px; padding:14px 24px;
}
.brand{
  display:flex; align-items:center; gap:14px; text-decoration:none;
}
.brand:hover{ text-decoration:none; }
.brand-badge{
  width:52px; height:52px; border-radius:50%;
  background:conic-gradient(var(--marigold), var(--sindoor), var(--marigold));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-family:'Yatra One',sans-serif; font-size:1.4rem;
  flex:none;
  box-shadow:0 0 0 3px var(--cream), 0 0 0 5px var(--marigold-soft);
}
.brand-text .name{
  font-family:'Yatra One', sans-serif; color:var(--sindoor);
  font-size:1.4rem; display:block;
}
.brand-text .sub{
  font-family:'Inter', sans-serif; font-size:.72rem; color:var(--ink);
  opacity:.75; letter-spacing:.04em;
}

.primary-nav ul{
  list-style:none; display:flex; gap:23px; margin:0; padding:0;
}
.primary-nav a{
  color:var(--indigo); font-weight:600; font-size:.98rem;
}
.primary-nav a:hover{ color:var(--marigold-soft); text-decoration:none; }

.nav-toggle{ display:none; }

/* Dropdown submenu (e.g. "हमारे बारे में" -> संस्थापक सदस्य / संस्था प्रोफाइल) */
.primary-nav li{ position:relative; }
.primary-nav .sub-menu{
  list-style:none; margin:0; padding:8px 0;
  position:absolute; top:100%; left:0; min-width:220px;
  background:var(--cream); border:1px solid var(--paper-line);
  border-top:3px solid var(--marigold); box-shadow:0 10px 24px rgba(0,0,0,.12);
  display:none; z-index:60; gap:0;
}
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu{ display:block; }
.primary-nav .sub-menu li{ width:100%; }
.primary-nav .sub-menu a{
  display:block; padding:10px 18px; font-size:.9rem; font-weight:600; white-space:nowrap;
}
.primary-nav .menu-item-has-children > a::after{ content:" ▾"; font-size:.75em; }

@media (max-width: 1180px){
  .primary-nav ul{
    position:absolute; left:0; right:0; top:100%;
    background:var(--cream); flex-direction:column; gap:0;
    border-bottom:3px solid var(--marigold);
    display:none;
  }
  .primary-nav.open ul{ display:flex; }
  .primary-nav a{ display:block; padding:14px 24px; border-top:1px solid var(--paper-line); }
  .nav-toggle{
    display:inline-flex; background:none; border:2px solid var(--indigo);
    border-radius:8px; padding:8px 12px; font-size:1.1rem; cursor:pointer; color:var(--indigo);
  }

  /* On mobile, submenu opens inline (tap-to-toggle) instead of hover */
  .primary-nav .sub-menu{
    position:static; display:none; box-shadow:none; border:none;
     padding:0;
  }
  .primary-nav li.sub-open > .sub-menu{ display:block; }
  .primary-nav .sub-menu a{ padding-left:40px; }
}

/* -------------------- TORAN DIVIDER (signature element) -------------------- */
.toran{
  height:34px; width:100%; overflow:hidden; line-height:0;
  background:var(--cream);
}
.toran svg{ width:100%; height:34px; display:block; }

/* -------------------- HERO -------------------- */
.hero{
  background:
    linear-gradient(180deg, rgba(226,146,39,.10), transparent 60%),
    var(--cream);
  padding:64px 0 40px;
  position:relative;
}
.hero-inner{
  display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center;
}
@media (max-width:840px){ .hero-inner{ grid-template-columns:1fr; } }

.hero-kicker{
  font-family:'Yatra One', sans-serif; color:var(--sindoor); font-size:1.05rem; margin-bottom:6px;
}
.hero h1 span{ color:var(--sindoor); }
.hero p.lede{ font-size:1.12rem; max-width:52ch; }

.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:26px; }

.btn{
  display:inline-block; padding:13px 26px; border-radius:999px;
  font-weight:600; font-family:'Hind',sans-serif; font-size:1rem;
  border:2px solid transparent; transition:transform .15s ease;
}
.btn:hover{ transform:translateY(-2px); text-decoration:none; }
.btn-primary{ background:var(--sindoor); color:#fff; }
.btn-primary:hover{ background:#9c2f25; }
.btn-outline{ background:transparent; border-color:var(--indigo); color:var(--indigo);  }
.nn{ background:transparent; border-color:#fff; color:#fff; }
.btn-outline:hover{ background:var(--indigo); color:#fff; }

/* -------------------- HERO BACKGROUND SLIDER (12 photos, Customizer se) -------------------- */
.hero-slider{
  position:absolute; inset:0; overflow:hidden; z-index:0;
}
.hero-slide{
  position:absolute; inset:0;
  background-size:cover;  background-repeat:no-repeat;
  opacity:0; transition:opacity 1.4s ease-in-out;background-position: center 35%;
}
.hero-slide.is-active{ opacity:1; }
.hero-slider-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,38,64,.72), rgba(20,38,64,.55) 55%, rgba(20,38,64,.8));
}
.hero-has-slider{ padding:84px 0 56px; overflow:hidden; }
.hero-has-slider .hero-inner{ position:relative; z-index:1; }
.hero-has-slider .hero-kicker{ color:var(--marigold-soft); }
.hero-has-slider h1,
.hero-has-slider h1 span{ color:#fff; }
.hero-has-slider p.lede{ color:#F4EEDD; }
.hero-has-slider .hero-card{
  background:rgba(255,255,255,.96);
}
@media (prefers-reduced-motion: reduce){
  .hero-slide{ transition:none; }
}

.hero-card{
  background:#fff; border:2px solid var(--paper-line); border-radius:var(--radius);
  padding:22px 24px; box-shadow:0 10px 30px rgba(31,58,94,.08);
}
.hero-card .reg{
  font-family:'Inter',sans-serif; font-size:.82rem; color:var(--ink); opacity:.8;
  border-bottom:1px dashed var(--paper-line); padding-bottom:10px; margin-bottom:10px;
}
.hero-card ul{ margin:0; padding-left:1.1em; }
.hero-card li{ margin-bottom:6px; }

/* -------------------- SECTION SHELL -------------------- */
.section{ padding:56px 0; }
.section-head{ max-width:66ch; margin-bottom:32px; }
.section-alt{ background:#fff; }

/* -------------------- SERVICES GRID -------------------- */
.grid-3{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
@media (max-width:900px){ .grid-3{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .grid-3{ grid-template-columns:1fr; } }

.care-card{
  background:var(--cream); border:1px solid var(--paper-line);
  border-radius:var(--radius); padding:24px;
}
.care-card .icon{
  width:44px; height:44px; border-radius:10px; background:var(--marigold-soft);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.care-card .icon svg{ width:22px; height:22px; color:var(--indigo); }
.care-card h3{ margin-bottom:6px; }
.care-card p{ margin:0; opacity:.85; }

/* -------------------- IMPACT STATS (animated counters) -------------------- */
.stats-section{ padding-top:0; padding-bottom:0; }
.stats-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
  background:var(--indigo); border-radius:20px; padding:36px 24px;
}
@media (max-width:840px){ .stats-grid{ grid-template-columns:1fr 1fr; } }
.stat-card{ text-align:center; color:#fff; }
.stat-number{
  font-family:'Yatra One', sans-serif; font-size:clamp(2rem,4vw,2.6rem); color:var(--marigold-soft);
}
.stat-plus{
  font-family:'Yatra One', sans-serif; font-size:1.4rem; color:var(--marigold-soft);
}
.stat-label{ margin:4px 0 0; font-size:.92rem; opacity:.85; }

/* -------------------- TEAM -------------------- */
.team-teaser-card{
  background:var(--cream); border:1px solid var(--paper-line); border-radius:var(--radius);
  padding:26px; display:flex; align-items:center; gap:22px;
}
@media (max-width:600px){ .team-teaser-card{ flex-direction:column; text-align:center; } }
.team-avatar{
  width:66px; height:66px; border-radius:50%; flex:none;
  background:conic-gradient(var(--marigold), var(--sindoor), var(--marigold));
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-family:'Yatra One',sans-serif; font-size:1.1rem;
}
.team-card{
  background:var(--cream); border:1px solid var(--paper-line); border-radius:var(--radius);
  padding:26px; text-align:center;
}
.team-card .team-avatar{ margin:0 auto 14px; }
.team-role{ color:var(--sindoor); font-weight:600; font-size:.92rem; margin:0 0 6px; }
.team-phone{ font-family:'Inter',sans-serif; font-size:.88rem; opacity:.85; margin:0; }

/* -------------------- TESTIMONIALS -------------------- */
.testi-card{
  background:#fff; border:1px solid var(--paper-line); border-left:4px solid var(--marigold);
  border-radius:var(--radius); padding:24px;
}
.testi-quote{ font-style:italic; margin:0 0 14px; }
.testi-name{ font-weight:600; color:var(--indigo); margin:0; font-size:.92rem; }

/* -------------------- NEWS / BLOG CARDS -------------------- */
.news-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
@media (max-width:900px){ .news-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .news-grid{ grid-template-columns:1fr; } }
.news-card{
  background:#fff; border:1px solid var(--paper-line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column;
}
.news-thumb{ display:block; aspect-ratio:16/10; background:var(--marigold-soft); overflow:hidden; }
.news-thumb img{ width:100%; height:100%; object-fit:cover; }
.news-thumb-fallback{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:2.4rem;
}
.news-body{ padding:18px 20px 22px; }
.news-date{ font-family:'Inter',sans-serif; font-size:.78rem; color:var(--sindoor); opacity:.9; margin:0 0 6px; }
.news-body h3{ margin:0 0 8px; font-size:1.12rem; }
.news-body h3 a{ color:var(--indigo); }
.news-body h3 a:hover{ color:var(--sindoor); text-decoration:none; }
.news-readmore{ font-weight:600; font-size:.9rem; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .btn{ transition:none; }
}

/* -------------------- COURSE PILLS -------------------- */
.pill-cloud{ display:flex; flex-wrap:wrap; gap:12px; }
.pill{
  background:#fff; border:1.5px solid var(--marigold); color:var(--indigo);
  padding:10px 18px; border-radius:999px; font-weight:600; font-size:.95rem;
}

/* -------------------- DONATE / SUPPORT -------------------- */
.support{
  background:var(--indigo); color:#fff; border-radius:20px; padding:40px;
  display:grid; grid-template-columns:1fr 1fr; gap:34px;
}
@media (max-width:840px){ .support{ grid-template-columns:1fr; padding:28px; } }
.support h2{ color:#fff; }
.support p{ opacity:.9; }
.support .bank-card{
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.25);
  border-radius:14px; padding:22px;
}
.bank-row{
  display:flex; justify-content:space-between; padding:8px 0;
  border-bottom:1px dashed rgba(255,255,255,.2); font-family:'Inter',sans-serif; font-size:.92rem;
}
.bank-row:last-child{ border-bottom:none; }
.bank-row span:first-child{ opacity:.7; }
.bank-row span:last-child{ font-weight:600; }

/* -------------------- LOCATION / CONTACT -------------------- */
.contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:26px;
}
@media (max-width:840px){ .contact-grid{ grid-template-columns:1fr; } }
.info-card{
  background:var(--cream); border:1px solid var(--paper-line); border-radius:var(--radius); padding:24px;
}
.info-card h3{ margin-bottom:10px; }
.info-card p{ margin:.2em 0; }

/* Contact page: top row = 3 info boxes side by side */
.contact-info-row{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:32px;
}
@media (max-width:900px){ .contact-info-row{ grid-template-columns:1fr; } }
.contact-info-row .info-card{ margin-bottom:0; }

/* Contact page: map + info on the left, form on the right */
.contact-page-grid{
  display:grid; grid-template-columns:1fr 1.05fr; gap:32px; align-items:start;
}
@media (max-width:900px){ .contact-page-grid{ grid-template-columns:1fr; } }
.contact-map-col .info-card{ margin-bottom:18px; }
.contact-map-col .info-card:last-of-type{ margin-bottom:0; }
.contact-map-wrap{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--paper-line);
  margin-bottom:18px; background:var(--cream);
}
.contact-map-wrap iframe{ width:100%; height:100%; min-height:420px; display:block; border:0; }
.contact-form-col .mv-contact-form{ margin-bottom:0; }

/* -------------------- FOOTER -------------------- */
.site-footer{
  background:var(--indigo-deep); color:#EFE6D2; padding:44px 0 20px; 
}
.footer-grid{
  display:grid; grid-template-columns:1.3fr 1fr 1.2fr 1.2fr; gap:30px; margin-bottom:26px;
}
@media (max-width:960px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .footer-grid{ grid-template-columns:1fr; } }
.site-footer h4{
  color:var(--marigold-soft); font-family:'Yatra One',sans-serif; font-size:1.05rem;
  display:flex; align-items:center; gap:8px; margin-bottom:12px;
}
.site-footer a{ color:#EFE6D2; opacity:.85; }
.site-footer a:hover{ opacity:1; color:var(--marigold-soft); }

.ficon{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%;
  background:rgba(226,146,39,.16); border:1px solid rgba(226,146,39,.4);
  font-size:.9rem; flex:none; line-height:1;
}
.site-footer h4 .ficon{ width:30px; height:30px; font-size:1rem; }

.footer-col p{ margin:0 0 10px; opacity:.9; }
.footer-tagline{
  font-family:'Yatra One', sans-serif; color:var(--marigold-soft); font-size:1rem; opacity:1 !important;
  margin-top:14px !important;
}

.footer-line{ display:flex; align-items:flex-start; gap:10px; }
.footer-line .ficon{ margin-top:2px; }

.footer-links{ list-style:none; margin:0; padding:0; }
.footer-links li{ margin-bottom:9px; }
.footer-links a{ display:inline-flex; align-items:center; gap:8px; }
.footer-links a::before{
  content:"›"; color:var(--marigold); font-weight:700; font-size:1.1rem;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.14); padding-top:16px;
  font-size:.85rem; opacity:.8; text-align:center; font-family:'Inter',sans-serif;
  line-height:1.9;
}
.footer-bottom .ficon{ margin-right:4px; vertical-align:middle; }

/* -------------------- GENERIC PAGE / SINGLE CONTENT -------------------- */
.page-content, .entry-content{
  background:#fff; border:1px solid var(--paper-line); border-radius:var(--radius);
  padding:34px; margin:40px auto; max-width:800px;
}
.page-content h1, .entry-content h1{ margin-top:0; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .btn{ transition:none; }
}

/* -------------------- CONTACT FORM -------------------- */
.mv-contact-form{
  max-width:640px; background:#fff; border:1px solid var(--paper-line);
  border-radius:var(--radius); padding:30px; margin-bottom:20px;
}
.form-row{ margin-bottom:18px; }
.form-row label{
  display:block; font-weight:600; margin-bottom:6px; color:var(--indigo); font-size:.94rem;
}
.form-row input, .form-row textarea{
  width:100%; padding:11px 14px; border:1.5px solid var(--paper-line);
  border-radius:8px; font-family:'Hind',sans-serif; font-size:1rem; color:var(--ink);
  background:var(--cream);
}
.form-row input:focus, .form-row textarea:focus{
  outline:none; border-color:var(--marigold);
}
.mv-honeypot{ position:absolute; left:-9999px; top:-9999px; }

.form-notice{
  max-width:640px; padding:14px 18px; border-radius:10px; margin-bottom:20px; font-weight:600;
}
.form-notice-success{ background:#E4F3E6; color:#276B36; border:1px solid #B7DEC0; }
.form-notice-error{ background:#FBE7E5; color:var(--sindoor); border:1px solid #F0C3BE; }

/* -------------------- GALLERY -------------------- */
.mv-gallery-wrap .wp-block-gallery,
.mv-gallery-wrap .gallery{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr));
  gap:16px; list-style:none; margin:0; padding:0;
}
.mv-gallery-wrap .gallery-item{ margin:0; }
.mv-gallery-wrap img{
  border-radius:10px; border:1px solid var(--paper-line); width:100%; height:220px; object-fit:cover;
}

.form-row input::placeholder,
.form-row textarea::placeholder {
    color: var(--indigo);
    font-size: .94rem;
    font-weight: 500;
    opacity: .7;
}

.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-parent > a,
.primary-nav .current_page_item > a,
.primary-nav .current_page_parent > a {
    color: var(--sindoor);
    text-decoration: none;
}
.social-links{
    display:flex;
    gap:12px;
    margin-top:15px;
}

.social-links a{
    width:32px;
    height:32px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:16px;
    text-decoration:none;
    transition:all .3s ease;
}

/* Official Brand Colors */
.social-links .facebook{
    background:#1877F2;
}

.social-links .instagram{
   background: linear-gradient(45deg, #feda75, #fa7e1e, #d62976, #962fbf, #4f5bd5);
}

.social-links .youtube{
    background:#FF0000;
}

.social-links .twitter{
    background:#000000;
}

.social-links .linkedin{
    background:#0A66C2;
}

/* Hover */
.social-links a:hover{
    transform:translateY(-4px) scale(1.08);
    box-shadow:0 8px 18px rgba(0,0,0,.25);
}

/* -------------------- PHOTO GALLERY / DOCUMENTS GRID -------------------- */
.mv-photo-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:6px;
}
@media (max-width:900px){ .mv-photo-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .mv-photo-grid{ grid-template-columns:1fr; } }

.mv-photo-item{
  display:block; border-radius:var(--radius); overflow:hidden; border:1px solid var(--paper-line);
  background:var(--cream); position:relative; aspect-ratio:4/3;
}
.mv-photo-item img{
  width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; transition:transform .35s ease;
}
.mv-photo-item:hover img{ transform:scale(1.06); }
.mv-photo-item .mv-photo-caption{
  position:absolute; left:0; right:0; bottom:0; padding:10px 12px;
  background:linear-gradient(to top, rgba(20,38,64,.85), rgba(20,38,64,0));
  color:#fff; font-size:.82rem; font-family:'Hind', sans-serif;
}

.mv-doc-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:6px;
}
@media (max-width:900px){ .mv-doc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .mv-doc-grid{ grid-template-columns:1fr; } }
.mv-doc-card{
  background:var(--cream); border:1px solid var(--paper-line); border-radius:var(--radius);
  padding:16px; text-align:center;
}
.mv-doc-card .mv-photo-item{ aspect-ratio:3/4; margin-bottom:10px; }
.mv-doc-card h4{ margin:0 0 4px; color:var(--indigo); font-size:.98rem; }
.mv-doc-card p{ margin:0; font-size:.82rem; opacity:.75; }

/* -------------------- LIGHTBOX -------------------- */
.mv-lightbox-overlay{
  position:fixed; inset:0; background:rgba(15,20,30,.94); z-index:9999;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .25s ease;
  padding:40px 20px;
}
.mv-lightbox-overlay.is-open{ opacity:1; visibility:visible; }
.mv-lightbox-figure{ max-width:90vw; max-height:88vh; margin:0; text-align:center; }
.mv-lightbox-img{
  max-width:90vw; max-height:80vh; border-radius:8px; box-shadow:0 10px 40px rgba(0,0,0,.5);
  display:block; margin:0 auto;
}
.mv-lightbox-caption{ color:#EFE6D2; margin-top:14px; font-family:'Hind', sans-serif; font-size:.95rem; }
.mv-lightbox-close, .mv-lightbox-prev, .mv-lightbox-next{
  position:absolute; background:rgba(255,255,255,.12); border:none; color:#fff;
  cursor:pointer; border-radius:50%; display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.mv-lightbox-close:hover, .mv-lightbox-prev:hover, .mv-lightbox-next:hover{ background:rgba(255,255,255,.28); }
.mv-lightbox-close{ top:20px; right:20px; width:44px; height:44px; font-size:1.6rem; line-height:1; }
.mv-lightbox-prev, .mv-lightbox-next{ top:50%; transform:translateY(-50%); width:48px; height:48px; font-size:1.1rem; }
.mv-lightbox-prev{ left:16px; }
.mv-lightbox-next{ right:16px; }
@media (max-width:640px){
  .mv-lightbox-prev, .mv-lightbox-next{ width:38px; height:38px; }
  .mv-lightbox-close{ width:38px; height:38px; top:10px; right:10px; }
}

.brand-logo{
  height:90px;
  width:auto;
  max-width:100%;
}

/* =====================================================================
   RESPONSIVE — FULL-SITE FLUID / SMALL-SCREEN TUNING
   Base rules above already handle most breakpoints; these add:
   - a horizontal scroll safety net
   - tablet-range (601–840px) refinement
   - small phones (≤480px) and very small phones (≤360px)
   - header/brand wrapping so long org name never overflows
   - fluid media (iframes, embeds, tables) on all screens
===================================================================== */

/* Never allow sideways scroll from an oversized child element.
   NOTE: overflow-x is deliberately NOT set on html/body — doing so breaks
   position:sticky on .site-header (it changes body's nearest-scrolling-
   ancestor status, so sticky elements stop sticking). Overflow protection
   is instead applied per-section below, which is just as effective and
   doesn't touch the header's sticky behaviour. */
html{ max-width:100%; }
body{ max-width:100%; }
.hero, .section, .site-footer{ overflow-x:hidden; }

/* Any embed / iframe / video / table scales with its container */
iframe, video, embed, object{ max-width:100%; }
table{ max-width:100%; display:block; overflow-x:auto; }

/* ---------- Tablet range (601px–840px) ---------- */
@media (max-width:840px){
  .container{ padding:0 20px; }
  .section{ padding:44px 0; }
  .hero{ padding:48px 0 32px; }
  .hero-has-slider{ padding:64px 0 44px; }
}

/* ---------- Small phones (≤480px) ---------- */
@media (max-width:480px){
  body{ font-size:15.5px; }
  .container{ padding:0 16px; }
  .section{ padding:36px 0; }
  .section-head{ margin-bottom:22px; }

  h1{ font-size:clamp(1.65rem, 7vw, 2.2rem); }
  h2{ font-size:clamp(1.35rem, 6vw, 1.7rem); }
  h3{ font-size:1.14rem; }

  /* Header: let brand wrap gracefully instead of squeezing */
  .site-header-inner{ padding:10px 16px; gap:10px; }
  .brand{ gap:10px; }
  .brand-logo{ height:65px; }
  .brand-badge{ width:42px; height:42px; font-size:1.1rem; }
  .brand-text .name{ font-size:1rem; line-height:1.25; }
  .brand-text .sub{ font-size:.62rem; }
  .nav-toggle{ padding:6px 10px; font-size:1rem; }
  .primary-nav a{ padding:12px 16px; font-size:.95rem; }

  .hero{ padding:36px 0 26px; text-align:left; }
  .hero-has-slider{ padding:52px 0 36px; }
  .hero-kicker{ font-size:.95rem; }
  .hero p.lede{ font-size:1rem; max-width:none; }
  .hero-actions{ gap:10px; }
  .hero-actions .btn{ flex:1 1 auto; text-align:center; padding:12px 18px; font-size:.95rem; }
  .hero-card{ padding:18px; }

  .care-card{ padding:18px; }
  .care-card .icon{ width:38px; height:38px; }

  .stats-grid{ grid-template-columns:1fr 1fr; gap:14px; padding:24px 16px; border-radius:16px; }
  .stat-number{ font-size:1.7rem; }
  .stat-label{ font-size:.82rem; }

  .team-teaser-card, .team-card{ padding:18px; }
  .testi-card, .info-card, .news-body{ padding:18px; }

  .support{ padding:22px 16px; border-radius:16px; }
  .support .bank-card{ padding:16px; }
  .bank-row{ flex-direction:column; gap:2px; }
  .bank-row span:last-child{ word-break:break-word; }

  .contact-map-wrap iframe{ min-height:260px; }
  .mv-contact-form{ padding:20px; }

  .mv-photo-item{ aspect-ratio:1/1; }
  .mv-doc-card{ padding:12px; }

  .page-content, .entry-content{ padding:20px; margin:24px auto; border-radius:10px; }

  .footer-grid{ gap:24px; }
  .site-footer{ padding:34px 0 16px; }

  .pill{ padding:8px 14px; font-size:.88rem; }
}

/* ---------- Very small phones (≤360px) ---------- */
@media (max-width:360px){
  .brand-text .name{ font-size:.9rem; }
  h1{ font-size:1.5rem; }
  .hero-actions .btn{ font-size:.9rem; padding:11px 14px; }
  .stats-grid{ grid-template-columns:1fr; }
  .stat-card{ padding:6px 0; }
}

/* ---------- Larger desktops: keep content comfortably centered ---------- */
@media (min-width:1440px){
  :root{ --max:1240px; }
}.mv-lightbox-rotate-left,
.mv-lightbox-rotate-right {
	position: fixed;
	bottom: 24px;
	background: rgba(0,0,0,.5);
	color: #fff;
	border: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	font-size: 20px;
	cursor: pointer;
	z-index: 9999;
}
.mv-lightbox-rotate-left  { left: calc(50% - 56px); }
.mv-lightbox-rotate-right { left: calc(50% + 12px); }
.mv-lightbox-img { transition: transform .3s ease; }