
:root{
    --qxl-gdpr-orange:#ff7900;
    --qxl-gdpr-black:#151515;
    --qxl-gdpr-line:#dedede;
    --qxl-gdpr-soft:#f6f7f8;
    --qxl-gdpr-text:#171717;
    --qxl-gdpr-muted:#69707a;
}
.qxl-gdpr-overlay{position:fixed;inset:0;background:rgba(0,0,0,.32);z-index:999998;backdrop-filter:blur(2px)}
.qxl-gdpr-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:999999;background:#fff;border:1px solid #d8dadd;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.2);color:var(--qxl-gdpr-text);font-family:inherit}
.qxl-gdpr-banner__inner{max-width:1500px;margin:0 auto;padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.qxl-gdpr-banner__copy h2{margin:4px 0 8px;font-size:25px;line-height:1.1;letter-spacing:-.02em}
.qxl-gdpr-banner__copy p{margin:0;color:#4e5359;font-size:14px;line-height:1.55;max-width:850px}
.qxl-gdpr-kicker{display:block;color:var(--qxl-gdpr-orange);font-size:11px;font-weight:800;letter-spacing:.11em}
.qxl-gdpr-links{margin-top:8px!important}.qxl-gdpr-links a{color:#111;text-decoration:underline}
.qxl-gdpr-banner__actions{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:8px}
.qxl-gdpr-btn{appearance:none;border:1px solid #171717;border-radius:999px;min-height:46px;padding:0 18px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;white-space:nowrap}
.qxl-gdpr-btn--dark{background:#171717;color:#fff}
.qxl-gdpr-btn--light{background:#fff;color:#171717}
.qxl-gdpr-btn--orange{background:var(--qxl-gdpr-orange);border-color:var(--qxl-gdpr-orange);color:#fff}
.qxl-gdpr-btn:hover{transform:translateY(-1px)}
.qxl-gdpr-modal{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:18px}
.qxl-gdpr-modal[hidden],.qxl-gdpr-banner[hidden],.qxl-gdpr-overlay[hidden]{display:none!important}
.qxl-gdpr-modal__box{position:relative;width:min(620px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:#fff;border-radius:20px;border:1px solid #ddd;box-shadow:0 28px 80px rgba(0,0,0,.28);padding:28px}
.qxl-gdpr-modal__close{position:absolute;top:15px;right:15px;width:38px;height:38px;border-radius:50%;border:1px solid #dedede;background:#fff;font-size:24px;line-height:1;cursor:pointer}
.qxl-gdpr-modal h2{font-size:28px;margin:5px 0 8px;letter-spacing:-.03em}.qxl-gdpr-modal__intro{color:var(--qxl-gdpr-muted);margin:0 0 20px}
.qxl-gdpr-pref{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:16px 0;border-top:1px solid #ececec}
.qxl-gdpr-pref__text strong{display:block;font-size:15px}.qxl-gdpr-pref__text span{display:block;color:#6a7078;font-size:13px;margin-top:3px}
.qxl-gdpr-switch input{position:absolute;opacity:0;pointer-events:none}
.qxl-gdpr-switch span{display:block;width:48px;height:28px;border-radius:99px;background:#d5d8dc;position:relative;cursor:pointer;transition:.18s}
.qxl-gdpr-switch span:after{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s}
.qxl-gdpr-switch input:checked+span{background:var(--qxl-gdpr-orange)}.qxl-gdpr-switch input:checked+span:after{transform:translateX(20px)}
.qxl-gdpr-switch.is-locked span{opacity:.6;cursor:not-allowed}
.qxl-gdpr-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.qxl-gdpr-floating{position:fixed;left:18px;bottom:18px;z-index:999990;border:1px solid #d9d9d9;background:#fff;color:#111;border-radius:999px;padding:10px 14px;font:inherit;font-size:12px;font-weight:700;box-shadow:0 8px 25px rgba(0,0,0,.1);cursor:pointer}
body.qxl-gdpr-banner-open .qxl-gdpr-floating{display:none}
.qxl-gdpr-footer-links{max-width:1500px;margin:10px auto 25px;padding:0 24px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;font-size:12px}.qxl-gdpr-footer-links a{color:#555;text-decoration:underline}
.qxl-gdpr-policy,.qxl-gdpr-data-center{width:min(1180px,calc(100% - 36px));margin:30px auto 70px;color:#1a1a1a}
.qxl-gdpr-policy__hero{padding:34px 0 28px;border-bottom:1px solid #dedede;margin-bottom:8px}.qxl-gdpr-policy__hero h1{margin:7px 0 12px;font-size:clamp(36px,5vw,62px);line-height:1;letter-spacing:-.05em}.qxl-gdpr-policy__hero p{max-width:800px;color:#555;font-size:17px;line-height:1.55}.qxl-gdpr-policy__hero small{color:#7a7f85}
.qxl-gdpr-policy section{padding:30px 0;border-bottom:1px solid #e5e5e5}.qxl-gdpr-policy section h2{font-size:24px;margin:0 0 14px;letter-spacing:-.02em}.qxl-gdpr-policy p,.qxl-gdpr-policy li{font-size:15px;line-height:1.72;color:#34383d}.qxl-gdpr-policy ul{padding-left:20px}
.qxl-gdpr-table-wrap{overflow-x:auto;border:1px solid #e0e0e0;border-radius:12px}.qxl-gdpr-table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.qxl-gdpr-table-wrap th,.qxl-gdpr-table-wrap td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid #e6e6e6;font-size:13px;line-height:1.55}.qxl-gdpr-table-wrap th{background:#f7f7f7;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.qxl-gdpr-inline-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #151515;border-radius:999px;min-height:44px;padding:0 18px;background:#fff;color:#151515!important;font:inherit;font-size:13px;font-weight:750;text-decoration:none!important;cursor:pointer;margin:4px 5px 4px 0}.qxl-gdpr-inline-button--dark{background:#151515;color:#fff!important}.qxl-gdpr-inline-button--orange{background:var(--qxl-gdpr-orange);border-color:var(--qxl-gdpr-orange);color:#fff!important}.qxl-gdpr-inline-button--danger{background:#b42318;border-color:#b42318;color:#fff!important}
.qxl-gdpr-cookie-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.qxl-gdpr-cookie-cards>div{border:1px solid #ddd;border-radius:14px;padding:18px}.qxl-gdpr-cookie-cards strong{font-size:17px}.qxl-gdpr-cookie-cards p{margin:7px 0 14px}.qxl-gdpr-cookie-cards span{font-size:11px;font-weight:800;text-transform:uppercase;color:#777}
.qxl-gdpr-center-card{border:1px solid #ddd;border-radius:16px;padding:24px;background:#fff;margin:20px 0}.qxl-gdpr-center-card h1,.qxl-gdpr-center-card h2{margin-top:4px}.qxl-gdpr-data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.qxl-gdpr-data-grid .qxl-gdpr-center-card{margin:0}.qxl-gdpr-center-card--danger{border-color:#f0c5c1}
.qxl-gdpr-notice{padding:14px 16px;border-radius:10px;margin-bottom:16px}.qxl-gdpr-notice.success{background:#ecfdf3;color:#067647}.qxl-gdpr-notice.error{background:#fef3f2;color:#b42318}
@media(max-width:900px){
  .qxl-gdpr-banner__inner{grid-template-columns:1fr}.qxl-gdpr-banner__actions{grid-template-columns:1fr}.qxl-gdpr-cookie-cards,.qxl-gdpr-data-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .qxl-gdpr-banner{left:8px;right:8px;bottom:8px;border-radius:15px}.qxl-gdpr-banner__inner{padding:18px;gap:16px}.qxl-gdpr-banner__copy h2{font-size:21px}.qxl-gdpr-modal__box{padding:22px 18px}.qxl-gdpr-modal__actions{grid-template-columns:1fr}.qxl-gdpr-floating{left:10px;bottom:10px}.qxl-gdpr-policy,.qxl-gdpr-data-center{width:calc(100% - 24px)}
}


/* v1.1 - centered first-visit consent popup; no floating privacy button */
.qxl-gdpr-floating,.qxl-gdpr-banner{display:none!important}
.qxl-gdpr-modal{background:transparent}
.qxl-gdpr-modal__box{width:min(680px,100%);padding:32px;border-radius:22px}
.qxl-gdpr-modal__links{margin:-8px 0 20px;color:#777;font-size:13px}
.qxl-gdpr-modal__links a{color:#222;text-decoration:underline}
.qxl-gdpr-modal__links span{margin:0 5px;color:#aaa}
.qxl-gdpr-modal__actions--three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){.qxl-gdpr-modal__actions--three{grid-template-columns:1fr}.qxl-gdpr-modal__box{padding:26px 20px}}


/* v1.2 — guaranteed first-visit modal popup */
.qxl-gdpr-floating,
.qxl-gdpr-banner { display:none !important; }
#qxl-gdpr-overlay.qxl-gdpr-overlay {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:block;
  background:rgba(17,17,17,.52) !important;
  backdrop-filter:blur(3px);
}
#qxl-gdpr-overlay[hidden] { display:none !important; }
#qxl-gdpr-modal.qxl-gdpr-modal {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483001 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  background:transparent !important;
}
#qxl-gdpr-modal[hidden] { display:none !important; }
#qxl-gdpr-modal .qxl-gdpr-modal__box {
  width:min(680px,100%) !important;
  max-height:calc(100vh - 36px) !important;
  overflow:auto !important;
  background:#fff !important;
  color:#171717 !important;
  border:1px solid #dedede !important;
  border-radius:22px !important;
  padding:32px !important;
  box-shadow:0 35px 100px rgba(0,0,0,.32) !important;
}
body:has(#qxl-gdpr-modal:not([hidden])) { overflow:hidden !important; }
@media(max-width:650px){
  #qxl-gdpr-modal.qxl-gdpr-modal{padding:10px !important;align-items:flex-end !important}
  #qxl-gdpr-modal .qxl-gdpr-modal__box{padding:24px 18px !important;border-radius:18px !important;max-height:calc(100vh - 20px) !important}
}


/* v1.5 — primary consent action 70%, save choices 30% */
#qxl-gdpr-modal .qxl-gdpr-modal__actions--two {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(0, 7fr) !important;
    gap: 10px !important;
}

#qxl-gdpr-modal .qxl-gdpr-modal__actions--two .qxl-gdpr-btn {
    width: 100% !important;
    min-width: 0 !important;
}

#qxl-gdpr-modal .qxl-gdpr-modal__actions--two [data-qxl-gdpr-save] {
    grid-column: 1;
}

#qxl-gdpr-modal .qxl-gdpr-modal__actions--two [data-qxl-gdpr-accept] {
    grid-column: 2;
}

@media (max-width: 420px) {
    #qxl-gdpr-modal .qxl-gdpr-modal__actions--two {
        grid-template-columns: 1fr !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__actions--two [data-qxl-gdpr-save],
    #qxl-gdpr-modal .qxl-gdpr-modal__actions--two [data-qxl-gdpr-accept] {
        grid-column: 1;
    }
}


/* v1.8 — compact mobile consent dialog */
@media (max-width: 650px) {
    #qxl-gdpr-modal.qxl-gdpr-modal {
        padding: 8px !important;
        align-items: flex-end !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__box {
        width: min(460px, 100%) !important;
        max-height: min(78dvh, 590px) !important;
        padding: 16px 15px 14px !important;
        border-radius: 18px 18px 14px 14px !important;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }

    #qxl-gdpr-modal .qxl-gdpr-kicker {
        font-size: 9px !important;
        line-height: 1.2 !important;
        letter-spacing: .08em !important;
    }

    #qxl-gdpr-modal h2 {
        margin: 3px 0 5px !important;
        font-size: 20px !important;
        line-height: 1.08 !important;
        letter-spacing: -.02em !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__intro {
        margin: 0 0 8px !important;
        font-size: 12px !important;
        line-height: 1.38 !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__links {
        margin: 0 0 7px !important;
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-pref {
        gap: 10px !important;
        padding: 9px 0 !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-pref__text strong {
        font-size: 13px !important;
        line-height: 1.2 !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-pref__text span {
        margin-top: 2px !important;
        font-size: 10.5px !important;
        line-height: 1.3 !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-switch span {
        width: 42px !important;
        height: 24px !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-switch span:after {
        width: 18px !important;
        height: 18px !important;
        left: 3px !important;
        top: 3px !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-switch input:checked + span:after {
        transform: translateX(18px) !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__actions,
    #qxl-gdpr-modal .qxl-gdpr-modal__actions--two {
        margin-top: 11px !important;
        gap: 7px !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-btn {
        min-height: 40px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 420px) {
    #qxl-gdpr-modal .qxl-gdpr-modal__box {
        max-height: 76dvh !important;
        padding: 14px 13px 12px !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-pref__text span {
        display: none !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-pref {
        min-height: 38px !important;
        padding: 7px 0 !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__actions--two {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__actions--two [data-qxl-gdpr-save] {
        grid-column: 1 !important;
    }

    #qxl-gdpr-modal .qxl-gdpr-modal__actions--two [data-qxl-gdpr-accept] {
        grid-column: 2 !important;
    }
}
