/* Existing facts, room groups and service lists keep their native semantics. */
body.cmsj-amenity-polish .elementor .cmsj-eq-header {
    padding-bottom: 52px;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-header > .elementor-container > .elementor-column > .elementor-widget-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-group {
    align-self: stretch;
    padding: 28px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 18px rgb(10 48 58 / 8%);
}
body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-type {
    grid-column: 1 / 2;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-general {
    grid-column: 2 / 3;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-group {
    --cmsj-group-icon: url('camping-amenity-polish/icons/home.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-eq-kitchen {
    --cmsj-group-icon: url('camping-amenity-polish/icons/kitchen.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-eq-living-group {
    --cmsj-group-icon: url('camping-amenity-polish/icons/comfort.svg');
}
body.cmsj-amenity-polish .elementor :is(.cmsj-eq-bedroom-1, .cmsj-eq-bedroom-2, .cmsj-eq-bedroom-3, .cmsj-eq-sleeping-gallery) {
    --cmsj-group-icon: url('camping-object-intro/icons/bedrooms.svg');
}
body.cmsj-amenity-polish .elementor :is(.cmsj-eq-bathroom-1, .cmsj-eq-bathroom-2) {
    --cmsj-group-icon: url('camping-object-intro/icons/bathrooms.svg');
}
body.cmsj-amenity-polish .elementor :is(.cmsj-eq-wc-1, .cmsj-eq-wc-2) {
    --cmsj-group-icon: url('camping-object-intro/icons/toilets.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-eq-children {
    --cmsj-group-icon: url('camping-object-intro/icons/capacity.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-eq-outdoor-group {
    --cmsj-group-icon: url('camping-amenity-polish/icons/sun.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-eq-services-group {
    --cmsj-group-icon: url('camping-amenity-polish/icons/service.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-eq-group :is(h3, h4) {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-group :is(h3, h4)::before {
    content: '';
    display: block;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    background: #0a303a;
    mask: var(--cmsj-group-icon) center / contain no-repeat;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-group ul {
    margin: 0;
    padding: 0 0 0 19px;
    list-style: disc outside;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-group li {
    display: list-item;
    min-width: 0;
    margin: 0;
    padding: 11px 0;
    border-bottom: 1px solid rgb(10 48 58 / 13%);
    line-height: 1.5;
    overflow-wrap: break-word;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-group li:last-child {
    border-bottom: 0;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-group li::before {
    content: none;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-type li {
    font-size: 23px;
    font-weight: 700;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-group li + li {
    margin-top: 0;
}
body.cmsj-amenity-polish .elementor .cmsj-eq-services-group li {
    padding: 18px 0;
    font-size: 19px;
}
body.cmsj-amenity-polish .elementor .cmsj-pitch-chapter {
    --cmsj-pitch-icon: url('camping-amenity-polish/icons/sun.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-pitch-facilities {
    --cmsj-pitch-icon: url('camping-amenity-polish/icons/plug.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-pitch-sanitary {
    --cmsj-pitch-icon: url('camping-object-intro/icons/bathrooms.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-pitch-services {
    --cmsj-pitch-icon: url('camping-amenity-polish/icons/service.svg');
}
body.cmsj-amenity-polish .elementor .cmsj-pitch-chapter .cmsj-eq-chapter-title .elementor-heading-title {
    display: flex;
    align-items: center;
    gap: 20px;
}
body.cmsj-amenity-polish .elementor .cmsj-pitch-chapter .cmsj-eq-chapter-title .elementor-heading-title::before {
    content: '';
    display: block;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    background: #0a303a;
    mask: var(--cmsj-pitch-icon) center / contain no-repeat;
}
body.cmsj-amenity-polish .elementor .cmsj-pitch-items li {
    font-size: 19px;
    padding-block: 16px;
}
@media (min-width: 1101px) {
    body.cmsj-amenity-polish .elementor :is(.cmsj-eq-services-group, .cmsj-pitch-facilities .cmsj-pitch-items, .cmsj-pitch-services .cmsj-pitch-items) ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 32px;
    }
}
@media (min-width: 768px) {
    body.cmsj-amenity-polish .elementor .cmsj-pitch-area .cmsj-pitch-items li {
        font-family: CMSJSensei, Sensei, sans-serif;
        font-size: 36px;
    }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-group {
        transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-group:hover {
        transform: translateY(-3px);
    }
}
/* One shared text edge for every room, including the separate sleeping gallery. */
@media (min-width: 1101px) {
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms .cmsj-eq-photo-bed1 {
        grid-area: 2 / 1 / 3 / 6;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms .cmsj-eq-photo-bed2 {
        grid-area: 3 / 1 / 4 / 6;
        margin-top: 0;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms .cmsj-eq-bedroom-1 {
        grid-area: 2 / 7 / 3 / -1;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms .cmsj-eq-bedroom-2 {
        grid-area: 3 / 7 / 4 / -1;
        margin-top: 0;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms .cmsj-eq-bedroom-3 {
        grid-area: 4 / 7 / 5 / -1;
        margin-top: 0;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms .cmsj-eq-sleeping-gallery {
        grid-area: 4 / 7 / 5 / -1;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms:not(:has(.cmsj-eq-photo)) .cmsj-eq-group {
        grid-column: 1 / -1;
    }
}
@media (min-width: 768px) and (max-width: 1100px) {
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms > .elementor-container > .elementor-column > .elementor-widget-wrap {
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-bedrooms :is(.cmsj-eq-group, .cmsj-eq-photo) {
        width: 100%;
        margin-top: 0;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-services .cmsj-eq-services-group {
        grid-area: 2 / 1 / 3 / -1;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-services .cmsj-eq-children {
        grid-area: 3 / 1 / 4 / -1;
        align-self: start;
    }
}
@media (max-width: 767px) {
    body.cmsj-amenity-polish .elementor .cmsj-eq-header .cmsj-eq-group {
        padding: 24px;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-header :is(.cmsj-eq-type, .cmsj-eq-general) {
        grid-column: 1 / -1;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-group :is(h3, h4) {
        font-size: clamp(22px, 6.4vw, 25px);
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-group :is(h3, h4)::before {
        flex-basis: 26px;
        width: 26px;
        height: 26px;
    }
    body.cmsj-amenity-polish .elementor .cmsj-eq-group li,
    body.cmsj-amenity-polish .elementor .cmsj-pitch-items li,
    body.cmsj-amenity-polish .elementor .cmsj-eq-services-group li {
        font-size: 17px;
    }
    body.cmsj-amenity-polish .elementor .cmsj-pitch-chapter .cmsj-eq-chapter-title .elementor-heading-title {
        gap: 14px;
        overflow-wrap: anywhere;
    }
    body.cmsj-amenity-polish .elementor .cmsj-pitch-chapter .cmsj-eq-chapter-title .elementor-heading-title::before {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }
}
