/*
 * Responsive fixes layer for Michelle public frontend.
 * Keep desktop look intact unless a bugfix requires otherwise.
 * Mobile/tablet changes should stay scoped to <= 991px whenever possible.
 */

/* Bazowo (desktop) — elementy mobilne hero są ukryte. Mobile media query je odsłania. */
.michelle-deco-blob {
    display: none;
}

.michelle-domki-story__primary-cta {
    display: none;
}

.michelle-domki-story__mobile-actions {
    display: none;
}

.michelle-subpage-footer-cta__mobile-actions {
    display: none;
}

.michelle-home__hero-dots {
    display: none;
}

.michelle-home__hero-slide:not(.is-active) {
    display: none;
}

.michelle-domki-story__mobile-title {
    display: none;
}

.michelle-pricing-hero__title--mobile {
    display: none;
}

.michelle-attractions-hero__title--mobile {
    display: none;
}

.michelle-gallery-hero__title--mobile {
    display: none;
}

.michelle-rules-hero__title--mobile {
    display: none;
}

.michelle-contact-hero__title--mobile {
    display: none;
}

.michelle-reservation-hero__title--mobile {
    display: none;
}

@media (max-width: 991px) {
    /*
     * Deliberately small bootstrap section for upcoming responsive fixes.
     * Add only mobile/tablet overrides here instead of spreading them across legacy files.
     */
    /* M1: białe tło na całą szerokość (mocku Wersja 2) */
    body.michelle-theme {
        background: #fff none;
    }

    body.michelle-theme .michelle-shell {
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
    }

    body.michelle-theme .michelle-home .michelle-shell {
        padding-left: 0;
        padding-right: 0;
        padding-top: 0;
    }

    body.michelle-theme .michelle-page--pricing .michelle-shell {
        padding-top: 0;
    }

    body.michelle-theme .michelle-page--attractions .michelle-shell {
        padding-top: 0;
    }

    body.michelle-theme .michelle-page--gallery .michelle-shell {
        padding-top: 0;
    }

    body.michelle-theme .michelle-page--rules .michelle-shell {
        padding-top: 0;
    }

    body.michelle-theme .michelle-contact .michelle-shell {
        padding-top: 0;
    }

    body.michelle-theme .michelle-page--reservation .michelle-shell {
        padding-top: 0;
    }

    /* M1: header niższy, subtelniejszy */
    body.michelle-theme .michelle-header__bar {
        min-height: 0;
        padding: 10px 14px 10px 100px;
    }

    body.michelle-theme .michelle-header__brand {
        height: 76px;
        width: 76px;
        left: 14px;
        top: 8px;
    }

    body.michelle-theme .michelle-header__nav-row {
        padding-top: 0;
    }

    body.michelle-theme .michelle-header__tools {
        align-items: center;
    }

    .michelle-domki-story__contact-grid {
        grid-template-columns: 1fr;
        row-gap: 28px;
    }

    .michelle-pricing-sidebar--desktop-only {
        display: none;
    }

    .michelle-page--pricing .michelle-home__hero-main {
        background: #fff;
    }

    .michelle-page--pricing .michelle-home__hero-main::before,
    .michelle-page--pricing .michelle-home__hero-main::after {
        display: none;
    }

    .michelle-page--attractions .michelle-shell::before,
    .michelle-page--attractions .michelle-shell::after {
        display: none;
    }

    .michelle-page--gallery .michelle-shell::before,
    .michelle-page--gallery .michelle-shell::after {
        display: none;
    }

    .michelle-page--rules .michelle-home__hero-main {
        background: #fff;
    }

    .michelle-page--rules .michelle-home__hero-main::before,
    .michelle-page--rules .michelle-home__hero-main::after {
        display: none;
    }

    .michelle-contact .michelle-shell::before,
    .michelle-contact .michelle-shell::after {
        display: none;
    }

    .michelle-page--reservation .michelle-home__hero-main {
        background: #fff;
    }

    .michelle-page--reservation .michelle-home__hero-main::before,
    .michelle-page--reservation .michelle-home__hero-main::after {
        display: none;
    }

    .michelle-domki-story__contact-column--meta {
        margin-top: 27px;
    }

    body.michelle-theme #menu_mobilne {
        max-height: calc(100vh - 124px);
        overflow-y: auto;
    }

    body.mobile-menu-open {
        overflow: hidden;
    }

    .michelle-rich,
    .michelle-standard-content,
    .michelle-contact-card,
    .michelle-contact-link {
        overflow-wrap: break-word;
        word-wrap: break-word;
    }

    .michelle-rich img,
    .michelle-rich iframe,
    .michelle-rich video,
    .michelle-standard-content img,
    .michelle-standard-content iframe,
    .michelle-standard-content video {
        height: auto;
        max-width: 100%;
    }

    .michelle-rich table,
    .michelle-standard-content table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100% !important;
    }

    .michelle-rich table tbody,
    .michelle-rich table thead,
    .michelle-rich table tfoot,
    .michelle-standard-content table tbody,
    .michelle-standard-content table thead,
    .michelle-standard-content table tfoot {
        width: 100%;
    }

    .michelle-rich table td,
    .michelle-rich table th,
    .michelle-standard-content table td,
    .michelle-standard-content table th {
        white-space: normal;
    }

    .michelle-attractions-card__body {
        grid-template-columns: 1fr;
    }

    .michelle-attractions-hero {
        display: none;
    }

    .michelle-attractions-hero__title--desktop {
        display: none;
    }

    .michelle-attractions-hero__title--mobile {
        color: var(--michelle-navy);
        display: block;
        font-family: var(--michelle-font-display);
        font-size: clamp(52px, 16vw, 76px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 0 0 18px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 3;
    }

    .michelle-attractions-card {
        background: #fff;
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        padding: 18px 18px 0;
    }

    .michelle-attractions-card__copy {
        min-width: 0;
    }

    .michelle-attractions-card__media {
        justify-self: center;
        max-width: 420px;
        width: 100%;
    }

    .michelle-attractions-card__media img {
        display: block;
        width: 100%;
    }

    .michelle-gallery-hero {
        display: none;
    }

    .michelle-gallery-hero__title--desktop {
        display: none;
    }

    .michelle-gallery-hero__title--mobile {
        color: var(--michelle-navy);
        display: block;
        font-family: var(--michelle-font-display);
        font-size: clamp(52px, 16vw, 76px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 0 0 18px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 3;
    }

    .michelle-gallery-card {
        background: #fff;
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        padding: 18px 18px 18px;
    }

    body.michelle-theme .menu-button-mobile {
        -webkit-appearance: none;
        appearance: none;
        border-radius: 0;
        color: inherit;
        font: inherit;
    }

    body.michelle-theme .menu-button-mobile:focus,
    body.michelle-theme .menu-button-mobile:focus-visible,
    body.michelle-theme #menu_mobilne a:focus,
    body.michelle-theme #menu_mobilne a:focus-visible,
    body.michelle-theme #menu_mobilne li.menu > span:focus,
    body.michelle-theme #menu_mobilne li.menu > span:focus-visible {
        outline: 0;
        box-shadow: none;
    }

    .michelle-header__flags--mobile {
        display: none;
    }

    .michelle-home .michelle-home__hero {
        position: relative;
    }

    .michelle-weather-shell--toggle {
        height: 131px;
        position: absolute;
        right: 18px;
        top: 26px;
        transition: width 0.36s cubic-bezier(0.22, 1, 0.36, 1);
        width: 47.6px;
        z-index: 16;
    }

    .michelle-weather-shell--toggle.is-open {
        width: 220px;
    }

    .michelle-weather-shell--toggle .michelle-weather-card[hidden] {
        display: none !important;
    }

    .michelle-weather-trigger {
        align-items: center;
        background: rgba(198, 171, 102, 0.78);
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 999px;
        box-shadow: none;
        color: #fff;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        height: 131px;
        justify-content: flex-start;
        min-width: 47.6px;
        overflow: hidden;
        padding: 0 0 12px;
        position: relative;
        right: auto;
        top: auto;
        transition: transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
        width: 47.6px;
        z-index: 2;
    }

    .michelle-weather-shell--toggle.is-open .michelle-weather-trigger {
        transform: translateX(-6px);
    }

    .michelle-weather-trigger__icon {
        align-items: center;
        display: flex;
        flex: 0 0 47.6px;
        justify-content: center;
        line-height: 0;
        width: 100%;
    }

    .michelle-weather-trigger__icon-disc {
        align-items: center;
        background: rgba(182, 151, 79, 0.98);
        border-radius: 50%;
        display: inline-flex;
        height: 47.6px;
        justify-content: center;
        width: 47.6px;
    }

    .michelle-weather-trigger__glyph {
        display: block;
        color: #fff;
        height: 36px;
        width: 36px;
    }

    .michelle-weather-trigger__label {
        color: #fff;
        display: block;
        flex: 1 1 auto;
        font-size: 14px;
        font-family: "Inter", sans-serif;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1;
        margin-top: 4px;
        text-transform: none;
        writing-mode: vertical-rl;
    }

    .michelle-weather-trigger[aria-expanded="true"] {
        background: rgba(187, 160, 91, 0.92);
        border-color: rgba(255, 255, 255, 0.3);
    }

    .michelle-weather-shell--toggle .michelle-weather-card {
        display: flex;
        margin-top: 0;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        right: 0;
        top: 0;
        transform: translate3d(18px, 0, 0) scale(0.98);
        transform-origin: top right;
        transition:
            opacity 0.36s cubic-bezier(0.22, 1, 0.36, 1),
            transform 0.36s cubic-bezier(0.22, 1, 0.36, 1);
        width: 172px;
        z-index: 1;
    }

    .michelle-weather-shell--toggle.is-open .michelle-weather-card {
        opacity: 1;
        pointer-events: auto;
        transform: translate3d(0, 0, 0) scale(1);
    }

    .michelle-weather-shell--toggle .michelle-weather-card__progress {
        width: 100%;
    }
}

@media (min-width: 992px) {
    .michelle-weather-trigger {
        display: none;
    }

    .michelle-weather-shell--toggle .michelle-weather-card[hidden] {
        display: flex !important;
    }

    .michelle-page--pricing
        .michelle-location-contact--standalone
        .michelle-domki-story__contact {
        padding: 24px 52px 32px;
    }

    .michelle-page--pricing
        .michelle-location-contact--standalone
        .michelle-domki-story__contact-grid {
        column-gap: 96px;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        justify-content: stretch;
    }
}

@media (max-width: 767px) {
    .menu_poziome_mobile_out {
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 22px 40px rgba(18, 20, 91, 0.16);
        left: 14px;
        opacity: 0;
        padding: 6px 18px 20px;
        pointer-events: none;
        position: fixed;
        right: 14px;
        top: 96px;
        transform: translateY(-10px);
        transition:
            opacity 0.22s ease,
            transform 0.22s ease,
            visibility 0.22s ease;
        visibility: hidden;
        z-index: 60;
    }

    .menu_poziome_mobile_out.is-visible {
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        visibility: visible;
    }

    body.michelle-theme #menu_mobilne {
        box-shadow: none;
        display: none;
        margin: 0;
        max-height: calc(100vh - 160px);
        overflow-y: auto;
    }

    .menu_poziome_mobile_out.is-visible #menu_mobilne {
        display: block !important;
    }

    .michelle-header__flags--desktop {
        display: none;
    }

    body.michelle-theme .michelle-header__flags--mobile {
        display: none;
        margin-top: 27px !important;
        margin-bottom: 4px !important;
    }

    .menu_poziome_mobile_out.is-visible .michelle-header__flags--mobile {
        display: block;
    }

    body.michelle-theme .michelle-header__flags--mobile .div-flagi--container {
        float: none !important;
        justify-content: center;
        margin-top: 0 !important;
        width: 100%;
    }

    body.michelle-theme .michelle-header__flags--mobile .div-flagi {
        float: none !important;
    }

    body.michelle-theme .menu_poziome_mobile_out #menu_mobilne {
        clear: both;
        width: 100%;
    }

    .michelle-header {
        background: var(--michelle-white) !important;
        box-shadow: 0 2px 10px rgba(18, 20, 91, 0.1);
    }

    body.michelle-theme .michelle-header__bar {
        min-height: 0;
        padding: 4px 28px 4px 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    body.michelle-theme .michelle-header__brand {
        position: relative;
        left: auto;
        top: auto;
        width: 84px;
        height: 84px;
        background: transparent;
        z-index: 10;
        margin: 0;
        display: block;
    }

    .michelle-header__brand img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    body.michelle-theme .michelle-header__nav-row {
        align-items: center;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 0;
        justify-content: flex-end;
        min-height: 0;
        padding-top: 0;
        width: auto;
    }

    .michelle-page-intro__title,
    .michelle-page-intro__copy {
        margin-left: 0;
    }

    .michelle-page-intro__main {
        max-width: none;
    }

    .michelle-page-intro--embedded {
        margin: 36px 0 6px;
    }

    /* M1: hero mobile — układ "Wersja 2" (lewy duży tytuł + slajder 5/3 + blob teal) */
    .michelle-home__hero-title--start {
        color: #52a6d5;
        font-family: var(--michelle-font-display);
        font-weight: 800;
        justify-self: start;
        margin: 14px 0 8px;
        max-width: none;
        text-align: left;
        width: 100%;
        letter-spacing: -0.05em;
        position: relative;
        z-index: 2;
    }

    .michelle-home__hero-title--start span {
        display: block;
        font-size: clamp(56px, 17vw, 84px);
        line-height: 0.86;
    }

    /* dekoracja akwarelowa — ujawniamy blob na mobile */
    .michelle-deco-blob {
        display: block;
        position: absolute;
        opacity: 0.55;
        pointer-events: none;
        user-select: none;
        z-index: 1;
    }

    .michelle-deco-blob--hero {
        right: -92px;
        top: 76px;
        width: 262px;
        height: auto;
        opacity: 0.72;
    }

    /* slajder hero — prostokąty przylegające, rozciągnięty do krawędzi viewportu */
    .michelle-home__hero-image-wrap {
        position: relative;
        display: block;
        margin: 4px -18px 20px;
        text-align: center;
        z-index: 1;
        overflow: hidden;
    }

    .michelle-home__hero-slides {
        display: flex;
        gap: 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        padding: 0 12%;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .michelle-home__hero-slides::-webkit-scrollbar {
        display: none;
    }

    .michelle-home__hero-slide {
        flex: 0 0 76%;
        margin: 0;
        scroll-snap-align: center;
        opacity: 0.55;
        transition: opacity 0.28s ease;
    }

    .michelle-home__hero-slide:not(.is-active) {
        display: block;
    }

    .michelle-home__hero-slide.is-active {
        opacity: 1;
    }

    .michelle-home__hero-image {
        display: block;
        width: 100%;
        height: auto;
        max-width: 100%;
        border-radius: 0;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .michelle-home__hero-dots {
        display: flex;
        gap: 8px;
        justify-content: center;
        align-items: center;
        margin-top: 14px;
    }

    .michelle-home__hero-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #fff;
        border: 1.5px solid var(--michelle-blue);
        padding: 0;
        cursor: pointer;
        box-sizing: border-box;
        transition:
            background 0.2s ease,
            width 0.2s ease,
            border-radius 0.2s ease;
    }

    .michelle-home__hero-dot.is-active {
        background: var(--michelle-blue);
        width: 26px;
        border-radius: 999px;
    }

    /* tekst krótki — justify zgodnie z makietą */
    .michelle-home__hero-copy--start p {
        text-align: justify;
        text-justify: inter-word;
    }

    /* "CZYTAJ DALEJ" — pełnoszerokościowy złoty pill (mobile only) */
    .michelle-home__hero-copy--start .michelle-read-more--pill {
        background: var(--michelle-gold, #c9a35a);
        border-radius: 999px;
        color: #fff;
        display: inline-flex;
        margin-top: 16px;
        width: 100%;
    }

    .michelle-home__hero-copy--start .michelle-read-more--pill:hover,
    .michelle-home__hero-copy--start .michelle-read-more--pill:focus {
        background: #b78f49;
    }

    .michelle-home__hero-panel--start {
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        margin-top: 4px;
        padding: 18px 18px 14px;
        position: relative;
        overflow: hidden;
    }

    .michelle-home__hero-content--start {
        background: transparent;
        box-shadow: none;
        padding: 8px 18px 14px;
        position: relative;
        overflow: hidden;
    }

    .michelle-home__hero-content--start::before {
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        content: "";
        inset: 0;
        position: absolute;
        z-index: 0;
    }

    .michelle-home__hero-content--start > :not(.michelle-deco-blob) {
        position: relative;
        z-index: 2;
    }

    .michelle-home__hero-panel--start {
        background: transparent;
        box-shadow: none;
        margin-top: 0;
        padding: 0;
    }

    .michelle-home__hero-copy--start {
        color: #000;
    }

    .michelle-home__hero-copy--start p,
    .michelle-home__hero-copy--start strong {
        color: #000;
    }

    .michelle-home__hero-copy--start p {
        margin-bottom: 12px;
    }

    .michelle-domki-story--embedded {
        margin-top: 0;
        overflow: visible;
        padding: 0;
        position: relative;
        z-index: 1;
    }

    /* M3: mobilna kompozycja Relaks, komfort */
    .michelle-page-intro--embedded {
        display: none;
    }

    .michelle-domki-story--embedded .michelle-domki-story__content {
        font-family: "Nunito Sans", sans-serif;
        overflow: visible;
        padding: 0 18px 0 0;
        position: relative;
        z-index: 1;
    }

    .michelle-domki-story__mobile-title {
        color: var(--michelle-navy);
        display: block;
        font-family: var(--michelle-font-display);
        font-size: clamp(52px, 16vw, 76px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 50px 0 18px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 3;
    }

    .michelle-domki-story__content > :not(.michelle-deco-blob) {
        position: relative;
        z-index: 2;
    }

    .michelle-deco-blob--story-intro {
        left: -58px;
        opacity: 1;
        top: -3px;
        width: 212px;
        z-index: 0;
    }

    .michelle-domki-story__lead,
    .michelle-domki-story__parter,
    .michelle-domki-story__summary,
    .michelle-home__column--floor .michelle-home__column-title--full + p {
        color: #000;
        font-family: "Nunito Sans", sans-serif;
        font-size: 16px;
        line-height: 1.45;
        margin-left: 0;
        margin-bottom: 0;
        max-width: none;
        text-align: left;
    }

    .michelle-domki-story--embedded .michelle-home__section-text,
    .michelle-domki-story--embedded .michelle-home__section-text p,
    .michelle-domki-story--embedded .michelle-home__column,
    .michelle-domki-story--embedded .michelle-home__column p,
    .michelle-domki-story--embedded .michelle-home__column li,
    .michelle-domki-story--embedded .michelle-home__fact,
    .michelle-domki-story--embedded .michelle-home__fact span,
    .michelle-domki-story--embedded .michelle-home__fact i {
        color: #000;
    }

    .michelle-domki-story--embedded .michelle-home__section-text,
    .michelle-domki-story--embedded .michelle-home__section-text p,
    .michelle-domki-story--embedded .michelle-home__column p,
    .michelle-domki-story--embedded .michelle-home__column li,
    .michelle-domki-story--embedded .michelle-home__fact,
    .michelle-domki-story--embedded .michelle-home__fact span {
        font-family: "Nunito Sans", sans-serif;
    }

    .michelle-domki-story__lead {
        margin-top: 0;
    }

    .michelle-domki-story__lead p,
    .michelle-domki-story__parter p,
    .michelle-domki-story__summary p,
    .michelle-home__column--floor .michelle-home__column-title--full + p {
        font-family: "Nunito Sans", sans-serif;
        font-size: 16px;
        line-height: 1.45;
        margin-bottom: 0;
        text-align: justify;
        text-justify: inter-word;
    }

    .michelle-home__facts.michelle-domki-story__facts {
        display: grid;
        gap: 14px 10px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        justify-content: stretch;
        margin: 22px 0 18px;
    }

    .michelle-home__facts.michelle-domki-story__facts .michelle-home__fact {
        font-family: "Nunito Sans", sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.45;
        gap: 6px;
        justify-content: center;
        min-width: 0;
        white-space: nowrap;
    }

    .michelle-home__facts.michelle-domki-story__facts .michelle-home__fact i {
        font-size: clamp(18px, 5vw, 22px);
    }

    .michelle-domki-story__parter {
        margin-top: 0;
    }

    .michelle-home__grid.michelle-domki-story__grid {
        gap: 34px;
        grid-template-columns: 1fr;
        margin-top: 28px;
        overflow: visible;
        position: relative;
    }

    .michelle-domki-story--embedded .michelle-home__column {
        overflow: visible;
        position: relative;
    }

    .michelle-domki-story--embedded .michelle-home__column-title {
        color: var(--michelle-navy);
        font-family: var(--michelle-font-display);
        font-size: clamp(46px, 14vw, 66px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.92;
        margin: 0 0 14px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 2;
    }

    .michelle-home__column--kitchen {
        padding-bottom: 22px;
    }

    .michelle-home__column--living {
        padding-top: 14px;
    }

    .michelle-home__column--floor {
        color: #000;
        margin-bottom: 0;
    }

    .michelle-home__column--floor .michelle-home__column-title--full {
        margin-top: 0;
        max-width: 190px;
    }

    .michelle-deco-blob--story-columns {
        opacity: 1;
        right: -96px;
        top: 44px;
        width: 205px;
    }

    .michelle-domki-story--embedded .michelle-home__column ul {
        list-style: disc;
        margin-left: 0;
        margin-top: 0;
        padding-left: 22px;
        position: relative;
        z-index: 2;
    }

    .michelle-domki-story--embedded .michelle-home__column li,
    .michelle-domki-story--embedded .michelle-home__column p {
        color: #000;
        font-size: 16px;
        line-height: 1.45;
        text-align: justify;
        text-justify: inter-word;
    }

    .michelle-domki-story--embedded .michelle-home__column li {
        margin-bottom: 2px;
        padding-left: 0;
    }

    .michelle-domki-story--embedded .michelle-home__column li::before {
        content: none;
    }

    .michelle-domki-story__floor-group {
        margin-top: 28px;
        overflow: visible;
        padding-bottom: 0;
        position: relative;
    }

    .michelle-domki-story__floor-group > :not(.michelle-deco-blob) {
        position: relative;
        z-index: 2;
    }

    .michelle-deco-blob--story-floor {
        left: -58px;
        opacity: 1;
        top: 218px;
        width: 204px;
        z-index: 0;
    }

    .michelle-domki-story__summary {
        color: #000;
        margin-top: 12px;
    }

    .michelle-domki-story__floor-group p,
    .michelle-domki-story__floor-group li,
    .michelle-domki-story__summary,
    .michelle-domki-story__summary p {
        color: #000;
    }

    .michelle-domki-story__summary p + p {
        margin-top: 12px;
    }

    .michelle-domki-story__divider {
        display: none;
    }

    .michelle-weather-card {
        max-width: none;
        width: 100%;
    }

    .michelle-weather-card__progress {
        width: 100%;
    }

    .michelle-home__actions,
    .michelle-subpage-footer-cta__actions {
        column-gap: 12px;
        row-gap: 12px;
        grid-template-columns: repeat(4, 1fr);
    }

    .michelle-home__actions .michelle-pill-button,
    .michelle-subpage-footer-cta__actions .michelle-pill-button {
        min-width: 0;
        width: 100%;
        grid-column: 1 / -1;
    }

    .michelle-home__actions .michelle-social-button,
    .michelle-subpage-footer-cta__actions .michelle-social-button {
        justify-self: start;
        grid-column: span 1;
        width: 54px;
    }

    .michelle-home__actions .michelle-social-button img,
    .michelle-subpage-footer-cta__actions .michelle-social-button img {
        width: 38px;
        height: 38px;
    }

    .michelle-home__actions .michelle-social-button + .michelle-social-button,
    .michelle-subpage-footer-cta__actions
        .michelle-social-button
        + .michelle-social-button {
        justify-self: start;
        grid-column: span 1;
        margin-left: 0;
    }

    .michelle-social-button {
        align-items: center;
        background: #ececf0;
        border: 0;
        border-radius: 50%;
        box-shadow: 0 8px 18px rgba(18, 20, 91, 0.12);
        display: inline-flex;
        height: 54px;
        justify-content: center;
        width: 54px;
    }

    .michelle-social-button img {
        height: 38px;
        margin: auto;
        object-fit: contain;
        width: 38px;
    }

    body.michelle-theme .michelle-header__tools {
        align-items: center;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        flex: 0 0 auto;
        justify-content: flex-end;
        gap: 10px;
        margin-left: auto;
        width: auto;
    }

    body.michelle-theme .michelle-header__flags {
        flex: 0 0 auto;
        margin-left: 0;
        width: auto;
    }

    body.michelle-theme .div-flagi--container {
        align-items: center;
        display: flex;
        justify-content: flex-end;
        gap: 8px;
    }

    body.michelle-theme .menu-button-mobile {
        flex: 0 0 auto;
        margin-left: 2px;
        order: 2;
        padding: 6px 0;
    }

    body.michelle-theme #menu_mobilne ul {
        padding: 0;
    }

    body.michelle-theme #menu_mobilne ul li a,
    body.michelle-theme #menu_mobilne li.menu > span {
        border: 0;
        padding-left: 0;
        padding-right: 30px;
    }

    body.michelle-theme #menu_mobilne ul li a:hover,
    body.michelle-theme #menu_mobilne ul li a:focus,
    body.michelle-theme #menu_mobilne li.menu > span:hover,
    body.michelle-theme #menu_mobilne li.menu > span:focus {
        padding-left: 0;
    }

    body.michelle-theme #menu_mobilne li.menu > span::after,
    body.michelle-theme #menu_mobilne li.menu > span::before {
        background: currentColor;
        content: "";
        height: 2px;
        position: absolute;
        right: 4px;
        top: 50%;
        transform: translateY(-50%);
        transition:
            transform 0.22s ease,
            opacity 0.22s ease;
        width: 12px;
    }

    body.michelle-theme #menu_mobilne li.menu > span::before {
        transform: translateY(-50%) rotate(90deg);
    }

    body.michelle-theme #menu_mobilne li.menu.is-open > span::before {
        opacity: 0;
        transform: translateY(-50%) rotate(90deg) scaleX(0);
    }

    .michelle-domki-story__hours-row {
        gap: 0 18px;
        grid-template-columns: 126px 98px;
        justify-content: center;
    }

    .michelle-domki-story__map-wrap {
        margin-bottom: 0;
    }

    .michelle-home .michelle-location-contact--standalone::after {
        display: none;
    }

    .michelle-home .michelle-location-contact--standalone {
        margin-top: 0;
        z-index: 0;
    }

    .michelle-domki-story__contact {
        margin-top: 0;
        position: relative;
        z-index: 2;
    }

    .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title {
        top: 0;
    }

    .michelle-domki-story__contact-column--meta {
        justify-self: center;
        margin-top: 27px;
        text-align: center !important;
    }

    .michelle-domki-story__contact-column--meta
        .michelle-domki-story__contact-title {
        text-align: center;
    }

    .michelle-domki-story__contact-column--meta
        > :not(.michelle-domki-story__contact-title) {
        margin-left: auto;
        margin-right: auto;
    }

    .michelle-location-contact--standalone .michelle-domki-story__contact {
        padding: 22px 20px 24px;
    }

    .michelle-location-contact--standalone .michelle-domki-story__contact-grid {
        grid-template-columns: 1fr;
    }

    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title,
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column--meta
        .michelle-domki-story__contact-title,
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column--meta,
    .michelle-location-contact--standalone .michelle-domki-story__hours-label {
        text-align: center !important;
    }

    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column:first-child
        > :not(.michelle-domki-story__contact-title),
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column--meta
        > :not(.michelle-domki-story__contact-title) {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .michelle-location-contact--standalone .michelle-domki-story__hours-row {
        justify-content: center;
    }

    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title {
        margin-bottom: -14px;
        top: -38px;
    }

    /* M4: mobile mapa + kontakt + godziny + CTA */
    .michelle-domki-story__map-wrap {
        border-radius: 0;
        margin: 0 -14px 0;
        overflow: hidden;
    }

    .michelle-domki-story__map-wrap .mapa,
    .michelle-domki-story__map-wrap .michelle-domki-story__map {
        border-radius: 0;
        height: 220px;
        width: 100%;
    }

    .michelle-domki-story__contact,
    .michelle-location-contact--standalone .michelle-domki-story__contact {
        background: #fff;
        border-radius: 0;
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        margin: -16px 0 0;
        min-height: 0;
        overflow: visible;
        padding: 26px 28px 0;
        position: relative;
        z-index: 2;
    }

    .michelle-domki-story__contact::before,
    .michelle-domki-story__contact::after {
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        pointer-events: none;
        position: absolute;
        z-index: 0;
    }

    .michelle-domki-story__contact::before {
        background-image: url("../images/decorations/blob-lewy-task04-cropped.png");
        background-position: left top;
        background-size: 193.1px 333px;
        height: 333px;
        left: 0;
        top: 459px;
        width: 193.1px;
    }

    .michelle-domki-story__contact::after {
        background-image: url("../images/decorations/section-blob-sand.png");
        height: 312px;
        opacity: 0.74;
        right: -88px;
        top: 42px;
        width: 312px;
    }

    .michelle-domki-story__contact-grid,
    .michelle-location-contact--standalone .michelle-domki-story__contact-grid {
        grid-template-columns: 1fr;
        row-gap: 0;
    }

    .michelle-domki-story__contact-column,
    .michelle-domki-story__contact-column:first-child,
    .michelle-domki-story__contact-column--meta {
        background: transparent;
        border-radius: 0;
        box-shadow: none;
        justify-self: stretch;
        left: 0;
        min-width: 0;
        overflow: visible;
        padding: 0;
        position: relative;
        text-align: left !important;
        width: 100%;
    }

    .michelle-domki-story__contact-column:first-child {
        min-height: 0;
    }

    .michelle-domki-story__contact-column:first-child::before {
        content: none;
    }

    .michelle-domki-story__contact-column:first-child::after {
        bottom: -88px;
        height: 278px;
        right: -126px;
        width: 278px;
    }

    .michelle-domki-story__contact-column--meta::before {
        height: 172px;
        left: -128px;
        top: 46px;
        transform: none;
        width: 172px;
    }

    .michelle-domki-story__contact-column--meta::after {
        content: none;
    }

    .michelle-domki-story__contact-grid,
    .michelle-domki-story__primary-cta,
    .michelle-domki-story__contact-column > *,
    .michelle-domki-story__contact-column--meta > * {
        position: relative;
        z-index: 2;
    }

    .michelle-domki-story__contact-title,
    .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title,
    .michelle-domki-story__contact-column--meta
        .michelle-domki-story__contact-title,
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title,
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column--meta
        .michelle-domki-story__contact-title {
        color: #12145b;
        font-family: var(--michelle-font-display);
        font-size: clamp(42px, 12vw, 56px);
        font-weight: 800;
        left: 0;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 0 0 18px;
        position: static;
        text-align: left !important;
        top: 0;
        transform: none;
        width: auto;
    }

    .michelle-domki-story__contact-brand {
        font-size: 18px;
        line-height: 1.2;
        margin: 0 0 2px;
    }

    .michelle-domki-story__contact-column p,
    .michelle-domki-story__contact-links p,
    .michelle-domki-story__contact-column:first-child
        > :not(.michelle-domki-story__contact-title),
    .michelle-domki-story__contact-column--meta
        > :not(.michelle-domki-story__contact-title),
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column:first-child
        > :not(.michelle-domki-story__contact-title),
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column--meta
        > :not(.michelle-domki-story__contact-title) {
        left: 0;
        margin-left: 0;
        margin-right: 0;
        max-width: none;
        position: static;
        text-align: left;
        top: 0;
    }

    .michelle-domki-story__contact-title,
    .michelle-domki-story__contact-brand,
    .michelle-domki-story__contact-column p,
    .michelle-domki-story__contact-links,
    .michelle-domki-story__contact-links p,
    .michelle-domki-story__hours-row,
    .michelle-domki-story__hours-label,
    .michelle-domki-story__hours-value {
        position: relative;
        z-index: 2;
    }

    .michelle-domki-story__contact-column p,
    .michelle-domki-story__contact-links p {
        font-size: 15px;
        line-height: 1.32;
    }

    .michelle-domki-story__contact-links {
        margin-top: 18px;
    }

    .michelle-domki-story__contact-brand + p {
        margin-bottom: 18px;
    }

    .michelle-domki-story__contact-links p + p {
        margin-top: 6px;
    }

    .michelle-domki-story__contact-column--meta {
        margin-top: 26px;
    }

    .michelle-domki-story__hours-row,
    .michelle-location-contact--standalone .michelle-domki-story__hours-row {
        align-items: center;
        border-left: 1px solid rgba(18, 20, 91, 0.34);
        border-right: 1px solid rgba(18, 20, 91, 0.34);
        border-top: 1px solid rgba(18, 20, 91, 0.34);
        display: grid;
        gap: 0;
        grid-template-columns: 118px minmax(0, 1fr);
        justify-content: stretch;
        padding: 0;
    }

    .michelle-domki-story__hours-row:last-child {
        border-bottom: 1px solid rgba(18, 20, 91, 0.34);
    }

    .michelle-domki-story__hours-label,
    .michelle-domki-story__hours-value,
    .michelle-location-contact--standalone .michelle-domki-story__hours-label {
        font-size: 16px;
        line-height: 1.25;
        margin: 0;
        padding: 12px 12px;
        text-align: left !important;
    }

    .michelle-domki-story__hours-label {
        border-right: 1px solid rgba(18, 20, 91, 0.34);
        font-weight: 800;
    }

    .michelle-domki-story__hours-value {
        color: var(--michelle-ink);
        display: flex;
        font-variant-numeric: tabular-nums;
        justify-content: center;
        text-align: center !important;
    }

    .michelle-domki-story__primary-cta {
        display: block;
        margin: 18px -28px 0;
    }

    .michelle-pill-button--wide {
        align-items: center;
        background: #b8d8e7;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        color: #12145b !important;
        display: flex;
        font-family: var(--michelle-font-accent);
        font-size: 16px;
        font-weight: 800;
        justify-content: center;
        letter-spacing: 0;
        min-height: 56px;
        padding: 12px 24px;
        text-align: center;
        width: 100%;
    }

    .michelle-pill-button--wide::before {
        content: none;
    }

    .michelle-pill-button--wide span {
        display: block;
        color: #12145b;
        line-height: 1;
        width: 100%;
    }

    .michelle-pill-button--wide:hover,
    .michelle-pill-button--wide:focus {
        background: #b8d8e7;
        box-shadow: none;
        color: #12145b !important;
        text-decoration: none !important;
        transform: none;
    }

    .michelle-pill-button--wide:hover > span,
    .michelle-pill-button--wide:focus > span {
        color: #12145b;
    }

    .michelle-domki-story__mobile-actions {
        align-items: center;
        column-gap: 14px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 54px 54px;
        margin: 0 -28px;
        padding: 14px 24px 16px;
        position: relative;
        z-index: 2;
    }

    .michelle-domki-story__mobile-pricing {
        justify-self: start;
        min-height: 44px;
        min-width: 0;
        padding: 10px 28px;
        width: auto;
    }

    .michelle-domki-story__mobile-pricing > span {
        font-size: 15px;
        font-weight: 800;
        line-height: 1;
    }

    .michelle-domki-story__mobile-social {
        align-items: center;
        display: inline-flex;
        height: 54px;
        justify-content: center;
        justify-self: center;
        margin: 0;
        width: 54px;
    }

    .michelle-domki-story__mobile-social img {
        height: 38px;
        width: 38px;
    }

    .michelle-home__actions--after-contact {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
    }

    body.michelle-theme .michelle-home__actions--after-contact {
        display: none !important;
    }

    body.michelle-theme .michelle-home .michelle-location-contact + .michelle-home__actions {
        display: none !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta {
        background: #fff !important;
        margin-top: 10px !important;
        padding: 14px 24px 18px !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta__actions--desktop {
        display: none !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta__mobile-actions {
        align-items: center;
        column-gap: 14px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 54px 54px;
        width: 100%;
    }

    body.michelle-theme .michelle-subpage-footer-cta__mobile-pricing {
        justify-self: start;
        min-height: 44px;
        min-width: 0;
        padding: 10px 28px;
        width: auto;
    }

    body.michelle-theme .michelle-subpage-footer-cta__mobile-pricing > span {
        font-size: 15px;
        font-weight: 800;
        line-height: 1;
    }

    body.michelle-theme .michelle-subpage-footer-cta__mobile-social {
        align-items: center;
        display: inline-flex;
        height: 54px;
        justify-content: center;
        justify-self: center;
        margin: 0;
        width: 54px;
    }

    body.michelle-theme .michelle-subpage-footer-cta__mobile-social img {
        height: 38px;
        width: 38px;
    }

    body.michelle-theme .michelle-home__actions.michelle-subpage-footer-cta__actions {
        align-items: center !important;
        column-gap: 14px !important;
        display: grid !important;
        grid-template-columns: max-content 54px 54px !important;
        justify-content: start !important;
        row-gap: 0 !important;
        width: 100% !important;
    }

    body.michelle-theme .michelle-home__actions.michelle-subpage-footer-cta__actions > .michelle-subpage-footer-cta__reservation {
        display: none !important;
    }

    body.michelle-theme .michelle-home__actions.michelle-subpage-footer-cta__actions > .michelle-subpage-footer-cta__pricing {
        display: inline-flex !important;
        grid-column: 1 !important;
        justify-self: start !important;
        margin: 0 !important;
        min-height: 44px !important;
        min-width: 0 !important;
        padding: 10px 28px !important;
        width: auto !important;
    }

    body.michelle-theme .michelle-home__actions.michelle-subpage-footer-cta__actions > .michelle-subpage-footer-cta__pricing > span {
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    body.michelle-theme .michelle-home__actions.michelle-subpage-footer-cta__actions > .michelle-subpage-footer-cta__social {
        align-items: center !important;
        display: inline-flex !important;
        grid-column: auto !important;
        height: 54px !important;
        justify-content: center !important;
        justify-self: center !important;
        margin: 0 !important;
        width: 54px !important;
    }

    body.michelle-theme .michelle-home__actions.michelle-subpage-footer-cta__actions > .michelle-subpage-footer-cta__social img {
        height: 38px !important;
        width: 38px !important;
    }

    body.michelle-theme .michelle-home__actions.michelle-subpage-footer-cta__actions > .michelle-subpage-footer-cta__social + .michelle-subpage-footer-cta__social {
        justify-self: center !important;
        margin-left: 0 !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta .michelle-subpage-footer-cta__actions > a:nth-of-type(1) {
        display: none !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta .michelle-subpage-footer-cta__actions > a:nth-of-type(2) {
        display: inline-flex !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        margin: 0 !important;
        min-height: 44px !important;
        min-width: 0 !important;
        padding: 10px 28px !important;
        width: auto !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta .michelle-subpage-footer-cta__actions > a:nth-of-type(2) > span {
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta .michelle-subpage-footer-cta__actions > a:nth-of-type(3) {
        align-items: center !important;
        display: inline-flex !important;
        grid-column: 2 !important;
        height: 54px !important;
        grid-row: 1 !important;
        justify-content: center !important;
        justify-self: center !important;
        margin: 0 !important;
        width: 54px !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta .michelle-subpage-footer-cta__actions > a:nth-of-type(4) {
        align-items: center !important;
        display: inline-flex !important;
        grid-column: 3 !important;
        height: 54px !important;
        grid-row: 1 !important;
        justify-content: center !important;
        justify-self: center !important;
        margin: 0 !important;
        width: 54px !important;
    }

    body.michelle-theme .michelle-subpage-footer-cta .michelle-subpage-footer-cta__actions > a:nth-of-type(3) img,
    body.michelle-theme .michelle-subpage-footer-cta .michelle-subpage-footer-cta__actions > a:nth-of-type(4) img {
        height: 38px !important;
        width: 38px !important;
    }

    .michelle-attractions-card__nav {
        grid-template-columns: 1fr;
    }

    body.michelle-theme .michelle-page--attractions .michelle-subpage-footer-cta {
        display: none !important;
    }

    body.michelle-theme .michelle-page--gallery .michelle-subpage-footer-cta {
        display: none !important;
    }

    body.michelle-theme .michelle-page--rules .michelle-subpage-footer-cta {
        display: none !important;
    }

    body.michelle-theme .michelle-contact .michelle-subpage-footer-cta {
        display: none !important;
    }

    .michelle-pricing-hero {
        row-gap: 0;
    }

    .michelle-page--pricing .michelle-location-contact--standalone {
        margin-left: 0;
        margin-right: 0;
    }

    .michelle-pricing-hero__title--desktop {
        display: none;
    }

    .michelle-pricing-hero__title--mobile {
        display: block;
    }

    .michelle-pricing-hero__title--mobile {
        color: var(--michelle-navy);
        font-family: var(--michelle-font-display);
        font-size: clamp(52px, 16vw, 76px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 0 0 18px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 3;
    }

    .michelle-pricing-panel {
        background: transparent;
        box-shadow: none;
        margin-top: 0;
        padding: 0;
    }

    .michelle-pricing-panel::before {
        display: none;
    }

    .michelle-pricing-content--panel {
        background: #fff;
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        margin-left: 0;
        overflow-x: visible;
        padding: 18px 18px 18px;
        position: relative;
    }

    .michelle-pricing-content--panel::before {
        background: url("../images/decorations/section-blob-sand.png")
            no-repeat right top / contain;
        content: "";
        height: 276px;
        opacity: 0.92;
        pointer-events: none;
        position: absolute;
        right: -72px;
        top: 78px;
        width: 276px;
        z-index: 0;
    }

    .michelle-pricing-content--panel > :not(.michelle-deco-blob) {
        position: relative;
        z-index: 2;
    }

    .michelle-pricing-content--panel table,
    .michelle-pricing-content--panel .michelle-pricing-table {
        min-width: 0 !important;
        width: 100% !important;
    }

    .michelle-pricing-content--panel td,
    .michelle-pricing-content--panel th {
        overflow-wrap: break-word;
        word-break: break-word;
    }

    .michelle-pricing-content--panel td p,
    .michelle-pricing-content--panel th p {
        margin: 0;
    }

    .michelle-pricing-sidebar {
        gap: 12px;
        margin-top: 20px;
    }

    .michelle-pricing-note {
        margin-top: 18px;
    }

    .michelle-pricing-table--responsive {
        display: none;
    }

    .michelle-pricing-cards {
        display: grid;
        gap: 14px;
        width: 100%;
    }

    .michelle-pricing-card {
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid rgba(17, 17, 17, 0.18);
        border-radius: 18px;
        box-shadow: 0 10px 22px rgba(18, 20, 91, 0.06);
        overflow: hidden;
        width: 100%;
    }

    .michelle-pricing-card:nth-child(4) {
        overflow: visible;
        position: relative;
    }

    .michelle-pricing-card:nth-child(4)::after {
        background: url("../images/decorations/section-half-blob-teal.png")
            no-repeat left top / contain;
        content: "";
        height: 238px;
        left: -64px;
        opacity: 1;
        pointer-events: none;
        position: absolute;
        top: calc(100% + 18px);
        width: 238px;
        z-index: 0;
    }

    .michelle-pricing-card:nth-child(4) > * {
        position: relative;
        z-index: 2;
    }

    .michelle-pricing-card__primary {
        background: rgba(82, 166, 213, 0.08);
        font-size: 15px;
        line-height: 1.38;
        padding: 14px;
    }

    .michelle-pricing-card__primary p:last-child {
        margin-bottom: 0;
    }

    .michelle-pricing-card__row {
        align-items: baseline;
        border-top: 1px solid rgba(17, 17, 17, 0.12);
        display: grid;
        gap: 10px;
        grid-template-columns: minmax(110px, 42%) minmax(0, 1fr);
        padding: 10px 14px;
    }

    .michelle-pricing-card__label {
        color: rgba(18, 20, 91, 0.72);
        display: block;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.04em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .michelle-pricing-card__value,
    .michelle-pricing-card__value p {
        margin: 0;
    }

    .michelle-pricing-card__value strong,
    .michelle-pricing-card__value span {
        overflow-wrap: break-word;
        word-break: break-word;
    }

    .michelle-rules-hero {
        row-gap: 0;
    }

    .michelle-rules-hero__title--desktop {
        display: none;
    }

    .michelle-rules-hero__title--mobile {
        color: var(--michelle-navy);
        display: block;
        font-family: var(--michelle-font-display);
        font-size: clamp(52px, 16vw, 76px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 0 0 18px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 3;
    }

    .michelle-rules-panel {
        background: #fff;
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        margin-top: 0;
        overflow: hidden;
        padding: 18px 18px 18px;
    }

    .michelle-rules-panel::before,
    .michelle-rules-panel::after {
        display: none;
    }

    .michelle-rules-content {
        background: transparent;
        box-shadow: none;
        margin-left: 0;
        max-width: none;
        padding: 0;
    }

    .michelle-rules-hero > .michelle-weather-card,
    .michelle-rules-hero > .perfect-air,
    .michelle-rules-hero > aside,
    .michelle-rules-hero > div:last-child:not(.michelle-home__hero-main) {
        margin-top: 20px;
    }

    .michelle-page--rules .michelle-rules-hero > .perfect-air,
    .michelle-page--rules .michelle-rules-hero > .michelle-weather-card {
        display: none;
    }

    .michelle-rules-content ol,
    .michelle-rules-content li,
    .michelle-rules-content p,
    .michelle-rules-content strong,
    .michelle-rules-content span {
        overflow-wrap: break-word;
        word-break: break-word;
    }

    .michelle-rules-content ol {
        padding-left: 20px;
        padding-right: 4px;
    }

    .michelle-rules-content li {
        padding-right: 2px;
    }

    .michelle-page--rules .michelle-location-contact--standalone {
        margin-left: 0;
        margin-right: 0;
    }

    .michelle-contact .michelle-page-intro {
        display: none;
    }

    .michelle-contact-hero__title--mobile {
        color: var(--michelle-navy);
        display: block;
        font-family: var(--michelle-font-display);
        font-size: clamp(52px, 16vw, 76px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 0 0 18px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 3;
    }

    .michelle-contact-summary--clean {
        background: #fff;
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        overflow: hidden;
        padding: 18px 18px 18px;
    }

    .michelle-contact-summary--clean::before,
    .michelle-contact-summary--clean::after {
        display: none;
    }

    .michelle-contact-grid--clean {
        background: transparent;
        box-shadow: none;
        gap: 28px;
        padding: 0;
    }

    .michelle-contact .michelle-location-contact--standalone {
        margin-left: 0;
        margin-right: 0;
    }

    .michelle-reservation-hero {
        row-gap: 0;
    }

    .michelle-reservation-hero__title--desktop {
        display: none;
    }

    .michelle-reservation-hero__title--mobile {
        color: var(--michelle-navy);
        display: block;
        font-family: var(--michelle-font-display);
        font-size: clamp(52px, 16vw, 76px);
        font-weight: 800;
        letter-spacing: -0.05em;
        line-height: 0.9;
        margin: 0 0 18px;
        max-width: 270px;
        position: relative;
        text-align: left;
        z-index: 3;
    }

    .michelle-reservation-panel {
        background: #fff;
        box-shadow: 0 14px 28px rgba(18, 20, 91, 0.08);
        margin-top: 0;
        overflow: hidden;
        padding: 18px 18px 18px;
    }

    .michelle-reservation-panel::before,
    .michelle-reservation-panel::after {
        display: none;
    }

    .michelle-reservation-content {
        background: transparent;
        box-shadow: none;
        margin-left: 0;
        max-width: none;
        padding: 0;
    }

    .michelle-reservation-booking {
        margin-top: 20px;
    }

    .michelle-page--reservation .michelle-location-contact--standalone {
        margin-left: 0;
        margin-right: 0;
        margin-top: 0;
    }

    .michelle-reservation-hero > .michelle-weather-card,
    .michelle-reservation-hero > .perfect-air,
    .michelle-reservation-hero > aside,
    .michelle-reservation-hero > div:last-child:not(.michelle-home__hero-main) {
        margin-top: 20px;
    }

    .michelle-page--reservation .michelle-reservation-hero > .perfect-air,
    .michelle-page--reservation .michelle-reservation-hero > .michelle-weather-card {
        display: none;
    }

    .michelle-footer {
        display: none !important;
    }
}

@media (max-width: 991px) and (orientation: landscape) and (max-height: 540px) {
    body.michelle-theme .michelle-header__tools {
        gap: 8px;
    }

    body.michelle-theme .menu-button-mobile {
        padding-bottom: 6px;
        padding-top: 6px;
    }

    body.michelle-theme #menu_mobilne {
        max-height: calc(100vh - 106px);
    }

    .menu_poziome_mobile_out {
        top: 78px;
    }

    .michelle-home__hero-title--start span {
        font-size: clamp(42px, 8vw, 60px);
    }

    .michelle-pricing-hero__title--mobile,
    .michelle-attractions-hero__title--mobile,
    .michelle-gallery-hero__title--mobile,
    .michelle-rules-hero__title--mobile,
    .michelle-contact-hero__title--mobile,
    .michelle-reservation-hero__title--mobile,
    .michelle-domki-story__contact-title,
    .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title,
    .michelle-domki-story__contact-column--meta
        .michelle-domki-story__contact-title {
        font-size: clamp(30px, 5vw, 40px);
        line-height: 0.92;
        margin-bottom: 14px;
        max-width: none;
    }

    .michelle-pricing-hero__title--mobile,
    .michelle-attractions-hero__title--mobile,
    .michelle-gallery-hero__title--mobile,
    .michelle-rules-hero__title--mobile,
    .michelle-contact-hero__title--mobile,
    .michelle-reservation-hero__title--mobile {
        white-space: nowrap;
    }

    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title,
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column--meta
        .michelle-domki-story__contact-title {
        max-width: 170px;
        white-space: normal;
    }

    .michelle-attractions-card,
    .michelle-gallery-card,
    .michelle-pricing-content--panel,
    .michelle-rules-panel,
    .michelle-contact-summary--clean,
    .michelle-reservation-panel {
        padding-left: 18px;
        padding-right: 18px;
    }

    .michelle-domki-story__map-wrap .mapa,
    .michelle-domki-story__map-wrap .michelle-domki-story__map {
        height: 180px;
    }

    .michelle-domki-story__contact,
    .michelle-location-contact--standalone .michelle-domki-story__contact {
        padding: 22px 22px 0;
    }

    .michelle-domki-story__contact-grid,
    .michelle-location-contact--standalone .michelle-domki-story__contact-grid {
        column-gap: 26px;
        grid-template-columns: minmax(0, 1fr) minmax(250px, 0.92fr);
    }

    .michelle-domki-story__contact-column--meta {
        justify-self: stretch;
        margin-top: 0;
        text-align: left !important;
    }

    .michelle-domki-story__contact-column
        > .michelle-domki-story__contact-title,
    .michelle-domki-story__contact-column--meta
        .michelle-domki-story__contact-title,
    .michelle-domki-story__hours-label {
        text-align: left !important;
    }

    .michelle-domki-story__contact-column--meta
        > :not(.michelle-domki-story__contact-title),
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column:first-child
        > :not(.michelle-domki-story__contact-title),
    .michelle-location-contact--standalone
        .michelle-domki-story__contact-column--meta
        > :not(.michelle-domki-story__contact-title) {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }

    .michelle-domki-story__hours-row,
    .michelle-location-contact--standalone .michelle-domki-story__hours-row {
        grid-template-columns: 108px minmax(0, 1fr);
        justify-content: stretch;
    }

    .michelle-domki-story__hours-label,
    .michelle-domki-story__hours-value,
    .michelle-location-contact--standalone .michelle-domki-story__hours-label {
        font-size: 15px;
        padding: 10px 10px;
    }

    .michelle-domki-story__primary-cta {
        margin-left: -22px;
        margin-right: -22px;
    }

    .michelle-domki-story__mobile-actions {
        column-gap: 12px;
        grid-template-columns: minmax(0, 1fr) 54px 54px;
        margin-left: -22px;
        margin-right: -22px;
        padding: 12px 22px 14px;
    }

    .michelle-pricing-cards {
        gap: 12px;
    }

    .michelle-pricing-card__row {
        grid-template-columns: minmax(96px, 40%) minmax(0, 1fr);
        padding: 9px 12px;
    }

    .michelle-contact-grid--clean {
        gap: 22px;
    }

    .michelle-reservation-booking {
        column-gap: 14px;
        grid-template-columns: minmax(0, 1fr) 180px;
        margin-top: 16px;
        padding: 16px 18px;
        row-gap: 0;
    }

    .michelle-reservation-booking__copy {
        font-size: 16px;
    }

    .michelle-reservation-booking__button {
        font-size: 16px;
        min-height: 48px;
        width: auto;
    }
}
