/*
Theme Name: MRJPS Marathi Pension
Theme URI: https://mrjps.org/
Author: MRJPS Website Project
Description: Responsive Marathi-first theme for MRJPS.org. Requires MRJPS Core plugin for registration and content management.
Version: 1.0.2
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: mrjps-theme
*/
:root{--navy:#12345b;--blue:#1c5a91;--orange:#e58b2a;--green:#287d55;--ink:#172638;--muted:#5b6878;--bg:#f4f7fb;--white:#fff;--border:#dce4ee;--radius:16px;--shadow:0 8px 24px rgba(18,52,91,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans Devanagari","Nirmala UI",sans-serif;line-height:1.7;font-size:16px}a{color:#4A2C20;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.site-header{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.topbar{background:var(--navy);color:#fff;font-size:14px}.wrap{width:min(1160px,92%);margin:auto}.topbar .wrap{display:flex;gap:16px;justify-content:space-between;padding:7px 0;flex-wrap:wrap}.topbar a{color:#fff}.brand-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font-weight:800;font-size:clamp(18px,2.4vw,26px)}.brand-mark{display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:12px;width:48px;height:48px;font-size:20px}.brand small{display:block;font-size:12px;color:var(--muted);font-weight:500}.nav-row{border-top:1px solid var(--border)}.nav-row .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}.main-nav{display:flex;flex-wrap:wrap;gap:3px;padding:7px 0}.main-nav a{padding:8px 10px;border-radius:8px;color:#4A2C20;font-weight:600;font-size:14px}.main-nav a:hover,.main-nav .current-menu-item>a{background:#eaf2fb;text-decoration:none}.menu-toggle{display:none;border:1px solid var(--border);background:white;border-radius:8px;padding:8px 12px}.lang-switch{display:flex;gap:6px;align-items:center;font-size:14px;white-space:nowrap}.lang-switch a{padding:5px 8px;border-radius:6px}.lang-switch .active{background:var(--navy);color:#fff}.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff;border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none}.button:hover{filter:brightness(.95);text-decoration:none}.button-blue{background:var(--navy)}.hero{background:linear-gradient(115deg,#12345b,#1d5b8c);color:#fff;padding:clamp(40px,7vw,84px) 0}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:center}.hero h1{font-size:clamp(30px,4.6vw,52px);line-height:1.18;margin:0 0 18px}.hero p{font-size:clamp(16px,2vw,20px);max-width:720px;color:#e5eef8}.hero-card{background:#fff;color:var(--ink);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.hero-card h3{margin-top:0;color:var(--navy)}.section{padding:46px 0}.section-white{background:#fff}.section-title{color:var(--navy);font-size:clamp(24px,3vw,34px);margin:0 0 8px}.section-intro{color:var(--muted);max-width:800px;margin:0 0 24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card h3{margin:0 0 8px;color:var(--navy);font-size:20px}.card p{margin:0 0 16px;color:var(--muted)}.card-icon{font-size:25px;margin-bottom:10px}.updates{display:grid;grid-template-columns:1fr 1fr;gap:22px}.update-list{list-style:none;margin:0;padding:0}.update-list li{padding:14px 0;border-bottom:1px solid var(--border)}.update-list small{display:block;color:var(--muted)}.checklist{padding-left:24px}.checklist li{margin:8px 0}.cta{background:#eaf2fb;border:1px solid #cbdced;border-radius:20px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:22px}.site-footer{background:#102b4a;color:#e8f0f7;padding:36px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.site-footer a{color:#fff}.site-footer h3{color:#fff}.copyright{border-top:1px solid #FFFFFF;margin-top:25px;padding-top:15px;font-size:13px;color:#FFFFF}.content-area{background:#fff;border:1px solid var(--border);border-radius:16px;padding:clamp(20px,4vw,40px);margin:32px auto;max-width:1000px}.content-area h1,.content-area h2,.content-area h3{color:var(--navy)}.content-area table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.content-area th,.content-area td{border:1px solid var(--border);padding:10px;text-align:left;min-width:120px}.content-area th{background:#eaf2fb}.notice{border-left:4px solid var(--orange);background:#fff7ed;padding:14px 18px;border-radius:8px}.mrjps-form{display:grid;gap:18px}.form-section{border:1px solid var(--border);border-radius:14px;padding:20px}.form-section h2{font-size:21px;margin:0 0 15px;color:var(--navy)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-weight:700;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #b9c6d5;border-radius:8px;padding:11px;font:inherit;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #d4e7fb;border-color:var(--blue)}.field small{display:block;color:var(--muted)}.required{color:#b42318}.form-message{padding:14px;border-radius:10px;background:#e7f7ee;color:#14532d}.table-scroll{overflow-x:auto}.mrjps-table{border-collapse:collapse;width:100%;background:#fff}.mrjps-table th,.mrjps-table td{padding:10px;border:1px solid var(--border);text-align:left}.mrjps-table th{background:#eaf2fb}.badge{display:inline-block;background:#e7f7ee;color:#14532d;padding:3px 8px;border-radius:999px;font-size:12px}.screen-reader-text{position:absolute;left:-9999px}.error-404{text-align:center;padding:60px 0}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.main-nav a{font-size:13px;padding:7px}.hero-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.topbar .wrap{justify-content:center}.brand-row{flex-wrap:wrap}.brand{font-size:18px}.brand-mark{width:42px;height:42px}.nav-row .wrap{display:block;padding:8px 0}.menu-toggle{display:inline-flex}.main-nav{display:none;flex-direction:column;padding:8px 0}.main-nav.is-open{display:flex}.main-nav a{display:block;font-size:15px;padding:10px}.nav-tools{display:flex;justify-content:space-between;align-items:center}.cards,.updates,.form-grid,.footer-grid{grid-template-columns:1fr}.section{padding:32px 0}.cta{display:block}.cta .button{margin-top:12px}.content-area{margin:16px auto}.form-section{padding:14px}.hero{padding:38px 0}}
.hero-card p,
.hero-card li,
.hero-card span,
.hero-card small,
.hero-card div {
    color: #172638 !important;
}




/* MRJPS Menu Design 3 — warm orange highlight */
.site-header .nav-row {
    background: #fff7ed;
    border-top: 1px solid #fed7aa;
    border-bottom: 1px solid #fed7aa;
}
.site-header .nav-row > .wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}
.site-header .nav-tools {
    order: 2;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.site-header nav.main-nav {
    order: 1;
    display: flex !important;
    flex: 1 1 auto;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: space-between;
    gap: 2px;
    min-width: 0;
    padding: 7px 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

 .site-header nav.main-nav > li {
    display: block;
    flex: 0 0 auto;
    list-style: none !important;
    margin: 0;
    padding: 0;

	
.site-header nav.main-nav > a,
.site-header nav.main-nav > li > a {
    display: block;
    flex: 0 0 auto;
    padding: 9px 9px;
    border-radius: 8px;
    color: #4A2C20;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.45;
    white-space: nowrap;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.site-header nav.main-nav > a:hover,
.site-header nav.main-nav > li > a:hover,
.site-header nav.main-nav .current-menu-item > a,
.site-header nav.main-nav .current_page_item > a {
    background: #C58A52 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    box-shadow: 0 3px 8px rgba(197, 138, 82, .22);
}
.site-header .nav-tools .button {
    white-space: nowrap;
    padding: 10px 14px;
    font-size: 13px;
    background: #f97316;
    color: #fff;
    border-radius: 9px;
}
.site-header .nav-tools .button:hover {
    background: #ea580c;
    color: #fff;
    text-decoration: none;
}
@media (min-width: 641px) and (max-width: 1150px) {
    .site-header nav.main-nav > a,
    .site-header nav.main-nav > li > a {
        padding-left: 5px;
        padding-right: 5px;
        font-size: 11px;
    }
    .site-header .nav-tools .button {
        padding: 8px 9px;
        font-size: 11px;
    }
}
@media (max-width: 640px) {
    .site-header .nav-row > .wrap {
        display: block !important;
        padding: 8px 0;
    }
    .site-header .nav-tools {
        display: flex;
        justify-content: space-between;
        padding: 0;
    }
    .site-header nav.main-nav {
        display: none !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        overflow: visible;
        padding: 8px 0;
    }
    .site-header nav.main-nav.is-open {
        display: flex !important;
    }
    .site-header nav.main-nav > a,
    .site-header nav.main-nav > li > a {
        font-size: 15px;
        padding: 10px 12px;
    }
}


/* MRJPS Menu Design 3 — wrap menu instead of horizontal scrolling */
@media (min-width: 641px) {
  .site-header .nav-row > .wrap {
    align-items: flex-start !important;
  }
  .site-header nav.main-nav {
    flex-wrap: wrap !important;
    overflow: visible !important;
    overflow-x: visible !important;
    scrollbar-width: none !important;
    justify-content: flex-start !important;
    align-content: flex-start;
    row-gap: 4px;
    min-width: 0;
  }
  .site-header nav.main-nav > li {
    flex: 0 0 auto;
  }
  .site-header nav.main-nav > a,
  .site-header nav.main-nav > li > a {
    white-space: nowrap;
  }
}


.mrjps-topbar-inner {
    position: relative !important;
    min-height: 44px;
}

.mrjps-org-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    line-height: 1.35;
    white-space: nowrap;
}

.mrjps-org-title strong {
    font-size: 17px;
    font-weight: 700;
}

.mrjps-org-title span {
    font-size: 12px;
}

@media (max-width: 700px) {
    .mrjps-topbar-inner {
        padding-bottom: 8px;
    }

    .mrjps-org-title {
        position: static;
        transform: none;
        order: 3;
        width: 100%;
        white-space: normal;
    }

    .mrjps-org-title strong {
        font-size: 15px;
    }
}

/* MRJPS: Shared full-width layout for all standard pages */
body .mrjps-page-fullwidth,
body .mrjps-page-article,
body .mrjps-page-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Page title: clean, without a surrounding card */
body .mrjps-page-heading {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 28px 24px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body .mrjps-page-inner {
    width: min(1180px, calc(100% - 32px));
    margin-left: auto;
    margin-right: auto;
}

body .mrjps-page-heading h1 {
    margin: 0;
    color: #12345b;
}

/* Readable text width; full-width sections remain full width */
body .mrjps-page-content > p,
body .mrjps-page-content > h2,
body .mrjps-page-content > h3,
body .mrjps-page-content > ul,
body .mrjps-page-content > ol {
    width: min(1180px, calc(100% - 32px));
    margin-left: auto;
    margin-right: auto;
}

body .mrjps-page-content > .alignfull {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

body .mrjps-page-content > .alignwide {
    width: min(1300px, 100%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 640px) {
    body .mrjps-page-heading {
        padding: 22px 16px;
    }

    body .mrjps-page-inner {
        width: calc(100% - 30px);
    }
}

