/* Approved homepage product comparison. The catalogue remains the data source.
   Scope all layout rules to this section; other product grids keep their UI. */

.page-home .home-offers {
  padding-block: clamp(3.25rem, 5vw, 5rem);
  background: var(--mz-arch-white);
  scroll-margin-top: 24px;
}
.page-home .home-offers__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 3rem;
  margin-bottom: 2.2rem;
}
.page-home .home-offers__heading h2 {
  margin: 0;
  font-size: clamp(1.85rem, 3vw, 2.65rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.page-home .home-offers__heading h2 span { color: var(--mz-deep-sage); }
.page-home .home-offers__heading p { max-width: 34em; margin: 0 0 .3rem; color: var(--mz-muted); font-size: 1rem; line-height: 1.85; text-wrap: pretty; }
.page-home .home-offers__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; }
.page-home .home-offers .home-offer {
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-home .home-offer .home-offer__media {
  position: relative;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: var(--mz-card);
  border-bottom: 3px solid var(--mz-line-strong);
}
.page-home .home-offer--featured .home-offer__media { border-color: var(--mz-deep-sage); }
.page-home .home-offer__media .ph {
  height: 100%;
  min-height: 0;
  padding: 1.5rem;
  background: var(--mz-card);
  border: 0;
  border-radius: 0;
  font-size: .75rem;
}
.page-home .home-offer__media .product-photo-label,
.page-home .home-offer__media .ph > b { display: none; }
.page-home .home-offer__media img { width: 100%; height: 100%; padding: 1.5rem; object-fit: contain; background: var(--mz-card); }
.page-home .home-offer:hover .home-offer__media img { transform: none; }
.page-home .home-offer__concept {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  margin: 0;
  background: var(--mz-card);
}
/* Relative framing for the approved concept lineup, not measured product sizes.
   Bottom-align intact photos; the taller concept retains the full image area. */
.page-home .home-offer__concept img {
  min-height: 0;
  height: 88%;
  padding: 0;
  align-self: end;
  object-fit: contain;
  object-position: center bottom;
}
.page-home .home-offer__concept[data-preview-framing="tall"] img { height: 100%; }
.page-home .home-offer__concept figcaption {
  margin: 0;
  padding: .4rem .6rem;
  color: var(--mz-muted);
  font-size: .6rem;
  line-height: 1.6;
  text-align: center;
}
.page-home .home-offer__badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 1;
  padding: .35rem .75rem;
  border-radius: 2px;
  color: var(--mz-card);
  background: var(--mz-deep-sage);
  font: 500 .72rem/1.5 var(--font-display);
}
.page-home .home-offer__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding-top: 1rem;
}
.page-home .home-offer__name { margin: 0 0 .5rem; font: 500 clamp(1.4rem, 1.85vw, 1.75rem)/1.3 var(--font-latin); }
.page-home .home-offer__name a { color: var(--mz-ink); }
.page-home .home-offer__name a:hover { color: var(--mz-deep-sage); text-decoration: underline; text-underline-offset: .2em; }
.page-home .home-offer__tag { min-height: 3.4em; margin: 0 0 .8rem; color: var(--mz-muted); font-size: .85rem; line-height: 1.75; }
.page-home .home-offer__price { margin-bottom: .8rem; }
.page-home .home-offer__price b { display: block; font-family: var(--font-display); font-size: 1.85rem; font-weight: 500; line-height: 1.4; }
.page-home .home-offer__price > span { display: block; margin-top: .2rem; color: var(--mz-muted); font-size: .72rem; line-height: 1.8; }
.page-home .home-offer__features {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 0;
}
.page-home .home-offer__features li { padding-block: .55rem; border-bottom: 1px solid var(--mz-line); color: var(--mz-muted); font-size: .84rem; line-height: 1.8; }
.page-home .home-offer__features li:last-child { border: 0; padding-bottom: 1rem; }
.page-home .home-offer__care { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0; padding: .7rem 0; border-top: 1px solid var(--mz-line-strong); color: var(--mz-deep-sage); font: 400 .85rem/1.7 var(--font-display); }
.page-home .home-offer__care strong { font-size: 1.1rem; font-weight: 500; }
.page-home .home-offer__details { margin-bottom: .9rem; border-block: 1px solid var(--mz-line-strong); }
.page-home .home-offer__details summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 48px; padding-block: .75rem; cursor: pointer; list-style: none; font: 500 .84rem/1.7 var(--font-display); }
.page-home .home-offer__details summary::-webkit-details-marker { display: none; }
.page-home .home-offer__details summary::after { content: '+'; font: 400 1.2rem/1 var(--font-latin); }
.page-home .home-offer__details[open] summary::after { content: '−'; }
.page-home .home-offer__details summary:focus-visible { outline: 2px solid var(--mz-deep-sage); outline-offset: 3px; }
.page-home .home-offer__details .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.page-home .home-offer__actions { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; margin-top: auto; }
.page-home .home-offer__actions .btn { min-height: 48px; padding: .9rem .8rem; border-radius: 3px; font-size: .88rem; font-weight: 500; }
.page-home .home-offer__actions .btn:hover { transform: none; box-shadow: none; }
.page-home .home-offer__actions .text-link { min-height: 48px; gap: .65rem; font-size: .82rem; white-space: nowrap; }
.page-home .home-offers__footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2.1rem; padding-top: 1.25rem; border-top: 1px solid var(--mz-line-strong); }
.page-home .home-offers__footer p { margin: 0; color: var(--mz-muted); font-size: .85rem; line-height: 1.85; }
.page-home .home-offers__footer .home-offers__status { margin-top: .3rem; font-size: .72rem; }
.page-home .home-offers__footer .text-link { flex-shrink: 0; min-height: 48px; font-size: .9rem; }

@media (min-width: 761px) and (max-width: 1100px) {
  .page-home .home-offers__grid { gap: 1.25rem; }
  .page-home .home-offer__tag { min-height: 5.4em; }
  .page-home .home-offer__price b { font-size: 1.65rem; }
  .page-home .home-offer__actions { grid-template-columns: 1fr; gap: .4rem; }
  .page-home .home-offer__actions .text-link { justify-self: center; }
}

@media (max-width: 760px) {
  .page-home .home-offers { padding-block: 2.65rem; scroll-margin-top: 12px; }
  .page-home .home-offers__heading { display: block; margin-bottom: 1.65rem; }
  .page-home .home-offers__heading h2 { font-size: clamp(1.65rem, 6.7vw, 2.15rem); }
  .page-home .home-offers__heading p { margin: 1.1rem 0 0; font-size: .92rem; }
  .page-home .home-offers__grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .page-home .home-offer .home-offer__media { aspect-ratio: 16 / 9; }
  .page-home .home-offer__body { padding-top: .85rem; }
  .page-home .home-offer__name { font-size: 1.5rem; }
  .page-home .home-offer__tag { min-height: 0; margin-bottom: .7rem; }
  .page-home .home-offer__price b { font-size: 1.8rem; }
  .page-home .home-offer__features { margin-bottom: 0; }
  .page-home .home-offer__features li { padding-block: .5rem; }
  .page-home .home-offer__actions { gap: 1rem; }
  .page-home .home-offer__actions .btn { font-size: .85rem; }
  .page-home .home-offers__footer { display: block; margin-top: 1.4rem; }
  .page-home .home-offers__footer .text-link { margin-top: 1rem; }
}

@media (max-width: 359px) {
  .page-home .home-offer__actions { grid-template-columns: 1fr; gap: .4rem; }
  .page-home .home-offer__actions .text-link { justify-self: center; }
}
