:root {
    --primary-color: #013440;
    --secondary-color: #F9F7F2;
    --accent-color: #5FC0E2;
    --blue-color: #5EC9E3;
    --primary-font: "Museo-sans-rounded", sans-serif;

}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span {
    font-family: var(--primary-font) !important;
    margin: 0;
    padding: 0;
}

.flex {
    display: flex;
}

.flex-col {
    flex-direction: column;
}

.justify-center {
    justify-content: center;
}

.space-between {
    justify-content: space-between;
}

.align-center {
    align-items: center;
}

.bg-azure {
    background-color: #DBF3F6;
}

.text-center {
    text-align: center;
}

.my-10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.py-10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.py-20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.mx-15 {
    margin-left: 15px;
    margin-right: 15px;
}

.mx-20 {
    margin-left: 20px;
    margin-right: 20px;
}

.my-20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.my-32 {
    margin-top: 32px;
    margin-bottom: 32px;
}

.my-48 {
    margin-top: 48px;
    margin-bottom: 48px;
}

.px-15 {
    padding-left: 15px;
    padding-right: 15px;
}

.py-10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.py-15 {
    padding-top: 15px;
    padding-bottom: 15px;
}

.px-20 {
    padding-left: 20px;
    padding-right: 20px;
}

.blue-title {
    color: var(--blue-color) !important;
}

#stanzeAccordion .galleryStanze {
    border-radius: 20px;
}

#stanzeAccordion .swiper-pagination-bullet-active {
    background-color: var(--blue-color) !important;
}

#stanzeAccordion .swiper-pagination-bullet {
    background-color: var(--secondary-color);
    opacity: 1;
    width: 10px;
    height: 10px;
}
.linkaddress{
    color: var(--accent-color);
        font-weight: 800 !important;
}
#stanzeAccordion .accordion-button {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
    font-size: 1rem;
    color: var(--bs-accordion-btn-color);
    text-align: left;
    background-color: var(--bs-accordion-btn-bg);
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: var(--bs-accordion-transition);
}

#stanzeAccordion .accordion-item {
    border: unset;
}

#stanzeAccordion .accordion-button:focus {
    z-index: 3;
    border-color: none;
    outline: 0;
    box-shadow: none;
}

#stanzeAccordion .accordion-button p {
    margin-bottom: 0;
}

#stanzeAccordion .accordion-item {
    border-bottom: 1px solid var(--blue-color);
    margin-bottom: 2.25rem;
}

#stanzeAccordion .accordion-button .room-title {
    font-size: 22px;
    font-weight: 900;

}

#stanzeAccordion .accordion-button .room-subtitle {
    font-size: 16px;
    font-weight: 500;
}

#stanzeAccordion .room-subtitle-acc {
    font-size: 17px;
    font-weight: 900;
    color: var(--blue-color);
    margin-bottom: 0;
}

#stanzeAccordion .room-price .single-room:first-child {
    border-bottom: 1px solid #000000;
}

#stanzeAccordion .room-price .single-room:not(:first-child) {
    margin-top: 0.6rem;
}

#stanzeAccordion .room-price .single-room:first-child {
    padding-bottom: 0.6rem;
}

#stanzeAccordion .room-price .single-room p {
    margin-bottom: 0rem;
}

#stanzeAccordion .room-price .price {
    font-size: 1.3rem;
}

#stanzeAccordion .room-price .price span {
    font-size: 16px;
}

.swiper-pagination-structure {
    position: absolute;
    left: unset !important;
    bottom: 10px !important;
    right: 10px !important;
    background-color: var(--blue-color);
    /* colore simile al tuo esempio */
    padding: 5px 10px;
    font-weight: 700;
    border-radius: 5px;
    color: white !important;
    font-size: 14px;
    width: 14% !important;
}

.vicinanze-text {
    font-weight: 400;
}

.added-note {
    color: var(--blue-color);
    padding-top: 10px;
}

.vicinity-list p {
    margin-bottom: 5px;
}

#stanzeAccordion .accordion-button::after {
    background-color: var(--blue-color);
    padding: 15px 35px!important;
    border-radius: 10px;
    background-size: unset !important;
    background-position: center center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

@media screen and (min-width: 320px) {
    h1.entry-title {
        font-weight: 800;
        font-size: 1.75rem;
        margin: 0;
    }

    h4.subtitle {
        font-size: 1rem;
        margin: 0;
        font-weight: 400 !important;
    }

    h4.subtitle a {
        color: var(--accent-color);
        font-weight: 800 !important;
    }

    .amenties {
        margin: 0;
        padding: 0;
    }

    .amenties-list {
        list-style: none;
        display: flex;
        flex-direction: column;
        padding: 0;
    }

    .amenities-li {
        display: flex;
        width: 100%;
    }

    .amenities-li p {
        margin: 0;
    }

    .amenties-list img {
        width: 40px;
        margin-right: 10px;
    }

    .amenities-text {
        display: flex;
        flex-direction: column;
        font-size: 16px;
    }

    .amenities-description {
        font-weight: 400;
    }

    .amenities-text p {
        margin: 0;
    }

    p.amenities-title {
        font-weight: 900;
        color: var(--accent-color);
    }

    .amenties-text p:first-child {
        font-weight: 900;
    }

    .structure-descr {
        background: #5EC9E3;
        color: var(--secondary-color);
        border-radius: 12px;
        font-weight: 500;
        font-size: 22px;
        text-align: center;
    }

    .structure-title {
        font-weight: 900;
        color: var(--primary-color);
        font-size: 17px;
    }

    .structure-text {
        font-weight: 400;
        font-size: 16px;
    }

    .structure-text span {
        font-weight: 900;
    }

    .structure-divider {
        border-top: 5px solid #DBF3F6;
    }

    .structure-btn {
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
    }

    .structure-btn svg {
        width: 28px;
    }

    .btn-text {
        margin-left: 10px;
    }

    .phone {
        background: #28B244;
        color: var(--secondary-color);
    }

    .email {
        background: #5EC9E3;
        color: var(--secondary-color);
        text-transform: uppercase;
    }

    .site {
        background: #ffffff;
        border: 1px solid #5EC9E3;
        color: #5EC9E3;
        text-transform: uppercase;
    }

    .structure-addr svg {
        color: #5EC9E3;
        width: 16px;
    }

    .structure-pin svg {
        width: 48px;
    }
}


.structure-info ul li:not(:first-child) {
    margin-left: 5px !important;

}

.structure-info ul li a {
    font-weight: 700 !important;
    color: var(--accent-color) !important;
}

/* Contact row styles */
.contact-row {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #DBF3F6;
}

.contact-row .structure-rules {
    text-align: center;
}

.contact-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Desktop Styles */
@media screen and (min-width: 768px) {
    .head-title {
        margin-left: auto;
        margin-right: auto;
    }

    .head-title-content {
        max-width: 1320px;
        margin: 0 auto;
    }

    /* .site-main {
        max-width: 1320px;
        margin: 0 auto;
    } */

    /* Contact row desktop styles */
    .contact-row {
        margin-top: 50px;
        padding: 30px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .contact-buttons {
        flex-direction: column;
        justify-content: center;
        margin-top: 20px;

    }

    .contact-buttons a {
        margin: 0 10px;
        flex: 1;
        width: 400px;
    }

    /* Header section */
    h1.entry-title {
        font-size: 2.5rem;
    }

    h4.subtitle {
        font-size: 1.2rem;
    }

    /* Gallery slider */
    .gallery-structure {
        margin-bottom: 0px !important;
    }

    .gallery-structure .swiper-slide img {
        height: 700px;
        object-fit: cover;
    }

    /* Description box */
    .structure-descr {
        padding: 30px;
        font-size: 24px;
        margin: 30px 0;
    }

    /* Room options */
    #stanzeAccordion {
        margin-top: 30px;
    }

    #stanzeAccordion .accordion-item {
        margin-bottom: 40px;
    }

    #stanzeAccordion .galleryStanze img {
        height: 400px;
        object-fit: cover;
        border-radius: 15px;
    }

    /* Contact buttons */
    .structure-btn {
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
        padding: 15px 30px;
    }

    /* Two column layout for main content */
    @media screen and (min-width: 992px) {
        .main-content-wrapper {
            display: flex;
            gap: 30px;
            width: 100%;
            max-width: 1320px;
            margin: 0 auto !important;
            padding-top: 50px;
        }

        .main-content-left {
            flex: 2;
        }

        .main-content-right {
            flex: 1;
            background-color: #DBF3F6;
            border-radius: 15px;
            padding: 20px;
            align-self: flex-start;
            position: sticky;
            top: 20px;
            max-height: auto;
            overflow-y: hidden;
            padding-bottom: 40px;
        }

        /* Right column room options styling */
        .main-content-right #stanzeAccordion .accordion-item {
            background-color: transparent;
            margin-bottom: 25px;
        }

        .main-content-right #stanzeAccordion .gallery-stanze {
            margin: 0;
            margin-bottom: 15px;
        }

        .main-content-right #stanzeAccordion .gallery-stanze img {
            border-radius: 10px;
            height: 200px;
            object-fit: cover;
        }

        .main-content-right .structure-rules {
            text-align: left;
            margin-bottom: 10px;
            padding-left: 15px;
        }

        .main-content-right #stanzeAccordion .accordion-button {
            padding: 10px;
            background-color: #DBF3F6;
            border-radius: 10px !important;
            margin-bottom: 5px;
            box-shadow: unset;
        }

        /* .main-content-right #stanzeAccordion .accordion-button:not(.collapsed) {
            background-color: var(--blue-color);
            color: white;
        }
        
        .main-content-right #stanzeAccordion .accordion-button:not(.collapsed) .blue-title {
            color: white !important;
        } */
    }
}


@media (min-width: 992px) {
    .main-content-left.main-structure-left {
        max-width: 55%;
    }

    .main-content-right.main-structure-right {
        flex: 0 0 45%;
    }

    .gallery-structure {
        margin-bottom: 30px;
    }
}