/* Product-detail refinement. Loaded only by luftfein-product.liquid. */
.lf-product {
  width: min(100% - 40px, 1280px);
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  column-gap: clamp(38px, 6.5vw, 96px);
  row-gap: clamp(36px, 3vw, 44px);
  align-items: start;
}

.lf-product__gallery,
.lf-product__details,
.lf-product__information,
.lf-product__information-copy { min-width: 0; }

.lf-product__gallery {
  display: grid;
  inline-size: min(100%, 720px);
  gap: 14px;
  align-self: start;
}

.lf-product__media {
  display: block;
  min-height: 0;
  padding: 0;
  margin: 0;
  aspect-ratio: 1;
  border: 0;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
}

.lf-product__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: 1;
  object-fit: contain;
  object-position: center;
}

.lf-product__media[data-lf-gallery-fit='cover'] img { object-fit: cover; }

.lf-product__thumbs {
  display: flex;
  gap: 8px;
  padding-bottom: 2px;
}

.lf-product__thumb {
  flex: 0 0 72px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(23, 43, 55, .2);
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
}

.lf-product__thumb img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; }
.lf-product__thumb.is-selected { border: 3px solid var(--woluna-accent, #97593a); }
.lf-product__thumb:focus-visible { outline: 3px solid var(--woluna-accent, #97593a); outline-offset: 3px; }

.lf-product__details { position: static; padding-top: clamp(8px, 1.8vw, 24px); }
.lf-product__details .lf-kicker { color: var(--woluna-accent, #97593a); }

.lf-product h1 {
  max-width: none;
  font-size: clamp(2.5rem, 3.4vw, 3.25rem);
  line-height: .98;
}

.lf-product__summary {
  max-width: 42ch;
  margin: 24px 0 0;
  color: #46565d;
  font-size: clamp(1rem, 1.3vw, 1.14rem);
  line-height: 1.6;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.lf-product__purchase-state {
  display: grid;
  gap: 12px;
  max-width: 31rem;
  margin-top: clamp(28px, 4vw, 42px);
  padding: clamp(22px, 3vw, 30px) 0 0;
  border-top: 1px solid rgba(23, 43, 55, .2);
  background: transparent;
}

.lf-product__purchase-state > * { min-width: 0; }
.lf-product__purchase-state :is(p, button) { overflow-wrap: anywhere; hyphens: auto; }
.lf-product__status { width: max-content; max-width: 100%; margin: 0; padding: 5px 9px; border: 1px solid rgba(151, 89, 58, .48); border-radius: 999px; background: var(--woluna-soft, #f3eadb); color: var(--woluna-accent, #97593a); font-size: .76rem; font-weight: 750; line-height: 1.2; }
.lf-product__price-placeholder { margin: 2px 0 0; color: var(--lf-ink); font-family: var(--lf-schrift-titel); font-size: clamp(1.55rem, 2vw, 1.9rem); font-weight: 700; letter-spacing: -.035em; line-height: 1; }
.lf-product__notice { margin: 0; color: #46565d; font-size: .94rem; line-height: 1.55; }

.lf-product__unavailable-button {
  width: 100%;
  min-height: 52px;
  margin-top: 4px;
  border: 1px solid rgba(23, 43, 55, .23);
  background: #e6e8e4;
  color: #58656a;
  cursor: not-allowed;
  font: inherit;
  font-weight: 700;
}

.lf-product__delivery { margin: 0; color: #5a666c; font-size: .84rem; line-height: 1.5; }

.lf-product__form { max-width: 31rem; margin-top: 32px; }
.lf-product__form .lf-button { width: 100%; }

.lf-product__information {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr);
  gap: clamp(28px, 7vw, 124px);
  padding-top: clamp(28px, 3vw, 42px);
  border-top: 1px solid rgba(23, 43, 55, .2);
}

.lf-product__information-heading h2 {
  max-width: none;
  margin: 0;
  color: var(--lf-ink);
  font-family: var(--lf-schrift-titel);
  font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  letter-spacing: -.055em;
  line-height: .98;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.lf-product__description { max-width: 62ch; margin: 0; padding: 0; border: 0; color: #35444c; line-height: 1.75; }
.lf-product__description p:first-child { margin-top: 0; }
.lf-product__description p:last-child { margin-bottom: 0; }
.lf-product__image-note { max-width: 62ch; margin: 24px 0 0; padding-top: 18px; border-top: 1px solid rgba(23, 43, 55, .16); color: #5b686e; font-size: .84rem; line-height: 1.55; }

@media (max-width: 989px) {
  .lf-product { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
  .lf-product__gallery { inline-size: min(100%, 560px); justify-self: center; }
  .lf-product__information { grid-column: auto; grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

@media (max-width: 749px) {
  .lf-product { width: min(100% - 32px, 1280px); row-gap: 32px; }
  .lf-product__gallery { inline-size: 100%; }
  .lf-product__media { border-radius: 14px; }
  .lf-product__thumb { flex-basis: 64px; }
  .lf-product h1 { font-size: clamp(2.5rem, 10.5vw, 3.25rem); }
  .lf-product__purchase-state { padding: 22px 0 0; }
}
