/*
 * NhPanel – Gutschein-Karten (Partials Resources/views/gutschein/karte/*.twig). Mit data-nhd einbinden: Papier bleibt im
 * Dunkelmodus hell (kein automatischer Zwilling).
 *
 * Maß: 1 u = Kartenbreite / 176 (Bildschirm, Container-Einheiten) bzw. 1 mm (Druck). Die Karte ist 176 × 116 u groß,
 * wächst aber mit, falls ein Text mehr Platz braucht (aspect-ratio; overflow: clip nur für die Rundung/Deko). Textblöcke brechen
 * um statt abgeschnitten zu werden (Kopfzeilen mit flex-wrap, lange Wörter mit overflow-wrap: anywhere – Abnahme #6).
 * Druck: benannte Seite „gk“ (A4 hoch, 10 mm Rand), Karte + Deckblatt mit Schnittmarken und Faltlinie; alles andere auf
 * der Seite wird beim Drucken ausgeblendet. In .gk-preview (Landingpages, Kaufdialog) druckt die Karte wie normaler Inhalt.
 * Themes: .gkw Weihnachten (Playfair Display), .gkg Geburtstag (Anton + Sofia Sans), .gka eigener Anlass (Archivo),
 * .gkb allgemein (Chakra Petch + Azeret Mono). Codes in Azeret Mono. Schriften liegen im Repo (keine externen Fonts).
 */
@font-face{font-family:"GK Playfair";src:url("/nh-panel/asset/gs-playfair-display.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"GK Anton";src:url("/nh-panel/asset/gs-anton.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"GK Archivo";src:url("/nh-panel/asset/gs-archivo.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"GK Mono";src:url("/nh-panel/asset/gs-azeret-mono.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"GK Sofia";src:url("/nh-panel/asset/gs-sofia-sans-semi-condensed.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"GK Inter";src:url("/nh-panel/asset/zentrale-inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"GK Inter";src:url("/nh-panel/asset/zentrale-inter-latin-ext-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"GK Chakra";src:url("/themes/hw/booking/fonts/chakra-petch-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"GK Chakra";src:url("/themes/hw/booking/fonts/chakra-petch-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

@property --u{syntax:"<length>";inherits:true;initial-value:2px}

/* ---------- Grundgerüst ---------- */
.gk{container:gk / inline-size;display:block;width:100%;color-scheme:light;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.gk *,.gk *::before,.gk *::after{box-sizing:border-box}
/* Grundabstände mit Gewicht 0,0,1 (wie Bootstraps p/dl/dd, steht danach und gewinnt), jede Klasse überschreibt sie */
:where(.gk) p,:where(.gk) dl,:where(.gk) dt,:where(.gk) dd{margin:0;padding:0}
.gk-sheet{display:block}
.gk-panel{position:relative}
.gk-panel--card{filter:drop-shadow(0 1px 1.5px rgba(16,22,34,.16)) drop-shadow(0 14px 22px rgba(16,22,34,.2))}
.gk-panel--cover,.gk-fold,.gk-sheet-note,.gk-mark{display:none}
.gk-card,.gk-cover{
    --u:calc(100cqw / 176);--mf:1;--min:calc(10.5px * var(--mf));
    position:relative;display:grid;width:100%;aspect-ratio:176 / 116;overflow:clip;
    border-radius:calc(var(--u) * 1.4);font-size:max(calc(var(--u) * 3.1),var(--min));line-height:1.35;
    text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;hyphens:auto;overflow-wrap:break-word;
}
.gk-msg p+p{margin-top:.35em}
.gk-msg{white-space:normal}

/* QR-Code mit Ruhezone, Code darunter */
.gk-qrbox{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 1.6)}
.gk-qr{display:block;width:calc(var(--u) * 34.6);height:calc(var(--u) * 34.6);padding:calc(var(--u) * 2.8);background:#fff;color:#0d1117;border-radius:calc(var(--u) * .8)}
.gk-qr svg{display:block;width:100%;height:100%}
.gk--sample .gk-qr svg{opacity:.22}
.gk-code{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * .5);text-align:center}
.gk-code__label{font:600 max(calc(var(--u) * 1.9),calc(9px * var(--mf)))/1.2 "GK Inter",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.gk-code__value{font:600 max(calc(var(--u) * 2.9),calc(11px * var(--mf)))/1.15 "GK Mono",ui-monospace,monospace;letter-spacing:.03em;white-space:nowrap}

/* Kleingedrucktes */
.gk-fine{display:flex;flex-direction:column;gap:calc(var(--u) * .9);font:400 max(calc(var(--u) * 2.15),var(--min))/1.35 "GK Inter",system-ui,sans-serif}
.gk-fine b{font-weight:650}
.gk-dates{display:flex;flex-wrap:wrap;gap:0 calc(var(--u) * 3)}
.gk-parent{font-weight:600}
.gk-issuer{display:flex;align-items:center;flex-wrap:wrap;gap:calc(var(--u) * 1.4)}
.gk-logo{display:block;height:calc(var(--u) * 3.4);width:auto;flex:none}
.gk-logo-a{fill:var(--gk-logo-a,#131e3e)}
.gk-logo-b{fill:var(--gk-logo-b,#959ca4)}
/* Logo gut sichtbar auf jeder Karte (echte Vektor-Nachbildung, Originalfarben auf hellem, Weiß-Variante auf dunklem Grund) */
.gk-brand{display:inline-flex;flex:none;line-height:0;padding:calc(var(--u) * .6) 0}
.gk-brand .gk-logo{height:max(calc(var(--u) * 5.2),calc(16px * var(--mf)))}
.gk-brand--cover{position:absolute;right:calc(var(--u) * 9);bottom:calc(var(--u) * 8);z-index:2}
.gk-brand--cover .gk-logo{height:calc(var(--u) * 4.8)}
.gk{font-variant-numeric:lining-nums}

/* Muster-Stempel: liegt über dem QR-Code, der Kartentext bleibt lesbar */
.gk-qrbox{position:relative}
.gk-stamp{position:absolute;left:50%;top:calc(var(--u) * 17.3);z-index:5;padding:calc(var(--u) * .9) calc(var(--u) * 2.8);border:max(calc(var(--u) * .6),calc(2px * var(--mf))) solid #c2272d;border-radius:calc(var(--u) * 1);color:#c2272d;background:rgba(255,255,255,.78);
    font:800 max(calc(var(--u) * 5),calc(14px * var(--mf)))/1 "GK Inter",system-ui,sans-serif;letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;transform:translate(-50%,-50%) rotate(-12deg);pointer-events:none;white-space:nowrap}
.gkw-tag .gk-stamp{top:calc(var(--u) * 15)}

/* ---------- Weihnachten: Klappkarte mit Kupferprägung ---------- */
.gkw{--fir:#17392c;--ink:#1d3b2f;--copper:#a9622b;--copper-ink:#8a4b1c;--muted:#4c675a;--paper:#f7f8f3;
    grid-template-columns:calc(var(--u) * 62) minmax(0,1fr);color:var(--ink);
    background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .25 0 0 0 0 .2 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.gkw-band{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:calc(var(--u) * 50) calc(var(--u) * 7) calc(var(--u) * 7);
    background-color:var(--fir);
    background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.09) 0 1px,transparent 1px 4px),radial-gradient(120% 80% at 30% 0,#21503d 0,transparent 70%)}
.gkw-sprig{position:absolute;left:0;top:0;width:100%;height:auto;overflow:visible}
.gkw-sprig__stem{fill:none;stroke:#c98a52;stroke-width:.75;stroke-linecap:round}
.gkw-sprig__needles{fill:none;stroke:#c07a3e;stroke-width:.42;stroke-linecap:round}
.gkw-sprig__berries{fill:#d99a5b}
.gkw-sprig__stars{fill:#e7b984}
.gk-card .gkw-sprig{filter:drop-shadow(0 .5px 0 rgba(0,0,0,.45)) drop-shadow(0 -.5px 0 rgba(255,214,170,.18))}
.gkw-string{position:absolute;left:50%;top:calc(var(--u) * 23);width:calc(var(--u) * .5);height:calc(var(--u) * 33);margin-left:calc(var(--u) * -.25);
    background:repeating-linear-gradient(170deg,#d9a066 0 calc(var(--u) * .7),#b77b44 calc(var(--u) * .7) calc(var(--u) * 1.3))}
.gkw-tag{position:relative;z-index:1;width:calc(var(--u) * 46);padding:calc(var(--u) * 9.5) calc(var(--u) * 3) calc(var(--u) * 3.6);color:var(--ink);filter:drop-shadow(0 calc(var(--u) * .8) calc(var(--u) * 1.2) rgba(0,0,0,.35))}
.gkw-tag::before{content:"";position:absolute;inset:0;z-index:-1;background:#fcfbf7;border-radius:0 0 calc(var(--u) * 1.4) calc(var(--u) * 1.4);
    clip-path:polygon(calc(var(--u) * 9) 0,calc(100% - var(--u) * 9) 0,100% calc(var(--u) * 7),100% 100%,0 100%,0 calc(var(--u) * 7))}
.gkw-tag__hole{position:absolute;left:50%;top:calc(var(--u) * 2.6);width:calc(var(--u) * 3.6);height:calc(var(--u) * 3.6);margin-left:calc(var(--u) * -1.8);border-radius:50%;background:var(--fir);box-shadow:0 0 0 calc(var(--u) * .7) #c58a4e}
.gkw-tag .gk-qr{background:transparent;padding:0 0 0 0;width:calc(var(--u) * 30);height:calc(var(--u) * 30)}
.gkw-tag .gk-code__label{color:var(--copper-ink)}
.gkw-tag .gk-code__value{font-size:max(calc(var(--u) * 2.75),calc(10.5px * var(--mf)))}
.gkw-main{display:flex;flex-direction:column;min-width:0;padding:calc(var(--u) * 8) calc(var(--u) * 9) calc(var(--u) * 6.5)}
.gkw-top{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 3)}
.gkw-eyebrow{font:600 max(calc(var(--u) * 2.2),calc(9.5px * var(--mf)))/1.2 "GK Inter",system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--copper-ink)}
.gkw-title{margin-top:calc(var(--u) * 2.2);font:500 calc(var(--u) * 10)/1.02 "GK Playfair",Georgia,serif;letter-spacing:-.012em;color:var(--fir)}
.gkw-to,.gkw-from{font:400 calc(var(--u) * 4.6)/1.2 "GK Playfair",Georgia,serif;color:var(--fir)}
.gkw-to{margin-top:calc(var(--u) * 2.6)}
.gkw-to span,.gkw-from span{margin-right:calc(var(--u) * 1.2);font:600 max(calc(var(--u) * 2.1),calc(9.5px * var(--mf)))/1 "GK Inter",system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--copper-ink);vertical-align:.25em}
.gkw-names--long,.gkw-to.gk-names--long,.gkw-from.gk-names--long{font-size:calc(var(--u) * 3.7)}
.gkw-gift{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(var(--u) * .6) calc(var(--u) * 3);margin-top:calc(var(--u) * 3.4);padding-top:calc(var(--u) * 3);border-top:max(calc(var(--u) * .3),calc(1px * var(--mf))) solid rgba(169,98,43,.45)}
.gkw-amount{font:700 calc(var(--u) * 15)/.9 "GK Playfair",Georgia,serif;letter-spacing:-.02em;color:var(--copper-ink);
    background:linear-gradient(100deg,#7f4419 0,#c98b4f 32%,#e6b27a 46%,#9d5b27 64%,#c07c42 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gkw-product{font:600 calc(var(--u) * 7.4)/1.05 "GK Playfair",Georgia,serif;color:var(--fir)}
.gkw-plan{flex-basis:100%;font:500 max(calc(var(--u) * 2.6),var(--min))/1.3 "GK Inter",system-ui,sans-serif;color:var(--muted)}
.gkw-msg{margin-top:calc(var(--u) * 3.2);font:400 calc(var(--u) * 3.4)/1.42 "GK Playfair",Georgia,serif;color:#2b4a3d}
.gkw-msg.gk-msg--m{font-size:max(calc(var(--u) * 3),var(--min))}
.gkw-msg.gk-msg--s{font-size:max(calc(var(--u) * 2.6),var(--min))}
.gkw-from{margin-top:calc(var(--u) * 2);font-size:calc(var(--u) * 3.9)}
.gkw .gk-fine{margin-top:auto;padding-top:calc(var(--u) * 3.4);color:var(--muted)}
.gkw .gk-fine b{color:var(--fir)}
.gkw-cover{grid-template-columns:calc(var(--u) * 62) minmax(0,1fr);color:var(--ink);background:var(--paper)}
.gkw-cover{--fir:#17392c;--ink:#1d3b2f;--copper:#a9622b;--copper-ink:#8a4b1c;--paper:#f7f8f3}
.gkw-cover__band{position:relative;overflow:hidden;background:var(--fir)}
.gkw-cover__band .gkw-sprig{top:auto;bottom:calc(var(--u) * 24);transform:scale(1.5);transform-origin:30% 50%}
.gkw-cover__text{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--u) * 10)}
.gkw-title--cover{font-size:calc(var(--u) * 13)}

/* ---------- Geburtstag: Konzertkarte mit Abriss ---------- */
.gkg{--ink:#1b1f3b;--pink:#ff4f8b;--pink-ink:#e8336f;--blue:#3255d8;--yellow:#ffc93c;--stub:calc(var(--u) * 46);
    grid-template-columns:minmax(0,1fr) var(--stub);color:var(--ink);background:#fff;
    -webkit-mask:radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 0,#0000 97%,#000 100%) top / 100% 51% no-repeat,radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 100%,#0000 97%,#000 100%) bottom / 100% 51% no-repeat;
    mask:radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 0,#0000 97%,#000 100%) top / 100% 51% no-repeat,radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 100%,#0000 97%,#000 100%) bottom / 100% 51% no-repeat}
.gkg-main{position:relative;display:flex;flex-direction:column;min-width:0;padding:calc(var(--u) * 6.5) calc(var(--u) * 7) calc(var(--u) * 6) calc(var(--u) * 8)}
.gkg-main>*:not(.gkg-confetti){position:relative;z-index:1}
.gkg-confetti{position:absolute;inset:0;width:100%;height:100%;-webkit-mask:radial-gradient(90% 75% at 100% 42%,#000 22%,rgba(0,0,0,.35) 52%,transparent 74%);mask:radial-gradient(90% 75% at 100% 42%,#000 22%,rgba(0,0,0,.35) 52%,transparent 74%)}
.gkg-c--p{fill:var(--pink);mix-blend-mode:multiply}
.gkg-c--b{fill:var(--blue);mix-blend-mode:multiply}
.gkg-c--y{fill:var(--yellow)}
.gkg-eyebrow{display:flex;justify-content:space-between;gap:calc(var(--u) * 3);padding-bottom:calc(var(--u) * 1.4);border-bottom:max(calc(var(--u) * .35),calc(1px * var(--mf))) solid var(--ink);font:800 max(calc(var(--u) * 2.3),calc(9.5px * var(--mf)))/1.2 "GK Sofia",system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.gkg-eyebrow>span:last-child{color:var(--pink-ink)}
.gkg-eyebrow{align-items:flex-end}
.gkg-presents{display:inline-flex;align-items:center;gap:calc(var(--u) * 1.8)}
.gkg-presents .gk-brand{padding:0}
.gkg-presents .gk-logo{height:max(calc(var(--u) * 5),calc(15px * var(--mf)))}
.gkg-title{margin-top:calc(var(--u) * 3.4);font-family:"GK Anton",Impact,sans-serif;text-transform:uppercase;line-height:.88;letter-spacing:.005em}
.gkg-title__a{display:block;font-size:calc(var(--u) * 20);color:var(--blue);text-shadow:calc(var(--u) * .8) calc(var(--u) * .55) 0 var(--pink)}
.gkg-title__b{display:block;margin-top:calc(var(--u) * 1.4);font-size:calc(var(--u) * 8.4);color:var(--pink-ink)}
.gkg-to{margin-top:calc(var(--u) * 2.8);font:600 calc(var(--u) * 4.4)/1.15 "GK Sofia",system-ui,sans-serif}
.gkg-to b{font-weight:850}
.gkg-to.gk-names--long{font-size:calc(var(--u) * 3.6)}
.gkg-fields{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(auto-fit,minmax(0,1fr));margin-top:calc(var(--u) * 3.4);border-top:max(calc(var(--u) * .35),calc(1px * var(--mf))) solid var(--ink);border-bottom:max(calc(var(--u) * .35),calc(1px * var(--mf))) solid var(--ink)}
.gkg-field{min-width:0;padding:calc(var(--u) * 1.5) calc(var(--u) * 2.4) calc(var(--u) * 1.7)}
.gkg-field+.gkg-field{border-left:max(calc(var(--u) * .25),calc(1px * var(--mf))) dashed var(--ink)}
.gkg-field:first-child{padding-left:0}
.gkg-field dt{font:800 max(calc(var(--u) * 1.9),calc(9px * var(--mf)))/1.2 "GK Sofia",system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.gkg-field dd{margin-top:calc(var(--u) * .5);font:850 calc(var(--u) * 4.2)/1.1 "GK Sofia",system-ui,sans-serif}
.gkg-field dd small{font-size:.62em;font-weight:700;letter-spacing:.02em}
.gkg-msg{margin-top:calc(var(--u) * 3);font:500 calc(var(--u) * 3.4)/1.38 "GK Sofia",system-ui,sans-serif}
.gkg-msg.gk-msg--m{font-size:max(calc(var(--u) * 3.05),var(--min))}
.gkg-msg.gk-msg--s{font-size:max(calc(var(--u) * 2.7),var(--min))}
.gkg .gk-fine{margin-top:auto;padding-top:calc(var(--u) * 3);font-family:"GK Sofia",system-ui,sans-serif;font-size:max(calc(var(--u) * 2.35),var(--min));color:#3b4064}
.gkg-stub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:calc(var(--u) * 2);padding:calc(var(--u) * 6.5) calc(var(--u) * 4) calc(var(--u) * 6);
    background:#ffe8f0 radial-gradient(var(--pink) 0 calc(var(--u) * .28),transparent calc(var(--u) * .32)) 0 0 / calc(var(--u) * 2.2) calc(var(--u) * 2.2);
    border-left:max(calc(var(--u) * .5),calc(2px * var(--mf))) dotted var(--ink)}
.gkg-stub::before{content:"";position:absolute;inset:0;background:linear-gradient(#ffe8f0e6,#ffe8f0e6)}
.gkg-stub>*{position:relative}
.gkg-stub__label{display:flex;justify-content:space-between;align-self:stretch;font:400 calc(var(--u) * 3.6)/1 "GK Anton",Impact,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.gkg-stub .gk-qrbox{margin:auto 0}
.gkg-stub .gk-qr{box-shadow:0 0 0 max(calc(var(--u) * .35),calc(1px * var(--mf))) var(--ink)}
.gkg-stub .gk-code__label{color:var(--ink)}
.gkg-cover{background:#fff;color:var(--ink);align-content:center;padding:calc(var(--u) * 12)}
.gkg-cover{--ink:#1b1f3b;--pink:#ff4f8b;--pink-ink:#e8336f;--blue:#3255d8;--yellow:#ffc93c}
.gkg-cover .gkg-confetti{-webkit-mask:none;mask:none}
.gkg-cover>*:not(.gkg-confetti){position:relative}
.gkg-title--cover .gkg-title__a{font-size:calc(var(--u) * 28)}
.gkg-title--cover .gkg-title__b{font-size:calc(var(--u) * 11)}

/* ---------- Eigener Anlass: Einladungskarte im Buchdruck ---------- */
.gka{--ink:#3a1d3d;--muted:#73566f;--gold:#a8853a;--paper:#eeeaf0;
    padding:calc(var(--u) * 3.4);color:var(--ink);border:calc(var(--u) * 1.1) solid #b8954a;
    background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .3 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.gka-frame{display:grid;grid-template-columns:minmax(0,1fr) calc(var(--u) * 44);height:100%;border:max(calc(var(--u) * .95),calc(3px * var(--mf))) double var(--gold)}
.gka-main{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:calc(var(--u) * 5) calc(var(--u) * 6);text-align:center}
.gka-orn{display:block;width:calc(var(--u) * 30);height:auto;flex:none}
.gka-orn path:first-child{fill:none;stroke:var(--gold);stroke-width:.45}
.gka-orn path:nth-child(2),.gka-orn circle{fill:var(--gold)}
.gka-eyebrow{margin-top:calc(var(--u) * 2.2);font:500 max(calc(var(--u) * 2.2),calc(9.5px * var(--mf)))/1.3 "GK Archivo",system-ui,sans-serif;letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:var(--muted)}
.gka-title{margin-top:calc(var(--u) * 2.4);font-family:"GK Archivo",system-ui,sans-serif;font-weight:800;line-height:1.02;letter-spacing:-.018em;color:var(--ink);text-wrap:balance;
    text-shadow:0 calc(var(--u) * .22) 0 rgba(255,255,255,.8),0 calc(var(--u) * -.14) 0 rgba(58,29,61,.28)}
.gka-title--l{font-size:calc(var(--u) * 11)}
.gka-title--m{font-size:calc(var(--u) * 8.2)}
.gka-title--s{font-size:calc(var(--u) * 6.1)}
.gka-to{margin-top:calc(var(--u) * 2.4);font:600 max(calc(var(--u) * 2.6),var(--min))/1.3 "GK Archivo",system-ui,sans-serif;letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;color:var(--muted)}
.gka-gift{margin-top:calc(var(--u) * 3);padding:calc(var(--u) * 2) calc(var(--u) * 7) calc(var(--u) * 1.8);border-top:max(calc(var(--u) * .3),calc(1px * var(--mf))) solid var(--gold);border-bottom:max(calc(var(--u) * .3),calc(1px * var(--mf))) solid var(--gold)}
.gka-amount{font:250 calc(var(--u) * 13)/1 "GK Archivo",system-ui,sans-serif;letter-spacing:-.02em}
.gka-product{font:700 calc(var(--u) * 6)/1.1 "GK Archivo",system-ui,sans-serif}
.gka-plan{margin-top:calc(var(--u) * .8);font:500 max(calc(var(--u) * 2.4),var(--min))/1.3 "GK Archivo",system-ui,sans-serif;letter-spacing:.06em;color:var(--muted)}
.gka-msg{max-width:calc(var(--u) * 94);margin-top:calc(var(--u) * 3);font:400 calc(var(--u) * 3.2)/1.48 "GK Archivo",system-ui,sans-serif;color:#4a2e4c}
.gka-msg.gk-msg--m{font-size:max(calc(var(--u) * 2.9),var(--min))}
.gka-msg.gk-msg--s{font-size:max(calc(var(--u) * 2.55),var(--min))}
.gka-from{margin-top:calc(var(--u) * 1.6);font:500 max(calc(var(--u) * 2.8),var(--min))/1.3 "GK Archivo",system-ui,sans-serif;color:var(--muted)}
.gka-reply{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:calc(var(--u) * 3);min-width:0;padding:calc(var(--u) * 5) calc(var(--u) * 3.6) calc(var(--u) * 4);border-left:max(calc(var(--u) * .3),calc(1px * var(--mf))) solid var(--gold);background:rgba(255,255,255,.38);text-align:center}
.gka-reply .gk-qr{box-shadow:0 0 0 max(calc(var(--u) * .3),calc(1px * var(--mf))) var(--gold)}
.gka-reply .gk-code__value{font-size:max(calc(var(--u) * 2.6),calc(10.5px * var(--mf)))}
.gka .gk-fine{align-items:center;font-family:"GK Archivo",system-ui,sans-serif;font-size:max(calc(var(--u) * 2.05),var(--min));color:var(--muted)}
.gka .gk-dates{flex-direction:column;align-items:center}
.gka-reply .gk-brand .gk-logo{height:max(calc(var(--u) * 5.6),calc(16px * var(--mf)))}
.gka-frame--cover .gk-brand--cover{position:static;margin-top:calc(var(--u) * 6)}
.gka .gk-issuer{justify-content:center}
.gka-cover{--ink:#3a1d3d;--muted:#73566f;--gold:#a8853a;--paper:#eeeaf0;padding:calc(var(--u) * 3.4);border:calc(var(--u) * 1.1) solid #b8954a;background:var(--paper);color:var(--ink)}
.gka-frame--cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:calc(var(--u) * 8);text-align:center}
.gka-frame--cover .gka-orn+.gka-eyebrow{margin-top:calc(var(--u) * 4)}
.gka-frame--cover .gka-to{margin-bottom:calc(var(--u) * 4)}
.gka-frame--cover .gka-title--l{font-size:calc(var(--u) * 15)}
.gka-frame--cover .gka-title--m{font-size:calc(var(--u) * 11)}

/* ---------- Allgemein: Bordkarte ins Spiel ---------- */
.gkb{--navy:#131e3e;--blue:#2558d9;--gate:#f5b82e;--muted:#5d6782;--field:#f1f3f8;--stub:calc(var(--u) * 48);
    grid-template-columns:minmax(0,1fr) var(--stub);color:var(--navy);background:#fff;
    -webkit-mask:radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 0,#0000 97%,#000 100%) top / 100% 51% no-repeat,radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 100%,#0000 97%,#000 100%) bottom / 100% 51% no-repeat;
    mask:radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 0,#0000 97%,#000 100%) top / 100% 51% no-repeat,radial-gradient(circle calc(var(--u) * 3) at calc(100% - var(--stub)) 100%,#0000 97%,#000 100%) bottom / 100% 51% no-repeat}
.gkb-main{display:flex;flex-direction:column;min-width:0}
.gkb-head{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 3);min-height:calc(var(--u) * 13);padding:calc(var(--u) * 3) calc(var(--u) * 7);background:var(--navy);color:#fff}
.gkb-head .gk-logo{height:calc(var(--u) * 6);--gk-logo-a:#f4f4f5;--gk-logo-b:#8c9099}
.gkb-head__kind{font:700 max(calc(var(--u) * 2.6),calc(10px * var(--mf)))/1.1 "GK Chakra",system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--gate)}
.gkb-title{padding:calc(var(--u) * 3.6) calc(var(--u) * 7) 0;font:700 calc(var(--u) * 6.4)/1.05 "GK Chakra",system-ui,sans-serif;letter-spacing:-.005em}
.gkb-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--u) * 2.6) calc(var(--u) * 3);padding:calc(var(--u) * 3.4) calc(var(--u) * 7) 0}
.gkb-f{grid-column:span 2;min-width:0}
.gkb-f dt{font:600 max(calc(var(--u) * 1.9),calc(9px * var(--mf)))/1.2 "GK Chakra",system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.gkb-f dd{margin-top:calc(var(--u) * .5);font:600 max(calc(var(--u) * 3.1),var(--min))/1.2 "GK Mono",ui-monospace,monospace;letter-spacing:-.01em}
.gkb-f--to dd,.gkb-f--from dd{font:700 calc(var(--u) * 4.8)/1.1 "GK Chakra",system-ui,sans-serif}
.gkb-f--to.gk-names--long dd,.gkb-f--from.gk-names--long dd{font-size:calc(var(--u) * 3.8)}
.gkb-f--route{display:flex;align-items:center;padding-top:calc(var(--u) * 2.6)}
.gkb-f--route svg{display:block;width:100%;height:auto}
.gkb-dash{fill:none;stroke:var(--blue);stroke-width:.9;stroke-dasharray:2 1.6}
.gkb-arrow{fill:var(--blue)}
.gkb-f--dest dd{font:700 calc(var(--u) * 5.2)/1.1 "GK Chakra",system-ui,sans-serif}
.gkb-f--gate dd{font-size:max(calc(var(--u) * 2.5),var(--min));overflow-wrap:normal}
.gkb-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:calc(var(--u) * 3);margin:calc(var(--u) * 3.6) calc(var(--u) * 7) 0;padding:calc(var(--u) * 2.2) calc(var(--u) * 3);background:var(--field);border-left:calc(var(--u) * .9) solid var(--gate)}
.gkb-note__label{font:600 max(calc(var(--u) * 1.9),calc(9px * var(--mf)))/1.6 "GK Chakra",system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.gkb-msg{font:400 calc(var(--u) * 3)/1.4 "GK Inter",system-ui,sans-serif}
.gkb-msg.gk-msg--m{font-size:max(calc(var(--u) * 2.75),var(--min))}
.gkb-msg.gk-msg--s{font-size:max(calc(var(--u) * 2.45),var(--min))}
.gkb-fine{margin-top:auto;padding:calc(var(--u) * 3) calc(var(--u) * 7) calc(var(--u) * 4.4);color:var(--muted)}
.gkb-stub{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 3);padding-bottom:calc(var(--u) * 8);background:var(--field);
    background-image:linear-gradient(var(--navy) 55%,transparent 0);background-size:max(calc(var(--u) * .45),calc(2px * var(--mf))) calc(var(--u) * 2.2);background-repeat:repeat-y;background-position:0 0}
.gkb-stub::after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--u) * 3.2);background:repeating-linear-gradient(-45deg,var(--gate) 0 calc(var(--u) * 2.2),var(--navy) calc(var(--u) * 2.2) calc(var(--u) * 4.4))}
.gkb-stub__head{align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:calc(var(--u) * 13);padding:calc(var(--u) * 3);background:var(--navy);font:700 max(calc(var(--u) * 2.6),calc(10px * var(--mf)))/1.1 "GK Chakra",system-ui,sans-serif;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--gate)}
.gkb-stub .gk-qr{box-shadow:0 0 0 max(calc(var(--u) * .3),calc(1px * var(--mf))) #d5dae6}
.gkb-stub .gk-code__label{font-family:"GK Chakra",system-ui,sans-serif;color:var(--muted)}
.gkb-cover{grid-template-rows:auto 1fr;background:#fff;color:#131e3e}
.gkb-cover{--navy:#131e3e;--blue:#2558d9;--gate:#f5b82e;--muted:#5d6782}
.gkb-cover__body{position:relative;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--u) * 10) calc(var(--u) * 12);background:#fff}
.gkb-cover__body::after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(var(--u) * 3.2);background:repeating-linear-gradient(-45deg,var(--gate) 0 calc(var(--u) * 2.2),var(--navy) calc(var(--u) * 2.2) calc(var(--u) * 4.4))}
.gkb-title--cover{padding:0;font-size:calc(var(--u) * 12)}
.gkb-cover__to{margin-top:calc(var(--u) * 4);font:700 calc(var(--u) * 6)/1.1 "GK Chakra",system-ui,sans-serif}
.gkb-cover__to span{display:block;margin-bottom:calc(var(--u) * 1);font-size:calc(var(--u) * 2.2);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* ---------- Schmale Ansicht (Handy): Karte wächst in die Höhe, Abschnitt rutscht nach unten ---------- */
@container gk (max-width: 520px){
    .gkw,.gkg,.gkb{aspect-ratio:auto}
    .gkg,.gkb{grid-template-columns:minmax(0,1fr);-webkit-mask:none;mask:none}
    .gkg-stub,.gkb-stub{flex-direction:row;flex-wrap:wrap;justify-content:center;border-left:0;border-top:2px dotted #1b1f3b;padding:18px 16px 22px;background-image:none}
    .gkb-stub{border-top-color:#131e3e;padding-top:0}
    .gkg-stub__label,.gkb-stub__head{flex-basis:100%}
    .gk-qr{width:150px;height:150px}
    .gk-stamp,.gkw-tag .gk-stamp{top:75px}
    .gkw{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}
    .gkw-band{order:2;padding:150px 20px 20px}
    .gkw-sprig{width:260px;left:50%;margin-left:-130px}
    .gkw-string{top:90px;height:70px}
    .gkw-tag{width:200px;padding:42px 12px 14px}
    .gkw-tag .gk-qr{width:150px;height:150px}
    .gka{aspect-ratio:auto}
    .gka-frame{grid-template-columns:minmax(0,1fr)}
    .gka-reply{border-left:0;border-top:1px solid var(--gold)}
    .gk-card{--u:calc(100cqw / 120)}
    .gkb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .gkb-f{grid-column:span 1}
    .gkb-f--route{display:none}
    .gkb-f--dest,.gkb-f--gate{grid-column:span 2}
}

/* ---------- Druck: A4-Bogen ---------- */
@page gk{size:A4 portrait;margin:10mm}
@media print{
    /* Seite mit einer druckbaren Karte (nicht in .gk-preview): nur der Bogen, sonst nichts */
    body:has(.gk:not(.gk-preview *)) *:not(:has(.gk:not(.gk-preview *))):not(.gk:not(.gk-preview *)):not(.gk:not(.gk-preview *) *){display:none!important}
    body:has(.gk:not(.gk-preview *)) :has(.gk:not(.gk-preview *)){margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:none!important;position:static!important;transform:none!important;width:auto!important;max-width:none!important;min-height:0!important;height:auto!important;overflow:visible!important;display:block!important}
    body:has(.gk:not(.gk-preview *)){margin:0!important;background:#fff!important}
    .gk:not(.gk-preview *){container-type:normal;width:190mm}
    .gk:not(.gk-preview *) .gk-sheet{page:gk;display:flex;flex-direction:column;align-items:center;width:190mm;padding-top:9mm}
    .gk:not(.gk-preview *) .gk-panel{width:176mm;height:116mm;filter:none}
    .gk:not(.gk-preview *) .gk-panel--cover{display:block}
    .gk:not(.gk-preview *) .gk-card,.gk:not(.gk-preview *) .gk-cover{--u:1mm;--mf:0;--min:0px;width:176mm;height:116mm;aspect-ratio:auto;border-radius:0}
    .gk:not(.gk-preview *) .gk-mark{display:block;position:absolute;width:8mm;height:8mm;
        background:linear-gradient(#000,#000) no-repeat,linear-gradient(#000,#000) no-repeat}
    .gk:not(.gk-preview *) .gk-mark--tl{left:-8mm;top:-8mm;background-size:6mm .2mm,.2mm 6mm;background-position:0 100%,100% 0}
    .gk:not(.gk-preview *) .gk-mark--tr{right:-8mm;top:-8mm;background-size:6mm .2mm,.2mm 6mm;background-position:100% 100%,0 0}
    .gk:not(.gk-preview *) .gk-mark--ml{left:-8mm;bottom:-4mm;height:4mm;background-size:6mm .2mm;background-position:0 0}
    .gk:not(.gk-preview *) .gk-mark--mr{right:-8mm;bottom:-4mm;height:4mm;background-size:6mm .2mm;background-position:100% 0}
    .gk:not(.gk-preview *) .gk-mark--bl{left:-8mm;bottom:-8mm;background-size:6mm .2mm,.2mm 6mm;background-position:0 0,100% 100%}
    .gk:not(.gk-preview *) .gk-mark--br{right:-8mm;bottom:-8mm;background-size:6mm .2mm,.2mm 6mm;background-position:100% 0,0 100%}
    .gk:not(.gk-preview *) .gk-fold{display:block;position:relative;z-index:3;width:176mm;height:0;border-top:.25mm dashed #6b6b6b}
    .gk:not(.gk-preview *) .gk-fold span{position:absolute;left:50%;top:-1.7mm;transform:translateX(-50%);padding:0 2.5mm;background:#fff;border-radius:1mm;font:500 2.4mm/1 "GK Inter",system-ui,sans-serif;letter-spacing:.06em;color:#555}
    .gk:not(.gk-preview *) .gk-sheet-note{display:block;width:150mm;margin-top:12mm;font:400 3mm/1.45 "GK Inter",system-ui,sans-serif;color:#333;text-align:center}
    .gk .gkg,.gk .gkb{-webkit-mask:none;mask:none}
    .gk .gkw-amount{background:none;-webkit-text-fill-color:currentColor;color:#8a4b1c}
    .gk .gk-card .gkw-sprig,.gk .gkw-tag{filter:none}
    .gk .gkw-tag::before{box-shadow:none;outline:.2mm solid #c58a4e}
    .gk-preview .gk{break-inside:avoid}
}

@media (prefers-reduced-motion: reduce){.gk *{transition:none!important;animation:none!important}}

/* ---------- Feinschliff ---------- */
.gk .gk-card *,.gk .gk-cover *{font-variant-numeric:lining-nums}
.gk-issuer{gap:calc(var(--u) * .4) calc(var(--u) * 1.2)}
.gka .gk-issuer{flex-direction:column;justify-content:center;gap:0}
.gka .gk-issuer .gk-sep{display:none}
.gkg .gkg-title__a{font-size:calc(var(--u) * 23)}
.gkg .gkg-title__b{font-size:calc(var(--u) * 9.6)}
.gkb-f--dest{grid-column:span 3}
.gkb-f--pkg{grid-column:span 1}
@container gk (max-width: 520px){.gkb-f--pkg{grid-column:span 1}.gkb-f--dest{grid-column:span 2}}
/* Konfetti nur hinter der Schlagzeile: Kopfzeile, Felder und Text liegen auf weißem Papier */
.gkg-eyebrow,.gkg-fields,.gkg-msg,.gkg .gk-fine{background:#fff;box-shadow:0 0 0 calc(var(--u) * 1) #fff}
/* Kein abgeschnittener Text (Abnahme #6): Kopfzeilen dürfen umbrechen, lange Wörter brechen, Konfetti bleibt im eigenen SVG */
.gkg-confetti{overflow:hidden}
.gkg-eyebrow{flex-wrap:wrap;row-gap:calc(var(--u) * .9)}
.gkg-eyebrow>span,.gkg-presents>span{min-width:0;overflow-wrap:anywhere}
.gkg-title__a,.gkg-title__b,.gkw-title,.gka-title,.gkb-title,.gkg-to,.gkg-field dd{overflow-wrap:anywhere}

/* Vermerk auf einer schon eingelösten bzw. abgelaufenen Karte (Käufer ruft sie erneut ab) – liegt schräg über der Karte,
   Text bleibt lesbar (halbdeckend), im Druck/PDF in mm */
.gk-used{position:absolute;z-index:6;top:50%;left:50%;margin:0;transform:translate(-50%,-50%) rotate(-10deg);padding:.25em .7em;
    border:.12em solid #1b1f3b;border-radius:.2em;background:rgba(255,255,255,.6);color:#1b1f3b;white-space:nowrap;pointer-events:none;
    font:700 clamp(18px,6cqw,56px)/1.1 "GK Inter",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
@media print{.gk:not(.gk-preview *) .gk-used{font-size:11mm}}
