/* === MODAL === */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);z-index:900;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .25s}
.overlay.active{display:flex;opacity:1}
.modal{background:var(--g0);border-radius:16px;max-width:860px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.2);position:relative;animation:modalIn .3s}
@keyframes modalIn{from{transform:translateY(20px);opacity:0}}
.modal-close{position:absolute;top:16px;right:16px;z-index:10;width:36px;height:36px;border-radius:10px;border:none;background:var(--g100);color:var(--g600);font-size:14px;transition:all var(--t)}
.modal-close:hover{background:var(--red);color:#fff}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:32px}
.modal-img-wrap{background:#fff;border-radius:12px;border:1px solid var(--g200);aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.modal-img-wrap img{max-width:85%;max-height:85%;object-fit:contain}
.modal-img-ph{color:var(--g300);font-size:60px}
.modal-details h1{font-size:20px;font-weight:700;line-height:1.3;margin-bottom:10px}
.modal-sku{font-size:13px;color:var(--red);font-weight:600;margin-bottom:14px;font-family:monospace}
.modal-price-tag{display:inline-block;padding:10px 18px;background:var(--red-light);border-radius:10px;margin-bottom:18px}
.modal-price-tag .amt{font-size:26px;font-weight:800;color:var(--red)}
.modal-price-tag small{font-size:13px;color:var(--g500);margin-left:4px}
.modal-meta{font-size:13px;color:var(--g600);line-height:1.7}
.modal-meta strong{color:var(--g800)}
.modal-attrs{padding:0 32px 28px;border-top:1px solid var(--g100)}
.modal-attrs h3{font-size:14px;font-weight:700;margin:20px 0 12px;padding-left:12px;border-left:3px solid var(--red)}
.attrs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.attr-row{display:flex;justify-content:space-between;padding:8px 14px;font-size:13px;border-bottom:1px solid var(--g100)}
.attr-row:nth-child(odd){background:var(--g50)}
.attr-row .ak{font-weight:500;color:var(--g600)}
.attr-row .av{color:var(--g900);text-align:right}
.modal-actions{padding:0 32px 32px;display:flex;flex-direction:column;gap:10px}
.modal-sec-row{display:flex;gap:10px;width:100%}
.modal-sec-row .btn-enq{flex:1 1 0;min-width:0;justify-content:center;padding:12px 8px;font-size:13px;height:44px;box-sizing:border-box;margin-left:0}
.modal-btn-pdf{background:var(--g0);color:var(--g600);border:1.5px solid var(--g200)}
.modal-btn-req{background:#fff!important;color:var(--red)!important;border:1.5px solid var(--red)!important}
.modal-btn-req:hover{background:var(--red-light)!important;border-color:var(--red-dark)!important;color:var(--red-dark)!important}
.modal-atc{width:100%;height:52px;font-size:15px;font-weight:700;border-radius:8px;justify-content:center;box-sizing:border-box}

/* === PAGINATION === */
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:24px 0}
.pg-btn{min-width:44px;height:44px;border:1.5px solid var(--g200);border-radius:8px;background:var(--g0);font-size:13px;font-weight:500;color:var(--g700);transition:all var(--t);display:inline-flex;align-items:center;justify-content:center}
.pg-btn:hover{border-color:var(--red);color:var(--red)}
.pg-btn.active{background:var(--red);color:#fff;border-color:var(--red)}
.pg-btn:disabled{opacity:.35;cursor:not-allowed}

/* === LOADING === */
.loading{display:flex;flex-direction:column;align-items:center;padding:80px 20px;color:var(--g400)}
.spinner{width:36px;height:36px;border:3px solid var(--g200);border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite;margin-bottom:14px}
@keyframes spin{to{transform:rotate(360deg)}}
.empty-state{text-align:center;padding:60px 20px;color:var(--g500)}
.empty-state i{font-size:40px;margin-bottom:12px;display:block;opacity:.3}

/* === FOOTER === */
.footer{background:var(--g900);color:var(--g400);padding:40px 0 24px;margin-top:40px;font-size:13px}
.footer .inner{max-width:var(--max-w);margin:0 auto}
.footer a{color:var(--g400);transition:color var(--t)}
.footer a:hover{color:#fff}
