/*
Theme Name: Centerville Barbers
Theme URI: https://centervillebarbers.net
Author: Centerville Barbers
Description: A custom, accessible WordPress theme for Centerville Barbers with LatePoint booking integration.
Version: 1.0.0
Requires at least: 7.0
Requires PHP: 8.2
Text Domain: centerville-barbers
*/

/* WordPress-specific layout and editor integration. The main design lives in assets/css. */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  top: 10px;
  left: 10px;
  z-index: 100000;
  width: auto;
  height: auto;
  padding: 12px 16px;
  clip: auto;
  color: #1d1d1b;
  background: #91cb3b;
}

.skip-link {
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

.brand img {
  width: 200px;
  height: auto;
}

.nav-links .menu {
  display: flex;
  align-items: center;
  gap: 34px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-links .menu a {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.nav-links .menu a:hover,
.nav-links .current-menu-item > a {
  color: var(--lime);
}

.portrait img,
.team-photo > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wp-caption,
.entry-content img {
  max-width: 100%;
  height: auto;
}

.entry-content {
  width: min(780px, 100%);
  margin-inline: auto;
  padding: 80px 0 120px;
}

.entry-content h1 {
  font-size: clamp(3.5rem, 8vw, 6.5rem);
}

.entry-content h2 {
  margin-top: 2.5rem;
  font-size: 2.4rem;
}

.entry-content a:not(.button) {
  border-bottom: 1px solid currentColor;
}

.booking-shell {
  padding-top: 72px;
  padding-bottom: 120px;
}

.latepoint-wrap {
  min-height: 480px;
  padding: 28px;
  background: var(--white);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.booking-unavailable {
  display: grid;
  min-height: 430px;
  place-content: center;
  justify-items: start;
  max-width: 760px;
  margin-inline: auto;
  padding: 54px;
  color: var(--white);
  background: var(--ink);
}

.booking-unavailable h2 {
  margin-bottom: 24px;
  font-size: clamp(2.8rem, 6vw, 5rem);
}

.booking-unavailable p {
  max-width: 530px;
  color: rgba(255, 255, 255, 0.68);
}

.booking-unavailable .button {
  margin-top: 20px;
  color: var(--ink);
  background: var(--lime);
  border-color: var(--lime);
}

.admin-setup-note {
  margin-bottom: 22px;
  padding: 14px 18px;
  color: #5b4300;
  background: #fff2c7;
  border-left: 4px solid var(--orange);
  font-size: 0.82rem;
}

.service-card-heading a:hover,
.team-copy h2 a:hover {
  color: var(--orange);
}

.not-found {
  min-height: 650px;
  display: grid;
  place-content: center;
  text-align: center;
}

.not-found h1 {
  margin-bottom: 26px;
  font-size: clamp(5rem, 15vw, 10rem);
}

@media (max-width: 700px) {
  .nav-links .menu {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 22px;
  }

  .nav-links .button {
    width: 100%;
  }

  .booking-unavailable {
    min-height: 390px;
    padding: 32px 24px;
  }
}

