/* Catalog styles – additive only. Uses existing tokens where defined (with fallbacks). */
.cat-hero-crumbs { font-size: 13px; font-family: 'Poppins', sans-serif; }
.cat-hero-crumbs a { color: inherit; opacity: .75; text-decoration: none; }
.cat-hero-crumbs a:hover { opacity: 1; }
.cat-hero-crumbs .sep { margin: 0 8px; opacity: .5; }

/* Category chips */
.cat-chips-wrap { background: #fff; border-bottom: 1px solid var(--border, #e5e7eb); position: sticky; top: 0; z-index: 5; }
.cat-chips { display: flex; gap: 10px; overflow-x: auto; padding: 14px 0; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.cat-chip { flex: 0 0 auto; padding: 7px 16px; border: 1px solid var(--border, #d9dde3); border-radius: 30px; background: #fff; color: #333;
    font: 500 13px 'Poppins', sans-serif; text-decoration: none; white-space: nowrap; transition: background .2s, border-color .2s, color .2s; }
.cat-chip:hover { border-color: #081321; color: #081321; }
.cat-chip.active { background: #081321; border-color: #081321; color: #fff; }
.cat-chip .count { opacity: .6; margin-left: 4px; font-size: 12px; }
.cat-chips.sub { padding-top: 0; }
.cat-chip.sub { padding: 5px 13px; font-size: 12px; background: #f4f5f7; }
.cat-chip.sub.active { background: #081321; }

/* Toolbar */
.cat-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 24px; font-family: 'Poppins', sans-serif; font-size: 14px; }
.cat-toolbar select { border: 1px solid var(--border, #d9dde3); border-radius: 8px; padding: 6px 10px; font-size: 13px; background: #fff; }
.cat-intro h2 { font-size: 24px; font-weight: 600; margin: 0 0 4px; }
.cat-intro p { margin: 0; color: #667; font-size: 14px; }

/* Cards (extends your existing .product-card) */
.cat-card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--border, #e5e7eb); border-radius: 12px; overflow: hidden;
    text-decoration: none; color: inherit; transition: box-shadow .25s, transform .25s; position: relative; }
.cat-card:hover { box-shadow: 0 8px 22px rgba(8, 19, 33, .12); transform: translateY(-3px); color: inherit; }
.cat-card .cat-img { aspect-ratio: 1 / 1; background: #f3f4f6; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.cat-card .cat-img img { width: 100%; height: 100%; object-fit: cover; }
.cat-card .cat-body { padding: 14px 16px 18px; text-align: center; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.cat-card .cat-label { font: 500 11px 'Poppins', sans-serif; text-transform: uppercase; letter-spacing: .06em; color: #8a8f98; }
.cat-card .cat-name { font: 600 15px/1.35 'Poppins', sans-serif; margin: 0; min-height: 40px; }
.cat-card .cat-info { font-size: 12.5px; color: #667; margin: 0; }
.cat-card .cat-price { font: 600 14px 'Poppins', sans-serif; margin-top: auto; }
.cat-card .cat-price.muted { color: #8a8f98; font-weight: 500; }
.cat-badge { position: absolute; top: 10px; left: 10px; padding: 3px 10px; border-radius: 20px; font: 600 11px 'Poppins', sans-serif; background: #081321; color: #fff; }

/* Empty state */
.cat-empty { text-align: center; padding: 70px 20px; background: #fff; border: 1px dashed var(--border, #cfd4db); border-radius: 12px; font-family: 'Poppins', sans-serif; }
.cat-empty i, .cat-empty .icon { font-size: 36px; opacity: .4; display: block; margin-bottom: 10px; }
.cat-empty h3 { font-size: 18px; margin-bottom: 6px; }
.cat-empty p { color: #667; font-size: 14px; }

@media (max-width: 575.98px) {
    .cat-card .cat-name { font-size: 13.5px; min-height: 36px; }
    .cat-card .cat-body { padding: 10px 10px 14px; }
    .cat-toolbar { font-size: 13px; }
}


/* Isolated product grid: avoids conflicts with the site's generic .product-item filters. */
#catalog-product-grid { display: flex !important; flex-wrap: wrap; }
#catalog-product-grid > .catalog-product-item { display: block !important; visibility: visible !important; }
#catalog-product-grid .cat-card { width: 100%; min-width: 0; }
#catalog-product-grid .cat-image-missing { padding: 20px; color: #667; font: 13px 'Poppins', sans-serif; text-align: center; }

/* Request Price button and responsive inquiry modal */
.product-card-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:8px; width:100%; margin-top:auto; }
.request-price-btn,.whatsapp-contact-btn { box-sizing:border-box; display:flex; align-items:center; justify-content:center; gap:7px; min-width:0; min-height:48px; padding:10px 12px; border:1px solid #c99b36; border-radius:28px; background:#c99b36; color:#fff; font:600 12px/1.25 'Poppins',sans-serif; text-align:center; text-decoration:none; cursor:pointer; transition:background .2s,border-color .2s,transform .2s; }
.request-price-btn:hover,.request-price-btn:focus-visible,.whatsapp-contact-btn:hover,.whatsapp-contact-btn:focus-visible { background:#a97d22; border-color:#a97d22; color:#fff; transform:translateY(-1px); }
.request-price-btn svg,.whatsapp-contact-btn svg { flex:0 0 auto; }
.whatsapp-contact-btn .whatsapp-icon { filter:drop-shadow(0 1px 1px rgba(0,0,0,.18)); }
.whatsapp-contact-btn span { min-width:0; }
@media (max-width: 575.98px) {
    .product-card-actions { gap:6px; }
    .request-price-btn,.whatsapp-contact-btn { gap:5px; min-height:44px; padding:8px 7px; font-size:10px; }
    .request-price-btn svg { width:14px; height:14px; }
    .whatsapp-contact-btn .whatsapp-icon { width:16px; height:16px; }
}
.request-price-btn:focus-visible,.rp-modal button:focus-visible,.rp-modal input:focus-visible,.rp-modal textarea:focus-visible { outline:3px solid rgba(201,155,54,.35); outline-offset:2px; }
body.rp-modal-open { overflow:hidden; }
.rp-modal { position:fixed; inset:0; z-index:1080; display:none; align-items:center; justify-content:center; padding:20px; }
.rp-modal.is-open { display:flex; }
.rp-modal-backdrop { position:absolute; inset:0; background:rgba(3,10,20,.72); backdrop-filter:blur(3px); }
.rp-modal-dialog { position:relative; z-index:1; width:min(100%,640px); max-height:min(92vh,850px); overflow-y:auto; background:#fff; color:#101828; border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,.28); font-family:'Poppins',sans-serif; animation:rpModalIn .18s ease-out; }
@keyframes rpModalIn { from { opacity:0; transform:translateY(8px) scale(.99); } to { opacity:1; transform:translateY(0) scale(1); } }
.rp-modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 28px 20px; background:#081321; color:#fff; }
.rp-eyebrow { margin:0 0 7px; color:#d7a63b; font-size:10px; font-weight:700; letter-spacing:.13em; }
.rp-modal-header h2 { margin:0; color:#fff; font-size:25px; line-height:1.25; font-weight:700; }
.rp-modal-header #rpModalDescription { margin:8px 0 0; color:#d4dce7; font-size:12px; line-height:1.6; }
.rp-close { flex:0 0 36px; width:36px; height:36px; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(255,255,255,.08); color:#fff; font-size:26px; line-height:1; cursor:pointer; }
#requestPriceForm { padding:22px 28px 24px; }
.rp-product-summary { display:flex; align-items:center; gap:12px; padding:13px 15px; margin-bottom:19px; background:#f8f6f0; border:1px solid #eee4ca; border-radius:12px; }
.rp-product-icon { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:10px; background:#081321; color:#e2b84f; font-size:22px; font-weight:700; }
.rp-product-summary strong,.rp-product-summary span:not(.rp-product-icon) { display:block; }
.rp-product-summary strong { font-size:13px; line-height:1.4; }
.rp-product-summary div span { margin-top:3px; color:#667085; font-size:11px; line-height:1.5; }
.rp-field { min-width:0; margin-bottom:15px; }
.rp-field label { display:block; margin-bottom:6px; color:#263244; font-size:12px; font-weight:600; }
.rp-field label > span:not(.rp-optional) { color:#b42318; }
.rp-field .rp-optional { color:#7b8493; font-size:11px; font-weight:400; }
.rp-field input,.rp-field textarea { display:block; width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid #d6dbe3; border-radius:9px; background:#fff; color:#101828; font:400 13px 'Poppins',sans-serif; transition:border-color .15s,box-shadow .15s; }
.rp-field input:focus,.rp-field textarea:focus { border-color:#c99b36; outline:0; box-shadow:0 0 0 3px rgba(201,155,54,.13); }
.rp-field textarea { resize:vertical; min-height:86px; }
.rp-field input::placeholder,.rp-field textarea::placeholder { color:#98a1af; }
.rp-field .rp-invalid { border-color:#d92d20; background:#fffafa; }
.rp-field-error { display:block; min-height:0; margin-top:4px; color:#b42318; font-size:11px; }
.rp-contact-hint { margin:-3px 0 11px; color:#667085; font-size:11px; }
.rp-form-columns { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rp-honeypot { position:absolute!important; left:-10000px!important; top:auto!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.rp-response { margin:4px 0 14px; padding:11px 13px; border-radius:9px; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.rp-response[hidden] { display:none; }
.rp-response.is-success { color:#05603a; background:#ecfdf3; border:1px solid #abefc6; }
.rp-response.is-error { color:#b42318; background:#fef3f2; border:1px solid #fecdca; }
.rp-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:5px; }
.rp-cancel-btn,.rp-submit-btn { min-height:42px; padding:10px 18px; border-radius:28px; font:600 12px 'Poppins',sans-serif; cursor:pointer; }
.rp-cancel-btn { border:1px solid #d0d5dd; background:#fff; color:#344054; }
.rp-submit-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-width:155px; border:1px solid #c99b36; background:#c99b36; color:#fff; }
.rp-submit-btn:hover:not(:disabled) { background:#a97d22; border-color:#a97d22; }
.rp-submit-btn:disabled { opacity:.75; cursor:wait; }
.rp-spinner { display:none; width:15px; height:15px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:rpSpin .7s linear infinite; }
.rp-submit-btn.is-loading .rp-spinner { display:inline-block; }
@keyframes rpSpin { to { transform:rotate(360deg); } }
.rp-privacy-note { margin:13px 0 0; color:#98a1af; font-size:10px; text-align:center; }
@media(max-width:575.98px) {
    .rp-modal { padding:10px; align-items:flex-end; }
    .rp-modal-dialog { max-height:94vh; border-radius:17px 17px 12px 12px; }
    .rp-modal-header { padding:19px 18px 16px; }
    .rp-modal-header h2 { font-size:21px; }
    #requestPriceForm { padding:18px; }
    .rp-form-columns { grid-template-columns:1fr; gap:0; }
    .rp-actions { display:grid; grid-template-columns:1fr 1.4fr; }
    .rp-cancel-btn,.rp-submit-btn { padding-left:10px; padding-right:10px; }
}
@media(prefers-reduced-motion:reduce) { .rp-modal-dialog,.rp-spinner { animation:none; } }
