/* components/_hero-features.css */
/* ── Hero Features Bar (homepage + location detail) ───────── */
.loc-detail__hero-features {
  background: var(--clr-white);
}

.home-hero-features {
  margin-top: 0;
}

.loc-detail .loc-detail__hero-features {
  margin-top: var(--space-16);
}

.loc-detail__hero-features-inner {
  display: flex;
  gap: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.loc-detail__hero-feature {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: var(--space-4);
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.loc-detail__hero-feature:last-child {
  border-right: none;
}

.loc-detail__hero-feature-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
  min-height: 20px;
}

.loc-detail__hero-feature-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.loc-detail__hero-feature-sub {
  font-size: var(--fs-xs);
  color: var(--clr-davy-grey);
  text-align: right;
  letter-spacing: 0.06em;
}

.loc-detail__hero-feature-label {
  font-family: var(--font-heading);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--clr-black);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.2;
}

.loc-detail__hero-feature-desc {
  font-size: var(--fs-xs);
  color: var(--clr-davy-grey);
  line-height: 1.4;
}

/* Location-only: per-feature desktop / mobile visibility */
@media (min-width: 769px) {
  .loc-detail__hero-feature--mobile-only {
    display: none;
  }
}

@media (max-width: 768px) {
  .loc-detail__hero-feature--desktop-only {
    display: none;
  }
}

@media (max-width: 1024px) {
  .loc-detail__hero-features-inner {
    display: grid;
    /* 2 cols so 4 features fill evenly (avoids orphan row with empty cells) */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgba(0, 0, 0, 0.1);
    border-left: none;
    border-right: none;
  }

  .loc-detail__hero-feature {
    border: none;
    background: var(--clr-white);
  }
}

@media (max-width: 768px) {
  .loc-detail__hero-feature-label {
    font-size: 1.1rem;
  }
}

@media (max-width: 480px) {
  .loc-detail__hero-features-inner {
    grid-template-columns: 1fr;
  }

  .loc-detail__hero-feature {
    padding: var(--space-3) var(--space-4);
  }

  .loc-detail__hero-feature-label {
    font-size: 1rem;
    letter-spacing: 0.04em;
  }

  .loc-detail__hero-feature-desc,
  .loc-detail__hero-feature-sub {
    font-size: 0.7rem;
  }
}

@media (max-width: 360px) {
  .loc-detail__hero-features-inner {
    grid-template-columns: 1fr;
  }

  .loc-detail__hero-feature {
    padding: var(--space-3);
  }

  .loc-detail__hero-feature-label {
    font-size: 0.9rem;
    line-height: 1.25;
  }

  .loc-detail__hero-feature-top {
    margin-bottom: var(--space-1);
  }
}

/* sections/_loc-detail.css */
/* ── Location Detail Page ── */
.loc-detail {
  background: var(--clr-black);
  min-height: 100vh;
  padding-top: 72px;
  overflow-x: clip;
}
.loc-detail__inner {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  min-height: calc(100vh - 72px);
}

/* Left — map area */
.loc-detail__left {
  position: relative;
  background: var(--clr-black);
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}
.loc-detail__map-header {
  display: flex;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #2f2f2f;
}
.loc-detail__map {
  flex: 1;
  min-height: 300px;
}

/* Site card — overlaid on map, matching hero__site-card style */
.loc-detail__site-card {
  position: absolute;
  bottom: 0;
  left: 5px;
  width: 45%;
  aspect-ratio: 4/3;
  border: 1px solid rgba(248, 205, 4, 0.55);
  overflow: visible;
  z-index: 200;
}
.loc-detail__site-card-label {
  position: absolute;
  top: 0;
  left: 0;
  font-family: var(--font-heading);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--clr-black);
  background: var(--clr-yellow);
  padding: 0.1rem 1rem;
  z-index: 3;
  white-space: nowrap;
  max-width: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.loc-detail__site-card-image {
  position: absolute;
  inset: 3px;
  background: var(--clr-dark-grey);
  overflow: hidden;
  z-index: 1;
}
.loc-detail__site-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.1);
}
.loc-detail__site-card-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.6rem 0.7rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.85), transparent);
  z-index: 2;
}
.loc-detail__site-card-info > span {
  display: block;
  font-size: 0.65rem;
  color: #dcdee1;
  letter-spacing: 0.03em;
  margin-bottom: 0.25rem;
}
.loc-detail__site-card-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.6rem;
  color: #dcdee1;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.loc-detail__live {
  position: absolute;
  top: 0.6rem;
  right: 0.7rem;
  font-size: 0.6rem;
  color: var(--clr-yellow);
  font-weight: 600;
  letter-spacing: 0.06em;
  z-index: 3;
}

/* Corner brackets on card — all 4 corners via dedicated elements */
.loc-detail__site-card-corner {
  position: absolute;
  width: 16px;
  height: 16px;
  border-color: #f8cd04;
  border-style: solid;
  border-width: 0;
  z-index: 4;
}
.loc-detail__site-card-corner--tl {
  border-top-width: 2px;
  border-left-width: 2px;
}
.loc-detail__site-card-corner--tr {
  top: -2px;
  right: -2px;
  border-top-width: 2px;
  border-right-width: 2px;
}
.loc-detail__site-card-corner--bl {
  bottom: -2px;
  left: -2px;
  border-bottom-width: 2px;
  border-left-width: 2px;
}
.loc-detail__site-card-corner--br {
  bottom: -2px;
  right: -2px;
  border-bottom-width: 2px;
  border-right-width: 2px;
}

/* Right — info */
.loc-detail__right {
  padding: 3rem 3rem 3rem 4rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 2rem;
}
.loc-detail__meta {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #2f2f2f;
}
.loc-detail__flagship {
  display: inline-block;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--clr-black);
  background: var(--clr-yellow);
  padding: 0.2rem 0.6rem;
  width: fit-content;
}
.loc-detail__title {
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 0.95;
  text-transform: uppercase;
}
.loc-detail__title-lockup {
  display: block;
  color: var(--clr-white);
}
.loc-detail__title-name {
  display: block;
  color: var(--clr-yellow);
}
.loc-detail__address {
  font-size: 0.9rem;
  color: #6a6a6a;
  margin: 0 0 0.25rem 0;
  line-height: 1.3;
}
.loc-detail__tags {
  font-size: 0.8rem;
  color: #6a6a6a;
  margin: -0.75rem 0 0 0;
  line-height: 1.3;
}

/* Stats row */
.loc-detail__stats {
  display: flex;
  gap: 0;
  margin-top: 1rem;
}
.loc-detail__stat {
  padding: 1rem 2rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 0.2;
}
.loc-detail__stat strong {
  font-family: var(--font-heading);
  font-size: 1.8rem;
  color: var(--clr-white);
}
.loc-detail__stat small {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
}
.loc-detail__stat--highlight {
  background: #17150a;
}
.loc-detail__stat--highlight strong {
  color: var(--clr-yellow);
}
.loc-detail__stat--highlight small {
  color: #575752;
}

/* Features */
.loc-detail__features {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1rem;
}
.loc-detail__feature {
  padding: 0.6rem 0.6rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 1rem;
  align-items: center;
}
.loc-detail__feature svg,
.loc-detail__feature-icon {
  grid-row: 1 / 3;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
}
.loc-detail__feature svg {
  color: var(--clr-yellow);
}
.loc-detail__feature-icon {
  filter: brightness(0) saturate(100%) invert(78%) sepia(68%) saturate(1000%)
    hue-rotate(5deg) brightness(103%) contrast(97%);
}
.loc-detail__feature-label {
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #545252;
}
.loc-detail__feature p {
  font-size: 0.9rem;
  color: #dad9d9;
  margin: -2px;
}

/* CTAs */
.loc-detail__ctas {
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
}
.loc-detail__ctas .btn {
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Responsive */
@media (max-width: 1024px) {
  .loc-detail__inner {
    grid-template-columns: 1fr;
  }
  .loc-detail__left {
    min-height: 400px;
  }
  .loc-detail__right {
    padding: 2rem 1.5rem;
  }
  .loc-detail__site-card {
    width: 50%;
  }
}

@media (max-width: 768px) {
  .loc-detail {
    padding-top: 60px;
  }
  .loc-detail__left {
    min-height: 350px;
  }
  .loc-detail__right {
    padding: 1.5rem 1rem;
    gap: 0.75rem;
  }
  .loc-detail__title {
    font-size: clamp(2rem, 6vw, 3rem);
  }
  .loc-detail__stats {
    flex-wrap: wrap;
  }
  .loc-detail__stat {
    padding: 0.75rem 1.25rem;
    flex: 1 1 40%;
  }
  .loc-detail__feature svg,
  .loc-detail__feature-icon {
    width: 36px;
    height: 36px;
    padding: 8px;
  }
  .loc-detail__site-card {
    width: 60%;
  }
  .loc-detail__ctas {
    flex-direction: column;
  }
  .loc-detail__ctas .btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .loc-detail {
    padding-top: 56px;
  }
  .loc-detail__left {
    min-height: 280px;
  }
  .loc-detail__right {
    padding: 1.25rem var(--gutter);
    gap: 0.6rem;
  }
  .loc-detail__map-header {
    padding: 0.75rem 1rem;
    font-size: 0.55rem;
  }
  .loc-detail__site-card {
    width: 80%;
    aspect-ratio: auto;
    height: 40%;
  }
  .loc-detail__stat {
    padding: 0.6rem 1rem;
  }
  .loc-detail__stat strong {
    font-size: 1.4rem;
  }
  .loc-detail__feature {
    padding: 0.5rem;
    gap: 0 0.75rem;
  }
  .loc-detail__feature svg,
  .loc-detail__feature-icon {
    width: 32px;
    height: 32px;
    padding: 6px;
  }
  .loc-detail__feature p {
    font-size: 0.8rem;
  }
  .loc-detail__address {
    font-size: 0.8rem;
  }
  .loc-detail__tags {
    font-size: 0.75rem;
  }
}

/* ── Location Detail Hero (New Two-Column Layout) ── */
.loc-detail__hero {
  --loc-hero-bg-image: url("../../images/sample-image.jpg");
  --loc-hero-bg-position: center center;
  background-color: var(--clr-black);
  /* Seamless overlay: strong dark L→R fade + light top wash (no banding). */
  background-image:
    linear-gradient(
      90deg,
      rgba(10, 10, 10, 0.96) 0%,
      rgba(10, 10, 10, 0.84) 24%,
      rgba(10, 10, 10, 0.58) 44%,
      rgba(10, 10, 10, 0.24) 62%,
      transparent 82%
    ),
    linear-gradient(
      180deg,
      rgba(10, 10, 10, 0.16) 0%,
      rgba(10, 10, 10, 0.07) 14%,
      transparent 30%
    ),
    var(--loc-hero-bg-image);
  background-repeat: no-repeat;
  background-position: center, center, var(--loc-hero-bg-position);
  background-size: 100% 100%, 100% 100%, cover;
  padding: var(--section-pad) 0 0;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.loc-detail__hero-grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-8);
  align-items: center;
}

/* Left Column */
.loc-detail__hero-left {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
}

.loc-detail__hero-left .loc-detail__breadcrumb {
  margin-bottom: var(--space-6);
}

/* Breadcrumb */
.loc-detail__breadcrumb {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);
}
.loc-detail__breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin: 0;
}
.loc-detail__breadcrumb a {
  color: var(--clr-text-muted);
  text-decoration: none;
}
.loc-detail__breadcrumb [aria-current="page"] {
  color: var(--clr-yellow);
}

/* Focus indicators for hero interactive elements */
.loc-detail__hero a:focus-visible,
.loc-detail__hero .btn:focus-visible {
  outline: 2px solid var(--clr-yellow);
  outline-offset: 2px;
}

/* Flagship Badge */
.loc-detail__flagship-badge {
  display: inline-block;
  width: fit-content;
  background: var(--clr-yellow);
  color: var(--clr-black);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.6rem;
  margin-top: var(--space-4);
}

.loc-detail__hero-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-4);
  width: fit-content;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--clr-border);
  background: rgba(0, 0, 0, 0.26);
  color: var(--clr-text-muted);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.loc-detail__hero-rating-star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--clr-yellow);
}

.loc-detail__hero-rating-text {
  color: var(--clr-text-muted);
}

.loc-detail__hero-rating-text strong {
  color: var(--clr-white);
}

.loc-detail__hero-rating-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--clr-yellow);
  opacity: 0.9;
  flex-shrink: 0;
}

/* New Site — matches split-hero eyebrow (e.g. “● THE 90-SECOND EXPLAINER”). */
.loc-detail__hero-new-site {
  font-family: var(--font-body);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  color: var(--clr-yellow);
  margin: var(--space-4) 0 0;
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.loc-detail__hero-new-site-dot {
  font-size: 10px;
  color: var(--clr-yellow);
  line-height: 1;
}

/* Hero Title */
.loc-detail__hero-title {
  font-family: var(--font-heading);
  font-size: var(--fs-hero);
  line-height: 0.75;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  margin-top: var(--space-4);
  max-width: 100%;
  min-width: 0;
  overflow-wrap: normal;
  word-break: keep-all;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  text-shadow:
    0 1px 8px rgba(0, 0, 0, 0.28),
    0 0 12px rgba(0, 0, 0, 0.14);
}
.loc-detail__hero-title-lockup,
.loc-detail__hero-title-name {
  display: block;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  -webkit-hyphens: none;
}
.loc-detail__hero-title-lockup {
  color: var(--clr-white);
}
.loc-detail__hero-title-name {
  color: var(--clr-yellow);
  text-shadow:
    0 1px 8px rgba(0, 0, 0, 0.28),
    0 0 12px rgba(0, 0, 0, 0.14);
}

/* Address Bar */
.loc-detail__address-bar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-4);
  font-size: var(--fs-sm);
}

.loc-detail__address-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-3);
}
.loc-detail__address-text,
.loc-detail__address-postcode {
  color: var(--clr-text-muted);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.loc-detail__address-postcode {
  background: rgba(255, 255, 255, 0.08);
  padding: 0.2rem 0.8rem;
  letter-spacing: 0.2rem;
  border: 1px solid var(--clr-border);
}
.loc-detail__address-divider {
  display: none;
}
.loc-detail__address-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.loc-detail__address-directions {
  color: var(--clr-yellow);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.loc-detail__address-directions.btn--directions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  border: 1px solid var(--clr-yellow);
  color: var(--clr-yellow);
  padding: 0.4rem 0.8rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-decoration: none;
  transition:
    background var(--transition-fast),
    color var(--transition-fast);
}
.loc-detail__address-directions.btn--directions svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.loc-detail__address-directions.btn--directions:hover {
  background: var(--clr-yellow);
  color: var(--clr-black);
}

/* Inline explore CTA — mobile only (desktop uses floating CTA) */
.loc-detail__address-explore {
  display: none;
  align-items: center;
  gap: var(--space-2);
  padding: 0.4rem 0.8rem;
  background: var(--clr-yellow);
  color: var(--clr-black);
  border: 1px solid var(--clr-yellow);
  font-family: var(--font-heading);
  font-size: var(--fs-sm);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background var(--transition-fast),
    border-color var(--transition-fast);
}
.loc-detail__address-explore-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.loc-detail__address-explore:hover {
  background: #e0b900;
  border-color: #e0b900;
  color: var(--clr-black);
}

/* Description */
.loc-detail__hero-desc {
  color: var(--clr-text-muted);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  max-width: 600px;
  margin-top: var(--space-4);
}

/* Right Column — Unit Sizes */
.loc-detail__hero-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-6);
  background: var(--clr-black);
  padding: var(--space-6);
  border: 1px solid var(--clr-border);
  position: relative;
  z-index: 1;
  min-width: 0;
  isolation: isolate;
}
.loc-detail__hero-summary {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.loc-detail__hero-summary-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--clr-white);
  display: inline-block;
  flex-shrink: 0;
}
.loc-detail__hero-summary-dot--yellow {
  background: var(--clr-yellow);
}
.loc-detail__hero-summary-text {
  display: flex;
  align-items: center;
  gap: 1em;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
}
.loc-detail__hero-summary-text strong {
  color: var(--clr-text-muted);
}
.loc-detail__hero-summary-text .loc-detail__hero-summary-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--clr-white);
  display: inline-block;
}

.loc-detail__unit-size-price {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--clr-yellow);
}

.loc-detail__unit-sizes {
  width: 100%;
  min-width: 0;
}

.loc-detail__unit-sizes-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  isolation: isolate;
}

.loc-detail__unit-sizes-grid--count-4 {
  width: 100%;
}

.loc-detail__unit-sizes-grid--single,
.loc-detail__unit-sizes-grid--count-2,
.loc-detail__unit-sizes-grid--count-3 {
  width: fit-content;
  max-width: 100%;
  grid-template-columns: repeat(var(--unit-size-cols, 1), minmax(0, 1fr));
}

.loc-detail__unit-sizes-grid--single {
  --unit-size-cols: 1;
}

.loc-detail__unit-sizes-grid--count-2 {
  --unit-size-cols: 2;
}

.loc-detail__unit-sizes-grid--count-3 {
  --unit-size-cols: 3;
}

.loc-detail__unit-size {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-2);
  min-width: 0;
  text-align: left;
  border: 1px solid var(--clr-border);
  background: var(--clr-black);
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.loc-detail__unit-sizes-grid--count-4 .loc-detail__unit-size-sqft {
  font-size: 0.625rem;
  line-height: 1.15;
  white-space: normal;
  overflow-wrap: anywhere;
}

.loc-detail__unit-size-label {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: var(--fw-bold);
  color: var(--clr-white);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  line-height: 0.85;
}

.loc-detail__unit-size-sqft {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: var(--fw-regular);
  color: var(--clr-text-muted);
  text-transform: uppercase;
  line-height: 1.2;
  white-space: nowrap;
}

.loc-detail__unit-size-sqft sup {
  font-size: 0.55em;
  line-height: 0;
  vertical-align: super;
  font-weight: 400;
  text-transform: none;
}

.loc-detail__unit-size-count {
  display: block;
  line-height: 1.2;
}

.loc-detail__unit-size-count-value {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: var(--fw-bold);
  color: var(--clr-yellow);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.loc-detail__unit-size-count-value--unavailable {
  font-size: 0.7rem;
  color: var(--clr-text-muted);
  font-weight: normal;
}

/* CTA Buttons */
.loc-detail__hero-ctas {
  display: flex;
  gap: var(--space-4);
}
.loc-detail__hero-ctas .btn:first-child {
  flex: 7;
}
.loc-detail__hero-ctas .btn:last-child {
  flex: 3;
}
.loc-detail__hero-ctas .btn {
  min-height: 44px;
  min-width: 44px;
  text-align: center;
  justify-content: center;
}

/* Fallback message */
.loc-detail__unit-sizes-fallback {
  color: var(--clr-text-muted);
  font-size: var(--fs-sm);
  font-style: italic;
}

/* Wide screens: stronger L→R fade over the title column */
@media (min-width: 1440px) {
  .loc-detail__hero {
    background-image:
      linear-gradient(
        90deg,
        rgba(8, 8, 8, 0.97) 0%,
        rgba(8, 8, 8, 0.9) 26%,
        rgba(8, 8, 8, 0.66) 44%,
        rgba(8, 8, 8, 0.34) 58%,
        rgba(8, 8, 8, 0.12) 72%,
        transparent 88%
      ),
      linear-gradient(
        180deg,
        rgba(8, 8, 8, 0.18) 0%,
        rgba(8, 8, 8, 0.08) 14%,
        transparent 30%
      ),
      var(--loc-hero-bg-image);
  }

  .loc-detail__hero-grid {
    gap: clamp(2.5rem, 4vw, 4.5rem);
  }
}

@media (min-width: 1920px) {
  .loc-detail__hero {
    background-image:
      linear-gradient(
        90deg,
        rgba(8, 8, 8, 0.98) 0%,
        rgba(8, 8, 8, 0.92) 28%,
        rgba(8, 8, 8, 0.7) 46%,
        rgba(8, 8, 8, 0.38) 60%,
        transparent 82%
      ),
      linear-gradient(
        180deg,
        rgba(8, 8, 8, 0.2) 0%,
        rgba(8, 8, 8, 0.09) 14%,
        transparent 30%
      ),
      var(--loc-hero-bg-image);
  }
}

/* ── Hero Responsive ── */
@media (max-width: 1024px) {
  .loc-detail__hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }

  .loc-detail__hero-title {
    font-size: clamp(2.25rem, 5vw + 0.5rem, 3.75rem);
  }
}

@media (max-width: 768px) {
  /*
   * Photo band + soft bottom fade into the dark page (no hard cut).
   * Units card loses the heavy boxed border so the hero reads as one section.
   */
  .loc-detail__hero {
    --loc-hero-bg-position: center center;
    --loc-hero-mobile-image-height: clamp(340px, 78vw, 480px);
    background-image: none;
    background-color: var(--clr-black);
    overflow: hidden;
  }

  .loc-detail__hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: var(--loc-hero-mobile-image-height);
    background-image: var(--loc-hero-bg-image);
    background-size: cover;
    background-position: var(--loc-hero-bg-position);
    background-repeat: no-repeat;
    z-index: 0;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(
      to bottom,
      #000 0%,
      #000 52%,
      rgba(0, 0, 0, 0.55) 78%,
      transparent 100%
    );
    mask-image: linear-gradient(
      to bottom,
      #000 0%,
      #000 52%,
      rgba(0, 0, 0, 0.55) 78%,
      transparent 100%
    );
  }

  .loc-detail__hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(var(--loc-hero-mobile-image-height) + 2.5rem);
    background:
      linear-gradient(
        90deg,
        rgba(10, 10, 10, 0.92) 0%,
        rgba(10, 10, 10, 0.8) 28%,
        rgba(10, 10, 10, 0.52) 52%,
        rgba(10, 10, 10, 0.2) 72%,
        transparent 88%
      ),
      linear-gradient(
        to bottom,
        rgba(10, 10, 10, 0.46) 0%,
        rgba(10, 10, 10, 0.42) 24%,
        rgba(10, 10, 10, 0.56) 50%,
        rgba(10, 10, 10, 0.8) 74%,
        rgba(10, 10, 10, 0.94) 88%,
        var(--clr-black) 100%
      );
    z-index: 0;
    pointer-events: none;
  }

  .loc-detail__hero > .container {
    position: relative;
    z-index: 1;
  }

  .loc-detail__hero-rating {
    font-size: 0.6rem;
    width: 100%;
    max-width: fit-content;
    padding: 0.22rem 0.5rem;
    margin-top: var(--space-4);
  }

  .loc-detail__hero-title {
    width: 100%;
    font-size: clamp(2.5rem, 12vw, 3.75rem);
    line-height: 0.78;
    margin-top: var(--space-6);
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .loc-detail__hero-title-name {
    font-size: 1.2em;
  }
  .loc-detail__address-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
    margin-top: var(--space-3);
  }
  .loc-detail__hero-grid {
    gap: var(--space-8);
  }
  .loc-detail__address-actions {
    width: 100%;
  }
  .loc-detail__address-explore {
    display: inline-flex;
  }
  body:has(.loc-detail__address-explore) .loc-detail__float-cta {
    display: none !important;
  }
  .loc-detail__address-divider {
    display: none;
  }
  .loc-detail__hero-ctas {
    flex-direction: column;
    gap: var(--space-3);
  }
  .loc-detail__hero-ctas .btn {
    width: 100%;
    justify-content: center;
  }

  /* Continuous with hero — drop heavy card chrome */
  .loc-detail__hero-right {
    gap: 0.75rem;
    border: none;
    background: transparent;
    padding: var(--space-2) 0 0;
  }

  .loc-detail__unit-sizes-grid:not(.loc-detail__unit-sizes-grid--single):not(.loc-detail__unit-sizes-grid--count-2):not(.loc-detail__unit-sizes-grid--count-3),
  .loc-detail__unit-sizes-grid--count-2,
  .loc-detail__unit-sizes-grid--count-3,
  .loc-detail__unit-sizes-grid--count-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    max-width: 100%;
    gap: 0.2rem 0.2rem;
    align-items: stretch;
  }

  .loc-detail__unit-sizes-grid--single {
    width: 100%;
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .loc-detail__unit-size {
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    justify-content: flex-start;
    column-gap: 0.3rem;
    row-gap: 0.1rem;
    padding: 0.25rem 0.4rem;
    width: 100%;
    height: auto;
    min-height: 0;
  }

  .loc-detail__unit-size-label {
    flex: 1 0 100%;
    font-size: 1.05rem;
    line-height: 1;
  }

  .loc-detail__unit-size-sqft,
  .loc-detail__unit-sizes-grid--count-4 .loc-detail__unit-size-sqft {
    flex: 0 1 auto;
    font-size: 0.65rem;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: normal;
    min-width: 0;
    max-width: 100%;
  }

  .loc-detail__unit-size-count {
    flex: 0 0 auto;
    text-align: left;
    line-height: 1.15;
  }

  .loc-detail__unit-size-count-value {
    font-size: 0.7rem;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }

  .loc-detail__unit-size-count-value--unavailable {
    font-size: 0.6rem;
  }
}

@media (max-width: 480px) {
  .loc-detail__hero {
    --loc-hero-bg-position: center center;
    --loc-hero-mobile-image-height: clamp(320px, 82vw, 440px);
  }

  .loc-detail__address-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .loc-detail__address-actions > * {
    width: 100%;
    justify-content: center;
  }

  .loc-detail__unit-sizes-grid--count-2,
  .loc-detail__unit-sizes-grid--count-3 {
    grid-template-columns: 1fr;
  }

  .loc-detail__hero-right {
    gap: 0.65rem;
    border: none;
    background: transparent;
    padding: var(--space-2) 0 0;
  }

  .loc-detail__unit-sizes-grid:not(.loc-detail__unit-sizes-grid--single):not(.loc-detail__unit-sizes-grid--count-2):not(.loc-detail__unit-sizes-grid--count-3),
  .loc-detail__unit-sizes-grid--count-4 {
    gap: 0.15rem 0.15rem;
  }

  .loc-detail__unit-size {
    column-gap: 0.25rem;
    row-gap: 0.08rem;
    padding: 0.22rem 0.35rem;
  }

  .loc-detail__unit-size-label {
    font-size: 0.95rem;
  }

  .loc-detail__unit-size-sqft,
  .loc-detail__unit-sizes-grid--count-4 .loc-detail__unit-size-sqft {
    font-size: 0.6rem;
  }

  .loc-detail__unit-size-count-value {
    font-size: 0.65rem;
  }

  .loc-detail__address-postcode {
    letter-spacing: 0.08em;
  }
}

/* ── Explore the Site Section ── */
.loc-detail__explore {
  width: 100%;
  background: var(--clr-black);
  padding: var(--space-16) 0;
  scroll-margin-top: 88px;
}

/* Header — two-column layout */
.loc-detail__explore-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-6);
  margin-bottom: var(--space-8);
}

.loc-detail__explore-header-left {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.loc-detail__explore-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-4);
}

.loc-detail__explore-header-heading {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
  text-transform: uppercase;
}

.loc-detail__explore-header-heading-white {
  color: var(--clr-white);
}

.loc-detail__explore-header-heading-accent {
  color: var(--clr-yellow);
}

/* Stats meta line */
.loc-detail__explore-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75em 1em;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
}

.loc-detail__explore-header-meta strong {
  color: var(--clr-text-muted);
}

.loc-detail__explore-header-meta-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--clr-white);
  display: inline-block;
}

.loc-detail__explore-header-meta-dot--yellow {
  background: var(--clr-yellow);
}

/* Jump to Map button — solid yellow with location icon */
.loc-detail__explore-header-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  border: 1px solid var(--clr-black);
  color: var(--clr-black);
  background: var(--clr-yellow);
  padding: var(--space-3);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  border-radius: 0;
  cursor: pointer;
  transition:
    background var(--transition-fast),
    color var(--transition-fast);
  min-height: 44px;
  min-width: 44px;
  width: fit-content;
}


.loc-detail__explore-header-btn:hover {
  background: var(--clr-white);
  color: var(--clr-black);
}

/* Map Popup */
.loc-detail__explore-map-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loc-detail__explore-map-popup[hidden] {
  display: none;
}

.loc-detail__explore-map-popup-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
}

.loc-detail__explore-map-popup-content {
  position: relative;
  width: 90%;
  max-width: 700px;
  height: 70vh;
  max-height: 500px;
  background: var(--clr-black);
  border: 1px solid var(--clr-border);
  border-radius: 8px;
  overflow: hidden;
}

.loc-detail__explore-map-popup-close {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  z-index: 2;
  background: var(--clr-black);
  border: 1px solid var(--clr-border);
  color: var(--clr-white);
  font-size: 1.5rem;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 4px;
  line-height: 1;
}

.loc-detail__explore-map-popup-close:hover {
  background: var(--clr-yellow);
  color: var(--clr-black);
}

.loc-detail__explore-map-popup-map {
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .loc-detail__explore-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .loc-detail__explore-header-right {
    align-items: flex-start;
  }
}

/* Grid layout — viewer + sidebar */
.loc-detail__explore-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
}

@media (min-width: 1024px) {
  .loc-detail__explore-grid {
    grid-template-columns: 1fr 300px;
  }
  .loc-detail__explore-viewer,
  .loc-detail__explore-tabs,
  .loc-detail__explore-panel {
    grid-column: 1;
  }
  .loc-detail__explore-sidebar {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    height: 0;
    min-height: 100%;
    overflow-y: auto;
  }
}

/* Main Viewer */
.loc-detail__explore-viewer {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.loc-detail__explore-viewer-content {
  aspect-ratio: 16 / 9;
  width: 100%;
  position: relative;
  background: #111;
}

.loc-detail__explore-viewer-iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: none;
}

.loc-detail__explore-viewer-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: var(--space-8);
  color: var(--clr-text-muted);
  font-size: 0.9rem;
  text-align: center;
}

/* Viewer Info Bar overlay */
.loc-detail__explore-viewer-info {
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  max-width: calc(100% - var(--space-4));
  width: auto;
  padding: var(--space-4) var(--space-5);
  z-index: 2;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-2);
  pointer-events: none;
}

.loc-detail__explore-viewer-info > * {
  pointer-events: auto;
}

.loc-detail__explore-viewer-info-badge {
  color: var(--clr-yellow);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: 1px solid var(--clr-yellow);
  background: var(--clr-black);
  padding: 4px 10px;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  flex: 0 0 auto;
  white-space: nowrap;
  align-self: stretch;
}

.loc-detail__explore-viewer-info-box {
  display: block;
  background: var(--clr-black);
  padding: 6px 10px;
  flex: 1 1 auto;
  width: auto;
  max-width: 100%;
  min-width: 0;
  line-height: 1.3;
}

.loc-detail__explore-viewer-info-title {
  display: inline;
  color: var(--clr-white);
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  overflow-wrap: anywhere;
}

.loc-detail__explore-viewer-info-details {
  display: inline;
  color: var(--clr-text-muted);
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  overflow-wrap: anywhere;
}

/* Keeps title + details on one line when space allows */
.loc-detail__explore-viewer-info-details:not(:empty)::before {
  content: '\00a0·\00a0';
  color: var(--clr-text-muted);
  opacity: 0.75;
}

/* Media Tabs — below viewer, fill the viewer width evenly */
.loc-detail__explore-tabs {
  display: flex;
  flex-direction: row;
  gap: var(--space-2);
  width: 100%;
}

.loc-detail__explore-tab {
  display: inline-flex;
  align-items: center;
  justify-content: left;
  gap: 1em;
  padding: var(--space-2) var(--space-4);
  min-height: 44px;
  flex: 1 1 0;
  min-width: 0;
  background: transparent;
  border: 1px solid var(--clr-border);
  cursor: pointer;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--clr-white);
  transition:
    background var(--transition-fast),
    color var(--transition-fast),
    border-color var(--transition-fast);
  white-space: nowrap;
}

.loc-detail__explore-tab[hidden] {
  display: none !important;
}

.loc-detail__explore-tab:hover {
  background: var(--clr-white);
  color: var(--clr-black);
  border-color: var(--clr-white);
}

.loc-detail__explore-tab--active {
  background: var(--clr-white);
  color: var(--clr-black);
  border-color: var(--clr-white);
}

.loc-detail__explore-tab--disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Tab icon via CSS mask */
.loc-detail__explore-tab-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: inline-block;
  background: currentColor;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

.tab-icon--scans {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.tab-icon--video {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E");
}

.tab-icon--gallery {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E");
}

.tab-icon--siteplan {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3C/svg%3E");
}

.loc-detail__explore-tab-label {
  display: inline;
  font-size: 0.8rem;
}

.loc-detail__explore-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-width: 20px;
  height: 18px;
  padding: 0 5px;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.15);
  color: inherit;
}

.loc-detail__explore-tab--active .loc-detail__explore-tab-count,
.loc-detail__explore-tab:hover .loc-detail__explore-tab-count {
  background: rgba(0, 0, 0, 0.12);
}

/* Tab Panel */
.loc-detail__explore-panel {
  padding: var(--space-4) 0;
}

/* Gallery & Site Plan — photo viewer */

/* Video iframe — full viewer size */
.loc-detail__explore-video-viewer {
  position: relative;
  width: 100%;
  height: 100%;
}

.loc-detail__explore-video-iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: none;
}

.loc-detail__explore-video-main-iframe {
  width: 100%;
  height: 100%;
  border: none;
  position: absolute;
  top: 0;
  left: 0;
}

/* Video thumbnail play icon overlay */
.loc-detail__explore-video-thumb-wrap {
  position: relative;
}

.loc-detail__explore-video-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.loc-detail__explore-video-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loc-detail__explore-video-play-icon::after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background: var(--clr-white);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E");
  mask-size: contain;
}

.loc-detail__explore-video-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #222;
  font-size: 0.6rem;
  color: var(--clr-text-muted);
}

.loc-detail__explore-gallery {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: var(--space-2);
}

.loc-detail__explore-gallery-main {
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111;
  border-radius: 4px;
  overflow: hidden;
}

.loc-detail__explore-gallery-main-img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.loc-detail__explore-gallery-counter {
  position: absolute;
  bottom: var(--space-2);
  left: var(--space-3);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--clr-white);
  background: rgba(0, 0, 0, 0.6);
  padding: 2px 8px;
  border-radius: 3px;
}

/* Hide 1/N counter on 360° scans (keep for gallery / video) */
.loc-detail__explore-scans .loc-detail__explore-gallery-counter {
  display: none;
}

.loc-detail__explore-gallery-prev,
.loc-detail__explore-gallery-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6);
  color: var(--clr-white);
  border: none;
  border-radius: 50%;
  font-size: 1.2rem;
  cursor: pointer;
  transition: background var(--transition-fast);
}

.loc-detail__explore-gallery-prev:hover,
.loc-detail__explore-gallery-next:hover {
  background: var(--clr-yellow);
  color: var(--clr-black);
}

.loc-detail__explore-gallery-prev {
  left: var(--space-2);
}

.loc-detail__explore-gallery-next {
  right: var(--space-2);
}

/* Thumbnail strip */
.loc-detail__explore-gallery-thumbs {
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  padding: var(--space-1) 0;
  scrollbar-width: thin;
  scrollbar-color: var(--clr-yellow) rgba(255, 255, 255, 0.05);
}

.loc-detail__explore-gallery-thumbs::-webkit-scrollbar {
  height: 4px;
}

.loc-detail__explore-gallery-thumbs::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}

.loc-detail__explore-gallery-thumbs::-webkit-scrollbar-thumb {
  background: var(--clr-yellow);
  border-radius: 2px;
}

.loc-detail__explore-gallery-thumb {
  flex-shrink: 0;
  width: 60px;
  height: 45px;
  object-fit: cover;
  border-radius: 3px;
  cursor: pointer;
  opacity: 0.5;
  border: 2px solid transparent;
  transition:
    opacity var(--transition-fast),
    border-color var(--transition-fast);
}

.loc-detail__explore-gallery-thumb:hover {
  opacity: 0.8;
}

.loc-detail__explore-gallery-thumb--active {
  opacity: 1;
  border-color: var(--clr-yellow);
}

.loc-detail__explore-scans {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  gap: var(--space-2);
}

.loc-detail__explore-scans-main {
  position: relative;
  flex: 1;
  min-height: 0;
  width: 100%;
  background: #111;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
}

.loc-detail__explore-scans-main .loc-detail__explore-viewer-placeholder {
  flex: 1;
  min-height: 200px;
}

.loc-detail__explore-scans-main .loc-detail__explore-viewer-iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.loc-detail__explore-scans-thumbs {
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  padding: var(--space-1) 0;
  scrollbar-width: thin;
  scrollbar-color: var(--clr-yellow) rgba(255, 255, 255, 0.05);
}

.loc-detail__explore-scans-thumb {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 60px;
  max-width: 140px;
  height: 45px;
  padding: 0 8px;
  border-radius: 3px;
  cursor: pointer;
  opacity: 0.5;
  border: 2px solid transparent;
  background: #222;
  color: var(--clr-text-muted);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
}

.loc-detail__explore-scans-thumb:hover {
  opacity: 0.8;
}

.loc-detail__explore-scans-thumb--active {
  opacity: 1;
  border-color: var(--clr-yellow);
}

.loc-detail__explore-scans-thumb span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

/* Site plan viewer — same layout pattern as gallery */
.loc-detail__explore-siteplan {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: var(--space-2);
}

.loc-detail__explore-siteplan-main {
  position: relative;
  flex: 1;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  background: #111;
  border-radius: 4px;
  overflow: hidden;
}

.loc-detail__explore-siteplan-main-img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.loc-detail__explore-siteplan-zoom {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
  touch-action: none;
  overscroll-behavior: contain;
  cursor: zoom-in;
}

.loc-detail__explore-siteplan-zoom.is-zoomed {
  cursor: grab;
}

.loc-detail__explore-siteplan-zoom.is-dragging {
  cursor: grabbing;
}

.loc-detail__explore-siteplan-zoom-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.loc-detail__explore-siteplan-zoom .loc-detail__explore-siteplan-main-img {
  transform-origin: center center;
  will-change: transform;
}

.loc-detail__explore-siteplan-zoom-controls {
  position: absolute;
  right: var(--space-2);
  bottom: var(--space-2);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 4px;
}

.loc-detail__explore-siteplan-zoom-btn {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: var(--clr-white);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.loc-detail__explore-siteplan-zoom-btn:hover:not(:disabled) {
  background: var(--clr-yellow);
  color: var(--clr-black);
}

.loc-detail__explore-siteplan-zoom-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.loc-detail__explore-siteplan-zoom-level {
  width: auto;
  min-width: 44px;
  padding: 0 6px;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
}

.loc-detail__explore-siteplan-main-frame {
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  border: 0;
  background: #111;
}

.loc-detail__explore-siteplan-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1 1 auto;
  background: #fff;
}

.loc-detail__explore-siteplan-pdf-card {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  height: 100%;
  padding: var(--space-4);
  color: var(--clr-white, #fff);
  text-align: center;
  text-decoration: none;
}

.loc-detail__explore-siteplan-pdf-card-icon {
  width: 48px;
  height: 48px;
  background: var(--clr-yellow);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

.loc-detail__explore-siteplan-pdf-card-title {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  word-break: break-word;
}

.loc-detail__explore-siteplan-pdf-card-cta {
  font-size: 0.75rem;
  color: var(--clr-text-muted);
}

.loc-detail__explore-siteplan-pdf-link {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  z-index: 2;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--clr-black);
  background: var(--clr-yellow);
  padding: 6px 10px;
  border-radius: 3px;
  text-decoration: none;
}

.loc-detail__explore-siteplan-pdf-link:hover,
.loc-detail__explore-siteplan-pdf-link:focus,
.loc-detail__explore-siteplan-pdf-link:focus-visible,
.loc-detail__explore-siteplan-pdf-link:active {
  color: var(--clr-black);
  filter: brightness(0.95);
}

.loc-detail__explore-siteplan-thumbs {
  display: flex;
  gap: var(--space-2);
  overflow-x: auto;
  padding: var(--space-1) 0;
  scrollbar-width: thin;
  scrollbar-color: var(--clr-yellow) rgba(255, 255, 255, 0.05);
}

.loc-detail__explore-siteplan-thumbs::-webkit-scrollbar {
  height: 4px;
}

.loc-detail__explore-siteplan-thumbs::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}

.loc-detail__explore-siteplan-thumbs::-webkit-scrollbar-thumb {
  background: var(--clr-yellow);
  border-radius: 2px;
}

.loc-detail__explore-siteplan-thumb {
  flex-shrink: 0;
  width: 60px;
  height: 45px;
  object-fit: cover;
  border-radius: 3px;
  cursor: pointer;
  opacity: 0.5;
  border: 2px solid transparent;
  padding: 0;
  background: #222;
  color: var(--clr-text-muted);
  transition:
    opacity var(--transition-fast),
    border-color var(--transition-fast);
}

.loc-detail__explore-siteplan-thumb:hover {
  opacity: 0.8;
}

.loc-detail__explore-siteplan-thumb--active {
  opacity: 1;
  border-color: var(--clr-yellow);
}

.loc-detail__explore-siteplan-thumb--pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 60px;
  max-width: 140px;
  padding: 0 8px;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-align: center;
}

.loc-detail__explore-siteplan-thumb--pdf span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}

/* Sidebar */
.loc-detail__explore-sidebar {
  background: var(--clr-black);
  border: 1px solid var(--clr-border);
  border-radius: 4px;
  overflow-y: auto;
  padding: var(--space-3);
  scrollbar-width: thin;
  scrollbar-color: var(--clr-yellow) rgba(255, 255, 255, 0.05);
}

.loc-detail__explore-sidebar::-webkit-scrollbar {
  width: 6px;
}

.loc-detail__explore-sidebar::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.loc-detail__explore-sidebar::-webkit-scrollbar-thumb {
  background: var(--clr-yellow);
  border-radius: 3px;
}

.loc-detail__explore-sidebar::-webkit-scrollbar-thumb:hover {
  background: var(--clr-white);
}

.loc-detail__explore-sidebar-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-transform: uppercase;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--clr-text-muted);
  padding: var(--space-2) var(--space-3);
  padding-left: 0;
  margin-bottom: var(--space-2);
}

.loc-detail__explore-sidebar-heading-left {
  display: flex;
  align-items: center;
  gap: 0.75em;
  color: var(--clr-yellow);
}

.loc-detail__explore-sidebar-heading-dash {
  display: inline-block;
  width: 12px;
  height: 2px;
  background: var(--clr-yellow);
}

.loc-detail__explore-sidebar-heading-count {
  color: var(--clr-text-muted);
}

.loc-detail__explore-sidebar-empty {
  padding: var(--space-6) var(--space-4);
  color: var(--clr-text-muted, #6a6a6a);
  font-size: 0.85rem;
  text-align: center;
  line-height: 1.5;
}

.loc-detail__explore-sidebar-item {
  padding: var(--space-3);
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  cursor: pointer;
  border: 1px solid var(--clr-border);
  margin-bottom: var(--space-2);
  color: var(--clr-white);
  font-size: 0.8rem;
  transition:
    background var(--transition-fast),
    border-color var(--transition-fast);
}

.loc-detail__explore-sidebar-item:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--clr-white);
}

.loc-detail__explore-sidebar-item--active {
  background: var(--clr-yellow);
  color: var(--clr-black);
  border-color: var(--clr-yellow);
}

.loc-detail__explore-sidebar-item--active
  .loc-detail__explore-sidebar-item-icon,
.loc-detail__explore-sidebar-item:hover .loc-detail__explore-sidebar-item-icon {
  border-color: var(--clr-black);
}

/* Common area items — static, no interaction */
.loc-detail__explore-sidebar-item--static {
  cursor: default;
}

.loc-detail__explore-sidebar-item--static:hover {
  background: transparent;
  border-color: var(--clr-border);
}

.loc-detail__explore-sidebar-item--static:hover
  .loc-detail__explore-sidebar-item-icon {
  border-color: var(--clr-border);
}

.loc-detail__explore-sidebar-item--active:hover {
  background: var(--clr-yellow);
}

/* Eye icon in bordered box */
.loc-detail__explore-sidebar-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border: 1px solid var(--clr-border);
  border-radius: 4px;
  position: relative;
}

.loc-detail__explore-sidebar-item-icon::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

.loc-detail__explore-sidebar-item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.loc-detail__explore-sidebar-item-price {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.1rem;
  margin-left: var(--space-2);
  text-decoration: none;
  color: inherit;
  line-height: 1;
}

.loc-detail__explore-sidebar-item-price:hover {
  color: inherit;
}

.loc-detail__explore-sidebar-item-price-from {
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
  opacity: 0.9;
}

.loc-detail__explore-sidebar-item-price-value {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  filter: blur(3px);
  opacity: 0.75;
  user-select: none;
  pointer-events: none;
  transition: filter var(--transition-fast), opacity var(--transition-fast);
}

.loc-detail__explore-sidebar-item-price:hover .loc-detail__explore-sidebar-item-price-value,
.loc-detail__explore-sidebar-item-price:focus-visible .loc-detail__explore-sidebar-item-price-value {
  filter: blur(3px);
  opacity: 0.9;
}

.loc-detail__explore-sidebar-item--active .loc-detail__explore-sidebar-item-price-from {
  color: var(--clr-black);
  opacity: 0.65;
}

.loc-detail__explore-sidebar-item--active .loc-detail__explore-sidebar-item-price-value {
  color: var(--clr-black);
  filter: blur(4px);
  opacity: 0.8;
}

.loc-detail__explore-sidebar-item-title {
  display: block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.loc-detail__explore-sidebar-item-subtitle {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--clr-text-muted);
}

.loc-detail__explore-sidebar-item--active
  .loc-detail__explore-sidebar-item-subtitle {
  color: var(--clr-black);
  opacity: 0.7;
}

/* Book a View button — below sidebar, full width of sidebar column */
.loc-detail__explore-book-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: var(--space-3) var(--space-6);
  background: var(--clr-yellow);
  color: var(--clr-black);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition:
    background var(--transition-fast),
    color var(--transition-fast);
}

.loc-detail__explore-book-btn:hover {
  background: var(--clr-yellow);
  color: var(--clr-black);
}

@media (min-width: 1024px) {
  .loc-detail__explore-book-btn {
    grid-column: 2;
    align-self: end;
  }
}

/* Focus & Accessibility — Explore Section */
.loc-detail__explore-tab:focus-visible,
.loc-detail__explore-sidebar-item:focus-visible,
.loc-detail__explore-header-btn:focus-visible,
.loc-detail__explore-book-btn:focus-visible {
  outline: 2px solid var(--clr-yellow);
  outline-offset: 2px;
}

/* ── Responsive — Explore Section ── */

/* Tablet: stack viewer above sidebar (explicit single-column) */
@media (max-width: 1023px) {
  .loc-detail__explore-grid {
    grid-template-columns: 1fr;
  }

  /* Horizontally scrollable tab bar — tabs keep readable size instead of shrinking */
  .loc-detail__explore-tabs {
    flex-wrap: nowrap;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: var(--gutter);
    scrollbar-width: thin;
    scrollbar-color: var(--clr-yellow) rgba(255, 255, 255, 0.08);
    padding-bottom: var(--space-2);
  }

  .loc-detail__explore-tabs::-webkit-scrollbar {
    height: 4px;
  }

  .loc-detail__explore-tabs::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 2px;
  }

  .loc-detail__explore-tabs::-webkit-scrollbar-thumb {
    background: var(--clr-yellow);
    border-radius: 2px;
  }

  .loc-detail__explore-tab {
    flex: 0 0 auto;
    flex-shrink: 0;
    min-width: max-content;
    white-space: nowrap;
    scroll-snap-align: start;
    gap: 0.5em;
    padding: var(--space-2) var(--space-3);
    min-height: 44px;
  }

  .loc-detail__explore-tab-label {
    font-size: 0.75rem;
  }

  .loc-detail__explore-viewer,
  .loc-detail__explore-tabs,
  .loc-detail__explore-panel {
    min-width: 0;
  }
}

/* Mobile: scrollable tabs, constrained sidebar */
@media (max-width: 767px) {
  .loc-detail__explore-tabs {
    scrollbar-width: none;
  }

  .loc-detail__explore-tabs::-webkit-scrollbar {
    display: none;
  }

  /* Taller than 16:9 so 360 / video / gallery feel usable on narrow screens */
  .loc-detail__explore-viewer-content {
    aspect-ratio: 1 / 1;
    min-height: 320px;
  }

  .loc-detail__explore-sidebar {
    max-height: 300px;
    overflow-y: auto;
  }

  .loc-detail__explore-sidebar-item {
    min-height: 44px;
    min-width: 44px;
  }

  .loc-detail__explore-header-btn {
    min-height: 44px;
    min-width: 44px;
    width: 100%;
  }

  .loc-detail__explore-viewer-info {
    max-width: calc(100% - var(--space-3));
    padding: var(--space-2);
    gap: var(--space-2);
  }

  .loc-detail__explore-viewer-info-badge {
    padding: 4px 8px;
    font-size: 0.55rem;
  }

  .loc-detail__explore-viewer-info-box {
    padding: 4px 8px;
  }

  .loc-detail__explore-viewer-info-title {
    font-size: 0.7rem;
  }

  .loc-detail__explore-viewer-info-details {
    font-size: 0.65rem;
  }

  .loc-detail__explore-gallery-prev,
  .loc-detail__explore-gallery-next {
    width: 44px;
    height: 44px;
  }

  .loc-detail__explore-map-popup-content {
    width: 95%;
    height: min(70vh, 480px);
  }
}

/* ══════════════════════════════════════════════════════════════════
   Pricing Section
   ══════════════════════════════════════════════════════════════════ */

.loc-detail__pricing {
  width: 100%;
  background: var(--clr-black);
  padding: var(--space-16) 0;
  border-top: 1px solid var(--clr-border);
  scroll-margin-top: 88px;
}

/* Header — two-column */
.loc-detail__pricing-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-6);
  margin-bottom: var(--space-8);
}

.loc-detail__pricing-header-left {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.loc-detail__pricing-header-right {
  display: flex;
  align-items: center;
}

.loc-detail__pricing-heading {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
  text-transform: uppercase;
}

.loc-detail__pricing-heading-white {
  color: var(--clr-white);
}

.loc-detail__pricing-heading-accent {
  color: var(--clr-yellow);
}

/* Meta dots line */
.loc-detail__pricing-header-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75em 1em;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
}

.loc-detail__pricing-header-meta-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--clr-white);
  display: inline-block;
}

.loc-detail__pricing-header-meta-dot--yellow {
  background: var(--clr-yellow);
}

/* Form Card */
.loc-detail__pricing-form-card {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  background: var(--clr-white);
  padding: var(--space-8);
  border-left: 4px solid var(--clr-yellow);
}

.loc-detail__pricing-form-left {
  flex: 0 0 38%;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.loc-detail__pricing-form-eyebrow {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--clr-text-muted);
}

.loc-detail__pricing-form-title {
  font-family: var(--font-heading);
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  font-weight: 900;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--clr-black);
  margin: 0;
}

.loc-detail__pricing-form-desc {
  font-size: 0.75rem;
  color: var(--clr-text-muted);
  line-height: 1.5;
  margin: 0;
}

/* Form */
.loc-detail__pricing-form {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.loc-detail__pricing-form-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
  align-items: flex-start;
}

@media (min-width: 1200px) {
  .loc-detail__pricing-form-fields {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.loc-detail__pricing-form-field {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.loc-detail__pricing-form-error-slot {
  display: block;
  min-height: 0;
}

.loc-detail__pricing-form-field .loc-detail__pricing-form-input {
  width: 100%;
  box-sizing: border-box;
}

.loc-detail__pricing-form-input {
  flex: 1;
  padding: var(--space-3) var(--space-4);
  border: 1px solid #ddd;
  font-size: 1rem;
  font-family: inherit;
  background: var(--clr-white);
  color: var(--clr-black);
  min-height: 44px;
}

.loc-detail__pricing-form-input::placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.loc-detail__pricing-form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23797979' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  padding-right: 2.25rem;
  cursor: pointer;
}

.loc-detail__pricing-form-select:has(option[value=""]:checked) {
  color: rgba(0, 0, 0, 0.4);
}

.loc-detail__pricing-form-select option {
  color: var(--clr-black);
}

.loc-detail__pricing-form-input:focus {
  outline: 2px solid var(--clr-yellow);
  outline-offset: 0;
  border-color: var(--clr-yellow);
}

.loc-detail__pricing-form-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  padding: var(--space-3) var(--space-6);
  background: var(--clr-yellow);
  color: var(--clr-black);
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  min-height: 48px;
  transition: background var(--transition-fast);
}

.loc-detail__pricing-form-btn:hover {
  background: var(--clr-black);
  color: var(--clr-yellow);
}

/* Responsive — Pricing */
@media (max-width: 1023px) {
  .loc-detail__pricing-header {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px) {
  .loc-detail__pricing-form-card {
    flex-direction: column;
    padding: var(--space-6);
  }

  .loc-detail__pricing-form-left {
    flex: none;
    width: 100%;
  }

  .loc-detail__pricing-form-fields {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .loc-detail__pricing-form-btn,
  .loc-detail__pricing-form-success-btn {
    align-self: stretch;
    width: 100%;
  }
}


/* ── Pricing Form — Validation & Results ── */

/* Validation error states */
.loc-detail__pricing-form-input--error {
  border-color: #c0392b !important;
  box-shadow: 0 0 0 1px #c0392b;
}

.loc-detail__pricing-form-input--error:focus {
  outline-color: #c0392b;
  border-color: #c0392b;
}

.loc-detail__pricing-form-error {
  display: block;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #c0392b;
  margin: 0;
  font-weight: 500;
}

.loc-detail__pricing-form-field .loc-detail__pricing-form-error {
  padding-top: 0.125rem;
}

.loc-detail__pricing-form-error--global {
  background: rgba(231, 76, 60, 0.1);
  border: 1px solid rgba(231, 76, 60, 0.3);
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  font-size: 0.85rem;
}

/* Loading state for button */
.loc-detail__pricing-form-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Success state — confirmation on the current page */
.loc-detail__pricing-form-success {
  background: rgba(248, 205, 4, 0.15);
  border: 1px solid rgba(248, 205, 4, 0.45);
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--clr-black);
}

.loc-detail__pricing-form-success--ready {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.loc-detail__pricing-form-success-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--clr-black);
}

.loc-detail__pricing-form-success-hint {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.65);
}

.loc-detail__pricing-form-success-btn {
  align-self: flex-end;
  text-decoration: none;
}

.loc-detail__pricing-form-success-btn:focus {
  outline: 2px solid var(--clr-yellow);
  outline-offset: 2px;
}

/* ── Pricing Popup / Modal ── */
.pricing-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pricingFadeIn 0.2s ease;
}

@keyframes pricingFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.pricing-popup__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(4px);
}

.pricing-popup__content {
  position: relative;
  width: 90%;
  max-width: 750px;
  max-height: 80vh;
  background: #111;
  border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.pricing-popup__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  background: transparent;
  border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
  color: var(--clr-white, #fff);
  font-size: 1.5rem;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 1;
  transition: background 0.2s, color 0.2s;
}

.pricing-popup__close:hover {
  background: var(--clr-yellow, #F8CD04);
  color: var(--clr-black, #000);
}

.pricing-popup__header {
  padding: 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pricing-popup__title {
  font-family: var(--font-heading, 'Oswald', sans-serif);
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--clr-white, #fff);
  text-transform: uppercase;
  margin: 0 0 0.25rem 0;
}

.pricing-popup__location {
  font-size: 0.85rem;
  color: var(--clr-yellow, #F8CD04);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}

.pricing-popup__body {
  overflow-y: auto;
  flex: 1;
  scrollbar-width: thin;
  scrollbar-color: var(--clr-yellow, #F8CD04) rgba(255, 255, 255, 0.05);
}

.pricing-popup__body::-webkit-scrollbar {
  width: 6px;
}

.pricing-popup__body::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.pricing-popup__body::-webkit-scrollbar-thumb {
  background: var(--clr-yellow, #F8CD04);
  border-radius: 3px;
}

.pricing-popup__body::-webkit-scrollbar-thumb:hover {
  background: var(--clr-white, #fff);
}

.pricing-popup__empty {
  color: var(--clr-text-muted, #6a6a6a);
  font-size: 0.9rem;
  padding: 1rem;
}

.pricing-popup__table-wrap {
  overflow-x: auto;
}

.pricing-popup__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.pricing-popup__table thead th {
  text-align: left;
  padding: 0.75rem 1rem;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--clr-text-muted, #6a6a6a);
  border-bottom: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
  white-space: nowrap;
}

.pricing-popup__table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: background 0.15s;
}

.pricing-popup__table tbody tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

.pricing-popup__table tbody td {
  padding: 0.75rem 1rem;
  color: var(--clr-white, #fff);
  white-space: nowrap;
}

.pricing-popup__price {
  color: var(--clr-yellow, #F8CD04) !important;
  font-weight: 700;
}

@media (max-width: 768px) {
  .pricing-popup__content {
    width: 95%;
    max-height: 90vh;
  }
  .pricing-popup__header {
    padding: 1.5rem 1.25rem 1rem;
  }
  .pricing-popup__body {
    padding: 1rem 1.25rem 1.5rem;
  }
  .pricing-popup__table {
    font-size: 0.8rem;
  }
  .pricing-popup__table thead th,
  .pricing-popup__table tbody td {
    padding: 0.6rem 0.5rem;
  }
}

.pricing-popup__footer {
  padding: 1rem;
  display: flex;
  justify-content: flex-end;
}

.pricing-popup__reserve-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2, 0.5rem);
  padding: var(--space-3, 0.75rem) var(--space-6, 1.5rem);
  background: var(--clr-yellow, #F8CD04);
  color: var(--clr-black, #000);
  font-family: var(--font-heading, 'Oswald', sans-serif);
  font-size: var(--fs-sm, 0.85rem);
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 0.05em;
  border: 2px solid var(--clr-yellow, #F8CD04);
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.2s;
  white-space: nowrap;
}

.pricing-popup__reserve-btn:hover {
  background: #e0b900;
  border-color: #e0b900;
  color: var(--clr-black, #000);
  transform: translateY(-1px);
}

.pricing-popup__reserve-btn:active {
  transform: translateY(0);
}

@media (max-width: 768px) {
  .pricing-popup__footer {
    padding: 1rem 1.25rem 1.25rem;
  }

  .pricing-popup__reserve-btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
  }
}

/* ══════════════════════════════════════════════════════════════════
   Location Section
   ══════════════════════════════════════════════════════════════════ */

.loc-detail__location {
  width: 100%;
  background: var(--clr-dark-grey);
  padding: var(--space-16) 0;
  border-top: 1px solid var(--clr-border);
}

.loc-detail__location-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--space-12);
  align-items: stretch;
}

.loc-detail__location-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.loc-detail__location-heading {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  line-height: 0.8;
  text-transform: uppercase;
}

.loc-detail__location-heading-white {
  display: block;
  color: var(--clr-white);
}

.loc-detail__location-heading-accent {
  display: block;
  color: var(--clr-yellow);
}

.loc-detail__location-desc {
  font-size: 0.95rem;
  color: var(--clr-text-muted);
  line-height: 1.7;
  max-width: 420px;
  margin-top: var(--space-2);
}

.loc-detail__location-desc p {
  margin: 0 0 1rem;
}

.loc-detail__location-desc p:last-child {
  margin-bottom: 0;
}

.loc-detail__location-desc ul,
.loc-detail__location-desc ol {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.loc-detail__location-desc ul {
  list-style: disc;
}

.loc-detail__location-desc ol {
  list-style: decimal;
}

.loc-detail__location-desc li {
  margin-bottom: 0.35rem;
}

.loc-detail__location-desc li::marker {
  color: var(--clr-yellow);
}

.loc-detail__location-desc a {
  color: var(--clr-yellow);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color var(--transition-fast);
}

.loc-detail__location-desc a:hover {
  color: var(--clr-white);
}

.loc-detail__location-desc strong {
  color: var(--clr-white);
  font-weight: 700;
}

.loc-detail__location-desc em {
  font-style: italic;
}

.loc-detail__location-contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.loc-detail__location-contact-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  margin: 0;
  font-size: 1rem;
  color: var(--clr-white);
  line-height: 1.5;
}

.loc-detail__location-contact-item--phone {
  color: var(--clr-yellow);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.loc-detail__location-contact-item--phone:hover {
  color: var(--clr-white);
}

.loc-detail__location-contact-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 0.15em;
  color: var(--clr-yellow);
}

.loc-detail__location-contact-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.loc-detail__location-contact-row .loc-detail__location-contact-item {
  min-width: 0;
  margin: 0;
}

.loc-detail__location-contact-row .loc-detail__location-contact-item span {
  overflow-wrap: anywhere;
}

.loc-detail__location-contact-row .loc-detail__address-directions.btn--directions {
  flex-shrink: 0;
  white-space: nowrap;
  align-self: flex-start;
  margin-left: calc(20px + var(--space-3));
}

.loc-detail__location-map-wrap {
  min-height: 420px;
  display: flex;
  flex-direction: column;
}

.loc-detail__map-marker img {
  transform-origin: center bottom;
}

.loc-detail__location-map {
  flex: 1;
  width: 100%;
  min-height: 420px;
  border: 1px solid var(--clr-border);
  background: #3a3a3a;
}

.loc-detail__location-map--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-6);
  text-align: center;
}

.loc-detail__location-map--fallback p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--clr-text-muted);
}

@media (max-width: 1024px) {
  .loc-detail__location-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .loc-detail__location-desc {
    max-width: none;
  }

  .loc-detail__location-map-wrap {
    min-height: 360px;
  }

  .loc-detail__location-map {
    min-height: 360px;
  }
}

@media (max-width: 768px) {
  .loc-detail__location {
    padding: var(--space-12) 0;
  }

  .loc-detail__location-map-wrap,
  .loc-detail__location-map {
    min-height: 300px;
  }
}

/* ══════════════════════════════════════════════════════════════════
   Testimonials Section
   ══════════════════════════════════════════════════════════════════ */

.loc-detail__testimonials {
  width: 100%;
  background: var(--clr-black);
  padding: var(--space-16) 0;
  border-top: 1px solid var(--clr-border);
}

.loc-detail__testimonials-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-6);
  margin-bottom: var(--space-8);
}

.loc-detail__testimonials-header-left {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.loc-detail__testimonials-header-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--space-4);
}

.loc-detail__testimonials-heading {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  line-height: 0.8;
  text-transform: uppercase;
}

.loc-detail__testimonials-heading-white {
  display: block;
  color: var(--clr-white);
}

.loc-detail__testimonials-heading-accent {
  display: block;
  color: var(--clr-yellow);
}

.loc-detail__testimonials-meta {
  display: none; /* Hidden for now — score / count bar */
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.loc-detail__testimonials-meta-stars {
  color: var(--clr-yellow);
  font-size: 1.1rem;
  letter-spacing: 0.05em;
}

.loc-detail__testimonials-meta-score {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--clr-white);
}

.loc-detail__testimonials-meta-count {
  font-size: 0.75rem;
  color: var(--clr-text-muted);
}

.loc-detail__testimonials-review-btn {
  white-space: nowrap;
}

.loc-detail__testimonials-grid.reviews-page__grid {
  margin-top: 0;
  grid-template-columns: 1fr;
}

.loc-detail__testimonials-grid.reviews-page__grid:has(> .reviews-page__card:nth-child(2)) {
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 1024px) {
  .loc-detail__testimonials-grid.reviews-page__grid:has(> .reviews-page__card:nth-child(3)) {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1024px) {
  .loc-detail__testimonials-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .loc-detail__testimonials-header-right {
    align-items: flex-start;
  }

  .loc-detail__testimonials-meta {
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  .loc-detail__testimonials {
    padding: var(--space-12) 0;
  }

  .loc-detail__testimonials-review-btn {
    width: 100%;
    justify-content: center;
  }

  .loc-detail__testimonials-meta {
    flex-wrap: wrap;
  }

  .loc-detail__testimonials-grid.reviews-page__grid:has(> .reviews-page__card:nth-child(2)) {
    grid-template-columns: 1fr;
  }
}

/* FAQ on location detail — avoid double top padding from .section */
.loc-detail__faq.section {
  padding-top: var(--section-pad);
}

/* Page-level responsive polish */
@media (max-width: 640px) {
  .loc-detail {
    padding-top: 56px;
  }

  .loc-detail__pricing,
  .loc-detail__location,
  .loc-bt,
  .loc-detail__explore,
  .loc-detail__testimonials,
  .loc-detail__seo {
    padding-block: var(--space-12);
  }

  .loc-detail__hero-left .loc-detail__breadcrumb {
    margin-bottom: var(--space-6);
  }

  .loc-detail__hero-right {
    border: none;
    background: transparent;
    padding: var(--space-2) 0 0;
  }

  .loc-detail__pricing-form-card {
    padding: var(--space-5);
  }

  .loc-detail__pricing-form-title br {
    display: none;
  }
}

/* Prevent grid children from forcing horizontal scroll */
.loc-detail__hero-grid > *,
.loc-detail__location-grid > *,
.loc-detail__pricing-form-card > *,
.loc-detail__seo-grid > * {
  min-width: 0;
}

/* ── Floating CTA → Explore the Site ─────────────────────── */
.loc-detail__float-cta {
  position: fixed;
  z-index: 9999;
  left: auto;
  right: max(var(--gutter, 1.25rem), env(safe-area-inset-right, 0px));
  bottom: max(5.5rem, calc(env(safe-area-inset-bottom, 0px) + 4.5rem));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.25rem;
  padding: 0.75rem 1.15rem 0.75rem 0.9rem;
  border-radius: 999px;
  background: var(--clr-yellow);
  color: var(--clr-black);
  border: 2px solid var(--clr-yellow);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  font-family: var(--font-heading);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wider);
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease, background 0.15s ease, border-color 0.15s ease;
}

.loc-detail__float-cta:hover {
  background: #e0b900;
  border-color: #e0b900;
  color: var(--clr-black);
  transform: translateY(-2px);
}

.loc-detail__float-cta:focus-visible {
  outline: 2px solid var(--clr-yellow);
  outline-offset: 3px;
}

.loc-detail__float-cta-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.loc-detail__float-cta-label {
  line-height: 1;
}

.loc-detail__float-cta.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
}

@media (max-width: 480px) {
  .loc-detail__float-cta {
    right: max(0.75rem, env(safe-area-inset-right, 0px));
    padding: 0.7rem 1rem 0.7rem 0.85rem;
    font-size: var(--fs-xs);
  }
}

/* ── Tours limited notice modal (no units available) ── */
.loc-tour-modal__content {
  max-width: 28rem;
  text-align: center;
  padding-top: var(--space-10, 2.5rem);
}

.loc-tour-modal__tag {
  margin: 0 0 var(--space-4, 1rem);
  padding-right: var(--space-8, 2rem);
  font-family: var(--font-heading);
  font-size: var(--fs-h3, 1.5rem);
  font-weight: var(--fw-bold);
  letter-spacing: var(--ls-wider, 0.04em);
  text-transform: uppercase;
  color: var(--clr-yellow);
  line-height: 1.1;
}

.loc-tour-modal__text {
  margin: 0 0 var(--space-6, 1.5rem);
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--clr-text-muted, #ccc);
}

.loc-tour-modal__email {
  justify-content: center;
}

.loc-detail__hero-ctas button.btn,
.loc-bt__cta-group button.btn {
  appearance: none;
  -webkit-appearance: none;
  background-clip: padding-box;
}

/* sections/_made-simple.css */
/* ── Storage Made Simple (3 steps + CTA) ── */
.made-simple{
  background: var(--clr-white);
  color: var(--clr-black);
  padding-block: clamp(3.5rem, 6vw, 5rem);
}
.made-simple__header{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
  padding-bottom: 3rem;
}
.made-simple__header-left{
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.made-simple__header-left .section-tag{
  margin-bottom: 0;
  color: var(--clr-black);
}
.made-simple__headline{
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  line-height: 0.8;
  text-transform: uppercase;
  color: var(--clr-black);
  letter-spacing: .02em;
  max-width: 480px;
  margin: 0;
}
.made-simple__headline span{
  color: var(--clr-black);
  display: block;
  width: fit-content;
  background: var(--clr-yellow);
  margin-top: 0.2rem;
  padding: 0.15rem;
  padding-top: 0rem;
}
.made-simple__intro{
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.75;
  color: var(--clr-davy-grey);
  max-width: 460px;
  margin: 0;
}

/* Shared landscape slot — same width and height for every step icon */
.made-simple{
  --ms-icon-width: min(100%, 20rem);
  --ms-icon-ratio: 2675 / 1552;
  --ms-step-gap: 1.15rem;
}

.made-simple__steps{
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin: 0 0 3rem;
  padding: 0;
  align-items: stretch;
}

/* Align title / icon / description rows across all 3 columns */
@supports (grid-template-rows: subgrid){
  .made-simple__steps{
    grid-template-rows: auto auto auto;
  }
  .made-simple__step{
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: var(--ms-step-gap);
  }
}

.made-simple__step{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--ms-step-gap);
  min-width: 0;
}

.made-simple__step-head{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  flex-wrap: nowrap;
  width: 100%;
  min-height: 3.25rem; /* keeps titles on one shared baseline band */
}

.made-simple__step-num{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--clr-accent);
  color: var(--clr-black);
  font-family: var(--font-heading);
  font-size: .85rem;
  font-weight: 700;
  flex-shrink: 0;
}

.made-simple__step-title{
  font-family: var(--font-subheading);
  font-size: clamp(1.05rem, 1.35vw, 1.28rem);
  font-weight: 700;
  text-transform: none;
  color: var(--clr-black);
  line-height: 1.25;
  margin: 0;
  text-wrap: balance;
}

.made-simple__illus{
  width: var(--ms-icon-width);
  aspect-ratio: var(--ms-icon-ratio);
  height: auto;
  max-width: 100%;
  flex-shrink: 0;
  display: grid;
  place-items: stretch;
  overflow: hidden;
}

.made-simple__icon-frame{
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: stretch;
  overflow: hidden;
}

.made-simple__svg,
.made-simple__icon{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
}

.made-simple__svg{
  color: var(--clr-black);
}

.made-simple__step-text{
  font-size: .9rem;
  line-height: 1.6;
  color: #555;
  max-width: 280px;
  width: 100%;
  margin: 0;
  padding-top: 0.65rem;
  text-wrap: pretty;
}

@supports not (grid-template-rows: subgrid){
  .made-simple__step-text{
    margin-top: auto;
  }
}

.made-simple .btn--outline{
  background: transparent;
  color: var(--clr-black);
  border-color: var(--clr-black);
}
.made-simple .btn--outline:hover{
  background: transparent;
  color: var(--clr-black);
  border-color: var(--clr-black);
}

@media (max-width: 900px){
  .made-simple{
    --ms-icon-width: min(100%, 20rem);
  }
  .made-simple__header{
    grid-template-columns: 1fr;
    gap: 2rem;
    padding-bottom: 2.5rem;
  }
  .made-simple__headline,
  .made-simple__intro{
    max-width: 100%;
  }
  .made-simple__steps{
    grid-template-columns: 1fr;
    grid-template-rows: none;
    max-width: 360px;
    margin-inline: auto;
    margin-bottom: 2.5rem;
  }
  .made-simple__step{
    display: flex;
    grid-row: auto;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgba(21,21,21,.1);
  }
  .made-simple__step:last-child{
    padding-bottom: 0;
    border-bottom: none;
  }
  .made-simple__step-head{
    min-height: 0;
  }
  .made-simple__step-title{
    font-size: clamp(1.15rem, 4.5vw, 1.35rem);
  }
}

/* sections/_pricing.css */
/* PRICING SECTION */
.pricing{ background:#ffffff; }
.pricing__inner{ display:grid; grid-template-columns:1.2fr 1.5fr; gap:2rem; align-items:start; }
.pricing__tag{ font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#151515; display:block; }
.pricing__headline{ font-family:var(--font-heading); font-size:clamp(2.5rem,4vw,3.5rem); line-height:1.0; text-transform:uppercase; color:#151515; margin-bottom:1.5rem; max-width:280px; }
.pricing__fits{ color:#F8CD04; display:block; }
.pricing__subtext{ font-size:.9rem; color:#555555; line-height:1.65; margin-bottom:1.5rem; max-width:280px; }
.pricing__preview{ border:1px solid #000000; border-radius:0; overflow:hidden; background:#F5F5F5; margin-bottom:1.5rem; padding:15px; }
.pricing__preview-header{ display:flex; justify-content:space-between; padding:.75rem 1.25rem; background:#f5f5f5; border-bottom:1px solid #e0e0e0; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:#888; }
.pricing__preview-equiv{ padding:.875rem 1.25rem; background:#151515; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #2a2a2a; }
.pricing__preview-equiv span{ font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:#82827C; }
.pricing__preview-equiv strong{ font-family:var(--font-heading); font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; color:#F8CD04; }
.pricing__preview-icons{ display:grid; grid-template-columns:repeat(3,1fr); margin-top:1rem; margin-bottom:1rem; }
.pricing__preview-icons--row2{ margin-top:0; margin-bottom:1rem; }
.pricing__preview-icon-item{ padding:.875rem 1rem; border:1px solid #000000; margin-top:-1px; margin-left:-1px; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:.6rem; row-gap:.1rem; align-items:center; background:#fff; }
.pricing__preview-icon-item:last-child{ border-right:1px solid #000000; }
.pricing__preview-icon-item--dark{ background:#151515; }
.pricing__preview-icon-badge{ width:32px; height:32px; background:#F8CD04; border-radius:4px; display:flex; align-items:center; justify-content:center; grid-row:1 / 3; }
.pricing__preview-icon-badge svg{ width:16px; height:16px; }
.pricing__preview-icon-val{ font-size:.85rem; color:#cecdcd; font-weight:600; line-height:1.1; }
.pricing__preview-icon-label{ font-size:.65rem; color:#666666; line-height:1.1; }
.pricing__preview-wont-fit{ display:flex; align-items:center; gap:.75rem; padding:.45rem .35rem; border:1px dashed #000000; flex-wrap:wrap; margin-top: 1rem;}
.pricing__preview-wont-label{ font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#151515; white-space:nowrap; }
.pricing__preview-wont-tags{ display:flex; gap:.5rem; flex-wrap:wrap; }
.pricing__preview-tag{ font-size:.65rem; color:#555; border:1px solid #ddd; border-radius:3px; padding:2px 10px; }
.pricing__preview-dims-row{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #E5E5E5; margin-top:1rem; }
.pricing__preview-dims-row > div{ padding:.875rem 1.25rem; border-right:1px solid #E5E5E5; display:flex; flex-direction:column; gap:.2rem; }
.pricing__preview-dims-row > div:last-child{ border-right:none; }
.pricing__preview-dims-row span{ font-size:.95rem; font-weight:700; color:#cecdcd; }
.pricing__preview-dims-row small{ font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; color:#666666; }
.pricing__step{ margin-bottom:1.5rem; }
.pricing__step-label{ font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#151515; margin-bottom:.75rem; display:block; }
.pricing__sizes{ display:flex; flex-direction:column; gap:6px; max-height:420px; overflow-y:auto; }
.pricing__size{ display:flex; align-items:center; gap:1rem; padding:1rem 1.25rem; border:2px solid #e0e0e0; border-radius:0; cursor:pointer; background:#ffffff; transition:border-color .15s,background .15s; }
.pricing__size:hover{ border-color:#aaaaaa; background:#f9f9f9; }
.pricing__size:focus-visible{ outline:2px solid var(--clr-yellow); outline-offset:2px; }
.pricing__size--active{ background:#0a0a0a !important; border:2px solid #F8CD04 !important; }
.pricing__size--active:hover{ background:#0a0a0a !important; border-color:#F8CD04 !important; }
.pricing__size--active .pricing__size-sqft{ color:#F8CD04 !important; }
.pricing__size--active .pricing__size-sqft small{ color:#F8CD04 !important; }
.pricing__size--active .pricing__size-label{ color:#ffffff !important; }
.pricing__size--active .pricing__size-desc{ color:#82827C !important; }
.pricing__size--active .pricing__size-price{ color:#F8CD04 !important; font-size:1.5rem !important; }
.pricing__size--active .pricing__size-mo{ color:#82827C !important; }
.pricing__size-left{ min-width:70px; }
.pricing__size-sqft{ font-family:var(--font-heading); font-size:1.6rem; font-weight:700; color:#151515; line-height:1; }
.pricing__size-sqft small{ font-size:.7rem; font-weight:400; color: #000; margin-left:.2rem; }
.pricing__size-mid{ flex:1; }
.pricing__size-label{ display:flex; align-items:center; gap:.5rem; font-family:var(--font-heading); font-size:1.3rem; letter-spacing:.05em; text-transform:uppercase; color:#000000; }
.pricing__size-desc{ display:block; font-size:.68rem; color:#666666; }
.pricing__popular{ background:#F8CD04; color:#151515; font-size:.55rem; font-weight:700; letter-spacing:.08em; padding:2px 8px; border-radius:2px; }
.pricing__size-right{ text-align:right; white-space:nowrap; min-width:60px; }
.pricing__size-price{ font-family:var(--font-heading); font-size:1.4rem; color:#151515; display:block; line-height:1; }
.pricing__size-mo{ font-size:.7rem; color:#666; display:block; }
.pricing__durations{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.pricing__dur{ padding:1rem; background:#ffffff; border:2px solid #e0e0e0; color:#151515; font-family:var(--font-heading); font-size:.95rem; font-weight:700; letter-spacing:.05em; cursor:pointer; transition:background .15s,color .15s,border-color .15s; text-align:center; }
.pricing__dur:hover{ border-color:#151515; color:#151515; }
.pricing__dur--active{ background:#151515 !important; color:#F8CD04 !important; border-color:#151515 !important; font-weight:700; }
.pricing__covers{ display:flex; flex-direction:column; gap:4px; }
.pricing__cover{ display:flex; align-items:center; gap:1rem; padding:.875rem 1.25rem; border:2px solid #e0e0e0; cursor:pointer; transition:border-color .15s; background:#ffffff; }
.pricing__cover input{ accent-color:#151515; }
.pricing__cover--active{ border-color:#151515; }
.pricing__cover-info{ flex:1; }
.pricing__cover-info strong{ display:block; font-size:.85rem; color:#888888; font-family:var(--font-heading); letter-spacing:.04em; }
.pricing__cover-info span{ font-size:.75rem; color:#888888; }
.pricing__cover-price{ font-size:.85rem; color:#151515; font-weight:600; white-space:nowrap; }
.pricing__total{ background:#151515; border-radius:4px; padding:1.5rem; margin-top:1rem; border-top:3px solid #F8CD04; }
.pricing__total-meta{ display:flex; justify-content:space-between; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#82827C; margin-bottom:.5rem; }
.pricing__total-amount{ font-family:var(--font-heading); font-size:3rem; color:#ffffff; margin-bottom:1rem; line-height:1; }
.pricing__total-amount small{ font-size:.9rem; color:#82827C; }
.pricing__reserve{ width:100%; justify-content:center; }

/* ── Location Selector ── */
.pricing__location-select{ margin-bottom:1.5rem; }
.pricing__location-label{ display:block; font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#151515; margin-bottom:.5rem; }
.pricing__select-wrap{ position:relative; }
.pricing__select{ width:100%; appearance:none; -webkit-appearance:none; background:#ffffff; border:2px solid #e0e0e0; border-radius:0; padding:.75rem 2.5rem .75rem 1rem; font-family:var(--font-body); font-size:.9rem; color:#151515; cursor:pointer; transition:border-color .15s; }
.pricing__select:focus{ outline:none; border-color:#151515; }
.pricing__select option:disabled{ color:#999; }
.pricing__select-arrow{ position:absolute; right:1rem; top:50%; transform:translateY(-50%); color:#666; pointer-events:none; }
.pricing__sizes-empty{ font-size:.85rem; color:#888; padding:1rem 0; }

/* ── Availability tag on unit cards ── */
.pricing__size-avail{ display:block; font-size:.65rem; color:#888; margin-top:.2rem; }
.pricing__size-avail--green{ color:#16a34a; }
.pricing__size--active .pricing__size-avail{ color:#82827C; }
.pricing__size--active .pricing__size-avail--green{ color:#4ade80; }

/* ── Use cases tags in preview ── */
.pricing__preview-use-cases{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.5rem; }
.pricing__preview-use-tag{ font-size:.7rem; color:#151515; border:1px solid #ddd; border-radius:3px; padding:3px 10px; background:#fff; }
.pricing__preview-placeholder{ font-size:.75rem; color:#888; font-style:italic; }

@media(max-width:1024px){ .pricing__inner{ grid-template-columns:1fr; } .pricing__headline{ max-width:100%; } .pricing__subtext{ max-width:100%; } }
@media(max-width:480px){ .pricing__durations{ grid-template-columns:repeat(2,1fr); } }



/* sections/_business-types.css */
/* ── Location Business Types (SEO accordion) ── */
.loc-bt{
  width:100%;
  background:var(--clr-black);
  color:var(--clr-white);
  padding:var(--space-16) 0;
  border-top:1px solid var(--clr-border);
}
.loc-bt__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-6);
  margin-bottom:var(--space-8);
  flex-wrap:wrap;
}
.loc-bt__header-main{
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.loc-bt__tag{
  margin:0;
}
.loc-bt__headline{
  font-family:var(--font-heading);
  font-size:var(--fs-h1);
  line-height:.8;
  text-transform:uppercase;
  margin:0;
}
.loc-bt__headline-white{
  display:block;
  color:var(--clr-white);
}
.loc-bt__headline-accent{
  display:block;
  color:var(--clr-yellow);
}

.loc-bt__list{
  display:flex;
  flex-direction:column;
  gap:.65rem;
}

.loc-bt__item{
  border:1px solid rgba(255,255,255,.14);
  background:#1c1c1c;
  overflow:hidden;
}
.loc-bt__item--open{
  border-color:#151515;
  background:#151515;
}
.loc-bt__item-heading{ margin:0; font-size:inherit; }
.loc-bt__item--open .loc-bt__item-heading{
  border:1px solid var(--clr-yellow);
  padding:3px;
  background:#151515;
}

.loc-bt__trigger{
  width:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:1rem 1.15rem;
  padding:1.05rem 1.15rem;
  background:transparent;
  border:0;
  font-family:var(--font-body);
  color:var(--clr-white);
  text-align:left;
  cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
}
.loc-bt__trigger:focus-visible{
  outline:2px solid var(--clr-yellow);
  outline-offset:-2px;
}
.loc-bt__item--open .loc-bt__trigger{
  background:var(--clr-yellow);
  color:var(--clr-black);
  border:0;
}
.loc-bt__item--open .loc-bt__trigger:focus-visible{
  outline-color:#151515;
}
.loc-bt__trigger-icon{
  width:2.5rem;
  height:2.5rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.7);
  flex-shrink:0;
}
.loc-bt__item--open .loc-bt__trigger-icon{
  background:#151515;
  color:var(--clr-yellow);
}
.loc-bt__trigger-icon img,
.loc-bt__trigger-icon svg{
  width:1.35rem;
  height:1.35rem;
  display:block;
}
.loc-bt__trigger-icon img{
  object-fit:contain;
}
.loc-bt__trigger-icon svg{
  fill:currentColor;
  flex-shrink:0;
}
.loc-bt__trigger-icon svg [fill="none"],
.loc-bt__trigger-icon svg [fill="transparent"]{
  fill:none;
}
.loc-bt__trigger-icon svg [stroke]:not([stroke="none"]):not([stroke="transparent"]){
  stroke:currentColor;
}
.loc-bt__trigger-copy{
  display:flex;
  flex-direction:column;
  gap:.2rem;
  min-width:0;
}
.loc-bt__trigger-title{
  font-family:var(--font-heading);
  font-size:clamp(.95rem,1.4vw,1.15rem);
  font-weight:var(--fw-bold);
  letter-spacing:var(--ls-wide);
  text-transform:uppercase;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.loc-bt__trigger-desc{
  font-family:var(--font-body);
  font-size:var(--fs-sm);
  line-height:1.45;
  color:var(--clr-text-muted);
  font-weight:var(--fw-regular);
  letter-spacing:0;
  text-transform:none;
}
.loc-bt__item--open .loc-bt__trigger-desc{
  color:rgba(21,21,21,.7);
}
.loc-bt__trigger-meta{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  flex-shrink:0;
}
.loc-bt__trigger-count{
  font-family:var(--font-body);
  font-size:.75rem;
  font-weight:var(--fw-bold);
  letter-spacing:.08em;
  color:var(--clr-text-muted);
}
.loc-bt__item--open .loc-bt__trigger-count{
  color:rgba(21,21,21,.65);
}
.loc-bt__chevron{
  width:.55rem;
  height:.55rem;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  transition:transform .2s ease;
  opacity:.75;
}
.loc-bt__item--open .loc-bt__chevron{
  transform:rotate(-135deg);
  margin-top:.25rem;
}

.loc-bt__panel{
  padding:1.35rem 1.15rem 1.5rem;
  border-top:1px solid rgba(255,255,255,.08);
  background:#131212;
}
.loc-bt__panel[hidden]{ display:none; }

.loc-bt__grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem 1rem;
  align-items:stretch;
}
.loc-bt__card{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  min-width:0;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.1);
  padding:0.9rem;
}
.loc-bt__card--cta{
  align-items:center;
  justify-content:center;
  align-self:stretch;
  height:100%;
  min-height:100%;
  background:transparent;
  border:0;
  padding:0;
}
.loc-bt__cta-group{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  width:100%;
  height:auto;
  margin-block:auto;
}
.loc-bt__cta{
  justify-content:center;
  flex:1 1 50%;
  width:50%;
  min-width:0;
  min-height:44px;
  height:auto;
  align-self:auto;
}
.loc-bt__check{
  width:1.35rem;
  height:1.35rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--clr-yellow);
  flex-shrink:0;
  margin-top:.1rem;
}
.loc-bt__card-title{
  margin:0 0 .25rem;
  font-family:var(--font-heading);
  font-size:.95rem;
  font-weight:var(--fw-bold);
  letter-spacing:var(--ls-wide);
  text-transform:uppercase;
  color:var(--clr-white);
  line-height:1.25;
  overflow-wrap:anywhere;
}
.loc-bt__card-desc{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-sm);
  line-height:1.55;
  color:var(--clr-text-muted);
}
.loc-bt__panel-cta{
  display:flex;
  justify-content:flex-end;
}

.loc-bt__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem 2rem;
  flex-wrap:wrap;
  margin-top:1.75rem;
  padding-top:1.25rem;
  border-top:1px solid rgba(255,255,255,.1);
}
.loc-bt__footer-note{
  margin:0;
  font-family:var(--font-body);
  font-size:.75rem;
  font-weight:var(--fw-bold);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--clr-text-muted);
  max-width:42rem;
  line-height:1.5;
}
.loc-bt__footer-link{
  font-family:var(--font-body);
  font-size:.75rem;
  font-weight:var(--fw-bold);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--clr-yellow);
  white-space:nowrap;
  transition:opacity .15s;
}
.loc-bt__footer-link:hover{
  opacity:.75;
  color:var(--clr-yellow);
}

@media (max-width:900px){
  .loc-bt__grid{ grid-template-columns:1fr; gap:1.1rem; }
  .loc-bt__card--cta{ justify-content:stretch; }
  .loc-bt__cta-group{ justify-content:flex-start; }
  .loc-bt__panel-cta{ justify-content:stretch; }
  .loc-bt__panel-cta .loc-bt__cta-group{ width:100%; }
}
@media (max-width:640px){
  .loc-bt__header{ align-items:flex-start; flex-direction:column; gap:1rem; }
  .loc-bt__panel{
    padding:1.1rem .9rem 1.25rem;
  }
  .loc-bt__trigger{
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:.75rem 1rem;
    padding:.95rem .9rem;
    min-height:44px;
  }
  .loc-bt__trigger-icon,
  .loc-bt__trigger-copy,
  .loc-bt__trigger-meta{
    grid-area:auto;
  }
  .loc-bt__trigger-meta{
    justify-content:flex-end;
    width:auto;
    padding-left:0;
  }
  .loc-bt__cta-group{
    flex-direction:column;
    align-items:stretch;
  }
  .loc-bt__cta{
    width:100%;
    flex:1 1 auto;
  }
  .loc-bt__footer{
    flex-direction:column;
    align-items:flex-start;
  }
  .loc-bt__footer-link{ white-space:normal; }
}

/* sections/_faq-accordion.css */
/* -- FAQ -- */
.faq{ background:var(--clr-white); color:#151515; }
.faq__tag{ font-size:.65rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:#151515; text-align:center; }
.faq__headline{ font-family:var(--font-heading); font-size:var(--fs-h1); line-height:.80; text-transform:uppercase; margin-bottom:3rem; letter-spacing:.01em; text-align:center; display:flex; flex-direction:column; align-items:center; }
.faq__headline-line1{ color:#151515; display:block; width:fit-content; }
.faq__headline-line2{ color:#151515; display:block; background:var(--clr-yellow); width:fit-content; margin-top: 0.2rem;
  padding: 0.15rem;
  padding-top: 0rem;}
.faq__list{ display:flex; flex-direction:column; border-top:3px solid #151515; }
.faq__all-cta{
  display:flex;
  justify-content:center;
  margin-top:2rem;
}
.faq__all-btn{
  min-width:11rem;
  justify-content:center;
}
.faq .faq__all-btn.btn--primary{
  background:var(--clr-yellow);
  color:var(--clr-black);
  border-color:var(--clr-yellow);
}
.faq .faq__all-btn.btn--primary:hover{
  background:#e0b900;
  border-color:#e0b900;
  color:var(--clr-black);
}
.faq__item{ border-bottom:1px solid #e0e0e0; }
.faq__item-heading{ margin:0; font-size:inherit; }
/* Answer hidden by default via [hidden] attribute */
.faq__answer{ padding:0 0 1.5rem 3.5rem; }
.faq__answer[hidden]{ display:none; }
.faq__answer p{ font-size:.95rem; color:#555; line-height:1.75; max-width:720px; }
.faq__answer-body{ font-size:.95rem; color:#555; line-height:1.75; max-width:720px; }
.faq__answer-body p{ margin:0 0 1rem; }
.faq__answer-body p:last-child{ margin-bottom:0; }
/* Question row */
.faq__question{ width:100%; display:flex; align-items:center; gap:1rem; padding:1.5rem 0; background:transparent; border:none; color:#151515; font-family:var(--font-body); font-size:clamp(0.9rem,1.5vw,1.1rem); font-weight:900; letter-spacing:.07em; text-transform:uppercase; cursor:pointer; text-align:left; transition:color .15s; }
.faq__question:focus-visible{ outline:2px solid var(--clr-yellow); outline-offset:4px; border-radius:2px; }
.faq__question:hover .faq__q-text{ color:#151515; }
.faq__num{ background:var(--clr-yellow); color:#000; font-size:1.3rem; font-weight:900; letter-spacing:.05em; flex-shrink:0; font-family:var(--font-body); display:inline-flex; align-items:center; justify-content:center; padding:.25rem .5rem; }
.faq__q-text{ flex:1; color:#151515; font-weight:900; }
/* Toggle icon � square button */
.faq__icon{ margin-left:auto; flex-shrink:0; width:42px; height:42px; border:2px solid #000; display:flex; align-items:center; justify-content:center; font-size:1.4rem; font-weight:300; color:#151515; transition:background .15s, border-color .15s, color .15s; line-height:1; background:#fff; }
.faq__icon-minus{ display:none; }
.faq__icon-plus{ display:block; }
.faq__item--open .faq__icon{ background:var(--clr-yellow); border-color:var(--clr-yellow); color:#151515; }
.faq__item--open .faq__icon-plus{ display:none; }
.faq__item--open .faq__icon-minus{ display:block; }
.faq__footer{
  margin-top:1.5rem;
  text-align:center;
  font-size:1rem;
  color:#767676;
  line-height:1.6;
}
.faq__footer-link{
  color:#151515;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
  transition:color .15s;
}
.faq__footer-link:hover{
  color:var(--clr-yellow-muted);
}
@media(max-width:768px){
  .faq__headline{ margin-bottom:2rem; }
  .faq__answer{ padding:0 0 1.25rem 2.5rem; }
  .faq__question{ gap:.85rem; padding:1.15rem 0; }
  .faq__num{ font-size:1.15rem; }
  .faq__icon{ width:36px; height:36px; font-size:1.2rem; }
}
@media(max-width:480px){
  .faq__answer{ padding-left:0; }
  .faq__question{ gap:.75rem; }
  .faq__num{ font-size:1rem; }
  .faq__q-text{ overflow-wrap:anywhere; }
}

/* components/_testimonial-cards.css */
/* Shared testimonial / review cards — Reviews page + location detail */

/* ── Reviews Grid ──────────────────────────────────────────── */
.reviews-page__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5, 1.25rem);
}

.reviews-page__empty {
  grid-column: 1 / -1;
  color: var(--clr-text-muted, #6a6a6a);
  font-size: 0.9rem;
  padding: var(--space-8, 2rem) 0;
  text-align: center;
}

/* ── Review Card ───────────────────────────────────────────── */
.reviews-page__card {
  display: flex;
  flex-direction: column;
  background: var(--clr-dark-grey, #1a1a1a);
  border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
  padding: var(--space-5, 1.25rem);
  transition: border-color 0.2s;
}

.reviews-page__card:hover {
  border-color: rgba(248, 205, 4, 0.3);
}

/* Card Top — Stars + Source */
.reviews-page__card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-3, 0.75rem);
}

.reviews-page__card-stars {
  color: var(--clr-yellow, #F8CD04);
  font-size: 1rem;
  letter-spacing: 0.05em;
}

.reviews-page__card-source {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
  color: var(--clr-text-muted, #6a6a6a);
}

.reviews-page__card-source--google {
  color: #4285F4;
  border-color: rgba(66, 133, 244, 0.3);
}

.reviews-page__card-source--trustpilot {
  color: #00B67A;
  border-color: rgba(0, 182, 122, 0.3);
}

.reviews-page__card-source--direct {
  color: var(--clr-yellow, #F8CD04);
  border-color: rgba(248, 205, 4, 0.3);
}

/* Card Review Text */
.reviews-page__card-review {
  flex: 1;
  margin: 0 0 var(--space-4, 1rem);
}

.reviews-page__card-review p {
  font-size: 0.85rem;
  color: var(--clr-text-muted, #ccc);
  line-height: 1.7;
  font-style: italic;
  margin: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Testimonial cards */
.reviews-page__card-footer--testimonial {
  align-items: flex-start;
  justify-content: flex-start;
  margin-top: auto;
}

.reviews-page__card-author-row {
  display: flex;
  align-items: center;
  gap: var(--space-3, 0.75rem);
  width: 100%;
  min-width: 0;
}

.reviews-page__card--testimonial .reviews-page__card-logo {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid var(--clr-border, rgba(255, 255, 255, 0.15));
}

.reviews-page__card--testimonial .reviews-page__card-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.reviews-page__card-logo-fallback {
  font-family: var(--font-heading, 'Oswald', sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--clr-black, #151515);
  line-height: 1;
  text-transform: uppercase;
}

.reviews-page__card-author-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.reviews-page__card--testimonial .reviews-page__card-name {
  font-size: 0.9rem;
  line-height: 1.2;
}

.reviews-page__card--testimonial .reviews-page__card-company {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--clr-yellow, #F8CD04);
  line-height: 1.3;
}

.reviews-page__card-details {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--clr-text-muted, #6a6a6a);
  line-height: 1.4;
}

.reviews-page__read-more {
  align-self: flex-start;
  margin: 0 0 var(--space-4, 1rem);
  padding: 0;
  background: none;
  border: none;
  font-family: var(--font-heading, 'Oswald', sans-serif);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--clr-yellow, #F8CD04);
  cursor: pointer;
  transition: color 0.2s;
}

.reviews-page__read-more:hover {
  color: #fff;
}

/* Card Footer */
.reviews-page__card-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-3, 0.75rem);
  padding-top: var(--space-3, 0.75rem);
  border-top: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
}

.reviews-page__card-author {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.reviews-page__card-name {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--clr-white, #fff);
  overflow-wrap: anywhere;
  min-width: 0;
}

.reviews-page__card-company {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--clr-yellow, #F8CD04);
}

.reviews-page__card-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.15rem;
}

.reviews-page__card-location {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--clr-text-muted, #6a6a6a);
}

.reviews-page__card-ago {
  font-size: 0.6rem;
  color: #555;
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .reviews-page__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .reviews-page__grid {
    grid-template-columns: 1fr;
  }

  .reviews-page__card-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .reviews-page__card--testimonial .reviews-page__card-logo {
    width: 48px;
    height: 48px;
  }

  .reviews-page__card-meta {
    align-items: flex-start;
  }
}

/* sections/_seo-block.css */
/* ══════════════════════════════════════════════════════════════════
   SEO Content Section
   ══════════════════════════════════════════════════════════════════ */

.loc-detail__seo {
  width: 100%;
  background: var(--clr-black);
  padding: var(--space-16) 0;
  border-top: 1px solid var(--clr-border);
}

.loc-detail__seo-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--space-12);
  align-items: center;
}

.loc-detail__seo-grid--full {
  grid-template-columns: 1fr;
}

.loc-detail__seo-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.loc-detail__seo-heading {
  font-family: var(--font-heading);
  font-size: var(--fs-h1);
  line-height: 0.8;
  text-transform: uppercase;
}

.loc-detail__seo-heading-white {
  display: block;
  color: var(--clr-white);
}

.loc-detail__seo-heading-accent {
  display: block;
  color: var(--clr-yellow);
}

.loc-detail__seo-body {
  font-size: 0.95rem;
  color: var(--clr-text-muted);
  line-height: 1.7;
  max-width: 100%;
  margin-top: var(--space-2);
}

.loc-detail__seo-grid--full .loc-detail__seo-body {
  max-width: none;
}

.loc-detail__seo-body p {
  margin: 0 0 1rem;
}

.loc-detail__seo-body p:last-child {
  margin-bottom: 0;
}

.loc-detail__seo-body ul,
.loc-detail__seo-body ol {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.loc-detail__seo-body ul {
  list-style: disc;
}

.loc-detail__seo-body ol {
  list-style: decimal;
}

.loc-detail__seo-body li {
  margin-bottom: 0.35rem;
}

.loc-detail__seo-body li::marker {
  color: var(--clr-yellow);
}

.loc-detail__seo-body a {
  color: var(--clr-yellow);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color var(--transition-fast);
}

.loc-detail__seo-body a:hover {
  color: var(--clr-white);
}

.loc-detail__seo-body strong {
  color: var(--clr-white);
  font-weight: 700;
}

.loc-detail__seo-body em {
  font-style: italic;
}

.loc-detail__seo-body h2,
.loc-detail__seo-body h3,
.loc-detail__seo-body h4,
.loc-detail__seo-body h5,
.loc-detail__seo-body h6 {
  font-family: var(--font-heading);
  color: var(--clr-white);
  line-height: 1.15;
  margin: 1.5rem 0 0.75rem;
  text-transform: uppercase;
}

.loc-detail__seo-body h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.loc-detail__seo-body h3 {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
}

.loc-detail__seo-body h4,
.loc-detail__seo-body h5,
.loc-detail__seo-body h6 {
  font-size: 1rem;
}

.loc-detail__seo-body h2:first-child,
.loc-detail__seo-body h3:first-child,
.loc-detail__seo-body h4:first-child,
.loc-detail__seo-body h5:first-child,
.loc-detail__seo-body h6:first-child {
  margin-top: 0;
}

.loc-detail__seo-body blockquote {
  margin: 0 0 1rem;
  padding-left: 1rem;
  border-left: 3px solid var(--clr-yellow);
  color: var(--clr-white);
  font-style: italic;
}

.loc-detail__seo-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  border: 1px solid var(--clr-border);
}

.loc-detail__seo-media {
  display: flex;
  align-items: center;
  justify-content: center;
}

.loc-detail__seo-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  border: 1px solid var(--clr-border);
}

@media (max-width: 1024px) {
  .loc-detail__seo-grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .loc-detail__seo-media {
    order: 2;
  }
}

@media (max-width: 768px) {
  .loc-detail__seo {
    padding: var(--space-12) 0;
  }

  .loc-detail__seo-image {
    max-height: 360px;
  }
}

@media (max-width: 480px) {
  .loc-detail__seo-heading {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  .loc-detail__seo-body {
    font-size: 0.9rem;
    overflow-wrap: anywhere;
  }
}

/* components/_testimonials-modal.css */
/* ── Shared testimonial Read More modal (homepage, location, reviews) ── */
body.reviews-modal-open {
  overflow: hidden;
}

.reviews-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal, 400);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4, 1rem);
}

.reviews-modal[hidden] {
  display: none;
}

.reviews-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(4px);
}

.reviews-modal__content {
  position: relative;
  width: 100%;
  max-width: 640px;
  max-height: 85vh;
  overflow-y: auto;
  background: var(--clr-dark-grey, #2F2F2D);
  border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
  padding: var(--space-8, 2rem) var(--space-6, 1.5rem) var(--space-6, 1.5rem);
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--clr-yellow, #F8CD04) rgba(255, 255, 255, 0.05);
}

.reviews-modal__content::-webkit-scrollbar {
  width: 6px;
}

.reviews-modal__content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 3px;
}

.reviews-modal__content::-webkit-scrollbar-thumb {
  background: var(--clr-yellow, #F8CD04);
  border-radius: 3px;
}

.reviews-modal__content::-webkit-scrollbar-thumb:hover {
  background: var(--clr-white, #fff);
}

.reviews-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
  color: var(--clr-white, #fff);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}

.reviews-modal__close:hover {
  background: var(--clr-yellow, #F8CD04);
  color: var(--clr-black, #000);
}

.reviews-modal__author {
  margin-bottom: var(--space-5, 1.25rem);
  padding-bottom: var(--space-4, 1rem);
  padding-right: var(--space-10, 2.5rem);
  border-bottom: 1px solid var(--clr-border, rgba(255, 255, 255, 0.1));
}

.reviews-page__card-author-row {
  display: flex;
  align-items: center;
  gap: var(--space-3, 0.75rem);
  width: 100%;
  min-width: 0;
}

.reviews-modal .reviews-page__card-logo {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 2px solid var(--clr-border, rgba(255, 255, 255, 0.15));
}

.reviews-modal .reviews-page__card-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.reviews-page__card-logo-fallback {
  font-family: var(--font-heading, 'Oswald', sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--clr-black, #151515);
  line-height: 1;
  text-transform: uppercase;
}

.reviews-page__card-author-info {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.reviews-modal .reviews-page__card-name {
  font-size: 1rem;
  line-height: 1.2;
  color: var(--clr-white, #fff);
}

.reviews-modal .reviews-page__card-company {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--clr-yellow, #F8CD04);
  line-height: 1.3;
}

.reviews-modal .reviews-page__card-details {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--clr-text-muted, #6a6a6a);
  line-height: 1.4;
}

.reviews-modal__stars {
  color: var(--clr-yellow, #F8CD04);
  font-size: 1rem;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-3, 0.75rem);
}

.reviews-modal__quote {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.8;
  color: var(--clr-text-muted, #ccc);
  font-style: italic;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 768px) {
  .reviews-modal .reviews-page__card-logo {
    width: 48px;
    height: 48px;
  }

  .reviews-modal__author {
    padding-right: var(--space-8, 2rem);
  }

  .reviews-modal__content {
    padding: var(--space-6, 1.5rem) var(--space-4, 1rem);
    max-height: 90vh;
  }
}

@media (max-width: 360px) {
  .reviews-modal {
    padding: var(--space-2, 0.5rem);
  }

  .reviews-modal__close {
    top: 0.5rem;
    right: 0.5rem;
    width: 44px;
    height: 44px;
  }
}

