@layer vendor, site;
@layer site {
/* NordFly Cookie Consent v551 — isolated from existing site styles */
:root{--nfgc-blue:#18a7e6;--nfgc-cyan:#50d2ff;--nfgc-bg:#091829;--nfgc-ink:#e9f5ff;--nfgc-muted:#afc0d0}
.nfgc-banner,.nfgc-modal{box-sizing:border-box;font-family:inherit;color:var(--nfgc-ink);font-size:14px;line-height:1.55}
.nfgc-banner *,.nfgc-modal *{box-sizing:border-box}
.nfgc-banner[hidden],.nfgc-modal[hidden],.nfgc-overlay[hidden]{display:none}
.nfgc-banner{position:fixed;bottom:18px;left:50%;z-index:2147482000;transform:translateX(-50%);width:min(1050px,calc(100% - 32px));padding:24px 26px;background:linear-gradient(112deg,#081b30 0%,#102a45 100%);border:1px solid rgba(104,193,239,.32);border-top:3px solid #30baf4;border-radius:18px;box-shadow:0 16px 80px rgba(0,6,14,.57),0 0 0 1px rgba(255,255,255,.025);}
.nfgc-banner-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(215px,260px);align-items:center;gap:26px}
.nfgc-eyebrow{display:flex;align-items:center;gap:9px;color:var(--nfgc-cyan);letter-spacing:.11em;font-size:11px;font-weight:800;text-transform:uppercase;margin:0 0 7px}
.nfgc-eyebrow:before{content:"";width:22px;height:2px;background:var(--nfgc-cyan)}
.nfgc-banner h2{font-size:clamp(21px,2.3vw,27px);line-height:1.19;color:#fff;margin:0 0 9px;font-weight:800;letter-spacing:-.025em}
.nfgc-banner p{margin:0;color:#c2d0dd;font-size:13px;line-height:1.67}
.nfgc-small-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px;font-size:12px}
.nfgc-banner a,.nfgc-modal a{color:#7edbff;text-decoration:underline;text-underline-offset:3px}
.nfgc-actions{display:grid;gap:9px;min-width:0}
.nfgc-btn{min-height:41px;border-radius:9px;padding:10px 13px;border:1px solid rgba(132,184,220,.58);font:inherit;font-size:13px;line-height:1.3;font-weight:750;cursor:pointer;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal}
.nfgc-btn:hover{transform:translateY(-1px)}
.nfgc-btn:focus-visible,.nfgc-switch input:focus-visible+.nfgc-track,.nfgc-modal-close:focus-visible{outline:3px solid #93e4ff;outline-offset:3px}
/* v738: Weiß auf Blau mit mindestens 4,5:1 – Grund 4,9:1 (vorher 4,3:1), Hover 5,3:1 (vorher 3,3:1). */
.nfgc-btn-primary{color:#fff;background:#0676bd;border-color:#1496df}
.nfgc-btn-primary:hover{background:#0670b3}
.nfgc-btn-outline{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(164,202,231,.64)}
.nfgc-btn-outline:hover{background:rgba(255,255,255,.14)}
.nfgc-btn-quiet{color:#cee6f5;background:transparent;border-color:rgba(140,173,196,.35)}
.nfgc-btn-quiet:hover{background:rgba(255,255,255,.075)}
.nfgc-overlay{position:fixed;inset:0;background:rgba(0,8,20,.74);z-index:2147482100;backdrop-filter:blur(5px)}
.nfgc-modal{position:fixed;z-index:2147482101;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}
.nfgc-panel{width:min(620px,100%);max-height:min(860px,calc(100dvh - 44px));background:#0b1d32;border-radius:18px;border:1px solid rgba(112,187,224,.38);box-shadow:0 25px 95px rgba(0,0,0,.65);display:flex;flex-direction:column;overflow:hidden}
.nfgc-panel-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 19px;border-bottom:1px solid rgba(182,214,235,.15)}
.nfgc-panel-header h2{font-size:24px;font-weight:800;line-height:1.25;color:#fff;margin:0}
.nfgc-panel-header .nfgc-eyebrow{margin-bottom:6px}
.nfgc-modal-close{display:grid;place-items:center;flex:none;background:rgba(255,255,255,.07);border:1px solid rgba(180,212,236,.26);width:34px;height:34px;border-radius:9px;color:#fff;font-size:21px;cursor:pointer}
.nfgc-panel-body{padding:18px 26px;overflow:auto;overscroll-behavior:contain}
.nfgc-panel-body>p{margin:0 0 15px;font-size:13px;line-height:1.65;color:#c3d3e1}
.nfgc-option{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:rgba(255,255,255,.035);border:1px solid rgba(141,188,221,.19);border-radius:12px;padding:16px;margin:0 0 10px}
.nfgc-option h3{font-size:15px;color:#fff;margin:0 0 3px;font-weight:750}
.nfgc-option p{font-size:12px;line-height:1.56;color:#b4c7d8;margin:0}
.nfgc-option-note{display:block;color:#79d9ff;font-size:11px;font-weight:800;margin-top:7px}
.nfgc-switch{position:relative;display:block;width:47px;height:27px;flex:none}
.nfgc-switch input{opacity:0;position:absolute;width:100%;height:100%;margin:0;cursor:pointer}
.nfgc-track{display:block;background:#415269;border:1px solid #77889b;border-radius:30px;width:47px;height:27px;transition:background .2s}
.nfgc-track:before{content:"";display:block;position:absolute;width:19px;height:19px;top:4px;left:4px;background:#fff;border-radius:50%;transition:transform .2s}
.nfgc-switch input:checked+.nfgc-track{background:#0c8ed2;border-color:#50cfff}
.nfgc-switch input:checked+.nfgc-track:before{transform:translateX(20px)}
.nfgc-switch input:disabled+.nfgc-track{opacity:.43;cursor:not-allowed}
.nfgc-state{font-size:11px;color:#80d9ff;font-weight:800;white-space:nowrap}
.nfgc-panel-foot{padding:17px 26px 22px;border-top:1px solid rgba(182,214,235,.15);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.nfgc-panel-foot .nfgc-btn{font-size:12px}
body.nfgc-modal-open{overflow:hidden}
@media(max-width:700px){.nfgc-banner{bottom:10px;padding:19px;max-height:calc(100dvh - 20px);overflow:auto}.nfgc-banner-layout{grid-template-columns:1fr;gap:17px}.nfgc-actions{grid-template-columns:1fr 1fr;gap:8px}.nfgc-actions button:last-child{grid-column:1/-1}.nfgc-panel-header{padding:18px}.nfgc-panel-body{padding:16px 18px}.nfgc-panel-foot{padding:16px 18px;grid-template-columns:1fr 1fr}.nfgc-panel-foot button:last-child{grid-column:1/-1}}
@media(max-width:390px){.nfgc-actions{grid-template-columns:1fr}.nfgc-actions button:last-child{grid-column:auto}.nfgc-panel-foot{grid-template-columns:1fr}.nfgc-panel-foot button:last-child{grid-column:auto}}
/* v774: Schliessen-X als gezeichnete SVG-Maske, exakt mittig (vorher Schriftzeichen „×“, sass tiefer). */
.nfgc-modal-close{position:relative;font-size:0;line-height:0}
.nfgc-modal-close::before{content:"";position:absolute;inset:0;width:16px;height:16px;margin:auto;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E") center/contain no-repeat}
@media(prefers-reduced-motion:reduce){.nfgc-btn,.nfgc-track,.nfgc-track:before{transition:none}}
/* v1045: Zwei-Klick-Platzhalter für LiveMap und Streckennetz-Karte („Karten & LiveMap“) */
.nfgc-gate{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:290px;padding:28px 22px;text-align:center;font-size:14px;line-height:1.6;color:var(--nfgc-ink);border-radius:inherit;background-color:#0a1d33;background-image:linear-gradient(rgba(126,219,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(126,219,255,.055) 1px,transparent 1px),linear-gradient(135deg,#081b30 0%,#102a45 100%);background-size:44px 44px,44px 44px,auto}
.nfgc-gate *{box-sizing:border-box}
.nfgc-gate-inner{max-width:560px}
.nfgc-gate-icon{display:inline-grid;place-items:center;width:54px;height:54px;margin:0 0 12px;border-radius:50%;background:rgba(80,210,255,.12);color:var(--nfgc-cyan)}
.nfgc-gate h3{margin:0 0 8px;color:#fff;font-size:20px;line-height:1.25;font-weight:800;letter-spacing:-.015em}
.nfgc-gate p{margin:0 0 18px;color:#c2d0dd;font-size:13.5px;line-height:1.65}
.nfgc-gate-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px}
.nfgc-gate-actions .nfgc-btn{min-width:170px}
.nfgc-gate-remember{display:inline-flex;align-items:center;gap:8px;color:#cee6f5;font-size:13px;cursor:pointer}
.nfgc-gate-remember input{width:17px;height:17px;margin:0;accent-color:#18a7e6}
.nfgc-gate-more{display:inline-block;margin-top:14px;color:#7edbff;font-size:12.5px;text-decoration:underline;text-underline-offset:3px}
.nfgc-gate-more:hover{color:#b5ecff}
.livemap-widget-shell .nfgc-gate{flex:1;border-radius:18px;min-height:clamp(290px,calc(100svh - 413px - 2 * var(--nf-section-pad,80px)),680px)}
.livemap-stats.is-gated .livemap-stat-card strong{opacity:.55}
/* Ungeladenes LiveMap-iframe nimmt keinen Platz ein (eine bestehende display-Regel überschrieb [hidden]) */
.livemap-widget-shell iframe[hidden]{display:none!important}
@media(max-width:560px){.nfgc-gate{padding:24px 16px}.nfgc-gate h3{font-size:18px}.nfgc-gate-actions .nfgc-btn{width:100%}}
}
