.tvc-store-home {
  --tvc-store-ink: #11130f;
  --tvc-store-paper: #efefe8;
  --tvc-store-yellow: #ffd32c;
  width: min(calc(100% - clamp(2rem, 7.5vw, 9rem)), 1640px);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(17, 19, 15, .13);
  background: var(--tvc-store-paper);
  box-shadow: 0 22px 52px rgba(17, 19, 15, .16), 0 3px 10px rgba(17, 19, 15, .08);
  color: var(--tvc-store-ink);
}

body#index .center-column.page { padding-bottom: 0; }

.tvc-store-home__main {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  min-height: 420px;
}

.tvc-store-home__map { position: relative; min-height: 420px; border-right: 1px solid rgba(255,255,255,.08); background: #d7d8d0; }
.tvc-store-home__map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
.tvc-store-home__map-fallback { display: none; }
.tvc-store-home__map iframe[src="about:blank"] { display: none; }
.tvc-store-home__map iframe[src="about:blank"] + .tvc-store-home__map-fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: clamp(1.5rem, 4vw, 3.5rem);
  background:
    radial-gradient(circle at 25% 20%, rgba(255,211,44,.2), transparent 32%),
    linear-gradient(135deg, #e7e7df 0%, #d4d6cd 100%);
  color: var(--tvc-store-ink);
  text-align: center;
}
.tvc-store-home__map-fallback::before,
.tvc-store-home__map-fallback::after {
  position: absolute;
  content: "";
  background: rgba(17,19,15,.08);
}
.tvc-store-home__map-fallback::before { inset: 0 32% 0 auto; width: 1px; transform: rotate(24deg); }
.tvc-store-home__map-fallback::after { inset: 55% 0 auto; height: 1px; transform: rotate(-8deg); }
.tvc-store-home__map-fallback > * { position: relative; z-index: 1; }
.tvc-store-home__map-eyebrow { margin: 0 0 .35rem; color: rgba(17,19,15,.62); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tvc-store-home__map-fallback strong { font-size: clamp(1.45rem, 2.5vw, 2.3rem); line-height: 1.1; }
.tvc-store-home__map-fallback > p:not(.tvc-store-home__map-eyebrow) { max-width: 540px; margin: .7rem 0 0; line-height: 1.55; }
.tvc-store-home__map-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 1.25rem; }
.tvc-store-home__map-actions button { font: inherit; cursor: pointer; }
.tvc-store-home__map-fallback small { max-width: 520px; margin-top: .9rem; color: rgba(17,19,15,.58); font-size: .72rem; }

.tvc-store-home__info {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 4vw, 4.5rem);
  background-color: var(--tvc-store-ink);
  background-image:
    linear-gradient(90deg, rgba(10,12,9,.97) 0%, rgba(10,12,9,.91) 45%, rgba(10,12,9,.68) 100%),
    linear-gradient(0deg, rgba(10,12,9,.55), rgba(10,12,9,.12)),
    url("../img/store-algete-ambient-v1.webp");
  background-position: center, center, 58% center;
  background-size: cover;
  color: #fff;
}

.tvc-store-home__info::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--tvc-store-yellow);
  content: "";
}

.tvc-store-home__info > * { position: relative; z-index: 1; }

.tvc-store-home__kicker {
  margin: 0 0 .8rem;
  color: var(--tvc-store-yellow);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.tvc-store-home__info h2 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: clamp(2.7rem, 4vw, 5rem);
  font-weight: 800;
  letter-spacing: -.055em;
  line-height: .92;
  text-transform: uppercase;
}

.tvc-store-home__address { max-width: 620px; margin: 0 0 1.35rem; color: rgba(255,255,255,.78); line-height: 1.5; }
.tvc-store-home__hours { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1rem; margin: 0 0 1rem; }
.tvc-store-home__hours dt { color: var(--tvc-store-yellow); font-weight: 800; }
.tvc-store-home__hours dd { margin: 0; color: rgba(255,255,255,.9); }
.tvc-store-home__changes { align-self: flex-start; margin-bottom: 1.4rem; color: rgba(255,255,255,.68); font-size: .82rem; text-decoration: underline; text-underline-offset: 3px; }
.tvc-store-home__changes:hover { color: #fff; }
.tvc-store-home__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.tvc-store-home__button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .6rem; padding: .7rem 1.1rem; border: 1px solid rgba(255,255,255,.38); color: #fff; font-size: .78rem; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.tvc-store-home__button:hover { border-color: #fff; color: #fff; text-decoration: none; }
.tvc-store-home__button.is-primary { border-color: var(--tvc-store-yellow); background: var(--tvc-store-yellow); color: var(--tvc-store-ink); }

.tvc-store-home__reviews { position: relative; padding: 1.35rem clamp(1.25rem, 4vw, 4.5rem) 1.5rem; background: #f7f6f0; }
.tvc-store-home__reviews-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.tvc-store-home__reviews-head p { margin: 0; font-weight: 800; text-transform: uppercase; }
.tvc-store-home__reviews-head p span { margin-right: .55rem; color: #c59e00; letter-spacing: .08em; }
.tvc-store-home__controls { display: flex; gap: .35rem; }
.tvc-store-home__controls button { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(17,19,15,.25); background: transparent; color: var(--tvc-store-ink); cursor: pointer; }
.tvc-store-home__controls button:hover { border-color: var(--tvc-store-ink); }
.tvc-store-home__review-window { overflow: hidden; }
.tvc-store-home__review-track { display: flex; transition: transform .45s ease; }
.tvc-store-home__review { min-width: 100%; margin: 0; padding: .35rem 0 0; }
.tvc-store-home__review blockquote { max-width: 980px; margin: 0; font-size: clamp(1.25rem, 2vw, 2rem); font-weight: 700; line-height: 1.35; }
.tvc-store-home__review figcaption { margin-top: .5rem; color: rgba(17,19,15,.62); font-size: .8rem; }
.tvc-store-home__dots { display: flex; gap: .4rem; margin-top: .75rem; }
.tvc-store-home__dots button { width: 30px; height: 4px; padding: 0; border: 0; background: rgba(17,19,15,.23); cursor: pointer; }
.tvc-store-home__dots button[aria-current="true"] { background: #c59e00; }
.tvc-store-home__all-reviews { position: absolute; right: clamp(1.25rem, 4vw, 4.5rem); bottom: 1.5rem; color: var(--tvc-store-ink); font-size: .8rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.tvc-store-home__all-reviews:hover { color: var(--tvc-store-ink); text-decoration: underline; text-underline-offset: 3px; }

.tvc-store-home :focus-visible { outline: 3px solid var(--tvc-store-yellow); outline-offset: 3px; }

@media (max-width: 991px) {
  .tvc-store-home { width: min(calc(100% - 2rem), 760px); }
  .tvc-store-home__main { grid-template-columns: 1fr; }
  .tvc-store-home__map,
  .tvc-store-home__map iframe { min-height: 320px; }
  .tvc-store-home__all-reviews { position: static; display: inline-block; margin-top: 1.25rem; }
}

@media (max-width: 575px) {
  .tvc-store-home { width: calc(100% - 1rem); box-shadow: 0 14px 30px rgba(17,19,15,.15); }
  .tvc-store-home__map,
  .tvc-store-home__map iframe { min-height: 255px; }
  .tvc-store-home__map iframe[src="about:blank"] + .tvc-store-home__map-fallback {
    overflow: hidden;
    justify-content: center;
    padding: .85rem 1rem;
  }
  .tvc-store-home__map-eyebrow { display: none; }
  .tvc-store-home__map-fallback strong {
    font-size: 1.3rem;
    line-height: 1.15;
  }
  .tvc-store-home__map-fallback > p:not(.tvc-store-home__map-eyebrow) {
    margin-top: .4rem;
    font-size: .88rem;
    line-height: 1.3;
  }
  .tvc-store-home__map-actions {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    margin-top: .75rem;
  }
  .tvc-store-home__map-actions .tvc-store-home__button {
    min-width: 0;
    min-height: 46px;
    padding: .55rem .45rem;
    border-color: rgba(17,19,15,.42);
    color: var(--tvc-store-ink);
    font-size: .7rem;
    letter-spacing: .025em;
    line-height: 1.2;
    white-space: normal;
  }
  .tvc-store-home__map-actions .tvc-store-home__button:hover {
    border-color: var(--tvc-store-ink);
    color: var(--tvc-store-ink);
  }
  .tvc-store-home__map-fallback small {
    display: block;
    margin-top: .6rem;
    font-size: .68rem;
    line-height: 1.25;
  }
  .tvc-store-home__info { padding: 2rem 1.25rem; background-position: center, center, 64% center; }
  .tvc-store-home__info h2 { font-size: clamp(2.45rem, 13vw, 3.5rem); }
  .tvc-store-home__hours { grid-template-columns: 1fr; gap: .2rem; }
  .tvc-store-home__hours dd { margin-bottom: .5rem; }
  .tvc-store-home__button { flex: 1 1 140px; }
  .tvc-store-home__reviews { padding-top: 1.2rem; padding-bottom: 1.4rem; }
  .tvc-store-home__reviews-head { align-items: flex-start; flex-direction: column; gap: .65rem; margin-bottom: .65rem; }
  .tvc-store-home__review { padding-top: .25rem; }
  .tvc-store-home__review figcaption { margin-top: .45rem; }
  .tvc-store-home__dots { margin-top: .7rem; }
  .tvc-store-home__all-reviews { margin-top: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .tvc-store-home__review-track { transition: none; }
}
