/* Only the private IBK test flow. No theme or vendor file overrides. */
.ibk-payment-test { --ibk-teal:#46a4b5; --ibk-deep:#267888; --ibk-ink:#29344b; --ibk-line:#dce9ec; --ibk-soft:#f1f8f9; }
.ibk-payment-test #rtec-form .ibk-payment-choice { margin:40px 0 48px; padding:0 20px; border:0; min-width:0; }
.ibk-payment-test #rtec-form .ibk-payment-choice legend { font-size:24px; color:var(--ibk-ink); font-weight:600; padding:0; margin-bottom:12px; }
.ibk-payment-test .ibk-choice-intro { font-size:15px; line-height:1.8; margin:0 0 22px; }
.ibk-payment-test .ibk-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ibk-payment-test #rtec-form label.ibk-choice-card { display:flex; align-items:flex-start; gap:14px; padding:22px; margin:0; border:1px solid #cedde1; border-radius:14px; background:#fff; cursor:pointer; color:var(--ibk-ink); line-height:1.6; transition:border-color .2s,background .2s; }
.ibk-payment-test #rtec-form label.ibk-choice-card:has(input:checked) { background:var(--ibk-soft); border:2px solid var(--ibk-teal); padding:21px; }
.ibk-payment-test #rtec-form label.ibk-choice-card:focus-within { outline:2px solid var(--ibk-deep); outline-offset:3px; }
.ibk-payment-test #rtec-form .ibk-choice-card input[type=radio] { appearance:auto; -webkit-appearance:radio; width:20px; height:20px; min-width:20px; margin:3px 0 0; padding:0; accent-color:var(--ibk-deep); }
.ibk-payment-test .ibk-choice-card strong { display:block; font-size:16px; font-weight:500; }
.ibk-payment-test .ibk-choice-price { display:block; margin:12px 0 5px; font-size:28px; font-weight:600; color:var(--ibk-deep); }
.ibk-payment-test .ibk-choice-card small { font-size:12px; font-weight:400; color:#596577; }
.ibk-payment-test .ibk-choice-price small { font-size:13px; }
.ibk-payment-test .ibk-choice-help { font-size:13px; line-height:1.8; margin:20px 0 12px; color:#596577; }
.ibk-payment-test .rtec-after-submission-wrap { margin-top:40px; margin-bottom:56px; }
.ibk-payment-test .ibk-payment-summary,.ibk-payment-test .woocommerce { font-family:inherit; color:var(--ibk-ink); }
.ibk-payment-test .ibk-payment-summary { border:1px solid var(--ibk-line); border-radius:20px; padding:clamp(20px,3vw,36px); background:#fff; box-shadow:0 8px 30px #29344b08; }
.ibk-payment-test .ibk-payment-summary + table { display:none!important; }
.ibk-payment-test .rtec-checkout-wrap .rtec-section-title { display:none; }
.ibk-payment-test .ibk-eyebrow { font-size:12px; letter-spacing:.12em; font-weight:600; color:var(--ibk-deep); }
.ibk-payment-test .ibk-payment-summary h3 { margin:10px 0 12px; color:var(--ibk-ink); font-size:clamp(23px,2vw,30px); }
.ibk-payment-test .ibk-summary-title { font-size:16px; margin:0 0 24px; }
.ibk-payment-test .ibk-summary-amounts { margin:0; }
.ibk-payment-test .ibk-summary-amounts>div { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:18px 0; border-top:1px solid var(--ibk-line); }
.ibk-payment-test .ibk-summary-amounts dt { font-weight:500; font-size:16px; }
.ibk-payment-test .ibk-summary-amounts dd { margin:0; white-space:nowrap; font-size:21px; font-weight:600; }
.ibk-payment-test .ibk-summary-amounts .ibk-due-now { background:var(--ibk-soft); border:1px solid var(--ibk-line); border-radius:12px; padding:20px; margin:6px 0; }
.ibk-payment-test .ibk-due-now dd { font-size:30px; color:var(--ibk-deep); }
.ibk-payment-test .ibk-due-now small { display:block; font-size:13px; font-weight:400; margin-top:4px; }
.ibk-payment-test .ibk-summary-note { font-size:13px; line-height:1.7; margin:16px 0 0; color:#596577; }
.ibk-payment-test .rtec-payment-table-wrap .rtec-payment-button,.ibk-payment-test .woocommerce a.button,.ibk-payment-test .woocommerce button.button { background:var(--ibk-teal)!important; border:1px solid var(--ibk-teal)!important; color:#fff!important; border-radius:30px!important; font-family:inherit; font-size:16px; font-weight:500; padding:16px 26px; line-height:1.4; box-shadow:none; transition:background .2s; }
.ibk-payment-test .rtec-payment-table-wrap .rtec-payment-button:hover,.ibk-payment-test .woocommerce .button:hover { background:var(--ibk-deep)!important; border-color:var(--ibk-deep)!important; }
.ibk-payment-test .rtec-payment-table-wrap .rtec-payment-button { margin-top:20px; width:100%; }
.ibk-payment-test :is(.rtec-payment-button,.woocommerce .button):focus-visible { outline:3px solid var(--ibk-ink); outline-offset:3px; }
.ibk-payment-test:is(.page-id-40997,.page-id-40998) main { max-width:1440px; margin:42px auto 70px; padding:0 24px; }
.ibk-payment-test .ibk-checkout-intro { margin-bottom:28px; }
.ibk-payment-test .ibk-checkout-intro h1 { color:var(--ibk-teal); font-size:clamp(28px,3vw,40px); margin:10px 0; }
.ibk-payment-test .ibk-test-badge { display:inline-block; color:var(--ibk-deep); background:var(--ibk-soft); border-radius:8px; padding:8px 14px; font-size:13px; }
.ibk-payment-test .woocommerce form.checkout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); grid-template-rows:auto auto 1fr; gap:0 32px; align-items:start; }
.ibk-payment-test .woocommerce form.checkout::before,.ibk-payment-test .woocommerce form.checkout::after { display:none; }
.ibk-payment-test .ibk-express-secondary { grid-column:2; grid-row:3; width:100%; max-width:560px; justify-self:end; margin:28px 0 12px; padding:20px 0 0; border-top:1px solid var(--ibk-line); clear:both; }
.ibk-payment-test .ibk-express-secondary:not(:has(iframe)) { margin-top:0; padding-top:0; border-top:0; }
.ibk-payment-test .ibk-express-secondary:not(:has(iframe)) .ibk-express-label { display:none; }
.ibk-payment-test .ibk-express-secondary .ibk-express-label { margin:0 0 12px; font-size:13px; font-weight:400; color:#596577; text-align:center; }
.ibk-payment-test .ibk-express-secondary #wc-stripe-express-checkout-button-separator { display:none !important; }
.ibk-payment-test .woocommerce form.checkout wc-order-attribution-inputs { display:none; }
.ibk-payment-test .woocommerce form.checkout #customer_details { grid-column:1; grid-row:1 / span 3; width:100%; }
.ibk-payment-test .woocommerce form.checkout #order_review_heading { grid-row:1; }
.ibk-payment-test .woocommerce form.checkout #order_review { grid-row:2; }
.ibk-payment-test .woocommerce form.checkout #order_review_heading,.ibk-payment-test .woocommerce form.checkout #order_review { grid-column:2; width:100%; float:none; }
.ibk-payment-test .woocommerce form.checkout #customer_details>.col-1,.ibk-payment-test .woocommerce form.checkout #customer_details>.col-2 { float:none; width:100%; }
.ibk-payment-test .woocommerce h3 { font-size:22px; color:var(--ibk-ink); margin:0 0 22px; }
.ibk-payment-test .woocommerce .woocommerce-billing-fields,.ibk-payment-test .woocommerce .woocommerce-additional-fields { background:#fff; padding:26px; border:1px solid var(--ibk-line); border-radius:16px; margin-bottom:24px; }
.ibk-payment-test .woocommerce form .form-row { padding:0; margin:0 0 16px; }
.ibk-payment-test .woocommerce form .form-row label { font-size:13px; color:var(--ibk-ink); line-height:1.6; margin-bottom:7px; }
.ibk-payment-test .woocommerce :is(input.input-text,textarea,select),.ibk-payment-test .select2-container .select2-selection--single { border:1px solid #cedde1; border-radius:9px; background:#fff; min-height:46px; font-family:inherit; font-size:15px; padding:10px 12px; color:var(--ibk-ink); }
.ibk-payment-test .select2-container .select2-selection--single .select2-selection__rendered { padding:0; line-height:24px; }
.ibk-payment-test .select2-container .select2-selection--single .select2-selection__arrow { top:10px; }
.ibk-payment-test .woocommerce :is(input.input-text,textarea,select):focus { outline:2px solid var(--ibk-teal); outline-offset:1px; }
.ibk-payment-test .woocommerce table.shop_table { border:1px solid var(--ibk-line); border-radius:16px; border-collapse:separate; border-spacing:0; overflow:hidden; background:#fff; font-size:14px; }
.ibk-payment-test .woocommerce table.shop_table th,.ibk-payment-test .woocommerce table.shop_table td { padding:16px; border:0; border-bottom:1px solid var(--ibk-line); vertical-align:top; }
.ibk-payment-test .woocommerce table.shop_table th { font-weight:500; }
.ibk-payment-test .woocommerce table.shop_table thead,.ibk-payment-test .woocommerce table.shop_table .order-total { background:var(--ibk-soft); }
.ibk-payment-test .woocommerce table.shop_table .product-total,.ibk-payment-test .woocommerce table.shop_table tfoot td { text-align:right; }
.ibk-payment-test .woocommerce table.shop_table small { display:block; margin-top:6px; font-size:12px; color:#596577; }
.ibk-payment-test .woocommerce table.shop_table .amount { white-space:nowrap; }
.ibk-payment-test .woocommerce #payment { background:var(--ibk-soft); border:1px solid var(--ibk-line); border-radius:16px; }
.ibk-payment-test .woocommerce #payment div.payment_box { background:#fff; }
.ibk-payment-test .woocommerce #payment .place-order { padding:22px; }
.ibk-payment-test .woocommerce #place_order { width:100%; float:none; }
.ibk-payment-test .woocommerce-privacy-policy-text { font-size:12px; line-height:1.7; color:#596577; }
.ibk-payment-test .woocommerce :is(.woocommerce-info,.woocommerce-message) { border-top-color:var(--ibk-teal); background:var(--ibk-soft); border-radius:10px; font-size:14px; }
.ibk-payment-test .woocommerce .woocommerce-info::before { color:var(--ibk-deep); }
/* Order confirmation: readable address card, without changing billing data. */
.ibk-payment-test .woocommerce .woocommerce-customer-details { box-sizing:border-box; width:100%; max-width:640px; margin:36px 0 48px; padding:28px 32px; background:#fff; border:1px solid var(--ibk-line); border-top:3px solid var(--ibk-teal); border-radius:16px; box-shadow:0 8px 30px #29344b08; }
.ibk-payment-test .woocommerce .woocommerce-customer-details .woocommerce-column__title { margin:0 0 20px; padding:0 0 16px; border-bottom:1px solid var(--ibk-line); color:var(--ibk-deep); font-size:22px; line-height:1.4; font-weight:500; }
.ibk-payment-test .woocommerce .woocommerce-customer-details address { box-sizing:border-box; width:100%; margin:0; padding:0; border:0; border-radius:0; font-family:inherit; font-style:normal; font-size:16px; line-height:1.85; color:var(--ibk-ink); overflow-wrap:anywhere; }
.ibk-payment-test .woocommerce .woocommerce-customer-details address p { position:relative; margin:0; padding:0 0 0 30px; font-size:15px; line-height:1.8; }
.ibk-payment-test .woocommerce .woocommerce-customer-details address p:first-of-type { margin-top:18px; }
.ibk-payment-test .woocommerce .woocommerce-customer-details address p+p { margin-top:8px; }
.ibk-payment-test .woocommerce .woocommerce-customer-details address p::before { left:0; top:2px; margin:0; color:var(--ibk-deep); }
.ibk-payment-test .woocommerce .woocommerce-customer-details address a { color:var(--ibk-deep); text-underline-offset:3px; }
.ibk-payment-test .rtec-already-registered-options { display:flex; flex-wrap:wrap; align-items:center; gap:18px 26px; padding:26px!important; margin:30px 0 52px!important; border:1px solid var(--ibk-line); border-radius:16px; background:var(--ibk-soft); }
.ibk-payment-test .rtec-already-registered-options #rtec-options-form { order:0; margin:0!important; padding:0!important; width:auto!important; }
.ibk-payment-test #rtec-options-form input[type=submit] { background:var(--ibk-teal)!important; color:#fff!important; border:1px solid var(--ibk-teal)!important; border-radius:30px!important; padding:14px 28px!important; font-family:inherit; font-size:15px; margin:0!important; cursor:pointer; }
.ibk-payment-test .rtec-already-registered-options .rtec-unregister-link-wrap { order:1; margin:0!important; padding:0!important; }
.ibk-payment-test .rtec-unregister-link { display:inline-block; font-size:13px; color:#596577!important; text-decoration:underline; text-underline-offset:4px; background:transparent!important; border:0!important; padding:10px 0!important; }
.ibk-payment-test #rtec-options-form input[type=submit]:focus-visible,.ibk-payment-test .rtec-unregister-link:focus-visible { outline:2px solid var(--ibk-deep); outline-offset:4px; }
@media(max-width:800px) {
 .ibk-payment-test .woocommerce .woocommerce-customer-details { padding:22px; margin:28px 0 36px; }
 .ibk-payment-test .woocommerce .woocommerce-customer-details .woocommerce-column__title { font-size:20px; }
 .ibk-payment-test .rtec-already-registered-options { flex-direction:column; align-items:stretch; text-align:center; padding:20px!important; }
 .ibk-payment-test #rtec-options-form input[type=submit] { width:100%; }
 .ibk-payment-test .ibk-choice-grid { grid-template-columns:1fr; }
 .ibk-payment-test #rtec-form .ibk-payment-choice { margin:30px 0 36px; padding:0 12px; }
 .ibk-payment-test .woocommerce form.checkout { display:block; }
 .ibk-payment-test:is(.page-id-40997,.page-id-40998) main { padding:0 16px; margin-top:24px; }
 .ibk-payment-test .woocommerce .woocommerce-billing-fields,.ibk-payment-test .woocommerce .woocommerce-additional-fields { padding:20px; }
 .ibk-payment-test .ibk-summary-amounts dt { font-size:14px; }
 .ibk-payment-test .ibk-summary-amounts dd { font-size:19px; }
 .ibk-payment-test .ibk-due-now dd { font-size:26px; }
}
