/* =========================================================
   TRAVEL09 GLOBAL COOKIE CONSENT
   ========================================================= */

.t09-consent,
.t09-consent *{
    box-sizing:border-box;
}

.t09-consent[hidden]{
    display:none !important;
}

.t09-consent{
    position:fixed;
    inset:0;

    z-index:999999;

    font-family:
        "Inter",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.t09-consent__backdrop{
    position:absolute;
    inset:0;

    background:
        rgba(2,15,25,.72);

    backdrop-filter:
        blur(5px);
}

.t09-consent__panel{
    position:absolute;

    left:50%;
    bottom:24px;

    width:min(
        calc(100% - 32px),
        760px
    );

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

    overflow-y:auto;

    transform:
        translateX(-50%);

    padding:26px;

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius:22px;

    background:
        linear-gradient(
            145deg,
            #071E32,
            #0B2D46
        );

    color:#FFFFFF;

    box-shadow:
        0 30px 90px
        rgba(0,0,0,.38);
}


/* =========================================================
   BRAND
   ========================================================= */

.t09-consent__brand{
    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:18px;
}

.t09-consent__mark{
    width:48px;
    height:48px;

    display:grid;

    place-items:center;

    flex:none;

    border-radius:14px;

    background:
        linear-gradient(
            135deg,
            #087E8B,
            #16B8C4
        );

    color:#FFFFFF;

    font-size:16px;
    font-weight:900;
}

.t09-consent__brand span{
    display:block;

    color:#84DCE2;

    font-size:10px;
    font-weight:850;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.t09-consent__brand strong{
    display:block;

    margin-top:3px;

    color:#FFFFFF;

    font-size:18px;
    font-weight:800;
}


/* =========================================================
   INTRO
   ========================================================= */

.t09-consent__intro{
    margin:
        0 0 20px;

    color:#B9CCD6;

    font-size:13px;

    line-height:1.75;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.t09-consent__quick{
    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:9px;
}

.t09-consent__quick button{
    min-height:44px;

    padding:
        0 15px;

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius:10px;

    background:
        rgba(255,255,255,.05);

    color:#E5EFF4;

    cursor:pointer;

    font:inherit;

    font-size:11px;
    font-weight:800;

    transition:.2s ease;
}

.t09-consent__quick button:hover{
    border-color:
        rgba(255,255,255,.28);

    background:
        rgba(255,255,255,.09);
}

.t09-consent__quick .primary{
    border-color:transparent;

    background:
        linear-gradient(
            135deg,
            #087E8B,
            #16B8C4
        );

    color:#FFFFFF;
}


/* =========================================================
   PREFERENCES PANEL
   ========================================================= */

.t09-consent__preferences{
    display:grid;

    gap:8px;

    margin-top:20px;
}

.t09-consent__preferences[hidden]{
    display:none !important;
}

.t09-consent__preferences article{
    min-height:76px;

    display:flex;

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

    gap:18px;

    padding:14px 15px;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius:11px;

    background:
        rgba(255,255,255,.035);
}

.t09-consent__preferences strong{
    display:block;

    color:#FFFFFF;

    font-size:12px;
}

.t09-consent__preferences p{
    margin:
        3px 0 0;

    color:#9DB3C0;

    font-size:10px;

    line-height:1.55;
}

.t09-consent__preferences .required{
    flex:none;

    padding:
        6px 9px;

    border-radius:999px;

    background:
        rgba(22,184,196,.13);

    color:#7FE0E6;

    font-size:8px;
    font-weight:850;

    text-transform:uppercase;
}


/* =========================================================
   SWITCH
   ========================================================= */

.t09-switch{
    position:relative;

    width:46px;
    height:26px;

    flex:none;

    display:inline-block;
}

.t09-switch input{
    position:absolute;

    opacity:0;

    pointer-events:none;
}

.t09-switch span{
    position:absolute;

    inset:0;

    border-radius:999px;

    background:#526978;

    cursor:pointer;

    transition:.2s ease;
}

.t09-switch span::before{
    content:"";

    position:absolute;

    width:20px;
    height:20px;

    left:3px;
    top:3px;

    border-radius:50%;

    background:#FFFFFF;

    transition:.2s ease;
}

.t09-switch input:checked + span{
    background:
        linear-gradient(
            135deg,
            #087E8B,
            #16B8C4
        );
}

.t09-switch input:checked + span::before{
    transform:
        translateX(20px);
}

.t09-switch input:focus-visible + span{
    outline:
        2px solid
        #80E0E6;

    outline-offset:3px;
}

.t09-switch input:disabled + span{
    opacity:.45;

    cursor:not-allowed;
}


/* =========================================================
   SAVE BUTTON
   ========================================================= */

.t09-consent__save{
    min-height:44px;

    margin-top:3px;

    border:0;

    border-radius:10px;

    background:
        linear-gradient(
            135deg,
            #087E8B,
            #16B8C4
        );

    color:#FFFFFF;

    cursor:pointer;

    font:inherit;

    font-size:11px;
    font-weight:850;
}


/* =========================================================
   FOOTER LINKS
   ========================================================= */

.t09-consent__panel footer{
    display:flex;

    flex-wrap:wrap;

    gap:16px;

    margin-top:19px;

    padding-top:16px;

    border-top:
        1px solid
        rgba(255,255,255,.09);
}

.t09-consent__panel footer a{
    color:#8DB8C8;

    text-decoration:none;

    font-size:10px;
    font-weight:700;
}

.t09-consent__panel footer a:hover{
    color:#FFFFFF;
}


/* =========================================================
   BODY LOCK
   ========================================================= */

html.t09-consent-open,
body.t09-consent-open{
    overflow:hidden;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:720px){

    .t09-consent__panel{
        left:0;
        right:0;
        bottom:0;

        width:100%;

        max-height:
            min(
                88vh,
                760px
            );

        transform:none;

        padding:
            22px 16px 18px;

        border-radius:
            22px 22px 0 0;
    }

    .t09-consent__quick{
        grid-template-columns:1fr;
    }

    .t09-consent__quick button{
        width:100%;
    }

    .t09-consent__preferences article{
        align-items:flex-start;
    }

    .t09-consent__brand strong{
        font-size:16px;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media(max-width:420px){

    .t09-consent__mark{
        width:42px;
        height:42px;

        border-radius:12px;
    }

    .t09-consent__intro{
        font-size:12px;
    }

    .t09-consent__preferences article{
        padding:12px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

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

    .t09-consent *,
    .t09-consent *::before,
    .t09-consent *::after{
        transition:none !important;
        animation:none !important;
    }

}
