/*
    Theme Name:   Baden Baden Child
    Template:     Baden-Baden---WordPress
    Text Domain:  baden-baden-child
*/
@import url("../Baden-Baden---WordPress/style.css");

body, button, span, input, p, h1, h2, h3, h4, h5, h6 {
    font-family: "Montserrat", sans-serif !important;
}
.titleBlock h2,
.contacts__contacts__title h2,
.firstScreen_singlePage__content h1,
.singleArticle__item .article-title h2,
.sidebar h2,
.sidebar--news ul li a {
    font-family: "Montserrat", sans-serif !important;
    font-weight: 500;
}
.footer_v2_contactsBlock h2 {
    font-weight: 400 !important;
}

/* Base styles */
.header {
    margin-bottom: -143px !important;
}

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

.header__container--column .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
}

.header__container--column .row .header__logo, 
.header__container--column .row .header__social {
    width: auto;
}

.header__container--column .row .header__logo span {
    height: 100%;
    color: #fff;
    font-size: 20px;
    border-left: 1px solid #fff;
    padding-left: 12px;
    margin-left: 12px;
}

.header__container--column .nav {
    width: 100%;
    justify-content: space-between;
}

.accommodation__item.swiper-slide {
    height: auto !important;
}

.childrenArticle > div {
    overflow: hidden;
    width: 100%;
}

.childrenArticle .article-content {
    margin-top: 40px;
}

/* Slider styles */
.childrenSlider-archive img {
    width: 100%;
    height: auto;
    aspect-ratio: 2/3;
    object-fit: cover;
    object-position: center;
}

.childrenSlider-archive .swiper-button-prev,
.childrenSlider-archive .swiper-button-next {
    opacity: 1;
    top: 50%;
    background-color: hsla(0, 0%, 0%, 0.4);
    border-radius: 90px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease-in-out;
}

.childrenSlider-archive .swiper-button-prev svg,
.childrenSlider-archive .swiper-button-next svg {
    width: 20px;
    height: 20px;
}

.childrenSlider-archive .swiper-button-prev:after,
.childrenSlider-archive .swiper-button-next:after {
    display: none;
}

.childrenSlider-archive img {
    aspect-ratio: 1/1;
}

/* Sidebar */
.sidebar-pricing {
    position: sticky;
    right: 0;
    top: 40px;
}

.firstScreen .swiper {
    width: 100%;
}

/* Table styles */
.table-collapsible-wrapper {
    position: relative;
}

.table-collapsible-wrapper:has(.table-collapsible.expanded) .table-collapsible-controls {
    bottom: fit-content;
    transition: padding-bottom 0.3s ease;
}

.table-collapsible {
    display: block;
    max-height: calc(8 * 2.5rem); /* примерно 5 строк, подкорректируй */
    overflow: hidden;
    transition: max-height 0.3s ease;
    padding-bottom: 0;
    transition: padding-bottom 0.3s ease;
}

.table-collapsible.expanded {
    max-height: none;
    padding-bottom: 120px;
    transition: padding-bottom 0.3s ease;
}

.table-collapsible-controls {
    text-align: center;
    margin-top: 0.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(360deg, hsl(0deg 0% 100% / 94%) 50%, transparent 100%);
    padding: 40px 20px;
    transition: all 0.3s ease;
}

.toggle-table-btn {
    background: #007bff;
    color: #fff;
    border: none;
    padding: 0.25rem 0.5rem;
    cursor: pointer;
    font-size: 0.875rem;
    border-radius: 0.25rem;
}

.toggle-table-btn {
    background-color: #57a1d4;
    color: #fff;
    padding: 8px 16px;
    text-transform: lowercase;
    border-radius: 6px;
}

/* WP Table styles */
.wp-block-table:not(:has(.table-bordered)) tr,
.wp-block-table:not(:has(.table-bordered)) tr td {
    border: none !important;
    border-width: 0 !important;
}

.table>:not(:last-child)>:last-child>* {
    /* background-color: #57a1d4 !important;
    color: #fff; */
    background-color: #e5eef5 !important;
    /* background-color: #f6fafd !important; */
    color: #4e5d70;
    border: none !important;
}

.wp-block-table .table-hover tr:hover td {
    background-color: rgba(87,161,212,.05) !important;
}

.wp-block-table tr td:first-child {
    border-radius: 12px 0 0 12px;
}

.wp-block-table tr td:last-child {
    border-radius: 0 12px 12px 0;
}

.wp-block-table thead th:first-child {
    border-radius: 16px 0 0 16px;
}

.wp-block-table thead th:last-child {
    border-radius: 0 16px 16px 0;
}

.wp-block-table thead {
    border-bottom: 0px solid #57a1d4;
}

.table>:not(caption)>*>* {
    box-shadow: none !important;
}

/* Article layouts */
.singleArticle.childrenArticle {
    grid-template-columns: 1fr;
}

.singleArticle.childrenArticle .singleArticle__wrapper {
    display: grid;
    overflow: hidden;
    gap: 40px;
    grid-template-columns: repeat(3, 1fr);
    padding-top: 40px;
}

.singleArticle.childrenArticle .singleArticle__wrapper .singleArticle__item {
    overflow: hidden;
}

.singleArticle.childrenArticle .singleArticle__wrapper .singleArticle__item .article-title h2 {
    font-size: 24px;
}

/* Single post types */
.single-children .singleArticle,
.single-entertainment .singleArticle {
    grid-template-columns: 1fr;
}

.single-children .singleArticle article,
.single-entertainment .singleArticle article {
    overflow: hidden;
}

.single-children .singleArticle .article-content,
.single-entertainment .singleArticle .article-content {
    overflow: hidden;
}

.single-children .titleWrapper:has(ul.nav.nav-pills > li:only-child),
.single-entertainment .titleWrapper:has(ul.nav.nav-pills > li:only-child) {
    display: none;
}

.single-children .titleBlock:has(~ .titleWrapper ul.nav.nav-pills > li:only-child)::after,
.single-entertainment .titleBlock:has(~ .titleWrapper ul.nav.nav-pills > li:only-child)::after {
    display: none;
}

/* Children article content */
.childrenArticle__content {
    padding-bottom: 60px;
}

.childrenArticle__content video {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
}

h2.childrenArticle__title {
    font-family: serif;
    font-size: 48px;
    color: #0066a4;
    margin-bottom: 20px;
}

/* Halls items */
.halls-item__info {
    padding-bottom: 20px;
}

.halls-item__info-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4em;
    max-height: 2.8em;
}

/* Cookies base styles */
.cookies {
    position: fixed;
    /* bottom: 32px;
    left: 0;
    right: 0;
    max-width: 842px;
    margin: 0 auto;
    z-index: 40; */
}

.cookies__wrapper {
    /* padding: 32px;
    box-shadow: 0 8px 32px 0 #27294014;
    background-color: #fff;
    border-radius: 32px; */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.cookies__text {
    font-size: 18px;
    line-height: 22px;
    max-width: 540px;
    font-weight: 500;
}

.cookies__text a {
    color: #0066a4;
}

.cookies__btn {
    background-color: #57a1d4;
    color: #fff;
    font-weight: 600;
    border-radius: 50px;
    line-height: 16px;
    padding: 20px 24px;
    border: none;
}

.cookies__btn:hover {
    background-color: #272940;
}

.accommodation__text-buttons {
    display: flex;
    gap: 12px;
    flex-direction: row;
    flex-wrap: wrap;
}

.accommodation__text-buttons .btn {
    padding: 12px 20px;
    width: fit-content;
    flex: 1 0 200px;
    text-transform: none;
    font-weight: 400;
}

.halls-item__info-title h3 a {
    font-size: 24px !important;
}
.pricing {
    padding-top: 0 !important;
}


.navigationBySeasons {
    position: sticky;
    top: 20px;
}
ul.entertainment-seasons {
    display: flex;
    justify-content: space-evenly;
    list-style: none;
    padding: 0 12px;
    margin: 0;
    background: #57a1d41a;
    border-radius: 7px;
    box-shadow: 0 0 8px -4px #4c4c4cb5;
    flex-wrap: wrap;
}
ul.entertainment-seasons li {
    flex: 1 0 auto;
    @media (max-width: 768px) {
        flex: 1 0 100%;
    }
}
ul.entertainment-seasons li span {
    font-size: 20px;
    font-weight: 600;
    padding: 8px 20px;
    border-color: #57a1d4;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    &:before {
        content: '';
        width: 100%;
        height: 2px;
        background: #57a1d4;
        position: absolute;
        top: 0;
        left: 0;
    }
    &:after {
        content: '';
        width: 100%;
        height: 2px;
        background: #57a1d4;
        position: absolute;
        bottom: 0;
        left: 0;
    }
}
ul.entertainment-seasons li a {
    font-size: 20px;
    background: transparent;
    padding: 8px 20px;
    color: #57a1d4;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    &:before {
        content: '';
        width: 0%;
        height: 2px;
        background: #57a1d4;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        transition: all 0.3s
    }
    &:after {
        content: '';
        width: 0%;
        height: 2px;
        background: #57a1d4;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        transition: all 0.3s
    }
}
ul.entertainment-seasons li a:hover {
    &:before {
        width: 50%;
    }
    &:after {
        width: 50%;
    }
}
.post-type-archive-nutrition, .tax-tip_area, .tax-type_event {
    .singleArticle--archive .singleArticle__wrapper {
        grid-template-columns: 1fr;
    }
    .halls-item__img-preivew {
        aspect-ratio: 16/6;
    }
}

.firstScreen_singleHall--align-downLeft {
    align-items: flex-end !important;
}
.firstScreen_singleHall--align-downLeft .firstScreen_singleHall__content {
    align-items: flex-start;
    margin-bottom: 32px;
}
.firstScreen_singleHall--align-downLeft .firstScreen_singleHall__description {
    text-align: left;
}
.firstScreen_singleHall__bg video {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
}

.btn.btn--bye-apartments {
    border: 1px solid #fff;
    color: #fff;
    margin-top: 20px;
}
.btn.btn--bye-apartments:hover {
    background-color: #fff;
    color: #57a1d4;
}
.singleRoom-roomParams-listParams-item {
    gap: 8px 12px !important
}
.singleArticleRoom-wrapper {
    -ms-grid-columns: 1fr 260px !important;
    grid-template-columns: 1fr 260px !important;
    .btn {
        padding: 16px 30px !important;
    }
}
.singleRoom-otherRooms-item-preview img {
    aspect-ratio: 38 / 27 !important;
}

/**
 * Тостер нового года
 */
/* .toast-newYear */
.toast.toast-newYear{position:fixed;bottom:40px;left:20px;z-index:60;display:-ms-grid;display:grid;-ms-grid-columns:120px 1fr;grid-template-columns:120px 1fr;background-color:#fff;width:100%;max-width:430px;display:none}.toast.toast-newYear.show{display:-ms-grid;display:grid}.toast-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:#fe0000}.toast-icon svg path{fill:#fff}.toast-wrapper{padding:16px 16px 16px 24px}.toast-header{padding:0;margin-bottom:0;border-bottom:0}.toast-header p{font-size:16px;padding-right:20px;font-weight:700;margin-bottom:0}.toast-body{font-size:14px;padding:16px 0 20px;line-height:1.3em}.toast-body a{color:#fe0000;font-weight:600}.toast-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.toast-footer a{color:#fff;background-color:#fe0000;padding:8px;text-decoration:none}@media (width <= 767px){.toast.toast-newYear{-ms-grid-columns:1fr;grid-template-columns:1fr;max-width:280px}}

@media (768px < width) {
    .singleArticleRoom-title h2 {
        font-size: clamp(24px,5vw,40px) !important;
    }
}
/* Media queries - Mobile first approach */

/* Mobile styles (<= 767px) */
@media (width <= 767px) {
    .singleArticleRoom-wrapper {
        -ms-grid-columns: (1fr)[1] !important;
        grid-template-columns: repeat(1, 1fr) !important;
    }
    .header__social ~ .header__mobile {
        width: auto;
    }
    
    .x-tl-booking-widget-container.x-tl-booking-widget-container_pulled-right {
        top: auto !important;
        bottom: 20px !important;
    }
    
    .titleWrapper ul {
        margin-bottom: 12px !important;
    }
    
    .singleArticle.childrenArticle .singleArticle__wrapper {
        grid-template-columns: 1fr;
    }
    
    .cookies__text {
        font-size: 14px;
    }
    
    .cookies__btn {
        width: 100%;
    }
    
    /* Additional mobile styles for cookies and widgets */
    body:has(.cookies[style="display: none;"]) .tl-widgets-container {
        bottom: 0px !important;
    }
    
    body:has(.cookies[style="display: none;"]) .b24-widget-button-position-bottom-right {
        bottom: 15px !important;
        top: auto !important;
    }
    body:not(:has(.cookies[style="display: none;"])) .b24-widget-button-position-bottom-right {
        bottom: 15px !important;
        top: auto !important;
    }
    
    body:has(.cookies[style="display: none;"]) .x-tl-booking-widget-container.x-tl-booking-widget-container_pulled-right {
        top: auto !important;
        bottom: 17px !important;
    }
    body:not(:has(.cookies[style="display: none;"])) .x-tl-booking-widget-container.x-tl-booking-widget-container_pulled-right {
        top: auto !important;
        bottom: 17px !important;
    }
    
    .x-tl-booking-widget-container.x-tl-booking-widget-container_pulled-right {
        top: auto !important;
        bottom: 136px !important;
        transition: all 0.3s ease-in-out;
    }
    
    .x-tl-booking-widget-container_pulled-right {
        right: 100px !important;
        transition: all 0.3s ease-in-out;
    }
    
    .tl-widgets-container {
        bottom: 120px !important;
        transition: all 0.3s ease-in-out;
    }
    
    .b24-widget-button-position-bottom-right {
        bottom: 135px !important;
        right: 20px !important;
        transition: all 0.3s ease-in-out;
    }
    
    .b24-widget-button-position-bottom-right .b24-widget-button-popup {
        display: none !important;
    }
    
    .cookies {
        bottom: 0;
        z-index: 9999999999;
    }
    .cookies__wrapper {
        background-color: #fff;
        padding: 20px 16px 12px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 12px;
        border-radius: 12px 12px 0 0;
        opacity: 1;
    }
    
    .cookies__text {
        font-size: 14px;
        line-height: 1.2em;
    }
    
    .cookies__btn {
        font-size: 12px;
        padding: 8px 24px;
        /* width: fit-content; */
    }
    .accommodation__text-buttons .btn {
        width: 100%;
    }
    .footer_v2_main .container-fluid {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;

        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important
    }
}

/* Tablet and desktop styles (>= 768px) */
@media (width >= 768px) {
    .cookies {
        bottom: 0;
        z-index: 9999999999;
        max-width: none !important;
        width: 100%;
    }
    
    .cookies__wrapper {
        background-color: #00000052;
        border-radius: 0;
        justify-content: center;
        opacity: 1;
        gap: 12px;
        padding: 6px 20px;
    }
    
    .cookies__text {
        color: #fff;
        max-width: none !important;
    }
    
    .cookies__text a {
        color: #009fff;
    }
    
    .cookies__btn {
        padding: 12px 24px;
    }
}
