/* Bistro Laravel fixes */
*, *::before, *::after {
    box-sizing: border-box;
}

body.page--bistro {
    overflow-x: hidden;
}

body.page--bistro .main-block {
    width: 100%;
    max-width: 100%;
}

body.page--bistro .bistro-hero-pizza {
    position: absolute;
    top: 0;
    right: 0;
    width: 65%;
    height: auto;
    transform: translate(30%, -30%) rotate(180deg);
    opacity: 1;
    z-index: 1;
    pointer-events: none;
    user-select: none;
}

body.page--bistro .bistro-hero {
    left: 0;
    right: 0;
    box-sizing: border-box;
    pointer-events: auto;
}

body.page--bistro .bistro-cta {
    cursor: pointer;
}

body.page--bistro .bistro-cta--disabled {
    cursor: default;
    pointer-events: none;
}

.page-header.page-header--bistro:not(.page-header--bistro-light) {
    min-height: 128px;
}

.page-header--bistro > .page-header-bistro-logo {
    top: 50%;
    transform: translate(-50%, -50%);
}

.page-header--bistro .page-header-logo-img {
    height: 96px;
    width: auto;
}

.page-header--bistro .page-header-logo-img--on-light {
    display: none;
}

.page-header.page-header--bistro.scrolled {
    background: #F7F6F2;
    box-shadow: 0 1px 0 rgba(75, 58, 28, 0.08);
}

.page-header.page-header--bistro.scrolled .page-header-logo-img {
    filter: none;
}

.page-header.page-header--bistro.scrolled .page-header-logo-img--on-hero {
    display: none;
}

.page-header.page-header--bistro.scrolled .page-header-logo-img--on-light {
    display: block;
}

@media (max-width: 720px) {
    .page-header.page-header--bistro:not(.page-header--bistro-light) {
        min-height: 96px;
    }

    .page-header--bistro .page-header-logo-img {
        height: 72px;
    }
}

.bistro-gap-photo {
    background: #F7F6F2;
    padding: 8px 0 12px;
}

.bistro-gap-photo-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 52px;
    box-sizing: border-box;
}

.bistro-gap-photo img {
    display: block;
    width: 100%;
    height: min(520px, 56vw);
    min-height: 220px;
    object-fit: cover;
    object-position: center 42%;
    border-radius: 2px;
}

.bistro-slogan-section:has(+ .bistro-gap-photo) {
    padding-bottom: 28px;
}

.bistro-gap-photo + .bistro-fire-section .bistro-fire-inner > .about-us-divider:first-child {
    display: none;
}

.bistro-gap-photo + .bistro-fire-section .bistro-fire-title {
    margin-top: 36px;
}

@media (max-width: 720px) {
    .bistro-gap-photo-inner {
        padding: 0 20px;
    }

    .bistro-gap-photo img {
        height: 240px;
        min-height: 0;
    }
}

body.page--bistro .page-header {
    pointer-events: auto;
}

@media (min-width: 1400px) {
    body.page--bistro .bistro-hero {
        top: 108px;
        bottom: 70px;
        max-height: calc(100vh - 178px);
        max-height: calc(100dvh - 178px);
    }

    body.page--bistro .bistro-hero-title {
        font-size: clamp(64px, min(11.46vw, 14vh), 220px);
    }
}

@media (min-width: 1800px) {
    body.page--bistro .bistro-hero-title {
        font-size: clamp(64px, min(10vw, 13vh), 200px);
    }
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
