/*
 * Minimal QuantizedMesh.com CookieConsent skin.
 * Loaded after CookieConsent's own CSS so these values override defaults.
 */

#cc-main {
    --cc-font-family: inherit;
    --cc-bg: rgba(3, 7, 11, 0.97);
    --cc-primary-color: #eefbff;
    --cc-secondary-color: #a8bcc5;

    --cc-btn-primary-bg: #56e5ff;
    --cc-btn-primary-color: #031014;
    --cc-btn-primary-hover-bg: #8cedff;
    --cc-btn-primary-hover-color: #031014;

    --cc-btn-secondary-bg: transparent;
    --cc-btn-secondary-color: #d9edf3;
    --cc-btn-secondary-border-color: rgba(181, 225, 236, 0.25);
    --cc-btn-secondary-hover-bg: rgba(255, 255, 255, 0.06);
    --cc-btn-secondary-hover-color: #ffffff;
    --cc-btn-secondary-hover-border-color: rgba(181, 225, 236, 0.42);

    --cc-separator-border-color: rgba(181, 225, 236, 0.14);
    --cc-footer-border-color: rgba(181, 225, 236, 0.14);
    --cc-footer-bg: rgba(1, 5, 8, 0.98);

    --cc-cookie-category-block-bg: rgba(255, 255, 255, 0.035);
    --cc-cookie-category-block-border: rgba(181, 225, 236, 0.11);
    --cc-cookie-category-expanded-block-bg: rgba(255, 255, 255, 0.05);
    --cc-cookie-category-expanded-block-hover-bg: rgba(255, 255, 255, 0.07);

    --cc-toggle-on-bg: #56e5ff;
    --cc-toggle-off-bg: #58666d;
    --cc-toggle-on-knob-bg: #031014;
    --cc-toggle-off-knob-bg: #ffffff;

    --cc-overlay-bg: rgba(0, 0, 0, 0.62);
}

#cc-main .cm {
    width: min(460px, calc(100vw - 28px));
    max-width: 460px;
    border: 1px solid rgba(86, 229, 255, 0.18);
    border-radius: 10px;
    box-shadow: 0 14px 45px rgba(0, 0, 0, 0.38);
    overflow: hidden;
}

#cc-main .cm__body {
    padding: 1rem 1rem 0.65rem;
}

#cc-main .cm__title {
    display: none;
}

#cc-main .cm__desc {
    margin: 0;
    max-height: none;
    overflow: visible;
    font-size: 0.8rem;
    line-height: 1.45;
    color: #7fe9ff;
}

#cc-main .cm__footer {
    padding: 0.55rem 1rem 0.95rem;
    border-top: 0;
}

#cc-main .cm__btn-group {
    display: grid;
    grid-template-columns: 1fr 1fr 1.25fr;
    gap: 0.65rem;
    width: 100%;
}

#cc-main .cm__btn {
    width: 100%;
    min-height: 28px;
    padding: 0.35rem 0.55rem;
    border-radius: 7px;
    font-size: 0.7rem;
    line-height: 1;
}

/* Preferences panel: keep comfortable spacing and avoid cramped controls. */
#cc-main .pm {
    border-radius: 10px;
}

#cc-main .pm__body {
    margin: 0.65rem;
}

#cc-main .pm__footer {
    padding: 0.8rem 1rem;
}

#cc-main .pm__footer .pm__btn-group {
    gap: 0.65rem;
}

#cc-main .pm__footer .pm__btn {
    min-height: 30px;
    padding: 0.38rem 0.6rem;
    font-size: 0.72rem;
}

/* Small screens: keep the same stacked text + one-row controls where possible. */
@media (max-width: 520px) {
    #cc-main .cm {
        width: calc(100vw - 20px);
        max-width: none;
    }

    #cc-main .cm__body {
        padding: 0.9rem 0.85rem 0.6rem;
    }

    #cc-main .cm__footer {
        padding: 0.5rem 0.85rem 0.85rem;
    }

    #cc-main .cm__btn-group {
        gap: 0.45rem;
        grid-template-columns: 1fr 1fr 1.2fr;
    }

    #cc-main .cm__btn {
        padding-left: 0.3rem;
        padding-right: 0.3rem;
        font-size: 0.67rem;
    }
}

/* Make the footer control look like your existing legal link, not a button. */
.cookie-settings-link {
    appearance: none;
    border: 0;
    padding: 0;
    margin: 0;
    background: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-decoration: inherit;
}

.cookie-settings-link:hover,
.cookie-settings-link:focus-visible {
    text-decoration: underline;
}


/* FINAL TWO-ROW BANNER LAYOUT
   Row 1: consent sentence
   Row 2: Accept / Reject / Settings
*/
#cc-main .cm {
    display: flex !important;
    flex-direction: column !important;
    width: min(460px, calc(100vw - 28px)) !important;
    max-width: 460px !important;
}

#cc-main .cm__body {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0.95rem 1rem 0.55rem !important;
}

#cc-main .cm__texts,
#cc-main .cm__desc {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    overflow: visible !important;
}

#cc-main .cm__footer {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0.45rem 1rem 0.95rem !important;
    margin: 0 !important;
}

#cc-main .cm__btns,
#cc-main .cm__btn-group {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    width: 100% !important;
    gap: 0.65rem !important;
    margin: 0 !important;
}

#cc-main .cm__btn {
    width: 100% !important;
    margin: 0 !important;
    min-height: 28px !important;
}

@media (max-width: 520px) {
    #cc-main .cm {
        width: calc(100vw - 20px) !important;
    }

    #cc-main .cm__btns,
    #cc-main .cm__btn-group {
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 0.45rem !important;
    }
}


/* FINAL BUTTON ALIGNMENT
   Keep all three controls centered and evenly spaced on row 2.
*/
#cc-main .cm__btns,
#cc-main .cm__btn-group {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-evenly !important;
    gap: 0.65rem !important;
    width: 100% !important;
}

#cc-main .cm__btn {
    flex: 0 1 30% !important;
    width: 30% !important;
    max-width: 125px !important;
    margin: 0 !important;
}
