/* Sandesh Foundation (sandeshfoundation.artarenastudio.com) — extends the main site's style.css + artful-theme.css */

.header nav a.active{text-decoration:underline;text-underline-offset:6px;color:var(--sun)}
.header nav a.nav-cta{background:var(--sun);color:var(--ink);padding:.5rem .9rem;border-radius:3px;font-weight:700}

.page-hero{padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,8vw,9rem) clamp(2rem,4vw,3rem);background:var(--paper)}
.page-hero h1{font-size:clamp(2.4rem,4.6vw,4.4rem);margin-bottom:.8rem}
.page-hero p{max-width:40rem;font-size:1.05rem;color:#4a463f}

.section-pad{padding:0 clamp(1.25rem,8vw,9rem) clamp(4rem,8vw,7rem)}

.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.4rem;margin-top:1rem}
.tile{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.tile:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(23,24,32,.1)}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee}
.tile .tile-body{padding:1.1rem 1.2rem 1.3rem}
.tile h3{font-size:1.25rem;margin-bottom:.4rem}
.tile p{margin:0;font-size:.92rem;color:#4a463f}
.tile .tag{display:inline-block;font:600 .62rem 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);margin-bottom:.5rem}

.course-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.course-card h3{font-size:1.4rem}
.course-card .meta{display:flex;gap:1rem;flex-wrap:wrap;font:500 .76rem 'DM Mono',monospace;color:#615b56;letter-spacing:.03em}
.course-card .fee{font-weight:700;color:var(--coral);font-size:1.1rem}
.course-card .button{margin-top:.6rem;align-self:flex-start}

.centre-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.4rem 1.5rem}
.centre-card h3{font-size:1.2rem;margin-bottom:.4rem}
.centre-card p{margin:.15rem 0;font-size:.92rem;color:#4a463f}

.gallery-grid{columns:3 220px;column-gap:.9rem}
.gallery-grid figure{margin:0 0 .9rem;break-inside:avoid;border-radius:8px;overflow:hidden;position:relative}
.gallery-grid img,.gallery-grid video{width:100%;display:block}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:.5rem .7rem;background:linear-gradient(0deg,rgba(23,24,32,.75),transparent);color:#fff;font-size:.72rem}

form.site-form{max-width:38rem;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}
form.site-form label{font:600 .72rem 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#4a463f;display:block;margin-bottom:.35rem}
form.site-form input,form.site-form select,form.site-form textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:6px;font:400 .95rem 'DM Sans',sans-serif;background:#fff}
form.site-form textarea{min-height:120px;resize:vertical}
form.site-form button{align-self:flex-start;border:0;cursor:pointer}
.form-note{font-size:.85rem;color:#615b56;margin-top:.4rem}
.flash{padding:.9rem 1.1rem;border-radius:8px;margin-bottom:1.2rem;font-size:.92rem}
.flash.ok{background:#e4f3ef;color:#1d6b5a;border:1px solid #bfe3d6}
.flash.err{background:#fdeceb;color:#9b2d22;border:1px solid #f4c3bd}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.about-grid img{width:100%;border-radius:10px}
@media(max-width:760px){.about-grid{grid-template-columns:1fr}.gallery-grid{columns:2 160px}}

/* ===================== Admin: shared ===================== */
.admin-body{background:var(--paper, #f5f1ea);min-height:100vh}
.btn{display:inline-flex;align-items:center;gap:.35rem;border:0;background:var(--ink, #171820);color:#fff;padding:.62rem 1.1rem;border-radius:7px;cursor:pointer;font:600 .85rem 'DM Sans',Arial,sans-serif;text-decoration:none;transition:transform .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(23,24,32,.18)}
.btn.primary{background:linear-gradient(120deg,var(--coral, #ef5f50),var(--purple, #302478))}
.btn.ghost{background:transparent;color:var(--ink, #171820);border:1.5px solid rgba(23,24,32,.18)}
.btn.ghost:hover{border-color:var(--coral,#ef5f50);color:var(--coral,#ef5f50)}
.btn.danger{background:#c23b2e}
.btn.secondary{background:#615b56}
.btn[type="submit"]{font-size:.85rem}

/* ----- top bar ----- */
.admin-topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,2.2rem);background:linear-gradient(115deg,#1b1747 0%,#31257e 55%,#ec5c55 160%);color:#fff8ec;box-shadow:0 5px 0 var(--sun,#ffc857)}
.admin-topbar .brand{display:flex;align-items:center;gap:.6rem;color:#fff8ec;font:700 .8rem/1.1 'DM Mono',monospace;letter-spacing:.05em}
.admin-topbar .brand img{width:32px;height:32px;border-radius:6px;background:#fff8ec;border:2px solid var(--sun,#ffc857)}
.admin-topbar .brand i{font-style:normal;font-weight:400;opacity:.85}
.admin-topbar-right{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}

/* ----- layout: sidebar + content ----- */
.admin-shell{display:flex;align-items:flex-start;max-width:1300px;margin:0 auto}
.admin-side{width:220px;flex:0 0 220px;padding:1.6rem 1rem;position:sticky;top:0;align-self:flex-start}
.admin-side-group{font:700 .64rem 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#8a8478;margin:1.2rem 0 .4rem;padding-left:.6rem}
.admin-side-group:first-child{margin-top:0}
.admin-side a{display:block;padding:.55rem .6rem;border-radius:7px;font-size:.88rem;color:var(--ink,#171820);margin-bottom:.15rem}
.admin-side a:hover{background:rgba(23,24,32,.06)}
.admin-side a.active{background:#fff;font-weight:700;box-shadow:0 2px 8px rgba(23,24,32,.08);color:var(--coral,#ef5f50)}
.admin-wrap{flex:1;min-width:0;padding:2rem clamp(1rem,3vw,2.2rem) 4rem;font-family:'DM Sans',Arial,sans-serif}
.admin-wrap h1{font-family:'Playfair Display',serif;margin-bottom:1.3rem}
.admin-wrap h3{font-family:'Playfair Display',serif;font-size:1.3rem}
@media(max-width:860px){.admin-shell{flex-direction:column}.admin-side{position:static;width:100%;flex:none;display:flex;flex-wrap:wrap;gap:.3rem;padding:1rem}.admin-side-group{display:none}.admin-side a{margin-bottom:0}}

/* ----- dashboard cards ----- */
.admin-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1.5rem 0}
.admin-card{background:#fff;border:1px solid var(--line, rgba(23,24,32,.12));border-left:4px solid var(--coral,#ef5f50);border-radius:10px;padding:1.2rem}
.admin-card b{display:block;font-size:2.1rem;font-family:'Playfair Display',serif;color:var(--ink,#171820)}

/* ----- tables ----- */
.admin-table{width:100%;border-collapse:collapse;background:#fff;font-size:.88rem;border-radius:10px;overflow:hidden;box-shadow:0 1px 0 rgba(23,24,32,.06)}
.admin-table th,.admin-table td{border-bottom:1px solid var(--line, rgba(23,24,32,.1));padding:.65rem .75rem;text-align:left}
.admin-table th{background:#f5f1ea;font:700 .66rem 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#4a463f}
.admin-table tr:hover td{background:#fbfaf7}
.status-pill{display:inline-block;padding:.22rem .65rem;border-radius:20px;font-size:.72rem;font-weight:700}
.status-new{background:#fdeceb;color:#9b2d22}
.status-contacted,.status-responded{background:#fff3da;color:#8a5a00}
.status-confirmed{background:#e4f3ef;color:#1d6b5a}
.status-enrolled{background:#e6e8fb;color:#302478}
.status-pending{background:#fff3da;color:#8a5a00}
.status-paid{background:#e4f3ef;color:#1d6b5a}
.status-failed{background:#fdeceb;color:#9b2d22}

/* ----- small utilities ----- */
.muted{color:#8a8478;font-size:.85rem}
.admin-topbar-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.admin-card-label{font:700 .64rem 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#8a8478;margin:0 0 .3rem}
.admin-card-value{font-size:2.1rem;font-family:'Playfair Display',serif;color:var(--ink,#171820);margin:0}

/* ----- content form ----- */
.admin-form{display:flex;flex-direction:column;gap:.9rem;max-width:620px;background:#fff;border:1px solid var(--line, rgba(23,24,32,.12));border-radius:10px;padding:1.4rem}
.admin-form label{font:700 .68rem 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#4a463f}
.admin-form input,.admin-form select,.admin-form textarea{display:block;width:100%;margin-top:.35rem;padding:.6rem .7rem;border:1px solid var(--line, rgba(23,24,32,.16));border-radius:6px;font:400 .92rem 'DM Sans',sans-serif;background:#fff}
.admin-actions a,.admin-actions button{font-size:.8rem;margin-right:.5rem}

/* ----- admin login page ----- */
.login-body{background:linear-gradient(135deg,#1b1747 0%,#31257e 55%,#ec5c55 160%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.login-box{background:#fff8ec;padding:2.4rem 2.2rem;border-radius:14px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,.35);text-align:center}
.login-logo{width:56px;height:56px;border-radius:10px;border:2px solid var(--sun,#ffc857);margin-bottom:.8rem}
.login-eyebrow{margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.12em;font:600 .68rem 'DM Mono',monospace;color:#5e299d}
.login-box h1{font-family:'Playfair Display',serif;font-size:1.65rem;margin:0 0 1.3rem}
.login-form{display:flex;flex-direction:column;gap:.3rem;text-align:left}
.login-form label{font:700 .66rem 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#4a463f;margin-top:.6rem}
.login-form input{width:100%;padding:.75rem .85rem;border:1px solid rgba(23,24,32,.18);border-radius:7px;font:400 .95rem 'DM Sans',sans-serif;background:#fff}
.login-submit{justify-content:center;width:100%;margin-top:1.2rem;padding:.8rem 1rem;font-size:.92rem}
.login-back{margin-top:1.2rem;font-size:.82rem}
.login-back a{color:#5e299d;font-weight:600}

/* ===================== Foundation-specific ===================== */
.event-card{background:#fff;border:1px solid var(--line, rgba(23,24,32,.12));border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.event-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#eee}
.event-card .event-body{padding:1.2rem 1.3rem 1.4rem}
.event-date-badge{display:inline-block;font:700 .68rem 'DM Mono',monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--coral,#ef5f50);margin-bottom:.4rem}
.event-card h3{font-size:1.3rem;margin-bottom:.4rem}
.event-card p{margin:0;font-size:.92rem;color:#4a463f}
.event-card .location{font-size:.82rem;color:#615b56;margin-top:.5rem}

.category-tabs{display:flex;gap:1.4rem;flex-wrap:wrap;margin-top:1rem}
.category-tabs a{font-size:.9rem;color:#4a463f}
.category-tabs a.active{font-weight:700;color:var(--coral,#ef5f50);text-decoration:underline;text-underline-offset:5px}

/* ----- donate ----- */
.donate-wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:start}
@media(max-width:860px){.donate-wrap{grid-template-columns:1fr}}
.amount-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:.6rem 0 1rem}
.amount-chip{display:block;text-align:center;padding:.8rem .5rem;border:1.5px solid var(--line, rgba(23,24,32,.16));border-radius:8px;cursor:pointer;font-weight:700;background:#fff}
.amount-chip.selected,.amount-chip:has(input:checked){border-color:var(--coral,#ef5f50);background:rgba(239,95,80,.08);color:var(--coral,#ef5f50)}
.amount-chip input{display:none}
.method-tabs{display:flex;gap:.6rem;margin:1rem 0}
.method-tab{flex:1;text-align:center;padding:.7rem;border-radius:8px;border:1.5px solid var(--line, rgba(23,24,32,.16));cursor:pointer;font-weight:700;font-size:.88rem}
.method-tab.active{border-color:var(--purple,#302478);background:rgba(48,36,120,.06);color:var(--purple,#302478)}
.donate-side{background:#fff;border:1px solid var(--line, rgba(23,24,32,.12));border-radius:10px;padding:1.6rem}
.donate-side h3{font-family:'Playfair Display',serif;margin-bottom:.6rem}
.upi-box{text-align:center;padding:1.2rem;border:1px dashed var(--line, rgba(23,24,32,.25));border-radius:8px;margin:1rem 0}
.upi-box img{max-width:200px;margin-bottom:.6rem}
.upi-box .upi-id{font:700 .95rem 'DM Mono',monospace;color:var(--purple,#302478)}

/* ----- receipt ----- */
.receipt-card{max-width:36rem;margin:0 auto;background:#fff;border:1px solid var(--line, rgba(23,24,32,.12));border-radius:12px;padding:2rem}
.receipt-card h2{font-family:'Playfair Display',serif;margin-bottom:.2rem}
.receipt-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--line, rgba(23,24,32,.1));font-size:.92rem}
.receipt-row b{color:var(--ink,#171820)}
.receipt-amount{font-size:2rem;font-family:'Playfair Display',serif;color:var(--coral,#ef5f50);margin:.6rem 0}
@media print{.header,.admin-topbar,footer,.back-top,.no-print{display:none!important}}

/* ----- admin settings ----- */
.settings-section{background:#fff;border:1px solid var(--line, rgba(23,24,32,.12));border-radius:10px;padding:1.4rem;margin-bottom:1.4rem;max-width:680px}
.settings-section h3{font-family:'Playfair Display',serif;margin-bottom:.9rem}
.settings-section label{display:block;font:700 .68rem 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#4a463f;margin-top:.9rem}
.settings-section input,.settings-section textarea{width:100%;margin-top:.35rem;padding:.6rem .7rem;border:1px solid var(--line, rgba(23,24,32,.16));border-radius:6px;font:400 .92rem 'DM Sans',sans-serif}
.settings-section textarea{min-height:90px}
