/* Közös terméklista- és kategóriaoldal elrendezés. */
.page-catalog-layout .catalog-page .catalog-hero {
 display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0;
 width: calc(100% - 64px); max-width: 1320px; height: auto; min-height: 0; margin: 0 auto; padding: 22px 0 0; background: none;
}
.page-catalog-layout .catalog-breadcrumb { height: auto; align-items: center; gap: 8px; margin: 0; font: 400 14px/21px var(--sans); letter-spacing: 0; word-spacing: normal; }
.page-catalog-layout .catalog-breadcrumb a { font: inherit; text-decoration: none; }
.page-catalog-layout .catalog-breadcrumb a:hover { text-decoration: underline; }
.page-catalog-layout .catalog-hero h1 { margin: 12px 0 0; color: var(--ink); font: 500 56px/1.1 'Cormorant Garamond', Georgia, serif; overflow-wrap: normal; }
.page-catalog-layout .mirror-category-description { margin: 0; color: #74746e; font: 400 18px/27px var(--sans); }
.page-catalog-layout .catalog-page .catalog-layout { width: calc(100% - 64px); max-width: 1320px; margin: 24px auto 40px; padding: 0; }
.page-catalog-layout .catalog-page .catalog-toolbar { width: 100%; max-width: 1320px; min-height: 46px; margin: 0 auto 24px; }
.page-catalog-layout .catalog-page .catalog-controls-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; width: 100%; }
.page-catalog-layout .catalog-page .catalog-controls-row > .catalog-control { flex: 0 0 auto; width: auto; }
.page-catalog-layout .catalog-page .catalog-controls-row > .catalog-control > summary { display: flex; justify-content: center; gap: 22px; width: auto; min-width: 135px; height: 46px; min-height: 46px; padding: 0 28px; border: 1px solid #a7a59f; border-radius: 4px; background: var(--background); color: var(--ink); font: 400 15px/22px var(--sans); }
.page-catalog-layout .catalog-page .catalog-controls-row > .catalog-filter-control > summary { min-width: 139px; gap: 12px; border-color: #41412b; background: #41412b; color: #fff; }
.page-catalog-layout .catalog-page .catalog-controls-row > .catalog-filter-control > summary > svg { width: 21px; height: 21px; }
.page-catalog-layout .catalog-page .mirror-quick-filter:last-of-type > summary { min-width: 91px; }
.page-catalog-layout .catalog-controls-row .mirror-quick-filter > summary > svg { width: 13px; height: 13px; stroke-width: 1.5; }
.page-catalog-layout .catalog-page .catalog-controls-row > .catalog-desktop-sort { flex: 0 0 auto; width: auto; min-width: 194px; margin-left: auto; }
.page-catalog-layout .catalog-page .catalog-controls-row > .catalog-desktop-sort > label { width: 100%; min-width: 0; height: 46px; min-height: 46px; padding: 0; justify-content: flex-end; gap: 12px; border: 0; background: transparent; color: var(--ink); font: 400 15px/22px var(--sans); }
.page-catalog-layout .catalog-desktop-sort label strong { margin-left: 3px; font-weight: 700; }
.page-catalog-layout .catalog-desktop-sort label > svg { width: 13px; height: 13px; }
.page-catalog-layout .mirror-quick-panel { position: absolute; z-index: 25; top: calc(100% + 8px); left: 0; width: 280px; max-width: calc(100vw - 40px); padding: 18px; border: 1px solid var(--line); border-radius: 5px; background: var(--background); box-shadow: 0 6px 20px #2f332126; }
.page-catalog-layout .catalog-filter-panel { background: var(--background); }
.page-catalog-layout .mirror-quick-panel .catalog-filter-option { gap: 10px; }
.page-catalog-layout .mirror-quick-panel .catalog-filter-options { padding: 0; gap: 12px; }
.page-catalog-layout .mirror-quick-panel .catalog-filter-submit { margin: 18px 0 0; border-color: #41412b; background: #41412b; }
.page-catalog-layout .catalog-page .catalog-grid { width: 100%; margin: 0; grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 16px; row-gap: 40px; }
.page-catalog-layout .catalog-active-filters { max-width: 1320px; margin: 0 auto 20px; }
@media (min-width: 768px) and (max-width: 1100px) {
 .page-catalog-layout .catalog-page .catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px 20px; }
 .page-catalog-layout .catalog-page .catalog-controls-row { gap: 10px; }
 .page-catalog-layout .catalog-page .catalog-controls-row > .catalog-control > summary { min-width: 0; padding-inline: 18px; gap: 12px; }
}
@media (max-width: 767px) {
 .page-catalog-layout .catalog-page .catalog-hero { width: calc(100% - 40px); padding-top: 20px; }
 .page-catalog-layout .catalog-breadcrumb { font-size: 12px; gap: 6px; }
 .page-catalog-layout .catalog-hero h1 { margin-top: 12px; font-size: 44px; }
 .page-catalog-layout .mirror-category-description { font-size: 16px; line-height: 24px; }
 .page-catalog-layout .catalog-page .catalog-layout { width: calc(100% - 40px); margin-top: 20px; }
 .page-catalog-layout .catalog-page .catalog-controls-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .page-catalog-layout .catalog-page .catalog-controls-row > .catalog-control { width: 100%; min-width: 0; }
 .page-catalog-layout .catalog-page .catalog-controls-row > .catalog-control > summary { width: 100%; min-width: 0; padding: 0 10px; gap: 10px; font-size: 14px; }
 .page-catalog-layout .catalog-page .catalog-controls-row > .catalog-desktop-sort { grid-column: 1 / -1; justify-self: end; min-width: 0; margin: 0; }
 .page-catalog-layout .mirror-quick-filter:nth-of-type(2n) .mirror-quick-panel { left: auto; right: 0; }
 .page-catalog-layout .catalog-page .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 10px; }
}
@media (min-width: 1101px) {
 .page-catalog-layout .catalog-page--mirrors .catalog-controls-row > .mirror-quick-filter > summary { padding-inline: 0; }
 .page-catalog-layout .catalog-page--mirrors .catalog-controls-row > .mirror-quick-filter:nth-of-type(2) > summary { width: 135px; min-width: 135px; }
 .page-catalog-layout .catalog-page--mirrors .catalog-controls-row > .mirror-quick-filter:nth-of-type(3) > summary { width: 174px; min-width: 174px; }
 .page-catalog-layout .catalog-page--mirrors .catalog-controls-row > .mirror-quick-filter:nth-of-type(4) > summary { width: 91px; min-width: 91px; }
}

@media (min-width: 768px) and (max-width: 1024px) {
 .page-catalog-layout .catalog-page .catalog-hero,
 .page-catalog-layout .catalog-page .catalog-layout { width: calc(100% - 40px); }
}

/* Kattintásra lenyíló, a termékeket lejjebb toló szűrőblokk. */
.page-catalog-layout .catalog-inline-filters {
 display: grid; grid-template-rows: 0fr; opacity: 0;
 transition: grid-template-rows 280ms ease, opacity 200ms ease;
}
.page-catalog-layout .catalog-inline-filters.is-open { grid-template-rows: 1fr; opacity: 1; }
.page-catalog-layout .catalog-inline-filters-inner { min-height: 0; overflow: hidden; }
.page-catalog-layout .catalog-inline-filters .catalog-filter-panel {
 display: block; position: static; width: 100%; max-width: none; max-height: none; margin: 0 0 24px;
 padding: 22px; border: 1px solid var(--line); border-radius: 5px; background: var(--background); box-shadow: none;
}
.page-catalog-layout .catalog-inline-filters form { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 28px; align-items: start; }
.page-catalog-layout .catalog-inline-filters form > h2 { grid-column: 1 / -1; margin-bottom: 0; }
.page-catalog-layout .catalog-inline-filters .catalog-sale-option { margin: 0; padding-top: 10px; }
.page-catalog-layout .catalog-inline-filters .catalog-filter-submit {
 position: static; grid-column: 1 / -1; justify-self: start; display: block; width: auto; height: auto; min-height: 44px;
 margin: 0; padding: 10px 22px; overflow: visible; clip-path: none; border: 1px solid #41412b; background: #41412b;
}
.page-catalog-layout .catalog-inline-filters .catalog-filter-clear { grid-column: 1 / -1; justify-self: start; margin: 0; }
@media (max-width: 767px) {
 .page-catalog-layout .catalog-inline-filters .catalog-filter-panel { padding: 18px; }
 .page-catalog-layout .catalog-inline-filters form { grid-template-columns: minmax(0,1fr); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
 .page-catalog-layout .catalog-inline-filters { transition: none; }
}

/* Háromoszlopos szűrőpanel, élő kiválasztási címkékkel. */
.page-catalog-layout .catalog-inline-filters .catalog-filter-panel { position: relative; padding: 24px 14px 14px; }
.page-catalog-layout .catalog-inline-filters form { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
.page-catalog-layout .mirror-filter-offers,
.page-catalog-layout .mirror-filter-column { min-width: 0; min-height: 156px; padding: 0 26px 8px; }
.page-catalog-layout .mirror-filter-column { border-left: 1px solid var(--line); }
.page-catalog-layout .mirror-filter-offers h3,
.page-catalog-layout .mirror-filter-column h3 { margin: 0 0 16px; color: var(--ink); font: 500 15px/22px var(--sans); text-transform: uppercase; }
.page-catalog-layout .catalog-inline-filters .catalog-filter-option { min-height: 32px; gap: 14px; font-size: 15px; line-height: 22px; }
.page-catalog-layout .catalog-inline-filters .catalog-filter-options { gap: 5px; padding-bottom: 0; }
.page-catalog-layout .catalog-inline-filters .catalog-sale-option { padding: 0; }
.page-catalog-layout .catalog-inline-filters input[type='checkbox']:checked { border-color: #41412b; background: #41412b; }
.page-catalog-layout .catalog-page .catalog-controls-row > .catalog-filter-control > summary { gap: 12px; padding-inline: 20px; }
.page-catalog-layout .catalog-filter-control > summary::after { content: ''; width: 7px; height: 7px; margin-left: 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 200ms ease; }
.page-catalog-layout .catalog-filter-control[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.page-catalog-layout .inline-filter-clear { padding: 0; border: 0; background: transparent; color: var(--olive); font: 400 14px/22px var(--sans); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.page-catalog-layout .inline-filter-clear:disabled { opacity: .55; cursor: default; }
.page-catalog-layout .catalog-live-filterbar { display: flex; flex: 1 0 100%; min-width: 0; align-items: center; gap: 16px; }
.page-catalog-layout .catalog-live-filter-chips { display: flex; flex: 1; min-width: 0; align-items: center; flex-wrap: wrap; gap: 8px; }
.page-catalog-layout .catalog-live-filterbar .inline-filter-clear { flex: 0 0 auto; margin-left: auto; white-space: nowrap; }
.page-catalog-layout .catalog-live-filterbar[hidden],
.page-catalog-layout .catalog-active-filters[hidden] { display: none; }
.page-catalog-layout .catalog-selected-chip { display: inline-flex; align-items: center; gap: 12px; min-height: 36px; max-width: 100%; padding: 6px 12px; border: 1px solid #cbc7bd; border-radius: 4px; background: #f0ede6; color: var(--olive); font: 400 14px/22px var(--sans); cursor: pointer; }
.page-catalog-layout .catalog-selected-chip > .catalog-selected-chip-label { overflow-wrap: anywhere; text-align: left; }
.page-catalog-layout .catalog-selected-chip > span:last-child { font-size: 19px; }
@media (max-width: 767px) {
 .page-catalog-layout .catalog-inline-filters form { grid-template-columns: minmax(0,1fr); }
 .page-catalog-layout .catalog-inline-filters .catalog-filter-panel { padding: 20px 16px 16px; }
 .page-catalog-layout .mirror-filter-offers,
 .page-catalog-layout .mirror-filter-column { min-height: 0; padding: 0 0 16px; }
 .page-catalog-layout .mirror-filter-column { padding-top: 16px; border-left: 0; border-top: 1px solid var(--line); }
 .page-catalog-layout .catalog-live-filter-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
 .page-catalog-layout .catalog-live-filterbar .catalog-selected-chip { flex: 0 0 auto; }
}

.page-catalog-layout .catalog-grid .product-media { aspect-ratio: 1 !important; }

.page-catalog-layout .catalog-controls-row .catalog-lamp-switch { order: 0; margin-left: auto; }
.page-catalog-layout .catalog-controls-row:has(.catalog-lamp-switch) > .catalog-desktop-sort { margin-left: 0; }
@media (max-width: 767px) {
 .page-catalog-layout .catalog-controls-row .catalog-lamp-switch { grid-column: 1 / -1; justify-self: end; max-width: 100%; }
}


/* A fejléc kategóriáival egyező háttérkiemelés. */
.page-catalog-layout .mirror-quick-panel .catalog-filter-option {
 border-radius: 4px; transition: background-color 150ms ease, box-shadow 150ms ease;
}
.page-catalog-layout .mirror-quick-panel .catalog-filter-option:hover,
.page-catalog-layout .mirror-quick-panel .catalog-filter-option:focus-within {
 background-color: #f6e4cc; box-shadow: 0 0 0 6px #f6e4cc;
}
.page-catalog-layout .catalog-controls-row > .mirror-quick-filter > summary:hover,
.page-catalog-layout .catalog-controls-row > .mirror-quick-filter > summary:focus-visible {
 background-color: #f6e4cc;
}
@media (prefers-reduced-motion: reduce) {
 .page-catalog-layout .mirror-quick-panel .catalog-filter-option { transition: none; }
}

/* Hoverkiemelés a teljes lenyíló szűrőblokk egyes sorain is. */
.page-catalog-layout .catalog-inline-filters .catalog-filter-option {
 border-radius: 4px; transition: background-color 150ms ease, box-shadow 150ms ease;
}
.page-catalog-layout .catalog-inline-filters .catalog-filter-option:hover,
.page-catalog-layout .catalog-inline-filters .catalog-filter-option:focus-within {
 background-color: #f6e4cc; box-shadow: 0 0 0 6px #f6e4cc;
}
@media (prefers-reduced-motion: reduce) {
 .page-catalog-layout .catalog-inline-filters .catalog-filter-option { transition: none; }
}

/* Mobilon közös Szűrő | Rendezés sáv, a teljes szűrőkészlettel. */
@media (max-width: 767px) {
 .page-catalog-layout .catalog-page .catalog-toolbar { display: flex; flex-wrap: wrap; gap: 16px; min-height: 40px; margin-bottom: 16px; }
 .page-catalog-layout .catalog-page.is-enhanced .catalog-mobile-tools { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); flex: 1 0 100%; width: 100%; height: 40px; margin: 0; border: 1px solid #49492d; border-radius: 6px; background: transparent; }
 .page-catalog-layout .catalog-page .catalog-mobile-tools::after { content: ''; position: absolute; top: 8px; bottom: 8px; left: 50%; width: 1px; background: #c9bdb0; pointer-events: none; }
 .page-catalog-layout .catalog-page .catalog-filter-toggle,
 .page-catalog-layout .catalog-page .catalog-mobile-sort > label { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; height: 38px; margin: 0; padding: 0 14px; border: 0; background: transparent; color: #49492d; font: 500 14px/20px var(--sans); }
 .page-catalog-layout .catalog-page .catalog-filter-toggle[aria-expanded='true'] { background: #f2ebe4; border-radius: 5px 0 0 5px; }
 .page-catalog-layout .catalog-page .catalog-mobile-sort { position: relative; min-width: 0; }
 .page-catalog-layout .catalog-page .catalog-controls-row { display: none; }
 .page-catalog-layout .catalog-page .catalog-controls-row:has(.catalog-lamp-switch) { display: flex; justify-content: flex-end; }
 .page-catalog-layout .catalog-page .catalog-controls-row > .catalog-control,
 .page-catalog-layout .catalog-page .catalog-controls-row > .catalog-desktop-sort { display: none; }
 .page-catalog-layout .catalog-page .catalog-controls-row .catalog-lamp-switch { flex-basis: auto; }
}

/* Asztali nézetben az aktív szűrők a Szűrés mellett, azonos méretben. */
@media (min-width: 768px) {
 .page-catalog-layout .catalog-page .catalog-controls-row > .catalog-filter-control > summary { width: 154px; min-width: 154px; height: 46px; padding-inline: 14px; gap: 10px; white-space: nowrap; }
 .page-catalog-layout .catalog-controls-row > .catalog-live-filterbar { display: contents; }
 .page-catalog-layout .catalog-controls-row > .catalog-live-filterbar[hidden] { display: none; }
 .page-catalog-layout .catalog-live-filter-chips { flex: 1 1 154px; gap: 16px; }
 .page-catalog-layout .catalog-selected-chip { flex: 0 0 154px; justify-content: center; width: 154px; min-width: 154px; height: 46px; min-height: 46px; padding: 0 14px; gap: 10px; font-size: 15px; }
 .page-catalog-layout .catalog-selected-chip > .catalog-selected-chip-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
 .page-catalog-layout .catalog-controls-row > .catalog-desktop-sort { order: 1; }
 .page-catalog-layout .catalog-page .catalog-controls-row:has(> .catalog-live-filterbar:not([hidden])) > .catalog-desktop-sort { margin-left: 0; }
 .page-catalog-layout .catalog-live-filterbar .inline-filter-clear { order: 0; margin-left: auto; }
}

.page-catalog-layout .catalog-selected-chip > .catalog-selected-chip-icon { display: block; flex: 0 0 20px; width: 20px; min-width: 20px; max-width: 20px; height: 20px; min-height: 20px; max-height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

/* White backgrounds across all product category pages. */
.page-catalog-layout, .page-catalog-layout .catalog-page { background: #fff; }

/* Compact category heading and filter spacing on mobile. */
@media (max-width: 767px) {
 .page-catalog-layout .mobile-categories { margin-bottom: 8px; }
 .page-catalog-layout .catalog-page .catalog-hero { padding-top: 12px; padding-bottom: 0; gap: 0; }
 .page-catalog-layout .catalog-hero h1 { margin: 8px 0 0; line-height: 1.1; }
 .page-catalog-layout .catalog-page .catalog-layout { margin-top: 16px; }
 .page-catalog-layout .mirror-category-description:empty { display: none; }
}

/* Balanced space around category reviews on mobile. */
@media (max-width: 767px) {
 .page-catalog-layout .catalog-page { padding-bottom: 0; }
 .page-catalog-layout .catalog-page .catalog-layout { margin-bottom: 16px; }
 .page-catalog-layout > .reviews { padding-top: 16px; padding-bottom: 32px; }
}

@media (max-width: 767px) {
 .page-catalog-layout .catalog-hero h1 { margin-bottom: 0; line-height: 1; }
 .page-catalog-layout .catalog-page .catalog-layout { margin-top: 8px; }
}

@media (max-width: 767px) {
 .page-catalog-layout > .reviews { padding-top: 32px; }
}

/* Picture shape selector, exclusive to the mirrors category. */
.page-catalog-layout .catalog-page--mirrors .mirror-shape-selector {
 display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px;
 width: 100%; min-width: 0; margin-top: 24px;
}
.page-catalog-layout .mirror-shape-card {
 display: flex; align-items: center; justify-content: flex-start; gap: 10px;
 min-width: 0; min-height: 100px; padding: 12px; border: 1px solid #d8d6d0;
 border-radius: 4px; background: #fff; color: var(--ink); text-decoration: none;
 font: 400 16px/1.3 var(--sans); transition: border-color 150ms ease, background-color 150ms ease;
}
.page-catalog-layout .mirror-shape-card img {
 display: block; flex: 0 0 68px; width: 68px; height: 76px; object-fit: contain;
}
.page-catalog-layout .mirror-shape-card span { min-width: 0; }
.page-catalog-layout .mirror-shape-card:hover,
.page-catalog-layout .mirror-shape-card.is-active { border-color: #57543a; background: #f7f5f0; }
.page-catalog-layout .mirror-shape-card.is-active { box-shadow: inset 0 0 0 1px #57543a; }
.page-catalog-layout .mirror-shape-card:focus-visible { outline: 2px solid #57543a; outline-offset: 3px; }
.page-catalog-layout .mirror-shape-reset { margin-top: 12px; color: var(--ink); font: 400 14px/1.4 var(--sans); }
.page-catalog-layout .mirror-shape-reset span { margin-left: 6px; }
@media (min-width: 768px) and (max-width: 1250px) {
 .page-catalog-layout .catalog-page--mirrors .mirror-shape-selector { gap: 10px; }
 .page-catalog-layout .mirror-shape-card { flex-direction: column; gap: 6px; padding: 10px 6px; font-size: 14px; }
 .page-catalog-layout .mirror-shape-card img { flex-basis: 64px; width: 64px; height: 64px; }
}
@media (max-width: 767px) {
 .page-catalog-layout .catalog-page--mirrors .mirror-shape-selector {
  display: flex; gap: 10px; overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x proximity; margin-top: 20px; padding-bottom: 8px;
 }
 /* Two complete cards and half of the third, including the two 10px gaps. */
 .page-catalog-layout .mirror-shape-card { flex: 0 0 calc(40% - 8px); min-height: 88px; padding: 10px; gap: 8px; font-size: 14px; scroll-snap-align: start; }
 .page-catalog-layout .mirror-shape-card img { flex-basis: 56px; width: 56px; height: 66px; }
 .page-catalog-layout .catalog-page--mirrors .catalog-layout { margin-top: 16px; }
}

/* Keep shape names readable when the 2.5-card rail makes each card narrow. */
@media (max-width: 479px) {
 .page-catalog-layout .mirror-shape-card { flex-direction: column; justify-content: center; gap: 6px; padding: 10px 6px; text-align: center; }
 .page-catalog-layout .mirror-shape-card img { flex-basis: 48px; width: 48px; height: 48px; }
}
