.catalogo-inm.inm-bs, .catalogo-inm.inm-bs * { box-sizing: border-box; }
.catalogo-inm.inm-bs { --inm-blue:#07257c; --inm-border:#e4e7ec; --inm-muted:#6b7280; --inm-soft:#f7f8fb; --inm-chip:#eaf2ff; --inm-green:#00a850; font-family: Arial, Helvetica, sans-serif; color:#111827; width:100%; }
.catalogo-inm .inm-container { width:100%; max-width:none; margin:0; padding:18px 12px 28px; }
.catalogo-inm .inm-filter-top { display:flex !important; gap:14px; align-items:center !important; margin-bottom:14px; }
.catalogo-inm .inm-search-wrap { position:relative; flex:1 1 auto; display:flex; align-items:center; height:52px; margin:0 !important; }
.catalogo-inm .inm-search-icon { position:absolute; left:15px; top:50%; transform:translateY(-50%); display:flex; color:#8a8f98; z-index:2; }
.catalogo-inm .inm-search-icon svg, .catalogo-inm .inm-filter-btn svg { fill:currentColor; }
.catalogo-inm .inm-search-input { width:100% !important; height:52px !important; min-height:52px !important; line-height:52px !important; border:1px solid var(--inm-border) !important; border-radius:10px !important; padding:0 15px 0 46px !important; font-size:15px !important; background:#fff !important; outline:none !important; color:#111827 !important; box-shadow:none !important; display:block !important; margin:0 !important; vertical-align:middle !important; }
.catalogo-inm .inm-search-input:focus { border-color:#b7c3e9; box-shadow:0 0 0 3px rgba(7,37,124,.08); }
.catalogo-inm .inm-filter-btn { min-width:114px; width:auto !important; height:52px !important; min-height:52px !important; max-height:52px !important; line-height:1 !important; border:0 !important; border-radius:10px !important; background:var(--inm-blue) !important; color:#fff !important; font-weight:700 !important; font-size:15px !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; cursor:pointer; padding:0 20px !important; margin:0 !important; align-self:center !important; vertical-align:middle !important; position:relative !important; top:0 !important; box-shadow:none !important; appearance:none !important; }
.catalogo-inm .inm-filter-btn:hover { filter:brightness(.96); }
.catalogo-inm .inm-autocomplete { position:absolute; left:0; right:0; top:58px; background:#fff; border:1px solid var(--inm-border); border-radius:10px; box-shadow:0 12px 28px rgba(15,23,42,.12); overflow:hidden; z-index:10; }
.catalogo-inm .inm-autocomplete button { display:block; width:100%; text-align:left; background:#fff; border:0; padding:10px 14px; cursor:pointer; font-size:14px; color:#111827; }
.catalogo-inm .inm-autocomplete button:hover { background:#f5f7fb; }
.catalogo-inm .inm-filter-panel { border:1px solid var(--inm-border); border-radius:10px; background:#fff; padding:20px 22px 22px; margin-bottom:26px; }
.catalogo-inm .inm-filter-panel h3 { margin:0 0 18px; font-size:16px; font-weight:800; line-height:1.2; }
.catalogo-inm .inm-filter-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.catalogo-inm .inm-filter-grid label { display:block; font-size:13px; color:#273244; font-weight:500; }
.catalogo-inm .inm-select { display:block; width:100%; margin-top:8px; min-height:43px; border:1px solid var(--inm-border); border-radius:6px; padding:0 12px; background:#fff; color:#111827; font-size:14px; }
.catalogo-inm .inm-status { margin:10px 0 22px; color:var(--inm-muted); font-size:13px; }
.catalogo-inm .inm-status strong { color:#111827; }
.catalogo-inm .inm-grid { display:grid; gap:28px; grid-template-columns:repeat(var(--inm-columns,3), minmax(0,1fr)); }
.catalogo-inm .inm-card { display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid var(--inm-border); border-radius:12px; box-shadow:0 2px 5px rgba(15,23,42,.10); text-decoration:none !important; color:inherit !important; transition:transform .15s ease, box-shadow .15s ease; min-height: 448px; }
.catalogo-inm .inm-card:hover { transform:translateY(-2px); box-shadow:0 9px 22px rgba(15,23,42,.14); text-decoration:none !important; }
.catalogo-inm .inm-img-wrap { position:relative; height:190px; background:#eef1f5; overflow:hidden; }
.catalogo-inm .inm-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; }
.catalogo-inm .inm-badge-stage { position:absolute; top:13px; left:13px; display:inline-flex; align-items:center; min-height:24px; border-radius:7px; background:#fff; color:#0f172a; padding:4px 10px; font-size:12px; font-weight:800; text-transform:uppercase; box-shadow:0 2px 6px rgba(15,23,42,.16); }
.catalogo-inm .inm-badge-stage.deliveryReady { background:var(--inm-blue); color:#fff; }
.catalogo-inm .inm-badge-stage.green { background:var(--inm-green); color:#fff; }
.catalogo-inm .inm-price { position:absolute; right:10px; bottom:10px; display:inline-flex; border-radius:7px; background:#fff; color:var(--inm-blue); font-size:13px; font-weight:800; padding:6px 10px; box-shadow:0 2px 8px rgba(15,23,42,.18); }
.catalogo-inm .inm-card-body { padding:20px 20px 18px; display:flex; flex-direction:column; flex:1; }
.catalogo-inm .inm-title { margin:0 0 14px; font-size:18px; font-weight:800; color:#000; line-height:1.25; }
.catalogo-inm .inm-meta { display:flex; align-items:flex-start; gap:8px; margin:0 0 9px; color:#6b7280; font-size:13px; line-height:1.25; }
.catalogo-inm .inm-meta svg { flex:0 0 auto; width:14px; height:14px; fill:#6b7280; margin-top:1px; }
.catalogo-inm .inm-tags { display:flex; flex-wrap:wrap; gap:8px; padding:10px 0 14px; border-bottom:1px solid #eef0f4; margin-bottom:15px; }
.catalogo-inm .inm-tag { display:inline-flex; align-items:center; gap:4px; padding:5px 8px; border-radius:999px; background:var(--inm-chip); color:#0753b7; font-size:12px; font-weight:700; line-height:1; }
.catalogo-inm .inm-tag svg { width:12px; height:12px; fill:currentColor; }
.catalogo-inm .inm-reserva { margin-top:auto; color:#8a8f98; font-size:12px; }
.catalogo-inm .inm-reserva strong { color:#4b5563; font-weight:800; }
.catalogo-inm .inm-empty, .catalogo-inm .inm-error { border:1px solid var(--inm-border); background:#fff; border-radius:10px; padding:22px; color:#6b7280; }
.catalogo-inm .inm-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:8px; margin-top:40px; }
.catalogo-inm .inm-page-btn { min-width:38px; height:38px; padding:0 10px; border:1px solid var(--inm-border); border-radius:8px; background:#fff; color:#273244; cursor:pointer; font-weight:600; }
.catalogo-inm .inm-page-btn:hover:not(:disabled) { border-color:#aeb8d2; }
.catalogo-inm .inm-page-btn.is-active { background:var(--inm-blue); color:#fff; border-color:var(--inm-blue); }
.catalogo-inm .inm-page-btn:disabled { color:#c2c7d0; cursor:not-allowed; background:#fafafa; }
.catalogo-inm .inm-ellipsis { padding:0 4px; color:#8a8f98; }
@media (max-width: 991px) { .catalogo-inm .inm-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } .catalogo-inm .inm-filter-grid { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px) { .catalogo-inm .inm-container { padding-left:10px; padding-right:10px; } .catalogo-inm .inm-filter-top { flex-direction:column; } .catalogo-inm .inm-filter-btn { width:100%; } .catalogo-inm .inm-filter-grid, .catalogo-inm .inm-grid { grid-template-columns:1fr; } .catalogo-inm .inm-img-wrap { height:210px; } }
