/*
 * Bharatam Vinyas Property Management - Workspace look for the public site.
 * Loaded after site.css. White header with a hairline, calm grey page bands,
 * white cards with a 1px border and small corners, blue actions (accent comes
 * from the admin-set --www-primary). UI only.
 */

:root {
  --ws-canvas: #F4F5F7;
  --ws-surface: #FFFFFF;
  --ws-border: #E3E6EA;
  --ws-border-strong: #CBD2D9;
  --ws-text: #2D3748;
  --ws-ink: #1F2937;
  --ws-muted: #6B7280;
  --ws-selected: #EEF1FD;
  --ws-radius: 6px;
}

body {
  color: var(--ws-text);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { color: var(--ws-ink); letter-spacing: -0.005em; }

/* ---------- Header ---------- */

.www-tiranga-stripe { height: 3px; }

.www-header-99 {
  background: var(--ws-surface);
  color: var(--ws-ink);
  box-shadow: none;
  border-bottom: 1px solid var(--ws-border);
}

.www-header-99__logo,
.www-header-99__logo:hover { color: var(--ws-ink); }

.www-header-99__mark {
  display: block;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
}

.www-header-99__logo-text {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ws-ink);
}

.www-header-99__location { color: var(--ws-text); opacity: 1; }

.www-header-99__search,
.www-header-99--home .www-header-99__search {
  border: 1px solid var(--ws-border-strong);
  border-radius: var(--ws-radius);
  box-shadow: none;
}

.www-header-99__search:focus-within { border-color: var(--www-primary); box-shadow: 0 0 0 3px rgb(67 97 238 / 0.12); }
.www-header-99__search-type { border-right-color: var(--ws-border); }
.www-header-99__voice-btn { background: var(--ws-surface); border-left-color: var(--ws-border); color: var(--ws-muted); }
.www-header-99__voice-btn:hover { background: #F3F4F6; }
.www-header-99__search-btn { background: var(--www-primary); }

.www-header-99__post {
  background: var(--ws-surface);
  color: var(--www-primary);
  border: 1px solid var(--www-primary);
  border-radius: 4px;
  font-weight: 500;
}

.www-header-99__post:hover { background: var(--ws-selected); }
.www-header-99__free { background: var(--ws-selected); color: var(--www-primary); border-radius: 3px; }

.www-header-99__link-auth { color: var(--ws-ink); font-weight: 500; }
.www-header-99__link-auth:hover { color: var(--www-primary); }
.www-header-99__link-auth--primary,
.www-header-99__link-auth--primary:hover { background: var(--www-primary); color: #FFFFFF; border-radius: 4px; }

.www-header-99__user { color: var(--ws-ink); }
.www-header-99__user-initial { background: #E0E7FF; color: #3346C8; border: 0; font-weight: 600; }
.www-header-99__menu span { background: var(--ws-ink); }

.www-header-99__nav-zone,
.www-header-99__nav-zone.www-header-99__nav-zone--open {
  background: var(--ws-surface);
  border-top: 1px solid var(--ws-border);
}

.www-header-99__sub a { color: #4B5563; font-weight: 500; }
.www-header-99__sub a:hover,
.www-header-99__sub a.is-active { color: var(--www-primary); border-bottom-color: var(--www-primary); }
.www-header-99__sub-divider::before { background: var(--ws-border); box-shadow: none; width: 1px; }

.www-header-99__sub-erp,
.www-header-99__sub-erp:hover,
.www-header-99__sub-erp.is-active {
  background: var(--ws-selected);
  color: var(--www-primary) !important;
  border: 1px solid #C7D2FE !important;
  border-radius: 4px;
  box-shadow: none;
  animation: none;
  transform: none;
  font-weight: 600;
}

.www-drawer__erp-cta {
  background: var(--www-primary);
  color: #FFFFFF !important;
  border-radius: 4px;
  animation: none;
}

.www-mega { box-shadow: 0 12px 28px rgb(15 23 42 / 0.08); border-bottom-color: var(--ws-border); }

/* ---------- Buttons & forms ---------- */

.btn { border-radius: 4px; font-weight: 500; }
.btn-primary { background: var(--www-primary); }
.btn-outline { border: 1px solid var(--www-primary); color: var(--www-primary); background: var(--ws-surface); }

.www-form input,
.www-form select,
.www-form textarea,
input[type="email"],
input[type="password"],
input[type="text"],
input[type="tel"],
input[type="search"],
select,
textarea {
  border-radius: 4px;
}

.www-form input:focus,
.www-form select:focus,
.www-form textarea:focus {
  outline: 2px solid rgb(67 97 238 / 0.2);
  border-color: var(--www-primary);
}

/* ---------- Page bands & sections ---------- */

.www-section { background: var(--ws-canvas); }
.www-section--alt,
.www-section--white,
.www-section--explore,
.www-section--segment-tabs,
.www-section--benefits { background: var(--ws-surface); }
.www-section--sell,
.www-section--muted { background: var(--ws-canvas); }

.www-section-head h2,
.www-ref-banner__title { font-weight: 600; color: var(--ws-ink); text-transform: none; letter-spacing: -0.01em; }
.www-section-head p,
.www-ref-banner__subtitle { color: var(--ws-muted); }

.www-quick-icons { border-bottom-color: var(--ws-border); box-shadow: none; }
.www-quick-icon { color: var(--ws-text); }
.www-quick-icon__circle {
  border-radius: 10px;
  background: var(--ws-selected);
  border: 1px solid #DCE3FB;
}

/* ---------- Cards ---------- */

.www-card,
.www-starter,
.www-project-card,
.www-segment-card,
.www-pricing-card,
.www-explore-card,
.www-city-card,
.www-compare-card,
.www-detail-card,
.www-account-card,
.www-client-card,
.www-sol-card,
.www-tile,
.www-emi-card {
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius);
  box-shadow: none;
}

.www-card:hover,
.www-starter:hover,
.www-project-card:hover,
.www-segment-card:hover,
.www-explore-card:hover,
.www-city-card:hover {
  box-shadow: 0 6px 18px rgb(15 23 42 / 0.08);
  transform: none;
}

.www-ref-banner__link { box-shadow: none; border: 1px solid var(--ws-border); }

/* ---------- Footer: light, calm, hairline ---------- */

.www-footer {
  background: var(--ws-canvas);
  color: var(--ws-muted);
  border-top: 1px solid var(--ws-border);
}

.www-footer h4 { color: var(--ws-ink); font-weight: 600; }
.www-footer a,
.www-footer__bottom a { color: #4B5563; }
.www-footer a:hover,
.www-footer__bottom a:hover { color: var(--www-primary); }

.www-footer__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--ws-ink);
  font-weight: 700;
}

.www-footer__mark { width: 28px; height: 28px; flex: 0 0 28px; }
.www-footer__family { margin: -0.25rem 0 0.75rem; font-size: 0.78rem; color: var(--ws-muted); }
.www-footer__company { color: var(--ws-muted); }
.www-footer__map { border-color: var(--ws-border); }
.www-footer__bottom { border-top-color: var(--ws-border); }
.www-footer__social a { background: var(--ws-surface); border: 1px solid var(--ws-border); color: #4B5563; }
.www-footer__social a:hover { background: var(--ws-selected); color: var(--www-primary); }
.www-footer input[type="email"] { background: var(--ws-surface); border: 1px solid var(--ws-border-strong); color: var(--ws-ink); }

/* Images: never let alt text spill over cards and badges while loading or if missing */
.www-card img,
.www-starter img,
.www-project-card img,
.www-segment-card img,
.www-explore-card img,
.www-slider img,
.www-ref-banner img {
  color: transparent;
  overflow: hidden;
  background: #E9EDF5 url("../images/placeholders/card.svg") center / 64px no-repeat;
}

/* ---------- Small things ---------- */

.www-back-top { border-radius: 6px; background: var(--ws-surface); color: var(--www-primary); border: 1px solid var(--ws-border); }
.alert-success, .alert-error { border-radius: 4px; }

/* ---------- Multi-column forms (sign-up, enrol, demo, enquiry) ---------- */
/* Columns follow the form's own width (container queries): 1 on phones,
   2 from ~640px of form width, 3 for short fields from ~1024px. Long fields,
   check boxes and submit stay full width. */

.bv-form-cq { container-type: inline-size; }

.bv-form-grid {
  display: grid;
  gap: 0.9rem 1rem;
  grid-template-columns: minmax(0, 1fr);
}
.bv-form-grid > * { margin: 0 !important; min-width: 0; }
.bv-form-grid > .bv-span-full,
.bv-form-grid > .www-form__field--full,
.bv-form-grid > fieldset,
.bv-form-grid > :has(textarea),
.bv-form-grid > :has(input[type="checkbox"]),
.bv-form-grid > button,
.bv-form-grid > [type="submit"] { grid-column: 1 / -1; }

@container (min-width: 520px) {
  .bv-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (min-width: 860px) {
  .bv-form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Demo-request submit follows the Workspace primary, not the old gold. */
.www-erp-demo-form__submit {
  background: var(--www-primary);
  color: #fff;
}
.www-erp-demo-form__submit:hover { filter: brightness(1.08); }
