/* Catálogo de productos generado desde img/prodt */
.catalog{background:linear-gradient(180deg,#fff 0,#fafafa 100%);scroll-margin-top:90px;padding-top:clamp(96px,8vw,116px)}
.catalog-top{margin-bottom:38px}
.catalog-tools{position:relative;z-index:1;grid-template-columns:minmax(280px,1.7fr) repeat(2,minmax(190px,1fr));gap:12px;margin-bottom:14px;padding:14px;border:1px solid #ececec;border-radius:14px;background:#fff;box-shadow:0 12px 35px #1111110a}
.catalog-tools .search,.catalog-tools .catalog-select{height:48px;border-color:#dedede;border-radius:8px;background:#fafafa}
.catalog-status{display:flex;align-items:center;min-height:26px;margin:0 0 16px;color:#666;font-size:12px;font-weight:600}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:22px;row-gap:20px;align-items:stretch}
.product-card{min-width:0;border:1px solid #e7e7e7;border-radius:14px;overflow:visible;display:flex;flex-direction:column;background:#fff;cursor:pointer;box-shadow:0 4px 16px #1111110a;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.product-card:hover{transform:translateY(-4px);border-color:#d9d9d9;box-shadow:0 16px 34px #11111114}
.product-image-button{position:relative;inset:auto;display:flex;align-items:center;justify-content:center;flex:0 0 200px;width:100%;height:200px;padding:16px;border:0;border-bottom:1px solid #f0f0f0;border-radius:14px 14px 0 0;background:#f7f7f7;overflow:visible}
.product-image-button img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .3s ease}
.product-card:hover .product-image-button img{transform:scale(1.025)}
.product-info{display:flex;flex:0 0 auto;flex-direction:column;padding:16px}
.product-info>small{display:block;min-height:0;margin:0 0 8px;color:var(--red);font-size:8px;line-height:1.35;letter-spacing:1.15px;text-transform:uppercase;font-weight:800}
.product-info h3{display:-webkit-box;height:auto;min-height:0;max-height:none;margin:0 0 16px;color:var(--ink);font:700 12.5px/1.45 Manrope;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}
.product-card .whatsapp-card{align-self:flex-end;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:108px;margin-top:0;padding:9px 12px;border-radius:6px;background:var(--black);color:#fff;font-size:8px;letter-spacing:.75px;text-transform:uppercase;font-weight:800;transition:background .2s ease,transform .2s ease}
.product-card .whatsapp-card:hover{background:var(--red);transform:translateY(-1px)}
.whatsapp-card span{font-size:13px;line-height:1}
.pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin-top:36px}
.pagination button{width:38px;height:38px;border:1px solid #e1e1e1;border-radius:7px;background:#fff;color:#555;font-weight:700;transition:.2s}
.pagination button.active,.pagination button:hover{border-color:var(--red);background:var(--red);color:#fff}
.pagination button:disabled{opacity:.32;cursor:not-allowed;background:#fff;color:#777;border-color:#e1e1e1}
.pagination .page-arrow{width:42px}
.page-ellipsis{display:grid;place-items:center;width:24px;height:38px;color:#999}
.catalog-empty{grid-column:1/-1;min-height:270px;border:1px dashed #d6d6d6;border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;color:#777}
.catalog-empty>span{font-size:34px;color:var(--red)}
.catalog-empty h3{margin:7px 0 4px;color:var(--ink);font:700 19px Manrope}
.catalog-empty p{margin:0 0 18px;font-size:12px}
.catalog-empty button{border:0;border-radius:6px;background:var(--black);color:#fff;padding:10px 15px;font-size:9px;text-transform:uppercase;letter-spacing:.8px;font-weight:800}
.catalog-empty button:hover{background:var(--red)}
.product-modal{width:min(980px,92vw);max-width:none;max-height:90dvh;border-radius:18px;overflow:hidden}
.product-modal::backdrop{background:#000c;backdrop-filter:blur(4px)}
.product-modal .modal-close{position:absolute;z-index:5;top:14px;right:14px;width:40px;height:40px;border:1px solid #ffffff2b;border-radius:50%;background:#111;color:#fff;box-shadow:0 5px 18px #0004;font-size:25px;line-height:1}
.modal-product{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);max-height:90dvh}
.modal-media{display:grid;place-items:center;min-height:520px;padding:34px;background:#f6f6f6;overflow:hidden}
.modal-media img{width:100%;height:100%;max-height:68dvh;object-fit:contain;object-position:center}
.modal-details{display:flex;flex-direction:column;justify-content:center;padding:64px 42px 46px;overflow-y:auto}
.modal-details .eyebrow{margin-bottom:14px}
.modal-details h2{margin:0 0 30px;color:var(--ink);font-size:clamp(23px,2.5vw,34px);line-height:1.2;letter-spacing:-1px;overflow-wrap:anywhere}
.modal-details .btn{align-self:flex-start;gap:12px}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.catalog-tools{grid-template-columns:1fr 1fr}.catalog-tools .search{grid-column:1/-1}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-product{grid-template-columns:1fr}.modal-media{min-height:320px;height:44dvh;padding:24px}.modal-details{padding:28px 28px 32px}.modal-details h2{margin-bottom:22px}.modal-product{overflow-y:auto}.product-modal .modal-close{top:10px;right:10px}}
@media(max-width:560px){.catalog{scroll-margin-top:76px;padding-top:82px}.catalog-tools{grid-template-columns:1fr;padding:10px}.catalog-tools .search{grid-column:auto}.product-grid{grid-template-columns:1fr;column-gap:0;row-gap:18px}.product-image-button{flex-basis:200px;height:200px;padding:16px}.product-info{padding:16px}.product-info h3{font-size:13px}.modal-media{height:40dvh;min-height:250px}.modal-details{padding:25px 20px 28px}.pagination{gap:5px}.pagination button{width:35px;height:35px}.pagination .page-arrow{width:39px}}
@media(prefers-reduced-motion:reduce){.product-card,.product-image-button img,.product-card .whatsapp-card{transition:none}}
