
:root{
    --krco-bg:#101010;
    --krco-panel:#151515;
    --krco-panel-soft:#1a1817;
    --krco-border:#3a281d;

    --krco-text:#f0ede8;
    --krco-muted:#a79f98;

    --krco-copper:#b76538;
    --krco-copper-light:#dc8849;
}


/* overlay */

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

    z-index:2147483600;
}


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


.krco-consent-backdrop{
    position:absolute;
    inset:0;

    background:
        rgba(5,5,5,.68);

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);
}


/* panel */

.krco-consent-panel{
    position:absolute;

    left:50%;
    bottom:28px;

    transform:
        translateX(-50%);

    width:
        min(880px,calc(100% - 34px));

    max-height:
        calc(100dvh - 56px);

    overflow:auto;

    padding:32px;

    border:
        1px solid
        rgba(183,101,56,.28);

    border-radius:
        3px;

    background:
        linear-gradient(
            135deg,
            rgba(20,20,20,.98),
            rgba(14,14,14,.98)
        );

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


/* text */

.krco-consent-eyebrow{
    margin-bottom:12px;

    color:
        var(--krco-copper-light);

    font-size:10px;

    font-weight:800;

    letter-spacing:.18em;
}


.krco-consent-panel h2{
    margin:0 0 16px;

    color:
        var(--krco-text);

    font-size:
        clamp(30px,4vw,43px);

    line-height:1;

    letter-spacing:-.04em;
}


.krco-consent-panel h2 span{
    color:
        var(--krco-copper-light);
}


.krco-consent-intro{
    max-width:720px;

    margin:
        0 0 25px;

    color:
        var(--krco-muted);

    font-size:14px;

    line-height:1.65;
}


/* options */

.krco-consent-option{
    display:flex;

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

    gap:24px;

    margin-top:10px;

    padding:18px;

    border:
        1px solid #2c2724;

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


.krco-consent-option strong{
    color:
        var(--krco-text);

    font-size:14px;
}


.krco-consent-option p{
    margin:
        6px 0 0;

    max-width:
        650px;

    color:
        #938c86;

    font-size:12px;

    line-height:1.55;
}


.krco-consent-required{
    flex:
        0 0 auto;

    padding:
        6px 9px;

    border:
        1px solid
        rgba(183,101,56,.25);

    color:
        #d89468;

    background:
        rgba(183,101,56,.08);

    font-size:8px;

    font-weight:800;

    letter-spacing:.05em;
}


/* switch */

.krco-consent-switch{
    position:relative;

    width:48px;
    height:26px;

    flex:
        0 0 48px;
}


.krco-consent-switch input{
    position:absolute;

    opacity:0;
}


.krco-consent-switch span{
    position:absolute;
    inset:0;

    background:#33302e;

    border:
        1px solid #48413c;

    cursor:pointer;

    transition:
        background .2s ease;
}


.krco-consent-switch span::after{
    content:"";

    position:absolute;

    top:4px;
    left:4px;

    width:16px;
    height:16px;

    background:#c5bfba;

    transition:
        transform .2s ease,
        background .2s ease;
}


.krco-consent-switch
input:checked + span{
    background:
        var(--krco-copper);
}


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

    background:#fff;
}


/* links */

.krco-consent-links{
    display:flex;

    align-items:center;

    gap:9px;

    margin-top:18px;

    color:#756d67;

    font-size:11px;
}


.krco-consent-links a{
    color:#c27b50;

    font-weight:700;

    text-decoration:none;
}


/* buttons */

.krco-consent-actions{
    display:grid;

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

    gap:10px;

    margin-top:25px;
}


.krco-consent-btn{
    min-height:52px;

    padding:
        10px 15px;

    border:
        1px solid #302a27;

    font-size:12px;

    font-weight:800;

    cursor:pointer;
}


.krco-consent-btn--ghost{
    color:#c9c3be;

    background:#171717;
}


.krco-consent-btn--secondary{
    color:#d28a5d;

    background:
        rgba(183,101,56,.08);

    border-color:
        rgba(183,101,56,.28);
}


.krco-consent-btn--primary{
    color:#120c08;

    background:
        linear-gradient(
            90deg,
            #b76538,
            #df8b4c
        );

    border-color:#d9854a;
}


/* cookie button */

.krco-consent-reopen{
    position:fixed;

    left:18px;
    bottom:18px;

    z-index:2147483000;

    width:56px;
    height:56px;

    display:flex;

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

    padding:0;

    border:
        1px solid
        rgba(183,101,56,.34);

    background:
        rgba(17,17,17,.94);

    color:
        #d97d45;

    box-shadow:
        0 12px 30px rgba(0,0,0,.34);

    cursor:pointer;
}


.krco-consent-reopen svg{
    display:block;

    width:27px;
    height:27px;

    fill:none;
}


.krco-consent-reopen svg circle{
    fill:#171717;
}


/* ========================================================
 * FORM GATE
 * ======================================================== */

#krco-consultation-form{
    position:relative;
}


.krco-consent-form-gate{
    position:absolute;

    inset:0;

    z-index:100;

    display:flex;

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

    padding:24px;

    background:
        rgba(14,14,14,.76);

    backdrop-filter:
        blur(9px);

    -webkit-backdrop-filter:
        blur(9px);
}


.krco-consent-form-card{
    width:
        min(520px,100%);

    padding:
        30px;

    border:
        1px solid
        rgba(183,101,56,.30);

    background:#111;

    box-shadow:
        0 24px 65px
        rgba(0,0,0,.46);

    text-align:center;
}


.krco-consent-form-icon{
    display:flex;

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

    width:54px;
    height:54px;

    margin:
        0 auto 17px;

    border:
        1px solid
        rgba(183,101,56,.30);

    color:
        #df884c;

    background:
        rgba(183,101,56,.08);

    font-size:23px;
}


.krco-consent-form-card h3{
    margin:
        0 0 11px;

    color:#eeeae6;

    font-size:
        clamp(22px,3vw,30px);
}


.krco-consent-form-card p{
    max-width:430px;

    margin:
        0 auto 20px;

    color:#9d958e;

    font-size:13px;

    line-height:1.65;
}


.krco-consent-form-open{
    min-height:48px;

    padding:
        10px 18px;

    border:
        1px solid #d47d46;

    color:#100b08;

    background:
        linear-gradient(
            90deg,
            #b76538,
            #df8b4c
        );

    font-weight:800;

    cursor:pointer;
}


/* modal body lock */

body.krco-consent-open{
    overflow:hidden !important;
}


/* mobile */

@media(max-width:680px){

    .krco-consent-panel{
        left:10px;
        right:10px;
        bottom:10px;

        transform:none;

        width:auto;

        max-height:
            calc(100dvh - 20px);

        padding:
            22px 18px;
    }


    .krco-consent-option{
        align-items:flex-start;
    }


    .krco-consent-actions{
        grid-template-columns:1fr;
    }


    .krco-consent-btn--primary{
        order:-1;
    }


    .krco-consent-reopen{
        left:12px;
        bottom:12px;

        width:52px;
        height:52px;
    }


    .krco-consent-form-gate{
        padding:12px;
    }


    .krco-consent-form-card{
        padding:
            24px 18px;
    }

}
