
.yqv-modal{ display:none; }
.yqv-modal.is-open{ display:block; }
.yqv-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:998; }
.yqv-modal__dialog{ position:fixed; left:50%; top:50%; transform:translate(-50%,-50%); width:min(92vw, var(--yqv-width, 900px)); max-height:90vh; overflow:auto; background:#fff; border-radius:16px; z-index:999; padding:16px; box-shadow:0 20px 60px rgba(0,0,0,.25); outline:0; }
.yqv-close{ position:absolute; top:8px; right:8px; background:#eee; border:0; border-radius:999px; width:32px; height:32px; cursor:pointer; }
.yqv-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:800px){ .yqv-wrap{ grid-template-columns:1fr; } }
.yqv-media img{ width:100%; height:auto; border-radius:12px; }
.yqv-title{ margin:.25rem 0 .5rem; font-weight:700; }
.yqv-price{ font-size:1.15rem; margin:.35rem 0 .5rem; }
.yqv-desc{ color:#555; }
.yqv-actions{ margin-top:10px; display:flex; gap:10px; flex-direction:column; }

/* Chips */
.yqv-chipset{ display:flex; flex-wrap:wrap; gap:8px; margin:.25rem 0 .5rem; }
.yqv-chip{ border:1px solid #ddd; padding:.35rem .65rem; border-radius:999px; cursor:pointer; background:#fafafa; }
.yqv-chip.is-selected{ background:#111; color:#fff; border-color:#111; }
.yqv-chip[disabled]{ opacity:.45; cursor:not-allowed; }
.yqv-chip .dot{ display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:6px; vertical-align:-1px; border:1px solid rgba(0,0,0,.15); }

/* Size guide */
.yqv-size-guide{ background:#f8f8f8; border:1px dashed #ddd; border-radius:12px; padding:12px; margin-top:8px; }
.yqv-size-guide__inner p{ margin:.5rem 0; }

/* Mobile: prevent body scroll when open */
body.yqv-open{ overflow:hidden; }
