
.hm-hotel__ext {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
    
    & .btn-hotel-list {
        display: none;
    }
    
    @media (max-width: 767px) {
        gap: 10px;
        grid-template-columns: minmax(0, 1fr);
        
        & #hm-hotel__map {
            display: none;
        }
        & .hm-hotel__address-postal {
            font-size: 14px;
        }
        &.mobile-swap {
            & #hm-hotel__map {
                display: block;
            }
            & .hm-hotel__hotels {
                display: none;
            }
            & .btn-hotel-list {
                display: block;
            }
        }
    }
}
.hm-hotel__wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border-radius: var(--p-border-radius);
    padding: 20px;
    
    &.active-wrapper {
        border-color: var(--first-color);
    }
    
    &:before {
        border-radius: var(--p-border-radius);
    }
    
    & a {
        text-decoration: none;
    }
    
    @media (max-width: 1199px) {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    @media (max-width: 565px) {
        padding: 10px;
    }
    
    & .hm-hotel__address {
        display: flex;
        gap: 10px;
        
        @media (max-width: 767px) {
            display: grid;
            grid-template-columns: 15px auto;
        }
    }
    & .hm-hotel__contact,
    & .hm-hotel__address-info {
        display: flex;
        flex-direction: column;
    }
    & .contact-icon {
        min-width: 28px;
        display: inline-block;
    }
    & .hm-hotel__contact {
        @media (max-width: 767px) {
            padding-left: 25px; /* gap und column combined */
            flex-direction: row;
            
            & .contact-icon + span {
                display: none;
            }
        }
    }
}
.hm-hotel__map-wrapper {
    position: sticky;
    top: 160px;
    background-color: var(--light-color);
    aspect-ratio: 1 / 1;
    display: grid;
    border-radius: var(--p-border-radius);
    overflow: hidden;
    
    & iframe {
        width: 100%;
        height: 100%;
        position: relative;
        z-index: 200;
        grid-area: 1 / 1;
    }
    & .hm-hotel__map-infotext-wrapper {
        grid-area: 1 / 1;
        position: relative;
        z-index: 100;
        display: flex;
        justify-content: center;
        align-items: center;
        
        & .hm-hotel__map-infotext {
            width: 300px;
            background-color: rgba(0,0,0,.1);
            border-radius: var(--p-border-radius);
            padding: 12px 20px;
            align-content: center;
            
            @media (max-width: 991px) {
                width: 90%;
                font-size: 14px;
            }
            @media (max-width: 576px) {
                font-size: 12px;
            }
        }
    }
}
.hm-hotel__hotels {
    display: flex;
    flex-direction: column;
    gap: 10px;
}.hm-hotel__hotel-name {
    font-weight: 600;
}
.hm-hotel__mapbutton {
    border: none;
    background-color: var(--light-color);
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: var(--p-border-radius);
    transition:  background-color .3s ease, color .3s ease;
    
    &:hover {
        background-color: var(--first-color);
        color: var(--brightest);
    }
}
.hm-hotel__name-and-web {
    display: flex;
    flex-direction: column;
}
.tel-nor-mail {
    &.hm-hotel__wrapper {
        grid-template-columns: minmax(0, 2fr) minmax(0, 2fr) minmax(0, 1fr);
    }
}
.v2 {
    &.hm-hotel__wrapper {
        grid-template-columns: auto auto;
        
        @media (max-width: 991px) {
            grid-template-columns: auto;
        }
    }
    & .hm-hotel__mapbutton {
        flex-direction: row;
        gap: 8px;
        padding: 5px 20px;
        margin-left: auto;
        height: 100%;
        
        @media (max-width: 991px) {
            width: 100%;
            justify-content: center;
        }
    }
}