/* =========================================================
   Furniture Reserve — Phase 6d
   Contact page, login/register, account pages
   ========================================================= */
/* Contact form (/contactus) */
body.fr-body .o_website_form_container,
body.fr-body main form[action="/website/mail"],
body.fr-body main form.s_website_form {
  background: var(--color-bg);
  font-family: var(--font-sans);
}
body.fr-body #wrap h1.o_default_snippet_text,
body.fr-body #wrap .s_title h1,
body.fr-body #wrap .s_cover h1,
body.fr-body #wrap .s_text_block h1,
body.fr-body #wrap main h1 {
  font-family: var(--font-serif);
  font-weight: 300 !important;
}
body.fr-body .s_website_form .form-control,
body.fr-body form .form-control {
  border-radius: 0 !important;
  border-color: var(--color-border) !important;
  padding: 0.75rem 1rem !important;
  font-family: var(--font-sans);
  font-size: 0.95rem;
}
body.fr-body .s_website_form .form-control:focus,
body.fr-body form .form-control:focus {
  border-color: var(--color-accent) !important;
  box-shadow: none !important;
}
body.fr-body .s_website_form label,
body.fr-body form label {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text);
  font-weight: 500;
  margin-bottom: 0.5rem;
}
body.fr-body .s_website_form button[type="submit"],
body.fr-body form button[type="submit"].btn-primary {
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  border-radius: 0 !important;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 1rem 2.5rem !important;
  transition: background 0.3s ease, transform 0.3s ease;
}
body.fr-body .s_website_form button[type="submit"]:hover,
body.fr-body form button[type="submit"].btn-primary:hover {
  background: var(--color-gold) !important;
  border-color: var(--color-gold) !important;
  transform: translateY(-2px);
}

/* Login / sign up card */
body.fr-body .oe_website_login_container,
body.fr-body .oe_signup_form,
body.fr-body .oe_login_form,
body.fr-body .oe_reset_password_form,
body.fr-body main .oe_website_login_container {
  max-width: 440px;
  margin: 4rem auto;
  padding: 3rem 2.5rem;
  background: #fff;
  border: 1px solid var(--color-border);
  font-family: var(--font-sans);
}
body.fr-body .oe_login_form h1,
body.fr-body .oe_signup_form h1,
body.fr-body .oe_reset_password_form h1 {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  font-weight: 300;
  color: var(--color-text);
  text-align: center;
  margin: 0 0 0.5rem;
}
body.fr-body .oe_login_form .text-muted,
body.fr-body .oe_signup_form .text-muted {
  text-align: center;
  font-size: 0.85rem;
  color: var(--color-text-light);
  margin-bottom: 2rem;
}

/* Portal / my account */
body.fr-body .o_portal,
body.fr-body .o_portal_my_home,
body.fr-body .o_portal_wrap { font-family: var(--font-sans); }
body.fr-body .o_portal_wrap .card { border-radius: 0; border-color: var(--color-border); }
body.fr-body .o_portal_my_doc_table th { font-family: var(--font-sans); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-text); }
body.fr-body .o_portal_my_home .breadcrumb { font-family: var(--font-sans); font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; }
body.fr-body .o_portal_my_home .breadcrumb a { color: var(--color-accent); }

/* Search form on /shop */
body.fr-body #o_wsale_container .o_wsale_search input.form-control {
  border-radius: 0 !important;
  border-color: var(--color-border) !important;
  font-family: var(--font-sans);
}
