:root{--green:#315c49;--green-dark:#244536;--sage:#e8eee7;--cream:#faf7f0;--sand:#eee5d7;--gold:#c69b55;--ink:#26332c;--muted:#6e786f;--white:#fff;--radius:18px;--shadow:0 14px 38px rgba(35,55,43,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:var(--green-dark);color:#e8eee7;font-size:12px}.topbar-inner{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.site-header{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 3px 18px rgba(0,0,0,.04)}.header-inner{min-height:86px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{max-height:56px;width:auto}.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--green);font-size:28px}.brand strong{display:block;font:600 18px "Playfair Display",serif;color:var(--green-dark)}.brand small{display:block;color:var(--muted);font-size:11px}.main-nav ul,.language-switcher ul{display:flex;list-style:none;gap:22px;margin:0;padding:0}.main-nav a{font-size:13px;font-weight:600}.main-nav a:hover,.text-link{color:var(--green)}.header-tools{display:flex;align-items:center;gap:15px}.language-switcher ul{gap:8px;font-size:12px}.language-switcher .current-lang a{color:var(--gold);font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--gold);color:#fff;border-radius:999px;padding:13px 24px;font-weight:700;font-size:13px;transition:.2s}.button:hover{background:#ad8242;transform:translateY(-1px);color:#fff}.button-small{padding:10px 18px}.button-outline{background:transparent;border:1px solid rgba(255,255,255,.65)}.button-light{background:#fff;color:var(--green-dark)}.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--green)}.hero{min-height:560px;position:relative;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(27,55,42,.93),rgba(27,55,42,.62)),url('../images/hero-mosque.svg') center/cover}.hero-content{position:relative;z-index:2;padding:95px 0}.hero h1{font:600 clamp(42px,6vw,68px)/1.12 "Playfair Display",serif;margin:18px 0}.hero h1 em{color:#e5c78f;font-style:normal}.hero p{max-width:540px;color:#e7ece7;font-size:17px}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.hero-pattern{position:absolute;right:5%;bottom:0;width:260px;height:250px;opacity:.13;background:radial-gradient(circle at 50% 100%,transparent 36%,#fff 37%,transparent 38%),repeating-linear-gradient(45deg,transparent 0 15px,#fff 16px 17px)}.eyebrow{display:block;text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-size:10px;font-weight:700}.eyebrow.light{color:#e8c98f}.section{padding:88px 0}.welcome-section{background:var(--cream)}.welcome-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.section h2,.welcome-grid h2,.cta-inner h2{font:600 clamp(30px,4vw,42px)/1.2 "Playfair Display",serif;color:var(--green-dark);margin:12px 0 16px}.welcome-grid p{color:var(--muted);max-width:570px}.welcome-art{min-height:320px;background:var(--sage);border-radius:48% 48% 18px 18px;display:grid;place-items:center;padding:30px}.arch{width:75%;height:260px;border:2px solid rgba(49,92,73,.25);border-radius:50% 50% 8px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--green);background:rgba(255,255,255,.5)}.arch span{font-size:26px}.arch strong{font:30px "Playfair Display",serif;margin:10px}.arch small{font-size:11px}.prayer-section{background:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-heading.centered{display:block;text-align:center}.section-heading p{color:var(--muted);margin:0}.prayer-widget{max-width:920px;margin:0 auto;background:var(--cream);border:1px solid var(--sand);padding:25px;border-radius:var(--radius);text-align:center}.prayer-placeholder{padding:22px}.prayer-placeholder strong{font:22px "Playfair Display",serif;color:var(--green)}.prayer-placeholder a{color:var(--green);font-weight:700}.source-note{font-size:11px;color:var(--muted);margin:12px 0 0}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.content-card{border:1px solid #eee9e1;border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:.25s}.content-card:hover{transform:translateY(-5px)}.card-image{display:block;height:190px;background:var(--sage);overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.content-card:hover .card-image img{transform:scale(1.04)}.image-placeholder{height:100%;display:grid;place-items:center;color:var(--green);font:22px "Playfair Display",serif;background:linear-gradient(135deg,#e5ece4,#f4ebdb)}.card-body{padding:20px}.card-body h3{font:600 20px/1.25 "Playfair Display",serif;margin:8px 0}.card-body p{font-size:13px;color:var(--muted)}.text-link{font-size:13px;font-weight:700}.gallery-section{background:var(--cream)}.cta-section{background:var(--green-dark);color:#fff;padding:65px 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-inner h2{color:#fff}.cta-inner p{color:#d8e0d9;margin:0}.site-footer{background:#1d3429;color:#dbe3dc;padding:55px 0 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:55px;padding-bottom:40px}.footer-brand{font:600 24px "Playfair Display",serif;color:#fff}.site-footer h4{color:#e6c88f;margin:0 0 12px}.site-footer p,.site-footer a{font-size:13px;color:#dbe3dc}.site-footer ul{list-style:none;margin:0;padding:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;font-size:11px;color:#aebdb2}.page-hero{background:var(--cream);padding:65px 0}.page-hero h1{font:600 clamp(36px,5vw,52px) "Playfair Display",serif;color:var(--green-dark);margin:8px 0}.page-hero p{color:var(--muted)}.prose{max-width:850px}.prose p{color:#59665d}.prose h2,.prose h3{font-family:"Playfair Display",serif;color:var(--green-dark)}.page-featured{width:100%;max-height:480px;object-fit:cover;border-radius:var(--radius);margin-bottom:25px}.empty-note{padding:30px;background:var(--cream);border-radius:var(--radius);color:var(--muted);text-align:center}.modal-backdrop{display:none;position:fixed;inset:0;background:rgba(15,30,22,.65);z-index:99;align-items:center;justify-content:center;padding:20px}.modal-backdrop.is-open{display:flex}.modal-card{background:#fff;max-width:520px;width:100%;padding:30px;border-radius:20px;position:relative}.modal-card img{width:100%;max-height:200px;object-fit:cover;border-radius:12px}.modal-card h2{font:26px "Playfair Display",serif;color:var(--green)}.modal-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px;cursor:pointer}.pagination{margin-top:35px}
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .header-inner{flex-direction:row-reverse}html[dir="rtl"] .brand{margin-left:auto;margin-right:0}html[dir="rtl"] .section-heading,html[dir="rtl"] .cta-inner{direction:rtl}
@media(max-width:980px){.main-nav{display:none;position:absolute;top:86px;left:0;right:0;background:#fff;padding:18px 24px;box-shadow:var(--shadow)}.main-nav.is-open{display:block}.main-nav ul{display:flex;flex-direction:column;gap:12px}.menu-toggle{display:block}.header-tools{margin-left:0}.card-grid{grid-template-columns:repeat(2,1fr)}.welcome-grid{gap:35px}.topbar-inner span:last-child{display:none}}
@media(max-width:640px){.container{width:min(100% - 30px,1160px)}.header-inner{min-height:74px;gap:12px}.brand strong{font-size:15px}.brand small{display:none}.brand-mark{width:40px;height:40px}.header-tools .button{display:none}.main-nav{top:74px}.hero{min-height:500px}.hero-content{padding:75px 0}.hero h1{font-size:43px}.section{padding:62px 0}.welcome-grid{grid-template-columns:1fr}.welcome-art{min-height:260px}.arch{height:210px}.section-heading,.cta-inner{align-items:flex-start;flex-direction:column}.card-grid{grid-template-columns:1fr}.card-image{height:220px}.footer-grid{grid-template-columns:1fr;gap:25px}.prayer-widget{padding:12px}}

.donation-panel{margin-top:35px;padding:30px;background:var(--cream);border:1px solid var(--sand);border-radius:var(--radius)}.donation-method{padding:18px 0;border-bottom:1px solid var(--sand)}.donation-method h3{margin:0 0 8px}.qris-image{max-width:300px;display:block;background:#fff;padding:12px;border-radius:12px}.confirm-note{margin-top:20px;font-weight:700}

/* Prayer timetable */
.prayer-widget{max-width:980px;text-align:left;padding:0;overflow:hidden}.prayer-panel{background:var(--cream);border:1px solid var(--sand);border-radius:var(--radius);padding:24px}.prayer-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:4px 2px 22px;border-bottom:1px solid var(--sand)}.prayer-panel-head>div:first-child{display:flex;flex-direction:column;gap:3px}.prayer-date{font-size:12px;color:var(--muted)}.prayer-panel-head strong{font:600 23px "Playfair Display",serif;color:var(--green-dark)}.prayer-panel-head small{font-size:12px;color:var(--muted)}.prayer-next{min-width:220px;padding:13px 17px;border-radius:12px;background:var(--green-dark);color:#fff;display:flex;flex-direction:column;gap:3px}.prayer-next span,.prayer-next small{font-size:11px;color:#e0e8e1}.prayer-next strong{font:600 17px "DM Sans",sans-serif;color:#fff}.prayer-next small b{color:#f0d39c;font-variant-numeric:tabular-nums}.prayer-times-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0}.prayer-time-card{display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:1px solid #eee8dc;border-radius:12px;padding:15px 8px}.prayer-time-card span{font-size:12px;color:var(--muted)}.prayer-time-card strong{font:600 25px "DM Sans",sans-serif;color:var(--green-dark);font-variant-numeric:tabular-nums}.prayer-time-card.is-next{border-color:var(--gold);background:#fffaf0}.prayer-time-card.is-next span{color:#98713a;font-weight:700}.prayer-attribution{border-top:1px solid var(--sand);padding-top:13px;font-size:10px;line-height:1.6;color:var(--muted)}.prayer-attribution a{color:var(--green);text-decoration:underline}.prayer-error{padding:28px 12px;color:#775b31;text-align:center}.prayer-widget .prayer-error{background:#fff8e9;border-radius:12px}@media(max-width:640px){.prayer-panel{padding:16px}.prayer-panel-head{align-items:stretch;flex-direction:column}.prayer-next{min-width:0}.prayer-times-grid{grid-template-columns:repeat(2,1fr);gap:9px}.prayer-time-card{padding:12px 6px}.prayer-time-card strong{font-size:22px}.prayer-attribution{font-size:9px}}
