/* erpfix consent banner + preferences (Werkbank). Loaded on every page. */
.ec-banner {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 60;
  background: #fff; color: #1A1D21; border-top: 2px solid #FF5A1F;
  box-shadow: 0 -6px 24px rgba(0,0,0,.18);
  padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
  font-family: "Inter", Arial, sans-serif;
}
.ec-inner { max-width: 1080px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; }
.ec-text { flex: 1 1 320px; }
.ec-text h2 { font-family: "Space Grotesk", sans-serif; font-size: 1.05rem; margin: 0 0 6px; color: #1A1D21; }
.ec-text p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: #414042; }
.ec-text a { color: #C2410C; text-decoration: underline; }
.ec-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ec-btn { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 0.92rem; padding: 11px 18px; border-radius: 2px; border: 2px solid transparent; cursor: pointer; min-height: 44px; }
.ec-primary { background: #FF5A1F; color: #1A1D21; }
.ec-primary:hover { background: #E64A12; }
.ec-ghost { background: transparent; color: #1A1D21; border-color: #1A1D21; }
.ec-ghost:hover { background: #F1F2F2; }

.ec-overlay { position: fixed; inset: 0; z-index: 70; background: rgba(20,22,25,.5); display: flex; align-items: center; justify-content: center; padding: 16px; }
.ec-modal { background: #fff; color: #1A1D21; width: 100%; max-width: 520px; max-height: 85vh; overflow-y: auto; border-radius: 2px; padding: 24px; font-family: "Inter", Arial, sans-serif; }
.ec-modal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.ec-modal-head h2 { font-family: "Space Grotesk", sans-serif; font-size: 1.25rem; margin: 0; }
.ec-close { background: none; border: 0; font-size: 1.8rem; line-height: 1; cursor: pointer; color: #808285; width: 44px; height: 44px; }
.ec-close:hover { color: #FF5A1F; }
.ec-row { border-bottom: 1px solid #BCBEC0; padding-bottom: 14px; margin-bottom: 14px; }
.ec-row-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.ec-row-title { font-family: "Space Grotesk", sans-serif; font-weight: 700; }
.ec-badge { font-size: 0.78rem; background: #F1F2F2; color: #414042; padding: 4px 10px; border-radius: 999px; }
.ec-row p { margin: 0; font-size: 0.88rem; color: #414042; line-height: 1.5; }
.ec-switch { position: relative; width: 46px; height: 26px; border-radius: 999px; border: 0; background: #BCBEC0; cursor: pointer; transition: background .15s; flex: none; }
.ec-switch.on { background: #FF5A1F; }
.ec-knob { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; background: #fff; border-radius: 50%; transition: transform .15s; }
.ec-switch.on .ec-knob { transform: translateX(20px); }
.ec-save { width: 100%; margin-top: 6px; }

@media (max-width: 640px) {
  .ec-actions { width: 100%; }
  .ec-btn { flex: 1 1 auto; }
}
