/* package  */
main .package {
    max-width: 335px;
    background-color: var(--secondary-background-color);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    display: flex;
    flex-direction: column;

    .header {
        height: 154px;
        background-color: var(--tertiary-background-color);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        font-size: 1rem;
        font-weight: normal;
        padding: 36px;
        ;
        text-align: center;

        strong {
            font-size: 1.625rem;
        }
    }

    .images {

        img {
            width: 100%;
            height: 100%;
            aspect-ratio: 335 / 154;
        }

        img:last-child {
            display: none;
        }
    }

    .sidebar {
        padding: 0.9375rem;
        width: 100%;
        display: flex;
        flex-direction: column;
        height: 100%;

        .details {
            flex: 1 1 auto; 
            height: 100%;
            
            h1 {
                margin: 0;
                font-size: clamp(1.125rem, calc(0.625rem + 1vw), 1.25rem);
                margin-bottom: 5px;
                padding-inline: 5px;
            }
    
            ul.attributes {
                margin: 0;
                padding: 0;
                list-style: none;
    
                li {
                    position: relative;
                    display: flex;
                    align-items: start;
                    flex-wrap: wrap;
                    gap: 5px;
                     margin: 0;
                    padding-block: 0.3125rem;
                    padding-inline: 5px;
                    font-size: clamp(0.75rem, calc(0.25rem + 1vw), 0.875rem);
    
                    .icon {
                        width: 14px;
                        height: 14px;
                        position: absolute;
                        left: 0px;
                        margin-top: 1px;
                    }
    
                    &:has(.icon) {
                        padding-inline-start: 19px;
                    }
    
                    i {
                        font-style: normal;
                        font-weight: 300;
                        text-transform: uppercase;
                        white-space: nowrap;
                    }
    
                    &.highlight {
                        background-color: rgba(253, 237, 5, .5);
                    }
                }
            }
    
            hr {
                width: 100%;
                margin-inline: 0;
                margin-block: 0.75rem;
            }
    
            .prices {
                text-align: center;
                font-size: 0.875rem;
    
                .heading {
                    text-transform: uppercase;
                    font-weight: 600;
                }
    
                ul,
                li {
                    margin: 0;
                    padding: 0;
                    list-style: none;
                    font-weight: 300;
                    padding-block: 0.1rem;
    
                    strong {
                        font-weight: 600;
                    }
                }
            }
        }
    
        .footer {
            padding: 0.9375rem;
            padding-top: 0;
            width: 100%;
    
            >.btn {
                margin: 0 auto;
                margin-top: 12px;
                display: block;
                width: fit-content;
                min-width: 200px;
                font-size: clamp(0.75rem, calc(-0.25rem + 2vw), 1rem);
                padding: clamp(0.313rem, calc(-0.437rem + 1.5vw), 0.5rem) clamp(0.938rem, calc(-0.312rem + 2.5vw), 1.25rem);
                border-radius: clamp(0.625rem, calc(-0.625rem + 2.5vw), 0.938rem);
                text-align: center;
            }
    
            .tag {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 5px;
                min-height: 20px;
                margin-top: 12px;
                font-size: 0.75rem;
                font-style: italic;
                width: 100%;
                text-align: center;
                text-transform: uppercase;
            }
    
        }

    }

    @media screen and (max-width: 800px) {

        & {
            width: 100%;
            max-width: none;
            display: grid;
            grid-template-columns: 1fr 1.5fr;
            box-shadow: none;
        }

        .images {
            display: grid;
            grid-template-columns: 1fr;
            grid-template-rows: 2fr 1fr;
            height: 100%;

            img {
                width: 100%;
                height: 100%;
                aspect-ratio: none;
                object-fit: cover;
                min-height: 0;
            }

            img:last-child {
                display: block;
            }
        }

        .details {
            padding: 14px;
            min-width: 215px;
        }
    }
}

.packages {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 42px;
    flex-wrap: wrap;

    @media screen and (max-width: 1000px) {
        & {
            gap: 20px;
        }
    }

    @media screen and (max-width: 800px) {
        & {
            grid-template-columns: 1fr;
            gap: 10px;
        }
    }
}

/* custom */
.hotel-details {

    @media screen and (max-width: 700px) {
        & {
            padding-top: 10px;

            >h1 {
                display: none;
            }
        }
    }

    section.links {
        position: sticky;
        top: 0px;
        background-color: var(--primary-color);
        z-index: 1000;
        padding-block-start: 1.25rem;
        padding-block-end: 0;

        @media screen and (max-width: 450px) {
            padding-block-start: 0.625rem;
        }

        hr {
            width: 100%;
            margin-inline: 0;
            margin-block-end: 0;
        }

        @media screen and (max-width: 800px) {
            ul {
                justify-content: center;
            }
        }

        @media screen and (max-width: 450px) {
            ul {
                justify-content: flex-start;
                padding-right: 15vw;
            }
        }

        @media screen and (max-width: 800px) {
            padding-block: 22px;

            hr {
                display: none;
            }
        }
    }

    .main-content {
        position: relative;
        display: grid;
        gap: 27px;
        width: 100%;
        grid-template-columns: 1fr 390px;

        hr {
            margin-inline: 0;
        }

        &+hr {
            margin-block-start: 0;
        }

        article {
            width: 100%;
            min-width: 0;
            padding-block: 1.25rem;

            @media screen and (max-width: 450px) {
                padding-block: 0.625rem;
            }
        }

        aside {
            display: flex;
            justify-content: center;
            align-items: start;
            padding: 20px 25px;
            background-color: var(--list-background-color);

            .package {
                position: sticky;
                top: 90px;
            }
        }

        @media screen and (max-width: 800px) {

            padding-inline: 0;
            grid-template-columns: 1fr;

            article {
                padding-block: 0;

                section:first-child {
                    padding: 15px 26px;
                    background-color: var(--secondary-background-color);
                    border-radius: 12px;

                    h2 {
                        display: none;
                    }

                    margin-block-end: 1.25rem;

                    @media screen and (max-width: 450px) {
                        margin-block-end: 0.625rem;
                    }
                }

                section:first-child+hr {
                    display: none;
                }
            }

            aside {
                display: none;
            }

        }

    }
}


/* banner */
body>.banner {
    display: none;
}

@media screen and (max-width: 800px) {

    body>.banner {
        position: fixed;
        bottom: 0px;
        width: 100%;
        z-index: 1000;
        padding: 12px 26px;
        font-size: 14px;
        font-weight: 500;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background-color: var(--tertiary-background-color);
    }

}