/**
 * RZ COOKIE — style banera zgody, okna ustawień, widgetu i panelu
 *
 * @package     RzCookie
 * @author      Radosław Żebrowski <r.zebrowski@outlook.com>
 * @copyright   2026 Radosław Żebrowski. Wszelkie prawa zastrzeżone.
 * @license     Własnościowa (proprietary) — użycie wyłącznie za pisemną zgodą Autora
 *              albo na podstawie faktury i licencji. Pełna treść: plik LICENSE.
 */
:root {
    --crz-accent:     #2563eb;
    --crz-accent-text:#ffffff;
    --crz-radius:     12px;
    --crz-bg:         #ffffff;
    --crz-bg-rgb:     255, 255, 255;
    --crz-text:       #1f2937;
    --crz-muted:      #6b7280;
    --crz-border:     #e5e7eb;
    --crz-shadow:     0 4px 28px rgba(0,0,0,.13),0 1px 4px rgba(0,0,0,.06);
    --crz-z:          999999;
    --crz-ease:       .25s cubic-bezier(.4,0,.2,1);
    --crz-opacity:    1;
    --crz-max-width:  720px;
    --crz-blur:       blur(0px);
}
[data-crz-theme="dark"] {
    --crz-bg:    #1f2937;
    --crz-bg-rgb:31, 41, 55;
    --crz-text:  #f9fafb;
    --crz-muted: #9ca3af;
    --crz-border:#374151;
    --crz-shadow:0 4px 28px rgba(0,0,0,.45);
}
.crz-hidden{display:none!important}

/* ── Banner ────────────────────────────────────────── */
.crz-banner{
    position:fixed;z-index:var(--crz-z);
    background:rgba(var(--crz-bg-rgb), var(--crz-opacity));color:var(--crz-text);
    box-shadow:var(--crz-shadow);border-radius:var(--crz-radius);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    font-size:14px;line-height:1.5;
    animation:crzUp var(--crz-ease) both;
    /* backdrop-filter dla efektu frosted glass przy opacity < 1 */
    backdrop-filter:var(--crz-blur);
}
.crz-banner[data-position="bottom-bar"]  {bottom:0;left:0;right:0;border-radius:var(--crz-radius) var(--crz-radius) 0 0;border-top:3px solid var(--crz-accent)}
.crz-banner[data-position="bottom-left"] {bottom:20px;left:20px;max-width:var(--crz-max-width);border-top:3px solid var(--crz-accent)}
.crz-banner[data-position="bottom-right"]{bottom:20px;right:20px;max-width:var(--crz-max-width);border-top:3px solid var(--crz-accent)}
@keyframes crzUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

.crz-banner__inner{display:flex;align-items:center;gap:20px;padding:18px 24px;flex-wrap:wrap}
.crz-banner[data-position="bottom-left"] .crz-banner__inner,
.crz-banner[data-position="bottom-right"] .crz-banner__inner{flex-direction:column;align-items:stretch}
.crz-banner__content{flex:1;min-width:200px}
.crz-banner__title{font-weight:700;font-size:15px;margin:0 0 5px}
.crz-banner__desc{margin:0 0 8px;color:var(--crz-muted)}
.crz-banner__links{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.crz-banner__links a{color:var(--crz-accent);text-decoration:underline;font-size:13px}
.crz-banner__links a:hover{opacity:.8}
.crz-banner__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex-shrink:0}
.crz-banner[data-position="bottom-left"] .crz-banner__actions,
.crz-banner[data-position="bottom-right"] .crz-banner__actions{flex-direction:column}
.crz-banner[data-position="bottom-left"] .crz-btn,
.crz-banner[data-position="bottom-right"] .crz-btn{width:100%}

/* ── Buttons ───────────────────────────────────────── */
.crz-btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:9px 18px;border-radius:calc(var(--crz-radius)*.6);
    border:2px solid transparent;font-size:13px;font-weight:600;
    cursor:pointer;transition:all var(--crz-ease);white-space:nowrap;
    line-height:1;font-family:inherit;
}
.crz-btn--primary  {background:var(--crz-accent);color:var(--crz-accent-text);border-color:var(--crz-accent)}
.crz-btn--primary:hover{filter:brightness(1.1);transform:translateY(-1px)}
.crz-btn--secondary{background:transparent;color:var(--crz-muted);border-color:var(--crz-border)}
.crz-btn--secondary:hover{border-color:var(--crz-muted);color:var(--crz-text)}
.crz-btn--outline  {background:transparent;color:var(--crz-accent);border-color:var(--crz-accent)}
.crz-btn--outline:hover{background:var(--crz-accent);color:var(--crz-accent-text)}

/* ── Modal ─────────────────────────────────────────── */
.crz-modal{
    position:fixed;inset:0;z-index:calc(var(--crz-z) + 1);
    display:flex;align-items:center;justify-content:center;padding:16px;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;
    animation:crzFade .2s both;
}
@keyframes crzFade{from{opacity:0}to{opacity:1}}
.crz-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(3px)}
.crz-modal__box{
    position:relative;background:rgba(var(--crz-bg-rgb), var(--crz-opacity));color:var(--crz-text);
    border-radius:var(--crz-radius);box-shadow:var(--crz-shadow);
    width:100%;max-width:min(var(--crz-max-width), 90vw);max-height:90vh;overflow:hidden;
    display:flex;flex-direction:column;
    animation:crzUp .25s both;
    backdrop-filter:var(--crz-blur);
}
.crz-modal__header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--crz-border);flex-shrink:0}
.crz-modal__title{margin:0;font-size:17px;font-weight:700}
.crz-modal__close{background:none;border:none;font-size:18px;color:var(--crz-muted);cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1;transition:all var(--crz-ease)}
.crz-modal__close:hover{background:var(--crz-border);color:var(--crz-text)}
.crz-modal__body{overflow-y:auto;padding:20px 24px;flex:1}
.crz-modal__body::-webkit-scrollbar{width:6px}
.crz-modal__body::-webkit-scrollbar-track{background:var(--crz-border);border-radius:3px}
.crz-modal__body::-webkit-scrollbar-thumb{background:var(--crz-muted);border-radius:3px}
.crz-modal__footer{padding:16px 24px;border-top:1px solid var(--crz-border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0}
.crz-modal__policy-link{color:var(--crz-accent);font-size:13px;text-decoration:underline}
.crz-modal__btns{display:flex;gap:8px}
.crz-powered-by{text-align:center;font-size:11px;color:var(--crz-muted);padding:8px;margin:0}
.crz-powered-by a{color:var(--crz-accent)}

/* ── Category rows ─────────────────────────────────── */
.crz-category{border:1px solid var(--crz-border);border-radius:calc(var(--crz-radius)*.7);padding:14px 16px;margin-bottom:10px;transition:border-color var(--crz-ease)}
.crz-category:last-child{margin-bottom:0}
.crz-category:has(.crz-toggle__input:not([disabled]):checked){border-color:var(--crz-accent)}
.crz-category__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.crz-category__info{flex:1}
.crz-category__name{display:block;font-weight:600;margin-bottom:4px;font-size:14px}
.crz-category__desc{display:block;color:var(--crz-muted);font-size:13px;line-height:1.5}

/* ── Toggle ────────────────────────────────────────── */
.crz-toggle{display:flex;align-items:center;gap:6px;flex-shrink:0;cursor:pointer;user-select:none}
.crz-toggle--locked{cursor:default;opacity:.7}
.crz-toggle__input{position:absolute;opacity:0;width:0;height:0}
.crz-toggle__slider{position:relative;display:inline-block;width:44px;height:24px;background:var(--crz-border);border-radius:12px;transition:background var(--crz-ease);flex-shrink:0}
.crz-toggle__slider::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform var(--crz-ease);box-shadow:0 1px 4px rgba(0,0,0,.2)}
.crz-toggle__input:checked~.crz-toggle__slider{background:var(--crz-accent)}
.crz-toggle__input:checked~.crz-toggle__slider::after{transform:translateX(20px)}
.crz-toggle__locked-label{font-size:12px;color:var(--crz-muted);white-space:nowrap}

/* 1.1.9 — compact legacy presentation, same consent runtime. */
.crz-modal__box{max-width:600px;width:calc(100vw - 24px);border:1px solid var(--crz-border)}
.crz-modal__header{padding:12px 16px 8px}.crz-modal__title{font-size:18px!important;line-height:1.4;margin:0;padding:0;color:var(--crz-text)}
.crz-modal__body{padding:0 16px 8px}.crz-modal__footer{padding:8px 16px 12px;gap:8px}.crz-modal__btns{flex-wrap:wrap;width:100%;gap:6px}.crz-modal__btns>.crz-btn{flex:1 1 140px}
.crz-modal .crz-category{border:0;border-top:1px solid var(--crz-border);border-radius:0;padding:8px 0;margin:0}
.crz-modal .crz-category__head{align-items:center}.crz-modal .crz-category__info{min-width:0}
.crz-modal .crz-category__name{margin-bottom:3px}.crz-modal .crz-category__desc{overflow-wrap:anywhere}
.crz-modal .crz-toggle{min-width:44px;min-height:44px}.crz-modal .crz-toggle__input{width:1px;height:1px}
.crz-modal .crz-toggle__locked-label{padding:3px 7px;border-radius:5px;background:var(--crz-border);white-space:normal;flex-shrink:0}
.crz-modal .crz-privacy-intro,.crz-modal .crz-privacy-revisit{font-size:13px;line-height:1.5;color:var(--crz-muted);margin:4px 0 10px}
.crz-modal .crz-privacy-details{font-size:12px;line-height:1.5;color:var(--crz-muted)}.crz-modal .crz-privacy-details summary{min-height:32px;cursor:pointer;padding:6px 0;color:var(--crz-text)}.crz-modal .crz-privacy-details p{margin:4px 0}
.crz-modal .crz-btn,.crz-consent-widget .crz-btn,.crz-banner .crz-btn{min-height:40px;padding:7px 10px;font-size:13px;line-height:1.4;white-space:normal;max-width:100%;overflow-wrap:anywhere;border-width:1px;background:var(--crz-accent);color:var(--crz-accent-text);border-color:var(--crz-accent);transform:none;filter:none}
.crz-modal .crz-modal__close{min-height:44px;min-width:44px}
.crz-modal [hidden],.crz-consent-widget [hidden]{display:none!important}
.crz-modal p.crz-legacy-memory{font-size:13px;border-left:3px solid var(--crz-accent);padding-left:8px}
.crz-consent-widget{box-sizing:border-box;width:100%;min-width:0;padding:12px 14px;border:1px solid var(--crz-border);border-radius:var(--crz-radius);background:rgba(var(--crz-bg-rgb),var(--crz-opacity));color:var(--crz-text);font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left}
.crz-consent-widget *{box-sizing:border-box}.crz-consent-widget .crz-choice-title{margin:0 0 8px;font:600 16px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--crz-text);padding:0}
.crz-consent-widget .crz-choice-table{width:100%;table-layout:fixed;border:0;border-collapse:collapse;margin:0;color:inherit;font:inherit;background:transparent}
.crz-consent-widget .crz-choice-table th,.crz-consent-widget .crz-choice-table td{padding:7px 0;border:0;border-top:1px solid var(--crz-border);text-align:left;font:inherit;color:inherit;background:transparent;overflow-wrap:anywhere}
.crz-consent-widget .crz-choice-table tr>:last-child{width:46%;text-align:right}
.crz-consent-widget .crz-choice-locked{font-size:12px;color:var(--crz-muted)}.crz-consent-widget .crz-status-val{font-size:12px}
.crz-consent-widget .crz-consent-widget__actions{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:8px}
.crz-consent-widget p.crz-choice-hint,.crz-consent-widget p.crz-choice-date{font-size:12px;color:var(--crz-muted);margin:7px 0 0}
.crz-consent-widget .crz-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(pointer:coarse),(max-width:600px){.crz-modal .crz-btn,.crz-consent-widget .crz-btn,.crz-banner .crz-btn,.crz-modal .crz-privacy-details summary{min-height:44px}.crz-modal__header{padding:10px 12px 8px}.crz-modal__body{padding:0 12px 8px}.crz-modal__footer{padding:8px 12px 12px}.crz-modal .crz-category__head{flex-wrap:wrap}}

/* ── Re-open button ────────────────────────────────── */
.crz-reopen-btn{
    position:fixed;bottom:20px;left:20px;z-index:calc(var(--crz-z) - 1);
    background:var(--crz-accent);color:var(--crz-accent-text);
    border:1px solid var(--crz-accent);border-radius:50%;
    width:44px;height:44px;cursor:pointer;box-shadow:var(--crz-shadow);
    display:flex;align-items:center;justify-content:center;
    transition:all var(--crz-ease);
}
.crz-reopen-btn:hover{color:var(--crz-accent-text);border-color:var(--crz-accent);transform:scale(1.1)}

/* ── iFrame placeholder ────────────────────────────── */
.crz-iframe-placeholder,.crz-iframe-placeholder *{box-sizing:border-box}
.crz-iframe-placeholder{
    display:flex;align-items:center;justify-content:center;
    background:var(--crz-border, #f3f4f6);
    border:2px dashed var(--crz-muted, #9ca3af);
    border-radius:calc(var(--crz-radius, 12px)*.7);
    min-height:200px;width:100%;min-width:0;max-width:100%;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.crz-iframe-placeholder__inner{
    display:flex;flex-direction:column;align-items:center;
    text-align:center;padding:32px 24px;gap:10px;min-width:0;max-width:100%;overflow-wrap:anywhere;
    color:var(--crz-text,#1f2937);
}
.crz-iframe-placeholder__icon svg{opacity:.5}
.crz-iframe-placeholder__label{margin:0;font-size:16px;color:var(--crz-text,#1f2937)}
.crz-iframe-placeholder__msg{margin:0;font-size:13px;color:var(--crz-muted,#6b7280);max-width:320px}
.crz-iframe-placeholder__btn{margin-top:6px;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.4}

/* ── Focus ─────────────────────────────────────────── */
.crz-btn:focus-visible,.crz-modal__close:focus-visible,
.crz-toggle__input:focus-visible~.crz-toggle__slider{outline:2px solid var(--crz-accent);outline-offset:2px}

/* ── Mobile ────────────────────────────────────────── */
@media(max-width:640px){
    .crz-banner[data-position="bottom-left"],
    .crz-banner[data-position="bottom-right"]{left:8px;right:8px;max-width:calc(100vw - 16px);bottom:8px}
    .crz-banner__inner{padding:12px 14px;gap:12px}
    .crz-banner[data-position="bottom-bar"] .crz-banner__inner{padding:12px 14px}
    .crz-modal__box{max-height:85vh}
    .crz-modal__footer{flex-direction:column;align-items:stretch}
    .crz-modal__btns{flex-direction:column}
    .crz-modal__btns .crz-btn{width:100%}
}
/* ikony placeholdera (bez SVG w HTML strony) */
.crz-iframe-placeholder__icon{display:block;width:48px;height:48px;margin:0 auto;opacity:.5;background:center/contain no-repeat}
.crz-iframe-placeholder__icon--youtube{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF0000'%3E%3Cpath d='M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.6 12 3.6 12 3.6s-7.5 0-9.4.5A3 3 0 0 0 .5 6.2C0 8.1 0 12 0 12s0 3.9.5 5.8a3 3 0 0 0 2.1 2.1c1.9.5 9.4.5 9.4.5s7.5 0 9.4-.5a3 3 0 0 0 2.1-2.1C24 15.9 24 12 24 12s0-3.9-.5-5.8zM9.6 15.6V8.4l6.3 3.6-6.3 3.6z'/%3E%3C/svg%3E")}
.crz-iframe-placeholder__icon--maps{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%234285F4'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5c-1.4 0-2.5-1.1-2.5-2.5S10.6 6.5 12 6.5s2.5 1.1 2.5 2.5S13.4 11.5 12 11.5z'/%3E%3C/svg%3E")}
.crz-iframe-placeholder__icon--facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877F2'%3E%3Cpath d='M24 12.1C24 5.4 18.6 0 12 0S0 5.4 0 12.1C0 18.1 4.4 23.1 10.1 24v-8.4H7.1v-3.5h3V9.4c0-3 1.8-4.7 4.5-4.7 1.3 0 2.7.2 2.7.2v3h-1.5c-1.5 0-2 .9-2 1.9v2.3h3.3l-.5 3.5h-2.8V24C19.6 23.1 24 18.1 24 12.1z'/%3E%3C/svg%3E")}
.crz-iframe-placeholder__icon--vimeo,.crz-iframe-placeholder__icon--generic{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='M8 10h8M8 14h5'/%3E%3C/svg%3E")}
