/* IKARTO Consent Mode 2.0 - Banner Styles */

.ikcm-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: var(--ikcm-overlay, rgba(0,0,0,0.5));
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.ikcm-overlay.ikcm-visible {
    opacity: 1;
    visibility: visible;
}

.ikcm-banner {
    background: var(--ikcm-bg, #fff) !important;
    color: var(--ikcm-text, #333) !important;
    width: 100%;
    max-width: 860px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 24px 28px;
    box-shadow: 0 -4px 24px rgba(0,0,0,0.15);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    font-size: 14px;
    line-height: 1.5;
    transform: translateY(20px);
    transition: transform 0.3s ease;
    box-sizing: border-box;
}
.ikcm-overlay.ikcm-visible .ikcm-banner { transform: translateY(0); }
.ikcm-banner--bottom { border-radius: 16px 16px 0 0; }
.ikcm-overlay:has(.ikcm-banner--center) { align-items: center; }
.ikcm-banner--center { border-radius: 16px; margin: 16px; max-width: 640px; }

.ikcm-banner__logo { margin-bottom: 12px; }
.ikcm-banner__logo img { max-height: 40px; width: auto; display: block; }

.ikcm-banner__title { font-size: 18px; font-weight: 700; margin: 0 0 8px; line-height: 1.3; color: var(--ikcm-text, #333) !important; }
.ikcm-banner__text { font-size: 13px; margin: 0 0 12px; opacity: 0.85; line-height: 1.6; color: var(--ikcm-text, #333) !important; }

.ikcm-banner__links { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.ikcm-banner__links a { font-size: 12px; color: var(--ikcm-btn-settings-text, #2563eb); text-decoration: underline; text-underline-offset: 2px; }
.ikcm-banner__links a:hover { opacity: 0.8; }

.ikcm-banner__buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }

.ikcm-btn {
    padding: 10px 20px; border-radius: 8px; font-size: 14px; font-weight: 600;
    cursor: pointer; border: none; outline: none; transition: opacity 0.2s, transform 0.15s;
    white-space: nowrap; line-height: 1.4; font-family: inherit;
}
.ikcm-btn:hover { opacity: 0.9; transform: translateY(-1px); }
.ikcm-btn:active { transform: translateY(0); }
.ikcm-btn:focus-visible { outline: 2px solid var(--ikcm-btn-accept-bg, #2563eb); outline-offset: 2px; }
.ikcm-btn--accept { background: var(--ikcm-btn-accept-bg, #2563eb) !important; color: var(--ikcm-btn-accept-text, #fff) !important; }
.ikcm-btn--reject { background: var(--ikcm-btn-reject-bg, #e5e7eb) !important; color: var(--ikcm-btn-reject-text, #374151) !important; }
.ikcm-btn--settings { background: var(--ikcm-btn-settings-bg, transparent) !important; color: var(--ikcm-btn-settings-text, #2563eb) !important; border: 1px solid var(--ikcm-btn-settings-text, #2563eb) !important; }

.ikcm-banner__details { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(128,128,128,0.2); }
.ikcm-toggle-group { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.ikcm-toggle-item { display: flex; align-items: flex-start; gap: 12px; padding: 10px 12px; background: rgba(128,128,128,0.06); border-radius: 8px; }
.ikcm-toggle__info { flex: 1; }
.ikcm-toggle__info strong { display: block; font-size: 13px; margin-bottom: 2px; color: var(--ikcm-text, #333) !important; }
.ikcm-toggle__info span { font-size: 12px; opacity: 0.7; color: var(--ikcm-text, #333) !important; }

.ikcm-toggle { position: relative; display: inline-block; width: 44px; min-width: 44px; height: 24px; margin-top: 2px; }
.ikcm-toggle input { opacity: 0; width: 0; height: 0; }
.ikcm-toggle__slider { position: absolute; cursor: pointer; inset: 0; background: #ccc; border-radius: 24px; transition: background 0.25s; }
.ikcm-toggle__slider::before { content: ""; position: absolute; width: 18px; height: 18px; left: 3px; bottom: 3px; background: #fff; border-radius: 50%; transition: transform 0.25s; }
.ikcm-toggle input:checked + .ikcm-toggle__slider { background: var(--ikcm-btn-accept-bg, #2563eb); }
.ikcm-toggle input:checked + .ikcm-toggle__slider::before { transform: translateX(20px); }
.ikcm-toggle input:disabled + .ikcm-toggle__slider { opacity: 0.6; cursor: not-allowed; }

.ikcm-reopen {
    position: fixed; bottom: 16px; left: 16px; z-index: 999998;
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--ikcm-btn-accept-bg, #2563eb); color: var(--ikcm-btn-accept-text, #fff);
    border: none; cursor: pointer; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 12px rgba(0,0,0,0.2); transition: transform 0.2s;
}
.ikcm-reopen:hover { transform: scale(1.1); }
.ikcm-reopen svg { width: 22px; height: 22px; }

@media (max-width: 600px) {
    .ikcm-banner { padding: 18px 16px; max-height: 85vh; }
    .ikcm-banner__title { font-size: 16px; }
    .ikcm-banner__buttons { flex-direction: column; }
    .ikcm-btn { width: 100%; text-align: center; }
}
