/* ==========================================================================
   La Pizza – bolti szűrők, kemenceválasztó, összehasonlító táblázat.
   ========================================================================== */

/* ---------- Kategóriakártya „Hamarosan” címke ---------- */
.cat-card__media { position: relative; }
.cat-card__badge { position: absolute; top: var(--sp-3); left: var(--sp-3); background: var(--c-graphite-900); color: var(--c-cream-50); }

/* ---------- Bolti szűrősáv ---------- */
.shop-filters {
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--sp-4) var(--sp-6);
  margin-top: var(--sp-5); padding: var(--sp-4) var(--sp-5); background: var(--color-surface);
  border: 1px solid var(--color-line); border-radius: var(--radius-lg);
}
.shop-filters__group, .shop-filters__price { display: flex; flex-direction: column; gap: var(--sp-2); min-width: 0; }
.shop-filters__label { font-size: var(--fs-xs); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-muted); }
.shop-filters .chip { padding: .45rem .9rem; }
.shop-filters__price { flex-direction: row; flex-wrap: wrap; align-items: center; }
.shop-filters__price .shop-filters__label { flex-basis: 100%; }
.shop-filters__price .field__input { width: 120px; min-height: 42px; padding-block: .5rem; }
.shop-filters__price .btn { min-height: 42px; padding: .5rem 1.1rem; }
.shop-filters__clear { align-self: center; font-size: var(--fs-sm); font-weight: 600; }
@media (max-width: 640px) {
  .shop-filters { padding: var(--sp-4); }
  .shop-filters__price .field__input { width: calc(50% - 20px); }
  .shop-filters__price .btn { width: 100%; }
}

/* ---------- Kemenceválasztó űrlap ---------- */
.finder__form { display: grid; gap: var(--sp-4); }
.finder__step { margin: 0; padding: var(--sp-4); border: 0; border-radius: var(--radius); background: var(--color-bg); }
.finder__step legend { float: left; width: 100%; display: flex; align-items: center; gap: var(--sp-3); font-weight: 700; margin-bottom: var(--sp-3); padding: 0; }
.finder__step .pill-options { clear: both; }
.finder__num {
  width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 50%;
  background: var(--color-primary); color: var(--c-white); font-family: var(--font-display); font-weight: 600;
}
.finder__step .pill span { padding: .5rem 1rem; }

/* ---------- Összehasonlító táblázat ---------- */
.compare-hint { font-size: var(--fs-xs); margin-bottom: var(--sp-3); }
@media (min-width: 1100px) { .compare-hint { display: none; } }
.compare-scroll { position: relative; overflow-x: auto; border: 1px solid var(--color-line); border-radius: var(--radius-lg); background: var(--color-surface); }
.compare-scroll:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
.compare-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; font-size: var(--fs-sm); }
.compare-table :is(th, td) { padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--color-line); text-align: left; vertical-align: top; }
.compare-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.compare-table tbody th, .compare-table__corner {
  position: sticky; left: 0; z-index: 1; width: 170px; min-width: 150px; background: var(--c-sand-200);
  font-weight: 600; color: var(--c-graphite-900);
}
.compare-table thead th { min-width: 170px; vertical-align: bottom; }
.compare-table__product { display: flex; flex-direction: column; gap: var(--sp-2); color: var(--c-graphite-900); text-decoration: none; font-family: var(--font-display); font-size: 1.1rem; font-weight: 500; line-height: 1.25; }
.compare-table__product img { width: 100%; max-width: 180px; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); background: var(--c-sand-200); }
.compare-table__product:hover span { color: var(--color-primary); text-decoration: underline; }
.compare-table td.price { font-weight: 700; color: var(--c-graphite-900); }
.compare-table__actions .btn { min-height: 40px; padding: .4rem 1rem; }
