/*
 * Compatibility layer
 *
 * These selectors support Bootstrap/legacy Drupal markup while templates are
 * migrated. New theme markup should use the decal-* primitives instead.
 */
.top-nav .user-menu { padding: 8px 0; text-align: right; font-size: .78rem; }
.top-header .navbar { padding-inline: 0; }
.top-header .navbar-nav { gap: 8px; }
.top-header .navbar-nav .nav-link { padding: 8px 12px; border-radius: var(--decal-radius-pill); color: var(--decal-lagoon); font-weight: 800; }
.top-header .navbar-nav .nav-link:hover, .top-header .navbar-nav .nav-link:focus { background: var(--decal-surface-soft); color: var(--decal-blue); }
.top-header .navbar-nav .dropdown-menu { padding: 9px; border: 1px solid var(--decal-line); border-radius: 14px; box-shadow: var(--decal-shadow-md); }
.top-header .navbar-nav .dropdown-item { border-radius: 8px; color: var(--decal-lagoon); font-weight: 700; }
.top-header .navbar-nav .dropdown-item:hover, .top-header .navbar-nav .dropdown-item:focus { background: var(--decal-surface-soft); color: var(--decal-blue); }
.navbar-toggler { border-color: var(--decal-lagoon); }
.full-page-search .search-icon { color: var(--decal-blue); cursor: pointer; }
.search-box { background: rgba(18,63,74,.96); }
.search-box-content { border-radius: var(--decal-radius-md); }
.search-box-content .form-search { padding: 12px 16px; border: 0; border-radius: var(--decal-radius-pill); }
.search-box-content .form-submit { border-radius: var(--decal-radius-pill); background: var(--decal-coral); color: #fff; font-weight: 400; }

.page-header { padding-top: 24px; }
.page-header h1, #block-decal-page-title h1 { color: var(--decal-lagoon); font-size: clamp(2.2rem, 5vw, 4.2rem); font-weight: 700; letter-spacing: -.06em; }
#block-decal-vibrant-page-title h1, .decal-page-title-block h1 { max-width: 900px; margin: 9px 0 12px; color: var(--decal-lagoon); font-size: clamp(2.7rem, 7vw, 5.4rem); font-weight: 700; letter-spacing: -.075em; line-height: .96; }

.views-table { border-color: var(--decal-line); }
.stretched-table-link { cursor: pointer; }
.stretched-table-link.table-active td { background: var(--decal-surface-soft); }

/* Shared table treatment for the proof-text and content-overview Views. */
.path-content-overview .views-table,
.path-proof-texts .views-table {
  width: 100%;
  margin: 0 0 2rem;
  border: 1px solid var(--decal-line);
  border-radius: var(--decal-radius-md);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: var(--decal-surface);
  box-shadow: var(--decal-shadow-sm);
}

.path-content-overview .views-table thead th,
.path-proof-texts .views-table thead th {
  padding: 13px 14px;
  border: 0;
  border-bottom: 1px solid #cbd7e8;
  background: var(--decal-surface-soft);
  color: var(--decal-lagoon);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  vertical-align: middle;
}

.path-content-overview .views-table tbody td,
.path-proof-texts .views-table tbody td {
  padding: 14px;
  border: 0;
  border-bottom: 1px solid var(--decal-line-soft);
  color: var(--decal-ink);
  vertical-align: middle;
}

.path-content-overview .views-table tbody tr:last-child td,
.path-proof-texts .views-table tbody tr:last-child td {
  border-bottom: 0;
}

.path-content-overview .views-table tbody tr:hover > *,
.path-proof-texts .views-table tbody tr:hover > * {
  background: #f4f7ff;
}

.path-content-overview .views-table tbody td a,
.path-proof-texts .views-table tbody td a {
  color: var(--decal-blue);
  font-weight: 800;
  text-decoration: none;
}

.path-content-overview .views-table tbody td a:hover,
.path-content-overview .views-table tbody td a:focus-visible,
.path-proof-texts .views-table tbody td a:hover,
.path-proof-texts .views-table tbody td a:focus-visible {
  color: var(--decal-lagoon);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Old proof-text and page markup shares the same scripture primitive. */
.proof-scripture, .bible-reference-block { position: relative; }
