/* ===================================================================
   JD's Vegan Dives — WooCommerce Checkout
   Light Apple-style — credit-card trust canvas
   Dark discovery/map/request remain dark. Checkout is light.
   =================================================================== */

/* ── Light canvas — checkout only ───────────────────────────────── */
body.woocommerce-checkout {
  background: #fff !important;
  color: #1d1d1f !important;
}

body.woocommerce-checkout .jdvd-site-wrapper,
body.woocommerce-checkout #page,
body.woocommerce-checkout .site,
body.woocommerce-checkout main,
body.woocommerce-checkout .jdvd-main,
body.woocommerce-checkout .site-main {
  background: #fff !important;
  color: #1d1d1f !important;
}

/* ── Light header on checkout ────────────────────────────────────── */
body.woocommerce-checkout .jdvd-site-header {
  position: relative !important;
  top: auto !important;
  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid #d2d2d7 !important;
}

body.woocommerce-checkout .jdvd-site-header .jdvd-site-logo,
body.woocommerce-checkout .jdvd-site-header a,
body.woocommerce-checkout .jdvd-site-header .jdvd-nav a {
  color: #1d1d1f !important;
}

body.woocommerce-checkout .jdvd-site-header .jdvd-brand__text {
  color: #1d1d1f !important;
  -webkit-text-fill-color: #1d1d1f !important;
}

body.woocommerce-checkout .jdvd-site-header .jdvd-brand__text .vegan,
body.woocommerce-checkout .jdvd-site-header .jdvd-brand__text .dives {
  color: #4F8F73 !important;
  -webkit-text-fill-color: #4F8F73 !important;
}

body.woocommerce-checkout main,
body.woocommerce-checkout .jdvd-main {
  padding-top: 0 !important;
}

/* ── Token overrides: light Apple fields on checkout ─────────────── */
body.woocommerce-checkout {
  --jdvd-form-field-bg:           #fff;
  --jdvd-form-field-bg-hover:     #fff;
  --jdvd-form-field-bg-focus:     #fff;
  --jdvd-form-field-border:       #86868b;
  --jdvd-form-field-border-hover: #6e6e73;
  --jdvd-form-field-border-focus: var(--jdvd-purple, #7c5cff);
  --jdvd-form-field-text:         #1d1d1f;
  --jdvd-form-field-placeholder:  #86868b;
  --jdvd-form-label:              #6e6e73;
  --jdvd-form-helper:             #6e6e73;
  --jdvd-form-focus-ring:         rgba(92, 68, 133, 0.18);
  --jdvd-form-shadow-focus:       0 0 0 3px rgba(92, 68, 133, 0.18);
  --jdvd-form-error:              #b00020;
  --jdvd-form-error-border:       #ff3b30;
  --jdvd-form-error-bg:           #fff2f2;
}

/* ── Page shell ──────────────────────────────────────────────────── */
body.woocommerce-cart {
  background: var(--bg);
  color: var(--text-primary);
}

/* ── Cart dark stays dark ────────────────────────────────────────── */
.woocommerce-cart .site-main {
  padding: var(--space-7) var(--gutter);
  max-width: 1100px;
  margin: 0 auto;
}

/* ── Checkout layout — Apple single-column, max 620px ───────────── */
body.woocommerce-checkout .woocommerce {
  width: min(100% - 48px, 980px);
  margin: 0 auto;
  padding: 44px 0 80px;
}

body.woocommerce-checkout form.checkout {
  display: block;
  max-width: 620px;
}

body.woocommerce-checkout .col2-set {
  display: block;
  float: none;
  width: 100%;
}

body.woocommerce-checkout .col-1,
body.woocommerce-checkout .col-2 {
  width: 100% !important;
  float: none !important;
}

/* Stacked first/last name */
body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
  float: none !important;
  width: 100% !important;
  margin-right: 0 !important;
}

/* ── Headings ────────────────────────────────────────────────────── */
body.woocommerce-checkout h1,
body.woocommerce-checkout h2,
body.woocommerce-checkout h3 {
  font-family: var(--font-family-display);
  color: #1d1d1f;
  font-weight: 700;
}

body.woocommerce-checkout h1 {
  font-size: var(--font-size-3xl);
  margin-bottom: var(--space-6);
  color: #1d1d1f;
}

body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout h3#order_review_heading {
  font-size: 12px;
  color: #6e6e73;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #d2d2d7;
}

/* ── Inputs & selects — light Apple fields ───────────────────────── */
body.woocommerce-checkout .form-row {
  position: relative;
  margin: 0 0 14px;
}

body.woocommerce-checkout .form-row label {
  color: #6e6e73 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select {
  background: #fff !important;
  border: 1px solid #86868b !important;
  border-radius: 12px !important;
  color: #1d1d1f !important;
  font-family: var(--font-family) !important;
  font-size: 17px !important;
  line-height: 1.23 !important;
  letter-spacing: -0.022em !important;
  padding: 17px 16px !important;
  min-height: 56px !important;
  height: auto !important;
  box-shadow: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color 160ms ease, box-shadow 160ms ease !important;
}

body.woocommerce-checkout .form-row input.input-text:hover,
body.woocommerce-checkout .form-row select:hover {
  border-color: #6e6e73 !important;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus {
  border-color: var(--jdvd-form-field-border-focus) !important;
  box-shadow: var(--jdvd-form-shadow-focus) !important;
  outline: none !important;
}

body.woocommerce-checkout .form-row input.input-text::placeholder {
  color: #86868b !important;
}

/* ── Select2 — light ────────────────────────────────────────────── */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
  background: #fff !important;
  border: 1px solid #86868b !important;
  border-radius: 12px !important;
  color: #1d1d1f !important;
  min-height: 56px !important;
  height: auto !important;
  padding: 17px 16px !important;
  display: flex !important;
  align-items: center !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #1d1d1f !important;
  padding: 0 !important;
  line-height: 1.4 !important;
  font-size: 17px !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  right: 14px !important;
  top: 0 !important;
}

body.woocommerce-checkout .select2-container--open .select2-selection--single {
  border-color: var(--jdvd-form-field-border-focus) !important;
  box-shadow: var(--jdvd-form-shadow-focus) !important;
}

/* Select2 dropdown — light */
body.woocommerce-checkout .select2-container--open .select2-dropdown {
  background: #fff !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
  color: #1d1d1f !important;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
  background: #f5f5f7 !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 8px !important;
  color: #1d1d1f !important;
}

body.woocommerce-checkout .select2-results__option {
  color: #1d1d1f !important;
  padding: 10px 16px !important;
}

body.woocommerce-checkout .select2-results__option--highlighted {
  background: rgba(124, 92, 255, 0.10) !important;
  color: #1d1d1f !important;
}

/* ── Order review panel ──────────────────────────────────────────── */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review_heading {
  background: transparent;
}

body.woocommerce-checkout #order_review {
  max-width: 620px;
  margin-top: 34px;
  border: 1px solid #d2d2d7 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
  padding: 0 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order table,
body.woocommerce-checkout .woocommerce table.shop_table {
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  width: 100% !important;
  color: #1d1d1f !important;
  margin: 0 !important;
}

body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce-checkout-review-order table th {
  background: #f5f5f7 !important;
  color: #6e6e73 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #d2d2d7 !important;
  font-weight: 600 !important;
}

body.woocommerce-checkout .woocommerce table.shop_table td,
body.woocommerce-checkout .woocommerce-checkout-review-order table td {
  padding: 14px 16px !important;
  border-top: 1px solid #d2d2d7 !important;
  border-bottom: none !important;
  color: #1d1d1f !important;
  background: transparent !important;
}

body.woocommerce-checkout .woocommerce table.shop_table tfoot tr:last-child td,
body.woocommerce-checkout .woocommerce table.shop_table tfoot tr:last-child th {
  font-size: 18px !important;
  font-weight: 600 !important;
  border-top: 1px solid #d2d2d7 !important;
  border-bottom: none !important;
}

/* ── Payment section ─────────────────────────────────────────────── */
body.woocommerce-checkout #payment {
  max-width: 620px;
  margin-top: 20px;
  border: 1px solid #d2d2d7 !important;
  border-radius: 18px !important;
  background: #fff !important;
  overflow: hidden !important;
}

body.woocommerce-checkout #payment .payment_methods {
  border-bottom: 1px solid #d2d2d7 !important;
  padding: 16px !important;
  margin: 0 !important;
  list-style: none !important;
}

body.woocommerce-checkout #payment .payment_methods li {
  padding: 10px 0 !important;
  border-bottom: 1px solid #f2f2f2 !important;
}

body.woocommerce-checkout #payment .payment_methods li:last-child {
  border-bottom: none !important;
}

body.woocommerce-checkout #payment .payment_methods li label {
  color: #1d1d1f !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.woocommerce-checkout #payment .payment_box {
  background: #f5f5f7 !important;
  border-radius: 0 !important;
  padding: 16px !important;
  margin: 0 !important;
  color: #1d1d1f !important;
  font-size: 14px !important;
  border: none !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: #f5f5f7 !important;
}

/* ── Stripe — light fields ───────────────────────────────────────── */
body.woocommerce-checkout #stripe-card-element,
body.woocommerce-checkout #stripe-exp-element,
body.woocommerce-checkout #stripe-cvc-element,
body.woocommerce-checkout .wc-stripe-elements-field,
body.woocommerce-checkout .stripe-card-element,
body.woocommerce-checkout .StripeElement,
body.woocommerce-checkout .wc-stripe-elements-field {
  background: #fff !important;
  border: 1px solid #86868b !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
}

body.woocommerce-checkout .StripeElement--focus,
body.woocommerce-checkout .wc-stripe-elements-field:focus-within {
  border-color: var(--jdvd-form-field-border-focus) !important;
  box-shadow: var(--jdvd-form-shadow-focus) !important;
}

body.woocommerce-checkout .StripeElement--invalid {
  border-color: #ff3b30 !important;
  background: #fff2f2 !important;
}

/* Kill iframes/fieldset default borders */
body.woocommerce-checkout #stripe-card-element iframe,
body.woocommerce-checkout #stripe-exp-element iframe,
body.woocommerce-checkout #stripe-cvc-element iframe {
  border: none !important;
  outline: none !important;
}

body.woocommerce-checkout fieldset#wc-stripe-upe-form,
body.woocommerce-checkout .wc-upe-form,
body.woocommerce-checkout .wc-payment-form {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-inline-size: 0 !important;
}

body.woocommerce-checkout fieldset#wc-stripe-upe-form legend,
body.woocommerce-checkout .payment_box fieldset legend,
body.woocommerce-checkout #payment fieldset legend {
  display: none !important;
}

body.woocommerce-checkout .payment_box fieldset,
body.woocommerce-checkout #payment fieldset {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-inline-size: 0 !important;
}

body.woocommerce-checkout #wc-stripe-payment-element,
body.woocommerce-checkout #wc-stripe-upe-form > div,
body.woocommerce-checkout .payment_box.payment_method_stripe {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Stripe field labels — light */
body.woocommerce-checkout #wc-stripe-cc-form label,
body.woocommerce-checkout .wc-stripe-cc-form label {
  color: #6e6e73 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Test mode notice */
.wc-stripe-testing-notice,
body.woocommerce-checkout .wc-stripe-testing-notice {
  background: rgba(212, 175, 55, 0.08) !important;
  border: 1px solid rgba(212, 175, 55, 0.35) !important;
  border-radius: var(--radius-md) !important;
  color: #9a7800 !important;
  font-size: 12px !important;
  padding: 10px 14px !important;
  margin-bottom: 12px !important;
}

/* ── Place order button ───────────────────────────────────────────── */
#payment #place_order,
.woocommerce #payment #place_order,
body.woocommerce-checkout #place_order {
  background: linear-gradient(135deg, var(--jdvd-royal-purple, #5c4485), #7a5ac8) !important;
  color: var(--jdvd-cream, #f6f2ea) !important;
  border: none !important;
  border-radius: var(--jdvd-button-radius, 14px) !important;
  font-family: var(--font-family) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  padding: 16px 32px !important;
  width: 100% !important;
  min-height: 52px !important;
  cursor: pointer !important;
  transition: filter var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast) !important;
  letter-spacing: 0.01em !important;
  margin-top: var(--space-4) !important;
  box-shadow: none !important;
}

#payment #place_order:hover,
body.woocommerce-checkout #place_order:hover {
  background: linear-gradient(135deg, #6a50a0, #8a6af0) !important;
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ── Express checkout (Apple Pay / Google Pay / Link) ────────────── */
.woocommerce-checkout #express-checkout-element,
.wc-block-components-express-payment,
#wc-stripe-express-checkout-element-wrapper {
  background: var(--surface-card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-xl) !important;
  padding: var(--space-4) !important;
  margin-bottom: var(--space-5) !important;
}

.wc-stripe-express-checkout-divider,
.woocommerce-checkout .wc-stripe-express-checkout-divider {
  color: var(--text-tertiary) !important;
}

.wc-stripe-express-checkout-divider::before,
.wc-stripe-express-checkout-divider::after {
  background: var(--border) !important;
}

/* ── Notices — light Apple alert style ───────────────────────────── */
/* WooCommerce JS focuses .woocommerce-NoticeGroup — kill browser focus ring */
body.woocommerce-checkout .woocommerce-NoticeGroup:focus {
  outline: none !important;
}

body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
  max-width: 620px;
  border-radius: 12px !important;
  font-size: 14px !important;
  padding: 14px 18px !important;
  margin-bottom: 14px !important;
  list-style: none !important;
  border: 1px solid #d2d2d7 !important;
  background: #f5f5f7 !important;
  color: #1d1d1f !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-error {
  border-color: #ff3b30 !important;
  background: #fff2f2 !important;
  color: #b00020 !important;
}

body.woocommerce-checkout .woocommerce-error li {
  color: #b00020 !important;
}

body.woocommerce-checkout .woocommerce-message {
  border-color: #d2d2d7 !important;
  background: #f5f5f7 !important;
  color: #1d1d1f !important;
}

body.woocommerce-checkout .woocommerce-info {
  border-color: #d2d2d7 !important;
  background: #f5f5f7 !important;
  color: #1d1d1f !important;
}

/* View cart / action buttons inside notices */
body.woocommerce-checkout .woocommerce-error .button,
body.woocommerce-checkout .woocommerce-error a.button,
body.woocommerce-checkout .woocommerce-message .button,
body.woocommerce-checkout .woocommerce-message a.button,
body.woocommerce-checkout .woocommerce-info .button {
  min-height: 32px !important;
  border-radius: var(--jdvd-button-radius, 14px) !important;
  padding: 0 14px !important;
  background: #fff !important;
  border: 1px solid #d2d2d7 !important;
  color: #1d1d1f !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* Hide WooCommerce notice icons */
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before {
  display: none !important;
}

/* "Have a coupon?" info notice link */
body.woocommerce-checkout .woocommerce-info a {
  color: var(--jdvd-purple, #7c5cff) !important;
  text-decoration: underline !important;
}

/* ── Hide Order Notes — digital product ──────────────────────────── */
body.woocommerce-checkout .woocommerce-additional-fields {
  display: none !important;
}

/* ── Coupon — minimal ────────────────────────────────────────────── */
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
  max-width: 620px;
  margin: 0 0 14px;
  font-size: 14px;
  color: #6e6e73;
}

body.woocommerce-checkout .checkout_coupon,
body.woocommerce-checkout .woocommerce form.checkout_coupon {
  max-width: 620px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  gap: 12px !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}

body.woocommerce-checkout .checkout_coupon:not([style*="display: none"]),
body.woocommerce-checkout .woocommerce form.checkout_coupon:not([style*="display: none"]) {
  display: flex !important;
}

body.woocommerce-checkout .woocommerce form.checkout_coupon p {
  margin: 0 !important;
  flex: 1 !important;
}

body.woocommerce-checkout .woocommerce form.checkout_coupon .input-text {
  flex: 1 !important;
  width: 100% !important;
}

body.woocommerce-checkout .woocommerce form.checkout_coupon .button,
body.woocommerce-checkout .checkout_coupon .button {
  background: #fff !important;
  border: 1px solid #d2d2d7 !important;
  color: #1d1d1f !important;
  border-radius: var(--jdvd-button-radius, 14px) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 12px 20px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce form.checkout_coupon .button:hover,
body.woocommerce-checkout .checkout_coupon .button:hover {
  background: #e8e8ed !important;
}

/* ── Cart (remains dark) ─────────────────────────────────────────── */
.woocommerce-cart .woocommerce {
  background: transparent !important;
}

/* ── Checkboxes / radios ─────────────────────────────────────────── */
body.woocommerce-checkout .woocommerce form .form-row input[type="checkbox"],
body.woocommerce-checkout .woocommerce form .form-row input[type="radio"],
body.woocommerce-checkout #payment .payment_methods input[type="radio"] {
  accent-color: var(--jdvd-purple, #7c5cff) !important;
}

/* ── Required asterisk ───────────────────────────────────────────── */
body.woocommerce-checkout .woocommerce form .form-row .required {
  color: #ff3b30 !important;
}

/* ── Express checkout (Apple Pay / Google Pay) ───────────────────── */
body.woocommerce-checkout #express-checkout-element,
body.woocommerce-checkout #wc-stripe-express-checkout-element-wrapper {
  background: #f5f5f7 !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 18px !important;
  padding: 16px !important;
  margin-bottom: 20px !important;
}

body.woocommerce-checkout .wc-stripe-express-checkout-divider {
  color: #86868b !important;
}

body.woocommerce-checkout .wc-stripe-express-checkout-divider::before,
body.woocommerce-checkout .wc-stripe-express-checkout-divider::after {
  background: #d2d2d7 !important;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 768px) {
  body.woocommerce-checkout .woocommerce {
    width: calc(100% - 32px);
    padding: 24px 0 60px;
  }

  body.woocommerce-cart .site-main {
    padding: var(--space-5) var(--space-4);
  }
}

/* ── iOS Safari: prevent input auto-zoom ─────────────────────────── */
@supports (-webkit-touch-callout: none) {
  body.woocommerce-checkout input,
  body.woocommerce-checkout textarea,
  body.woocommerce-checkout select,
  body.woocommerce-checkout button {
    font-size: 16px !important;
  }
}

/* ── Typography ──────────────────────────────────────────────────── */
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout input,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout button {
  font-family: var(--jdvd-form-font) !important;
}

/* ===================================================================
   Critical Apple Checkout Correction
   Restrained light trust surface: keylines, 56px fields, no heavy cards.
   =================================================================== */

body.woocommerce-checkout .jdvd-site-header {
  min-height: 52px !important;
  height: auto !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .jdvd-site-header .jdvd-container {
  min-height: 52px !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 18px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.woocommerce-checkout .jdvd-site-logo {
  line-height: 1 !important;
  letter-spacing: -0.014em !important;
}

body.woocommerce-checkout .jdvd-brand__icon {
  width: 30px !important;
  height: 30px !important;
}

body.woocommerce-checkout .jdvd-brand__text {
  font-size: 18px !important;
}

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .woocommerce form.checkout,
body.woocommerce-checkout .woocommerce .woocommerce-checkout-review-order,
body.woocommerce-checkout .cart_totals,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment .payment_box,
body.woocommerce-checkout .woocommerce-checkout-payment {
  box-shadow: none !important;
}

body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .woocommerce form.checkout {
  border: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields {
  background: #fff !important;
  color: #1d1d1f !important;
}

body.woocommerce-checkout #order_review,
body.woocommerce-checkout #payment,
body.woocommerce-checkout #express-checkout-element,
body.woocommerce-checkout #wc-stripe-express-checkout-element-wrapper,
body.woocommerce-checkout .wc-block-components-express-payment {
  background: #fff !important;
  border: 1px solid #d2d2d7 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

body.woocommerce-checkout #payment .payment_box {
  background: #f5f5f7 !important;
  border-top: 1px solid #d2d2d7 !important;
  color: #1d1d1f !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select,
body.woocommerce-checkout .select2-container--default .select2-selection--single,
body.woocommerce-checkout #stripe-card-element,
body.woocommerce-checkout #stripe-exp-element,
body.woocommerce-checkout #stripe-cvc-element,
body.woocommerce-checkout .wc-stripe-elements-field,
body.woocommerce-checkout .stripe-card-element,
body.woocommerce-checkout .StripeElement {
  min-height: 56px !important;
  border-radius: 12px !important;
  border-color: #86868b !important;
  background: #fff !important;
  color: #1d1d1f !important;
  font-family: var(--jdvd-font-text, var(--font-family)) !important;
  font-size: 17px !important;
  line-height: 1.2353641176 !important;
  letter-spacing: -0.022em !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea,
body.woocommerce-checkout .form-row select {
  padding: 17px 16px !important;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus,
body.woocommerce-checkout .form-row select:focus,
body.woocommerce-checkout .select2-container--open .select2-selection--single,
body.woocommerce-checkout .StripeElement--focus,
body.woocommerce-checkout .wc-stripe-elements-field:focus-within {
  border-color: var(--jdvd-royal-purple, #5C4485) !important;
  box-shadow: 0 0 0 3px rgba(92, 68, 133, 0.16) !important;
  outline: none !important;
}

body.woocommerce-checkout .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce-invalid select,
body.woocommerce-checkout .StripeElement--invalid {
  border-color: #ff3b30 !important;
  background: #fff2f2 !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-invalid label,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-error li {
  color: #b00020 !important;
}

body.woocommerce-checkout .woocommerce-message:focus,
body.woocommerce-checkout .woocommerce-info:focus,
body.woocommerce-checkout .woocommerce-error:focus,
body.woocommerce-checkout .woocommerce-NoticeGroup:focus,
body.woocommerce-checkout .woocommerce-message:focus-visible,
body.woocommerce-checkout .woocommerce-info:focus-visible,
body.woocommerce-checkout .woocommerce-error:focus-visible,
body.woocommerce-checkout .woocommerce-NoticeGroup:focus-visible {
  outline: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order table tr,
body.woocommerce-checkout .woocommerce table.shop_table tr {
  border-bottom: 1px solid #d2d2d7 !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order table tr:last-child,
body.woocommerce-checkout .woocommerce table.shop_table tr:last-child {
  border-bottom: 0 !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout .woocommerce #payment #place_order {
  min-height: 52px !important;
  border: 0 !important;
  border-radius: var(--jdvd-button-radius, 14px) !important;
  background: linear-gradient(135deg, var(--jdvd-royal-purple, #5c4485), #7a5ac8) !important;
  color: var(--jdvd-cream, #f6f2ea) !important;
  font-family: var(--jdvd-font-text, var(--font-family)) !important;
  font-size: 17px !important;
  line-height: 1.2353641176 !important;
  font-weight: 700 !important;
  letter-spacing: -0.022em !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce form.checkout_coupon .button,
body.woocommerce-checkout .checkout_coupon .button,
body.woocommerce-checkout .woocommerce-error .button,
body.woocommerce-checkout .woocommerce-error a.button,
body.woocommerce-checkout .woocommerce-message .button,
body.woocommerce-checkout .woocommerce-message a.button,
body.woocommerce-checkout .woocommerce-info .button {
  border-radius: var(--jdvd-button-radius, 14px) !important;
  box-shadow: none !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout .woocommerce #payment #place_order:hover {
  background: linear-gradient(135deg, #6a50a0, #8a6af0) !important;
  filter: none !important;
  transform: none !important;
  box-shadow: none !important;
}

body.woocommerce-checkout .apple-pay-button,
body.woocommerce-checkout .apple-pay-button-with-text,
body.woocommerce-checkout button[class*="apple-pay"],
body.woocommerce-checkout [class*="ApplePay"],
body.woocommerce-checkout [class*="apple-pay"] button {
  background: #000 !important;
  color: #fff !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  body.woocommerce-checkout .jdvd-site-header {
    min-height: 52px !important;
  }

  body.woocommerce-checkout .jdvd-site-header nav,
  body.woocommerce-checkout .jdvd-site-header .jdvd-nav {
    display: none !important;
  }

  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #payment,
  body.woocommerce-checkout #express-checkout-element,
  body.woocommerce-checkout #wc-stripe-express-checkout-element-wrapper {
    border-radius: 14px !important;
  }
}
