/* ==========================================================
   IKZ Core — Privacy & Cookies
========================================================== */

.ikz-consent-banner{
    position:fixed;
    left:50%;
    bottom:20px;
    transform:translateX(-50%);
    z-index:999999;

    width:min(360px,calc(100vw - 32px));

    background:#fff;
    color:#111;

    border:1px solid #e6e6e6;
    border-radius:18px;

    padding:20px;

    box-shadow:
        0 14px 40px rgba(0,0,0,.10),
        0 2px 8px rgba(0,0,0,.05);

    font:inherit;
}

.ikz-consent-banner[hidden]{
    display:none!important;
}

/* ---------------------------------
   Header
--------------------------------- */

.ikz-consent-kicker{

    margin:0 0 8px;

    font-size:11px;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

    color:#0F4C45;
}

.ikz-consent-title{

    margin:0 0 8px;

    font-size:24px;

    line-height:1.15;

    font-weight:700;
}

.ikz-consent-copy{

    margin:0;

    font-size:14px;

    line-height:1.5;

    color:#666;
}

/* ---------------------------------
   Buttons
--------------------------------- */

.ikz-consent-actions{

    display:flex;

    gap:8px;

    margin-top:18px;
}

.ikz-consent-button{

    flex:1;

    height:38px;

    border-radius:999px;

    border:1px solid #d8d8d8;

    background:#fff;

    color:#111;

    font:inherit;

    font-size:13px;

    font-weight:600;

    cursor:pointer;

    transition:.18s;
}

.ikz-consent-button:hover{

    background:#f5f5f5;
}

.ikz-consent-button--primary{

    background:#0F4C45;

    color:#fff;

    border-color:#0F4C45;
}

.ikz-consent-button--primary:hover{

    background:#146357;
}

/* ---------------------------------
   Settings
--------------------------------- */

.ikz-consent-customize{

    border-top:1px solid #efefef;

    margin-top:18px;

    padding-top:16px;
}

.ikz-consent-customize[hidden]{

    display:none!important;
}

.ikz-consent-choice{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:18px;

    padding:12px 0;
}

.ikz-consent-choice strong{

    display:block;

    font-size:14px;

    margin-bottom:3px;
}

.ikz-consent-choice small{

    display:block;

    font-size:13px;

    color:#777;
}

.ikz-consent-choice input{

    width:18px;

    height:18px;
}

/* ---------------------------------
   Floating settings button
--------------------------------- */

.ikz-consent-manage{

    position:fixed;

    right:16px;

    bottom:16px;

    z-index:99990;

    border:none;

    border-radius:999px;

    background:#fff;

    color:#111;

    padding:10px 16px;

    font-size:13px;

    font-weight:600;

    box-shadow:0 8px 24px rgba(0,0,0,.12);

    cursor:pointer;
}

/* ---------------------------------
   Media Placeholder
--------------------------------- */

.ikz-media-placeholder{

    display:grid;

    place-items:center;

    min-height:260px;

    padding:32px;

    text-align:center;

    border-radius:16px;

    border:1px solid #ececec;

    background:#f7f8f8;
}

.ikz-media-placeholder-inner{

    max-width:360px;
}

.ikz-media-placeholder-icon{

    font-size:34px;

    margin-bottom:12px;
}

.ikz-media-placeholder h3{

    margin:0 0 8px;

    font-size:22px;
}

.ikz-media-placeholder p{

    color:#666;

    font-size:14px;

    line-height:1.5;

    margin:0 0 18px;
}

.ikz-media-placeholder .ikz-consent-button{

    background:#0F4C45;

    color:#fff;

    border-color:#0F4C45;
}

/* ---------------------------------
   Error
--------------------------------- */

.ikz-consent-banner[data-ikz-consent-error="true"]::after{

    content:"Die Auswahl konnte nicht gespeichert werden.";

    display:block;

    margin-top:14px;

    padding:10px;

    border-radius:10px;

    background:#fff5f5;

    color:#b42318;

    font-size:13px;
}

/* ---------------------------------
   Mobile
--------------------------------- */

@media (max-width:640px){

    .ikz-consent-banner{

        width:calc(100vw - 20px);

        bottom:10px;

        padding:18px;

        border-radius:16px;
    }

    .ikz-consent-actions{

        display:flex;

        flex-direction:column;
    }

    .ikz-consent-button{

        width:100%;
    }

}
/* =========================================================
   IKZ PRIVACY — FINAL BUTTON FIX
========================================================= */

.ikz-consent-banner {
  width: min(400px, calc(100vw - 28px)) !important;
  padding: 18px 20px !important;
}

.ikz-consent-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr auto !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 16px !important;
}

.ikz-consent-banner .ikz-consent-button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 14px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid #d9dfdc !important;
  border-radius: 999px !important;

  background: #ffffff !important;
  color: #17201d !important;

  font-family: inherit !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 700 !important;

  opacity: 1 !important;
  visibility: visible !important;
  text-indent: 0 !important;
}

/* Alle akzeptieren */
.ikz-consent-banner .ikz-consent-button--primary,
.ikz-consent-banner [data-ikz-consent-all] {
  background: #0f4c45 !important;
  border-color: #0f4c45 !important;
  color: #ffffff !important;
}

.ikz-consent-banner .ikz-consent-button--primary:hover,
.ikz-consent-banner [data-ikz-consent-all]:hover {
  background: #123f3a !important;
  border-color: #123f3a !important;
  color: #ffffff !important;
}

/* Secondary buttons */
.ikz-consent-banner [data-ikz-consent-necessary],
.ikz-consent-banner [data-ikz-consent-customize-toggle],
.ikz-consent-banner [data-ikz-consent-save] {
  background: #ffffff !important;
  color: #17201d !important;
}

.ikz-consent-banner [data-ikz-consent-necessary]:hover,
.ikz-consent-banner [data-ikz-consent-customize-toggle]:hover,
.ikz-consent-banner [data-ikz-consent-save]:hover {
  background: #f2f5f3 !important;
  border-color: #bcc7c2 !important;
}

/* Smaller floating settings control */
.ikz-consent-manage {
  right: 14px !important;
  bottom: 14px !important;

  min-height: 36px !important;
  padding: 0 13px !important;

  border: 1px solid #e1e5e3 !important;
  border-radius: 999px !important;

  background: rgba(255, 255, 255, 0.96) !important;
  color: #17201d !important;

  font-size: 11px !important;
  font-weight: 700 !important;
}

/* Mobile */
@media (max-width: 520px) {
  .ikz-consent-banner {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;

    width: auto !important;
    transform: none !important;

    padding: 16px !important;
  }

  .ikz-consent-title {
    font-size: 20px !important;
  }

  .ikz-consent-copy {
    font-size: 13px !important;
  }

  .ikz-consent-actions {
    grid-template-columns: 1fr 1fr !important;
  }

  .ikz-consent-banner [data-ikz-consent-customize-toggle] {
    grid-column: 1 / -1 !important;

    height: 34px !important;
    min-height: 34px !important;

    border: 0 !important;
    background: transparent !important;
    color: #0f4c45 !important;
  }
}

/* IKZ Core 1.1.1 interaction fix */
.ikz-consent-banner,.ikz-consent-banner *,.ikz-consent-manage,.ikz-media-placeholder,.ikz-media-placeholder *{pointer-events:auto!important}.ikz-consent-button:disabled{cursor:wait;opacity:.62;transform:none}.ikz-consent-banner[data-ikz-consent-error="true"]::after{content:"Die Auswahl konnte nicht gespeichert werden. Bitte Cookies im Browser erlauben und erneut versuchen.";display:block;margin-top:12px;padding:10px 12px;border:1px solid currentColor;border-radius:10px;font-size:13px;line-height:1.4}
