/* Shared checkout surfaces inherit the active CMS theme and palette. */
.wk-checkout {
	--wk-accent:var(--color2,#156477);
	--wk-border:color-mix(in srgb,currentColor 22%,transparent);
	--wk-soft:color-mix(in srgb,var(--wk-accent) 9%,transparent);
	--wk-surface:color-mix(in srgb,currentColor 3%,transparent);
	color:inherit;
	line-height:1.6;
}
.wk-checkout *, .wk-steps * { box-sizing:border-box; }
.wk-checkout h1 { font-size:clamp(1.6rem,3vw,2.3rem); }
.wk-checkout h2 { font-size:1.3rem; color:inherit; }
.wk-checkout h3 { color:inherit; }
.wk-checkout .uk-container { max-width:1160px; }
.wk-panel, .wk-checkout .uk-card-default, .wk-checkout .uk-box-shadow-small, .wk-checkout .uk-background-default {
	background:var(--wk-surface); color:inherit; border:1px solid var(--wk-border); border-radius:16px; box-shadow:none; margin-bottom:20px;
}
.wk-panel { padding:clamp(18px,3vw,28px); }
.wk-panel h2:first-child { margin-top:0; }
.wk-checkout input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]), .wk-checkout select, .wk-checkout textarea {
	background:transparent; color:inherit; border:1px solid var(--wk-border); border-radius:8px; min-height:46px; width:100%; max-width:100%; font:inherit;
}
.wk-checkout select option { background:Canvas; color:CanvasText; }
.wk-checkout input[type=checkbox], .wk-checkout input[type=radio] { width:20px; height:20px; flex:none; accent-color:var(--wk-accent); }
.wk-checkout label { cursor:pointer; }
.wk-checkout :is(input,select,textarea,button,a,summary):focus-visible { outline:3px solid var(--wk-accent); outline-offset:4px; }
.wk-checkout [hidden] { display:none!important; }
.wk-checkout .uk-button { min-height:44px; white-space:normal; line-height:1.5; padding:12px 20px; }
.wk-checkout .uk-button-default { color:inherit; border-color:var(--wk-border); }
.wk-checkout .uk-textarea { padding:12px; }
.wk-checkout .wk-address { min-width:0; }
.wk-address legend { font-size:1.25rem; font-weight:700; padding:0 8px; }
.wk-address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.wk-field { min-width:0; }
.wk-field label { display:block; margin-bottom:5px; }
.wk-field--wide { grid-column:1/-1; }
.wk-check { display:flex; align-items:center; gap:12px; padding:16px; margin:16px 0; border:1px solid var(--wk-border); border-radius:12px; }
.wk-actions { display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; margin:24px 0; }
.wk-account { background:var(--wk-soft); }
.wk-error { border:2px solid #c75045; border-radius:14px; padding:20px; margin:20px 0; scroll-margin-top:var(--wk-sticky-top,150px); }
.wk-steps ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:10px 0 28px; }
.wk-steps li { border:1px solid color-mix(in srgb,currentColor 22%,transparent); border-radius:25px; font-size:.82rem; }
.wk-steps a,.wk-steps span { display:block; padding:9px 13px; color:inherit; }
.wk-steps [aria-current=step] { font-weight:750; border-color:currentColor; background:color-mix(in srgb,currentColor 9%,transparent); }
.wk-payments { border:0; padding:0; margin:0 0 24px; min-width:0; }
.wk-payments legend { font-size:1.1rem; margin-bottom:14px; }
.wk-payment { border:1px solid var(--wk-border); border-radius:14px; margin-bottom:12px; overflow:hidden; background:var(--wk-surface); }
.wk-payment:has(input:checked) { border-color:var(--wk-accent); box-shadow:inset 4px 0 var(--wk-accent); background:var(--wk-soft); }
.wk-payment:focus-within { outline:2px solid var(--wk-accent); outline-offset:3px; }
.wk-payment>label { display:flex; align-items:flex-start; gap:16px; padding:22px; min-height:80px; }
.wk-payment input { margin-top:4px; }
.wk-payment strong { display:block; font-size:1.1rem; }
.wk-payment details { margin:0 22px 18px 58px; }
.wk-payment summary { cursor:pointer; text-decoration:underline; }
.wk-checkout .radio-button label { display:block; border:1px solid var(--wk-border); border-radius:12px; padding:18px; background:var(--wk-surface); color:inherit; cursor:pointer; }
.wk-checkout .radio-button input:checked+label { border-color:var(--wk-accent); background:var(--wk-soft); }
.wk-checkout .radio-button input:focus-visible+label { outline:3px solid var(--wk-accent); }
.wk-checkout table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.wk-checkout td,.wk-checkout th { padding:12px 10px; color:inherit; }
.wk-checkout .wk-review-table td:not([colspan]), .wk-checkout .wk-review-table th { white-space:nowrap; }
.wk-table-scroll { overflow-x:auto; max-width:100%; }
.wk-checkout .wk-review-table tr:nth-last-child(1) { border-top:2px solid var(--wk-border); }
.wk-review-addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.wk-review-addresses address { font-style:normal; overflow-wrap:anywhere; }
.wk-next-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0; list-style:none; counter-reset:next; }
.wk-next-steps li { counter-increment:next; border:1px solid var(--wk-border); border-radius:14px; padding:20px; }
.wk-next-steps li::before { content:counter(next); display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:1px solid var(--wk-border); font-weight:700; margin-bottom:10px; }
.wk-next-steps strong { display:block; }
.wk-order-number { font-size:1.15rem; overflow-wrap:anywhere; }
.wk-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.wk-contact-grid address { font-style:normal; }
@media(min-width:1051px) {
	.wk-cart__summary { position:sticky; top:var(--wk-sticky-top,calc(var(--cmsplus-sticky-header-height,0px) + var(--cms-actionbar-height,0px) + 16px)); max-height:calc(100dvh - var(--wk-sticky-top,150px) - 16px); overflow-y:auto; scrollbar-gutter:stable; }
}
@media(max-width:1050px) { .wk-cart__summary { position:static; max-height:none; overflow:visible; } }
@media(max-width:640px) {
	.wk-address-grid,.wk-review-addresses,.wk-next-steps,.wk-contact-grid { grid-template-columns:minmax(0,1fr); }
	.wk-checkout .uk-padding { padding:18px!important; }
	.wk-checkout td,.wk-checkout th { padding:10px 6px; font-size:.85rem; }
	.wk-payment>label { padding:18px; }
	.wk-actions>* { width:100%; text-align:center; }
	.wk-steps ol { gap:5px; }
	.wk-steps a,.wk-steps span { padding:7px 9px; }
}

.wk-checkout #checkout-agb .uk-card-body { padding:20px; }
.wk-checkout .uk-box-shadow-small > .uk-background-default { border:0; margin:0; border-radius:inherit; background:transparent; }
.wk-checkout .wk-review-table caption { text-align:left; font-size:1.15rem; font-weight:700; padding:0 0 16px; }
.wk-checkout .wk-review-table th { text-align:left; }
.wk-checkout .wk-review-table th.uk-text-right { text-align:right; }
.wk-checkout [aria-disabled=true] { opacity:.6; cursor:wait; }
