#ilp-consent-banner{position:fixed;left:0;right:0;bottom:0;background:var(--ilp-banner-bg);color:var(--ilp-text);padding:12px;z-index:2147483647;display:none;font-size:var(--ilp-font)}
#ilp-consent-banner[aria-hidden="false"]{display:block}

/* Hide floating button by default and when banner is visible */
.ilp-float-privacy {
  display: none !important;
}

/* Show floating button only when banner is hidden and user has consent */
body:not(.ilp-banner-visible) .ilp-float-privacy {
  display: inline-block !important;
}

.ilp-banner__box{max-width:960px;margin:0 auto;display:flex;gap:12px;align-items:center}
.ilp-banner__text{flex:1;line-height:1.5}
.ilp-banner__text .ilp-link{color:inherit;text-decoration:underline}
.ilp-banner__actions{display:flex;gap:8px}
.ilp-btn{padding:8px 14px;border-radius:var(--ilp-radius);border:1px solid var(--ilp-btn-bg);background:var(--ilp-btn-bg);color:var(--ilp-btn-text);cursor:pointer;font-weight:600}
#ilp-consent-banner.ilp--card{background:transparent; padding:0; bottom:24px}
#ilp-consent-banner.ilp--card .ilp-banner__box{background:var(--ilp-banner-bg);color:var(--ilp-text);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);padding:14px;width:min(92vw,560px);margin-inline:auto}
#ilp-consent-banner.ilp--bar{background:var(--ilp-banner-bg); padding:10px}
#ilp-consent-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;z-index:2147483647}
#ilp-consent-modal.active{display:flex}
.ilp-modal__box{background:#fff;color:#111;min-width:320px;max-width:520px;padding:16px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.ilp-modal__header{display:flex;align-items:center;justify-content:space-between;font-weight:700;margin-bottom:8px}
.ilp-modal__intro{font-size:.95em;color:#333;margin-bottom:8px}
.ilp-switch{display:flex;align-items:center;gap:8px;margin:8px 0}
.ilp-modal__actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.ilp-modal__links{margin-top:8px;font-size:.9em}
.ilp-modal__links a{text-decoration:underline;color:#555}
.ilp-pref-btn,.ilp-float-privacy{display:inline-block;background:var(--ilp-prefbtn-bg,#0073aa);color:var(--ilp-prefbtn-text,#fff);border:1px solid var(--ilp-prefbtn-border,#0073aa);border-radius:var(--ilp-prefbtn-radius,10px);font-size:var(--ilp-prefbtn-font,15px);padding:var(--ilp-prefbtn-pady,8px) var(--ilp-prefbtn-padx,14px);box-shadow:0 4px 18px rgba(0,0,0,.2);text-decoration:none;cursor:pointer}
.ilp-float-privacy{position:fixed;z-index:2147483647}
.ilp-pos-br{right:var(--ilp-float-x,16px);bottom:var(--ilp-float-y,16px)}
.ilp-pos-bl{left:var(--ilp-float-x,16px);bottom:var(--ilp-float-y,16px)}
.ilp-pos-tr{right:var(--ilp-float-x,16px);top:var(--ilp-float-y,16px)}
.ilp-pos-tl{left:var(--ilp-float-x,16px);top:var(--ilp-float-y,16px)}
.ilp-yt-ph{background:#000;display:block}
.ilp-consent-wrap{width:100%;text-align:right}
.ilp-consent-line{font-size:var(--ilp-consent-font,14px);display:inline-flex;align-items:center;gap:.5em;direction:rtl;flex-direction:row;justify-content:flex-start}
.ilp-consent-line input[type="checkbox"]{margin-left:.5em;margin-right:0}
.ilp-consent-line a{text-decoration:underline;color:inherit}

/* DSR Modal Styles */
#ilp-dsr-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2147483648; /* Higher than main modal */
}

#ilp-dsr-modal.active {
  display: flex;
}

.ilp-dsr-modal__box {
  background: #fff;
  color: #111;
  min-width: 400px;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  margin: 20px;
}

.ilp-modal__footer {
  border-top: 1px solid #e7e7e7;
  padding-top: 12px;
  margin-top: 12px;
  text-align: center;
}

.ilp-btn-secondary {
  background: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  text-decoration: none;
  display: inline-block;
}

.ilp-btn-secondary:hover {
  background: #e9ecef;
  color: #5a6268;
  text-decoration: none;
}

.ilp-dsr-form-content {
  margin: 16px 0;
}

.ilp-form-row {
  margin-bottom: 16px;
}

.ilp-form-row label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
  color: #333;
}

.ilp-form-row input,
.ilp-form-row select,
.ilp-form-row textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
}

.ilp-form-row input:focus,
.ilp-form-row select:focus,
.ilp-form-row textarea:focus {
  outline: none;
  border-color: #0073aa;
  box-shadow: 0 0 0 2px rgba(0,115,170,0.1);
}

#ilp-dsr-result {
  margin-top: 16px;
}

#ilp-dsr-result .success {
  background: #d4edda;
  color: #155724;
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #c3e6cb;
}

#ilp-dsr-result .error {
  background: #f8d7da;
  color: #721c24;
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #f5c6cb;
}

/* Responsive */
@media (max-width: 600px) {
  .ilp-dsr-modal__box {
    min-width: auto;
    width: 95%;
    margin: 10px;
    max-height: 95vh;
  }
  
  .ilp-modal__actions {
    flex-direction: column;
    gap: 8px;
  }
  
  .ilp-modal__actions .ilp-btn,
  .ilp-modal__actions .ilp-btn-secondary {
    width: 100%;
  }
}

/* Loading state */
.ilp-loading {
  opacity: 0.6;
  pointer-events: none;
}

.ilp-loading .ilp-btn {
  position: relative;
}

.ilp-loading .ilp-btn::after {
  content: '';
  position: absolute;
  width: 16px;
  height: 16px;
  margin: auto;
  border: 2px solid transparent;
  border-top-color: currentColor;
  border-radius: 50%;
  animation: ilp-spin 1s linear infinite;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes ilp-spin {
  0% { transform: translateX(-50%) rotate(0deg); }
  100% { transform: translateX(-50%) rotate(360deg); }
}