/* Opt-in Vue catalog components. All dimensions use the theme scale and typography tokens. */
.xleb-catalog { --catalog-image-ratio:3/2; --catalog-column-gap:var(--gapX6); --catalog-row-gap:var(--gapX10); min-width:0; }
.xleb-catalog--catalog_03 { --catalog-image-ratio:1; }
.xleb-catalog .vue-posts { display:grid; grid-template-columns:minmax(0,1fr); gap:var(--gapX8) 0; align-items:start; }
.xleb-catalog .vue-posts > * { min-width:0; }
.xleb-catalog .vue-posts .xleb-catalog-products { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--catalog-column-gap); row-gap:var(--catalog-row-gap); margin:0; padding:0; width:100%; }
.xleb-catalog .vue-posts .xleb-catalog-card { display:flex; flex-direction:column; gap:var(--gapX5); width:100%; max-width:none; min-width:0; grid-column:auto; grid-row:auto; padding:0; margin:0; background:transparent; color:var(--contentColor); text-decoration:none; border:0; border-radius:0; overflow:visible; }
.xleb-catalog-card__image { position:relative; width:100%; aspect-ratio:var(--catalog-image-ratio); overflow:hidden; background:var(--cardBgColor); }
.xleb-catalog-card__image > div { width:100%; height:100%; }
.xleb-catalog-card__image img { display:block; width:100%; height:100%; object-fit:cover; }
.xleb-catalog-card__body { display:flex; flex-direction:column; gap:var(--gapX4); min-width:0; }
.xleb-catalog-card__description { color:var(--contentOpacityColor);}
.xleb-catalog-card__price p { display:flex; flex-wrap:wrap; gap:var(--gapX3); }
.xleb-catalog-card__old-price { color:var(--contentOpacityColor); font-family:var(--textFont); font-weight:400; }
.xleb-catalog-card__badges { position:absolute; top:var(--gapX3); right:var(--gapX3); display:flex; flex-wrap:wrap; gap:var(--gapX1); }
.xleb-catalog-card__badge { background:var(--primaryOpacity100); color:var(--accentColor); border-radius:var(--roundedXS); padding:var(--gapX2); backdrop-filter:blur(8px); }
.xleb-catalog-card:focus-visible { outline:2px solid var(--accentColor); outline-offset:var(--gapX1); }
.xleb-catalog-categories .xleb-catalog-category { min-width:0; display:flex; flex-direction:column; align-items:center; gap:var(--gapX5); text-align:center; }
.xleb-catalog-category__media { display:flex; width:100%; height:var(--gapX15); align-items:center; justify-content:center; }
.xleb-catalog-category__media img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.xleb-catalog-categories--compact .xleb-catalog-category { flex-direction:row; gap:var(--gapX2); padding:var(--gapX1) var(--gapX4) var(--gapX1) var(--gapX1); border-radius:var(--roundedS); background:var(--cardBgColor); }
.xleb-catalog-categories--compact .xleb-catalog-category__media { height:calc(var(--gapX15) - var(--gapX2)); width:calc((var(--gapX15) - var(--gapX2))*4/3); flex-shrink:0; }
.xleb-catalog-toolbar { display:flex; align-items:center; gap:var(--gapX6); }
.xleb-catalog-toolbar__filters { display:flex; align-items:center; gap:var(--gapX2); }
.xleb-catalog .xleb-catalog-toggle { display:inline-flex; align-items:center; justify-content:center; gap:var(--gapX2); white-space:nowrap; }
.xleb-catalog-toggle i, .xleb-catalog-sort i { font-size:24px; line-height:1; flex-shrink:0; }
.xleb-catalog .xleb-catalog-quick { background:var(--blackOpacity100); color:var(--contentColor); border-color:transparent; }
.xleb-catalog-count { margin-left:auto; white-space:nowrap; color:var(--contentOpacityColor); }
.xleb-catalog-sort { display:flex; align-items:center; gap:var(--gapX2); background:var(--blackOpacity100); border-radius:var(--roundedXS); padding:var(--gapX3) var(--gapX4); min-width:0; }
.xleb-catalog-sort select { appearance:none; background:transparent; border:0; padding:0; margin:0; width:100%; font:inherit; letter-spacing:inherit; color:var(--contentColor); cursor:pointer; text-overflow:ellipsis; }
.xleb-catalog .xleb-catalog-more { margin:var(--gapX4) auto 0; justify-self:center; }
.xleb-catalog-backdrop { position:fixed; inset:0; z-index:9997; border:0; background:rgba(0,0,0,.3); width:100%; height:100%; padding:0; }
.xleb-catalog .filters-container.xleb-catalog-filters { display:flex; flex-direction:column; gap:var(--gapX10); background:var(--bgColor); color:var(--contentColor); }
.xleb-catalog .xleb-catalog-filters.side-filters { width:min(420px,100%); right:0; padding:var(--gapX6); max-width:100%; }
.xleb-catalog-filters__head { display:flex; align-items:center; justify-content:space-between; gap:var(--gapX4); }
.xleb-catalog-close { padding:0; background:none; border:0; color:var(--contentOpacityColor); cursor:pointer; }
.xleb-catalog .xleb-catalog-filters .filter-taxonomies { display:flex; flex-wrap:wrap; flex-direction:row; gap:var(--gapX3); margin:0; padding:0; border:0; background:transparent; border-radius:0; }
.xleb-catalog .xleb-catalog-filters .filter-title-row { display:flex; align-items:baseline; justify-content:space-between; gap:var(--gapX3); width:100%; margin:0 0 var(--gapX2); }
.xleb-catalog .xleb-catalog-filters .filter-title { margin:0; flex-basis:auto; }
.xleb-catalog .xleb-catalog-filters .term.filter { font-size:var(--textSsize); line-height:var(--textSheightT); color:var(--contentColor); display:flex; align-items:center; gap:var(--gapX3); height:auto; padding:0; margin:0; border:0; border-radius:0; background:transparent; }
.xleb-catalog .xleb-catalog-filters .term.filter.is-checkbox-ui { width:100%; }
.xleb-catalog .xleb-catalog-filters .term.filter.is-checkbox-ui::before { content:''; display:block; width:20px; height:20px; flex-shrink:0; border:1px solid var(--dividerDefault); background:transparent; }
.xleb-catalog .xleb-catalog-filters .term.filter.active.is-checkbox-ui::before { background:var(--accentColor); border-color:var(--accentColor); }
.xleb-catalog .xleb-catalog-filters .term.filter.is-buttons-ui { background:var(--blackOpacity100); padding:var(--gapX1) var(--gapX2); border-radius:var(--roundedXS); }
.xleb-catalog .xleb-catalog-filters .term.filter.is-buttons-ui::before { display:none; }
.xleb-catalog .xleb-catalog-filters .term.filter.active.is-buttons-ui { background:var(--accentColor); color:var(--onAccentColor,white); }
.xleb-catalog .xleb-catalog-filters .term-color-swatch { width:24px; height:24px; border-radius:50%; margin:0; flex-shrink:0; }
.xleb-catalog .xleb-catalog-filters .term.filter:has(.term-color-swatch) { width:calc(50% - var(--gapX3)/2); }
.xleb-catalog .xleb-catalog-filters .term.filter:has(.term-color-swatch)::before { display:none; }
.xleb-catalog .xleb-catalog-filters .term.filter.active .term-color-swatch { outline:2px solid var(--accentColor); outline-offset:2px; }
.xleb-catalog .filter-reset, .xleb-catalog .filter-show-more { background:none; padding:0; border:0; color:var(--contentOpacityColor); font-size:var(--textSsize); cursor:pointer; }
.xleb-catalog .filter-show-more { color:var(--accentColor); }
.xleb-catalog .acf-filter-range { display:flex; width:100%; gap:var(--gapX3); }
.xleb-catalog .acf-filter-range input { width:calc(50% - var(--gapX3)/2); min-width:0; border:0; border-radius:var(--roundedXS); background:var(--inputBg); color:var(--contentColor); padding:var(--gapX3) var(--gapX4); font-size:var(--textSsize); }
.xleb-catalog .range-separator { display:none; }
.xleb-catalog .active-filter-chips { margin:0; }
.xleb-catalog--catalog_03 .xleb-catalog-toggle { background:transparent; color:var(--accentColor); border-color:var(--accentColor); }
@media(min-width:1200px) {
 .xleb-catalog--catalog_02 .vue-posts { grid-template-columns:minmax(0,1fr) minmax(0,3.148148fr); column-gap:var(--gapX6); row-gap:var(--gapX6); }
 .xleb-catalog--catalog_02 .vue-posts > .xleb-catalog-toolbar { grid-column:2; grid-row:1; }
 .xleb-catalog--catalog_02 .xleb-catalog-toolbar__filters { display:none; }
 .xleb-catalog--catalog_02 .xleb-catalog-count { margin-left:0; margin-right:auto; }
 .xleb-catalog--catalog_02 .vue-posts.filter-layout-sidebar > .xleb-catalog-filters.is-sidebar-layout { grid-column:1; grid-row:2 / span 3; position:static; width:auto; height:auto; padding:0; box-shadow:none; overflow:visible; background:transparent; }
 .xleb-catalog--catalog_02 .vue-posts.filter-layout-sidebar > .xleb-catalog-products { grid-area:2 / 2 / auto / 3; }
 .xleb-catalog--catalog_02 .vue-posts.filter-layout-sidebar > .xleb-catalog-more { grid-area:3 / 2 / auto / 3; }
 .xleb-catalog--catalog_02 .vue-posts.filter-layout-sidebar > .xleb-catalog-empty { grid-area:3 / 2 / auto / 3; }
 .xleb-catalog--catalog_02 .vue-posts:has(> .active-filter-chips) > .xleb-catalog-products { grid-row:3; }
 .xleb-catalog--catalog_02 .vue-posts:has(> .active-filter-chips) > .xleb-catalog-more, .xleb-catalog--catalog_02 .vue-posts:has(> .active-filter-chips) > .xleb-catalog-empty { grid-row:4; }
 .xleb-catalog--catalog_02 .vue-posts > .active-filter-chips { grid-row:2; }
 .xleb-catalog--catalog_02 .vue-posts > .active-filter-chips, .xleb-catalog--catalog_02 .vue-posts > .xleb-catalog-more { grid-column:2; }
}
@media(max-width:1199px) {
 .xleb-catalog { --catalog-column-gap:var(--gapX4); --catalog-row-gap:var(--gapX8); }
 .xleb-catalog .vue-posts .xleb-catalog-products { grid-template-columns:repeat(12,minmax(0,1fr)); }
 .xleb-catalog .xleb-catalog-quick { display:none; }
}
@media(max-width:767px) {
 .xleb-catalog { --catalog-column-gap:var(--gapX3); --catalog-row-gap:var(--gapX7); }
 .xleb-catalog .vue-posts { gap:var(--gapX6) 0; }
 .xleb-catalog .vue-posts .xleb-catalog-card { gap:var(--gapX4); }
 .xleb-catalog-card__body { gap:var(--gapX3); }
 .xleb-catalog-card__price p { gap:var(--gapX2); }
 .xleb-catalog-card__badges { top:var(--gapX2); right:var(--gapX2); }
 .xleb-catalog-card__badge { font-size:var(--textXSsize); padding:var(--gapX1); }
 .xleb-catalog-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--gapX3); }
 .xleb-catalog-toolbar__filters, .xleb-catalog .xleb-catalog-toggle { width:100%; }
 .xleb-catalog-toggle i, .xleb-catalog-sort i { font-size:20px; }
 .xleb-catalog .xleb-catalog-toggle { padding:var(--gapX3) var(--gapX2); font-size:var(--textMsize); line-height:var(--textMheightT); }
 .xleb-catalog-sort { padding:var(--gapX3) var(--gapX2); gap:var(--gapX1); }
 .xleb-catalog-count { display:none; }
 .xleb-catalog--catalog_02 .xleb-catalog-count { display:block; grid-column:1/-1; grid-row:2; margin:0; font-size:var(--textSsize); }
 .xleb-catalog .xleb-catalog-more { width:100%; margin-top:var(--gapX4); }
 .xleb-catalog-categories .xleb-catalog-category { gap:var(--gapX4); }
 .xleb-catalog-categories--compact .xleb-catalog-category { gap:var(--gapX2); }
 .xleb-catalog-categories--compact .xleb-catalog-category__media { height:calc(var(--gapX12) - var(--gapX2)); width:calc((var(--gapX12) - var(--gapX2))*4/3); }
}

.xleb-catalog-categories--icons .xleb-flex-row { row-gap:var(--gapX8); }

.xleb-catalog-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:var(--gapX3); }
.xleb-catalog-breadcrumbs a, .xleb-catalog-breadcrumbs .sep { color:var(--contentOpacityColor); text-decoration:none; }
.xleb-catalog-card__placeholder { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:32px; color:var(--contentOpacityColor); }
.xleb-catalog-card__image img { position:relative; background:var(--cardBgColor); }

/* Figma checkbox: 20px box, 2px corners, exact exported white check glyph. */
.xleb-catalog .xleb-catalog-filters .term.filter.is-checkbox-ui::before {
 box-sizing:border-box; width:20px; height:20px; border:1.2px solid var(--inputBorder); border-radius:2px;
}
.xleb-catalog .xleb-catalog-filters .term.filter.active.is-checkbox-ui::before {
 border-color:var(--accentColor); background:var(--accentColor) url("check.svg") center / 20px 20px no-repeat;
}
.xleb-catalog .xleb-catalog-filters .term.filter:focus-visible { outline:2px solid var(--accentColor); outline-offset:4px; }
.xleb-catalog .xleb-catalog-filters .term.filter.disabled { opacity:.45; cursor:not-allowed; }

/* Catalog control typography: explicit tokens prevent native form/card inheritance. */
.xleb-catalog .xleb-catalog-toggle,
.xleb-catalog .xleb-catalog-quick,
.xleb-catalog .xleb-catalog-sort {
 box-sizing:border-box; font-family:var(--textFont); font-weight:400;
 font-size:var(--textMsize); line-height:var(--textMheightT); letter-spacing:-.02em;
 padding:var(--gapX3) var(--gapX4); border-width:0; min-height:0;
}
.xleb-catalog .xleb-catalog-quick { display:inline-flex; align-items:center; justify-content:center; }
.xleb-catalog .acf-filter-range input {
 box-sizing:border-box; font-family:var(--textFont); font-weight:400;
 font-size:var(--textSsize); line-height:var(--textSheightT); letter-spacing:normal;
 padding:calc(var(--gapX5) / 2) var(--gapX4); min-height:0; height:auto;
}
.xleb-catalog .xleb-catalog-card__badge {
 display:inline-flex; align-items:center; font-family:var(--textFont); font-weight:400;
 font-size:var(--textSsize); line-height:var(--textSheightT); letter-spacing:normal;
 padding:var(--gapX1) var(--gapX2);
}
.xleb-catalog--catalog_03 .xleb-catalog-toggle {
 border:1px solid var(--accentColor); padding-block:calc(var(--gapX3) - 1px);
}
@media(max-width:1199px) {
 .xleb-catalog .xleb-catalog-quick { display:none; }
}
@media(max-width:767px) {
 .xleb-catalog .xleb-catalog-toggle, .xleb-catalog .xleb-catalog-sort { padding-inline:var(--gapX2); }
 .xleb-catalog .xleb-catalog-sort { font-size:var(--textSsize); line-height:var(--textMheightT); padding-block:var(--gapX3); }
}
