/**
 * WALNUT WOOD WORKS — Floating Shelf Bracket Selector styles.
 * Loaded by the [wwsb_bracket_picker] shortcode. All rules are scoped under .wq.
 */
.wq{
  --wq-day:#E5ECF1; --wq-night:#181818; --wq-darkforest:#3A3D35; --wq-forest:#697357;
  --wq-sun:#EFBC6C; --wq-rebel:#F1582C; --wq-white:#FFFFFF;
  --wq-ink:#181818; --wq-body:#3A3D35; --wq-muted:#697357; --wq-line:#D3DAE0;
  --wq-forest-soft:#EAEEE6; --wq-rebel-ink:#181818; --wq-danger:#B4472F;
  --wq-radius:16px; --wq-maxw:960px;
  --wq-shadow:0 1px 2px rgba(24,24,24,.05), 0 14px 30px -14px rgba(24,24,24,.18);
  --wq-shadow-lift:0 2px 4px rgba(24,24,24,.06), 0 20px 40px -16px rgba(24,24,24,.26);
  --wq-display:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --wq-mono:"Zilla Slab",Georgia,serif;
  font-family:var(--wq-display); color:var(--wq-body); background:var(--wq-day);
  width:100%; box-sizing:border-box; padding:44px 22px 48px; border-radius:18px;
}
.wq *,.wq *::before,.wq *::after{ box-sizing:border-box; }
.wq-inner{ max-width:var(--wq-maxw); margin:0 auto; }

/* headings + accents */
.wq-h{ font-family:var(--wq-display); text-align:center; font-size:28px; font-weight:700; color:var(--wq-ink); letter-spacing:-.015em; margin:0 0 30px; }
.wq-h::after{ content:""; display:block; width:52px; height:4px; border-radius:2px; background:var(--wq-sun); margin:14px auto 0; }
@media (max-width:520px){ .wq-h{ font-size:22px; margin-bottom:24px; } }
.wq-eyebrow{ font-family:var(--wq-mono); text-align:center; font-size:12.1px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--wq-forest); margin:0 0 8px; }

/* option grid */
.wq-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.wq-grid.cols-2{ grid-template-columns:repeat(2,1fr); max-width:640px; margin:0 auto; }
@media (max-width:720px){ .wq-grid{ grid-template-columns:repeat(2,1fr); gap:14px; } }
@media (max-width:440px){ .wq-grid,.wq-grid.cols-2{ grid-template-columns:1fr; } }
.wq-tile{
  position:relative; display:flex; flex-direction:column; align-items:stretch;
  background:var(--wq-white); border:2px solid transparent; border-radius:var(--wq-radius);
  padding:16px 16px 44px; cursor:pointer; text-align:left; font-family:inherit;
  box-shadow:var(--wq-shadow);
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.wq-tile:hover{ border-color:var(--wq-forest); transform:translateY(-2px); box-shadow:var(--wq-shadow-lift); }
.wq-tile.is-selected{ border-color:var(--wq-forest); box-shadow:0 0 0 3px var(--wq-forest-soft), var(--wq-shadow); }
.wq-tile:active{ transform:translateY(0); }
.wq-tile:focus-visible{ outline:2px solid var(--wq-forest); outline-offset:3px; }
.wq-tile svg{ display:block; width:100%; height:auto; }
.wq-tile-face{ background:var(--wq-day); border-radius:10px; padding:12px; }
.wq-radio{ position:absolute; left:16px; bottom:14px; width:20px; height:20px; border-radius:50%; background:var(--wq-white); border:1.5px solid var(--wq-line); transition:background .18s ease, border-color .18s ease; }
.wq-tile:hover .wq-radio{ border-color:var(--wq-forest); }
.wq-tile.is-selected .wq-radio{ background:var(--wq-forest); border-color:var(--wq-forest); box-shadow:inset 0 0 0 3px var(--wq-white); }
.wq-tile-note{ position:absolute; right:16px; bottom:16px; font-family:var(--wq-mono); font-size:12.1px; letter-spacing:.02em; color:var(--wq-muted); }
@media (prefers-reduced-motion:reduce){ .wq-tile{ transition:none; } }

/* thickness (typographic) tiles */
.wq-line-range{ font-family:var(--wq-mono); text-align:center; font-size:29.7px; font-weight:700; letter-spacing:-.01em; color:var(--wq-ink); margin:22px 0 6px; }
.wq-line-name{ font-family:var(--wq-display); font-size:21px; font-weight:700; letter-spacing:-.01em; color:var(--wq-body); text-align:center; margin:0 0 22px; }
.wq-line-sub{ font-family:var(--wq-mono); text-align:center; font-size:13.2px; line-height:1.5; color:var(--wq-muted); margin:0 0 8px; }

/* intro */
.wq-intro{ text-align:center; }
.wq-intro-art{ width:240px; max-width:76%; height:auto; margin:8px auto 26px; display:block; }
.wq-intro-h{ font-family:var(--wq-display); font-size:29px; font-weight:700; line-height:1.22; letter-spacing:-.015em; color:var(--wq-ink); margin:0 auto 8px; max-width:600px; }
.wq-intro-h::after{ content:""; display:block; width:52px; height:4px; border-radius:2px; background:var(--wq-sun); margin:16px auto 0; }
.wq-intro-sub{ font-family:var(--wq-mono); font-size:15.4px; line-height:1.6; color:var(--wq-muted); margin:22px 0 26px; }
@media (max-width:520px){ .wq-intro-h{ font-size:23px; } }

/* exact-length entry */
.wq-exact{ max-width:400px; margin:0 auto; text-align:center; }
.wq-exact input{ width:100%; font-family:var(--wq-mono); font-size:17.6px; color:var(--wq-ink); padding:14px 15px; border:1.5px solid var(--wq-line); border-radius:12px; text-align:center; background:var(--wq-white); -moz-appearance:textfield; }
.wq-exact input::-webkit-outer-spin-button,.wq-exact input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.wq-exact input:focus{ outline:none; border-color:var(--wq-forest); box-shadow:0 0 0 3px var(--wq-forest-soft); }
.wq-err{ font-family:var(--wq-mono); color:var(--wq-danger); font-size:13.2px; min-height:16px; margin:8px 0 0; }

/* buttons */
.wq-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--wq-rebel); color:var(--wq-rebel-ink); border:1.5px solid var(--wq-rebel);
  border-radius:10px; padding:14px 28px; font-family:var(--wq-display); font-size:15px; font-weight:700;
  cursor:pointer; text-decoration:none; letter-spacing:.01em;
  transition:filter .18s ease, transform .12s ease, background .18s ease;
}
.wq-btn:hover{ filter:brightness(1.05); }
.wq-btn:active{ transform:translateY(1px); }
.wq-btn:focus-visible{ outline:2px solid var(--wq-night); outline-offset:2px; }
.wq-btn[disabled]{ opacity:.55; cursor:default; }
.wq-btn--block{ width:100%; }
.wq-btn--secondary{ background:transparent; color:var(--wq-darkforest); border-color:var(--wq-forest); }
.wq-btn--secondary:hover{ filter:none; background:var(--wq-forest-soft); }
.wq-back{ display:inline-flex; background:none; border:none; font-family:var(--wq-mono); color:var(--wq-muted); font-size:14.3px; letter-spacing:.02em; cursor:pointer; margin:26px auto 0; padding:8px; }
.wq-back:hover{ color:var(--wq-ink); }
.wq-back:focus-visible{ outline:2px solid var(--wq-forest); outline-offset:2px; border-radius:6px; }
.wq-center{ text-align:center; }

/* result */
.wq-result-h{ font-family:var(--wq-mono); text-align:center; font-size:13.2px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--wq-forest); margin:0 0 6px; }
.wq-summary{ font-family:var(--wq-mono); text-align:center; font-size:14.3px; color:var(--wq-muted); margin:0 0 24px; }
.wq-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:stretch; }
@media (max-width:720px){ .wq-cards{ grid-template-columns:1fr; max-width:380px; margin:0 auto; } }
.wq-pcard{ background:var(--wq-white); border:1px solid var(--wq-line); border-radius:var(--wq-radius); padding:24px 20px; display:flex; flex-direction:column; text-align:center; box-shadow:var(--wq-shadow); }
.wq-pcard.is-pick{ border:2px solid var(--wq-forest); box-shadow:0 0 0 3px var(--wq-forest-soft), var(--wq-shadow); }
.wq-pick-flag{ font-family:var(--wq-mono); font-size:12.1px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--wq-rebel); margin:0 0 10px; }
.wq-pimg{ width:100%; height:150px; object-fit:contain; margin:0 0 16px; }
.wq-ptitle{ font-family:var(--wq-display); font-size:16px; font-weight:700; line-height:1.3; color:var(--wq-ink); margin:0 0 8px; }
.wq-pprice{ font-family:var(--wq-mono); font-size:17.6px; font-weight:600; color:var(--wq-ink); margin:0 0 4px; }
.wq-pqty{ font-family:var(--wq-mono); font-size:13.2px; font-weight:600; letter-spacing:.04em; color:var(--wq-forest); margin:0 0 10px; }
.wq-pnote{ font-family:var(--wq-mono); font-size:12.65px; line-height:1.5; color:var(--wq-muted); margin:0 0 14px; }
.wq-pcard .wq-spacer{ flex:1; }
.wq-msg{ font-family:var(--wq-mono); font-size:13.75px; margin:10px 0 0; padding:10px 12px; border-radius:9px; line-height:1.45; }
.wq-msg--ok{ background:var(--wq-forest-soft); color:#2E3A24; border:1px solid #D2DEC7; }
.wq-msg--err{ background:#FBEDE9; color:#7A2E1E; border:1px solid #F2D2C8; }
.wq-preview-note{ font-family:var(--wq-mono); max-width:var(--wq-maxw); margin:24px auto 0; font-size:13.2px; line-height:1.55; color:var(--wq-muted); text-align:center; }
.wq-spinner{ width:15px; height:15px; border:2px solid rgba(24,24,24,.3); border-top-color:var(--wq-night); border-radius:50%; display:inline-block; animation:wq-spin .7s linear infinite; }
@keyframes wq-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){ .wq-spinner{ animation:none; } }
