/* =========================================================  SITEMAP PAGE  ========================================================= */
.sitemap-card h3{margin-bottom:12px;}
.sitemap-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.sitemap-list a{display:block;color:var(--txt);text-decoration:none;font-weight:700;padding:8px 10px;border-radius:10px;background:rgba(15,81,50,.06);border:1px solid rgba(15,81,50,.10);}
.sitemap-list a:hover{background:rgba(15,81,50,.12);color:var(--g1);}

/* =========================================================   GOOGLE CALENDAR   ========================================================= */
.calendar-wrap{margin:18px auto 0; max-width:1100px;   /* controls width */ border-radius:16px; overflow:hidden; border:1px solid var(--border); box-shadow:0 10px 25px rgba(0,0,0,.06);}
.calendar-frame{width:100%; height:760px; border:0; display:block;}
@media(max-width:768px){.calendar-wrap{max-width:100%; border-radius:14px;} .calendar-frame{height:620px;}}

/* =========================================================   GOOGLE REVIEWS   ========================================================= */
.reviews-wrap{max-width:1000px;     /* controls width */ margin:18px auto; padding:0;}
@media(max-width:768px){.reviews-wrap{max-width:100%; margin:14px auto;}}

/* =========================================================   FAQ   ========================================================= */
.faq-toolbar{padding:22px 0 8px;}
.faq-toolbar-card{display:grid; gap:18px; padding:22px;}
.faq-toolbar-top{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px;}
.faq-toolbar-top p{margin:0; color:var(--muted);}
.faq-search-wrap{position:relative;}
.faq-search{width:100%; min-height:56px; border-radius:16px; border:1px solid rgba(15,23,42,.12); background:#fff; padding:0 18px 0 52px; font:inherit; font-size:1rem; color:#0f172a; box-shadow:0 10px 24px rgba(15,23,42,.06); transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;}
.faq-search:focus{outline:none; border-color:#198754; box-shadow:0 14px 32px rgba(25,135,84,.14);}
.faq-search-icon{position:absolute; left:16px; top:50%; transform:translateY(-50%); pointer-events:none; font-size:1.05rem; opacity:.7;}
.faq-search-clear{position:absolute; right:10px; top:50%; transform:translateY(-50%); border:none; background:transparent; font:inherit; font-size:.92rem; color:#198754; cursor:pointer; padding:8px 10px; border-radius:10px; display:none;}
.faq-search-clear.show{display:inline-flex; align-items:center; justify-content:center;}
.faq-filter-row{display:flex; flex-wrap:wrap; gap:10px;}
.faq-filter-btn{appearance:none; border:1px solid rgba(15,23,42,.1); background:#fff; color:#0f172a; border-radius:999px; padding:10px 14px; font:inherit; font-size:.95rem; line-height:1; cursor:pointer; transition:all .2s ease; box-shadow:0 8px 20px rgba(15,23,42,.05);}
.faq-filter-btn:hover,.faq-filter-btn:focus{outline:none; transform:translateY(-1px); border-color:rgba(25,135,84,.35); box-shadow:0 12px 24px rgba(25,135,84,.10);}
.faq-filter-btn.active{background:linear-gradient(135deg, #0f5132, #198754); color:#fff; border-color:transparent;}
.faq-filter-count{opacity:.72; margin-left:6px; font-size:.85em;}
.faq-updated{color:var(--muted); font-size:.95rem;}
.faq-accordion{display:grid; gap:14px;}
.faq-item{border-radius:22px; border:1px solid rgba(15,23,42,.08); background:#fff; box-shadow:0 12px 28px rgba(15,23,42,.05); overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; scroll-margin-top:110px;}
.faq-item:hover{transform:translateY(-2px); border-color:rgba(25,135,84,.22); box-shadow:0 18px 34px rgba(15,23,42,.08);}
.faq-item.active{border-color:rgba(25,135,84,.30); box-shadow:0 20px 38px rgba(25,135,84,.10);}
.faq-question{width:100%; border:none; background:transparent; padding:20px 22px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; text-align:left; cursor:pointer; font:inherit;}
.faq-question:focus{outline:none;}
.faq-item:focus-within{border-color:rgba(25,135,84,.34); box-shadow:0 0 0 4px rgba(25,135,84,.08), 0 18px 34px rgba(15,23,42,.08);}
.faq-question-main{display:flex; align-items:flex-start; gap:14px; min-width:0; flex:1;}
.faq-question-icon{flex:0 0 auto; width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(15,81,50,.08); color:#0f5132; font-weight:700; font-size:.95rem; margin-top:1px;}
.faq-question-text{min-width:0; flex:1;}
.faq-question-text h3{margin:0; font-size:1.06rem; line-height:1.45; color:#0f172a;}
.faq-question-sub{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px;}
.faq-mini-tag{display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:999px; background:rgba(2,132,199,.08); color:#0c4a6e; font-size:.82rem; font-weight:700; line-height:1;}
.faq-toggle{flex:0 0 auto; width:42px; height:42px; border-radius:999px; background:rgba(15,23,42,.04); display:inline-flex; align-items:center; justify-content:center; position:relative; transition:background .2s ease, transform .2s ease;}
.faq-toggle::before,.faq-toggle::after{content:""; position:absolute; background:#0f5132; border-radius:999px; transition:transform .2s ease, opacity .2s ease;}
.faq-toggle::before{width:16px; height:2px;}
.faq-toggle::after{width:2px; height:16px;}
.faq-item.active .faq-toggle{background:rgba(25,135,84,.10); transform:rotate(180deg);}
.faq-item.active .faq-toggle::after{opacity:0; transform:scaleY(.4);}
.faq-answer{display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease;}
.faq-item.active .faq-answer{grid-template-rows:1fr;}
.faq-answer-inner{min-height:0; overflow:hidden;}
.faq-answer-content{padding:0 22px 22px 74px; color:#334155; line-height:1.75; border-top:1px solid rgba(15,23,42,.06); margin-top:0;}
.faq-answer-content .faq-answer-text{margin-top:16px;}
.faq-more-link{color:#198754; text-decoration:none; font-weight:700;}
.faq-more-link:hover{text-decoration:underline;}
.faq-no-results{display:none; padding:16px 0 0;}
.faq-no-results.show{display:block;}
.faq-no-results-card{padding:28px; text-align:center;}
.faq-no-results-card h3{margin:0 0 10px;}
.faq-no-results-card p{margin:0 auto 16px; max-width:660px; color:var(--muted);}
.faq-empty-card{padding:28px; text-align:center;}
.faq-empty-card h2{margin-top:0;}
mark.faq-highlight{background:#fff3bf; color:inherit; padding:0 .12em; border-radius:.2em;}

/* =========================================================   QURAN PAGE   ========================================================= */
.quran-tools{padding:10px 0 26px;}
.quran-panel{background:rgba(255,255,255,.95); border-radius:24px; padding:22px; box-shadow:var(--shadow);}
.quran-controls{display:grid; grid-template-columns:1.2fr .8fr .8fr auto; gap:14px; align-items:end;}
.quran-field label{display:block; font-weight:700; margin-bottom:6px;}
.quran-field select{width:100%; padding:12px; border-radius:14px; border:1px solid #dbe4ea;}
.quran-btn{padding:12px 18px; border-radius:999px; border:none; background:linear-gradient(135deg,var(--nav),var(--nav2)); color:#fff; font-weight:700; cursor:pointer;}
.quran-reader{padding:20px 0 80px;}
.surah-header{background:linear-gradient(135deg,rgba(20,83,45,.96),rgba(22,163,74,.92)); color:#fff; border-radius:24px; padding:26px; margin-bottom:24px;}
.surah-arabic-name{font-family:'Amiri','Noto Naskh Arabic',serif; font-size:2rem; direction:rtl;}
.verses-list{display:grid; gap:18px;}
.verse-card{background:#fff; border-radius:22px; padding:22px; box-shadow:var(--shadow);}
.verse-arabic{font-family:'Amiri','Noto Naskh Arabic',serif; font-size:2rem; direction:rtl; text-align:right; color:#065f46; margin:10px 0 14px;}

/* =========================================================   ADVISORY / NOTICE   ========================================================= */
.notice-card{background:#fff; border-radius:18px; box-shadow:0 10px 30px rgba(0,0,0,.08); padding:28px;}
.notice-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:30px; align-items:center;}
.notice-title{margin:10px 0;}
.notice-text{color:var(--muted); margin-bottom:12px;}
.notice-image img{width:100%; border-radius:14px; box-shadow:0 6px 20px rgba(0,0,0,.12);}
.notice-actions{margin-top:15px;}

/* ========================================================= FACEBOOK SECTION ========================================================= */
.facebook-section{padding:34px 0;}
.facebook-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start;}
.facebook-main,.facebook-notes{background:transparent;border:0;box-shadow:none;padding:0;}
.facebook-main h2,.facebook-notes h2{margin:0 0 10px;color:var(--nav);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.15;}
.facebook-main p,.facebook-notes p{margin:0;color:var(--muted);line-height:1.75;font-size:1rem;}
.section-badge{display:inline-block;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.facebook-embed{margin-top:18px;padding:10px;border-radius:18px;background:rgba(255,255,255,.55);border:1px solid rgba(15,81,50,.08);}
.facebook-info-list{margin-top:18px;display:grid;gap:16px;}
.facebook-info-item{padding:0 0 0 16px;border-left:4px solid #16a34a;}
.facebook-info-item h3{margin:0 0 5px;color:var(--nav);font-size:1rem;}
.facebook-info-item p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.6;}

@media(max-width:768px){
.facebook-section{padding:26px 0;}
.facebook-layout{grid-template-columns:1fr;gap:24px;}
.facebook-main,.facebook-notes{text-align:center;}
.facebook-info-item{padding:0 0 14px;border-left:0;border-bottom:1px solid rgba(15,81,50,.12);}
}
/* =========================================================   BOOKS / LIBRARY   ========================================================= */
.books-shell{max-width:1100px; margin:0 auto; padding:32px 20px 56px;}
.books-grid{display:grid; grid-template-columns:1fr 320px; gap:24px; align-items:start;}
.book-sidebar{display:grid; gap:18px;}
.book-actions{display:grid; gap:12px;}
.book-btn{display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:12px 16px; border-radius:12px; text-decoration:none; font-weight:700; transition:.2s ease;}
.book-btn.primary{background:linear-gradient(135deg, #16a34a, #22c55e); color:#fff;}
.book-btn.secondary{background:rgba(255,255,255,.8); color:var(--text); border:1px solid rgba(22,163,74,.18);}
.book-btn:hover{transform:translateY(-1px);}
.book-list{margin:0; padding-left:18px; line-height:1.8;}
.muted-sm{font-size:.95rem; opacity:.88;}
.library-preview{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-top:18px;}
.library-tile{padding:16px; border-radius:16px; background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,250,252,.95)); border:1px solid rgba(22,163,74,.12); box-shadow:0 10px 24px rgba(15,23,42,.06);}
.library-tile h4{margin:0 0 6px; font-size:1rem;}
.library-tile p{margin:0; font-size:.95rem; line-height:1.65; color:var(--muted);}
.books-note{margin-top:18px; padding:14px 16px; border-left:4px solid #22c55e; background:rgba(34,197,94,.08); border-radius:12px;}
.books-note p{margin:0;}

/* =========================================================   FOUNDERS   ========================================================= */
.founders-section{padding:70px 0;}
.founders-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;}
.founders-image{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.14);}
.founders-image img{width:100%;height:100%;min-height:440px;object-fit:cover;}
.founders-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.55), transparent 45%);}
.founders-caption{position:absolute;left:18px;bottom:18px;z-index:3;color:#fff;font-size:.92rem;background:rgba(255,255,255,.14);padding:10px 14px;border-radius:999px;backdrop-filter:blur(6px);}
.founders-content{max-width:620px;}
.founders-content h2{font-size:2.2rem;margin:10px 0 18px;line-height:1.15;}
.founders-quote{font-size:1.12rem;color:#166534;font-style:italic;font-weight:600;line-height:1.8;padding-left:18px;border-left:4px solid #22c55e;margin-bottom:22px;}
.founders-story{display:grid;gap:16px;}
.founders-story p{margin:0;color:#475569;line-height:1.9;font-size:1rem;}
.founders-names{margin-top:26px;display:grid;gap:14px;}
.founder{padding:16px 18px;border-radius:16px;background:#fff;border:1px solid rgba(34,197,94,.14);box-shadow:0 10px 24px rgba(0,0,0,.05);}
.founder strong{display:block;font-size:1.02rem;color:#0f172a;}
.founder span{color:#64748b;}
@media(max-width:900px){
.founders-grid{grid-template-columns:1fr;gap:26px;}
.founders-image img{min-height:380px;}
.founders-content{max-width:none;}
.founders-content h2{font-size:1.7rem;text-align:center;}
.founders-content .section-tag{display:table;margin:0 auto;}
.founders-quote{font-size:1rem;}
}

/* =========================================================   EVENT META / MAP / VISIT   ========================================================= */
.event-meta-block{margin:12px 0 12px; display:grid; gap:12px;}
.event-org-section,.event-partners-section{background:#f8fafc; border:1px solid rgba(34,197,94,.15); border-radius:16px; padding:8px 8px;}
.event-meta-label{font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#15803d; margin-bottom:6px;}
.event-org-row{display:flex; align-items:center; gap:10px;}
.event-partners-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:10px;}
.event-partner-card{display:flex; align-items:center; gap:10px; background:#ffffff; border:1px solid rgba(15,23,42,.08); border-radius:12px; padding:10px;}
.event-meta-logo{width:40px; height:40px; object-fit:contain; border-radius:10px; background:#fff; border:1px solid rgba(15,23,42,.08); padding:4px; flex-shrink:0;}
.event-meta-name{font-size:10px; font-weight:600; color:#0f172a; line-height:1.35;}

.map-embed iframe{width:100%; height:480px; border:0; border-radius:16px; box-shadow:var(--shadow);}
.visit-card{padding:28px;}
.visit-wrap{display:grid; grid-template-columns:1.2fr .8fr; gap:30px; align-items:center;}
.visit-map iframe{width:100%; height:350px; border:0; border-radius:14px; box-shadow:0 8px 24px rgba(0,0,0,.08);}

.map-card--narrow{max-width:760px;margin:0 auto;padding:16px;}
.map-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.map-header h2{margin:0;font-size:18px;}
.map-header .badge{font-size:10px;padding:4px 8px;}
.map-embed iframe{width:100%;height:300px;border:0;border-radius:12px;}
.map-embed iframe{box-shadow:0 6px 18px rgba(0,0,0,.08);}
.map-card{padding:18px 18px 16px;}
.map-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.map-header h2{margin:0;font-size:18px;}
.map-header .badge{font-size:10px;padding:4px 8px;}
.map-embed iframe{width:100%;height:320px;border:0;border-radius:14px;}

/* =========================================================   DONATION METHODS   ========================================================= */
.methods-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; align-items:stretch;}
.methods-grid .method{height:100%;}
.method{border:1px solid var(--border); border-radius:16px; padding:18px; background:#fff; display:flex; flex-direction:column; gap:10px; transition:.15s ease;}
.method:hover{transform:translateY(-3px); box-shadow:0 16px 40px rgba(2,8,23,.15);}
.method h3{margin:0;}
.action{display:inline-flex; align-items:center; justify-content:center; padding:10px 12px; border-radius:12px; border:1px solid var(--border); background:#fff; font-weight:700; text-decoration:none; color:inherit;}
.action.primary{background:linear-gradient(180deg,var(--accent),var(--accent2)); color:#062014; border-color:transparent;}
.action:hover{filter:brightness(.98);}
.copyline{display:flex; gap:10px; align-items:center; flex-wrap:wrap;}
.code{font-weight:700; padding:8px 10px; border-radius:12px; border:1px dashed rgba(2,8,23,.25); background:#fff;}

/* =========================================================   PRAYER APP   ========================================================= */
.app-download{display:flex; align-items:center; gap:16px; flex-wrap:wrap; justify-content:center; background:#f8f8f8; border-radius:12px; padding:16px 20px; margin:20px auto; max-width:700px;}
.app-logo{max-width:60px; height:auto;}
.app-text{text-align:center; max-width:320px;}
.app-text strong{display:block; font-size:1.1rem;}
.app-text span{font-size:.9rem; color:#555;}
.app-buttons{display:flex; gap:12px;}
.app-download a{padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:700; font-size:15px; color:#fff; display:inline-flex; align-items:center; gap:6px;}
.btn-ios{background:#000;}
.btn-android{background:#3ddc84; color:#0b3d1f;}
.app-download a:hover{opacity:.9;}