/* ========================================================================== */
/* VISHITA BESPOKE V5 — PROTECTED COMMERCE SURFACES                          */
/* Visual styling only. Native checkout, payment, account and order JS remain. */
/* ========================================================================== */

:root {
  --vb-ink: #181714;
  --vb-paper: #fffdf9;
  --vb-canvas: #f6f2ea;
  --vb-forest: #103f32;
  --vb-wine: #6a3038;
  --vb-muted: #716a60;
  --vb-line: #d8d1c5;
  --vb-shadow: 0 24px 70px rgba(24, 23, 20, .09);
}

.theme-checkout-container,
.theme-payment-content-area,
.theme-portal-form-container,
.signin_container,
.user-signup-form-container,
.recovery_container,
.multi-card-theme {
  color: var(--vb-ink) !important;
  font-family: "Manrope", "Source Sans Pro", Arial, sans-serif !important;
}

body:has(.theme-checkout-container),
body:has(.theme-payment-content-area),
body:has(.theme-portal-form-container),
body:has(.signin_container),
body:has(.multi-card-theme) {
  min-width: 320px;
  color: var(--vb-ink) !important;
  background: var(--vb-canvas) !important;
  -webkit-font-smoothing: antialiased;
}

.theme-checkout-header,
body:has(.theme-checkout-container) .theme-header,
body:has(.theme-portal-form-container) .theme-header,
body:has(.signin_container) .theme-header {
  color: var(--vb-ink) !important;
  background: rgba(255, 253, 249, .96) !important;
  border-block-end: 1px solid rgba(24, 23, 20, .11) !important;
}

.theme-checkout-header .zpcontainer {
  width: min(1240px, calc(100vw - 40px)) !important;
  max-width: 1240px !important;
  min-height: 76px;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.theme-checkout-header .theme-site-name,
body:has(.theme-portal-form-container) .theme-site-name,
body:has(.signin_container) .theme-site-name {
  color: var(--vb-ink) !important;
  font-family: "Alice", Georgia, serif !important;
  font-size: 27px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase;
}

.theme-checkout-container {
  width: min(1240px, calc(100vw - 40px)) !important;
  margin-inline: auto !important;
  padding-block: clamp(42px, 7vw, 86px) !important;
}

.theme-checkout-container .theme-checkout-tab,
.theme-checkout-container .theme-checkout-tab-content,
.theme-checkout-order-summary-container .theme-chekout-ordersummar,
.theme-order-confirmation-msg-container,
.theme-payment-content-area .theme-payment-message-box,
.theme-payment-content-area .theme-payment-info {
  color: var(--vb-ink) !important;
  background: var(--vb-paper) !important;
  border: 1px solid var(--vb-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.theme-checkout-container .theme-checkout-tab {
  min-height: 58px;
}

.theme-checkout-container .theme-checkout-tab.theme-checkout-tab-selected {
  background: rgba(16, 63, 50, .06) !important;
  border-color: var(--vb-forest) !important;
}

.theme-checkout-container .theme-checkout-tab .theme-checkout-steps-count-label {
  color: var(--vb-ink) !important;
  background: transparent !important;
  border-color: var(--vb-line) !important;
}

.theme-checkout-container .theme-checkout-tab-content {
  padding: clamp(22px, 4vw, 42px) !important;
}

.theme-checkout-container h1,
.theme-checkout-container h2,
.theme-checkout-container h3,
.theme-chekcout-form-head,
.theme-payment-content-area h1,
.theme-payment-content-area h2,
.theme-payment-content-area h3,
.theme-portal-heading,
#headtitle,
.verifytitle {
  color: var(--vb-ink) !important;
  font-family: "Alice", Georgia, serif !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

.theme-checkout-container label,
.textbox_label {
  color: var(--vb-ink) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

.theme-checkout-container input[type="text"],
.theme-checkout-container input[type="address"],
.theme-checkout-container input[type="number"],
.theme-checkout-container input[type="email"],
.theme-checkout-container input[type="tel"],
.theme-checkout-container textarea,
.theme-checkout-container select,
.multi-card-theme input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
.multi-card-theme select,
.multi-card-theme textarea,
.theme-portal-form-container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
.theme-portal-form-container select,
.theme-portal-form-container textarea,
.signin_container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
.signin_container select,
.signin_container textarea,
.user-signup-form-container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
.user-signup-form-container select,
.user-signup-form-container textarea,
.recovery_container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
.recovery_container select,
.recovery_container textarea {
  min-height: 50px !important;
  padding: 11px 14px !important;
  color: var(--vb-ink) !important;
  background: var(--vb-paper) !important;
  border: 1px solid var(--vb-line) !important;
  border-radius: 0 !important;
}

.theme-checkout-container textarea,
.multi-card-theme textarea {
  min-height: 120px !important;
}

.theme-checkout-container .theme-cart-qty input[type="text"],
.theme-checkout-container .theme-product-list-quantity-field {
  width: 50px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 2px !important;
  text-align: center;
  border: 0 !important;
}

.theme-checkout-primary-btn,
.theme-checkout-container .zpbutton-type-primary,
.theme-checkout-container button[type="submit"],
.multi-card-theme button[type="submit"],
.theme-portal-form-container .btn.blue,
.signin_container .btn.blue,
.user-signup-form-container .btn.blue,
.recovery_container .btn.blue,
.theme-payment-content-area .theme-payment-button .zpbutton {
  min-height: 52px !important;
  padding: 14px 24px !important;
  text-align: center;
  color: #fff !important;
  background: var(--vb-forest) !important;
  border: 1px solid var(--vb-forest) !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
}

.theme-checkout-secondary-btn,
.theme-portal-form-container .grey,
.signin_container .grey {
  min-height: 48px !important;
  color: var(--vb-ink) !important;
  background: transparent !important;
  border: 1px solid var(--vb-line) !important;
  border-radius: 0 !important;
}

.theme-checkout-container .shipping-method-box,
.theme-checkout-container .theme-checkout-user-address-box {
  color: var(--vb-ink) !important;
  background: var(--vb-paper) !important;
  border-color: var(--vb-line) !important;
  border-radius: 0 !important;
}

.theme-checkout-container input[type="radio"]:checked + label {
  color: #fff !important;
  background: var(--vb-forest) !important;
  border-color: var(--vb-forest) !important;
}

.theme-checkout-order-summary-container .theme-chekcout-ordersummar {
  position: sticky;
  inset-block-start: 96px;
  padding: 28px !important;
}

.theme-order-summary-head,
.theme-order-summary-footer,
.theme-checkout-container .theme-chekcout-form-head {
  border-color: var(--vb-line) !important;
}

.theme-portal-form-container {
  width: min(500px, calc(100vw - 40px)) !important;
  margin: clamp(42px, 8vw, 96px) auto !important;
  padding: clamp(28px, 5vw, 48px) !important;
  background: var(--vb-paper) !important;
  border: 1px solid var(--vb-line) !important;
  border-radius: 0 !important;
  box-shadow: var(--vb-shadow) !important;
}

.theme-portal-heading,
#headtitle,
.verifytitle {
  font-size: clamp(32px, 5vw, 46px) !important;
}

.head_info,
.signin_fed_text,
.service_name,
.backup_desc,
.pass_name,
.titlename {
  color: var(--vb-muted) !important;
}

.bluetext,
.bluetext_action,
.bottom_option,
.theme-forgotpassword-back a,
#recovery_user_info .change_user,
.user_info .change_user,
.otpmobile .change {
  color: var(--vb-wine) !important;
}

.theme-payment-content-area .zpcontainer {
  width: min(860px, calc(100vw - 40px)) !important;
  margin-inline: auto !important;
  padding-block: clamp(52px, 9vw, 112px) !important;
}

.theme-payment-content-area .theme-payment-success-message {
  width: 100% !important;
}

.theme-payment-content-area .theme-payment-message-box,
.theme-payment-content-area .theme-payment-info {
  width: 100%;
  padding: 26px !important;
  box-shadow: var(--vb-shadow) !important;
}

.theme-payment-content-area p,
.theme-payment-content-area .theme-payment-info {
  color: var(--vb-muted) !important;
}

.theme-checkout-container :focus-visible,
.theme-payment-content-area :focus-visible,
.theme-portal-form-container :focus-visible,
.signin_container :focus-visible,
.user-signup-form-container :focus-visible,
.recovery_container :focus-visible,
.multi-card-theme :focus-visible {
  outline: 2px solid var(--vb-wine) !important;
  outline-offset: 3px !important;
}

.theme-checkout-container :disabled,
.theme-checkout-container [aria-disabled="true"],
.theme-portal-form-container :disabled,
.signin_container :disabled,
.multi-card-theme :disabled {
  cursor: not-allowed !important;
  opacity: 1 !important;
  color: var(--vb-muted) !important;
  background: #e8e3da !important;
  border-color: var(--vb-line) !important;
  box-shadow: none !important;
}

@media (max-width: 991px) {
  .theme-checkout-container {
    width: calc(100vw - 32px) !important;
    padding-block: 32px 64px !important;
  }

  .theme-checkout-order-summary-container .theme-chekcout-ordersummar {
    position: static;
  }

  .theme-checkout-container .theme-checkout-tab-content {
    padding: 22px 18px !important;
  }

  .theme-portal-form-container {
    width: calc(100vw - 32px) !important;
    margin: 30px auto 64px !important;
    padding: 26px 20px !important;
  }
}

@media (max-width: 600px) {
  .theme-payment-content-area .zpcontainer {
    width: calc(100vw - 32px) !important;
  }

  .theme-payment-content-area .theme-payment-message-box,
  .theme-payment-content-area .theme-payment-info {
    padding: 22px 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
