.erf-feedback{--erf-accent:#1768c4;--erf-accent-text:#fff;position:fixed;z-index:99998;top:46%;display:flex;align-items:flex-start;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .28s ease;font-family:inherit}.erf-side-right{right:0;transform:translateX(105%)}.erf-side-left{left:0;transform:translateX(-105%);flex-direction:row-reverse}.erf-feedback.erf-visible{opacity:1;transform:translateX(0);pointer-events:auto}.erf-tab{appearance:none;border:0;background:var(--erf-accent);color:var(--erf-accent-text);font-weight:700;padding:15px 10px;box-shadow:0 8px 22px rgba(0,0,0,.18);cursor:pointer;writing-mode:vertical-rl;transform:rotate(180deg);border-radius:8px 0 0 8px;letter-spacing:.2px}.erf-side-left .erf-tab{border-radius:0 8px 8px 0}.erf-panel{width:min(390px,calc(100vw - 24px));max-height:78vh;overflow:auto;background:#fff;color:#1d2327;border:1px solid rgba(0,0,0,.12);box-shadow:0 18px 50px rgba(0,0,0,.22);padding:18px;border-radius:10px 0 10px 10px}.erf-side-left .erf-panel{border-radius:0 10px 10px 10px}.erf-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:18px}.erf-close{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#555}.erf-intro{margin:8px 0 18px;color:#5f6368}.erf-panel h3{font-size:18px;line-height:1.35;margin:10px 0 14px;font-weight:700}.erf-progress{font-size:12px;color:#6b7280;margin-top:8px}.erf-choices{display:grid;gap:9px}.erf-choice,.erf-consent{display:flex;gap:10px;align-items:flex-start;border:1px solid #d7dce1;border-radius:8px;padding:10px 12px;cursor:pointer}.erf-choice:hover{border-color:var(--erf-accent)}.erf-choice input,.erf-consent input{margin-top:3px}.erf-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.erf-scale .erf-choice{justify-content:center;padding:10px 4px}.erf-open-answer,.erf-email-wrap input{width:100%;box-sizing:border-box;border:1px solid #c9ced6;border-radius:8px;padding:10px;font:inherit}.erf-email-wrap{display:grid;gap:6px;margin-top:12px}.erf-actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.erf-btn{border:0;border-radius:8px;padding:10px 15px;font-weight:700;cursor:pointer}.erf-next{background:var(--erf-accent);color:var(--erf-accent-text);margin-left:auto}.erf-back{background:#eef1f4;color:#1d2327}.erf-status{min-height:18px;margin-top:9px;font-size:13px;color:#b42318}.erf-thanks{text-align:center;padding:14px 0}.erf-coupon{display:inline-block;margin-top:6px;padding:10px 14px;border:2px dashed var(--erf-accent);border-radius:8px;font-size:20px;font-weight:800;letter-spacing:1px}@media(max-width:600px){.erf-feedback{top:auto;bottom:18px}.erf-tab{writing-mode:horizontal-tb;transform:none;border-radius:999px;padding:11px 16px}.erf-side-right,.erf-side-left{right:12px;left:12px;display:block;transform:translateY(140%)}.erf-feedback.erf-visible{transform:translateY(0)}.erf-panel{position:absolute;right:0;bottom:54px;width:calc(100vw - 24px);max-height:72vh;border-radius:10px}.erf-side-left .erf-panel{border-radius:10px}.erf-side-left .erf-tab{float:left}.erf-side-right .erf-tab{float:right}}

/* v0.2.0 – ikona zakładki, zgody i kupony */
.erf-tab-shell{position:relative;display:inline-flex;align-items:stretch;overflow:visible;z-index:2}
.erf-tab-icon{position:absolute;left:50%;width:var(--erf-icon-size,54px);height:var(--erf-icon-size,54px);object-fit:contain;transform:translateX(-50%);z-index:3;pointer-events:none;filter:drop-shadow(0 4px 7px rgba(0,0,0,.18))}
.erf-icon-top .erf-tab-icon{top:calc(var(--erf-icon-size,54px) * -.48)}
.erf-icon-bottom .erf-tab-icon{bottom:calc(var(--erf-icon-size,54px) * -.48)}
.erf-has-icon.erf-icon-top .erf-tab{padding-top:calc(15px + var(--erf-icon-size,54px) * .28)}
.erf-has-icon.erf-icon-bottom .erf-tab{padding-bottom:calc(15px + var(--erf-icon-size,54px) * .28)}
.erf-marketing-desc{margin:0 0 12px;color:#5f6368;line-height:1.45}
.erf-marketing-reward{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#f6f8fb;border:1px solid #dde3ea;line-height:1.4}
.erf-consent-saved{margin:8px 0 14px;font-weight:700}
.erf-coupon-box{margin-top:12px;padding:14px;border:1px solid #d7dce1;border-radius:10px;background:#fafbfc}
.erf-discount-info{font-size:17px;margin:0 0 10px}
.erf-coupon-expiry{margin:10px 0 6px}
.erf-coupon-rules{margin:8px 0 0;padding-left:20px;text-align:left;color:#4b5563;font-size:13px;line-height:1.45}
.erf-coupon-rules li{margin:3px 0}
@media(max-width:600px){.erf-tab-shell{display:inline-flex}.erf-tab-icon{left:22px}.erf-has-icon .erf-tab{padding-left:calc(16px + var(--erf-icon-size,54px) * .62);padding-top:11px;padding-bottom:11px}.erf-icon-top .erf-tab-icon{top:calc(var(--erf-icon-size,54px) * -.42)}.erf-icon-bottom .erf-tab-icon{bottom:calc(var(--erf-icon-size,54px) * -.42)}}
/* v0.4.0 – rabat za zgodę po ekranie kuponu */
.erf-marketing-cta{margin-top:14px;padding:14px;border-radius:10px;background:#fff8e6;border:1px solid #ead9a6;text-align:left;display:grid;gap:10px;line-height:1.4}
.erf-marketing-cta .erf-btn{justify-self:start;background:var(--erf-accent);color:var(--erf-accent-text)}
.erf-marketing-form{display:grid;gap:12px}
.erf-marketing-form h3{margin-bottom:0}
.erf-marketing-form .erf-consent{margin-top:2px}
.erf-marketing-buttons{display:flex;gap:10px;justify-content:space-between;margin-top:4px}
.erf-marketing-buttons .erf-marketing-submit{background:var(--erf-accent);color:var(--erf-accent-text);margin-left:auto}
.erf-back-result{background:#eef1f4;color:#1d2327}
.erf-coupon-title{margin:0 0 6px;font-weight:700}
.erf-email-rules{font-size:13px;color:#4b5563;line-height:1.45;margin:14px 0}
.erf-retry-mail{background:var(--erf-accent);color:var(--erf-accent-text)}
.erf-marketing-success .erf-coupon-box{text-align:left}
/* v0.4.2 – tryb testowy i blokada czasowa dla administratora / managera sklepu */
.erf-test-controls{margin-top:14px;padding:11px 12px;border:1px dashed #c3c4c7;border-radius:9px;background:#f6f7f7;text-align:left;display:grid;gap:8px;font-size:12px;color:#50575e}
.erf-test-controls .erf-test-again{justify-self:start;background:#1d2327;color:#fff}

/* v0.4.4 – indywidualny kolor każdej ankiety */
.erf-question-title{font-weight:700!important}
.erf-consent{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.erf-consent.erf-consent-error{border:2px solid #d63638;background:#fff5f5;box-shadow:0 0 0 2px rgba(214,54,56,.10)}
.erf-consent.erf-consent-error span{color:#9f1c1f;font-weight:600}
.erf-consent.erf-consent-error input{outline:2px solid #d63638;outline-offset:2px}

/* v0.4.5 – panel zawsze w obrębie ekranu, przewijana treść i stałe przyciski */
.erf-panel{
  position:fixed;
  top:50%;
  max-height:min(82vh,calc(100dvh - 32px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
}
.erf-panel[hidden]{display:none!important}
.erf-side-right .erf-panel{right:48px;transform:translateY(-50%)}
.erf-side-left .erf-panel{left:48px;transform:translateY(-50%)}
.erf-panel-head,.erf-intro,.erf-actions,.erf-status{flex:0 0 auto}
#erf-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-gutter:stable}
.erf-actions{margin-top:12px;padding-top:12px;border-top:1px solid #eceff2;background:#fff;position:relative;z-index:2}
.erf-status{background:#fff}
@media(max-width:600px){
  .erf-panel{
    position:fixed;
    top:auto;
    right:12px!important;
    left:12px!important;
    bottom:70px;
    transform:none!important;
    width:auto;
    max-height:calc(100dvh - 92px);
  }
}

/* 0.5.0: tryb testowy */
.erf-test-badge{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#fff3cd;border:1px solid #e6c766;color:#6b5200;font-size:10px;font-weight:800;letter-spacing:.04em;margin-left:8px;white-space:nowrap}
.erf-panel-head{gap:8px}
.erf-panel-head .erf-close{margin-left:auto}
