:root {
    --ma-navy: #0b1f3a;
    --ma-navy-dark: #061326;
    --ma-turquoise: #1aa9a3;
    --ma-gold: #e6b325;
    --ma-white: #ffffff;
}

body.public-body {
    font-family: "Segoe UI", Tahoma, Arial, sans-serif;
    color: #1f2a3d;
    background-color: var(--ma-white);
}

/* Topbar */
.ma-topbar {
    background-color: var(--ma-navy-dark);
    color: #cdd6e3;
    font-size: .85rem;
}
.ma-topbar a { color: #cdd6e3; text-decoration: none; }
.ma-topbar a:hover { color: var(--ma-gold); }

/* Header */
.ma-header {
    background-color: var(--ma-navy);
    padding: .75rem 0;
    position: sticky;
    top: 0;
    z-index: 1030;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.ma-header .navbar-brand {
    color: var(--ma-white) !important;
    font-weight: 800;
    font-size: 1.4rem;
}
.ma-header .navbar-brand small {
    display: block;
    font-size: .65rem;
    color: var(--ma-gold);
    font-weight: 400;
}
.ma-header .nav-link {
    color: #e3e8ef !important;
    font-weight: 600;
    padding: .5rem 1rem !important;
}
.ma-header .nav-link:hover,
.ma-header .nav-link.active {
    color: var(--ma-gold) !important;
}
.btn-whatsapp {
    background-color: #25d366;
    border-color: #25d366;
    color: #fff !important;
    font-weight: 700;
}
.btn-whatsapp:hover { background-color: #1ebe5b; color: #fff; }

/* Hero */
.ma-hero {
    background-color: var(--ma-navy);
    background-image: linear-gradient(135deg, rgba(11,31,58,.55) 0%, rgba(6,19,38,.75) 100%), url("/images/public/hero-master-academy.svg?v=2");
    background-size: cover;
    background-position: center;
    color: var(--ma-white);
    padding: 5rem 0 6rem;
    position: relative;
    overflow: hidden;
}
.ma-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(26,169,163,.25), transparent 60%);
}
.ma-hero-logo {
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 4px 12px rgba(0,0,0,.4));
}
.ma-hero .display-4 { font-weight: 800; position: relative; z-index: 1; }
.ma-hero .lead-en {
    color: var(--ma-gold);
    font-weight: 600;
    letter-spacing: .03em;
}
.ma-hero .slogan {
    color: #cdd6e3;
    font-size: 1.15rem;
}
.ma-hero .btn-gold {
    background-color: var(--ma-gold);
    border-color: var(--ma-gold);
    color: var(--ma-navy-dark);
    font-weight: 700;
}
.ma-hero .btn-gold:hover { background-color: #f0c244; color: var(--ma-navy-dark); }
.ma-hero .btn-outline-light:hover { color: var(--ma-navy); }

/* Sections */
.ma-section { padding: 4rem 0; }
.ma-section-alt { background-color: #f6f8fb; }
.ma-section-title {
    font-weight: 800;
    color: var(--ma-navy);
    margin-bottom: .5rem;
}
.ma-section-subtitle {
    color: var(--ma-turquoise);
    font-weight: 600;
    text-transform: uppercase;
    font-size: .8rem;
    letter-spacing: .08em;
}

.ma-feature-card {
    border: none;
    border-radius: 1rem;
    padding: 1.75rem 1.25rem;
    text-align: center;
    height: 100%;
    background: var(--ma-white);
    box-shadow: 0 4px 18px rgba(11,31,58,.08);
    transition: transform .15s ease;
}
.ma-feature-card:hover { transform: translateY(-4px); }

/* بطاقة معلومات عادية لمحتوى مُكدَّس (Stacked) — بلا height:100% حتى لا تتسبب
   في تضخم دائري عند تكرارها كأشقاء داخل عمود واحد (خلافاً لـ .ma-feature-card
   المصمَّمة أصلاً لعناصر شبكة متساوية الارتفاع بجانب بعضها). */
.ma-info-card {
    border: none;
    border-radius: 1rem;
    padding: 1.5rem 1.5rem;
    background: var(--ma-white);
    box-shadow: 0 4px 18px rgba(11,31,58,.08);
}
.ma-feature-icon {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ma-turquoise), var(--ma-navy));
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem;
    margin: 0 auto 1rem;
}

.ma-teacher-card {
    border: none;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(11,31,58,.08);
    height: 100%;
}
.ma-teacher-photo {
    width: 100%; height: 220px; object-fit: cover;
    background-color: #e9edf2;
}
.ma-teacher-photo-placeholder {
    width: 100%; height: 220px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--ma-navy), var(--ma-turquoise));
    color: #fff; font-size: 3rem; font-weight: 800;
}

.ma-badge-gold {
    background-color: var(--ma-gold);
    color: var(--ma-navy-dark);
    font-weight: 700;
}

.ma-schedule-table th { background-color: var(--ma-navy); color: #fff; }

.ma-placeholder-box {
    border: 2px dashed #c9d3e0;
    border-radius: 1rem;
    padding: 3rem 1.5rem;
    text-align: center;
    color: #6c7a91;
    background: #f9fafc;
}

.ma-gallery-img {
    width: 100%; height: 220px; object-fit: cover;
    border-radius: .75rem;
}

/* Footer */
.ma-footer {
    background-color: var(--ma-navy-dark);
    color: #cdd6e3;
    padding: 3rem 0 1.5rem;
}
.ma-footer h6 { color: var(--ma-gold); font-weight: 700; }
.ma-footer a { color: #cdd6e3; text-decoration: none; }
.ma-footer a:hover { color: var(--ma-gold); }
.ma-footer .footer-bottom {
    border-top: 1px solid rgba(255,255,255,.1);
    margin-top: 2rem;
    padding-top: 1.25rem;
    font-size: .85rem;
    color: #8d99ad;
}
.ma-footer .admin-entry-link {
    color: #5c6a80;
    font-size: .78rem;
}
.ma-footer .admin-entry-link:hover {
    color: var(--ma-turquoise);
}

/* Floating WhatsApp button */
.ma-whatsapp-float {
    position: fixed;
    bottom: 20px;
    inset-inline-end: 20px;
    z-index: 1040;
    background-color: #25d366;
    color: #fff;
    width: 56px; height: 56px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem;
    box-shadow: 0 4px 14px rgba(0,0,0,.25);
}
.ma-whatsapp-float:hover { color: #fff; }

@media (max-width: 767.98px) {
    .ma-hero { padding: 3rem 0 4rem; text-align: center; }
    .ma-section { padding: 2.5rem 0; }
}
