html, body.lnv-booking-template { margin: 0; min-height: 100%; }
body.lnv-booking-template {
    background: #f7f7f8;
    color: #202124;
}
body.lnv-booking-template .lnv-booking-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
body.lnv-booking-template .lnv-booking-shell__header {
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 24px;
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.07);
    box-sizing: border-box;
}
body.lnv-booking-template .lnv-booking-shell__logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
}
body.lnv-booking-template .lnv-booking-shell__logo-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 220px;
    max-height: 58px;
    object-fit: contain;
}
body.lnv-booking-template .lnv-booking-shell__site-name {
    font-size: 22px;
    font-weight: 700;
}
body.lnv-booking-template .lnv-booking-shell__main {
    flex: 1 0 auto;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 48px 24px 64px;
    box-sizing: border-box;
}
body.lnv-booking-template .lnv-booking-shell__footer {
    flex: 0 0 auto;
    padding: 24px;
    background: #fff;
    border-top: 1px solid rgba(0,0,0,.07);
    color: #6b7280;
    font-size: 13px;
}
body.lnv-booking-template .lnv-booking-shell__footer-inner {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 28px;
    flex-wrap: wrap;
}
body.lnv-booking-template .lnv-booking-shell__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
body.lnv-booking-template .lnv-booking-shell__legal a {
    color: inherit;
    text-decoration: none;
}
body.lnv-booking-template .lnv-booking-shell__legal a:hover,
body.lnv-booking-template .lnv-booking-shell__legal a:focus { text-decoration: underline; }
body.lnv-booking-template .site-header,
body.lnv-booking-template .site-footer,
body.lnv-booking-template header.elementor-location-header,
body.lnv-booking-template footer.elementor-location-footer { display: none !important; }
@media (max-width: 700px) {
    body.lnv-booking-template .lnv-booking-shell__header { min-height: 76px; padding: 16px 20px; }
    body.lnv-booking-template .lnv-booking-shell__logo-image { max-width: 180px; max-height: 48px; }
    body.lnv-booking-template .lnv-booking-shell__main { padding: 28px 16px 44px; }
    body.lnv-booking-template .lnv-booking-shell__footer { padding: 22px 16px; }
    body.lnv-booking-template .lnv-booking-shell__footer-inner { justify-content: center; text-align: center; }
    body.lnv-booking-template .lnv-booking-shell__legal { justify-content: center; }
}

/* v3.4.0 — testata e footer */
body.lnv-booking-template .lnv-booking-shell__header {
    background: transparent;
    border: 0;
    box-shadow: none;
}
body.lnv-booking-template .lnv-booking-shell__logo-image {
    width: auto;
    height: auto;
    min-height: var(--lnv-logo-min-height, 58px);
    max-height: none;
    max-width: min(88vw, 520px);
}
body.lnv-booking-template .lnv-booking-shell__footer-inner {
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 8px;
}
body.lnv-booking-template .lnv-booking-shell__legal {
    justify-content: center;
}
@media (max-width: 700px) {
    body.lnv-booking-template .lnv-booking-shell__logo-image {
        min-height: var(--lnv-logo-min-height, 58px);
        max-height: none;
        max-width: 88vw;
    }
}
