.yv-s,.yv-s *,.yv-s *::before,.yv-s *::after{box-sizing:border-box}
.yv-s{
  --ink:#0F172C; --ink700:#334155; --slate:#64748B; --slate300:#CBD5E1;
  --mist:#F1F5F9; --mist2:#F8FAFC; --line:#E2E8F0;
  --coral:#FF6B6B; --coral-lt:#FF8A85; --action:#DA2C38;
  --disp:'Quicksand',system-ui,sans-serif; --body:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-family:var(--body); color:var(--ink700); width:100%; max-width:1108px; margin:0 auto;
}

/* tabs */
.yv-s .yv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.yv-s .yv-tab{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  font-family:var(--disp);font-weight:700;font-size:1rem;line-height:1;color:var(--ink);
  height:48px;padding:0 30px;background:var(--mist2);border:1px solid var(--line);
  border-bottom:0;border-radius:14px 14px 0 0;transition:.18s;margin:0;box-shadow:none;text-transform:none;letter-spacing:0;
}
.yv-s .yv-tab:hover{background:var(--mist);color:var(--ink)}
.yv-s .yv-tab[aria-selected="true"]{background:#fff;border:2px solid var(--action);border-bottom:0;position:relative;z-index:2}
.yv-s .yv-tab:focus-visible{outline:2px solid var(--action);outline-offset:2px}

/* panel */
.yv-s .yv-panel{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:28px;
  padding:28px 28px 30px;margin:-1px 0 0;
  box-shadow:0 1px 2px rgba(15,23,44,.04),0 12px 32px -12px rgba(15,23,44,.14);
}
.yv-s.yv-no-tabs .yv-panel{margin-top:0}

/* 12-col field grid */
.yv-s .yv-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 16px}
.yv-s .yv-f{min-width:0;grid-column:span 6}
.yv-s .yv-f[hidden]{display:none}
.yv-s .yv-c-3{grid-column:span 3}.yv-s .yv-c-4{grid-column:span 4}.yv-s .yv-c-6{grid-column:span 6}
.yv-s .yv-c-8{grid-column:span 8}.yv-s .yv-c-9{grid-column:span 9}.yv-s .yv-c-12{grid-column:span 12}
@media(max-width:1024px){
  .yv-s .yv-t-3{grid-column:span 3}.yv-s .yv-t-4{grid-column:span 4}.yv-s .yv-t-6{grid-column:span 6}
  .yv-s .yv-t-8{grid-column:span 8}.yv-s .yv-t-9{grid-column:span 9}.yv-s .yv-t-12{grid-column:span 12}
}
@media(max-width:767px){
  .yv-s .yv-m-3{grid-column:span 3}.yv-s .yv-m-4{grid-column:span 4}.yv-s .yv-m-6{grid-column:span 6}
  .yv-s .yv-m-8{grid-column:span 8}.yv-s .yv-m-9{grid-column:span 9}.yv-s .yv-m-12{grid-column:span 12}
  .yv-s .yv-panel{padding:22px 18px 24px;border-radius:22px}
  .yv-s .yv-btns .yv-btn{flex:1 1 auto}
}

.yv-s .yv-lbl{
  display:block;margin:0 0 8px;font-family:var(--disp);font-weight:700;font-size:.72rem;
  letter-spacing:.11em;text-transform:uppercase;color:var(--slate);
}
.yv-s .yv-in,.yv-s .yv-sel{
  display:block;width:100%;height:52px;margin:0;padding:0 18px;
  font-family:var(--body);font-size:1rem;font-weight:600;color:var(--ink);
  background-color:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:none;
  transition:border-color .18s,box-shadow .18s;
}
.yv-s .yv-in::placeholder{color:var(--slate);font-weight:400;opacity:1}
.yv-s .yv-sel{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1.5 1.75 7 7.25l5.5-5.5' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center;
}
.yv-s .yv-in:focus,.yv-s .yv-sel:focus{outline:none;border-color:var(--action);box-shadow:0 0 0 3px rgba(218,44,56,.18)}

/* toggle */
.yv-s .yv-f--sw{margin-top:4px}
.yv-s .yv-sw{position:relative;display:inline-flex;align-items:center;gap:12px;margin:0;cursor:pointer;user-select:none;
  font-family:var(--disp);font-weight:700;font-size:1rem;color:var(--ink);text-transform:none;letter-spacing:0}
.yv-s .yv-sw input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.yv-s .yv-track{position:relative;flex:0 0 54px;width:54px;height:30px;border-radius:999px;
  background:var(--line);border:1.5px solid var(--slate300);transition:.2s}
.yv-s .yv-knob{position:absolute;top:50%;left:3px;width:22px;height:22px;border-radius:999px;
  background:#fff;box-shadow:0 1px 3px rgba(15,23,44,.3);transform:translateY(-50%);transition:.2s}
.yv-s .yv-sw input:checked + .yv-track{background:var(--coral);border-color:var(--action)}
.yv-s .yv-sw input:checked + .yv-track .yv-knob{left:calc(100% - 25px);background:var(--ink)}
.yv-s .yv-sw input:focus-visible + .yv-track{outline:2px solid var(--action);outline-offset:3px}

/* buttons */
.yv-s .yv-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.yv-s .yv-btn{
  appearance:none;-webkit-appearance:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  height:54px;padding:0 32px;margin:0;border-radius:999px;border:2px solid transparent;
  font-family:var(--disp);font-weight:700;font-size:1.02rem;line-height:1;transition:.18s;text-decoration:none;box-shadow:none;text-transform:none;letter-spacing:0;
}
.yv-s .yv-btn--p{background:var(--coral);color:var(--ink)}
.yv-s .yv-btn--p:hover{background:var(--coral-lt);color:var(--ink);transform:translateY(-1px)}
.yv-s .yv-btn--o{background:transparent;color:var(--ink);border-color:var(--slate)}
.yv-s .yv-btn--o:hover{border-color:var(--ink);background:var(--mist);color:var(--ink)}
.yv-s .yv-btn:focus-visible{outline:2px solid var(--action);outline-offset:3px}

/* result line */
.yv-s .yv-result{margin:8px 2px 0;font-size:.92rem;color:var(--ink700);min-height:1.4em}
.yv-s .yv-result a{color:var(--action);font-weight:700;text-decoration:underline;cursor:pointer;margin-left:4px}

/* empty state inside the Houzez grid */
.yv-empty{grid-column:1/-1;width:100%;text-align:center;padding:56px 20px;border:1px dashed #CBD5E1;
  border-radius:20px;background:#F8FAFC;font-family:'Nunito',system-ui,sans-serif;color:#334155;margin:0 12px}
.yv-empty b{display:block;font-family:'Quicksand',system-ui,sans-serif;font-size:1.2rem;color:#0F172C;margin-bottom:6px}
