/* =============================================================
   AZEEZIA COLLEGE OF NURSING — HOSPITAL DESIGN THEME
   Loaded after css/nursing/main.css and the shared hospital
   header.css / footer.css. Re-points the college's own tokens at the
   Azeezia Health City palette and restyles the shared page pieces
   (page banner, content card, buttons, tables, ticker) so every
   college page matches the hospital site.
   ============================================================= */

:root {
  /* Hospital palette (same values as css/web/header.css) */
  --az-demo-blue: #0e58a5;
  --az-demo-blue-dark: #0a3f78;
  --az-demo-blue-light: #b4d8e4;
  --az-demo-lime: #8dc63f;
  --az-demo-navy: #17233a;

  /* College tokens re-pointed at the hospital palette, so every
     existing var(--nc-*) in the page views picks up the new colours. */
  --nc-blue:       #0e58a5;
  --nc-blue-mid:   #0a3f78;
  --nc-blue-light: #0e58a5;
  --nc-blue-pale:  #eaf2fa;
  --nc-gold:       #8dc63f;
  --nc-text:       #17233a;
  --nc-muted:      rgba(23, 35, 58, 0.62);
  --nc-border:     rgba(23, 35, 58, 0.1);
  --nc-shadow:     0 20px 60px rgba(23, 35, 58, 0.08);
  --nc-radius:     20px;
}

body {
  font-family: "Nunito Sans", sans-serif;
  color: var(--az-demo-navy);
  background: #ffffff;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Nunito Sans", sans-serif;
  color: var(--az-demo-navy);
}

#nc-main { flex: 1; }

/* ── Header tweaks ─────────────────────────────────────────── */

/* The college bar carries more top-level items than the hospital's,
   so the links are a touch smaller and the bar hands over to the
   MENU overlay a little earlier. */
.az-vhead__nav { gap: 16px; }
.az-vhead__nav a { font-size: 16px; }
.az-vhead__logo img { height: 80px; }

@media (max-width: 1599px) {
  .az-vhead__nav { gap: 14px; }
  .az-vhead__nav a { font-size: 15.5px; }
}

@media (max-width: 1439px) {
  .az-vhead__nav { display: none; }
}

.nc-pill-short { display: none; }

@media (max-width: 480px) {
  .nc-pill-short { display: inline; }
  .az-vhead__pill--solid i { display: none; }
}

/* Wide "Campus" dropdown: three labelled groups side by side */
.az-vhead__dropdown.nc-dropdown--wide {
  display: grid;
  grid-template-columns: repeat(3, minmax(200px, auto));
  gap: 4px 8px;
  padding: 16px 18px 16px 8px;
  left: 50%;
}

.nc-dropdown__group {
  display: flex;
  flex-direction: column;
}

.nc-dropdown__label {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--az-demo-blue);
  padding: 6px 22px 8px;
}

/* Full-screen menu has four columns of links + the Reach Us card */
.nc-vmenu__body {
  grid-template-columns: 1fr 1.1fr 1fr 1fr;
}

.az-vmenu__col--primary a,
.az-vmenu__col--secondary a {
  font-size: 15.5px;
}

.az-vmenu__col { gap: 12px; }

@media (max-width: 1199px) {
  .nc-vmenu__body { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .nc-vmenu__body { grid-template-columns: 1fr; }
}

/* ── Footer: approval logos (moved from the old logo bar) ──── */
.nc-footer__accr {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin: 6px 0 26px;
}

.nc-footer__accr-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 700;
  color: rgba(5, 46, 56, 0.75);
}

.nc-footer__accr-item img {
  height: 38px;
  width: auto;
  display: block;
}

/* ── Inner-page banner (hospital breadcrumb banner) ────────── */
.nc-page-hero {
  padding: 72px 0 56px !important;
  background-color: #052a51;
  background-image: linear-gradient(rgb(0 0 0 / 69%), rgb(2 16 31 / 82%)),
    url(../../images/breadcrumb/azeezia-health-city-banner-03.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: none;
}

.nc-page-hero .container-sm {
  max-width: 1400px;
  padding-left: clamp(20px, 5vw, 56px);
  padding-right: clamp(20px, 5vw, 56px);
}

.nc-page-hero__content {
  display: flex;
  flex-direction: column-reverse;   /* breadcrumb above the title */
}

.nc-page-hero__title {
  display: block !important;
  font-family: "Nunito Sans", sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 3.6vw, 2.85rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin: 0;
  text-transform: capitalize;
}

/* Breadcrumb inside the banner — minimal style: normal case, house
   icon on "Home", lime chevrons between items, current page in bold. */
.nc-page-hero__breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 0 0 18px;
  font-family: "Nunito Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: rgba(255, 255, 255, 0.7);
}

.nc-page-hero__breadcrumb a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  transition: color 0.2s ease;
}

.nc-page-hero__breadcrumb a:hover { color: #ffffff; text-decoration: none; }

.nc-page-hero__breadcrumb a:first-child::before {
  content: "\f015";                       /* house */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
  color: var(--az-demo-lime);
}

/* Separator spans ("/") → small lime chevron */
.nc-page-hero__breadcrumb span:not(:last-child) {
  font-size: 0;
  color: transparent;
}

.nc-page-hero__breadcrumb span:not(:last-child)::before {
  content: "\f054";                       /* chevron-right */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 9px;
  color: var(--az-demo-lime);
}

/* Current page */
.nc-page-hero__breadcrumb span:last-child {
  color: #ffffff;
  font-weight: 700;
}

@media (max-width: 767px) {
  .nc-page-hero { padding: 48px 0 40px !important; }
  .nc-page-hero__title { display: block !important; font-size: 1.8rem; }
}

/* ── CMS page content → hospital "message card" ───────────── */
.nc-page-content {
  background: #f6f8fb;
  padding: 64px 0 80px !important;
}

.nc-page-content > .container-sm {
  max-width: 1400px;
  padding-left: clamp(20px, 5vw, 56px);
  padding-right: clamp(20px, 5vw, 56px);
}

.nc-page-card {
  position: relative;
  margin: 0;
  background: #ffffff;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(23, 35, 58, 0.08);
  border: 1px solid rgba(23, 35, 58, 0.05);
  padding: clamp(24px, 4vw, 56px) clamp(12px, 3vw, 44px);
  overflow: hidden;
}

.nc-page-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--az-demo-blue), var(--az-demo-lime));
}

.nc-block-description__title {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 800;
  font-size: clamp(1.4rem, 2.2vw, 1.75rem);
  color: var(--az-demo-navy);
}

.nc-block-description__line {
  width: 56px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--az-demo-blue), var(--az-demo-lime));
}

.nc-block-description__text {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(23, 35, 58, 0.75);
}

.nc-block-description__text ul { list-style: disc; padding-left: 22px; margin-bottom: 16px; }
.nc-block-description__text ol { padding-left: 22px; margin-bottom: 16px; }
.nc-block-description__text li { margin-bottom: 6px; }
.nc-block-description__text strong,
.nc-block-description__text b { color: var(--az-demo-navy); }

.nc-block-image__frame {
  border-radius: 20px !important;
  border: none !important;
  padding: 4px;
  background: linear-gradient(135deg, var(--az-demo-blue), var(--az-demo-lime));
  box-shadow: 0 20px 45px rgba(14, 88, 165, 0.18) !important;
}

.nc-block-image__img { border-radius: 16px !important; }
.nc-block-image__accent { display: none; }

/* Tables (CMS table blocks and any table in page content) */
.nc-page-card .pricing-table,
.nc-page-card table {
  width: 100%;
}

.nc-page-card .table,
.nc-block-description__text table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(23, 35, 58, 0.1);
  border-radius: 16px;
  overflow: hidden;
  font-size: 15px;
  margin-bottom: 24px;
}

.nc-page-card .table td,
.nc-page-card .table th,
.nc-block-description__text table td,
.nc-block-description__text table th {
  padding: 14px 18px;
  border: none;
  border-bottom: 1px solid rgba(23, 35, 58, 0.08);
  color: rgba(23, 35, 58, 0.8);
  vertical-align: middle;
}

.nc-page-card .table tr:last-child td,
.nc-block-description__text table tr:last-child td { border-bottom: none; }

.nc-page-card .table tbody tr:nth-child(even),
.nc-block-description__text table tbody tr:nth-child(even) { background: #f7fafc; }

.nc-page-card .table td:first-child { font-weight: 700; color: var(--az-demo-navy); }

.nc-block-description__text table thead th,
.nc-block-description__text table th {
  background: var(--az-demo-navy);
  color: #ffffff;
  font-weight: 700;
}

.nc-page-card .table thead tr:empty { display: none; }

/* ── Buttons → hospital pill buttons ───────────────────────── */
.nc-btn {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 700;
  border-radius: 50px;
}

.nc-btn--primary {
  background: var(--az-demo-navy);
  border-color: var(--az-demo-navy);
  color: #ffffff;
}

.nc-btn--primary:hover {
  background: var(--az-demo-blue-dark);
  border-color: var(--az-demo-blue-dark);
  color: #ffffff;
  box-shadow: 0 16px 32px rgba(23, 35, 58, 0.2);
}

.nc-btn--outline {
  color: var(--az-demo-navy);
  border-color: rgba(23, 35, 58, 0.2);
  background: rgba(23, 35, 58, 0.04);
}

.nc-btn--outline:hover {
  background: var(--az-demo-navy);
  border-color: var(--az-demo-navy);
  color: #ffffff;
}

/* ── Section headings used on inner pages ───────────────────── */
.nc-section-tag,
.nc-about__tag {
  background: rgba(14, 88, 165, 0.08);
  border: 1px solid rgba(14, 88, 165, 0.18);
  color: var(--az-demo-blue);
  border-radius: 50px;
  letter-spacing: 0.3px;
  text-transform: none;
  font-size: 13px;
  padding: 7px 18px;
}

.nc-section-title,
.nc-about__title {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 800;
  color: var(--az-demo-navy);
}

.nc-section-desc { color: rgba(23, 35, 58, 0.62); }

/* ── Coming soon ───────────────────────────────────────────── */
.nc-coming-soon__icon { background: rgba(14, 88, 165, 0.08); }
.nc-coming-soon__title { color: var(--az-demo-navy); }

/* ── Back-to-top: footer.css styles it, keep it above content ── */
.az-footer__back-top { z-index: 50; }

/* Editor content defaults to the site font; fonts picked from the
   back-office font menu are kept on purpose.
   Fonts that came in with copy-paste (Word, other sites) are ignored so the
   text shows in the site font. They are told apart from menu choices by
   shape: a pasted font is a fallback list ("Calibri, sans-serif",
   "Arial,sans-serif", a "Source Sans Pro, -apple-system, …" stack), while
   the menu always writes a single font name ("Open Sans"). */
#nc-main [style*="font-family"][style*="sans-serif"],
#nc-main [style*="font-family"][style*=", serif"],
#nc-main [style*="font-family"][style*=",serif"],
#nc-main [style*="Calibri"],
#nc-main [style*="Segoe UI"] {
  font-family: inherit !important;
}

/* Mobile header: logo + MENU only. The admission button is still in the
   full-screen menu ("Admission 2026" in the Reach Us card). */
@media (max-width: 767px) {
  .az-vhead__pill--solid { display: none !important; }
}

/* ── Logo sizes ─────────────────────────────────────────────
   The college logo has three lines of text (name, "College of
   Nursing", "Alathur - Palakkad"), so it is shown larger than the
   hospital theme's defaults to keep the small line readable. */
.az-vmenu__brand img { height: 72px; }
.az-footer__logo img { height: 72px; }

@media (max-width: 1599px) {
  .az-vhead__logo img { height: 72px; }
}

@media (max-width: 767px) {
  .az-vhead__logo img { height: 64px; }
}

/* Phones: header row is just the logo and the MENU icon. */
@media (max-width: 480px) {
  .az-vhead__logo img { height: 56px; }
  .az-vmenu__brand img { height: 48px; }
  .az-footer__logo img { height: 60px; }
}

/* ── Preloader: college logo + progress bar ────────────────
   Uses the original #az-preloader layout from header.css. The fill
   width is driven by the preloader script in nc-default.php: it creeps
   towards 90% while loading and completes to 100% on window load. */
.az-preloader__logo img { height: 96px; }

.nc-progress {
  width: 240px;
  height: 6px;
  border-radius: 6px;
  background: rgba(14, 88, 165, 0.12);
  overflow: hidden;
}
.nc-progress__fill {
  position: relative;
  width: 0;
  height: 100%;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--az-demo-lime), var(--az-demo-blue));
  transition: width 0.3s ease-out;
  overflow: hidden;
}
/* soft moving shine so it never looks frozen */
.nc-progress__fill::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
  transform: translateX(-100%);
  animation: nc-progress-shine 1.2s ease-in-out infinite;
}
@keyframes nc-progress-shine { to { transform: translateX(100%); } }

@media (max-width: 480px) {
  .az-preloader__logo img { height: 72px; }
  .nc-progress { width: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  .nc-progress__fill { transition: none; }
  .nc-progress__fill::after { animation: none; display: none; }
}
