/* ============================================================
   ZALA SPRINGS LOBBY — KIOSK GUARD
   Version: 1.0.0
   ============================================================ */

html.zs-kiosk-modal-open {
    overflow: hidden !important;
}


.zs-kiosk-qr {
    position: fixed;
    inset: 0;

    z-index: 2147483000;

    display: none;

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

    padding: clamp(26px, 2.2vw, 80px);
}


.zs-kiosk-qr.is-open {
    display: flex;
}


.zs-kiosk-qr__backdrop {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    border: 0 !important;

    background:
        rgba(12, 26, 19, .78) !important;

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

    cursor: pointer;
}


.zs-kiosk-qr__panel {
    position: relative;
    z-index: 2;

    width: min(1120px, 88vw);

    border:
        1px solid rgba(38, 53, 44, .12);

    border-radius:
        clamp(28px, 2vw, 58px);

    background:
        #f5f1e8;

    color:
        var(--zs-brand-midnight, #26352c);

    box-shadow:
        0 34px 100px rgba(0,0,0,.28);

    overflow: hidden;
}


.zs-kiosk-qr__content {
    padding:
        clamp(38px, 3.2vw, 92px);
}


.zs-kiosk-qr__close {
    position: absolute;
    top: clamp(22px, 1.4vw, 46px);
    right: clamp(22px, 1.4vw, 46px);

    z-index: 3;

    width: clamp(54px, 3.2vw, 104px);
    height: clamp(54px, 3.2vw, 104px);

    display: grid;
    place-items: center;

    padding: 0;

    border:
        1px solid rgba(38,53,44,.14) !important;

    border-radius: 999px;

    background:
        rgba(255,255,255,.58) !important;

    color:
        var(--zs-brand-midnight, #26352c) !important;

    cursor: pointer;
}


.zs-kiosk-qr__close svg {
    width: 44%;
    height: 44%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}


.zs-kiosk-qr__title {
    max-width: 14ch;

    margin:
        clamp(10px, .8vw, 28px)
        0
        0;

    font-family:
        var(--zs-font-display, Arial, sans-serif);

    font-size:
        clamp(38px, 2.8vw, 90px);

    font-weight: 500;
    line-height: 1.04;

    letter-spacing: -.018em;
}


.zs-kiosk-qr__lead {
    max-width: 42em;

    margin:
        clamp(16px, 1vw, 34px)
        0
        0;

    color:
        rgba(38,53,44,.68);

    font-size:
        clamp(16px, .9vw, 30px);

    line-height: 1.5;
}


.zs-kiosk-qr__body {
    margin-top:
        clamp(30px, 2.3vw, 72px);

    display: grid;

    grid-template-columns:
        minmax(250px, .8fr)
        minmax(0, 1.2fr);

    align-items: center;

    gap:
        clamp(30px, 3vw, 90px);
}


.zs-kiosk-qr__code-wrap {
    aspect-ratio: 1;

    display: grid;
    place-items: center;

    padding:
        clamp(18px, 1.3vw, 40px);

    border-radius:
        clamp(20px, 1.4vw, 42px);

    background: #fff;

    box-shadow:
        inset 0 0 0 1px rgba(38,53,44,.08);
}


.zs-kiosk-qr__code {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


.zs-kiosk-qr__details {
    min-width: 0;
}


.zs-kiosk-qr__label {
    display: block;

    color:
        var(--zs-brand-gold, #c2a22f);

    font-size:
        clamp(13px, .7vw, 23px);

    font-weight: 700;
    line-height: 1.2;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.zs-kiosk-qr__destination {
    display: block;

    max-width: 100%;

    margin-top:
        clamp(10px, .7vw, 24px);

    overflow-wrap: anywhere;

    color:
        var(--zs-brand-midnight, #26352c);

    font-size:
        clamp(22px, 1.35vw, 44px);

    line-height: 1.25;
}


.zs-kiosk-qr__details p {
    max-width: 34em;

    margin:
        clamp(14px, 1vw, 30px)
        0
        0;

    color:
        rgba(38,53,44,.66);

    font-size:
        clamp(16px, .86vw, 28px);

    line-height: 1.5;
}


body .zs-ui
.zs-kiosk-qr__done {
    min-height:
        clamp(58px, 3.4vw, 104px);

    margin-top:
        clamp(24px, 1.7vw, 50px);

    padding-inline:
        clamp(24px, 1.6vw, 50px);

    border:
        1px solid var(--zs-brand-midnight, #26352c) !important;

    border-radius: 999px;

    background:
        var(--zs-brand-midnight, #26352c) !important;

    color: #fff !important;

    font-size:
        clamp(15px, .82vw, 27px);

    font-weight: 700;

    cursor: pointer;
}


@media (max-height: 850px) {

    .zs-kiosk-qr__panel {
        width: min(1040px, 90vw);
    }


    .zs-kiosk-qr__content {
        padding:
            clamp(28px, 2.2vw, 54px);
    }


    .zs-kiosk-qr__body {
        margin-top: 22px;

        grid-template-columns:
            minmax(210px, .65fr)
            minmax(0, 1.35fr);

        gap: 36px;
    }


    .zs-kiosk-qr__code-wrap {
        max-width: 300px;
    }
}


@media (max-width: 900px) {

    .zs-kiosk-qr__body {
        grid-template-columns: 1fr;
    }


    .zs-kiosk-qr__code-wrap {
        width: min(340px, 70vw);

        margin-inline: auto;
    }
}
