/* Public catalog only. The published company palette overrides these fallbacks. */
.li-catalog-page {
  --lc-bg:#f5f6f8; --lc-surface:#fff; --lc-soft:#f8f9fb;
  --lc-ink:#18202a; --lc-muted:#616d7d; --lc-line:#dce2e9;
  --lc-selected:#fff7cc; --lc-link:#255ea5; --lc-accent:#f4d600;
  --lc-accent-ink:#161a20; --lc-success:#17643c; --lc-warning:#8b630f;
  --lc-danger:#b32631; --lc-radius:10px;
  background-color:var(--lc-bg);
}
html[data-luxus-theme=dark] .li-catalog-page {
  --lc-bg:#12181e; --lc-surface:#1c242d; --lc-soft:#242e39;
  --lc-ink:#f2f5f8; --lc-muted:#b0bbc9; --lc-line:#3a4653;
  --lc-selected:#443d1c; --lc-link:#95c2ff;
  --lc-success:#a8e3c0; --lc-warning:#f4d28c; --lc-danger:#ffafb7;
}
.li-catalog-page #main { background:var(--lc-bg); color:var(--lc-ink); padding-bottom:var(--li-catalog-bottom-space,16px); }
.li-catalog-controls { max-width:1300px; margin:0 auto 8px; color:var(--lc-ink); font-family:inherit; }
.li-catalog-controls *, .li-catalog-layout * { box-sizing:border-box; }
.li-catalog-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:6px; }
.li-catalog-heading h2 { color:var(--lc-ink); font-size:26px; line-height:1.2; margin:0; text-transform:none; }
.li-catalog-selection { color:var(--lc-muted); font-size:13px; margin:5px 0 0; }
.li-catalog-selection a, .li-catalog-reset { color:var(--lc-link); text-decoration:underline; }
.li-catalog-appearance { display:flex; align-items:center; gap:6px; margin:0; font-size:12px; font-weight:400; color:var(--lc-muted); }
.li-catalog-page .li-catalog-appearance select { width:100px; min-height:36px; height:36px; font-size:14px; margin:0; }
.li-catalog-families { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0 0 6px; }
.li-catalog-page #main .li-catalog-family {
  display:flex; align-items:center; justify-content:flex-start; gap:8px;
  min-width:0; min-height:46px; padding:8px 10px; margin:0;
  color:var(--lc-ink); background:var(--lc-soft); border:1px solid var(--lc-line);
  border-radius:var(--lc-radius); font-size:14px; font-weight:600; line-height:1.25;
  text-decoration:none; text-transform:none; box-shadow:none;
}
.li-catalog-family span { min-width:0; overflow-wrap:normal; }
.li-catalog-family-icon { flex:0 0 28px; width:28px; height:22px; color:inherit; }
.li-catalog-page #main .li-catalog-family:hover { background:var(--lc-selected); }
.li-catalog-page #main .li-catalog-family.is-active { background:var(--lc-accent); color:var(--lc-accent-ink); border-color:var(--lc-accent); }
.li-catalog-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; margin-bottom:14px; }
.li-catalog-sort { display:flex; gap:8px; align-items:center; margin:0; color:var(--lc-ink); font-size:13px; font-weight:400; }
.li-catalog-page #main .li-catalog-sort select { width:210px; max-width:100%; height:42px; min-height:42px; margin:0; font-size:14px; }
.li-catalog-page #main :is(.li-catalog-filter-toggle,.li-catalog-sort-apply) {
  min-height:42px; margin:0; padding:8px 12px; color:var(--lc-ink);
  background:var(--lc-surface); border:1px solid var(--lc-line); border-radius:var(--lc-radius);
  font-size:14px; font-weight:600; text-transform:none; letter-spacing:0; line-height:1.3;
}
.li-catalog-filter-toggle { display:none; }
.li-catalog-filter-panel { border:1px solid var(--lc-line); border-radius:var(--lc-radius); background:var(--lc-soft); color:var(--lc-ink); margin:0 0 16px; }
.li-catalog-filter-panel summary { padding:12px; font-weight:600; }
.li-catalog-filter-form { padding:14px; margin:0; }
.li-catalog-filter-form label { display:block; color:var(--lc-ink); font-size:14px; font-weight:600; margin:0 0 6px; }
.li-catalog-page #main .li-catalog-filter-form :is(input:not([type=hidden]),select) { display:block; width:100%; min-height:44px; height:44px; font-size:16px; margin:0 0 14px; }
.li-catalog-page #main :is(.li-catalog-controls,.li-catalog-filter-panel) :is(input:not([type=hidden]),select) {
  color:var(--lc-ink); background-color:var(--lc-surface); border:1px solid var(--lc-line);
  border-radius:calc(var(--lc-radius)*.6); box-shadow:none; padding:7px 10px; line-height:1.3;
}
.li-catalog-page #main :is(.li-catalog-controls,.li-catalog-filter-panel) select { padding-right:27px; }
.li-catalog-page #main :is(.li-catalog-controls,.li-catalog-filter-panel) input::placeholder { color:var(--lc-muted); opacity:1; }
.li-catalog-page #main .li-catalog-apply { width:100%; margin:0 0 10px; padding:10px; min-height:44px; color:var(--lc-accent-ink); background:var(--lc-accent); border:1px solid var(--lc-accent); border-radius:var(--lc-radius); font-size:14px; font-weight:600; text-transform:none; line-height:1.3; letter-spacing:0; }
.li-catalog-reset { display:block; text-align:center; font-size:13px; padding:5px; }
.li-catalog-ready .li-catalog-filter-panel>summary, .li-catalog-ready .li-catalog-sort-apply { display:none; }
.li-catalog-ready .li-catalog-filter-panel:not([open]) { display:none; }
/* Keep the original Flatsome card internals, image tools and hover behavior. */
.li-catalog-page #main .li-catalog-grid { display:flex!important; flex-wrap:wrap; margin:0 -6px!important; width:auto; max-width:none; }
.li-catalog-page #main .li-catalog-grid>.product-small.col,
.li-catalog-page #main .li-catalog-grid>li.product { flex:0 0 33.333333%!important; width:33.333333%!important; max-width:33.333333%!important; padding:0 6px 16px; margin:0; min-width:0; }
.li-catalog-page #main .li-catalog-unit .box-text { color:var(--lc-ink); background:var(--lc-surface); }
.li-catalog-page #main .li-catalog-unit :is(.product-title a,.price,.amount) { color:var(--lc-ink); }
.li-catalog-card-meta { margin:4px 0; font-size:12px; line-height:1.4; color:var(--lc-muted); }
.li-catalog-specs { display:block; }
.li-catalog-status { font-size:11px; color:var(--lc-muted); }
.li-catalog-status-available { color:var(--lc-success); }
.li-catalog-status-reserved,.li-catalog-status-confirmation { color:var(--lc-warning); }
.li-catalog-page #main .li-catalog-unit .reserved-status { pointer-events:none; }
/* Use the original working theme controls whenever they exist. */
.li-catalog-native-controls .li-catalog-toolbar,
.li-catalog-native-controls .li-catalog-filter-panel { display:none!important; }
.li-catalog-heading h2 { display:none; }
.li-catalog-heading { justify-content:flex-end; margin-bottom:6px; }
.li-catalog-heading:has(.li-catalog-selection) { justify-content:space-between; }
.li-catalog-page .li-catalog-appearance select { min-height:30px; height:30px; padding-top:3px!important; padding-bottom:3px!important; }
.li-catalog-page div.shop-page-title { padding:0!important; margin:0; }
.li-catalog-page div.shop-page-title .page-title-inner { min-height:0!important; padding-top:8px!important; padding-bottom:8px!important; }
.li-catalog-page div.shop-page-title h1 { font-size:20px; margin:0; }
.li-catalog-page div.shop-page-title .woocommerce-breadcrumb { font-size:11px; padding:0; margin:2px 0; }
.li-catalog-page div.shop-page-title .category-filtering { padding:0; margin:4px 0 0; }
.li-catalog-page div.shop-page-title .woocommerce-ordering { margin:0; }
.li-catalog-page div.shop-page-title .orderby { margin:0; height:34px; min-height:34px; }
.li-catalog-page .luxus-stock-box { margin:4px auto!important; padding:6px 10px!important; }
.li-catalog-page #main>.category-page-row { padding-top:8px; }
.li-catalog-page .category-page-row>.col { padding-bottom:10px; }
.li-catalog-page #shop-sidebar :is(.widget-title,label,a) { color:var(--lc-ink); }
.li-catalog-page #main .luxus-preparing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1023px) {
 .li-catalog-families { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .li-catalog-page #main .li-catalog-family { min-height:38px; padding:5px 8px; font-size:12px; gap:6px; }
 .li-catalog-family-icon { flex-basis:20px; width:20px; height:16px; }
 .li-catalog-page #main .li-catalog-grid>.product-small.col,
 .li-catalog-page #main .li-catalog-grid>li.product { flex-basis:50%!important; width:50%!important; max-width:50%!important; padding:0 4px 12px; }
 .li-catalog-page #main .li-catalog-grid { margin:0 -4px!important; }
 .li-catalog-page #main .luxus-preparing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .li-catalog-page div.shop-page-title .page-title-inner { display:flex; flex-flow:row wrap; justify-content:space-between; gap:4px; }
 .li-catalog-page div.shop-page-title .page-title-inner>.flex-col { flex:0 1 auto; text-align:left!important; }
 .li-catalog-page div.shop-page-title .woocommerce-breadcrumb { display:none; }
 .li-catalog-page div.shop-page-title .orderby { max-width:180px; font-size:12px; }
}
@media(max-width:600px) {
 .li-catalog-family-icon { flex-basis:18px; width:18px; height:14px; }
 .li-catalog-page .li-catalog-appearance select { width:104px; font-size:16px; }
 .li-catalog-page #main .li-catalog-unit .product-title { font-size:13px; line-height:1.3; }
 .li-catalog-page #main .li-catalog-unit .reserved-status { font-size:11px; padding:5px; }
 .li-catalog-card-meta { font-size:11px; }
}
/* Compact the existing notice and title; retain their text and native controls. */
.li-catalog-page .luxus-stock-text { font-size:12px!important; line-height:1.35!important; }
.li-catalog-page .luxus-stock-text :is(strong,span) { font-size:inherit!important; line-height:inherit!important; }
@media(max-width:1023px) {
 .li-catalog-page div.shop-page-title .page-title-inner>.flex-col { width:auto!important; flex-basis:auto!important; }
 .li-catalog-page div.shop-page-title .page-title-inner>.flex-col:first-child { flex:1 1 0!important; min-width:0; }
 .li-catalog-page div.shop-page-title .orderby { max-width:min(170px,46vw); }
}
.li-catalog-page #luxus-stock-status { padding:4px 0!important; margin:0!important; }

/* Tarjetas aprobadas: identificación en foto y título/precio legibles. */
.li-catalog-page #main .li-catalog-unit .box-text{background:var(--lc-surface);color:var(--lc-ink);text-align:center;padding:16px 10px!important}
.li-catalog-page #main .li-catalog-unit :is(.product-title a,.woocommerce-loop-product__title){color:var(--lc-ink)!important;font-weight:650;line-height:1.3}
.li-catalog-page #main .li-catalog-unit :is(.price,.amount){color:var(--lc-ink)!important;font-weight:750}
.li-catalog-page #main .li-catalog-unit .price{font-size:clamp(18px,2vw,27px)}
.li-catalog-page #main .li-catalog-photo{position:relative}
.li-catalog-page #main .li-catalog-availability{position:absolute;z-index:4;top:10px;left:10px;padding:5px 10px;border:1px solid #4ac58b;border-radius:6px;background:#095b3ee8;color:#fff;font-size:13px;font-weight:700;line-height:1.4;pointer-events:none}
.li-catalog-page #main .li-catalog-availability::before{content:'✓';margin-right:6px}
.li-catalog-page #main .li-catalog-card-meta:empty{display:none}
@media(max-width:849px){.li-catalog-page #main .li-catalog-availability{top:6px;left:6px;padding:3px 6px;font-size:11px}.li-catalog-page #main .li-catalog-unit .box-text{padding:12px 7px!important}}
