body.ctwd-voucher{margin:0;background:#fff;color:#111}.ctvg-main{overflow:hidden}.ctvg-wrap{width:min(1280px,90vw);margin:0 auto}.ctvg-k{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-size:12px;font-weight:800;letter-spacing:.2em}.ctvg-k span{width:42px;height:3px;background:#ffd200}.ctvg-k.dark{color:#555!important}

/* Hero */
body.ctwd-voucher .ctvg-hero{display:grid;grid-template-columns:43% 57%;min-height:650px;background:#0b0b0b;color:#fff}
body.ctwd-voucher .ctvg-hero-copy{position:relative;z-index:3;padding:80px 4vw 76px max(5vw,calc((100vw - 1280px)/2));display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#0b0b0b 0%,#0b0b0b 74%,rgba(11,11,11,.9) 82%,rgba(11,11,11,.5) 92%,rgba(11,11,11,0) 100%)}
body.ctwd-voucher .ctvg-hero h1{margin:0;color:#f2f2f2!important;font-size:clamp(48px,4.6vw,76px);line-height:.94;letter-spacing:-.045em;font-weight:800}
body.ctwd-voucher .ctvg-hero h1 strong{color:#ffd200!important}
body.ctwd-voucher .ctvg-hero-copy>p:not(.ctvg-k){max-width:580px;margin:28px 0 0;color:#c8c8c8!important;font-size:17px;line-height:1.65}
body.ctwd-voucher .ctvg-hero-copy>a{display:flex;justify-content:space-between;width:245px;margin-top:34px;padding:17px 20px;background:#ffd200;color:#111!important;text-decoration:none;font-weight:800}
body.ctwd-voucher .ctvg-hero-img{position:relative;margin-left:-100px;min-width:0;z-index:1}
body.ctwd-voucher .ctvg-hero-img:before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:30%;pointer-events:none;background:linear-gradient(90deg,#0b0b0b 0%,rgba(11,11,11,.84) 18%,rgba(11,11,11,.42) 54%,rgba(11,11,11,0) 100%)}
body.ctwd-voucher .ctvg-hero-img img{width:calc(100% + 100px);height:100%;object-fit:cover;display:block}

/* Compact intro */
body.ctwd-voucher .ctvg-intro{padding:52px 0 56px;background:#f3f3f0}
body.ctwd-voucher .ctvg-intro h2,body.ctwd-voucher .ctvg-builder-head h2,body.ctwd-voucher .ctvg-success h2{font-size:clamp(38px,4vw,62px);line-height:1.02;letter-spacing:-.04em;font-weight:400;margin:0;color:#111!important}
body.ctwd-voucher .ctvg-intro h2 strong,body.ctwd-voucher .ctvg-builder-head h2 strong,body.ctwd-voucher .ctvg-success h2 strong{font-weight:800;color:#111!important}
body.ctwd-voucher .ctvg-intro .ctvg-wrap>p:last-child{max-width:720px;margin:18px 0 0;color:#666!important;font-size:17px;line-height:1.6}

/* Builder */
body.ctwd-voucher .ctvg-builder{padding:68px 0 78px}
body.ctwd-voucher .ctvg-builder-head{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end;margin-bottom:32px}
body.ctwd-voucher .ctvg-builder-head>p{margin:0;color:#666!important;line-height:1.6}
body.ctwd-voucher .ctvg-form{display:grid;grid-template-columns:minmax(0,1fr) 450px;gap:46px;align-items:start}
body.ctwd-voucher .ctvg-config fieldset{display:block!important;visibility:visible!important;border:0;border-top:1px solid #ddd;padding:24px 0 26px;margin:0;min-width:0}
body.ctwd-voucher .ctvg-config legend{display:block!important;visibility:visible!important;padding:0 18px 0 0;font-size:20px;font-weight:800;color:#111!important}
body.ctwd-voucher .ctvg-config legend b{color:#c3a100!important;margin-right:10px}

/* Motifs: force visible against theme form rules */
body.ctwd-voucher .ctvg-designs{display:grid!important;visibility:visible!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
body.ctwd-voucher .ctvg-designs label{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;cursor:pointer;color:#111!important;margin:0!important}
body.ctwd-voucher .ctvg-designs input,body.ctwd-voucher .ctvg-amounts input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none}
body.ctwd-voucher .ctvg-design-img{display:block!important;visibility:visible!important;height:148px;border:3px solid transparent;overflow:hidden;background:#eee}
body.ctwd-voucher .ctvg-design-img img{display:block!important;visibility:visible!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:1!important}
body.ctwd-voucher .ctvg-designs input:checked+.ctvg-design-img{border-color:#ffd200!important}
body.ctwd-voucher .ctvg-designs strong,body.ctwd-voucher .ctvg-designs small{display:block!important;visibility:visible!important;color:#111!important}
body.ctwd-voucher .ctvg-designs strong{margin-top:9px}.ctvg-designs small{margin-top:3px;color:#777!important}

/* Amounts: force buttons visible */
body.ctwd-voucher .ctvg-amounts{display:flex!important;visibility:visible!important;flex-wrap:wrap;gap:9px;margin-top:20px}
body.ctwd-voucher .ctvg-amounts label{display:block!important;visibility:visible!important;position:relative!important;margin:0!important}
body.ctwd-voucher .ctvg-amounts span{display:block!important;visibility:visible!important;padding:12px 16px;border:1px solid #ccc;color:#111!important;background:#fff;font-weight:800;cursor:pointer}
body.ctwd-voucher .ctvg-amounts input:checked+span{background:#111!important;color:#ffd200!important;border-color:#111!important}
body.ctwd-voucher .ctvg-custom{margin-top:14px;max-width:240px}

body.ctwd-voucher .ctvg-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
body.ctwd-voucher .ctvg-fields label,body.ctwd-voucher .ctvg-custom label{display:flex!important;flex-direction:column;gap:7px;font-weight:700;font-size:14px;color:#111!important;margin:0!important}
body.ctwd-voucher .ctvg-fields .wide{grid-column:1/-1}
body.ctwd-voucher .ctvg-fields input,body.ctwd-voucher .ctvg-fields textarea,body.ctwd-voucher .ctvg-custom input{box-sizing:border-box;width:100%;border:1px solid #cfcfcb;background:#fff;padding:13px 14px;font:inherit;font-weight:400;color:#111}
body.ctwd-voucher .ctvg-fields textarea{min-height:105px;resize:vertical}
body.ctwd-voucher .ctvg-fields small{font-weight:400;color:#777!important}
body.ctwd-voucher .ctvg-paynote{padding:22px;background:#f3f3f0;margin:8px 0 18px}
body.ctwd-voucher .ctvg-paynote>strong{font-size:19px;color:#111!important}
body.ctwd-voucher .ctvg-paynote p{margin:8px 0 0;line-height:1.5;color:#555!important}
body.ctwd-voucher .ctvg-privacy{display:flex!important;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:#111!important;margin:0!important}
body.ctwd-voucher .ctvg-privacy input{flex:0 0 auto;width:18px!important;height:18px!important;margin:1px 0 0!important;position:static!important;opacity:1!important}
body.ctwd-voucher .ctvg-privacy span{display:block!important;max-width:560px;color:#111!important}
body.ctwd-voucher .ctvg-privacy a{color:#111!important}
body.ctwd-voucher .ctvg-submit{width:auto;min-width:330px;border:0;background:#ffd200;padding:16px 20px;margin-top:18px;font-weight:800;font-size:16px;display:inline-flex;gap:55px;justify-content:space-between;cursor:pointer;color:#111!important}

/* Preview */
body.ctwd-voucher .ctvg-sticky{position:sticky;top:110px}
body.ctwd-voucher .ctvg-preview-label{font-size:11px;letter-spacing:.2em;font-weight:800;margin:0 0 12px;color:#111!important}
body.ctwd-voucher .ctvg-card{aspect-ratio:1.414/1;position:relative;overflow:hidden;background:#111;color:#fff}
body.ctwd-voucher .ctvg-card>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
body.ctwd-voucher .ctvg-card-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.32) 70%,rgba(0,0,0,.08))}
body.ctwd-voucher .ctvg-card-brand{position:absolute;top:8%;left:7%;font-size:14px;font-weight:900;line-height:.86;color:#fff!important}
body.ctwd-voucher .ctvg-card-copy{position:absolute;left:7%;bottom:8%;width:68%;color:#fff!important}
body.ctwd-voucher .ctvg-card-copy small{font-size:9px;letter-spacing:.18em;color:#ffd200!important;font-weight:800}
body.ctwd-voucher .ctvg-card-copy>strong{display:block;font-size:44px;line-height:1;margin:10px 0;color:#ffd200!important}
body.ctwd-voucher .ctvg-card-copy p{font-size:13px;margin:5px 0;color:#fff!important}
body.ctwd-voucher .ctvg-card-copy .message{font-size:11px;line-height:1.35;min-height:30px}
body.ctwd-voucher .ctvg-card-copy span{font-size:10px;color:#fff!important}
body.ctwd-voucher .ctvg-preview-open{width:100%;border:0;background:#111;color:#fff!important;padding:13px;margin-top:10px;font-weight:800;cursor:pointer}
body.ctwd-voucher .ctvg-preview-open:hover{background:#ffd200;color:#111!important}
body.ctwd-voucher .ctvg-preview-hint{font-size:12px;color:#777!important;margin-top:7px}

/* Footer info */
body.ctwd-voucher .ctvg-good{padding:64px 0;background:#ffd200}
body.ctwd-voucher .ctvg-good-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #b89a00;border-bottom:1px solid #b89a00}
body.ctwd-voucher .ctvg-good-grid>div{padding:27px 20px;border-right:1px solid #b89a00}
body.ctwd-voucher .ctvg-good-grid>div:last-child{border-right:0}
body.ctwd-voucher .ctvg-good-grid strong,body.ctwd-voucher .ctvg-good-grid span{display:block;color:#111!important}
body.ctwd-voucher .ctvg-good-grid strong{font-size:20px}.ctvg-good-grid span{margin-top:8px;font-size:13px}

body.ctwd-voucher .ctvg-success{padding:58px 0;background:#ffd200}.ctvg-success p{max-width:700px;line-height:1.6}.ctvg-success-actions{display:flex;gap:12px;margin-top:24px}.ctvg-success-actions a{padding:14px 18px;border:1px solid #111;color:#111!important;text-decoration:none;font-weight:800}.ctvg-success-actions .primary{background:#111;color:#fff!important}
body.ctwd-voucher .ctvg-modal[hidden]{display:none}.ctvg-modal{position:fixed;z-index:99999;inset:0;background:rgba(0,0,0,.9);display:grid;place-items:center;padding:6vw}.ctvg-modal-inner{width:min(1050px,90vw)}.ctvg-modal-close{position:absolute;right:25px;top:20px;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}.ctvg-modal .ctvg-card{width:100%}.ctvg-hp{position:absolute!important;left:-9999px!important}

@media(max-width:980px){body.ctwd-voucher .ctvg-hero{grid-template-columns:1fr;min-height:0}body.ctwd-voucher .ctvg-hero-copy{padding:64px 5vw 54px;background:#0b0b0b}body.ctwd-voucher .ctvg-hero-img{margin:0;height:430px}body.ctwd-voucher .ctvg-hero-img:before{display:none}body.ctwd-voucher .ctvg-hero-img img{width:100%!important}body.ctwd-voucher .ctvg-form{grid-template-columns:1fr}.ctvg-sticky{position:static!important}.ctvg-preview-side{order:-1;max-width:650px}.ctvg-builder-head{grid-template-columns:1fr!important;gap:18px!important}.ctvg-good-grid{grid-template-columns:1fr 1fr!important}.ctvg-design-img{height:180px!important}}
@media(max-width:640px){body.ctwd-voucher .ctvg-hero h1{font-size:43px}.ctvg-designs{grid-template-columns:1fr!important}.ctvg-design-img{height:220px!important}.ctvg-fields{grid-template-columns:1fr!important}.ctvg-fields .wide{grid-column:auto!important}.ctvg-good-grid{grid-template-columns:1fr!important}.ctvg-good-grid>div{border-right:0!important;border-bottom:1px solid #b89a00}.ctvg-success-actions{flex-direction:column}.ctvg-submit{width:100%!important;min-width:0!important}}

/* 0.10.3 refinements */
body.ctwd-voucher .ctvg-fields label.wide,
body.ctwd-voucher .ctvg-fields label.wide textarea,
body.ctwd-voucher .ctvg-fields label.wide input{width:100%!important;max-width:none!important}
body.ctwd-voucher .ctvg-good .ctvg-k.dark{color:#111!important}
body.ctwd-voucher .ctvg-good .ctvg-k.dark span{background:#111!important}


/* 0.10.4 voucher interaction and typography refinements */
body.ctwd-voucher .ctvg-custom{max-width:280px}
body.ctwd-voucher .ctvg-custom small{font-weight:400;color:#777!important;line-height:1.4;margin-top:2px}
body.ctwd-voucher .ctvg-card-copy{bottom:7%;width:72%}
body.ctwd-voucher .ctvg-card-copy>strong{margin:10px 0 16px}
body.ctwd-voucher .ctvg-card-copy .recipient-line{font-size:14px;margin:0 0 10px;color:#fff!important}
body.ctwd-voucher .ctvg-card-copy .message{font-size:11.5px;line-height:1.5;min-height:36px;margin:0 0 12px;white-space:pre-line;color:#f5f5f5!important}
body.ctwd-voucher .ctvg-card-copy .from-line{display:block;font-size:10.5px;padding-top:2px;color:#fff!important}
body.ctwd-voucher .ctvg-preview-open{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#ffd200;color:#111!important;padding:15px 18px}
body.ctwd-voucher .ctvg-preview-open b{font-size:18px;line-height:1;color:#111!important}
body.ctwd-voucher .ctvg-preview-open:hover{background:#111;color:#ffd200!important}
body.ctwd-voucher .ctvg-preview-open:hover b{color:#ffd200!important}
body.ctwd-voucher .ctvg-privacy a{font-weight:700;text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:3px!important}

/* 0.10.7 voucher refinements */
body.ctwd-voucher .ctvg-card>img[data-design="special"]{object-position:40% center!important}
body.ctwd-voucher .ctvg-card-copy [hidden]{display:none!important}

/* 0.10.8 – emotionalere Gutschein-Vorschau und echtes Markenlogo */
body.ctwd-voucher .ctvg-card-brand{top:7%;left:7%;width:32%;font-size:0;line-height:1}
body.ctwd-voucher .ctvg-card-brand img{display:block!important;width:100%!important;height:auto!important;max-width:180px!important;object-fit:contain!important;object-position:left top!important;border:0!important;outline:0!important;box-shadow:none!important}
body.ctwd-voucher .ctvg-card-copy{bottom:8%;width:70%;max-width:72%}
body.ctwd-voucher .ctvg-card-copy>small{display:flex;align-items:center;gap:8px}
body.ctwd-voucher .ctvg-card-copy>small:before{content:"";display:block;width:22px;height:2px;background:#ffd200;flex:0 0 auto}
body.ctwd-voucher .ctvg-card-copy>strong{margin:10px 0 22px;letter-spacing:-.035em}
body.ctwd-voucher .ctvg-card-copy .message{font-size:11.8px;line-height:1.22;min-height:36px;margin:0;white-space:pre-line;color:#f5f5f5!important;letter-spacing:-.005em}
body.ctwd-voucher .ctvg-card-copy .recipient-line{margin:0 0 12px}
body.ctwd-voucher .ctvg-card-copy .from-line{margin-top:12px}


/* 0.10.9 – Lesbarkeit der Namen und eigenständige Bestätigungsseite */
body.ctwd-voucher .ctvg-card-copy .recipient-line,
body.ctwd-voucher .ctvg-card-copy .from-line{font-size:14px!important;line-height:1.3!important;color:#fff!important}
body.ctwd-voucher .ctvg-card-copy .recipient-line b,
body.ctwd-voucher .ctvg-card-copy .from-line b{color:#fff!important;font-size:inherit!important;font-weight:800!important}

body.ctwd-voucher-confirmation .ctvg-confirm{background:#f3f3f0;padding:78px 0 88px;min-height:calc(100vh - 300px)}
body.ctwd-voucher-confirmation .ctvg-confirm-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.08)}
body.ctwd-voucher-confirmation .ctvg-confirm-copy{padding:64px 6vw 66px}
body.ctwd-voucher-confirmation .ctvg-confirm-copy .ctvg-k{color:#555!important;margin-bottom:26px}
body.ctwd-voucher-confirmation .ctvg-confirm-copy .ctvg-k span{background:#ffd200}
body.ctwd-voucher-confirmation .ctvg-confirm-copy h1{font-size:clamp(44px,5vw,72px);line-height:.96;letter-spacing:-.045em;margin:0;color:#111!important;font-weight:400}
body.ctwd-voucher-confirmation .ctvg-confirm-copy h1 strong{display:block;color:#111!important;font-weight:850}
body.ctwd-voucher-confirmation .ctvg-confirm-copy>p{font-size:17px;line-height:1.65;color:#555!important;max-width:690px;margin:25px 0 0}
body.ctwd-voucher-confirmation .ctvg-confirm-code{margin:30px 0 0;padding:18px 20px;border-left:4px solid #ffd200;background:#f6f6f3;color:#111!important}
body.ctwd-voucher-confirmation .ctvg-confirm-code small{display:block;font-size:11px;letter-spacing:.16em;font-weight:800;color:#777!important;margin-bottom:4px}
body.ctwd-voucher-confirmation .ctvg-confirm-code strong{font-size:20px;color:#111!important}
body.ctwd-voucher-confirmation .ctvg-confirm-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
body.ctwd-voucher-confirmation .ctvg-confirm-actions a{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:15px 18px;text-decoration:none;font-weight:800;border:1px solid #111;color:#111!important}
body.ctwd-voucher-confirmation .ctvg-confirm-actions a.primary{background:#ffd200;border-color:#ffd200;min-width:310px}
body.ctwd-voucher-confirmation .ctvg-confirm-actions a.secondary{background:#fff}
body.ctwd-voucher-confirmation .ctvg-confirm-side{background:#111;color:#fff;padding:56px 44px;display:flex;flex-direction:column;justify-content:center}
body.ctwd-voucher-confirmation .ctvg-confirm-side h2{font-size:26px;line-height:1.15;margin:0 0 24px;color:#fff!important}
body.ctwd-voucher-confirmation .ctvg-confirm-side ol{margin:0;padding-left:22px}
body.ctwd-voucher-confirmation .ctvg-confirm-side li{padding:10px 0 10px 6px;line-height:1.5;color:#ddd}
body.ctwd-voucher-confirmation .ctvg-confirm-side li::marker{color:#ffd200;font-weight:900}
body.ctwd-voucher-confirmation .ctvg-confirm-side p{margin:22px 0 0;color:#aaa!important;font-size:13px;line-height:1.5}
@media(max-width:900px){body.ctwd-voucher-confirmation .ctvg-confirm-card{grid-template-columns:1fr}body.ctwd-voucher-confirmation .ctvg-confirm{padding:42px 0 58px}}
