/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */



.calendar-toggle-wrapper {
    text-align: center;
    margin-bottom: 20px;
}

.calendar-toggle-button {
    background-color: #f0f0f0;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
}

.calendar-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    gap: 10px;
}

.nav-arrow {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    padding: 0 20px;
    background: #F9F5EE;
}

.nav-arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.current-month-year {
    font-size: 20px;
    font-weight: bold;
    text-transform: capitalize;
}

.multiple-cabin-calendars {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
}

.cabin-calendar-wrapper {
    flex: 1 1 300px;
    max-width: 400px;
}

.cabin-title {
    text-align: center;
    font-size: 18px;
    margin-bottom: 10px;
}

.calendar-header {
    display: contents;
}

.calendar-header .calendar-day-header {
    background-color: #FEFCF8;
    text-align: center;
    padding: 5px;
    font-weight: bold;
}

.calendar-day {
    background-color: #fff;
    text-align: center;
    padding: 5px;
    /* aspect-ratio: 1; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.calendar-day.available {
    background-color: #2F8F4C;
    color: #ffffff;
}

.calendar-day.unavailable.booked-date.unavailable-dates.available {
    color: #2F8F4C;
}

.calendar-day.unavailable.booked-date.past {
    background: #e0e0e0;
}

.calendar-day.unavailable {
    background-color: #F9F5EE;
    color: #45523E;
}

.calendar-day.unavailable.between-dates.available {
    /* background: #F9F5EE; */
    color: #45523E;
}

.calendar-day.empty {
    background-color: #FEFCF8;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.legend-item.available .color-box {
    width: 25px;
    background-color: #4CAF50;
    height: 25px;
}

.legend-item.unavailable .color-box {
    background-color: #FFC6C6;
    background: repeating-linear-gradient(-45deg,
            #FFC6C6,
            #FFC6C6 0px,
            transparent 1px,
            transparent 0px);
    width: 25px;
    height: 25px;
}

.stuga-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.stuga-button {
    background-color: #f0f0f0;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
    transition: background-color 0.3s;
}

.stuga-button.active {
    background-color: #4CAF50;
    color: #fff;
}

.stuga-button:hover {
    background-color: #e0e0e0;
}

.go-to-link {
    font-size: 16px;
    color: #0073aa;
    text-decoration: none;
    margin-left: 10px !important;
}

.go-to-link:hover {
    text-decoration: underline;
}

.calendar-toggle-wrapper {
    text-align: center;
    margin-bottom: 20px;
}

.calendar-toggle-button {
    background-color: #f0f0f0;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 16px;
    border-radius: 5px;
}

.calendar-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    gap: 10px;
}

.current-month-year {
    font-size: 20px;
    font-weight: bold;
    text-transform: capitalize;
}

.multiple-cabin-calendars {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
}

.cabin-calendar-wrapper {
    flex: 1 1 300px;
    max-width: 400px;
}

.cabin-title {
    text-align: center;
    font-size: 18px;
    margin-bottom: 10px;
}

.calendar-grid {
    display: grid;
    grid-template-columns: 40px repeat(7, 1fr);
    gap: 2px;
    background-color: #FEFCF8;
    padding: 2px;
}

.calendar-header {
    display: contents;
}

.calendar-week {
    display: contents;
}

.week-number {
    background-color: #FEFCF8;
    text-align: center;
    padding: 5px;
    font-weight: bold;
}

.calendar-day.past {
    background-color: #F9F5EE;
    color: #2F8F4C;
}

.calendar-day.unavailable.past{
    background-color: #e0e0e0;
}

.calendar-toggle-button {
    background-color: #2F8F4C !important;
    color: #fff !important;
    border: 1px solid #2F8F4C !important;
}

.calendar-toggle-button:hover {
    background-color: transparent !important;
    color: #2F8F4C !important;
    border: 1px solid #2F8F4C !important;
}

.calendar-day.unavailable.booked-date {
    background-color: #FFC6C6;
    background: repeating-linear-gradient(-45deg,
            #FFC6C6,
            #FFC6C6 0px,
            transparent 1px,
            transparent 0px);
}


.calendar-legend {
    margin-top: 20px;
    display: flex;
    gap: 20px;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
}

.legend-item .color-box {
    width: 16px;
    height: 16px;
    display: inline-block;
    border-radius: 3px;
}

.nav-arrow span {
    position: relative;
    top: 2px;
    color: #2F8F4C;
}

.nav-arrow.next-month {
    background-color: #F9F5EE;
}

.nav-arrow.next-month span {
    color: #2F8F4C;
}

.nav-arrow.prev-month:focus {
    background-color: #F9F5EE !important;
}

.nav-arrow.prev-month:hover,
.nav-arrow.next-month:hover {
    background-color: #2F8F4C !important;
}

.nav-arrow.next-month:hover span {
    color: #ffffff;
}

.nav-arrow.prev-month:hover span {
    color: #ffffff;
}