/**
 * Cookie Consent Bar
 *
 * Ported from greenfield-base (gfb-cookie-consent) 2026-09-18; same
 * structure, recolored to this theme's dark band (olive / sage / amber).
 * Loaded only while the consent cookie is missing.
 */

/* Bar container */
.ic-cookie-consent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: var(--ic-z-toast);
    background: var(--ic-dark-bg);
    color: var(--ic-dark-text);
    border-top: 1px solid var(--ic-dark-border);
    box-shadow: 0 -4px 30px rgba(46, 48, 0, 0.35);
    transform: translateY(100%);
    transition: transform 0.4s var(--ic-ease);
    font-family: var(--ic-font-ui);
}
.ic-cookie-consent.ic-visible {
    transform: translateY(0);
}

/* Main bar row */
.ic-cookie-consent__bar {
    display: flex;
    align-items: center;
    gap: var(--ic-space-lg);
    padding: var(--ic-space-lg) var(--ic-space-xl);
    max-width: var(--ic-site-width);
    margin: 0 auto;
}
.ic-cookie-consent__text {
    flex: 1;
    color: var(--ic-dark-text);
    font-size: var(--ic-text-small);
    line-height: 1.5;
}
.ic-cookie-consent__text a {
    color: var(--ic-sage);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.ic-cookie-consent__text a:hover {
    color: var(--ic-green);
}

/* Button group */
.ic-cookie-consent__actions {
    display: flex;
    gap: var(--ic-space-sm);
    flex-shrink: 0;
}
.ic-cookie-consent__btn {
    padding: 0.72em 1.4em;
    border-radius: var(--ic-radius);
    font-size: var(--ic-text-small);
    font-weight: var(--ic-weight-semibold);
    cursor: pointer;
    border: 1px solid transparent;
    transition: background var(--ic-fast) var(--ic-ease), color var(--ic-fast) var(--ic-ease), border-color var(--ic-fast) var(--ic-ease), transform var(--ic-fast) var(--ic-ease);
    white-space: nowrap;
    font-family: inherit;
}
.ic-cookie-consent__btn:active {
    transform: scale(0.97);
}
.ic-cookie-consent__btn--accept {
    background: var(--ic-accent);
    color: #3a2400;
    border-color: var(--ic-accent);
}
.ic-cookie-consent__btn--accept:hover {
    background: var(--ic-accent-deep);
    border-color: var(--ic-accent-deep);
    color: #2a1900;
}
.ic-cookie-consent__btn--reject {
    background: rgba(238, 240, 221, 0.08);
    color: var(--ic-dark-text);
    border-color: var(--ic-dark-border);
}
.ic-cookie-consent__btn--reject:hover {
    background: rgba(238, 240, 221, 0.14);
}
.ic-cookie-consent__btn--manage {
    background: transparent;
    color: var(--ic-sage);
    border-color: var(--ic-dark-border);
}
.ic-cookie-consent__btn--manage:hover {
    background: rgba(238, 240, 221, 0.08);
}

/* Expanded manage panel */
.ic-cookie-consent__details {
    display: none;
    padding: 0 var(--ic-space-xl) var(--ic-space-lg);
    max-width: var(--ic-site-width);
    margin: 0 auto;
    border-top: 1px solid var(--ic-dark-border);
}
.ic-cookie-consent__details.ic-open {
    display: block;
}

/* Category row */
.ic-cookie-category {
    display: flex;
    align-items: center;
    gap: var(--ic-space-lg);
    padding: var(--ic-space-md) 0;
    border-bottom: 1px solid rgba(238, 240, 221, 0.06);
}
.ic-cookie-category:last-child {
    border-bottom: none;
}
.ic-cookie-category__info {
    flex: 1;
    min-width: 0;
}
.ic-cookie-category__name {
    color: var(--ic-dark-text);
    font-size: var(--ic-text-small);
    font-weight: var(--ic-weight-semibold);
}
.ic-cookie-category__desc {
    color: var(--ic-dark-muted);
    font-size: var(--ic-text-meta);
    margin-top: 2px;
}
.ic-cookie-category__control {
    flex-shrink: 0;
}

/* Always-on label */
.ic-cookie-always-on {
    font-size: var(--ic-text-meta);
    color: var(--ic-sage);
    text-transform: uppercase;
    letter-spacing: var(--ic-tracking-label);
    font-weight: var(--ic-weight-semibold);
}

/* Toggle switch */
.ic-cookie-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}
.ic-cookie-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}
.ic-cookie-toggle__slider {
    position: absolute;
    inset: 0;
    background: rgba(238, 240, 221, 0.14);
    border-radius: 24px;
    cursor: pointer;
    transition: background var(--ic-fast);
}
.ic-cookie-toggle__slider::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 3px;
    bottom: 3px;
    background: var(--ic-dark-muted);
    border-radius: 50%;
    transition: transform var(--ic-fast), background var(--ic-fast);
}
.ic-cookie-toggle input:checked + .ic-cookie-toggle__slider {
    background: rgba(209, 138, 46, 0.3);
}
.ic-cookie-toggle input:checked + .ic-cookie-toggle__slider::before {
    transform: translateX(20px);
    background: var(--ic-accent);
}
.ic-cookie-toggle input:focus-visible + .ic-cookie-toggle__slider {
    outline: 2px solid var(--ic-accent);
    outline-offset: 2px;
}

/* Save button in details */
.ic-cookie-consent__save {
    margin-top: var(--ic-space-lg);
    text-align: right;
}

/* Mobile */
@media (max-width: 640px) {
    .ic-cookie-consent__bar {
        flex-direction: column;
        align-items: stretch;
        padding: var(--ic-space-lg);
        gap: var(--ic-space-md);
    }
    .ic-cookie-consent__actions {
        flex-direction: column;
    }
    .ic-cookie-consent__btn {
        text-align: center;
        padding: 12px 16px;
    }
    .ic-cookie-consent__details {
        padding: 0 var(--ic-space-lg) var(--ic-space-lg);
    }
    .ic-cookie-category {
        gap: var(--ic-space-md);
    }
}
