/* ============================================================
   DV8 – ADDITIONAL CSS (CLEAN + CONSOLIDATED)
   ============================================================ */


/* ============================================================
   HOMEPAGE – LONG HEADLINE RESPONSIVE FIX
   ============================================================ */
@media (max-width: 480px) {
  .home h1,
  .home .entry-title {
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
  }
}


/* ============================================================
   MOBILE: REMOVE HERO TEXT BACKGROUND (SAFE: won't break inputs)
   ============================================================ */
@media (max-width: 768px) {
  .wp-block-cover__inner-container *:not(input):not(textarea):not(select),
  .wp-block-cover .wp-block-group:not(input):not(textarea):not(select),
  .wp-block-cover__inner-container .has-background:not(input):not(textarea):not(select) {
    background: transparent !important;
    box-shadow: none !important;
  }

  .wp-block-cover__inner-container h1 {
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
    max-width: 100% !important;
    font-size: clamp(2rem, 8vw, 3rem) !important;
    line-height: 1.1 !important;
  }

  .wp-block-cover,
  .wp-block-cover__inner-container,
  .wp-block-cover__inner-container .wp-block-group {
    max-width: 100% !important;
    width: 100% !important;
    overflow: visible !important;
  }
}


/* ============================================================
   MOBILE HEADER SPACING
   ============================================================ */
@media (max-width: 768px) {
  header.wp-block-template-part {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  header .wp-block-site-logo {
    margin-bottom: 4px !important;
  }

  header .wp-block-site-logo img {
    max-width: 110px !important;
  }

  .wp-block-navigation__toggle {
    margin-top: 2px !important;
  }

  header .wp-block-button__link {
    margin-top: 6px !important;
    padding: 10px 18px !important;
  }
}


/* ============================================================
   WPFORMS – MOBILE TEXT WRAPPING FIXES
   ============================================================ */
@media (max-width: 768px) {
  .wpforms-container,
  .wpforms-form {
    max-width: 100% !important;
    width: 100% !important;
  }

  .wpforms-form label {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .wpforms-field-checkbox ul,
  .wpforms-field-checkbox ul li {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  .wpforms-field-checkbox label {
    line-height: 1.4 !important;
  }
}


/* ============================================================
   WPFORMS – FORCE FIELD VISIBILITY (GLOBAL)
   ============================================================ */
.wpforms-form input[type="text"],
.wpforms-form input[type="email"],
.wpforms-form input[type="tel"],
.wpforms-form input[type="number"],
.wpforms-form input[type="url"],
.wpforms-form input[type="password"],
.wpforms-form textarea,
.wpforms-form select {
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #cccccc !important;
}

.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder {
  color: #666666 !important;
}

.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #c40000 !important;
}


/* ============================================================
   TUITION TABLE – MOBILE FIX (ONLY tables with class tuition-table)
   ============================================================ */
@media (max-width: 768px) {
  .wp-block-table.tuition-table {
    overflow-x: auto;
    display: block;
    width: 100%;
    -webkit-overflow-scrolling: touch;
  }

  .wp-block-table.tuition-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
  }

  .wp-block-table.tuition-table colgroup col:nth-child(3),
  .wp-block-table.tuition-table tr > :nth-child(3),
  .wp-block-table.tuition-table td:empty,
  .wp-block-table.tuition-table th:empty {
    display: none !important;
  }
}


/* ============================================================
   HERO VISIBILITY – MOBILE / DESKTOP SPLIT
   ============================================================ */
.hero-mobile { display: none !important; }

@media (max-width: 768px) {
  .hero-desktop { display: none !important; }
  .hero-mobile { display: block !important; }
}
/* ============================================================
   DV8 – ADDITIONAL CSS (CLEAN + CONSOLIDATED + SAFE)
   ============================================================ */


/* ============================================================
   GLOBAL SAFETY: PREVENT HORIZONTAL OVERFLOW
   ============================================================ */
html, body {
  overflow-x: hidden !important;
}


/* ============================================================
   HOMEPAGE – LONG HEADLINE RESPONSIVE FIX
   ============================================================ */
@media (max-width: 480px) {
  .home h1,
  .home .entry-title {
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
  }
}


/* ============================================================
   MOBILE: HERO TEXT CLEANUP (SAFE – DOES NOT TOUCH INPUTS)
   ============================================================ */
@media (max-width: 768px) {
  .wp-block-cover__inner-container *:not(input):not(textarea):not(select) {
    background: transparent !important;
    box-shadow: none !important;
  }

  .wp-block-cover__inner-container h1 {
    white-space: normal !important;
    word-break: break-word !important;
    max-width: 100% !important;
    font-size: clamp(2rem, 8vw, 3rem) !important;
    line-height: 1.1 !important;
  }
}


/* ============================================================
   MOBILE HEADER SPACING
   ============================================================ */
@media (max-width: 768px) {
  header.wp-block-template-part {
    padding: 6px 0 !important;
  }

  header .wp-block-site-logo img {
    max-width: 110px !important;
  }

  .wp-block-navigation__toggle {
    margin-top: 2px !important;
  }

  header .wp-block-button__link {
    margin-top: 6px !important;
    padding: 10px 18px !important;
  }
}


/* ============================================================
   HERO VISIBILITY – MOBILE / DESKTOP SPLIT (NO WIDTH HACKS)
   ============================================================ */
.hero-mobile {
  display: none !important;
}

@media (max-width: 768px) {
  .hero-desktop {
    display: none !important;
  }

  .hero-mobile {
    display: block !important;
  }
}


/* ============================================================
   HERO WIDTH – SAFE FULL-WIDTH (NO OVERFLOW)
   ============================================================ */
@media (max-width: 768px) {
  .hero-mobile,
  .hero-mobile .wp-block-cover,
  .hero-mobile .wp-block-cover__image-background,
  .hero-mobile video,
  .hero-mobile img {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
  }
}


/* ============================================================
   WPFORMS – FIELD VISIBILITY (GLOBAL)
   ============================================================ */
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select {
  background: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #cccccc !important;
}

.wpforms-form input::placeholder,
.wpforms-form textarea::placeholder {
  color: #666666 !important;
}

.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus {
  border-color: #c40000 !important;
}


/* ============================================================
   TUITION TABLE – MOBILE FIX (TARGETED)
   ============================================================ */
@media (max-width: 768px) {
  .wp-block-table.tuition-table {
    overflow-x: auto;
    display: block;
    width: 100%;
  }

  .wp-block-table.tuition-table td:empty,
  .wp-block-table.tuition-table th:empty,
  .wp-block-table.tuition-table colgroup col:nth-child(3),
  .wp-block-table.tuition-table tr > :nth-child(3) {
    display: none !important;
  }
}


/* ============================================================
   PASSWORD PROTECTED PAGE – VISIBILITY FIX
   ============================================================ */
.post-password-form {
  max-width: 520px;
  margin: 60px auto;
  padding: 30px;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 8px;
}

.post-password-form * {
  color: #ffffff !important;
}

.post-password-form input[type="password"] {
  background: #ffffff !important;
  color: #000000 !important;
  width: 100%;
  padding: 12px;
}

.post-password-form input[type="submit"] {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff;
  padding: 12px 20px;
}

.post-password-form input[type="submit"]:hover {
  background: #c40000 !important;
  border-color: #c40000 !important;
}




/* ============================================================
   PASSWORD PROTECTED PAGE – FIX VISIBILITY (IMPORTANT)
   ============================================================ */
.post-password-form {
  max-width: 520px;
  margin: 60px auto;
  padding: 30px;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 8px;
}

.post-password-form p,
.post-password-form label {
  color: #ffffff !important;
}

.post-password-form input[type="password"] {
  background: #ffffff !important;
  color: #000000 !important;
  border: 2px solid #ffffff !important;
  padding: 12px !important;
  width: 100% !important;
  font-size: 16px !important;
}

.post-password-form input[type="submit"] {
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  padding: 12px 20px !important;
  font-size: 16px !important;
  cursor: pointer;
}

.post-password-form input[type="submit"]:hover {
  background: #c40000 !important;
  border-color: #c40000 !important;
}
/* ============================================================
   PASSWORD PROTECTED PAGE – FORCE TEXT VISIBILITY
   ============================================================ */

/* All text inside password protected content */
.post-password-form,
.post-password-form p,
.post-password-form label,
.post-password-form strong,
.post-password-form span {
  color: #ffffff !important;
}

/* Page content above/below password form */
body.post-password-required,
body.post-password-required p,
body.post-password-required h1,
body.post-password-required h2,
body.post-password-required h3,
body.post-password-required h4,
body.post-password-required h5,
body.post-password-required h6 {
  color: #ffffff !important;
}
/* ============================================================
   PASSWORD PROTECTED PAGE – FORCE CONTENT TEXT TO WHITE
   ============================================================ */

body.post-password-required .entry-content,
body.post-password-required .entry-content * {
  color: #ffffff !important;
}

/* Fix links just in case */
body.post-password-required .entry-content a {
  color: #ff3b3b !important; /* DV8 red */
}
/* ======================================
   GLOBAL HORIZONTAL OVERFLOW KILL SWITCH
   ====================================== */
html, body {
  overflow-x: hidden !important;
}