/* 🌐 Base & RTL */
.mosque-widget-wrapper { direction: rtl; text-align: right; font-family: inherit; }

/* 🏠 Hero */
.mosque-hero { position: relative; min-height: 85vh; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; }
.hero-overlay { position: absolute; inset: 0; }
.hero-content { position: relative; z-index: 2; max-width: 900px; padding: 2rem; color: #fff; text-align: center; }
.hero-pre { font-size: 0.9rem; letter-spacing: 2px; margin-bottom: 1rem; opacity: 0.9; }
.hero-title { font-size: 2.8rem; margin: 0.5rem 0; line-height: 1.3; }
.hero-subtitle { color: #d4af37; margin: 0.5rem 0; font-size: 1.5rem; }
.hero-desc { font-size: 1.1rem; line-height: 1.8; margin: 1.5rem auto; max-width: 750px; }
.hero-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-top: 2rem; }
.hero-btn-primary { padding: 14px 28px; background: #d4af37; color: #111; text-decoration: none; border-radius: 6px; font-weight: bold; transition: 0.3s; }
.hero-btn-secondary { padding: 14px 28px; border: 1px solid #fff; color: #fff; text-decoration: none; border-radius: 6px; transition: 0.3s; }
.hero-scroll { margin-top: 3rem; font-size: 0.85rem; opacity: 0.7; animation: heroPulse 2s infinite; }
@keyframes heroPulse { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }

/* 📖 Story */
.story-box { padding: 4rem 2rem; border-radius: 12px; }
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; max-width: 1100px; margin: 0 auto; }
.story-label { font-size: 0.85rem; color: #888; letter-spacing: 1px; }
.story-heading { font-size: 2rem; margin: 0.5rem 0 1rem; }
.story-line { width: 50px; height: 3px; margin-bottom: 1.5rem; }
.story-quote { font-style: italic; font-size: 1.1rem; border-right: 4px solid #d4af37; padding-right: 1rem; margin: 1rem 0; color: #555; }
.story-para { line-height: 1.8; margin-bottom: 1rem; color: #444; }
.story-img-wrap { border-radius: 10px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.1); }
.story-img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ℹ️ Info */
.info-box { padding: 3rem; border-radius: 12px; text-align: center; }
.info-heading { font-size: 2.2rem; margin-bottom: 2rem; }
.info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; max-width: 1000px; margin: 0 auto; }
.info-card { background: #fafafa; padding: 1.5rem; border-radius: 10px; text-align: right; }
.info-icon { width: 45px; height: 45px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; margin-bottom: 0.8rem; background: #f0e8d8; }
.info-label { font-size: 0.85rem; color: #888; margin-bottom: 0.3rem; }
.info-value { font-weight: bold; color: #333; }

/* 🏛️ Architecture */
.arch-section { padding: 4rem 1rem; text-align: center; }
.arch-heading { font-size: 2.2rem; margin-bottom: 2.5rem; }
.arch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; max-width: 1000px; margin: 0 auto; }
.arch-item { padding: 2rem; border-radius: 10px; text-align: right; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.arch-num { display: inline-block; width: 40px; height: 40px; background: #d4af37; color: #fff; border-radius: 50%; text-align: center; line-height: 40px; margin-bottom: 1rem; }
.arch-title { margin: 0 0 0.5rem; font-size: 1.3rem; }
.arch-desc { line-height: 1.7; color: #555; margin: 0; }

/* 🧱 Materials */
.mat-section { padding: 4rem 1rem; }
.mat-heading { font-size: 2.2rem; text-align: center; margin-bottom: 2.5rem; }
.mat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; max-width: 1000px; margin: 0 auto; }
.mat-card { padding: 2rem; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.mat-title { margin: 0 0 1rem; font-size: 1.4rem; }
.mat-desc { line-height: 1.7; color: #555; margin-bottom: 1.5rem; }
.mat-stats { display: flex; gap: 1rem; flex-wrap: wrap; }
.mat-stat { background: #e8e0d0; padding: 0.5rem 1rem; border-radius: 6px; font-size: 0.85rem; font-weight: bold; }

/* 🌿 Sustainability */
.sus-section { padding: 4rem 1rem; }
.sus-heading { font-size: 2.2rem; text-align: center; margin-bottom: 2.5rem; }
.sus-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; max-width: 1000px; margin: 0 auto; }
.sus-card { background: #fff; padding: 1.5rem; border-radius: 10px; text-align: center; box-shadow: 0 3px 10px rgba(0,0,0,0.05); }
.sus-icon { font-size: 2.5rem; margin-bottom: 0.5rem; }
.sus-title { margin: 0.5rem 0; font-size: 1.2rem; }
.sus-desc { line-height: 1.6; color: #555; font-size: 0.95rem; }

/* 🖼️ Gallery */
.gallery-section { padding: 4rem 1rem; text-align: center; }
.gallery-heading { font-size: 2.2rem; margin-bottom: 2.5rem; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; max-width: 1100px; margin: 0 auto; }
.gal-item { border-radius: 10px; overflow: hidden; position: relative; cursor: pointer; transition: 0.3s; }
.gal-item:hover .gal-img { transform: scale(1.05); }
.gal-img { width: 100%; height: 250px; object-fit: cover; display: block; transition: 0.4s; }
.gal-caption { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(0,0,0,0.7)); padding: 1rem; color: #fff; font-weight: bold; }

/* 📜 Plaque */
.plaque-box { padding: 4rem 2rem; text-align: center; max-width: 800px; margin: 2rem auto; border-radius: 12px; box-shadow: 0 6px 20px rgba(0,0,0,0.2); }
.plaque-pre { font-size: 0.9rem; letter-spacing: 1px; opacity: 0.8; margin-bottom: 1.5rem; }
.plaque-main { font-size: 1.2rem; line-height: 2; margin-bottom: 2rem; white-space: pre-line; }
.plaque-divider { border-top: 1px solid rgba(255,255,255,0.2); padding-top: 1.5rem; margin-top: 1.5rem; }
.plaque-date { font-weight: bold; letter-spacing: 1px; }
.plaque-poem { font-style: italic; margin: 1.5rem 0 1rem; opacity: 0.9; }
.plaque-poet { font-size: 0.9rem; opacity: 0.7; }

/* 🦶 Footer */
.mosque-footer { padding: 3rem 1rem; text-align: center; }
.footer-title { margin: 0 0 0.5rem; font-size: 1.4rem; color: #fff; }
.footer-desc { margin: 0 0 1rem; opacity: 0.8; }
.footer-copyright { font-size: 0.85rem; opacity: 0.6; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1rem; }

/* 📱 Responsive */
@media (max-width: 768px) {
    .story-grid { grid-template-columns: 1fr; }
    .hero-title { font-size: 2rem; }
    .mosque-hero { min-height: 70vh; }
    .gallery-grid { grid-template-columns: 1fr; }
}