/*
 * EthereumRoll cookie consent banner styles.
 *
 * Layout principles:
 *   - Bottom-fixed bar on desktop, bottom sheet on mobile
 *   - All three action buttons have equal visual weight
 *     (no dark pattern where "Accept" is bold green and "Reject"
 *     is a tiny grey link)
 *   - Banner never obscures primary content
 *   - Readable contrast, 16px minimum body text
 *   - Dark-mode-friendly via CSS custom properties
 */

.ethr-consent-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: #ffffff;
    color: #1d2327;
    border-top: 1px solid #dbe3eb;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    animation: ethr-consent-slide-up 0.25s ease-out;
}

@keyframes ethr-consent-slide-up {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}

.ethr-consent-banner[hidden] { display: none; }

.ethr-consent-banner__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 18px 20px;
}

.ethr-consent-banner__title {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #1d2327;
}

.ethr-consent-banner__body {
    margin: 0 0 16px;
    color: #3c434a;
    font-size: 14px;
}

.ethr-consent-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
}

.ethr-consent-btn {
    flex: 1 1 auto;
    min-width: 140px;
    min-height: 44px;   /* touch target */
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    border: 1px solid #2271b1;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.05s ease;
    font-family: inherit;
    line-height: 1.3;
}

.ethr-consent-btn:hover { transform: translateY(-1px); }
.ethr-consent-btn:active { transform: translateY(0); }
.ethr-consent-btn:focus-visible {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
}

/* All three buttons get equal visual weight. Primary is the same size and
 * prominence as secondary — the "solid vs outline" difference is minor. */
.ethr-consent-btn--primary {
    background: #2271b1;
    color: #fff;
}
.ethr-consent-btn--primary:hover { background: #135e96; }

.ethr-consent-btn--secondary {
    background: #fff;
    color: #2271b1;
}
.ethr-consent-btn--secondary:hover { background: #f0f6fc; }

.ethr-consent-banner__footer {
    margin: 8px 0 0;
    font-size: 12px;
    color: #646970;
}
.ethr-consent-banner__footer a {
    color: #2271b1;
    text-decoration: underline;
}

.ethr-consent-cats {
    list-style: none;
    padding: 0;
    margin: 0 0 18px;
}

.ethr-consent-cat {
    padding: 14px 0;
    border-bottom: 1px solid #f0f0f1;
}
.ethr-consent-cat:last-child { border-bottom: 0; }

.ethr-consent-cat label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    cursor: pointer;
}

.ethr-consent-cat input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #2271b1;
    cursor: pointer;
}
.ethr-consent-cat input[type="checkbox"]:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.ethr-consent-cat__label {
    font-size: 14px;
    color: #1d2327;
}

.ethr-consent-cat__desc {
    margin: 6px 0 0 28px;
    font-size: 13px;
    color: #50575e;
    line-height: 1.4;
}

/* Mobile adjustments */
@media (max-width: 600px) {
    .ethr-consent-banner__inner { padding: 16px; }
    .ethr-consent-banner__actions { flex-direction: column; }
    .ethr-consent-btn { width: 100%; flex: none; }
}

/* Footer "Cookie settings" link variant */
.ethr-cookie-settings-link {
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}

/* Cookie declaration table on Cookie Policy page */
.ethr-cookie-declaration h3 {
    margin-top: 1.5em;
    font-size: 18px;
    padding-bottom: 4px;
    border-bottom: 2px solid #e8eaed;
}
