/* Reserve the same space for idle, selected and loading states. */
.lk-home-choices .home-choice-slot { min-width: 0; }
.lk-home-choices .home-choice-slot:has(> :not([hidden])) { align-items: start; }
.lk-home-choices .home-choice-slot > div { min-width: 0; }
.lk-home-choices .home-choice-slot > div[hidden] { visibility: hidden; }
.lk-home-choices .home-choice-slot > div[hidden] a { visibility: hidden; }

.storefront-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: 14px;
  align-items: stretch;
}
.storefront-choice-grid > article {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-width: 0;
  padding: clamp(15px, 3vw, 22px);
  border: 1px solid var(--line, #d6e0da);
  border-radius: 14px;
  background: var(--paper, #fff);
  gap: 8px;
  cursor: pointer;
}
.storefront-choice-grid > article.is-selected {
  border-color: var(--green, #236047);
  box-shadow: inset 0 0 0 1px var(--green, #236047);
}
.storefront-choice-grid > article :is(h3, p, ul) { margin-block: 0; }
.storefront-choice-grid > article ul { padding-inline-start: 1.15em; }
.storefront-choice-grid .storefront-card-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3px;
  margin: 0;
}
.storefront-card-actions .button, .storefront-card-actions .storefront-link {
  width: 100%;
  justify-content: center;
  text-align: center;
  white-space: normal;
}
.storefront-action-row, [data-managed-hosting-selection].storefront-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 20px;
  row-gap: 5px;
  margin-block-start: 16px;
  min-height: 50px;
}
.storefront-action-row > p { margin: 0; overflow-wrap: anywhere; }
.storefront-action-row > .button { min-height: 44px; white-space: normal; }
.storefront-action-row > .button[aria-disabled="true"] { opacity: .65; cursor: default; }
.storefront-card-actions .button[aria-pressed="true"] { color: white; background: #245941; border-color: #245941; }
.storefront-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  min-height: 44px;
  color: inherit;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.storefront-link:hover .storefront-link-label,
.storefront-link:focus-visible .storefront-link-label { text-decoration: underline; text-underline-offset: .23em; }
.storefront-link:focus-visible { outline: 2px solid #245941; outline-offset: 3px; }

.storefront-visit {
  display: grid;
  grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr);
  align-items: center;
  gap: clamp(20px, 5vw, 62px);
  padding-block: clamp(24px, 6vw, 74px);
}
.storefront-visit h1 { margin-block: 8px 16px; }
.storefront-visit address { display: grid; gap: 2px; margin-block: 16px; font-style: normal; }
.storefront-visit address a { width: fit-content; }
.storefront-visit iframe {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 230px;
  border: 1px solid var(--line, #d6e0da);
  border-radius: 15px;
  background: #e9eee9;
}
.storefront-visit-map { margin: 0; min-width: 0; }
.storefront-visit-map figcaption { margin-block-start: 6px; }
.storefront-visit .storefront-link { max-width: 100%; }

.storefront-estimates [data-native-intake] {
  box-sizing: border-box;
  margin: 0 auto clamp(28px, 5vw, 62px);
  width: min(calc(100% - 32px), var(--content-max, 1100px));
  max-width: none;
  padding: clamp(16px, 4vw, 32px);
}
.storefront-estimates .page-heading { padding-block-end: 20px; }
.storefront-estimates .estimate-plan-options,
.storefront-estimates [data-estimate-plans] {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.5rem), 1fr));
  gap: 10px;
}
.storefront-estimates .estimate-plan-option,
.storefront-estimates [data-plan] {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 6px;
  min-height: 116px;
  text-align: left;
}
.storefront-estimates .estimate-plan-option[aria-pressed="true"],
.storefront-estimates [data-plan][aria-pressed="true"] {
  outline: 2px solid #245941;
  outline-offset: -2px;
}
.storefront-estimates .estimate-continue { white-space: normal; }
.storefront-estimates .estimate-status { min-height: 1.6em; }
.storefront-application .city-seller-grid > article {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-width: 0;
}
.storefront-application .city-seller-grid .actions { margin-block-start: 18px; }
.storefront-application .city-seller-grid .actions a { min-height: 44px; }
.storefront-domain-link { margin-block-start: 12px; }
.storefront-seller-link { text-decoration-thickness: 1px; text-underline-offset: .2em; }
.storefront-market :is(.product-image, .commerce-product figure, .market-hero-product) img {
  display: block;
  max-inline-size: 100%;
  object-fit: contain !important;
  object-position: center;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}
.storefront-market .product-image { min-height: clamp(155px, 24vw, 245px); }
.storefront-market .product-image img { max-block-size: 245px; margin-inline: auto; }
.storefront-market .commerce-product figure img { max-block-size: 530px; }
.storefront-market [data-feature-media] {
  display: grid;
  place-items: center;
  margin: 0;
  width: 100%;
  flex: none;
  height: clamp(192px, 25vw, 350px);
  overflow: hidden;
}
.storefront-market .market-hero-product [data-feature-media] img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  aspect-ratio: auto;
}
.storefront-market .market-hero-product [data-feature-name] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: 2.5em;
}
.storefront-market .market-hero-product strong:empty { min-width: 4.5em; }
.storefront-market .market-hero-product > div {
  height: 7rem;
  min-height: 7rem;
  align-content: center;
  flex: none;
}
.storefront-vancouver-service .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
}
.storefront-vancouver-service .actions a { min-height: 44px; white-space: normal; }

@media (max-width: 650px) {
  .storefront-market .market-hero-product > div { height: 8rem; min-height: 8rem; }
  .storefront-visit { grid-template-columns: 1fr; align-items: start; }
  .storefront-visit iframe { aspect-ratio: 4 / 3; }
  .storefront-action-row, [data-managed-hosting-selection].storefront-action-row {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .storefront-action-row > p { min-height: 2.9em; }
  .storefront-action-row > .button { justify-self: start; }
}
