/* Dee Residence mobile layout and header fixes. */

body.thekris-dee-public-view {
    overflow-x: clip;
}

body.thekris-dee-public-view .site-header,
body.thekris-dee-public-view .site-footer {
    display: none;
}

body.thekris-dee-public-view #page,
body.thekris-dee-public-view .site,
body.thekris-dee-public-view .site-content,
body.thekris-dee-public-view .content-area,
body.thekris-dee-public-view .site-main,
body.thekris-dee-public-view main {
    max-width: 100%;
}

.thekris-public-header,
.thekris-public-header * {
    box-sizing: border-box;
}

.thekris-public-header {
    position: relative;
    z-index: 50;
    width: 100%;
    border-bottom: 1px solid rgba(20, 33, 29, 0.1);
    background: #ffffff;
    color: #14211d;
}

.thekris-public-header__inner {
    display: grid;
    gap: 12px;
    width: min(100% - 28px, 1120px);
    margin-inline: auto;
    padding-block: 12px;
}

.thekris-public-header__brand,
.thekris-public-header__brand:visited {
    min-width: 0;
    color: #14211d;
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.15;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.thekris-public-header__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.thekris-public-header__link,
.thekris-public-header__link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 40px;
    max-width: 100%;
    border: 1px solid rgba(15, 118, 110, 0.22);
    border-radius: 6px;
    background: #ffffff;
    padding: 9px 12px;
    color: #07514b;
    font-size: 0.92rem;
    font-weight: 800;
    line-height: 1.18;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    white-space: normal;
}

.thekris-public-header__link:hover,
.thekris-public-header__link:focus-visible,
.thekris-public-header__link.is-current {
    border-color: #0f766e;
    background: #eef7f5;
    color: #053f3a;
    text-decoration: none;
}

.thekris-public-header__link--booking,
.thekris-public-header__link--booking:visited {
    border-color: #982f0c;
    background: #982f0c;
    color: #ffffff;
}

.thekris-public-header__link--booking:hover,
.thekris-public-header__link--booking:focus-visible,
.thekris-public-header__link--booking.is-current {
    border-color: #742207;
    background: #742207;
    color: #ffffff;
}

body.thekris-dee-public-view :where(.thekris-wrap, .thekris-seo-wrap, .thekris-privacy-wrap, .thekris-booking-wrap) {
    min-width: 0;
}

body.thekris-dee-public-view :where(.thekris-button, .thekris-link-button, .thekris-booking-button, .wp-block-button__link) {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

body.thekris-dee-public-view :where(h1, h2, h3, p, li, figcaption, summary, dt, dd, a) {
    overflow-wrap: break-word;
}

body.thekris-dee-public-view :where(img, video, iframe, table) {
    max-width: 100%;
}

body.thekris-dee-public-view :where(.alignfull, .wp-block-group.alignfull, .wp-block-cover.alignfull) {
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.thekris-home .thekris-mobile-bar {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr);
}

.thekris-home .thekris-mobile-bar a {
    min-width: 0;
    padding-inline: 8px;
    overflow-wrap: anywhere;
    white-space: normal;
}

@media (max-width: 781px) {
    .thekris-public-header__inner {
        gap: 10px;
        padding-block: 10px;
    }

    .thekris-public-header__brand {
        font-size: 1.06rem;
    }

    .thekris-public-header__nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .thekris-public-header__link {
        width: 100%;
        min-height: 39px;
        padding: 8px 9px;
        font-size: 0.86rem;
    }

    .thekris-public-header__link--booking {
        grid-column: 1 / -1;
    }

    .thekris-home .thekris-hero,
    .thekris-home .thekris-section,
    .thekris-home .thekris-location,
    .thekris-home .thekris-final-cta,
    .thekris-booking-page .thekris-booking-hero,
    .thekris-booking-page .thekris-booking-section,
    .thekris-booking-page .thekris-booking-help,
    .thekris-seo-hero,
    .thekris-seo-section,
    .thekris-seo-location,
    .thekris-seo-final,
    .thekris-privacy-hero,
    .thekris-privacy-content,
    .thekris-site-footer {
        width: 100%;
        max-width: 100%;
        margin-right: 0;
        margin-left: 0;
    }

    .thekris-home .thekris-wrap,
    .thekris-booking-page .thekris-booking-wrap,
    .thekris-seo-wrap,
    .thekris-privacy-wrap {
        width: min(100% - 28px, 1120px);
        max-width: calc(100% - 28px);
    }

    .thekris-seo-hero__inner,
    .thekris-seo-location__inner,
    .thekris-home .thekris-location__inner,
    .thekris-booking-page .thekris-booking-help__inner,
    .thekris-home .thekris-contact-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .thekris-seo-page .thekris-actions,
    .thekris-home .thekris-actions,
    .thekris-booking-page .thekris-booking-actions,
    .thekris-home .thekris-location-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .thekris-seo-page a.thekris-button,
    .thekris-home a.thekris-button,
    .thekris-booking-page a.thekris-booking-button,
    .thekris-home .thekris-location-actions a {
        width: 100%;
    }

    .thekris-seo-link-grid,
    .thekris-seo-grid,
    .thekris-seo-chips,
    .thekris-home .thekris-room-grid,
    .thekris-home .thekris-benefits,
    .thekris-home .thekris-amenities,
    .thekris-home .thekris-info-list,
    .thekris-booking-page .thekris-booking-trust-list,
    .thekris-booking-page .thekris-booking-photo-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .thekris-seo-location__actions {
        width: 100%;
    }

    .thekris-site-footer__inner {
        width: min(100% - 28px, 1120px);
        max-width: calc(100% - 28px);
    }

    .thekris-site-footer__links {
        min-width: 0;
    }

    .thekris-site-footer__links a {
        min-width: 0;
        max-width: 100%;
    }

    .thekris-home {
        padding-bottom: calc(92px + env(safe-area-inset-bottom));
    }

    .thekris-home .thekris-mobile-bar {
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    }

    .thekris-home .thekris-mobile-bar a {
        min-height: 46px;
        font-size: 0.92rem;
        line-height: 1.12;
    }
}

@media (max-width: 374px) {
    .thekris-public-header__nav {
        grid-template-columns: minmax(0, 1fr);
    }

    .thekris-public-header__link {
        min-height: 38px;
        font-size: 0.84rem;
    }

    .thekris-home .thekris-mobile-bar {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.75fr);
        padding-inline: 8px;
    }

    .thekris-home .thekris-mobile-bar a {
        font-size: 0.88rem;
    }
}

@media (min-width: 782px) {
    .thekris-public-header__inner {
        grid-template-columns: minmax(170px, auto) minmax(0, 1fr);
        align-items: center;
    }

    .thekris-public-header__nav {
        justify-content: flex-end;
    }
}
