/* ==========================================================================
   Bamyan HSE — component styles
   ========================================================================== */

/* ---------- Top bar ---------- */
.topbar{background:var(--navy);color:#B9C6DE;font-size:.85rem;}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;flex-wrap:wrap;gap:6px;}
.topbar__contact{display:flex;gap:22px;align-items:center;}
.topbar__contact a{color:#DCE4F2;display:inline-flex;align-items:center;gap:6px;}
.topbar__contact a:hover{color:var(--gold-light);}
.topbar__contact svg{width:14px;height:14px;}
.topbar__region{font-weight:500;letter-spacing:.3px;color:var(--gold-light);}

/* ---------- Header ---------- */
.site-header{background:var(--white);box-shadow:0 2px 10px rgba(11,37,69,.06);position:sticky;top:0;z-index:100;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:24px;}
.site-branding img{height:52px;width:auto;}
.main-navigation{flex:1;display:flex;justify-content:center;}
.main-navigation ul{display:flex;gap:30px;list-style:none;margin:0;padding:0;}
.main-navigation a{
  font-family:var(--font-display);font-weight:600;letter-spacing:.3px;
  color:var(--navy);font-size:1.02rem;text-transform:uppercase;padding:6px 2px;position:relative;
}
.main-navigation a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--orange);transition:width .18s ease;}
.main-navigation a:hover::after{width:100%;}
.site-header__cta{display:flex;gap:10px;}
.btn--sm{padding:9px 18px;font-size:.85rem;}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.menu-toggle span{width:26px;height:3px;background:var(--navy);border-radius:2px;}

@media (max-width:960px){
  .main-navigation{
    position:fixed;inset:0 0 0 auto;width:280px;background:var(--navy);
    transform:translateX(100%);transition:transform .25s ease;padding:90px 24px 24px;z-index:200;
  }
  .main-navigation.is-open{transform:translateX(0);}
  .main-navigation ul{flex-direction:column;gap:20px;}
  .main-navigation a{color:var(--white);}
  .menu-toggle{display:flex;}
  .site-header__cta .btn:first-child{display:none;}
}

/* ---------- Hero ---------- */
.hero{position:relative;color:var(--white);overflow:hidden;}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.55);}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,37,69,.93) 0%,rgba(11,37,69,.72) 55%,rgba(47,111,237,.38) 100%);}
.hero__inner{position:relative;padding:120px 24px 100px;max-width:760px;}
.hero__title{color:var(--white);margin-bottom:.4em;}
.hero__subtitle{font-size:1.2rem;color:#E7ECF4;max-width:560px;}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px;}
.hero__actions.center{justify-content:center;}

@media (max-width:640px){ .hero__inner{padding:80px 20px 60px;} }

/* ---------- Page hero (interior pages) ---------- */
.page-hero{background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--white);padding:70px 0 46px;}
.page-hero h1{color:var(--white);}
.page-hero p{color:#C4D0E5;max-width:680px;font-size:1.1rem;}
.page-hero .eyebrow{color:var(--gold-light);}
.page-hero .eyebrow::before{background:var(--gold-light);}

/* ---------- Intro / two-col ---------- */
.intro,.inspection-preview{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.intro__points{list-style:none;padding:0;margin:0 0 28px;}
.intro__points li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;}
.intro__points svg{color:var(--orange);flex:none;margin-top:3px;}
.intro__image img,.inspection-preview__image img{border-radius:var(--radius);box-shadow:var(--shadow-lg);}
@media (max-width:900px){ .intro,.inspection-preview{grid-template-columns:1fr;} .inspection-preview{ }
  .inspection-preview .inspection-preview__image{order:2;} }

/* ---------- Course grid / card ---------- */
.course-card{display:flex;flex-direction:column;}
.course-card__image{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--off-white);}
.course-card__image img{width:100%;height:100%;object-fit:cover;}
.course-card__badge{position:absolute;top:12px;insetInlineStart:12px;left:12px;background:var(--orange);color:#fff;font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:4px;}
.course-card__body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1;}
.course-card__title{font-size:1.15rem;margin:0;}
.course-card__title a{color:var(--navy);}
.course-card__excerpt{color:var(--steel-light);font-size:.92rem;margin:0;flex:1;}
.course-card__meta{display:flex;gap:14px;font-size:.85rem;color:var(--steel-light);}
.course-card__meta span{display:inline-flex;align-items:center;gap:6px;}
.section-cta{margin-top:36px;}
.empty-state{color:var(--steel-light);text-align:center;padding:40px;grid-column:1/-1;}

/* ---------- Category grid ---------- */
.category-tile{
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius);
  padding:22px 12px;transition:all .18s ease;color:var(--navy);
}
.category-tile:hover{background:var(--navy);color:var(--white);transform:translateY(-3px);box-shadow:var(--shadow);}
.category-tile__icon{color:var(--orange);}
.category-tile:hover .category-tile__icon{color:var(--gold-light);}
.category-tile__label{font-family:var(--font-display);font-weight:600;font-size:.92rem;letter-spacing:.2px;}

/* ---------- GCC flags ---------- */
.gcc-flags{display:flex;justify-content:center;flex-wrap:wrap;gap:34px;list-style:none;padding:0;margin:0;}
.gcc-flag{display:flex;flex-direction:column;align-items:center;gap:10px;}
.gcc-flag img{border-radius:3px;box-shadow:0 2px 8px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);}
.gcc-flag span{font-family:var(--font-display);font-weight:600;font-size:.9rem;letter-spacing:.2px;color:var(--gold-light);}

/* ---------- Value cards ---------- */
.value-card{padding:30px 24px;text-align:center;}
.value-card__icon{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--navy-tint);color:var(--orange);margin-bottom:16px;}
.value-card h3{margin-bottom:8px;}

/* ---------- Inspection preview ---------- */
.inspection-preview__text .eyebrow{color:var(--orange);}

/* ---------- Certificate CTA banner ---------- */
.cert-cta__inner{max-width:640px;margin:0 auto;text-align:center;}
.cert-cta__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--navy);color:var(--gold-light);margin-bottom:18px;}
.cert-cta__inner .btn{margin-top:10px;}

/* ---------- Contact preview cards (home) ---------- */
.contact-card{padding:28px;text-align:center;}
.contact-card__icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--navy-tint);color:var(--navy);margin-bottom:12px;}
.contact-card a{font-weight:600;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:#B9C6DE;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:56px 24px 40px;}
.footer__brand p{color:#9FB0CC;font-size:.92rem;margin:14px 0 18px;}
.footer__gcc-mini{display:flex;gap:8px;list-style:none;padding:0;margin:0;flex-wrap:wrap;}
.footer__gcc-mini img{border-radius:2px;}
.footer__col h4{color:var(--white);font-size:1.05rem;margin-bottom:16px;}
.footer__menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.footer__menu a{color:#B9C6DE;}
.footer__menu a:hover{color:var(--gold-light);}
.footer__contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.footer__contact-list li{display:flex;gap:10px;align-items:flex-start;color:#B9C6DE;font-size:.92rem;}
.footer__contact-list a{color:#DCE4F2;}
.footer__contact-list a:hover{color:var(--gold-light);}
.footer__col .btn{margin-top:14px;}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);}
.footer__bottom-inner{display:flex;justify-content:space-between;padding:18px 24px;font-size:.82rem;color:#8593AF;flex-wrap:wrap;gap:6px;}
@media (max-width:900px){ .footer__grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .footer__grid{grid-template-columns:1fr;} .footer__bottom-inner{flex-direction:column;text-align:center;} }

/* ---------- Courses archive layout ---------- */
.courses-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start;}
.courses-filter{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:sticky;top:100px;}
.courses-filter h3{font-size:1.1rem;margin-bottom:14px;}
.courses-filter__list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:4px;}
.courses-filter__list a{display:block;padding:8px 10px;border-radius:4px;color:var(--steel);font-size:.94rem;}
.courses-filter__list li.is-active a,.courses-filter__list a:hover{background:var(--navy);color:var(--white);}
.courses-filter__cta{border-top:1px solid var(--border);padding-top:18px;}
.courses-filter__cta p{font-size:.88rem;margin-bottom:10px;color:var(--steel-light);}
@media (max-width:900px){ .courses-layout{grid-template-columns:1fr;} .courses-filter{position:static;} }

/* ---------- Single course ---------- */
.breadcrumb{font-size:.85rem;color:#C4D0E5;margin-bottom:14px;}
.breadcrumb a{color:#C4D0E5;text-decoration:underline;}
.course-hero__tags{display:flex;gap:8px;margin-bottom:14px;}
.tag{background:rgba(255,255,255,.12);color:var(--gold-light);font-size:.78rem;font-family:var(--font-display);font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:5px 12px;border-radius:20px;}
.course-hero{background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);color:var(--white);padding:60px 0 40px;}
.course-hero h1{color:var(--white);max-width:800px;}
.course-hero__lead{color:#C4D0E5;max-width:720px;font-size:1.1rem;}
.course-layout{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start;}
.course-main__image{border-radius:var(--radius);overflow:hidden;margin-bottom:32px;box-shadow:var(--shadow);}
.course-main__content h2{margin-top:0;}
.course-outline{margin-top:36px;}
.course-outline__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;}
.course-outline__list li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;}
.course-outline__list svg{color:var(--orange);flex:none;margin-top:3px;}
.course-certificate-info{display:flex;gap:16px;background:var(--navy-tint);border-radius:var(--radius);padding:20px;margin-top:32px;}
.course-certificate-info__icon{color:var(--gold);flex:none;}
.course-certificate-info h3{margin-bottom:6px;}
.course-sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:20px;}
.course-facts,.course-help{padding:24px;}
.course-facts__list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:16px;}
.course-fact{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;}
.course-fact__icon{color:var(--orange);flex:none;}
.course-facts .btn{margin-top:10px;}
.course-help a{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.92rem;}
@media (max-width:900px){ .course-layout{grid-template-columns:1fr;} .course-sidebar{position:static;} .course-outline__list{grid-template-columns:1fr;} }

/* ---------- Certificate verification ---------- */
.verify-panel{max-width:640px;margin:0 auto 40px;background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius);padding:36px;}
.cert-verify__form label{display:block;font-family:var(--font-display);font-weight:600;margin-bottom:8px;}
.cert-verify__row{display:flex;gap:12px;}
.cert-verify__row input{flex:1;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;}
.cert-verify__result{margin-top:24px;}
.cert-result{border-radius:var(--radius);padding:20px;}
.cert-result--success{background:#EAF6EC;border:1px solid #B9E2C0;}
.cert-result--error{background:#FBEAEA;border:1px solid #F0BEBE;color:#8A2A2A;}
.cert-result dl{display:grid;grid-template-columns:140px 1fr;gap:8px 14px;margin:12px 0 0;}
.cert-result dt{font-weight:600;color:var(--steel-light);}
.cert-result dd{margin:0;}
.verify-help{max-width:640px;margin:0 auto;text-align:center;}
.verify-help .hero__actions{justify-content:center;}

/* ---------- Contact page ---------- */
.contact-layout{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:start;}
.contact-details{display:flex;flex-direction:column;gap:16px;}
.contact-detail-card{display:flex;gap:14px;padding:18px;align-items:flex-start;}
.contact-detail-card span{color:var(--orange);flex:none;margin-top:2px;}
.contact-detail-card h3{font-size:1rem;margin-bottom:4px;}
.contact-detail-card p,.contact-detail-card a{font-size:.94rem;margin:0;}
.contact-form-wrap{background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius);padding:36px;}
.form-row--2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-family:var(--font-display);font-weight:600;margin-bottom:6px;font-size:.92rem;}
.form-field input,.form-field textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:.96rem;background:var(--white);}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--orange);border-color:var(--orange);}
.form-notice{padding:14px 18px;border-radius:var(--radius);margin-bottom:20px;font-size:.94rem;}
.form-notice--success{background:#EAF6EC;border:1px solid #B9E2C0;color:#1E5B2A;}
.form-notice--error{background:#FBEAEA;border:1px solid #F0BEBE;color:#8A2A2A;}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}
@media (max-width:900px){ .contact-layout{grid-template-columns:1fr;} .form-row--2{grid-template-columns:1fr;} }

/* ---------- Misc ---------- */
.center{text-align:center;}
.skip-link{position:fixed;top:-100px;left:10px;background:var(--navy);color:var(--white);padding:10px 16px;z-index:999;border-radius:4px;}
.skip-link:focus{top:10px;}

/* ---------- Course category filter (homepage) ---------- */
.course-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:36px;}
.course-filter__btn{
  font-family:var(--font-display);font-weight:600;font-size:.88rem;letter-spacing:.3px;
  padding:9px 18px;border-radius:999px;border:1.5px solid var(--border);background:var(--white);
  color:var(--steel);cursor:pointer;transition:all .15s ease;text-transform:uppercase;
}
.course-filter__btn:hover{border-color:var(--orange);color:var(--orange);}
.course-filter__btn.is-active{background:var(--navy);border-color:var(--navy);color:var(--white);}

/* ---------- Expandable course details ---------- */
.course-card__facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px 16px;padding:0;margin:0;font-size:.82rem;color:var(--steel-light);}
.course-card__facts li{display:inline-flex;align-items:center;gap:5px;}
.course-card__facts svg{width:15px;height:15px;}
.course-card__toggle{margin-top:auto;}
.course-card__details{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);font-size:.9rem;}
.course-card__details p{margin:0 0 10px;}
.course-card__outline{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:6px;}
.course-card__outline li{display:flex;gap:8px;align-items:flex-start;}
.course-card__outline svg{color:var(--orange);flex:none;margin-top:2px;width:15px;height:15px;}

/* ---------- Why Choose Us / Mission-Vision grid spacing ---------- */
.mission-vision-grid{margin-top:48px;}
.services-subheading{margin:44px 0 22px;font-size:1.3rem;color:var(--navy);}
.services-subheading:first-of-type{margin-top:0;}

/* ---------- CEO section ---------- */
.ceo-section{background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);color:#DCE4F2;}
.ceo-section__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;}
.ceo-section__photo img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;height:auto;aspect-ratio:8/9;object-fit:cover;}
.ceo-section .eyebrow{color:var(--gold-light);}
.ceo-section .eyebrow::before{background:var(--gold-light);}
.ceo-section__quote p{color:#DCE4F2;font-size:1.08rem;line-height:1.75;}
.ceo-section__quote p:first-of-type{font-family:var(--font-display);font-size:1.3rem;color:var(--white);}
.ceo-section__signature{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;gap:2px;}
.ceo-section__name{font-family:var(--font-display);font-size:1.15rem;color:var(--white);}
.ceo-section__name-ar{font-size:1.1rem;color:var(--gold-light);}
.ceo-section__title{font-size:.9rem;color:#AEC0DD;margin-top:4px;}
@media (max-width:900px){ .ceo-section__inner{grid-template-columns:1fr;} .ceo-section__photo{max-width:320px;margin:0 auto;} }

/* ---------- Footer social links ---------- */
.footer__social{display:flex;gap:14px;list-style:none;padding:0;margin:14px 0 0;}
.footer__social a{color:#B9C6DE;font-size:.85rem;font-weight:600;}
.footer__social a:hover{color:var(--gold-light);}
