/* Classic WooCommerce checkout. Loaded by the plugin on every front-end page so custom checkout URLs work too. */
:is(form.checkout, form.woocommerce-checkout) {
  --ropay-ink: #071d42;
  --ropay-line: #d4dbe6;
  --ropay-focus: #7193c6;
  --ropay-panel: #f7f7f8;
}
/* The theme's classic checkout columns can leave billing fields in a half-width column. */
:is(form.checkout, form.woocommerce-checkout) .col2-set,
:is(form.checkout, form.woocommerce-checkout) .col2-set > :is(.col-1, .col-2) {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
:is(form.checkout, form.woocommerce-checkout) .col2-set > .col-2 { margin-top: 20px; }
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) .form-row {
  margin-bottom: 14px;
  max-width: none !important;
  box-sizing: border-box;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) .form-row .woocommerce-input-wrapper {
  display: block;
  width: 100%;
  max-width: none !important;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) .form-row label {
  color: var(--ropay-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) :is(input.input-text, textarea.input-text, select) {
  width: 100% !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  border: 1px solid var(--ropay-line) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  background: #fff !important;
  color: var(--ropay-ink) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  max-width: none !important;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) :is(input.input-text, select):not(textarea) {
  height: 42px !important;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) select {
  padding: 0 36px 0 12px !important;
  line-height: normal !important;
  vertical-align: middle;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) :is(input.input-text, textarea.input-text, select):focus {
  border-color: var(--ropay-focus) !important;
  outline: 2px solid rgba(113,147,198,.18) !important;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .select2-container .select2-selection--single,
:is(form.checkout, form.woocommerce-checkout) :is(#billing_country_field, #billing_state_field, #shipping_country_field, #shipping_state_field) .select2-selection--single {
  display: flex !important;
  align-items: center !important;
  height: 42px !important;
  min-height: 42px !important;
  border: 1px solid var(--ropay-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .select2-selection__rendered,
:is(form.checkout, form.woocommerce-checkout) :is(#billing_country_field, #billing_state_field, #shipping_country_field, #shipping_state_field) .select2-selection__rendered {
  height: auto !important;
  line-height: 1.4 !important;
  padding: 0 38px 0 12px !important;
}
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .select2-selection__arrow,
:is(form.checkout, form.woocommerce-checkout) :is(#billing_country_field, #billing_state_field, #shipping_country_field, #shipping_state_field) .select2-selection__arrow {
  height: 40px !important;
  top: 0 !important;
  right: 8px !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) {
  background: transparent !important;
  border: 1px solid #dce1e9 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card {
  padding: 16px 20px !important;
  background: var(--ropay-panel) !important;
  border: 0 !important;
  box-shadow: none !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card > label {
  display: block;
  margin: 0 0 12px !important;
  color: var(--ropay-ink) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card > .payment_box {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ropay-ink) !important;
  box-sizing: border-box !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card > .payment_box::before,
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card > .payment_box::after {
  display: none !important;
  content: none !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card:only-child > label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card:not(:only-child) .ropay-title { display: none; }
:is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card:not(:only-child) .ropay-pay-head { justify-content: flex-end; }
:is(form.checkout, form.woocommerce-checkout) #payment .payment_method_ropay_custom_card .ropay-payment-ui {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ropay-ink);
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-pay-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-title {
  color: var(--ropay-ink);
  font-size: 20px;
  font-weight: 700;
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons { display: flex; align-items: center; gap: 8px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img { display: block; width: 38px; height: 26px; object-fit: contain; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui :is(.ropay-badge, .ropay-secure-note) { display: none; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-field { margin: 0; min-width: 0; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-field:not(.ropay-field-half) { grid-column: 1 / -1; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-field label {
  display: block;
  margin: 0 0 7px;
  color: var(--ropay-ink);
  font-size: 14px;
  font-weight: 600;
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box input[data-ropay-card-field] {
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid var(--ropay-line) !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--ropay-ink) !important;
  font-size: 14px !important;
  box-sizing: border-box !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box input[data-ropay-card-field]:focus {
  border-color: var(--ropay-focus) !important;
  outline: 2px solid rgba(113,147,198,.18) !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box input[data-ropay-card-field].ropay-invalid { border-color: #e11d48 !important; }
/* Error text remains available when validation fails; empty messages take no space. */
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-error:empty { display: none; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-error:not(:empty) { display: block; color: #c5223d; margin-top: 5px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box input[data-ropay-card-field]::placeholder,
:is(form.checkout, form.woocommerce-checkout) :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .input-text::placeholder { color: #8292b4; opacity: 1; }
:is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) .place-order {
  padding: 20px !important;
  border-top: 1px solid #dce1e9 !important;
  background: var(--ropay-panel) !important;
}
:is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) #place_order {
  display: block;
  float: none !important;
  width: 100% !important;
  min-height: 54px;
  border-radius: 0 !important;
  color: #fff !important;
  background: #00c84f !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-align: center;
}
@media (max-width: 520px) {
  :is(form.checkout, form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card { padding: 16px !important; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons { gap: 4px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img { width: 32px; height: 23px; }
}

/* Payment method preview layout, aligned with modern hosted checkout patterns. */
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui { color:#111827; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-list { overflow:hidden; border:1px solid #d8dce3; border-radius:16px; background:#fff; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option { position:relative; display:flex; align-items:center; gap:12px; min-height:72px; padding:14px 18px; margin:0; border:0; border-bottom:1px solid #e5e7eb; background:#fff; cursor:pointer; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option:last-child { border-bottom:0; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option.is-selected { background:#f5f7ff; box-shadow:inset 0 0 0 2px #435fc5; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option input { position:absolute; width:1px; height:1px; opacity:0; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-radio { display:grid; place-items:center; flex:0 0 20px; width:20px; height:20px; border:2px solid #cbd0d8; border-radius:50%; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option.is-selected .ropay-method-radio { border-color:#405bc2; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option.is-selected .ropay-method-radio:after { width:10px; height:10px; border-radius:50%; background:#405bc2; content:""; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-name { color:#111827; font-size:18px; font-weight:700; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons { gap:7px; margin-left:auto; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img { width:46px; height:30px; padding:2px; border:1px solid #e5e7eb; border-radius:5px; background:#fff; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-more-brands { display:grid; place-items:center; height:30px; padding:0 8px; border:1px solid #e5e7eb; border-radius:5px; color:#405bc2; background:#fff; font-size:13px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-paypal-wordmark,
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-paypal-preview-mark { margin-left:auto; color:#253b80; font-size:21px; font-style:italic; font-weight:800; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-paypal-wordmark span,
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-paypal-preview-mark span { color:#179bd7; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-panel { padding:20px; border:1px solid #e0e3e8; border-top:0; background:#f7f7f8; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-panel[hidden] { display:none !important; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-card-panel { border-radius:0 0 16px 16px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-paypal-panel { min-height:170px; text-align:center; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-paypal-preview-mark { margin:12px auto; font-size:30px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-paypal-panel p { margin:8px 0; color:#5b6472; font-size:14px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box { gap:18px 14px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box input[data-ropay-card-field] { height:50px !important; min-height:50px !important; padding:0 16px !important; border-radius:10px !important; font-size:16px !important; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-field label { margin-bottom:8px; font-size:14px; }
@media (max-width:600px) {
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option { gap:9px; min-height:64px; padding:12px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-name { font-size:16px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons { gap:4px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img { width:34px; height:24px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-more-brands { height:24px; padding:0 5px; font-size:11px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-panel { padding:15px 12px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box { grid-template-columns:minmax(0,1fr); gap:14px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-field.ropay-field-half { grid-column:1/-1; }
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-card-panel .ropay-pay-head { display:none !important; }

/* Checkout polish: clear payment hierarchy, branded action, compact order thumbnails. */
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-list { border-color:#d8e0e8; border-radius:14px; box-shadow:0 8px 24px rgba(15,39,64,.05); }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-group + .ropay-method-group { border-top:1px solid #e3e8ee; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option { min-height:68px; padding:14px 18px; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option.is-selected { box-shadow:inset 0 0 0 2px #173b5e; background:#f4f7fa; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option.is-selected .ropay-method-radio { border-color:#173b5e; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option.is-selected .ropay-method-radio:after { background:#173b5e; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-panel { padding:24px; border:0; background:#f7f9fb; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-card-panel { border-top:1px solid #e3e8ee; }
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-card-box { padding:2px 0; }
:is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) .place-order { padding:20px 24px !important; border-top:1px solid #e3e8ee !important; background:#fff !important; }
:is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) #place_order { min-height:56px; border:1px solid #173b5e !important; border-radius:8px !important; background:#173b5e !important; box-shadow:0 4px 12px rgba(23,59,94,.18); color:#fff !important; font-size:17px !important; letter-spacing:.01em; transition:background .18s ease, box-shadow .18s ease, transform .18s ease; }
:is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) #place_order:hover { background:#0f2d49 !important; box-shadow:0 6px 16px rgba(23,59,94,.24); transform:translateY(-1px); }
:is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) #place_order:focus-visible { outline:3px solid rgba(23,59,94,.25); outline-offset:3px; }
:is(form.checkout, form.woocommerce-checkout) .ropay-order-item { display:flex; align-items:center; gap:12px; min-width:0; }
:is(form.checkout, form.woocommerce-checkout) .ropay-order-item-image { display:block; flex:0 0 58px; width:58px; height:58px; object-fit:cover; border:1px solid #e0e5eb; border-radius:8px; background:#fff; }
:is(form.checkout, form.woocommerce-checkout) .ropay-order-item-name { min-width:0; }
@media(max-width:600px) {
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-option { min-height:62px; padding:12px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img { width:32px; height:23px; }
  :is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-panel { padding:16px 12px; }
  :is(form.checkout, form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) .place-order { padding:14px 12px !important; }
  :is(form.checkout, form.woocommerce-checkout) .ropay-order-item-image { flex-basis:48px; width:48px; height:48px; }
}
:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-group { margin:0; padding:0; }

:is(form.checkout, form.woocommerce-checkout) #payment .ropay-method-group { display:block; }

body.flux-checkout-page .flux-checkout-main { display:block; min-height:0; padding:48px 0 72px; background:#fff; }
body.flux-checkout-page .flux-checkout-main .flux-shop-container { width:min(100% - 48px,1240px)!important; max-width:1240px!important; }
body.flux-checkout-page .flux-checkout-main h1 { margin-bottom:28px; font-size:clamp(32px,4vw,44px); }
:is(form.checkout,form.woocommerce-checkout) { display:grid!important; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); grid-template-areas:"customer summary-title" "payment summary-table"; align-items:start; column-gap:clamp(32px,5vw,72px); width:100%; max-width:none!important; margin:0 auto; color:#202b38; }
:is(form.checkout,form.woocommerce-checkout) #customer_details { grid-area:customer; min-width:0; }
:is(form.checkout,form.woocommerce-checkout) #order_review_heading { grid-area:summary-title; margin:0; padding:0 0 14px; color:#202b38; font-size:19px; font-weight:650; }
:is(form.checkout,form.woocommerce-checkout) #order_review { display:contents; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table { grid-area:summary-table; width:100%; margin:0; padding:16px; border:1px solid #e1e5ea; border-radius:14px; border-spacing:0; background:#f7f8fa; box-shadow:0 8px 28px rgba(20,35,52,.045); }
:is(form.checkout,form.woocommerce-checkout) #order_review > #payment { grid-area:payment; min-width:0; margin-top:28px; }
:is(form.checkout,form.woocommerce-checkout) #customer_details > :is(.col-1,.col-2) { margin:0; }
:is(form.checkout,form.woocommerce-checkout) #customer_details :is(.woocommerce-billing-fields,.woocommerce-shipping-fields,.woocommerce-additional-fields) > h3 { margin:24px 0 14px; color:#202b38; font-size:19px; font-weight:650; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .woocommerce-billing-fields > h3:first-child { margin-top:0; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .woocommerce-billing-fields__field-wrapper,:is(form.checkout,form.woocommerce-checkout) #customer_details .woocommerce-shipping-fields__field-wrapper { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 10px; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .form-row { float:none!important; width:100%!important; margin:0!important; padding:0!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .form-row-wide,:is(form.checkout,form.woocommerce-checkout) #customer_details .form-row:has(>label abbr),:is(form.checkout,form.woocommerce-checkout) #customer_details :is(#billing_country_field,#billing_address_1_field,#billing_address_2_field,#billing_email_field,#billing_phone_field) { grid-column:1/-1; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .form-row>label { display:block; margin:0 0 5px; color:#4c5866; font-size:12px; font-weight:550; }
:is(form.checkout,form.woocommerce-checkout) #customer_details :is(input.input-text,textarea.input-text,select,.select2-selection--single) { width:100%!important; min-height:50px!important; height:50px!important; padding:0 14px!important; border:1px solid #d5d9df!important; border-radius:12px!important; background:#fff!important; color:#263241!important; box-shadow:0 1px 2px rgba(20,35,52,.025)!important; font-size:14px!important; box-sizing:border-box!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details textarea.input-text { height:auto!important; min-height:100px!important; padding:13px 14px!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details :is(input.input-text,textarea.input-text,select):focus,:is(form.checkout,form.woocommerce-checkout) #customer_details .select2-container--focus .select2-selection--single { border-color:#5064c7!important; outline:0!important; box-shadow:0 0 0 3px rgba(80,100,199,.12)!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .select2-container { width:100%!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .select2-selection--single { display:flex!important; align-items:center!important; padding:0!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .select2-selection__rendered { padding:0 38px 0 14px!important; color:#263241!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details .select2-selection__arrow { top:5px!important; right:8px!important; height:40px!important; }:is(form.checkout,form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) { padding:0!important; overflow:hidden; border:1px solid #dfe3e8!important; border-radius:14px!important; background:#fff!important; box-shadow:0 8px 28px rgba(20,35,52,.045)!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .payment_methods { margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card { margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card>:is(input,label) { display:none!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .payment_methods li.payment_method_ropay_custom_card>.payment_box { display:block!important; margin:0!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-list { border:0!important; border-radius:0!important; box-shadow:none!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option { min-height:62px; padding:12px 16px; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option.is-selected { background:#f3f5ff; box-shadow:inset 0 0 0 2px #4058bd; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option.is-selected .ropay-method-radio { border-color:#4058bd; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option.is-selected .ropay-method-radio:after { background:#4058bd; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-name { font-size:15px; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-panel { padding:18px 16px; border:0; background:#f7f7f8; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel { border-top:1px solid #e2e5ea; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box { gap:12px 10px; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-field label { margin-bottom:5px; color:#4c5866; font-size:12px; font-weight:550; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box input[data-ropay-card-field] { height:48px!important; min-height:48px!important; padding:0 13px!important; border:1px solid #d5d9df!important; border-radius:12px!important; font-size:14px!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box input[data-ropay-card-field]:focus { border-color:#5064c7!important; outline:0!important; box-shadow:0 0 0 3px rgba(80,100,199,.12)!important; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table :is(th,td) { padding:12px 9px; border:0; border-bottom:1px solid #e4e7eb; background:transparent; color:#35404d; font-size:13px; vertical-align:middle; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table thead th { color:#66717e; font-size:12px; font-weight:600; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table tfoot :is(th,td) { font-weight:600; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table tfoot .order-total :is(th,td) { padding-top:16px; border-bottom:0; color:#202b38; font-size:16px; }
:is(form.checkout,form.woocommerce-checkout) .ropay-order-item { align-items:flex-start; gap:10px; }
:is(form.checkout,form.woocommerce-checkout) .ropay-order-item-image { flex-basis:54px; width:54px; height:54px; border-radius:9px; }
:is(form.checkout,form.woocommerce-checkout) #payment .place-order { margin:0!important; padding:18px 16px!important; border-top:1px solid #e4e7eb!important; background:#fff!important; }
:is(form.checkout,form.woocommerce-checkout) #payment #place_order { min-height:52px; border:0!important; border-radius:10px!important; background:#4058bd!important; box-shadow:none!important; color:#fff!important; font-size:15px!important; font-weight:650!important; }
:is(form.checkout,form.woocommerce-checkout) #payment #place_order:hover { background:#334aa8!important; transform:none; }
@media(max-width:800px) {
  body.flux-checkout-page .flux-checkout-main { padding:24px 0 44px; }
  body.flux-checkout-page .flux-checkout-main .flux-shop-container { width:min(100% - 32px,620px)!important; }
  body.flux-checkout-page .flux-checkout-main .flux-kicker { display:none; }
  body.flux-checkout-page .flux-checkout-main h1 { margin-bottom:18px; font-size:30px; }
  :is(form.checkout,form.woocommerce-checkout) { grid-template-columns:minmax(0,1fr); grid-template-areas:"summary-title" "summary-table" "customer" "payment"; }
  :is(form.checkout,form.woocommerce-checkout) #order_review_heading { padding-bottom:10px; font-size:16px; }
  :is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table { margin-bottom:24px; padding:10px; }
  :is(form.checkout,form.woocommerce-checkout) #customer_details .woocommerce-billing-fields__field-wrapper { gap:10px 8px; }
  :is(form.checkout,form.woocommerce-checkout) #payment { margin-top:22px!important; }
  :is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option { min-height:58px; padding:11px 12px; }
  :is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons { gap:4px; }
  :is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img { width:32px; height:23px; }
  :is(form.checkout,form.woocommerce-checkout) #payment .ropay-more-brands { height:23px; padding:0 5px; font-size:11px; }
  :is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-panel { padding:15px 12px; }
  :is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-box { grid-template-columns:minmax(0,1fr); gap:11px; }
  :is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-card-field.ropay-field-half { grid-column:1/-1; }
}:is(form.checkout,form.woocommerce-checkout) #customer_details .form-row:not(#billing_country_field):not(#billing_state_field) > label { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
:is(form.checkout,form.woocommerce-checkout) #customer_details :is(input.input-text,textarea.input-text)::placeholder { color:#737d89!important; opacity:1; }
:is(form.checkout_coupon) { max-width:100%; margin:0 0 22px; padding:14px; border:1px solid #e1e5ea; border-radius:14px; background:#f7f8fa; }
:is(form.checkout_coupon) :is(input.input-text,button) { min-height:46px; border:1px solid #d5d9df; border-radius:10px; }
:is(form.checkout_coupon) input.input-text { padding:0 13px; background:#fff; }
:is(form.checkout_coupon) button { padding:0 18px; background:#4058bd; color:#fff; }:is(form.checkout,form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) .place-order { padding:18px 16px!important; border-top:1px solid #e4e7eb!important; background:#fff!important; }
:is(form.checkout,form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) #place_order { min-height:52px; border:0!important; border-radius:10px!important; background:#4058bd!important; box-shadow:none!important; color:#fff!important; font-size:15px!important; font-weight:650!important; }
:is(form.checkout,form.woocommerce-checkout) #payment:has(.payment_method_ropay_custom_card) #place_order:hover { background:#334aa8!important; transform:none; }
body.flux-checkout-page { overflow-x:hidden; }
body.flux-checkout-page .flux-checkout-main .flux-shop-container,:is(form.checkout,form.woocommerce-checkout),:is(form.checkout,form.woocommerce-checkout) #customer_details,:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table { box-sizing:border-box!important; min-width:0; }
@media(min-width:801px) {
  :is(form.checkout,form.woocommerce-checkout) { grid-template-areas:none; grid-template-rows:auto auto; }
  :is(form.checkout,form.woocommerce-checkout) #customer_details { grid-column:1; grid-row:1; }
  :is(form.checkout,form.woocommerce-checkout) #order_review_heading { grid-column:2; grid-row:1; }
  :is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table { grid-area:auto; grid-column:2; grid-row:1; box-sizing:border-box!important; margin-top:36px; }
  :is(form.checkout,form.woocommerce-checkout) #order_review > #payment { grid-area:auto; grid-column:1; grid-row:2; }
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-list { overflow:visible; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option input { top:50%; left:16px; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; pointer-events:none; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-group:first-child .ropay-method-option { border-radius:13px 13px 0 0; }
@media(max-width:800px) {
  :is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table { grid-area:summary-table; grid-column:auto; grid-row:auto; margin-top:0; box-sizing:border-box!important; }
  :is(form.checkout,form.woocommerce-checkout) #order_review > #payment { grid-area:payment; grid-column:auto; grid-row:auto; }
}
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table { table-layout:fixed; box-sizing:border-box!important; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table th.product-name { width:72%; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table th.product-total { width:28%; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table td.product-name { position:relative; padding-right:32px; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .ropay-order-item { display:flex; align-items:flex-start; width:100%; min-width:0; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .ropay-order-item-image { flex:0 0 54px; width:54px; height:54px; object-fit:cover; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .ropay-order-item-details { display:flex; flex:1 1 auto; flex-direction:column; gap:5px; min-width:0; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .ropay-order-item-name { overflow-wrap:anywhere; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .product-quantity.ropay-quantity-badge { position:absolute; top:6px; left:52px; display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border:2px solid #f7f8fa; border-radius:999px; background:#263241; color:#fff; font-size:11px; line-height:1; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .ropay-order-item-prices { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; font-size:12px; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .ropay-order-item-prices del { color:#8a929d; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .ropay-order-item-prices ins { color:#202b38; font-weight:650; text-decoration:none; }
@media(max-width:800px) {
  body.flux-checkout-page .flux-checkout-main .flux-shop-container { width:100%!important; max-width:620px!important; padding-right:16px; padding-left:16px; }
}
html,body.flux-checkout-page { width:100%; max-width:100%; overflow-x:clip; }
body.flux-checkout-page .flux-checkout-main { width:100%; max-width:100%; overflow-x:clip; }
body.flux-checkout-page .flux-checkout-main > .flux-shop-container { width:calc(100% - 48px)!important; max-width:1240px!important; margin-right:auto!important; margin-left:auto!important; padding-right:0; padding-left:0; box-sizing:border-box!important; }
body.flux-checkout-page .flux-shop-footer .flux-footer-grid { display:none!important; }
body.flux-checkout-page .flux-shop-footer { padding:18px 0!important; }
body.flux-checkout-page .flux-shop-footer .flux-copyright { padding-top:0!important; border-top:0!important; text-align:center; color:#6b7280; font-size:12px; }
:is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table .product-quantity:not(.ropay-quantity-badge) { display:none!important; }
@media(max-width:800px) {
 body.flux-checkout-page .flux-checkout-main > .flux-shop-container { width:100%!important; max-width:620px!important; padding-right:16px!important; padding-left:16px!important; }
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-box.is-skeleton-loading { position:relative; min-height:220px; overflow:hidden; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-box.is-skeleton-loading > .ropay-card-field { visibility:hidden; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-box.is-skeleton-loading::after { content:""; position:absolute; inset:0; border-radius:8px; background:linear-gradient(#e7eaf0 0 14px,transparent 14px 23px,#eef0f4 23px 68px,transparent 68px 84px,#e7eaf0 84px 98px,transparent 98px 107px,#eef0f4 107px 152px,transparent 152px 168px,#e7eaf0 168px 182px,transparent 182px 191px,#eef0f4 191px 236px); background-size:100% 236px; animation:ropay-skeleton-pulse 1s ease-in-out infinite alternate; pointer-events:none; }
@keyframes ropay-skeleton-pulse { from { opacity:.55; } to { opacity:1; } }
@media(max-width:800px) {
  :is(form.checkout,form.woocommerce-checkout) #order_review_heading { display:flex; align-items:center; justify-content:space-between; cursor:pointer; }
  :is(form.checkout,form.woocommerce-checkout) #order_review_heading::after { content:""; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .2s ease; }
  :is(form.checkout,form.woocommerce-checkout) #order_review_heading[aria-expanded="true"]::after { transform:rotate(225deg); }
  :is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table[hidden] { display:none!important; }
}@media(max-width:800px) {
  :is(form.checkout,form.woocommerce-checkout) { grid-template-columns:minmax(0,1fr)!important; grid-template-rows:auto auto auto auto!important; grid-template-areas:"summary-title" "summary-table" "customer" "payment"!important; }
  :is(form.checkout,form.woocommerce-checkout) #order_review_heading { grid-area:summary-title!important; grid-column:1!important; grid-row:1!important; }
  :is(form.checkout,form.woocommerce-checkout) #order_review > .woocommerce-checkout-review-order-table { grid-area:summary-table!important; grid-column:1!important; grid-row:2!important; }
  :is(form.checkout,form.woocommerce-checkout) #customer_details { grid-area:customer!important; grid-column:1!important; grid-row:3!important; }
  :is(form.checkout,form.woocommerce-checkout) #order_review > #payment { grid-area:payment!important; grid-column:1!important; grid-row:4!important; margin-top:24px!important; }
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-input-wrap { position:relative; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-input-wrap .ropay-field-icon { position:absolute; z-index:2; top:50%; right:14px; display:grid; place-items:center; width:22px; height:22px; padding:0; transform:translateY(-50%); border:0; background:transparent; color:#718096; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-field-icon svg { display:block; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-box input[data-ropay-card-field][data-ropay-card-field="ropay_card"] { padding-right:44px!important; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-help-icon { border:1.5px solid #8a96a8!important; border-radius:50%; color:#69778a!important; font:600 13px/1 sans-serif; cursor:help; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-help-icon:focus-visible { outline:2px solid #5064c7; outline-offset:2px; }
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-help-icon:hover { color:#4058bd!important; border-color:#4058bd!important; }
/* Desktop sticky order summary. Keep the heading in normal flow so it cannot cover the card edge. */
@media(min-width:801px){
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout) #order_review_heading{position:relative!important;top:auto!important;z-index:1;align-self:start;padding:0 0 14px;background:transparent}
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout) #order_review>.woocommerce-checkout-review-order-table{position:sticky!important;top:92px;z-index:10;align-self:start;margin-top:48px!important}
}
/* Independent checkout columns: order height must not push payment down. */
:is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left{min-width:0}
:is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary{display:block!important;min-width:0}
:is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left>#customer_details,
:is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left>#payment{width:100%;min-width:0}
@media(min-width:801px){
 :is(form.checkout,form.woocommerce-checkout){display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr)!important;grid-template-rows:auto!important;grid-template-areas:none!important;align-items:start!important;column-gap:clamp(32px,5vw,72px)}
 :is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left{grid-column:1!important;grid-row:1!important}
 :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary{grid-column:2!important;grid-row:1!important;position:sticky!important;top:92px;align-self:start;z-index:10}
 :is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left>#customer_details{display:block!important}
 :is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left>#payment{display:block!important;margin-top:28px!important}
 :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>#order_review_heading{position:relative!important;top:auto!important;z-index:auto;margin:0!important;padding:0 0 14px!important;background:transparent}
 :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>.woocommerce-checkout-review-order-table{position:relative!important;top:auto!important;z-index:auto;width:100%;margin:0!important}
}
@media(max-width:800px){
 :is(form.checkout,form.woocommerce-checkout){display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;grid-template-areas:none!important}
 :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary{grid-column:1!important;grid-row:1!important;position:relative!important;top:auto!important}
 :is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left{grid-column:1!important;grid-row:2!important}
 :is(form.checkout,form.woocommerce-checkout)>.ropay-checkout-left>#payment{margin-top:24px!important}
 :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>#order_review_heading{margin:0!important;padding:0 0 14px!important}
 :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>.woocommerce-checkout-review-order-table{margin:0!important}
}
/* Checkout mobile finishing pass: overflow, compact summary and PayPal test modal. */
body.flux-checkout-page{width:100%;max-width:100%;overflow-x:hidden!important}
body.flux-checkout-page .flux-shop-header,
body.flux-checkout-page .flux-checkout-main,
body.flux-checkout-page .flux-shop-footer,
body.flux-checkout-page .flux-checkout-main>.flux-shop-container,
body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout),
body.flux-checkout-page .ropay-checkout-left,
body.flux-checkout-page #order_review.ropay-checkout-summary,
body.flux-checkout-page #customer_details,
body.flux-checkout-page #payment,
body.flux-checkout-page .ropay-payment-ui,
body.flux-checkout-page .ropay-method-list{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
body.flux-checkout-page :is(input,select,textarea,.select2-container){max-width:100%!important;box-sizing:border-box!important}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option{max-width:100%;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;pointer-events:auto!important}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option>*{min-width:0}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option input{pointer-events:none}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons{min-width:0;flex-shrink:1;justify-content:flex-end}
.ropay-summary-compact{display:none}
body.ropay-modal-open{overflow:hidden!important}
.ropay-paypal-test-modal{position:fixed;z-index:1000000;inset:0;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.ropay-paypal-test-modal.is-visible{opacity:1;visibility:visible}
.ropay-paypal-test-backdrop{position:absolute;inset:0;background:rgba(7,22,39,.56);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ropay-paypal-test-dialog{position:relative;width:min(420px,100%);padding:34px 30px 28px;border:1px solid rgba(255,255,255,.72);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(7,22,39,.28);text-align:center;transform:translateY(10px) scale(.98);transition:transform .2s ease}
.ropay-paypal-test-modal.is-visible .ropay-paypal-test-dialog{transform:none}
.ropay-paypal-test-close{position:absolute;top:12px;right:14px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#f1f4f7;color:#536273;font:400 24px/1 Arial;cursor:pointer}
.ropay-paypal-test-brand{margin:0 auto 20px;color:#253b80;font-size:30px;font-style:italic;font-weight:800}
.ropay-paypal-test-brand span{color:#179bd7}
.ropay-paypal-test-spinner{width:48px;height:48px;margin:0 auto 20px;border:4px solid #dce5f4;border-top-color:#4058bd;border-radius:50%;animation:ropay-paypal-spin .8s linear infinite}
.ropay-paypal-test-result{display:none;place-items:center;width:48px;height:48px;margin:0 auto 20px;border-radius:50%;background:#fff1f1;color:#c83d4c;font-size:25px;font-weight:800}
.ropay-paypal-test-dialog h3{margin:0 0 10px;color:#17283a;font-size:21px;line-height:1.3}
.ropay-paypal-test-message{margin:0 auto;color:#647181;font-size:14px;line-height:1.6}
.ropay-paypal-test-actions{display:flex;gap:10px;margin-top:24px}
.ropay-paypal-test-actions[hidden]{display:none!important}
.ropay-paypal-test-actions button{flex:1;min-height:44px;padding:9px 14px;border:1px solid #4058bd;border-radius:9px;background:#4058bd;color:#fff;font-size:13px;font-weight:700;cursor:pointer}
.ropay-paypal-test-actions .ropay-paypal-dismiss{border-color:#d6dce3;background:#fff;color:#435264}
.ropay-paypal-test-modal.has-error .ropay-paypal-test-spinner{display:none}
.ropay-paypal-test-modal.has-error .ropay-paypal-test-result{display:grid}
@keyframes ropay-paypal-spin{to{transform:rotate(360deg)}}
@media(min-width:801px){
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>#order_review_heading{margin:0!important;padding:0 0 14px!important;line-height:1.35}
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>.woocommerce-checkout-review-order-table{position:relative!important;top:auto!important;margin:0!important}
}
@media(max-width:800px){
 html{max-width:100%;overflow-x:hidden!important}
 body.flux-checkout-page .flux-checkout-main>.flux-shop-container{width:100%!important;max-width:100%!important;padding-right:16px!important;padding-left:16px!important}
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary{overflow:visible}
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>#order_review_heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;margin:0!important;padding:15px 16px!important;border:1px solid #dfe5eb;border-radius:14px;background:#fff;box-shadow:0 7px 22px rgba(20,35,52,.06);cursor:pointer}
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>#order_review_heading::after{grid-column:2;grid-row:1;width:8px;height:8px;margin-right:3px}
 #order_review_heading .ropay-summary-title{grid-column:1;grid-row:1;color:#17283a;font-size:17px;font-weight:700;line-height:1.3}
 #order_review_heading .ropay-summary-compact{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0}
 .ropay-summary-thumb{position:relative;display:block;width:46px;height:46px}
 .ropay-summary-thumb img{display:block;width:46px;height:46px;border:1px solid #dfe5ea;border-radius:8px;background:#f7f8fa;object-fit:contain}
 .ropay-summary-thumb b{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#202d3b;color:#fff;font-size:10px;line-height:1}
 .ropay-summary-meta{display:flex;flex-direction:column;gap:3px;min-width:0;color:#17283a;text-align:left}
 .ropay-summary-meta strong{font-size:13px}
 .ropay-summary-meta small{color:#74808d;font-size:11px;font-weight:500}
 .ropay-summary-prices{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}
 .ropay-summary-prices del{color:#8c96a1;font-size:10px;font-weight:500}
 .ropay-summary-prices strong{color:#17283a;font-size:15px;font-weight:750}
 #order_review_heading[aria-expanded=true]{border-radius:14px 14px 0 0;box-shadow:none}
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>.woocommerce-checkout-review-order-table{width:100%!important;max-width:100%!important;margin:0!important;border-top:0!important;border-radius:0 0 14px 14px!important;table-layout:fixed!important}
 body.flux-checkout-page :is(form.checkout,form.woocommerce-checkout)>#order_review.ropay-checkout-summary>.woocommerce-checkout-review-order-table[hidden]{display:none!important}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option{padding-right:12px!important;padding-left:12px!important}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-name{flex:0 1 auto;white-space:nowrap}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-paypal-wordmark{flex:0 0 auto;font-size:20px}
}
@media(max-width:420px){
 body.flux-checkout-page .flux-checkout-main>.flux-shop-container{padding-right:12px!important;padding-left:12px!important}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-option{gap:8px!important;padding:11px 10px!important}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-method-name{font-size:15px!important}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons{gap:3px!important}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img{width:29px!important;height:22px!important}
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-more-brands{height:22px!important;padding:0 4px!important;font-size:10px!important}
 .ropay-paypal-test-dialog{padding:32px 20px 22px}
 .ropay-paypal-test-actions{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.ropay-paypal-test-modal,.ropay-paypal-test-dialog{transition:none}.ropay-paypal-test-spinner{animation-duration:1.5s}}
/* Final dynamic viewport containment. */
html.ropay-checkout-viewport,
html.ropay-checkout-viewport body.flux-checkout-page{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overflow-x:clip!important;overscroll-behavior-x:none}
html.ropay-checkout-viewport body.flux-checkout-page :is(.flux-shop-header,.flux-checkout-main,.flux-shop-footer,.flux-checkout-main>.flux-shop-container,form.checkout,form.woocommerce-checkout,.ropay-checkout-left,#order_review.ropay-checkout-summary,#customer_details,#payment,.ropay-payment-ui,.ropay-method-list){max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
html.ropay-checkout-viewport body.flux-checkout-page :is(#ropay-verify-modal,.ropay-paypal-test-modal){left:0!important;right:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}
html.ropay-checkout-viewport body.flux-checkout-page :is(#ropay-verify-modal .ropay-verify-box,.ropay-paypal-test-dialog){max-width:calc(100% - 28px)!important;box-sizing:border-box!important}
html.ropay-checkout-viewport body.flux-checkout-page .ropay-card-brand-indicator{max-width:54px!important}
@media(max-width:800px){
 html.ropay-checkout-viewport body.flux-checkout-page .flux-checkout-main{contain:inline-size}
 html.ropay-checkout-viewport body.flux-checkout-page .flux-checkout-main>.flux-shop-container{margin-right:0!important;margin-left:0!important}
}

/* Keep the mobile containment fix without stretching the desktop checkout. */
@media(min-width:801px){
 html.ropay-checkout-viewport body.flux-checkout-page .flux-checkout-main>.flux-shop-container{
  width:min(calc(100% - 48px),1240px)!important;
  max-width:1240px!important;
  margin-right:auto!important;
  margin-left:auto!important;
 }
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-payment-ui .ropay-brand-icons img{
  width:54px;
  height:36px;
  padding:3px;
  border:1px solid #dce2e8;
  border-radius:7px;
  background:#fff;
  box-sizing:border-box;
  object-fit:contain;
  object-position:50% 50%;
 }
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-more-brands{
  height:36px;
  border-color:#dce2e8;
  border-radius:7px;
 }
}
/* Keep Ropay-enabled shipping fields below the payment and card form. */
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields { display:block!important; width:100%; min-width:0; margin-top:14px; padding:0; }
:is(form.checkout,form.woocommerce-checkout) #ship-to-different-address { display:block!important; margin:0; padding:16px; border:1px solid #e1e5ea; border-radius:12px; background:#f7f8fa; }
:is(form.checkout,form.woocommerce-checkout) #ship-to-different-address .woocommerce-form__label-for-checkbox { display:flex; align-items:center; gap:10px; margin:0; color:#202b38; font-size:14px; font-weight:600; line-height:1.5; cursor:pointer; }
:is(form.checkout,form.woocommerce-checkout) #ship-to-different-address-checkbox { flex:none; width:20px; height:20px; margin:0; accent-color:#4058bd; }
:is(form.checkout,form.woocommerce-checkout) .woocommerce-shipping-fields .shipping_address { margin-top:14px; padding:16px; border:1px solid #e1e5ea; border-radius:12px; background:#fff; }
:is(form.checkout,form.woocommerce-checkout) .woocommerce-shipping-fields .shipping_address>h3 { margin:0 0 14px; font-size:18px; font-weight:650; }

:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:12px 10px;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .form-row {
 float:none!important;
 width:100%!important;
 margin:0!important;
 padding:0!important;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .form-row-wide,
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .form-row:has(>label abbr),
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields :is(#shipping_country_field,#shipping_address_1_field,#shipping_address_2_field) {
 grid-column:1/-1;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .form-row>label {
 display:block;
 margin:0 0 5px;
 color:#4c5866;
 font-size:12px;
 font-weight:550;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields :is(input.input-text,textarea.input-text,select,.select2-selection--single) {
 width:100%!important;
 min-height:50px!important;
 height:50px!important;
 padding:0 14px!important;
 border:1px solid #d5d9df!important;
 border-radius:12px!important;
 background:#fff!important;
 color:#263241!important;
 box-shadow:0 1px 2px rgba(20,35,52,.025)!important;
 font-size:14px!important;
 box-sizing:border-box!important;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields :is(input.input-text,textarea.input-text)::placeholder {
 color:#737d89!important;
 opacity:1;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields :is(input.input-text,textarea.input-text,select):focus,
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .select2-container--focus .select2-selection--single {
 border-color:#5064c7!important;
 outline:0!important;
 box-shadow:0 0 0 3px rgba(80,100,199,.12)!important;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .select2-container {
 width:100%!important;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .select2-selection--single {
 display:flex!important;
 align-items:center!important;
 padding:0!important;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .select2-selection__rendered {
 padding:0 38px 0 14px!important;
 color:#263241!important;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .select2-selection__arrow {
 top:5px!important;
 right:8px!important;
 height:40px!important;
}
:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .form-row:not(#shipping_country_field):not(#shipping_state_field)>label {
 position:absolute!important;
 width:1px!important;
 height:1px!important;
 padding:0!important;
 margin:-1px!important;
 overflow:hidden!important;
 clip:rect(0,0,0,0)!important;
 white-space:nowrap!important;
 border:0!important;
}
@media(max-width:800px) {
 :is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields .woocommerce-shipping-fields__field-wrapper { gap:10px 8px; }
}:is(form.checkout,form.woocommerce-checkout) #payment .ropay-card-panel > .woocommerce-shipping-fields {
 grid-column:1/-1;
 margin-top:4px;
 padding-top:14px;
 border-top:1px solid #e4e7eb;
}