/* ==========================================================================
   RADIO PLATFORM – COOKIE CONSENT v1.0
   ========================================================================== */

.cookie-consent {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 99995;

    width: min(440px, calc(100vw - 32px));

    padding: 22px;

    border:
        1px solid
        rgba(148, 163, 184, 0.22);

    border-radius: 20px;

    background:
        rgba(255, 255, 255, 0.97);

    box-shadow:
        0 24px 70px
        rgba(15, 23, 42, 0.18);

    backdrop-filter:
        blur(22px);

    -webkit-backdrop-filter:
        blur(22px);

    color:
        var(--public-text);

    transform:
        translateY(18px);

    opacity: 0;

    visibility: hidden;

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        visibility 180ms ease;
}


.cookie-consent.is-visible {
    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);
}


html[data-theme="dark"]
.cookie-consent {
    background:
        rgba(10, 21, 36, 0.97);

    border-color:
        rgba(125, 190, 255, 0.16);

    box-shadow:
        0 28px 80px
        rgba(0, 0, 0, 0.52);
}


.cookie-consent__top {
    display: flex;

    gap: 14px;

    align-items:
        flex-start;
}


.cookie-consent__icon {
    width: 46px;
    height: 46px;

    flex:
        0 0
        46px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background:
        rgba(91, 77, 245, 0.10);

    font-size: 22px;
}


.cookie-consent__content {
    min-width: 0;
}


.cookie-consent h2 {
    margin:
        0
        0
        7px;

    font-size: 18px;

    line-height: 1.2;
}


.cookie-consent p {
    margin: 0;

    color:
        var(--public-text-soft);

    font-size: 13px;

    line-height: 1.65;
}


.cookie-consent__policy {
    display: inline-flex;

    margin-top: 10px;

    color:
        var(--public-primary);

    font-size: 12.5px;

    font-weight: 750;

    text-decoration: none;
}


.cookie-consent__policy:hover {
    text-decoration: underline;
}


.cookie-consent__actions {
    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 9px;

    margin-top: 20px;
}


.cookie-consent__button {
    min-height: 43px;

    padding:
        0
        14px;

    border:
        1px solid
        rgba(148, 163, 184, 0.22);

    border-radius: 11px;

    color:
        var(--public-text);

    background:
        rgba(148, 163, 184, 0.08);

    font: inherit;

    font-size: 12.5px;

    font-weight: 800;

    cursor: pointer;

    transition:
        transform 150ms ease,
        background 150ms ease,
        border-color 150ms ease,
        color 150ms ease;
}


.cookie-consent__button:hover {
    transform:
        translateY(-1px);

    border-color:
        rgba(91, 77, 245, 0.30);
}


.cookie-consent__button--primary {
    color: #ffffff;

    border-color:
        transparent;

    background:
        linear-gradient(
            135deg,
            #6957f5,
            #239ee8
        );
}


.cookie-consent__button--primary:hover {
    color: #ffffff;

    box-shadow:
        0 8px 24px
        rgba(91, 77, 245, 0.22);
}


.cookie-consent__button--settings {
    grid-column:
        1 / -1;
}


/* --------------------------------------------------------------------------
   Preferences modal
   -------------------------------------------------------------------------- */

.cookie-preferences {
    position: fixed;

    inset: 0;

    z-index: 99999;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 20px;

    background:
        rgba(3, 10, 20, 0.62);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);

    opacity: 0;

    visibility: hidden;

    transition:
        opacity 180ms ease,
        visibility 180ms ease;
}


.cookie-preferences.is-visible {
    opacity: 1;

    visibility: visible;
}


.cookie-preferences__panel {
    width:
        min(
            560px,
            100%
        );

    max-height:
        calc(100vh - 40px);

    overflow-y: auto;

    padding: 26px;

    border:
        1px solid
        rgba(148, 163, 184, 0.20);

    border-radius: 22px;

    background:
        #ffffff;

    box-shadow:
        0 32px 100px
        rgba(0, 0, 0, 0.28);
}


html[data-theme="dark"]
.cookie-preferences__panel {
    background:
        #0c1929;

    border-color:
        rgba(125, 190, 255, 0.16);
}


.cookie-preferences__header {
    display: flex;

    align-items:
        flex-start;
    justify-content:
        space-between;

    gap: 20px;

    margin-bottom:
        22px;
}


.cookie-preferences__header h2 {
    margin:
        0
        0
        7px;

    font-size: 23px;
}


.cookie-preferences__header p {
    margin: 0;

    color:
        var(--public-text-soft);

    font-size: 13px;

    line-height: 1.6;
}


.cookie-preferences__close {
    width: 38px;
    height: 38px;

    flex:
        0
        0
        38px;

    border:
        1px solid
        rgba(148, 163, 184, 0.18);

    border-radius: 10px;

    background:
        transparent;

    color:
        var(--public-text);

    font-size: 18px;

    cursor: pointer;
}


.cookie-category {
    display: flex;

    align-items:
        center;
    justify-content:
        space-between;

    gap: 20px;

    padding:
        17px
        0;

    border-top:
        1px solid
        rgba(148, 163, 184, 0.14);
}


.cookie-category__text strong {
    display: block;

    margin-bottom: 4px;

    font-size: 14px;
}


.cookie-category__text span {
    display: block;

    color:
        var(--public-text-soft);

    font-size: 12.5px;

    line-height: 1.5;
}


.cookie-category__status {
    flex:
        0
        0
        auto;

    padding:
        6px
        9px;

    border-radius: 999px;

    color:
        #17a66a;

    background:
        rgba(23, 166, 106, 0.10);

    font-size: 10px;

    font-weight: 900;

    text-transform: uppercase;
}


/* switch */

.cookie-switch {
    position: relative;

    width: 46px;
    height: 25px;

    flex:
        0
        0
        46px;
}


.cookie-switch input {
    position: absolute;

    opacity: 0;
}


.cookie-switch span {
    position: absolute;

    inset: 0;

    border-radius: 999px;

    background:
        rgba(148, 163, 184, 0.30);

    cursor: pointer;

    transition:
        background 160ms ease;
}


.cookie-switch span::after {
    content: "";

    position: absolute;

    top: 3px;
    left: 3px;

    width: 19px;
    height: 19px;

    border-radius: 50%;

    background: #ffffff;

    box-shadow:
        0 2px 7px
        rgba(0, 0, 0, 0.20);

    transition:
        transform 160ms ease;
}


.cookie-switch input:checked + span {
    background:
        var(--public-primary);
}


.cookie-switch input:checked + span::after {
    transform:
        translateX(21px);
}


.cookie-preferences__actions {
    display: flex;

    gap: 10px;

    justify-content:
        flex-end;

    margin-top: 22px;
}


@media (max-width: 600px) {

    .cookie-consent {
        right: 16px;
        bottom: 16px;
        left: 16px;

        width: auto;
    }


    .cookie-consent__actions {
        grid-template-columns:
            1fr;
    }


    .cookie-consent__button--settings {
        grid-column:
            auto;
    }


    .cookie-preferences__panel {
        padding: 21px;
    }


    .cookie-preferences__actions {
        flex-direction: column;
    }


    .cookie-preferences__actions
    .cookie-consent__button {
        width: 100%;
    }

}


@media (prefers-reduced-motion: reduce) {

    .cookie-consent,
    .cookie-preferences,
    .cookie-consent__button {

        transition:
            none;
    }

}


/* ==========================================================================
   RADIO PLATFORM – COOKIE CONSENT DARK POLISH v1.1 START
   ========================================================================== */


/*
 * Banner držimo iznad globalnog playera.
 */
.cookie-consent {
    bottom: 92px;
}


/*
 * ------------------------------------------------------------
 * DARK THEME – tekst
 * ------------------------------------------------------------
 */

html[data-theme="dark"]
.cookie-consent h2 {
    color:
        #edf5ff;
}


html[data-theme="dark"]
.cookie-consent p {
    color:
        #9fb0c5;
}


html[data-theme="dark"]
.cookie-consent__policy {
    color:
        #64caf5;
}


/*
 * ------------------------------------------------------------
 * DARK THEME – sekundarna dugmad
 * ------------------------------------------------------------
 */

html[data-theme="dark"]
.cookie-consent__button {
    color:
        #dce8f5;

    background:
        rgba(22, 39, 61, 0.92);

    border-color:
        rgba(125, 190, 255, 0.16);
}


html[data-theme="dark"]
.cookie-consent__button:hover {
    color:
        #ffffff;

    background:
        rgba(56, 189, 248, 0.10);

    border-color:
        rgba(56, 189, 248, 0.28);
}


/*
 * Primary dugme mora ostati bijelo.
 */
html[data-theme="dark"]
.cookie-consent__button--primary {
    color:
        #ffffff;

    background:
        linear-gradient(
            135deg,
            #6957f5,
            #239ee8
        );

    border-color:
        transparent;
}


/*
 * ------------------------------------------------------------
 * Preferences modal
 * ------------------------------------------------------------
 */

html[data-theme="dark"]
.cookie-preferences__header h2,
html[data-theme="dark"]
.cookie-category__text strong {
    color:
        #edf5ff;
}


html[data-theme="dark"]
.cookie-preferences__header p,
html[data-theme="dark"]
.cookie-category__text span {
    color:
        #9fb0c5;
}


html[data-theme="dark"]
.cookie-preferences__close {
    color:
        #dce8f5;

    background:
        rgba(18, 36, 58, 0.72);
}


/*
 * ------------------------------------------------------------
 * Mobile
 * ------------------------------------------------------------
 */

@media (max-width: 600px) {

    .cookie-consent {
        right: 12px;
        left: 12px;
        bottom: 88px;

        width:
            auto;
    }

}


/* ==========================================================================
   RADIO PLATFORM – COOKIE CONSENT DARK POLISH v1.1 END
   ========================================================================== */


/* ==========================================================================
   RADIO PLATFORM – COOKIE POLICY PAGE v1.0 START
   ========================================================================== */

.cookie-policy-page
.info-card--document {
    max-width:
        900px;
}


.cookie-policy-page
.info-card--document > p {
    max-width:
        780px;
}


.cookie-policy-table {
    display: grid;

    gap: 10px;

    margin:
        22px
        0
        34px;
}


.cookie-policy-row {
    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 24px;

    padding:
        16px
        18px;

    border:
        1px solid
        rgba(148, 163, 184, 0.17);

    border-radius:
        13px;

    background:
        rgba(148, 163, 184, 0.055);
}


.cookie-policy-row > div {
    min-width: 0;
}


.cookie-policy-row strong {
    display: block;

    margin-bottom:
        5px;

    color:
        var(--public-text);

    font-size:
        13px;

    overflow-wrap:
        anywhere;
}


.cookie-policy-row span {
    display: block;

    color:
        var(--public-text-soft);

    font-size:
        12.5px;

    line-height:
        1.55;
}


.cookie-policy-row small {
    flex:
        0
        0
        auto;

    padding:
        6px
        9px;

    border-radius:
        999px;

    color:
        var(--public-primary);

    background:
        rgba(91, 77, 245, 0.09);

    font-size:
        10px;

    font-weight:
        800;

    white-space:
        nowrap;
}


/*
|--------------------------------------------------------------------------
| Promijeni postavke
|--------------------------------------------------------------------------
*/

.cookie-page-settings-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height:
        46px;

    margin-top:
        20px;

    padding:
        0
        18px;

    border:
        1px solid
        rgba(91, 77, 245, 0.24);

    border-radius:
        12px;

    color:
        #ffffff;

    background:
        linear-gradient(
            135deg,
            #6957f5,
            #239ee8
        );

    font: inherit;

    font-size:
        13px;

    font-weight:
        800;

    cursor: pointer;

    box-shadow:
        0 10px 28px
        rgba(91, 77, 245, 0.15);

    transition:
        transform 160ms ease,
        box-shadow 160ms ease;
}


.cookie-page-settings-button:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 15px 34px
        rgba(91, 77, 245, 0.24);
}


/*
|--------------------------------------------------------------------------
| Dark theme
|--------------------------------------------------------------------------
*/

html[data-theme="dark"]
.cookie-policy-row {

    background:
        rgba(56, 189, 248, 0.035);

    border-color:
        rgba(125, 190, 255, 0.11);
}


html[data-theme="dark"]
.cookie-policy-row strong {
    color:
        #e6eff9;
}


html[data-theme="dark"]
.cookie-policy-row span {
    color:
        #91a5bd;
}


html[data-theme="dark"]
.cookie-policy-row small {

    color:
        #63c9f4;

    background:
        rgba(56, 189, 248, 0.08);
}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 600px) {

    .cookie-policy-row {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            12px;
    }


    .cookie-page-settings-button {
        width:
            100%;
    }

}


/* ==========================================================================
   RADIO PLATFORM – COOKIE POLICY PAGE v1.0 END
   ========================================================================== */


/* ==========================================================================
   RADIO PLATFORM – COOKIE POLICY PAGE v1.0 START
   ========================================================================== */

.cookie-policy-page
.info-card--document {
    max-width:
        900px;
}


.cookie-policy-page
.info-card--document > p {
    max-width:
        780px;
}


.cookie-policy-table {
    display: grid;

    gap: 10px;

    margin:
        22px
        0
        34px;
}


.cookie-policy-row {
    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 24px;

    padding:
        16px
        18px;

    border:
        1px solid
        rgba(148, 163, 184, 0.17);

    border-radius:
        13px;

    background:
        rgba(148, 163, 184, 0.055);
}


.cookie-policy-row > div {
    min-width: 0;
}


.cookie-policy-row strong {
    display: block;

    margin-bottom:
        5px;

    color:
        var(--public-text);

    font-size:
        13px;

    overflow-wrap:
        anywhere;
}


.cookie-policy-row span {
    display: block;

    color:
        var(--public-text-soft);

    font-size:
        12.5px;

    line-height:
        1.55;
}


.cookie-policy-row small {
    flex:
        0
        0
        auto;

    padding:
        6px
        9px;

    border-radius:
        999px;

    color:
        var(--public-primary);

    background:
        rgba(91, 77, 245, 0.09);

    font-size:
        10px;

    font-weight:
        800;

    white-space:
        nowrap;
}


/*
|--------------------------------------------------------------------------
| Promijeni postavke
|--------------------------------------------------------------------------
*/

.cookie-page-settings-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height:
        46px;

    margin-top:
        20px;

    padding:
        0
        18px;

    border:
        1px solid
        rgba(91, 77, 245, 0.24);

    border-radius:
        12px;

    color:
        #ffffff;

    background:
        linear-gradient(
            135deg,
            #6957f5,
            #239ee8
        );

    font: inherit;

    font-size:
        13px;

    font-weight:
        800;

    cursor: pointer;

    box-shadow:
        0 10px 28px
        rgba(91, 77, 245, 0.15);

    transition:
        transform 160ms ease,
        box-shadow 160ms ease;
}


.cookie-page-settings-button:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 15px 34px
        rgba(91, 77, 245, 0.24);
}


/*
|--------------------------------------------------------------------------
| Dark theme
|--------------------------------------------------------------------------
*/

html[data-theme="dark"]
.cookie-policy-row {

    background:
        rgba(56, 189, 248, 0.035);

    border-color:
        rgba(125, 190, 255, 0.11);
}


html[data-theme="dark"]
.cookie-policy-row strong {
    color:
        #e6eff9;
}


html[data-theme="dark"]
.cookie-policy-row span {
    color:
        #91a5bd;
}


html[data-theme="dark"]
.cookie-policy-row small {

    color:
        #63c9f4;

    background:
        rgba(56, 189, 248, 0.08);
}


/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media (max-width: 600px) {

    .cookie-policy-row {
        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            12px;
    }


    .cookie-page-settings-button {
        width:
            100%;
    }

}


/* ==========================================================================
   RADIO PLATFORM – COOKIE POLICY PAGE v1.0 END
   ========================================================================== */
