/* Home page visual refinements. Content remains in index.php. */
/* Press Start 2P has taller glyphs than the previous condensed heading font. */
.page-home .pb-hero { padding:clamp(2rem, 4.5vw, 3.4rem); }
.page-home .pb-hero .eyebrow { margin-bottom:1rem; line-height:1.8; }
.page-home .pb-hero h1 {
  max-width:720px;
  margin:0 0 1.35rem;
  font-size:clamp(1.35rem, 2.7vw, 2.5rem);
  line-height:1.65;
  letter-spacing:.04em;
}
.page-home .pb-hero h1 span { display:block; margin-top:.25rem; }
.page-home .pb-hero p {
  max-width:650px;
  margin-bottom:1.35rem;
  font-size:clamp(.58rem, 1.15vw, .8rem);
  line-height:1.85;
}
.page-home .hero-status { gap:.55rem; line-height:1.7; }

.court-gallery {
  padding: 1.6rem;
  border: 1px solid #d8e5eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 35px rgba(35, 73, 95, .06);
}
.gallery-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.1rem; }
.gallery-heading .section-title { margin:0; color:#173c5b; }
.gallery-count { padding:.4rem .65rem; border:1px solid #dce9ef; border-radius:999px; color:#54707c; font-size:.58rem; }
.gallery-slide { position:relative; display:grid; overflow:hidden; height:430px; place-items:center; border-radius:16px; background:#173c5b; }
.gallery-slide img { width:100%; height:100%; object-fit:contain; }
.gallery-slide::after { content:''; position:absolute; inset:auto 0 0; height:42%; background:linear-gradient(transparent,rgba(8,31,48,.75)); pointer-events:none; }
.gallery-slide figcaption { position:absolute; z-index:1; left:1.25rem; bottom:1.15rem; color:#fff; font-size:.82rem; text-shadow:0 2px 8px rgba(0,0,0,.5); }
.court-gallery .carousel-control-prev,.court-gallery .carousel-control-next { top:auto; bottom:1rem; width:38px; height:38px; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(10,35,54,.55); opacity:1; }
.court-gallery .carousel-control-prev { left:auto; right:4.2rem; }
.court-gallery .carousel-control-next { right:1rem; }
.court-gallery .carousel-control-prev span,.court-gallery .carousel-control-next span { font-size:1.15rem; line-height:1; }

/* On desktop, let each court photo set the slide height so no part is cropped. */
@media (min-width: 769px) {
  .gallery-slide { height:auto; }
  .gallery-slide img { height:auto; }
}

/* Game Boy-inspired primary booking control. */
.hero-book-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  min-height: 58px;
  padding: .72rem .82rem .72rem 1rem;
  border: 3px solid #53635a;
  border-radius: 11px 11px 22px 11px;
  background: #d8d9d2;
  color: #253d2f !important;
  box-shadow: inset 0 0 0 3px #f4f3e9, inset 0 -5px 0 #aeb4ab, 0 6px 0 #26382d, 0 10px 18px rgba(1, 15, 7, .28);
  font-size: .62rem;
  line-height: 1.45;
  letter-spacing: .04em;
  text-decoration: none;
  text-shadow: none;
  transition: transform .14s ease, box-shadow .14s ease;
}

.hero-book-btn::before {
  content: 'PRESS START';
  display: block;
  padding: .33rem .42rem;
  border: 2px solid #6d805a;
  border-radius: 3px;
  background: #b7cc89;
  color: #314b32;
  box-shadow: inset 0 0 0 2px #dce7b8;
  font-size: .43rem;
  white-space: nowrap;
}

.hero-book-btn span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 2px solid #70213e;
  border-radius: 50%;
  background: #b83262;
  color: #fff;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.36), 0 3px 0 #651c38;
  font-size: 1rem;
  line-height: 1;
}

.hero-book-btn:hover,
.hero-book-btn:focus {
  transform: translateY(-2px);
  border-color: #334f3b;
  background: #e4e5dc;
  box-shadow: inset 0 0 0 3px #fffdf4, inset 0 -5px 0 #aeb4ab, 0 8px 0 #26382d, 0 13px 20px rgba(1, 15, 7, .3);
}

.hero-book-btn:active {
  transform: translateY(4px);
  box-shadow: inset 0 0 0 3px #f4f3e9, inset 0 -2px 0 #aeb4ab, 0 2px 0 #26382d, 0 5px 10px rgba(1, 15, 7, .24);
}

.arena-updates,
.facility-info {
  position: relative;
}

.arena-updates {
  padding: 1.6rem;
  border: 1px solid #d8e5eb;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 14px 35px rgba(35, 73, 95, .06);
}

.updates-heading {
  align-items: center;
  margin-bottom: 1.25rem;
}

.arena-updates .section-kicker,
.facility-info > .section-kicker {
  color: #5c8e3b;
  font-size: .66rem;
  letter-spacing: .14em;
}

.arena-updates .section-title,
.facility-info > .section-title {
  margin: 0;
  color: #173c5b;
  font-family: 'DM Sans', sans-serif;
  font-size: 1.42rem;
  letter-spacing: -.04em;
}

.updates-live {
  padding: .45rem .65rem;
  border: 1px solid #dce9ef;
  border-radius: 999px;
  background: #f6fafb;
  color: #54707c;
  font-size: .59rem;
}

.updates-live i {
  box-shadow: none;
}

.update-slide,
.update-slide.announcement {
  min-height: 190px;
  border-radius: 15px;
  background: linear-gradient(118deg, #173c5b 0%, #226e9e 100%);
  box-shadow: none;
}

.update-slide.announcement {
  background: linear-gradient(118deg, #31536d 0%, #4e7a94 100%);
}

.update-slide::after {
  position: absolute;
  right: 10%;
  bottom: -90px;
  width: 250px;
  height: 250px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(255, 255, 255, .05), 0 0 0 68px rgba(255, 255, 255, .025);
  content: '';
}

.update-copy {
  width: 72%;
  padding: 1.7rem 2rem;
}

.update-type {
  border-radius: 5px;
  background: #f6c64a;
  color: #234863;
}

.update-copy h3 {
  margin-top: .15rem;
  font-family: 'DM Sans', sans-serif;
  font-size: 1.55rem;
  letter-spacing: -.04em;
}

.update-copy p { color: #e0edf3; }
.update-copy time { color: #b9d2df; }

.update-controls {
  right: 1.1rem;
  bottom: 1rem;
}

.update-controls button {
  width: 31px;
  height: 31px;
  border-color: rgba(255, 255, 255, .42);
  border-radius: 50%;
}

.facility-info {
  overflow: hidden;
  padding: 1.75rem;
  border-color: #d8e5eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 35px rgba(35, 73, 95, .06);
}

.facility-info::before {
  position: absolute;
  top: -170px;
  right: -110px;
  width: 360px;
  height: 360px;
  border: 1px solid #d9edf0;
  border-radius: 50%;
  box-shadow: 0 0 0 40px #f6fbfa, 0 0 0 80px #fbfdfc;
  content: '';
}

.facility-info > * { position: relative; z-index: 1; }
.facility-info > .section-title { margin-bottom: 1.35rem; }

.facility-overview { gap: 12px; }

.facility-stat {
  min-height: 84px;
  border-color: #e1eaed;
  border-radius: 13px;
  box-shadow: 0 5px 13px rgba(31, 63, 82, .035);
}

.facility-stat > span {
  border-radius: 11px;
  box-shadow: 0 4px 9px rgba(227, 163, 30, .15);
}

.facility-stat > span,
.facility-stat:nth-child(2) > span,
.facility-stat:nth-child(3) > span {
  background: transparent;
  color: #111;
  box-shadow: none;
}

.contact-stat > span,
.panel-heading > span {
  background: transparent;
  color: #fff;
  box-shadow: none;
}

.facility-stat b { color: #6b7d87; }
.facility-stat strong { color: #244c68; }
.contact-stat { box-shadow: none; }

.facility-social-row {
  gap: 14px;
  padding: 1rem .2rem .15rem;
}

.facility-social-row b { color: #71828b; }

.facility-social-row a {
  padding: 0;
  border: 0;
  color: #2d756b;
}

.facility-social-link {
  display: inline-flex;
  align-items: center;
  gap: .38rem;
  padding: .38rem .55rem !important;
  border: 1px solid #c8dfdc !important;
  border-radius: 999px;
  background: #fff;
  color: #286d66 !important;
  font-size: .62rem;
  line-height: 1;
  text-decoration: none;
}

.facility-social-link:hover {
  border-color: #286d66 !important;
  background: #f0f8f6;
  color: #174943 !important;
}

.facility-social-link svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.facility-social-link svg rect,
.facility-social-link svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.facility-social-link svg .dot-fill {
  fill: currentColor;
  stroke: none;
}

.rules-panel,
.amenities-panel {
  min-height: 272px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  box-shadow: 0 10px 20px rgba(29, 64, 86, .08);
}

.rules-panel { background: linear-gradient(135deg, #1b4e70, #246e91); }
.amenities-panel { background: linear-gradient(135deg, #526e67, #7d9971); }

.panel-heading > span {
  border-radius: 9px;
  box-shadow: none;
}

.panel-heading h3 {
  font-family: 'DM Sans', sans-serif;
  font-size: 1.24rem;
  letter-spacing: -.03em;
}

.rules-panel li,
.amenities-panel ul { font-size: .75rem; }

.rules-panel li b,
.amenities-panel li i,
.picklecam-note b { color: #f6ca4a; }

@media (max-width: 768px) {
  .page-home .pb-hero { padding:1.75rem 1.35rem 2rem; }
  .page-home .pb-hero .eyebrow { margin-bottom:.85rem; font-size:.5rem; }
  .page-home .pb-hero h1 {
    margin-bottom:1.1rem;
    font-size:clamp(1.05rem, 4.4vw, 1.65rem);
    line-height:1.8;
    letter-spacing:.025em;
  }
  .page-home .pb-hero h1 span { margin-top:.35rem; }
  .page-home .pb-hero p {
    max-width:88%;
    margin-bottom:1.2rem;
    font-size:clamp(.5rem, 1.8vw, .68rem);
    line-height:1.9;
  }
  .page-home .hero-status { flex-wrap:wrap; font-size:.5rem; }
  .page-home .hero-status b { margin-left:0; font-size:.46rem; }
  .court-gallery { padding:1.25rem; }
  .gallery-slide { height:270px; }
  .arena-updates,
  .facility-info { padding: 1.25rem; }
  .updates-heading { align-items: flex-start; }
  .update-copy { width: 84%; padding: 1.4rem; }
  .update-slide { min-height: 220px; }
}

@media (max-width: 420px) {
  .page-home .pb-hero { padding:1.5rem 1.05rem 1.7rem; }
  .page-home .pb-hero h1 { font-size:1rem; line-height:1.9; }
  .page-home .pb-hero p { max-width:100%; font-size:.48rem; }
  .page-home .hero-book-btn { gap:.55rem; padding:.62rem .68rem .62rem .8rem; font-size:.53rem; }
  .page-home .hero-book-btn::before { font-size:.37rem; }
}
