/* Bid2Stay 28.4.0 — Premium Conversational Form System
   Interaction inspiration: focused/guided progression, document-like simplicity,
   and operational form capability. Visual identity remains Bid2Stay. */
:root{
  --b2sf-gold:#d6a323;
  --b2sf-gold-strong:#b98500;
  --b2sf-gold-soft:#fff7df;
  --b2sf-gold-ring:rgba(214,163,35,.18);
  --b2sf-ink:#171b24;
  --b2sf-text:#344054;
  --b2sf-muted:#667085;
  --b2sf-line:#dfe3e8;
  --b2sf-line-strong:#c9d0d8;
  --b2sf-surface:#fff;
  --b2sf-canvas:#f7f7f5;
  --b2sf-warm:#fbfaf7;
  --b2sf-danger:#b42318;
  --b2sf-danger-soft:#fff1f0;
  --b2sf-success:#067647;
  --b2sf-success-soft:#ecfdf3;
  --b2sf-radius:12px;
  --b2sf-radius-lg:18px;
  --b2sf-control:48px;
  --b2sf-field-gap:16px;
  --b2sf-section-gap:28px;
  --b2sf-shadow:0 12px 36px rgba(16,24,40,.06);
}

/* ---------- Universal form foundation ---------- */
body[data-b2s-form-system="28.4.0"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body[data-b2s-form-system="28.4.0"] select,
body[data-b2s-form-system="28.4.0"] textarea{
  width:100%;
  min-height:var(--b2sf-control);
  box-sizing:border-box;
  border:1px solid var(--b2sf-line);
  border-radius:var(--b2sf-radius);
  background:var(--b2sf-surface);
  color:var(--b2sf-ink);
  font:inherit;
  font-size:15px;
  line-height:1.4;
  padding:11px 13px;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
  outline:none;
}
body[data-b2s-form-system="28.4.0"] textarea{min-height:112px;resize:vertical}
body[data-b2s-form-system="28.4.0"] input:hover:not(:disabled):not([readonly]),
body[data-b2s-form-system="28.4.0"] select:hover:not(:disabled),
body[data-b2s-form-system="28.4.0"] textarea:hover:not(:disabled):not([readonly]){border-color:var(--b2sf-line-strong)}
body[data-b2s-form-system="28.4.0"] input:focus:not([type="checkbox"]):not([type="radio"]),
body[data-b2s-form-system="28.4.0"] select:focus,
body[data-b2s-form-system="28.4.0"] textarea:focus{
  border-color:var(--b2sf-gold);
  box-shadow:0 0 0 4px var(--b2sf-gold-ring);
}
body[data-b2s-form-system="28.4.0"] input:disabled,
body[data-b2s-form-system="28.4.0"] select:disabled,
body[data-b2s-form-system="28.4.0"] textarea:disabled,
body[data-b2s-form-system="28.4.0"] input[readonly],
body[data-b2s-form-system="28.4.0"] textarea[readonly]{background:#f2f4f7;color:#667085;cursor:not-allowed}
body[data-b2s-form-system="28.4.0"] label{color:var(--b2sf-text);font-size:13px;font-weight:800;line-height:1.35}
body[data-b2s-form-system="28.4.0"] small,
body[data-b2s-form-system="28.4.0"] .helper,
body[data-b2s-form-system="28.4.0"] .help,
body[data-b2s-form-system="28.4.0"] .hint{color:var(--b2sf-muted);font-size:12.5px;line-height:1.45}
body[data-b2s-form-system="28.4.0"] ::placeholder{color:#98a2b3;opacity:1}

/* Checkbox/radio/chip controls */
body[data-b2s-form-system="28.4.0"] input[type="checkbox"],
body[data-b2s-form-system="28.4.0"] input[type="radio"]{accent-color:var(--b2sf-gold-strong)}
body[data-b2s-form-system="28.4.0"] .s04-check,
body[data-b2s-form-system="28.4.0"] .chip,
body[data-b2s-form-system="28.4.0"] .filter-chip{
  border-radius:999px;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
body[data-b2s-form-system="28.4.0"] .s04-check:has(input:checked),
body[data-b2s-form-system="28.4.0"] .chip:has(input:checked){border-color:var(--b2sf-gold);background:var(--b2sf-gold-soft);box-shadow:0 0 0 2px var(--b2sf-gold-ring)}

/* Buttons: gold is selective, never used for every action */
body[data-b2s-form-system="28.4.0"] button,
body[data-b2s-form-system="28.4.0"] .btn,
body[data-b2s-form-system="28.4.0"] [class*="submit"]{border-radius:11px}
body[data-b2s-form-system="28.4.0"] .btn.primary,
body[data-b2s-form-system="28.4.0"] .s04-btn.primary,
body[data-b2s-form-system="28.4.0"] .b23-submit,
body[data-b2s-form-system="28.4.0"] .b2s-auth-submit{
  background:var(--b2sf-ink);
  color:#fff;
  border-color:var(--b2sf-ink);
  box-shadow:0 5px 14px rgba(17,24,39,.10);
}
body[data-b2s-form-system="28.4.0"] .btn.primary:hover,
body[data-b2s-form-system="28.4.0"] .s04-btn.primary:hover,
body[data-b2s-form-system="28.4.0"] .b23-submit:hover,
body[data-b2s-form-system="28.4.0"] .b2s-auth-submit:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(17,24,39,.14)}
body[data-b2s-form-system="28.4.0"] button:focus-visible,
body[data-b2s-form-system="28.4.0"] .btn:focus-visible,
body[data-b2s-form-system="28.4.0"] a:focus-visible{outline:3px solid var(--b2sf-gold);outline-offset:3px}

/* Status/validation */
body[data-b2s-form-system="28.4.0"] [aria-invalid="true"],
body[data-b2s-form-system="28.4.0"] .is-invalid,
body[data-b2s-form-system="28.4.0"] .error input,
body[data-b2s-form-system="28.4.0"] .error select,
body[data-b2s-form-system="28.4.0"] .error textarea{border-color:var(--b2sf-danger)!important;box-shadow:0 0 0 3px rgba(180,35,24,.08)}
body[data-b2s-form-system="28.4.0"] .status.error,
body[data-b2s-form-system="28.4.0"] .b23-status.error{background:var(--b2sf-danger-soft);border-color:#fecdca;color:var(--b2sf-danger)}
body[data-b2s-form-system="28.4.0"] .status.success,
body[data-b2s-form-system="28.4.0"] .b23-status.success{background:var(--b2sf-success-soft);border-color:#abefc6;color:var(--b2sf-success)}

/* ---------- Provider: guided mode ---------- */
body[data-b2s-form-mode="provider"]{background:linear-gradient(180deg,#fbfaf7 0,#f7f7f5 440px,#f7f7f5 100%)}
body[data-b2s-form-mode="provider"] .s04-form-card,
body[data-b2s-form-mode="provider"] .provider-card,
body[data-b2s-form-mode="provider"] form:not(.header-search){box-shadow:var(--b2sf-shadow)}
body[data-b2s-form-mode="provider"] .s04-form-step>h2{font-size:22px;letter-spacing:-.02em;color:var(--b2sf-ink);margin-bottom:6px}
body[data-b2s-form-mode="provider"] .s04-step-intro{max-width:680px;color:var(--b2sf-muted);font-size:14px;line-height:1.55;margin-bottom:20px}
body[data-b2s-form-mode="provider"] .s04-grid{gap:var(--b2sf-field-gap)}
body[data-b2s-form-mode="provider"] .s04-field{gap:7px}
body[data-b2s-form-mode="provider"] .s04-stepper button[aria-current="step"],
body[data-b2s-form-mode="provider"] .s04-stepper button.active{border-color:var(--b2sf-gold);background:var(--b2sf-gold-soft);color:var(--b2sf-ink)}
body[data-b2s-form-mode="provider"] details.b2s2832-more-details,
body[data-b2s-form-mode="provider"] details.b2s2832-location-alternatives,
body[data-b2s-form-mode="provider"] details.b2s2832-verification-later{border-color:#e7e2d5;background:#fffdf9}
body[data-b2s-form-mode="provider"] details>summary span{color:var(--b2sf-gold-strong)}
body[data-b2s-form-mode="provider"] .b2s-cover-card.is-cover{border-color:var(--b2sf-gold);box-shadow:0 0 0 3px var(--b2sf-gold-ring)}

/* ---------- Guest: lightweight mode ---------- */
body[data-b2s-form-mode="guest"] .b23-form,
body[data-b2s-form-mode="guest"] .b2s-mobile-profile-form,
body[data-b2s-form-mode="guest"] form{border-color:#e7e7e3}
body[data-b2s-form-mode="guest"] .b2s2833-progress span.active b{background:var(--b2sf-gold);border-color:var(--b2sf-gold);color:var(--b2sf-ink)}
body[data-b2s-form-mode="guest"] .b2s2833-section-title>span{background:var(--b2sf-gold-soft);color:#7a5100}
body[data-b2s-form-mode="guest"] .b2s2833-money-input>span{background:var(--b2sf-warm);border-color:var(--b2sf-line);color:var(--b2sf-ink)}
body[data-b2s-form-mode="guest"] .b23-field label{margin-bottom:6px}

/* ---------- Auth: calm, high-trust mode ---------- */
body[data-b2s-form-mode="auth"]{background:radial-gradient(circle at 50% -20%,#fff5d6 0,rgba(255,245,214,0) 42%),#f7f7f5}
body[data-b2s-form-mode="auth"] .b2s-login-card,
body[data-b2s-form-mode="auth"] .b2s-auth-card,
body[data-b2s-form-mode="auth"] form{border:1px solid #e5e3dc;box-shadow:0 22px 52px rgba(16,24,40,.09)}
body[data-b2s-form-mode="auth"] h1{letter-spacing:-.025em;color:var(--b2sf-ink)}
body[data-b2s-form-mode="auth"] .b2s-auth-submit{min-height:50px}
body[data-b2s-form-mode="auth"] a{color:#725200}

/* ---------- Admin: operational density ---------- */
body[data-b2s-form-mode="admin"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body[data-b2s-form-mode="admin"] select{min-height:44px;font-size:14px;padding:9px 11px}
body[data-b2s-form-mode="admin"] textarea{font-size:14px;min-height:92px}
body[data-b2s-form-mode="admin"] .field,
body[data-b2s-form-mode="admin"] .s04-field{gap:5px}
body[data-b2s-form-mode="admin"] .card,
body[data-b2s-form-mode="admin"] .panel{border-color:#e4e7ec}
body[data-b2s-form-mode="admin"] .b2s2834-review-flow span,
body[data-b2s-form-mode="admin"] .b2s2834-flow-grid a>span{background:var(--b2sf-gold-soft);color:#7a5100}
body[data-b2s-form-mode="admin"] .b2s-admin-cover-grid article.is-cover{border-color:var(--b2sf-gold);box-shadow:0 0 0 2px var(--b2sf-gold-ring)}

/* ---------- Public/contact/search ---------- */
body[data-b2s-form-mode="public"] form{border-color:#e5e5df}

/* Mobile: native-app-like form behavior */
@media(max-width:768px){
  body[data-b2s-form-system="28.4.0"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body[data-b2s-form-system="28.4.0"] select,
  body[data-b2s-form-system="28.4.0"] textarea{font-size:16px;min-height:48px}
  body[data-b2s-form-system="28.4.0"] textarea{min-height:108px}
  body[data-b2s-form-system="28.4.0"] label{font-size:13px}
  body[data-b2s-form-system="28.4.0"] small{font-size:12.5px}
  body[data-b2s-form-mode="provider"] .s04-form-step>h2{font-size:20px}
  body[data-b2s-form-mode="provider"] .s04-grid,
  body[data-b2s-form-mode="admin"] .form-grid,
  body[data-b2s-form-mode="guest"] .b23-grid{grid-template-columns:1fr!important}
  body[data-b2s-form-system="28.4.0"] .actions,
  body[data-b2s-form-system="28.4.0"] .form-actions,
  body[data-b2s-form-system="28.4.0"] .wizard-actions{gap:8px}
  body[data-b2s-form-system="28.4.0"] button,
  body[data-b2s-form-system="28.4.0"] .btn{min-height:44px}
}
@media(max-width:430px){
  :root{--b2sf-radius:11px;--b2sf-radius-lg:16px;--b2sf-field-gap:14px}
  body[data-b2s-form-system="28.4.0"] .actions,
  body[data-b2s-form-system="28.4.0"] .form-actions,
  body[data-b2s-form-system="28.4.0"] .wizard-actions{grid-template-columns:1fr!important}
}
@media(max-width:320px){
  body[data-b2s-form-system="28.4.0"] input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body[data-b2s-form-system="28.4.0"] select,
  body[data-b2s-form-system="28.4.0"] textarea{padding-left:11px;padding-right:11px}
}
@media(prefers-reduced-motion:reduce){
  body[data-b2s-form-system="28.4.0"] *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
