/* === Theme variables (Bootstrap 5 friendly) === */
:root{
  --app-bg: #102733;
  --app-orange: #FCCD00;
  --app-blue-light: #6F84FF;
  --app-blue: #29404E;
  --app-dark: #29404E;
  --app-pink: #D12D77;

  /* Bootstrap variable mapping */
  --bs-body-bg: var(--app-bg);
  --bs-body-color: #e9f1f6;
  --bs-primary: var(--app-orange);
  --bs-secondary: var(--app-blue);
  --bs-info: var(--app-blue-light);
  --bs-danger: var(--app-pink);
  --bs-dark: var(--app-dark);
}

/* === Base === */
html { scroll-behavior: smooth; }
body{
  padding-top:70px;
  background-color: var(--app-bg);
  color: var(--bs-body-color);
  font-family: "Cairo", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
  line-height: 1.6;
}
a { color: #d8e7ff; text-decoration: none; }
a:hover { color: #ffffff; }

/* === Navbar (dark) === */
.navbar{
  background-color: #0e2330;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.navbar .nav-link{ color:#cfe3f7; }
.navbar .nav-link:hover, .navbar .nav-link.active{ color:#fff; }

/* === Buttons === */
.btn-brand{
  --bs-btn-bg: var(--app-orange);
  --bs-btn-border-color: var(--app-orange);
  --bs-btn-hover-bg: #e6be00;
  --bs-btn-hover-border-color: #e6be00;
  --bs-btn-color: #101418;
}
.btn-outline-brand{
  --bs-btn-color: var(--app-orange);
  --bs-btn-border-color: var(--app-orange);
  --bs-btn-hover-bg: var(--app-orange);
  --bs-btn-hover-border-color: var(--app-orange);
  --bs-btn-hover-color: #101418;
}

/* === Cards / sections === */
.card{
  background-color: #142c39;
  border-color: rgba(255,255,255,.08);
}
.hero{
  background:
    radial-gradient(1200px 400px at 80% -100px, rgba(111,132,255,.25), transparent),
    radial-gradient(1200px 400px at 0% 0%, rgba(252,205,0,.15), transparent);
}

/* === Utilities === */
.text-brand{ color: var(--app-orange)!important; }
.text-blue{ color: var(--app-blue)!important; }
.text-blue-light{ color: var(--app-blue-light)!important; }
.text-pink{ color: var(--app-pink)!important; }
.bg-app{ background-color: var(--app-bg)!important; }

/* === Footer === */
.footer{
  border-top: 1px solid rgba(255,255,255,.08);
  background-color: #0e2330;
  color: #cfe3f7;
}

/* === Responsiveness === */
@media (max-width: 575.98px){
  .display-5, .display-6{ font-size: 1.75rem; }
  .hero .lead{ font-size: 1rem; }
}

.navbar .navbar-toggler {
  border-color: rgba(255,255,255,.25);
}
.navbar .navbar-toggler-icon {
  filter: invert(1) grayscale(100%);
}

.card { border-radius: .75rem; }
@media (max-width: 575.98px){
  .display-5, .display-6{ font-size: 1.75rem; }
  .hero .lead{ font-size: 1rem; }
  .card .card-body { padding: 1rem; }
}

section.py-5 { padding-top: 2.75rem !important; padding-bottom: 2.75rem !important; }

/* Auth pages look */
.auth-wrap{max-width:560px;margin-inline:auto}
.auth-card{background:#142c39;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.auth-hero{background:radial-gradient(900px 280px at 80% -100px, rgba(111,132,255,.25), transparent),
                      radial-gradient(900px 280px at 0% 0%, rgba(252,205,0,.15), transparent)}
.form-control,.form-select{background:#173141;color:#e9f1f6;border-color:rgba(255,255,255,.1)}
.form-control:focus,.form-select:focus{background:#1a3a4f;color:#fff;border-color:#2e89ff;box-shadow:0 0 0 .2rem rgba(111,132,255,.25)}
.btn-brand{--bs-btn-bg:#FCCD00;--bs-btn-border-color:#FCCD00;--bs-btn-hover-bg:#e6be00;--bs-btn-hover-border-color:#e6be00;--bs-btn-color:#101418}
.btn-outline-brand{--bs-btn-color:#FCCD00;--bs-btn-border-color:#FCCD00;--bs-btn-hover-bg:#FCCD00;--bs-btn-hover-border-color:#FCCD00;--bs-btn-hover-color:#101418}

/* ===== Footer style (website) ===== */
.footer-cta{
  background: #d7e7ff; /* light ribbon background */
}
.footer-cta .badge.bg-soft-pill{
  background: #fff;
  color: #0b1a26;
  padding: .75rem 1rem;
  border-radius: 8px;
  font-weight: 600;
}

/* Footer container */
.site-footer{
  background-color: #0f2233; /* deep navy like the screenshot */
  color: #d8e7f6;
}
.site-footer .footer-title{
  color:#ffffff;
  margin-bottom:.75rem;
  font-weight:700;
  letter-spacing:.2px;
}
.site-footer .footer-brand{
  color:#ffffff;
  font-weight:800;
  letter-spacing:.5px;
  text-transform: lowercase; /* to resemble "privacy" wordmark */
}
.site-footer .footer-muted{
  color:#bcd0e4;
}

/* Links & lists */
.footer-links,
.footer-contact{ list-style:none; padding:0; margin:0; }
.footer-links li+li,
.footer-contact li+li{ margin-top:.4rem; }
.footer-links a{
  color:#cfe3f7; text-decoration:none;
}
.footer-links a:hover{ color:#ffffff; }

/* Social icons */
.footer-social{ padding:0; margin:0; }
.footer-social li{ margin-inline: .25rem; }
.footer-social a{
  width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.25); border-radius:50%;
  color:#e6f1ff;
}
.footer-social a:hover{
  background-color:#17354a; color:#fff; border-color:rgba(255,255,255,.4);
}

/* Separator & bottom */
.footer-sep{ border-color:rgba(255,255,255,.08); }
.footer-bottom{ color:#cfe3f7; }

/* Sticky footer helpers (in case layout changes): keep footer at bottom */
.page{ background: var(--app-bg, #102733); } /* keep site bg */
.site-footer{ margin-top:auto; }

/* Responsive tweaks */
@media (max-width: 575.98px){
  .footer-cta .badge{ display:inline-block; font-size:.95rem; }
}
/* Keep global background consistent */
html, body { background-color: var(--app-bg, #102733); margin: 0; }
body { overflow-x: hidden; } /* avoid bottom scrollbar if any wide element */

/* Footer should not be sticky */
.site-footer {
  background-color: var(--app-bg, #102733); /* same as page */
  margin-top: 3rem; /* space above footer */
  border-top: 1px solid rgba(255,255,255,.08);
}

/* Remove any previous sticky helpers */
.page { display: block; min-height: 0; background: transparent; }
main { display: block; } /* ensure normal flow */

/* === PoC form dark theme fixes === */
.auth-card label,
.auth-card .form-label,
.auth-card .form-text,
.auth-card .form-check-label {
  color: rgba(255,255,255,.85) !important;
}

.auth-card .form-control,
.auth-card .form-select {
  color: #e6f1ff;
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.16);
}

.auth-card .form-control:focus,
.auth-card .form-select:focus {
  color: #e6f1ff;
  background: rgba(255,255,255,.06);
  border-color: rgba(111,132,255,.5); /* blueLight hint */
  box-shadow: none;
}

.auth-card .form-control::placeholder {
  color: rgba(255,255,255,.55);
}


:root{
  --bg:#102733; --orange:#FCCD00; --blueLight:#6F84FF; --dark:#29404E; --pink:#D12D77;
}

.auth-card label,.auth-card .form-label,.auth-card .form-text,.auth-card .form-check-label{
  color:rgba(255,255,255,.85)!important;
}
.auth-card .form-control,.auth-card .form-select{
  color:#e6f1ff;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16);
}
.auth-card .form-control:focus,.auth-card .form-select:focus{
  color:#e6f1ff;background:rgba(255,255,255,.06);border-color:rgba(111,132,255,.5);box-shadow:none;
}

/* Steps */
.wizard-steps{display:flex;gap:.5rem;flex-wrap:wrap}
.wizard-step-dot{width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;font-weight:700;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);}
.wizard-step-dot.active{background:linear-gradient(135deg,var(--orange),var(--blueLight));border-color:transparent}

/* Uploader */
.uploader{background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);
  border-radius:12px;cursor:pointer;transition:all .2s}
.uploader:hover{border-color:var(--blueLight);box-shadow:0 0 0 2px rgba(111,132,255,.2) inset}
.uploader-header{display:flex;justify-content:space-between;padding:.75rem 1rem;
  border-bottom:1px dashed rgba(255,255,255,.12);color:#e6f1ff}
.uploader-input{display:none}
.uploader-drop{padding:1.25rem;text-align:center}
.uploader-icon{font-size:34px;color:var(--orange)}
.uploader-title{color:#e6f1ff;margin:.25rem 0 .5rem}
.uploader-meta{min-height:20px}
.uploader-progress{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-top:.75rem}
.spinner{width:16px;height:16px;border:3px solid rgba(255,255,255,.2);
  border-top-color:var(--orange);border-radius:50%;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.uploader-bar{position:relative;flex:1;height:8px;background:rgba(255,255,255,.1);border-radius:6px;overflow:hidden}
.uploader-bar span{position:absolute;left:0;top:0;bottom:0;width:0%;
  background:linear-gradient(90deg,var(--orange),var(--blueLight))}
.uploader-perc{min-width:40px;color:#e6f1ff}


.uploader-dropzone {
  display:block;border:1px dashed rgba(255,255,255,.25);
  border-radius:.75rem;background:rgba(255,255,255,.03);cursor:pointer
}
.uploader-dropzone:hover{background:rgba(255,255,255,.06)}
.uploader-icon{font-size:2rem;opacity:.85}
.uploader-progress{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}
.uploader-bar{flex:1;height:8px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}
.uploader-bar span{display:block;height:100%;width:0%;background:#FCCD00}
.file-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:999px;background:rgba(111,132,255,.12);margin:.25rem .25rem 0 0}
.file-pill .spinner-border{width:.9rem;height:.9rem}

/* Wizard header */
.wizard-steps {
  display: flex;
  gap: .5rem;
  align-items: center;
}

/* Dots */
.wizard-step-dot {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;

  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor: pointer;
  user-select: none;

  transition:
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    transform .15s ease,
    box-shadow .2s ease;
}

/* Hover effect */
.wizard-step-dot:hover {
  background: #6F84FF;           /* blueLight */
  border-color: #6F84FF;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(111,132,255,.35);
}

:root{
  --orange:#FCCD00; --blueLight:#6F84FF;
}

/* Dark form readability */
.auth-card label,.auth-card .form-label,.auth-card .form-text,.auth-card .form-check-label{
  color:rgba(255,255,255,.85)!important;
}
.auth-card .form-control,.auth-card .form-select{
  color:#e6f1ff;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16);
}
.auth-card .form-control:focus,.auth-card .form-select:focus{
  color:#e6f1ff;background:rgba(255,255,255,.06);border-color:rgba(111,132,255,.5);box-shadow:none;
}

/* Wizard */
.wizard-steps{display:flex;gap:.5rem;align-items:center}
.wizard-step-dot{
  width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;
  font-weight:600;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;user-select:none;
  transition:background-color .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;
}
.wizard-step-dot.active{
  background:linear-gradient(135deg,var(--orange),var(--blueLight));border-color:transparent;
}
.wizard-step-dot:hover{
  background:#6F84FF;border-color:#6F84FF;color:#fff;transform:translateY(-2px);box-shadow:0 6px 14px rgba(111,132,255,.35);
}

/* Uploader */
.uploader{background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);border-radius:12px;cursor:pointer;transition:all .2s}
.uploader:hover{border-color:var(--blueLight);box-shadow:0 0 0 2px rgba(111,132,255,.2) inset}
.uploader-header{display:flex;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px dashed rgba(255,255,255,.12);color:#e6f1ff}
.uploader-input{display:none}
.uploader-drop{padding:1.25rem;text-align:center}
.uploader-icon{font-size:34px;color:var(--orange)}
.uploader-title{color:#e6f1ff;margin:.25rem 0 .5rem}
.uploader-progress{display:flex;align-items:center;gap:.75rem;justify-content:center;margin-top:.75rem}
.uploader-bar{position:relative;flex:1;height:8px;background:rgba(255,255,255,.1);border-radius:6px;overflow:hidden}
.uploader-bar span{position:absolute;left:0;top:0;bottom:0;width:0%;background:linear-gradient(90deg,var(--orange),var(--blueLight))}
.uploader-perc{min-width:40px;color:#e6f1ff}

/* Multi-attachments pills */
.uploader-dropzone{display:block;border:1px dashed rgba(255,255,255,.25);border-radius:.75rem;background:rgba(255,255,255,.03);cursor:pointer}
.uploader-dropzone:hover{background:rgba(255,255,255,.06)}
.file-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:999px;background:rgba(111,132,255,.12);margin:.25rem .25rem 0 0}
.file-pill .pill-perc{font-variant-numeric:tabular-nums}

.text-muted{color: rgba(255, 255, 255, 0.396) !important;}

/* Inputs/Selects on dark UI */
.form-control,
.form-select {
  color: #fff;
  background-color: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.25);
}

/* Dropdown menu options (native) */
.form-select option {
  color: #000;            /* readable on white dropdown */
  background-color: #fff; /* iOS/Safari keeps white menu */
}

/* Multiple select checked state */
.form-select[multiple] option:checked {
  color: #fff;
  background-color: #6F84FF;
}

/* Placeholder-like look when nothing selected */
.form-select:invalid {
  color: rgba(255,255,255,.7);
}

#mainNav {
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    background-color: transparent;
}
#mainNav.scrolled {
    background-color: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.dropdown-menu {
    background-color: var(--app-bg) !important;
    border: none;
}

.dropdown-menu .dropdown-item {
    color: #fff;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: rgba(255,255,255,0.1);
    color: #fff;
}
:root {
    --app-bg: #102733;        /* اللون الرئيسي للموقع */
}

/* ===== Navbar ===== */
.transition-nav {
    transition: background-color 1.0s ease, box-shadow 0.3s ease;
    background-color: var(--app-bg);      /* اللون الافتراضي أول ما يفتح الموقع */
}

.transition-nav.scrolled {
    background-color: rgba(16, 39, 51, 0.5); /* شفافية عند النزول */
    backdrop-filter: blur(6px);              /* لمسة بلور (اختياري) */
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);  /* ظل خفيف */
}

/* ===== Dropdown Menu ===== */
.navbar .dropdown-menu {
    background-color: var(--app-bg) !important; /* خلفية بلون الموقع */
    border: none;
}

.navbar .dropdown-menu .dropdown-item {
    color: #fff !important;
}

.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus {
    background-color: rgba(255,255,255,0.1) !important;
    color: #fff !important;
}
/* === Navbar Scroll Effect === */
#mainNav {
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
    background-color: var(--app-bg);            /* يبدأ بلون الموقع */
}

#mainNav.scrolled {
    background-color: rgba(16, 39, 51, 0.6);    /* يتحول لشبه شفاف عند التمرير */
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/* === Dropdown Menu === */
#mainNav .dropdown-menu {
    background-color: var(--app-bg) !important; /* ثابت لون الموقع */
    border: none !important;
}

#mainNav .dropdown-menu .dropdown-item {
    color: #fff !important;
}

#mainNav .dropdown-menu .dropdown-item:hover,
#mainNav .dropdown-menu .dropdown-item:focus {
    background-color: rgba(255,255,255,0.1) !important;
    color: #fff !important;
}
#mainNav .navbar-nav .nav-link {
    padding: 0.75rem 1rem;
    font-weight: 500;
    color: #fff;
    transition: color 0.3s ease;
}

#mainNav .navbar-nav .nav-link:hover,
#mainNav .navbar-nav .nav-link.active {
    color: var(--bs-primary) !important;
}

.navbar-toggler {
    border: none;
}
.navbar-toggler:focus {
    box-shadow: none;
}

/* Scroll effect */
#mainNav {
    background-color: var(--app-bg);
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
}
#mainNav.scrolled {
    background-color: rgba(16,39,51,0.6);
    backdrop-filter: blur(8px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.object-fit-cover{ object-fit:cover; }
.hover-shadow{ transition:box-shadow .2s, transform .2s }
.hover-shadow:hover{ box-shadow:0 .5rem 1rem rgba(0,0,0,.15); transform:translateY(-2px) }

.search-bar {
  color: #000;
  border: 1px solid #e6be00;
}

.search-bar::placeholder {
  color: #6c757d;
  opacity: 1;
}

.home-section-title {
  display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1rem;
}
.home-section-title h2 { margin:0; }
.post-card img { object-fit:cover; }

/* --- Tile cards (Events/News) --- */
.home-section-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}
.home-section-title h2{margin:0}
.tile-card{display:block;background:var(--bs-body-bg);border:1px solid rgba(255,255,255,.06);
  border-radius:22px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.08);transition:.25s ease}
.tile-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.12)}
.tile-media{aspect-ratio:16/9;background:#0b2239;position:relative;overflow:hidden}
.tile-media img{width:100%;height:100%;object-fit:cover;display:block}
.tile-body{padding:14px 16px}
.tile-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}
.tile-tag{font-size:.7rem;line-height:1;padding:.35rem .6rem;border-radius:999px;color:#101418;background:#FCCD00;
  border:1px solid rgba(98,70,234,.25)}
.tile-date{font-size:.75rem;color:#94a3b8;display:flex;align-items:center;gap:.35rem;white-space:nowrap}
.tile-title{margin:.35rem 0 .35rem 0;font-size:1rem;font-weight:700;color:var(--bs-body-color);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tile-meta{display:flex;gap:1rem;color:#94a3b8;font-size:.8rem}
.tile-meta i{opacity:.8}


.employees-select {
  max-height: 38px;
  font-size: .85rem;
  padding: .25rem .5rem;
}

.employees-select option {
  font-size: .85rem;
}

/* About As Page */
.about-hero{background: rgba(255,255,255,.02); border-bottom:1px solid rgba(255,255,255,.06);}
.soft-card{background: rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08); border-radius:16px;}
.about-icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#0f2a4f;color:#ffd60a}
.about-sep{border-color: rgba(255,255,255,.08);}
.stat{display:flex;gap:.75rem;align-items:center}
.stat .num{font-weight:800;font-size:1.75rem;line-height:1}
.timeline{position:relative;padding-right:1.25rem}
.timeline::before{content:"";position:absolute;top:0;right:10px;width:2px;height:100%;background:rgba(255,255,255,.12)}
.timeline-item{position:relative;padding-right:2.25rem;margin-bottom:1rem}
.timeline-item .dot{position:absolute;right:2px;top:.2rem;width:14px;height:14px;border-radius:999px;background:#ffd60a}
.team-card img{width:100%;height:220px;object-fit:cover;border-radius:12px}
.team-card .role{opacity:.8}


/* Contact Us Page */
  .contact-hero{
    background: rgba(255,255,255,.02);
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .form-section{
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
  }
  .floating-label{ position:relative; }
  .floating-label > label{
    position:absolute; top:-.6rem; right:.75rem;
    background: var(--bs-body-bg);
    padding: 0 .35rem; font-size:.8rem; opacity:.85; border-radius:.35rem;
  }


/* Footer polish */
.site-footer { color: #cfd6e0; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.footer-brand { color: #fff; font-size: 1.125rem; }
.footer-muted { color: #aab3bf; }
.footer-title { color: #fff; letter-spacing: .2px; }
.footer-links li + li,
.footer-contact li + li { margin-top: .4rem; }
.footer-social .list-inline-item a { font-size: 1.25rem; opacity: .9; }
.footer-social .list-inline-item a:hover { opacity: 1; }
.footer-sep { border-color: rgba(255,255,255,.08); }
.footer-bottom { color: #9aa4b2; }
.footer-bottom a { color: #e6edf7; }


.form-section{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px}
.floating-label { position: relative; }
.floating-label > label{
  position:absolute;top:-.6rem;right:.75rem;background:var(--bs-body-bg);padding:0 .35rem;
  font-size:.8rem;opacity:.85;border-radius:.35rem
}
.employees-select {
max-height: 38px;
font-size: .85rem;
padding: .25rem .5rem;
}

.employees-select option {
  font-size: .85rem;
}
/* Compact scrollable select to fit the site's look */
.range-select{
  max-height: 220px;
  overflow-y: auto;
  border-radius: 12px;
  padding-block: .35rem;
  font-size: .95rem;
}
.range-select option{
  padding: .4rem .6rem;
}


.form-control,.form-select{color:#fff;border-color:rgba(255,255,255,.15)}
.form-control:focus,.form-select:focus{border-color:#6F84FF;box-shadow:0 0 0 .2rem rgba(111,132,255,.15)}
.check-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.check-item input[type="checkbox"]{width:1.1rem;height:1.1rem}
.check-details{background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.15);border-radius:.75rem;padding:.9rem 1rem;margin:.7rem 0 1rem}
.uploader-title{font-weight:600}
.wizard-steps{display:flex;gap:.5rem;justify-content:center}
.wizard-step-dot{width:34px;height:34px;border-radius:50%;background:#14222e;color:#fff;display:flex;align-items:center;justify-content:center;}

/* ====== Theme-friendly helpers ====== */
.soft-card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:16px}
.about-hero{position:relative;background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));border-bottom:1px solid rgba(255,255,255,.06)}
.about-hero::after{content:"";position:absolute;inset:auto 0 -24px 0;height:48px;border-radius:24px/48px;background:rgba(255,255,255,.02);filter:blur(8px)}
.about-icon{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#0f2a4f;color:#ffd60a;font-size:1.2rem}
.about-title{font-weight:800;letter-spacing:-.02em;font-size:clamp(2rem,1.2rem + 2.4vw,3rem)}
.block-title{font-weight:800;font-size:clamp(1.25rem,1rem + .9vw,1.6rem)}
.muted{opacity:.85}

/* Stats strip */
.stats-strip .stat{display:flex;gap:.75rem;align-items:center}
.stats-strip .num{font-weight:800;font-size:1.9rem;line-height:1}
.stats-strip .stat-card{padding:.9rem 1rem;border-radius:12px;border:1px dashed rgba(255,255,255,.08)}

/* Timeline (responsive) */
.timeline{position:relative}
.timeline .item{position: relative; padding-inline-start: 1.25rem;}
.timeline .dot{position: absolute; inset-inline-start: .2rem;top: .2rem; width: 12px; height: 12px; border-radius: 999px; background: #ffd60a;}
@media (min-width: 768px){
  .timeline.line{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
  .timeline.line .item{padding:0;padding-top:1.25rem}
  .timeline.line .item::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:rgba(255,255,255,.1)}
  .timeline.line .dot{right:auto;left:auto;top:-6px}
}

/* Team */
.team-section .member{border-radius:16px;overflow:hidden;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);transition:transform .2s ease, border-color .2s ease}
.team-section .member:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.16)}
.team-section img{width:100%;height:230px;object-fit:cover}
.team-section .name{font-weight:700}
.team-section .role{opacity:.8}

/* Partners strip */
.partners img{height:28px;opacity:.8;filter:grayscale(100%);transition:opacity .2s ease, filter .2s ease}
.partners img:hover{opacity:1;filter:none}

.home-card-text{font-size: 0.95rem; color: #94a3b8;}


.form-control::placeholder {
  color: rgba(255,255,255,.55);
}
