#xsvc-status{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:16px;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(0,0,0,.55);font-family:Arial,sans-serif;color:#171717;}
#xsvc-status *{box-sizing:border-box;}
#xsvc-status .xsvc-status-card{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:18px;padding:28px 24px;text-align:center;box-shadow:0 16px 60px rgba(0,0,0,.25);}
#xsvc-status h2{font-size:24px;line-height:1.25;margin:16px 0 12px;color:inherit;}
#xsvc-status p{font-size:16px;line-height:1.55;margin:0 0 20px;overflow-wrap:anywhere;color:inherit;}
#xsvc-status .xsvc-spinner{width:48px;height:48px;margin:0 auto;border:4px solid #e7e7e7;border-top-color:#171717;border-radius:50%;animation:xsvc-spin .9s linear infinite;}
#xsvc-status .xsvc-success{font-size:40px;line-height:48px;color:#167a47;}
#xsvc-status .xsvc-status-actions{display:flex;flex-direction:column;gap:12px;}
#xsvc-status a,#xsvc-status button{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;padding:12px 16px;font:600 16px/1.35 Arial,sans-serif;border:1px solid #171717;border-radius:10px;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation;cursor:pointer;text-decoration:none;margin:0;}
#xsvc-status a{background:#171717;color:#fff;}
#xsvc-status button{background:#fff;color:#171717;}
#xsvc-status a:focus-visible,#xsvc-status button:focus-visible{outline:3px solid #3677e8;outline-offset:3px;}
.xswpvc-woo-transfer,.xswpvc-wallet-div,[id^="xswpvc-stripe-payment-"],[id^="xswpvc-bank-transfer-"]{display:none!important;}
@keyframes xsvc-spin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){#xsvc-status .xsvc-spinner{animation:none;}}
@media(max-width:480px){#xsvc-status .xsvc-status-card{padding:24px 18px;}#xsvc-status h2{font-size:22px;}}

@media(max-width:600px){
 .xswpvc-fill-voucher .m4{width:100%!important;float:none!important;}
 .xswpvc-fill-voucher input[type="text"],.xswpvc-fill-voucher input[type="email"],.xswpvc-fill-voucher input[type="number"]{font-size:16px;min-height:44px;width:100%;}
 .xswpvc-fill-voucher .xswpvc-modal-dialog{max-width:calc(100% - 24px);margin:12px;}
 .xswpvc-fill-voucher{overflow-y:auto!important;-webkit-overflow-scrolling:touch;}
}

.xsvc-offer-picker { margin:12px 0; padding:16px; border:1px solid #d4d4d4; border-radius:10px; background:#fff; color:#222; }
.xsvc-offer-picker h3 { margin:0 0 12px; font-size:20px; }
.xsvc-offer-picker label { display:block; margin-bottom:8px; }
.xsvc-offer-select { width:100%; max-width:100%; min-height:48px; font-size:16px; padding:10px; background:#fff; color:#222; border:1px solid #777; border-radius:6px; }
.xsvc-offer-picker p { margin:10px 0 0; overflow-wrap:anywhere; }
.xsvc-offer-summary { font-weight:700; padding:12px; background:#f2f5f2; border-radius:6px; }
.xsvc-offer-select:focus-visible { outline:3px solid #2271b1; outline-offset:2px; }

.xswpvc-preview-image { display:block; width:auto !important; height:auto !important; max-width:100% !important; max-height:420px; margin:0 auto; object-fit:contain; }
.xswpvc-img-thumbnail { max-width:100%; height:auto; object-fit:contain; }

.xsvc-offer-picker .xsvc-offer-promotion { padding:16px; margin:14px 0; border:2px solid #1d5c45; border-radius:8px; background:#e9f5ee; color:#163d2e; }
.xsvc-offer-promotion strong { display:block; font-size:20px; line-height:1.4; }
.xsvc-offer-promotion-badge { display:inline-block; margin-bottom:8px; padding:4px 9px; border-radius:4px; background:#1d5c45; color:#fff; font-size:13px; font-weight:700; }

.xsvc-offer-restriction { padding:14px!important; margin:14px 0!important; border:2px solid #825915; border-radius:8px; background:#fff7e5; color:#492e08; font-size:16px; line-height:1.5; }

/* Keep the amount in normal flow, independent of theme/Bootstrap input-group rules. */
.xswpvc-fill-voucher .xsvc-offer-column,
.xswpvc-fill-voucher .xsvc-value-field{clear:both;float:none!important;display:block;width:100%!important;max-width:100%;min-width:0;box-sizing:border-box;}
.xswpvc-fill-voucher .xsvc-value-input{display:flex!important;align-items:center;gap:10px;position:static!important;float:none!important;width:100%;min-width:0;max-width:100%;box-sizing:border-box;}
.xswpvc-fill-voucher .xsvc-value-input input[name="xswpvc_vcustom_price"]{display:block!important;position:static!important;float:none!important;flex:1 1 0%;width:0!important;min-width:0!important;max-width:100%;min-height:48px;margin:0!important;box-sizing:border-box;font-size:16px;line-height:1.4;color:#171717;background:#fff;}
.xswpvc-fill-voucher .xsvc-value-currency{flex:0 0 auto;font-size:18px;line-height:1;color:#171717;}
@media(max-width:767px){
 .xswpvc-fill-voucher .xswpvc-fill-voucher-body .w3-row-padding{min-width:0;}
 .xswpvc-fill-voucher .xswpvc-fill-voucher-body .w3-col{float:none!important;width:100%!important;max-width:100%;min-width:0;box-sizing:border-box;}
 .xswpvc-fill-voucher .xswpvc-modal-content{width:100%;max-width:100%;min-width:0;box-sizing:border-box;}
}

.xswpvc-fill-voucher .xsvc-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;}
.xswpvc-fill-voucher .xsvc-design-grid>.w3-col{float:none!important;width:100%!important;min-width:0;margin:0!important;padding:0;}
.xswpvc-fill-voucher .xsvc-design-grid .xswpvc-img-thumbnail{display:block;width:100%;height:150px;object-fit:contain;}
.xswpvc-fill-voucher .xswpvc-voucher-desing-a-tag{display:flex;flex-direction:column;position:relative;padding:6px;min-width:0;height:100%;min-height:0;white-space:normal;line-height:1.3;text-transform:none;letter-spacing:normal;align-items:stretch;overflow:hidden;border:3px solid transparent;border-radius:8px;background:#fff;width:100%;cursor:pointer;box-sizing:border-box;}
.xswpvc-fill-voucher .xswpvc-voucher-desing-a-tag.xsvc-design-selected{border-color:#000;background:#000;color:#fff;}
.xswpvc-fill-voucher .xsvc-design-choice-label{display:block;position:static;float:none;width:100%;height:auto;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;padding:7px 3px;font-size:14px;line-height:1.3;color:#222;text-align:center;}
.xsvc-design-choice-label:after{content:'Ausgewählt ✓';display:block;visibility:hidden;font-weight:700;color:inherit;}
.xsvc-design-selected .xsvc-design-choice-label:after{visibility:visible;}
.xswpvc-fill-voucher .xsvc-design-selected .xsvc-design-choice-label{color:#fff;}
.xswpvc-voucher-desing-a-tag:focus-visible{outline:3px solid #2271b1;outline-offset:2px;}
@media(max-width:767px){
 .xswpvc-fill-voucher .xsvc-design-preview{display:block;}
 .xswpvc-fill-voucher .xsvc-design-preview .xswpvc-preview-image{max-height:240px;}
 .xswpvc-fill-voucher .xsvc-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;}
 .xswpvc-fill-voucher .xsvc-design-grid>.w3-col{float:none!important;width:100%!important;min-width:0;margin:0!important;padding:0;}
 .xswpvc-fill-voucher .xsvc-design-grid .xswpvc-img-thumbnail{display:block;width:100%;height:150px;object-fit:contain;}
 .xswpvc-fill-voucher .xswpvc-voucher-desing-footer{position:sticky;bottom:0;z-index:2;background:#fff;padding-bottom:max(12px,env(safe-area-inset-bottom));}
 .xswpvc-fill-voucher .xswpvc-voucher-desing-nextclick{min-height:48px;width:100%;font-size:16px;}
}

/* W3 clearfix pseudo-elements must not occupy CSS grid cells. */
.xswpvc-fill-voucher .xsvc-design-grid:before,
.xswpvc-fill-voucher .xsvc-design-grid:after{content:none!important;display:none!important;}
