
.qc-modal{
  position:fixed; inset:0; z-index:999999; display:none; align-items:center; justify-content:center;
  padding:18px; background:rgba(0,0,0,.86); backdrop-filter:blur(8px); font-family:Inter,Arial,sans-serif;
}
.qc-modal.is-open{display:flex;}
.qc-box{width:min(520px,100%); max-height:92vh; overflow:auto; background:#0f0f10; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:22px; box-shadow:0 24px 80px rgba(0,0,0,.55); position:relative; padding:22px;}
.qc-close{position:absolute; top:12px; right:12px; width:36px; height:36px; border:0; border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-size:24px; line-height:1; cursor:pointer;}
.qc-title{margin:10px 34px 16px; text-align:center; font-size:22px; font-weight:800; line-height:1.2;}
.qc-search{width:100%; border:1px solid rgba(255,255,255,.14); background:#171719; color:#fff; border-radius:14px; padding:15px 16px; outline:none; font-size:16px; margin-bottom:14px;}
.qc-search:focus{border-color:#b91c1c; box-shadow:0 0 0 3px rgba(185,28,28,.22)}
.qc-cats{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:14px;}
.qc-cat{border:1px solid rgba(255,255,255,.14); background:#18181b; color:#e5e7eb; padding:8px 12px; border-radius:999px; cursor:pointer; font-weight:700; font-size:13px;}
.qc-cat.is-active{background:#991b1b; color:#fff; border-color:#991b1b;}
.qc-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-height:420px; overflow:auto; padding-right:4px;}
.qc-card{border:1px solid rgba(255,255,255,.12); background:#171719; border-radius:14px; overflow:hidden; cursor:pointer; text-align:left; color:#fff; padding:0; transition:.18s ease;}
.qc-card:hover{transform:translateY(-2px); border-color:#991b1b;}
.qc-card img{display:block; width:100%; aspect-ratio:640/940; object-fit:cover; background:#222;}
.qc-card__body{padding:10px;}
.qc-card__title{margin:0; font-size:14px; font-weight:800; line-height:1.25;}
.qc-card__tipo{display:inline-block; margin-top:6px; color:#d1d5db; font-size:12px;}
.qc-empty{display:none; text-align:center; color:#d1d5db; padding:24px 8px; font-size:14px;}
.qc-confirm{text-align:center; display:none;}
.qc-cover{width:min(260px,100%); aspect-ratio:640/940; object-fit:cover; border-radius:16px; display:block; margin:4px auto 18px; background:#222; border:1px solid rgba(255,255,255,.12); box-shadow:0 18px 45px rgba(0,0,0,.35);}
.qc-confirm h3{font-size:22px; margin:0 0 16px; font-weight:800;}
.qc-confirm p{font-size:17px; line-height:1.45; margin:12px 0; color:#fff;}
.qc-confirm strong{color:#fff;}
.qc-btn{display:inline-flex; align-items:center; justify-content:center; min-width:220px; margin-top:18px; padding:15px 20px; border-radius:12px; background:#991b1b; color:#fff; text-decoration:none; font-size:16px; font-weight:900; box-shadow:0 14px 35px rgba(153,27,27,.35);}
.qc-btn:hover{background:#7f1d1d;}
.qc-back{display:inline-block; margin-top:14px; background:none; border:0; color:#d1d5db; text-decoration:underline; cursor:pointer; font-size:14px;}
@media(max-width:420px){.qc-box{padding:18px}.qc-grid{grid-template-columns:1fr 1fr; gap:10px}.qc-title{font-size:19px}.qc-confirm p{font-size:16px}}
