/* Brandevois quote builder: full-screen split shell. Dark aside with the summary rail,
   white stage with one step at a time. Tokens mirror bv-theme (Fraunces + Archivo,
   ink / cream / gold hairline). */
.bvq{
  --q-ink:#111113; --q-ink2:#3A3A3E; --q-mute:#7C776E; --q-hair:#E4DFD5; --q-hair2:#F0ECE4;
  --q-paper:#FFFFFF; --q-field:#FBF9F5; --q-band:#F6F3ED; --q-gold:#B8975A; --q-gold-d:#A8823A;
  --q-font:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --q-serif:"Fraunces",Georgia,"Times New Roman",serif;
  position:fixed; inset:0; z-index:99998; display:grid; grid-template-columns:360px minmax(0,1fr);
  background:var(--q-paper); color:var(--q-ink); font-family:var(--q-font); font-size:15px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
body.bvq-page{overflow:hidden}
body.admin-bar .bvq{top:32px}
.bvq *{box-sizing:border-box; font-family:inherit}
.bvq h1,.bvq h2,.bvq h3{font-family:var(--q-serif); font-weight:500; letter-spacing:-.015em; line-height:1.12; margin:0}
.bvq button{cursor:pointer; color:var(--q-ink); text-transform:none; letter-spacing:0; box-shadow:none}
.bvq-dd button,.bvq-dd button b{color:var(--q-ink) !important}
.bvq-card b,.bvq-item .t b,.bvq-qrow .t b{color:var(--q-ink) !important}
.bvq-btn,.bvq-btn:hover{color:#fff !important}
.bvq-chip.on{color:#fff !important}
.bvq a.bvq-btn,.bvq a.bvq-ghost{text-decoration:none !important}
.bvq input,.bvq textarea,.bvq select{font-family:inherit}

/* ---------- aside ---------- */
.bvq-aside{position:relative; overflow:hidden; background:#0B0B0D; color:#fff; display:flex; flex-direction:column; justify-content:center; padding:44px 34px}
.bvq-shade{position:absolute; inset:0; pointer-events:none; background:radial-gradient(70% 55% at 22% 18%, #2E2E33 0%, rgba(46,46,51,.55) 35%, rgba(11,11,13,0) 70%), radial-gradient(55% 45% at 85% 90%, rgba(184,151,90,.22) 0%, rgba(184,151,90,.08) 40%, rgba(11,11,13,0) 72%), radial-gradient(80% 60% at 70% 40%, #17171A 0%, rgba(23,23,26,0) 70%)}
.bvq-aside-copy{position:relative; z-index:1; max-width:440px}
.bvq-logo{height:26px; width:auto; display:block; filter:brightness(0) invert(1); margin-bottom:22px}
.bvq-eyebrow{font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--q-gold); margin:0 0 12px}
.bvq-aside h2{font-size:27px; color:#fff; margin-bottom:12px}
.bvq-aside h2 em{font-style:italic; color:var(--q-gold)}
.bvq-aside-sub{font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.8); margin:0 0 22px; max-width:34ch}
.bvq-rail{list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.1)}
.bvq-rail li{display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:13.5px; color:rgba(255,255,255,.55)}
.bvq-rail .dot{width:22px; height:22px; border-radius:50%; border:1px solid rgba(255,255,255,.28); display:flex; align-items:center; justify-content:center; font-size:11px; flex:0 0 auto; color:rgba(255,255,255,.7)}
.bvq-rail li.cur{color:#fff}
.bvq-rail li.cur .dot{border-color:var(--q-gold); color:var(--q-gold)}
.bvq-rail li.done{color:rgba(255,255,255,.8)}
.bvq-rail li.done .dot{background:var(--q-gold); border-color:var(--q-gold); color:var(--q-ink)}
.bvq-rail .lbl{flex:1}
.bvq-rail .val{font-size:12.5px; color:rgba(255,255,255,.6); max-width:46%; text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bvq-rail li.done .val{color:var(--q-gold)}
.bvq-trust{display:none}
.bvq-trust li{display:flex; gap:10px; align-items:center; font-size:13px; color:rgba(255,255,255,.72)}
.bvq-trust li::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--q-gold); flex:0 0 auto}
.bvq-back-store{position:absolute; top:14px; right:16px; font-size:12px; color:rgba(255,255,255,.5); text-decoration:none}
.bvq-back-store:hover{color:#fff}
.bvq-reset{display:inline-flex; align-items:center; gap:7px; margin-top:22px; padding:9px 14px; border:1px solid rgba(255,255,255,.22) !important; border-radius:999px !important; background:transparent !important; color:rgba(255,255,255,.75) !important; font-size:12.5px; font-weight:500; transition:border-color .15s, color .15s}
.bvq-reset:hover,.bvq-reset:focus{border-color:var(--q-gold) !important; color:#fff !important; background:transparent !important}
.bvq-reset-m{margin:0; padding:6px 11px; font-size:12px}

/* ---------- stage ---------- */
.bvq-stage{display:flex; flex-direction:column; min-width:0; min-height:0}
.bvq-top{padding:26px 56px 0; width:100%; max-width:1040px}
.bvq-topline{display:flex; justify-content:space-between; align-items:center; font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--q-mute); margin-bottom:10px}
.bvq-topline span:last-child{font-weight:400; letter-spacing:0; text-transform:none; font-size:12.5px}
.bvq-bar{height:3px; background:var(--q-hair2); border-radius:3px; overflow:hidden}
.bvq-bar i{display:block; height:100%; background:var(--q-gold); width:0; transition:width .35s ease}
.bvq-body{flex:1; overflow:auto; padding:30px 56px 40px; min-height:0; scrollbar-width:none; width:100%; max-width:1040px}
.bvq-body::-webkit-scrollbar{display:none}
.bvq-kicker{display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--q-mute); margin-bottom:14px}
.bvq-kicker b{width:24px; height:24px; border-radius:50%; background:var(--q-band); border:1px solid var(--q-hair); color:var(--q-gold-d); font-size:11px; display:flex; align-items:center; justify-content:center; letter-spacing:0}
.bvq-body h1{font-size:32px; margin-bottom:6px}
.bvq-lead{color:var(--q-mute); font-size:15px; margin:0 0 26px}
.bvq-foot{border-top:1px solid var(--q-hair2); padding:16px 56px; display:flex; justify-content:space-between; align-items:center; gap:16px}
.bvq-priv{font-size:12.5px; color:var(--q-mute); display:flex; align-items:center; gap:8px}
.bvq-nav{display:flex; align-items:center; gap:10px}
.bvq-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--q-ink); color:#fff; border:1px solid var(--q-ink); border-radius:10px; padding:14px 24px; font-size:15px; font-weight:600; line-height:1; transition:background .18s, transform .12s}
.bvq-btn:hover{background:#000; transform:translateY(-1px)}
.bvq-btn[disabled]{opacity:.45; cursor:not-allowed; transform:none}
.bvq-ghost{background:transparent; color:var(--q-ink2); border:1px solid transparent; padding:14px 14px; border-radius:10px; font-size:14px; font-weight:600}
.bvq-ghost:hover{background:var(--q-band)}
.bvq-warn{display:none; margin:0 0 16px; padding:11px 14px; border-radius:10px; background:#FBEDEB; color:#8A261F; font-size:13.5px; border:1px solid #F2D2CE}
.bvq-warn.on{display:block}

/* ---------- cards (choice) ---------- */
.bvq-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.bvq-cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bvq-card{text-align:left; background:var(--q-paper); border:1px solid var(--q-hair); border-radius:14px; padding:18px 18px 16px; display:flex; flex-direction:column; gap:4px; transition:border-color .15s, box-shadow .15s, transform .12s; position:relative}
.bvq-card:hover{border-color:#C9BFA9; transform:translateY(-1px)}
.bvq-card.on{border-color:var(--q-gold-d); box-shadow:0 0 0 1px var(--q-gold-d); background:#FDFBF7}
.bvq-card b{font-size:15.5px; font-weight:600; color:var(--q-ink)}
.bvq-card span{font-size:13px; color:var(--q-mute); line-height:1.5}
.bvq-card .tick{position:absolute; top:12px; right:12px; width:20px; height:20px; border-radius:50%; border:1px solid var(--q-hair); display:flex; align-items:center; justify-content:center; font-size:11px; color:transparent}
.bvq-card.on .tick{background:var(--q-gold-d); border-color:var(--q-gold-d); color:#fff}
.bvq-chips{display:flex; flex-wrap:wrap; gap:8px}
.bvq-chip{border:1px solid var(--q-hair); background:var(--q-paper); border-radius:999px; padding:9px 15px; font-size:13.5px; font-weight:500; color:var(--q-ink2)}
.bvq-chip.on{background:var(--q-ink); color:#fff; border-color:var(--q-ink)}
.bvq-sub{font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--q-ink2); margin:26px 0 10px}
.bvq-sub:first-child{margin-top:0}
.bvq-hint{font-size:13px; color:var(--q-mute); margin:8px 0 0}

/* ---------- product search ---------- */
.bvq-search{position:relative}
.bvq-search input{width:100%; padding:16px 18px 16px 48px; border:1px solid var(--q-hair); border-radius:12px; font-size:16px; background:var(--q-field); color:var(--q-ink); appearance:none}
.bvq-search input:focus{outline:none; border-color:var(--q-gold-d); background:#fff; box-shadow:0 0 0 3px rgba(168,130,58,.13)}
.bvq-search svg{position:absolute; left:17px; top:50%; transform:translateY(-50%); color:var(--q-mute); pointer-events:none}
.bvq-dd{position:absolute; left:0; right:0; top:calc(100% + 6px); background:#fff; border:1px solid var(--q-hair); border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.10); z-index:5; overflow:hidden; display:none; max-height:360px; overflow-y:auto}
.bvq-dd.on{display:block}
.bvq-dd button{display:flex; width:100%; align-items:center; gap:12px; padding:10px 12px; border:0; background:none; text-align:left; border-bottom:1px solid var(--q-hair2)}
.bvq-dd button:last-child{border-bottom:0}
.bvq-dd button:hover,.bvq-dd button.hl{background:var(--q-band)}
.bvq-dd img{width:44px; height:44px; border-radius:8px; object-fit:cover; background:var(--q-field); border:1px solid var(--q-hair2); flex:0 0 auto}
.bvq-dd .ph{width:44px; height:44px; border-radius:8px; background:var(--q-band); flex:0 0 auto}
.bvq-dd .t{flex:1; min-width:0}
.bvq-dd .t b{display:block; font-size:14px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bvq-dd .t span{font-size:12px; color:var(--q-mute)}
.bvq-dd .none{padding:14px; font-size:13.5px; color:var(--q-mute)}
.bvq-dd .none b{color:var(--q-ink); text-decoration:underline; text-underline-offset:2px; cursor:pointer}
.bvq-or{display:flex; align-items:center; gap:14px; margin:18px 0 14px; color:var(--q-mute); font-size:12px; letter-spacing:.1em; text-transform:uppercase}
.bvq-or::before,.bvq-or::after{content:""; flex:1; height:1px; background:var(--q-hair2)}
.bvq-alt{display:grid; grid-template-columns:1fr auto; gap:10px}
.bvq-catdd{position:relative}
.bvq-catbtn{width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px 14px 18px; border:1px solid var(--q-hair) !important; border-radius:12px !important; font-size:15px; font-weight:500; background:var(--q-paper) !important; color:var(--q-ink) !important; text-align:left; transition:border-color .15s, box-shadow .15s}
.bvq-catbtn i{width:9px; height:9px; border-right:1.5px solid var(--q-ink2); border-bottom:1.5px solid var(--q-ink2); transform:translateY(-2px) rotate(45deg); transition:transform .18s; flex:0 0 auto; margin-right:4px}
.bvq-catbtn:hover{border-color:#C9BFA9 !important}
.bvq-catdd.open .bvq-catbtn{border-color:var(--q-gold-d) !important; box-shadow:0 0 0 3px rgba(168,130,58,.13)}
.bvq-catdd.open .bvq-catbtn i{transform:translateY(2px) rotate(225deg)}
.bvq-catpanel{display:none; position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:6; background:#fff; border:1px solid var(--q-hair); border-radius:14px; box-shadow:0 22px 48px rgba(0,0,0,.12); max-height:340px; overflow-y:auto; padding:8px}
.bvq-catdd.open .bvq-catpanel{display:block}
.bvq-catopt{display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px 11px 14px; border:0 !important; border-radius:9px !important; background:none !important; text-align:left; color:var(--q-ink) !important; font-size:14.5px; transition:background .12s}
.bvq-catopt span{font-weight:600}
.bvq-catopt em{font-style:normal; font-size:12px; color:var(--q-mute); white-space:nowrap}
.bvq-catopt.d1{padding-left:30px}
.bvq-catopt.d1 span,.bvq-catopt.d2 span{font-weight:500}
.bvq-catopt.d1 span::before,.bvq-catopt.d2 span::before{content:""; display:inline-block; width:6px; height:1px; background:#C9BFA9; vertical-align:middle; margin:0 8px 0 -14px}
.bvq-catopt.d2{padding-left:46px}
.bvq-catopt:hover,.bvq-catopt:focus{background:var(--q-band) !important; outline:none}
.bvq-catopt.other{margin-top:6px; border-top:1px solid var(--q-hair2) !important; border-radius:0 0 9px 9px !important; padding-top:14px}
.bvq-catload{padding:14px; font-size:13.5px; color:var(--q-mute)}
.bvq-other{border:1px dashed #C9BFA9; background:var(--q-paper); border-radius:12px; padding:0 18px; font-size:14px; font-weight:600; color:var(--q-ink2); white-space:nowrap}
.bvq-other:hover{border-color:var(--q-gold-d); color:var(--q-ink)}
.bvq-items{display:grid; gap:10px; margin-top:6px}
#bvq-picker.below{margin-top:16px; padding-top:18px; border-top:1px solid var(--q-hair2)}
.bvq-item{display:grid; grid-template-columns:52px minmax(0,1fr) 140px 30px; align-items:center; gap:14px; border:1px solid var(--q-hair); border-radius:12px; padding:12px 14px; background:#fff}
.bvq-item .bvq-note{margin-top:4px; font-size:13px !important; color:var(--q-ink2) !important; border-bottom-color:var(--q-hair2) !important}
.bvq-item .bvq-note::placeholder{color:#B5AFA3}
.bvq-item img,.bvq-item .ph{width:52px; height:52px; border-radius:9px; object-fit:cover; background:var(--q-band); border:1px solid var(--q-hair2); flex:0 0 auto}
.bvq-item .ph{display:flex; align-items:center; justify-content:center; color:var(--q-gold-d); font-family:var(--q-serif); font-size:20px}
.bvq-item .t{flex:1; min-width:0}
.bvq-item .t b{display:block; font-size:14.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bvq-item .t span{font-size:12.5px; color:var(--q-mute)}
.bvq-item .t input{width:100%; border:0; border-bottom:1px solid var(--q-hair); padding:6px 0; font-size:14.5px; background:none; color:var(--q-ink)}
.bvq-item .t input:focus{outline:none; border-color:var(--q-gold-d)}
.bvq-item .x{width:30px !important; height:30px !important; min-width:30px; padding:0 !important; aspect-ratio:1; border-radius:50% !important; border:1px solid var(--q-hair) !important; background:#fff !important; color:var(--q-mute) !important; font-size:15px; line-height:1; display:flex; align-items:center; justify-content:center; flex:0 0 auto}
.bvq-item .x:hover{border-color:var(--q-ink); color:var(--q-ink)}
.bvq-add{margin-top:12px; border:1px dashed #C9BFA9; background:none; border-radius:12px; padding:13px 16px; width:100%; font-size:14px; font-weight:600; color:var(--q-ink2); text-align:left}
.bvq-add:hover{border-color:var(--q-gold-d); color:var(--q-ink); background:#FDFBF7}

/* ---------- quantity rows ---------- */
.bvq-qrow{display:grid; grid-template-columns:52px minmax(0,1fr) 150px; gap:14px; align-items:center; border:1px solid var(--q-hair); border-radius:12px; padding:12px 14px; background:#fff; margin-bottom:10px}
.bvq-qrow img,.bvq-qrow .ph{width:52px; height:52px; border-radius:9px; object-fit:cover; background:var(--q-band); border:1px solid var(--q-hair2)}
.bvq-qrow .ph{display:flex; align-items:center; justify-content:center; color:var(--q-gold-d); font-family:var(--q-serif); font-size:20px}
.bvq-qrow .t b{display:block; font-size:14.5px; font-weight:600}
.bvq-qrow .t input{width:100%; border:0; border-bottom:1px solid var(--q-hair2); padding:5px 0; font-size:13.5px; background:none; color:var(--q-ink2); margin-top:2px}
.bvq-qrow .t input::placeholder{color:#B5AFA3}
.bvq-qrow .t input:focus{outline:none; border-color:var(--q-gold-d)}
.bvq-qty{display:flex; align-items:center; border:1px solid var(--q-hair); border-radius:10px; overflow:hidden; background:var(--q-field)}
.bvq-qty button{width:38px; height:44px; border:0; background:none; font-size:18px; color:var(--q-ink2)}
.bvq-qty button:hover{background:var(--q-band)}
.bvq-qty input{width:100%; min-width:0; border:0; background:none; text-align:center; font-size:16px; font-weight:600; color:var(--q-ink); height:44px; appearance:textfield; -moz-appearance:textfield}
.bvq-qty input::-webkit-inner-spin-button,.bvq-qty input::-webkit-outer-spin-button{appearance:none; margin:0}
.bvq-qty input:focus{outline:none}

/* ---------- fields ---------- */
.bvq-f2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.bvq-fld{margin-bottom:14px}
.bvq-fld label{display:block; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--q-ink2); margin-bottom:7px}
.bvq-fld label i{color:var(--q-gold-d); font-style:normal}
.bvq-fld input,.bvq-fld textarea{width:100%; padding:13px 15px; border:1px solid var(--q-hair); border-radius:10px; font-size:15px; background:var(--q-field); color:var(--q-ink); appearance:none}
.bvq-fld textarea{min-height:110px; resize:vertical}
.bvq-fld input:focus,.bvq-fld textarea:focus{outline:none; border-color:var(--q-gold-d); background:#fff; box-shadow:0 0 0 3px rgba(168,130,58,.13)}
.bvq-fld.bad input,.bvq-fld.bad textarea{border-color:#C8534A; box-shadow:0 0 0 3px rgba(200,83,74,.12)}
.bvq-date{max-width:260px; margin-top:12px}
.bvq-consent{border-top:1px solid var(--q-hair2); padding-top:16px; margin-top:8px; display:grid; gap:10px}
.bvq-consent label{display:flex; gap:10px; align-items:flex-start; font-size:12px; line-height:1.5; color:var(--q-mute); cursor:pointer}
.bvq-consent input{width:15px; height:15px; flex:0 0 auto; margin:2px 0 0; accent-color:var(--q-ink)}
.bvq-consent a{color:inherit; text-decoration:underline; text-underline-offset:2px}

/* ---------- artwork ---------- */
.bvq-drop{border:1.5px dashed #C9BFA9; border-radius:14px; padding:34px 20px; text-align:center; background:var(--q-field); cursor:pointer; transition:border-color .15s, background .15s; margin-top:14px; display:block}
.bvq-drop.over{border-color:var(--q-gold-d); background:#FDFBF7}
.bvq-drop input{display:none}
.bvq-drop b{display:block; font-size:15px; font-weight:600; margin-top:10px}
.bvq-drop span{display:block; font-size:12.5px; color:var(--q-mute); margin-top:4px}
.bvq-drop svg{color:var(--q-gold-d)}
.bvq-files{list-style:none; margin:12px 0 0; padding:0; display:grid; gap:8px}
.bvq-files li{display:flex; align-items:center; gap:10px; border:1px solid var(--q-hair); border-radius:10px; padding:10px 12px; font-size:13.5px; background:#fff}
.bvq-files li .n{flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bvq-files li .s{font-size:12px; color:var(--q-mute)}
.bvq-files li .s.ok{color:#2F6B3A}
.bvq-files li .s.err{color:#8A261F}
.bvq-files li button{border:0; background:none; color:var(--q-mute); font-size:16px; line-height:1}

/* ---------- done ---------- */
.bvq-done{max-width:560px; margin:6vh auto 0; text-align:center}
.bvq-done .mark{width:64px; height:64px; border-radius:50%; background:var(--q-band); border:1px solid var(--q-hair); color:var(--q-gold-d); display:flex; align-items:center; justify-content:center; margin:0 auto 22px; font-size:26px}
.bvq-done h1{font-size:34px; margin-bottom:10px}
.bvq-done p{color:var(--q-ink2); font-size:15.5px; margin:0 0 8px}
.bvq-done .next{text-align:left; margin:26px 0 0; padding:0; list-style:none; display:grid; gap:12px}
.bvq-done .next li{display:flex; gap:12px; font-size:14.5px; color:var(--q-ink2); align-items:flex-start}
.bvq-done .next b{width:24px; height:24px; border-radius:50%; background:var(--q-band); border:1px solid var(--q-hair); color:var(--q-gold-d); font-size:11px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; margin-top:2px}
.bvq-done .acts{display:flex; gap:10px; justify-content:center; margin-top:28px; flex-wrap:wrap}
.bvq-done .tel{font-family:var(--q-serif); font-size:22px; color:var(--q-ink); text-decoration:none}

/* ---------- mobile ---------- */
.bvq-mtop{display:none}
@media (max-width:980px){
  .bvq{grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr)}
  .bvq-aside{display:none}
  .bvq-mtop{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; background:var(--q-ink); color:#fff}
  .bvq-mtop img{height:20px; filter:brightness(0) invert(1)}
  .bvq-mtop span{font-size:12px; color:rgba(255,255,255,.7)}
  .bvq-mtop .bvq-reset-m{margin:0; padding:6px 11px; font-size:12px}
  .bvq-item{grid-template-columns:44px minmax(0,1fr) 30px; gap:10px}
  .bvq-item .x{grid-column:3; grid-row:1}
  .bvq-item .bvq-qty{grid-column:1 / -1; grid-row:2}
  .bvq-top{padding:16px 18px 0}
  .bvq-body{padding:20px 18px 28px}
  .bvq-body h1{font-size:26px}
  .bvq-foot{padding:12px 18px calc(12px + env(safe-area-inset-bottom)); flex-wrap:wrap}
  .bvq-priv{display:none}
  .bvq-nav{width:100%; justify-content:space-between}
  .bvq-nav .bvq-btn{flex:1}
  .bvq-cards,.bvq-cards.two{grid-template-columns:1fr}
  .bvq-alt{grid-template-columns:1fr}
  .bvq-qrow{grid-template-columns:44px minmax(0,1fr); gap:10px}
  .bvq-qrow .bvq-qty{grid-column:1 / -1}
  .bvq-f2{grid-template-columns:1fr}
  .bvq input,.bvq textarea,.bvq select{font-size:16px}
}
@media (prefers-reduced-motion:reduce){ .bvq *{transition:none !important} }

/* ---------- theme hover guard: the theme paints buttons pink on hover/focus, so every
   interactive surface in the builder pins its own colours (Lily, 2026-09-07) ---------- */
.bvq button:hover,.bvq button:focus,.bvq button:active{background-color:transparent !important; color:var(--q-ink) !important; border-color:var(--q-hair) !important; outline:none}
.bvq .bvq-btn,.bvq .bvq-btn:hover,.bvq .bvq-btn:focus,.bvq .bvq-btn:active{background-color:var(--q-ink) !important; color:#fff !important; border-color:var(--q-ink) !important}
.bvq .bvq-btn:hover{background-color:#000 !important}
.bvq .bvq-ghost,.bvq .bvq-ghost:focus{background-color:transparent !important; color:var(--q-ink2) !important; border-color:transparent !important}
.bvq .bvq-ghost:hover{background-color:var(--q-band) !important; border-color:transparent !important}
.bvq .bvq-card,.bvq .bvq-card:hover,.bvq .bvq-card:focus{background-color:var(--q-paper) !important}
.bvq .bvq-card:hover{border-color:#C9BFA9 !important}
.bvq .bvq-card.on,.bvq .bvq-card.on:hover,.bvq .bvq-card.on:focus{background-color:#FDFBF7 !important; border-color:var(--q-gold-d) !important}
.bvq .bvq-chip:hover,.bvq .bvq-chip:focus{background-color:var(--q-band) !important; border-color:#C9BFA9 !important}
.bvq .bvq-chip.on,.bvq .bvq-chip.on:hover,.bvq .bvq-chip.on:focus{background-color:var(--q-ink) !important; color:#fff !important; border-color:var(--q-ink) !important}
.bvq .bvq-qty button:hover,.bvq .bvq-qty button:focus{background-color:var(--q-band) !important; border-color:transparent !important}
.bvq .bvq-dd button:hover,.bvq .bvq-dd button:focus{background-color:var(--q-band) !important; border-color:var(--q-hair2) !important}
.bvq .bvq-other:hover,.bvq .bvq-add:hover,.bvq .bvq-other:focus,.bvq .bvq-add:focus{background-color:#FDFBF7 !important; border-color:var(--q-gold-d) !important}
.bvq .bvq-item .x:hover,.bvq .bvq-item .x:focus{background-color:#fff !important; border-color:var(--q-ink) !important}
.bvq .bvq-catopt:hover,.bvq .bvq-catopt:focus{background-color:var(--q-band) !important; border-color:transparent !important}
.bvq .bvq-catbtn:hover,.bvq .bvq-catbtn:focus{background-color:var(--q-paper) !important}
.bvq .bvq-reset:hover,.bvq .bvq-reset:focus{background-color:transparent !important; color:#fff !important; border-color:var(--q-gold) !important}
.bvq .bvq-files li button:hover{background-color:transparent !important}
.bvq .bvq-warn{background:#F6EFE9; color:#7A3E2E; border-color:#E8D6C9}
