/* Homepage-only overrides */

/* Shrikhand only for main CLATutor wordmark — not nav “Why CLATutor?” or footer column heading */
.site-header .logo .logo__word,
.site-footer__logo-word {
  font-family: 'Shrikhand', 'Poppins', sans-serif;
}

/* Desktop keeps original hero framing. Only index.html uses this .hero image override. */
.hero {
  padding: 5.75rem 0 4.75rem;
  min-height: 640px;
  background: var(--white) url("../image/faculty poster.png") center top / cover no-repeat;
  text-align: center;
}

/* Keep only the two CTA buttons visible (hide other hero text). */
.hero .hero__badge,
.hero .hero__title,
.hero .hero__rule,
.hero p.lead {
  display: none !important;
}

/* Remove hero CTAs (Enquire now + Student login) */
.hero .hero__actions {
  display: none !important;
}

/* ——— Homepage: mobile / tablet layout ——— */
body.page-public {
  overflow-x: clip;
}

/* Hamburger (hidden on large screens) */
body.page-public .site-header__menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line-light, #e5e5e5);
  border-radius: 10px;
  background: var(--white);
  color: var(--black);
  flex-shrink: 0;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

body.page-public .site-header__menu-icon--close {
  display: none;
}

body.page-public .site-header--nav-open .site-header__menu-icon--bars {
  display: none;
}

body.page-public .site-header--nav-open .site-header__menu-icon--close {
  display: inline-block;
}

/* In-drawer close (mobile only; hidden on desktop row nav) */
body.page-public .site-nav__close {
  display: none;
}

@media (max-width: 991px) {
  body.page-public.site-nav-open {
    overflow: hidden;
  }

  /* One row: logo | menu | login — no full-width nav stack */
  body.page-public .site-header .inner {
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
  }

  /* app.css widens .header-center at 720px; keep drawer width on the homepage */
  body.page-public .site-header .header-center {
    width: auto;
    max-width: none;
    justify-content: flex-start;
  }

  body.page-public .site-header .header-left {
    min-width: 0;
    flex: 1 1 auto;
  }

  /* --mobile-nav-offset: set in JS to .announce-bar bottom so the drawer meets the yellow strip */
  body.page-public .site-header .header-center.site-nav {
    position: fixed;
    top: var(--mobile-nav-offset, 0px);
    right: 0;
    bottom: auto;
    width: min(20rem, 88vw);
    max-width: 100%;
    height: calc(100dvh - var(--mobile-nav-offset, 0px));
    max-height: calc(100dvh - var(--mobile-nav-offset, 0px));
    margin: 0;
    padding: 0.35rem 1rem 1.25rem;
    padding-left: calc(1rem + env(safe-area-inset-left, 0px));
    padding-right: calc(1rem + env(safe-area-inset-right, 0px));
    flex: none;
    z-index: 10002;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.35rem;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    background: var(--white);
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
    transform: translateX(100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.28s ease, visibility 0.28s ease;
  }

  body.page-public .site-header--nav-open .header-center.site-nav {
    transform: translateX(0);
    visibility: visible;
    pointer-events: auto;
  }

  body.page-public .site-header__menu-toggle {
    display: inline-flex;
    order: 3;
  }

  body.page-public .site-header .header-left {
    order: 1;
  }

  body.page-public .site-header .header-right {
    order: 2;
    margin-left: 0;
  }

  body.page-public .site-header .header-center.site-nav {
    order: 4;
  }

  /* One row: Main (left) + close X (right) — no extra gap above Main */
  body.page-public .site-nav__drawer-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: 0.5rem;
    width: 100%;
  }

  body.page-public .site-nav__drawer-head .site-nav__details {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }

  body.page-public .site-nav__drawer-head .site-nav__details > summary {
    width: auto;
    margin: 0;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
  }

  body.page-public .site-nav__close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    align-self: start;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0;
    border: 1px solid var(--line-light, #e5e5e5);
    border-radius: 10px;
    background: var(--white);
    color: var(--black);
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
  }

  body.page-public .site-nav__close:hover,
  body.page-public .site-nav__close:focus-visible {
    background: #f8f8f8;
    outline: none;
  }

  body.page-public .site-nav__close:focus-visible {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12);
  }

  body.page-public .site-nav__close .fa-xmark {
    font-size: 1.1rem;
    line-height: 1;
  }

  /* Vertical stack inside drawer */
  body.page-public .site-header .site-nav {
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.15rem;
  }

  body.page-public .site-header .site-nav__link,
  body.page-public .site-header .site-nav__details > summary {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    padding: 0.55rem 0.35rem;
    border-radius: 8px;
    box-sizing: border-box;
  }

  body.page-public .site-header .site-nav__link,
  body.page-public .site-header .site-nav__details > summary {
    white-space: normal;
  }

  body.page-public .site-nav__drawer-head .site-nav__details > summary {
    width: auto;
  }

  body.page-public .site-header .site-nav__link-text,
  body.page-public .site-header .site-nav__link-label {
    text-align: left;
    line-height: 1.35;
  }

  /* Dropdowns: stack under the row (no centered flyout) */
  body.page-public .site-header .site-nav__details {
    width: 100%;
  }

  /* Keep Main + X in one row (override full-width details rule above) */
  body.page-public .site-nav__drawer-head .site-nav__details {
    width: auto;
  }

  body.page-public .site-header .site-nav__dropdown {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0.35rem 0 0.5rem !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    white-space: normal !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px !important;
    border: 1px solid var(--line-light, #e8e8e8) !important;
    padding: 0.35rem 0 !important;
  }

  body.page-public .site-header .site-nav__dropdown::before {
    display: none !important;
  }

  body.page-public .site-header .site-nav__details[open]::after {
    display: none !important;
  }

  body.page-public .site-header .site-nav__dropdown a {
    white-space: normal !important;
    padding: 0.5rem 0.85rem !important;
  }

  body.page-public .site-header .site-nav__details[open] {
    z-index: auto !important;
  }

  body.page-public .site-header .logo {
    font-size: clamp(1rem, 4.2vw, 1.25rem);
  }

  body.page-public .site-header .logo__tag {
    font-size: 0.55rem;
    letter-spacing: 0.04em;
  }

  body.page-public .site-header .logo img.logo__mark {
    height: 1.4rem;
    max-width: 2rem;
  }

  body.page-public .site-header .header-right .site-header__login {
    min-height: 2.35rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.8rem;
  }
}

/* Backdrop behind the drawer */
body.page-public .site-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10001;
  background: rgba(15, 23, 42, 0.45);
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

body.page-public .site-nav-backdrop[hidden] {
  display: none !important;
}

/* Hero: full image on small screens too (no cover crop) */
@media (max-width: 991px) {
  body.page-public .hero {
    min-height: clamp(210px, 56vw, 380px);
    padding: 0;
    background-position: center top;
    background-size: contain;
  }
}

@media (max-width: 480px) {
  body.page-public .hero {
    min-height: clamp(185px, 62vw, 300px);
  }
}

@media (max-width: 380px) {
  body.page-public .announce-bar--cta {
    padding: 0.45rem 0.65rem;
    font-size: 0.8rem;
    gap: 0.25rem 0.35rem;
  }
}

@media (min-width: 992px) {
  body.page-public .site-nav__drawer-head {
    display: contents;
  }
}

