/*!
Theme Name: stanek-tanzschule
*/

:root {
    --border-radius: 40px;
    --white: #ffffff;
    --white-36: #FFFFFF36;
    --white-1F: #FFFFFF1F;
    --black: #000000;
    --dark: #181919; 
    --dark-14: #18191914; 
    --dark-36: #18191936; 
    --dark-70: #18191970; 
    --grey: #8E8E8E;
    --grey-dark: #212121;
    --grey-dark-6E: #2121216E;
    --border: #6C6C6C; 

    --green-dark-hover: #356A77;
    --green-dark: #024555;
    --green-dark-3: #356A77;
    --green-dark-2: #678F99;
    --green-dark-1: #CCDADD;

    --green-light-hover: #D5E9D5;
    --green-light: #CBE3CB;
    --green-light-2: #D5E9D5;
    --green-light-1: #E0EEE0;

    --blue-hover: #AAC0E4;
    --blue:#95B0DD;
    --blue-3: #AAC0E4;
    --blue-2: #BFD0EB;
    --blue-1: #D5DFF1;

    --pink-dark: #995A75;
    --pink-dark-29: #995A7529;

    --pink-hover: #FFBCD9;
    --pink: #FFABCF;  
    --pink-3: #FFBCD9;
    --pink-2: #FFCDE2;
    --pink-1: #FFDDEC;
    
    --yellow-hover: #F1C864;
    --yellow: #EDBA3D;
    --yellow-3: #F1C864;
    --yellow-2: #F4D68B;
    --yellow-1: #F8E3B1;
 
    --red-hover: #FF7960;
    --red: #FF5738;
    --red-3: #FF7960;
    --red-2: #FF9A88;
    --red-1: #FFBCAF;
} 
 
body {
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    font-style: normal; 
	font-feature-settings: "pnum" on, "lnum" on;
    min-width: 320px;
    position: relative;
    background: var(--white);
    color: var(--dark);
    font-size: 16px; 
    line-height: 24px;
    box-sizing: border-box;
    margin: 0;
}

body *,
body *::after,
body *::before {
    box-sizing: border-box;
}

body input,
body textarea {
    outline: 0
}

body input:focus:required:invalid,
body textarea:focus:required:invalid {
    border-color: red
}
 
a,
a:focus,
a:hover,
button,
button:focus,
button:hover {
    text-decoration: none;
    outline: 0
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0;
}

img {
    width: 100%;
    height: auto;
}

ul, ol{
    padding: 0;
    margin: 0;
    list-style: none; 
}

.container {
    max-width: 1360px;
    margin: 0 auto;
    width: calc(100% - 80px);
}

main{
    width: 100%;
    height: auto;
    overflow: hidden;
}

.margin{
    margin: 50px auto;
}

.margin-bottom{
    margin-bottom: 50px;
}

.margin-large{
    margin: 100px auto;
}

.margin-bottom-large{
    margin-bottom: 100px;
}

.margin-min{
    margin: 20px auto;
}

.margin-bottom-min{
    margin-bottom: 20px;
}

.margin-bottom-small{
    margin-bottom: 10px;
}

.padding{
    padding: 40px;
}

.btn{
    display: inline-block;
    border: 1px solid;
    outline: none;
    cursor: pointer;
    border-radius: 16px; 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    padding: 16px 32px;
    white-space: nowrap;
}

.btn-icon{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    gap: 10px;
}

.btn-icon svg{
    width: auto;
    height: 24px;
}
.btn-blue{
    color: white;
    border-color: var(--blue);
    background: var(--blue);
}
.btn-blue:hover{
    color: white;
    border-color: var(--blue-hover);
    background: var(--blue-hover);
}
.btn-pink{
    color: white;
    border-color: var(--pink);
    background: var(--pink);
}
.btn-pink:hover{
    color: white;
    border-color: var(--pink-hover);
    background: var(--pink-hover);
}
.btn-pink-light{
    color: var(--dark);
    border-color: var(--pink-2);
    background: var(--pink-2);
}
.btn-empty-white{
    border-color: white;
    background: transparent;
    color: white;
}
.btn-empty-blue{
    border-color: var(--blue);
    background: transparent;
    color: var(--blue);
}
.btn-empty-dark{
    border-color: var(--dark);
    background: transparent;
    color: var(--dark);
}
.btn-empty-blue:hover{
    color: white; 
    background: var(--blue);
}
.btn-empty-blue:hover svg path{
    stroke: white;
}
.btn-green-dark{ 
    color: var(--white);
    border-color: var(--green-dark);
    background: var(--green-dark);
}
.btn-green-light{
    color: var(--dark);
    border-color: var(--green-light);
    background: var(--green-light);
}
.btn-green-light:hover{
    color: white;  
    background: transparent;
}
.btn-link{
    text-decoration: none;
    color: var(--dark);
    display: flex;
    align-items: center;
    gap: 4px;
    transition: 0.3s all;
}
.btn-link:after{
    content: '';
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./assets/images/arrow-link.svg);
}
.btn-link:hover{
    gap: 8px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button{
    display: inline-block;
    border: 1px solid;
    outline: none;
    cursor: pointer;
    border-radius: 16px; 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    padding: 16px 32px;
    color: white;
    border-color: var(--pink);
    background-color: var(--pink);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover{
    color: white;
    border-color: var(--pink-hover);
    background-color: var(--pink-hover);
}

.menu{
    display: flex;
    align-items: center;
    gap: 32px;
}
.menu li {
    padding: 10px 0;
}
.menu li.menu-item-has-children{
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}
.menu li.menu-item-has-children:after{
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-position: center;
    background-repeat: no-repeat; 
    background-image: url(./assets/images/arrow-down.svg);
    transition: 0.3s all;
    transform: rotate(0);
}
.menu li.menu-item-has-children:hover:after{
    transform: rotate(-180deg);
}
.menu li a{
    display: block;
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
    text-decoration: none;
}

.menu li a:not(:not([href])):hover{
    text-decoration: underline;
}

.menu li a:not([href]):hover{
    cursor: pointer;
}

.menu li .sub-menu{
    position: absolute;
    padding: 16px;
    top: 100%;
    left: -16px;
    border-radius: 18px;
    background: var(--blue-1);
    width: 210px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    visibility: hidden;
    z-index: -1;
    opacity: 0;
    transition: 0.3s all;
}

.menu li:hover .sub-menu{
    visibility: visible;
    z-index: 1;
    opacity: 1; 
}
.menu li .sub-menu li{
    padding: 0;
}

.block-title h1, .block-title__h1{
    font-weight: 600; 
    font-size: 60px; 
    line-height: 58px;
    letter-spacing: -0.04em; 
}

.block-title h2{
    font-weight: 600; 
    font-size: 48px; 
    line-height: 48px;
    letter-spacing: -0.04em; 
}

.block-title h3{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em; 
}

.block-text{ 
    font-size: 20px; 
    line-height: 28px; 
}

.block-text-min{ 
    font-size: 16px; 
    line-height: 24px; 
}

body .swiper-button{
    display: flex;
    gap: 16px;
}
body .swiper-button-prev, body .swiper-button-next{
    width: 44px;
    height: 44px;
    border-radius: 16px;
    border: 2px solid var(--blue);
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin: 0;
    transform: none;
    background: transparent;
}
body .swiper-button-prev:hover, body .swiper-button-next:hover, body .swiper-button-prev--blue, body .swiper-button-next--blue{
    background: var(--blue);
}
body .swiper-button-prev--dark, body .swiper-button-next--dark{
    border: 1px solid var(--white-36);
    background: var(--grey-dark-6E);
}
body .swiper-button-prev:before, body .swiper-button-next:before{
    content: '';
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px;
    background-image: url(./assets/images/arrow-swiper.svg);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
body .swiper-button-prev:before{
    transform: scale(-1, 1);
} 
body .swiper-button-prev:hover:before, body .swiper-button-next:hover:before, body .swiper-button-prev--blue:before, body .swiper-button-next--blue:before, body .swiper-button-prev--dark:before, body .swiper-button-next--dark:before{
    filter: brightness(0) invert(1);
}
body .swiper-button-next:after, body .swiper-button-prev:after{
    display: none;
}
body .swiper-container{
    position: relative;
}
body .swiper-container .swiper-button-prev, body .swiper-container .swiper-button-next{
    position: absolute;
    top: 50%;
    z-index: 2;
}
body .swiper-container .swiper-button-prev{
    transform: translateY(-50%) translateX(-50%);
    left: 0;
}
body .swiper-container .swiper-button-next{
    transform: translateY(-50%) translateX(50%);
    right: 0;
}
body .swiper-container .swiper-initialized{
    z-index: 1;
}
body .swiper-pagination{
    bottom: 0;
    left: 0;
    display: flex;
    gap: 12px;
    justify-content: flex-start;
}
body .swiper-pagination .swiper-pagination-bullet{
    width: 8px;
    height: 8px; 
    background: var(--dark);
    transition: 0.3s all;
    margin: 0!important;
    border-radius: 66px;
    opacity: 1;
}
body .swiper-pagination .swiper-pagination-bullet-active{
    width: 40px;
}
form{
    width: 100%;
}

form input:not([type="submit"]), form textarea{
    width: 100%;
    height: 48px;
    border-radius: 10px;
    padding: 12px 16px;
    background: #9AB5BB;
    color: white;
    font-size: 16px; 
    line-height: 24px; 
    border: none;
    font-family: 'DM Sans', sans-serif;
}

form input::placeholder, form textarea::placeholder{
    color: white;
    opacity: 0.7;
}

form input[type="submit"]{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
    background: white;
    padding: 16px 32px;
    border-radius: 16px;
    border: none;
    outline: none;
    cursor: pointer;
    margin: 0;
}

form input[type="submit"]:disabled{
    opacity: 0.5;
}

.wpcf7-spinner{
    display: none;
}

.wpcf7-form-control-wrap{
    width: 100%;
    display: block;  
    position: relative;
}

.wpcf7-form-control-wrap .wpcf7-not-valid-tip{
    position: absolute;
    bottom: -7px;
    left: 15px;
    font-size: 0.75em;
}

.wpcf7-form-control {
    margin-bottom: 12px;
    display: block;
}

.wpcf7-form-control.wpcf7-acceptance{
    margin: 24px 0;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item{
    margin: 0;
}

.wpcf7-form-control.wpcf7-acceptance input{
    display: none;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label{
    font-weight: 400; 
    font-size: 14px; 
    line-height: 20px; 
    color: rgba(255, 255, 255, 0.8);
    position: relative;
    display: block; 
    padding-left: 32px;
    cursor: pointer;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label a{
    color: white;
    text-decoration: underline;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 2px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
}
.wpcf7-form-control.wpcf7-acceptance input:checked + .wpcf7-list-item-label:before{
    background-image: url(./assets/images/ok.svg);
}

.popup-overlay{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    z-index: 9999;
    animation: fadeIn 0.3s;
}
.popup-overlay.active{
    display: flex;
    align-items: center;
    justify-content: center;
}
.popup {
    background: var(--white);
    border-radius: 40px;  
    padding: 40px;
    width: 880px;
    max-width: calc(100% - 40px);
    max-height: 90vh;
    overflow-y: auto;
    position: relative;
    animation: slideUp 0.3s; 
    overflow: hidden;
}

.popup-close {
    position: absolute;
    top: 24px;
    right: 24px;
    background: none;
    border: none;
    display: block;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    width: 24px;
    height: 24px;
    
}
.popup-close:hover svg path{
    stroke-opacity: 1;
} 

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes slideUp {
    from { 
        opacity: 0;
        transform: translateY(30px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}

.popup .wpcf7 form input:not([type="submit"]), 
.popup .wpcf7 form textarea {
    background: var(--blue-1);
    color: var(--dark);
}

.popup .wpcf7 form input:not([type="submit"])::placeholder, 
.popup .wpcf7 form textarea::placeholder{
    color: var(--dark);
}

.popup .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label{
    color: var(--dark-70);
}

.popup .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label a{
    color: var(--dark);
}

.popup .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item-label:before{
    border: 1px solid var(--dark);
}

.popup .wpcf7-form-control.wpcf7-acceptance input:checked + .wpcf7-list-item-label:before {
    background-image: url(./assets/images/ok-white.svg);
    background-color: var(--blue);
    border-color: var(--blue);
}

.popup .wpcf7 form input[type="submit"]{
    background: var(--blue);
    color: white;
}

.popup .wpcf7 form input[type="submit"]:hover{
    background: var(--blue-hover);
}

.page-breadcrumbs p, .page-breadcrumbs a{
    font-weight: 400; 
    font-size: 14px; 
    line-height: 20px;
    letter-spacing: 0%;
    color: var(--grey);
}

.page-breadcrumbs a:hover{
    text-decoration: underline;
}

.header{
    padding: 24px 0;  
    z-index: 100;
    position: sticky;
    top: 0;
    background: white;
}

.header__row{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.header__mobile-btn{
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    width: 48px;
    height: 48px;
    background: var(--blue);
    outline: none;
    border: none;
    cursor: pointer;
    padding: 0;
}
.header__mobile-btn:hover{
    background: var(--blue-hover);
}
.header__mobile-btn:before{
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./assets/images/mobile-btn.svg);
}

.header__mobile-btn.is-active:before{
    background-image: url(./assets/images/close-white.svg);
}

.header__logo a{
    display: block;
    line-height: 1;
}

.header__logo img{
    width: 150px;
    height: auto;
}

.header__info{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 32px;
}

.header__link{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
    text-decoration: none;
}

.header__link:hover{
    text-decoration: underline;
}

.header__mobile{
    display: block;
    position: absolute;
    top: 100%;
    width: 100%;
    height: 100vh;
    transform: translateY(-200%);
    transition: 0.3s all;
}
.header__mobile.is-active{
    transform: translateY(0);
}
.header__mobile:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(14px);
    z-index: 1;
}

.header__mobile-content{
    background: white;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    position: relative;
    z-index: 2;
}

.header__mobile-menu{
    padding: 16px;
    background: var(--blue-1);
    border-radius: 18px;
    position: relative;  
}

.header__mobile-menu .menu{
    gap: 16px;
    flex-direction: column;
}

.header__mobile-menu .menu li{
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
}

.header__mobile-menu .menu li a{
    order: 1;
}
.header__mobile-menu .menu li:after{
    order: 2;
}
.header__mobile-menu .menu li .sub-menu{
    order: 3;
    width: 100%;
    max-height: 0px;
    margin-top: 0;
    margin-left: 16px;
}
.header__mobile-menu .menu li:hover .sub-menu{
    position: relative;
    max-height: 100%;
    margin-top: 12px;
    left: 0;
    padding: 0;
}
.header__mobile-info{
    border-radius: 18px;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    background: var(--blue-1);
}

.footer{
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    background-color: var(--green-light); 
    background-image: url(./assets/images/decor-footer.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}

.footer__logo a{
    display: block;
    line-height: 1;
}

.footer__logo img{
    width: 150px;
    height: auto;
}

.footer__title{ 
    font-weight: 600; 
    font-size: 16px; 
    line-height: 24px; 
    margin-bottom: 24px;
    color: var(--dark);
    display: block;
}
.footer__item--mob{
    display: none;
}
.footer__label{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px;  
    color:#718C71;
}
.footer__text, .footer__text a{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
}
.footer__social{
    display: flex;
    gap: 12px;
    margin-top: 12px;
}
.footer__social li{
    display: block;
    line-height: 1;
}
.footer__social svg{
    width: 24px;
    height: auto;
    transform: translateY(0px);
    transition: 0.3s all;
}
.footer__social a:hover svg{
    transform: translateY(-3px);
}
.footer__text a:hover{
    text-decoration: underline;
}
.footer__contacts{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.footer__menu{
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 60px;
}
.footer__menu li{
    line-height: 1;
    display: block;
}
.footer__menu li a{
    font-weight: 600; 
    font-size: 16px; 
    line-height: 24px; 
    margin-bottom: 24px;
    color: var(--dark);
    display: block;
    white-space: nowrap;
}
.footer__menu .sub-menu{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.footer__menu .sub-menu li a{ 
    font-weight: 400;  
    color: var(--dark);
    margin-bottom: 0;
}
.footer__menu .sub-menu li a:hover{
    text-decoration: underline;
}
.footer__top{ 
    display: flex; 
    justify-content: space-between;
}

.footer__top-left{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.footer__top-right{
    display: flex;
    gap: 60px;
    justify-content: flex-end;
}
.footer__bottom{
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #ACC9AC;
    display: flex; 
    align-items: center;
    justify-content: space-between;
}

.footer__bottom-text{ 
    font-weight: 400; 
    font-size: 14px; 
    line-height: 20px; 
    color: #718C71;
}

.footer__bottom-ul{
    display: flex;
    justify-content: flex-end;
    gap: 40px;
}

.footer__bottom-ul li{
    display: block;
    line-height: 1;
}

.footer__bottom-ul li a{
    font-weight: 400; 
    font-size: 14px; 
    line-height: 20px; 
    color: #718C71;
}
.footer__bottom-ul li a:hover{
    color: var(--dark);
}

.block-map__row{
    display: flex;
    gap: 20px;
}

.block-map__content{
    flex: 1 1 50%;
    background: var(--green-light);
    border-radius: var(--border-radius);
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: flex-start;
    background-image: url(./assets/images/decor-1.svg);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
}

.block-map__item-label{
    font-weight: 400; 
    font-size: 18px; 
    line-height: 28px; 
    margin-bottom: 8px;
}

.block-map__item-value, .block-map__item-value a{
    color: var(--dark);
    font-weight: 600; 
    font-size: 48px; 
    line-height: 48px;
    letter-spacing: -0.04em;
}

.block-map__item-value a:hover{
    text-decoration: underline;
}

.block-map__iframe{
    flex: 1 1 50%;
    border-radius: var(--border-radius);
    min-height: 600px;
    overflow: hidden;
    position: relative;
}

.block-map__iframe iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.block-form__wrapper{
    border-radius: var(--border-radius);
    background: var(--green-dark-2);
    overflow: hidden;
    display: flex; 
    gap: 60px;
}

.block-form .block-title *, .block-form .block-text *{
    color: white;
}

.block-form__content{
    flex: 1 1 40%;
}

.block-form__form{
    flex: 1 1 60%;
}
.quote-slider{
    overflow: hidden;
    position: relative;
}
.quote-slider .swiper-pagination{
    bottom: 40px!important;
    left: 40px!important;
}
.quote-slider__item{
    display: flex;
    gap: 20px;
}
.quote-slider__item-content{
    flex: 1 1 50%;
    border-radius: var(--border-radius);
    background: var(--yellow);
    background-image: url(./assets/images/decor-2.svg);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
}
.quote-slider__item-label{
    margin-bottom: 40px; 
    font-weight: 600; 
    font-size: 16px; 
    line-height: 24px; 
    text-transform: uppercase;
    color: var(--yellow-1);
    position: relative;
    padding-left: 12px;
}
.quote-slider__item-label:before{
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--yellow-1);
}
.quote-slider__item-image{
    flex: 1 1 50%;
    position: relative;
    border-radius: var(--border-radius);
    overflow: hidden;
    min-height: 600px;
}

.quote-slider__item-image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.team-list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 100px 10px;
}

.team-post__image{
    width: 100%;
    padding-top: 150%;
    border-radius: 32px;
    position: relative;
    overflow: hidden;
    margin-bottom: 16px;
}
.team-post__image a{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.team-post__image a::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(./assets/images/decor-team.svg);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0;
    transition: 0.3s all;
    z-index: 2;
}
.team-post__image a:hover:before{
    opacity: 1;
}
.team-post__image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.team-post__content{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.team-post__content-title a{
    color: var(--dark); 
    font-weight: 600; 
    font-size: 28px; 
    line-height: 32px;
    letter-spacing: -0.04em;  
}
.team-post__content-job{ 
    font-weight: 400; 
    font-size: 16px;  
    line-height: 24px; 
    color: var(--dark); 
}
.team-post__content-category{
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.team-post__content-category span{
    display: block; 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: white;
    padding: 2px 8px;
    background: var(--blue);
    border-radius: 8px;
}
.team-post:nth-child(3n) .team-post__content-category span{
    background: var(--green-light);
    color: var(--dark);
}
.team-post:nth-child(3n) .team-post__image a::before{
    background-image: url(./assets/images/decor-team-green.svg);
}
.team-post:nth-child(3n - 1) .team-post__content-category span{
    background: var(--pink);
}
.team-post:nth-child(3n - 1) .team-post__image a::before{
    background-image: url(./assets/images/decor-team-pink.svg);
}

.reviews-slider__row{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.reviews-slider__swiper{
    overflow: hidden;
}
.reviews-slider__swiper .swiper-slide{
    height: auto;
}
.reviews-card{
    border-radius: var(--border-radius);
    padding: 30px;
    background: var(--green-dark);
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%;
}
.reviews-card__desc{
    flex: 1; 
    font-weight: 400; 
    font-size: 20px; 
    line-height: 30px; 
    color: white;
}
.reviews-card__title{
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 0;
}
.reviews-card__title-image{
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 50%;
}
.reviews-card__title-name{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: white;
}
.reviews-card__stars{
    flex: 0;
    display: flex;
    gap: 4px;
}
.reviews-card__stars svg{
    width: 17px;
    height: auto;
}
.team-slider{
    overflow: hidden;
}
.team-slider__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.team-slider__swiper .swiper-slide{
    width: 420px;
    height: auto;
}
.simple-banner__wrapper{
    min-height: 600px;
    border-radius: var(--border-radius);
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 60px;
    padding-left: 100px;
    justify-content: space-between;
    display: flex;
    align-items: center;
}
.simple-banner__content{
    width: 45%;
}
.simple-banner__content .block-title *, .simple-banner__content .block-text-min *{
    color: white;
}
.simple-banner__image{
    width: 53%;
    padding-top: 40%;
    border-radius: var(--border-radius);
    overflow: hidden;
    transform: rotate(4.25deg);

}
.simple-banner__image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-slider__swiper .swiper-slide{
    width: auto;
}
.gallery-slider__item{
    width: auto;
    height: 600px;
    border-radius: var(--border-radius);
    overflow: hidden;
}
.gallery-slider__item img{
    width: auto;
    height: 100%;
    display: block;
}
.courses-block__row{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.courses-block__button{
    flex: none;
    display: flex;
    gap: 12px;
}
.courses__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
.courses__item{
    border-radius: 32px;
    padding: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-height: 400px;
    background-repeat: no-repeat;
}
.courses__item:nth-child(6n-5){
    background-color: var(--red);
    background-image: url(./assets/images/decor-courses-1.svg);
    background-size: cover;
    background-position: center;
}
.courses__item:nth-child(6n-4){
    background-color: var(--blue);
    background-image: url(./assets/images/decor-courses-2.svg);
    background-size: contain;
    background-position: top center;
}
.courses__item:nth-child(6n-3){
    background-color: var(--green-dark); 
}
.courses__item:nth-child(6n-2){
    background-color: var(--pink);
    background-image: url(./assets/images/decor-courses-4.svg);
    background-size: contain;
    background-position: bottom; 
}
.courses__item:nth-child(6n-1){
    background-color: var(--green-light); 
}
.courses__item:nth-child(6n){
    background-color: var(--yellow);  
    background-position: top left;
    background-image: url(./assets/images/decor-courses-6.svg);
}
.courses__item-title{ 
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: 0.04em;
    color: white;
    flex: 0;
}
.courses__item:nth-child(6n-1) .courses__item-title{
    color: var(--dark);
}
.courses__item-content{
    flex: 1;
}
.courses__item-label{
    margin-bottom: 10px;
    background: var(--white-1F);
    border: 1px solid var(--white-36);
    padding: 4px 8px;
    border-radius: 13px; 
    font-weight: 400; 
    font-size: 18px; 
    line-height: 28px; 
    color: white;
    display: inline-block;
}
.courses__item:nth-child(6n-1) .courses__item-label{
    color: var(--dark);
    background: #1B1B1B1F;
    border: 1px solid #1B1B1B36;
}
.courses__item-time{ 
    font-weight: 400; 
    font-size: 18px; 
    line-height: 28px; 
    color: white;
}
.courses__item:nth-child(6n-1) .courses__item-time{
    color: var(--dark);
}
.courses__item-time span{
    display: inline-block;
    margin-right: 5px;
    opacity: 0.6;
}
.courses__item-button{
    flex: 0;
    display: block;
    width: 100%;
    background: white;
    cursor: pointer;
    outline: none;
    padding: 10px;
    border-radius: 16px;
    color: var(--dark); 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    text-align: center;
}
.events-slider__row{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.events-slider__swiper{
    overflow: hidden;
}
.events-card{
    width: 100%;
    border-radius: var(--border-radius);
    overflow: hidden;
    height: 600px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.events-card__image{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}
.events-card__image:after{
    content: '';
    z-index: 2;
    background: #231C1B;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.events-card__image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.events-card__title{
    margin-bottom: 40px;
    color: white;
    position: relative;
    z-index: 2;
    max-width: 550px;
    text-align: center;
}
.events-card__buttons{
    position: relative;
    z-index: 2;
    display: flex;
    gap: 12px;
}
.events-card__label{
    position: relative;
    z-index: 2;
    margin-bottom: 20px;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--white-36);
    background: var(--white-1F);
    color: white; 
    font-weight: 500; 
    font-size: 14px; 
    line-height: 20px; 
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 13px;
}
.events-card__label-date, .events-card__label-time{
    display: flex;
    gap: 6px;
    align-items: center;
    position: relative;
}
.events-card__label-date:before, .events-card__label-time::before{
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.events-card__label-date:before{
    background-image: url(./assets/images/icon-date.svg);
}
.events-card__label-time:before{
    background-image: url(./assets/images/icon-time.svg);
}
.hero-banners{
    position: relative;
    padding-top: 3%;
}
.hero-banners:before{
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 110%;
    background-position: top left;
    background-size: contain;
    background-repeat: no-repeat;
}
.hero-banners--blue:before{
    background-image: url(./assets/images/hero-decor-blue.svg);
}
.hero-banners--pink:before{
    background-image: url(./assets/images/hero-decor-pink.svg);
}
.hero-banners__swiper{
    overflow: hidden;
}
body .hero-banners .swiper-container .swiper-button-prev{
    left: 37%;
}
.hero-card{
    display: flex;
    align-items: flex-start;
    gap: 60px
}
.hero-card__content{
    flex: 1 1 40%;
}
.hero-card__image{
    flex: 1 0 63%;
    overflow: hidden;
    border-radius: var(--border-radius);
    position: relative;
    height: 800px;
}
.hero-card__image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-card__label{
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    color: var(--green-dark); 
    font-weight: 600; 
    font-size: 14px; 
    line-height: 20px; 
    text-transform: uppercase;
}
.hero-card__label-date, .hero-card__label-time{
    display: flex;
    gap: 6px;
    align-items: center;
    position: relative;
}
.hero-card__label-date:before, .hero-card__label-time::before{
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.hero-card__label-date:before{
    background-image: url(./assets/images/icon-date-green.svg);
}
.hero-card__label-time:before{
    background-image: url(./assets/images/icon-time-green.svg);
}

.photo-slider__wrapper{
    border-radius: var(--border-radius);
    padding: 60px;
    text-align: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(./assets/images/photo-slider.png);
}
.photo-slider__swiper{
    max-width: 830px;
    margin: 0 auto;
    overflow: hidden;
    transform: rotate(1.9deg);
}
body .photo-slider .swiper-container .swiper-button-next{
    transform: translateY(-50%) translateX(150%);
}
body .photo-slider .swiper-container .swiper-button-prev{
    transform: translateY(-50%) translateX(-150%);
}
.photo-slider__item{
    width: 100%; 
    padding-top: 57%;
    border-radius: var(--border-radius);
    overflow: hidden;
    position: relative;
}
.photo-slider__item img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
 
.history-line__head{ 
    overflow: auto;
    padding: 0 0 40px;
    display: block;
}
.history-line__head-list{
    display: flex;
    align-items: center;
    gap: 120px;
}
.history-line__head-item{ 
    font-weight: 600; 
    font-size: 120px; 
    line-height: 120px;
    letter-spacing: -0.04em;
    color: #E0E0E0;
    white-space: nowrap;
    transition: 0.3s all;
    cursor: pointer;
}
.history-line__head-item:hover, .history-line__head-item.is-active{
    color: var(--pink);
}
.history-line__content{
    position: relative; 
    display: flex;
}
.history-line__content:before{
    content: '';
    z-index: -1;
    position: absolute;
    top: -5%;
    left: 5%;
    width: 100%;
    height: 110%;
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./assets/images/decor-history.svg);
}
.history-line__content-item{
    display: none;
}
.history-line__content-item.is-active{
    display: flex;
}
.history-line__content-item-image{
    flex: 1 1 50%;
    border-radius: var(--border-radius);
    height: 600px;
    position: relative;
    overflow: hidden;
}
.history-line__content-item-image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.history-line__content-item-text{
    flex: 1 1 50%;
    padding-left: 60px;
}
.events-list{
    display: flex;
    flex-direction: column;
    gap: 30px
}

.events-flex{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.events-item{
    border-radius: var(--border-radius);
    overflow: hidden;
    height: 600px;
    flex: 1 0 45%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.events-item:nth-child(2n-1){
    background: var(--yellow);
}
.events-item:nth-child(2n){
    background: var(--pink);
}
.events-item__head{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}
.events-item__link{
    display: block;
    flex: none;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 16px;
    color: var(--dark);
    font-size: 30px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.events-item__link:hover{
    background: rgba(255, 255, 255, 1);
}
.events-item__title{
    margin-bottom: 8px;
}
.events-item__title a{
    color: var(--dark);
}
.events-item__date{
    font-weight: 400; 
    font-size: 18px; 
    line-height: 28px; 
}
.events-item__desc ul li:not(:last-child){
    margin-bottom: 8px;
}
.events-item__desc ul li{
    font-weight: 400; 
    font-size: 18px; 
    line-height: 28px; 
    position: relative;
    padding-left: 20px;
}
.events-item__desc ul li:before{
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dark);
}

.event-post{
    width: 100%;
    height: 600px;
    display: flex;
    border-radius: var(--border-radius);
    overflow: hidden;
    background: var(--green-light);
    background-image: url(./assets/images/event-post-decor.png);
    background-position: center right;
    background-size: contain;
}
.event-post__image{
    flex: 1 0 50%;
    border-radius: var(--border-radius);
    overflow: hidden;
    height: auto;
    position: relative;
}
.event-post__image img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.event-post__content{
    flex: 1 0 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px;
}
.event-post__content-info{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; 
    gap: 10px;
    font-weight: 500; 
    font-size: 14px; 
    line-height: 20px; 
    text-transform: uppercase;
    color: var(--green-dark);
    margin-bottom: 20px;
}
.event-post__content-adress, .event-post__content-date, .event-post__content-time{
    position: relative;
    display: flex;
    gap: 6px;
    align-items: center;
    position: relative;
}
.event-post__content-adress:before, .event-post__content-date:before, .event-post__content-time:before{
    content: '';
    width: 20px;
    height: 20px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.event-post__content-adress:before{
    background-image: url(./assets/images/icon-adress-green.svg);
}
.event-post__content-date:before{
    background-image: url(./assets/images/icon-date-green.svg);
}
.event-post__content-time:before{
    background-image: url(./assets/images/icon-time-green.svg);
}
.event-post__content-adress{
    width: 100%; 
    justify-content: center;
    align-items: center;
}
.event-post__content-title{
    margin-bottom: 12px;
}
.event-post__content-title a{
    color: var(--dark);
}
.event-post__content-desc{
    margin-bottom: 40px;
}
.event-post__content-buttons{
    display: flex;
    justify-content: center;
    gap: 12px;
}
.event-details__info{
    display: flex;
    gap: 20px;
}
.event-details__info-conditions span{
    color: var(--pink-dark);
}
.event-details__info-left{
    flex: 1 1 65%;
}
.event-details__info-right{
    flex: 1 1 35%;
}
.event-details__info-left, .event-details__info-right{
    border-radius: var(--border-radius);
    background: var(--pink-2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}
.event-details__hero {
    width: 100%;
    height: 600px;
    border-radius: var(--border-radius);
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
}
.event-details__hero-bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.event-details__hero-bg:before{
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    opacity: 0.4;
    background: #231C1B;
}
.event-details__hero-bg img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}
.event-details__hero-subtitle{
    background: var(--pink-2);
    color: var(--dark); 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    border-radius: 8px;
    padding: 2px 8px;
    margin-bottom: 12px;
}
.event-details__hero-title{
    color: var(--white);
    margin-bottom: 20px;
    max-width: 730px;
}
.event-details__hero-info{
    display: flex;
    gap: 44px;
    margin-bottom: 44px;
}
.event-details__hero-item{
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.event-details__hero-label{
    color: var(--white); 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px;
    letter-spacing: -0.04em;
}
.event-details__hero-value{
    color: var(--white); 
    font-weight: 600; 
    font-size: 16px; 
    line-height: 24px; 
}
.event-details__hero-number{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--white); 
}
.product-detail__row{
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.product-detail__images, .product-detail__content{
    flex: 1 1 50%;
}
.product-detail__content{
    border-radius: var(--border-radius);
    background: var(--pink-1);
}
.product-detail__images .woocommerce-product-gallery{
    width: 100%!important;
}
 
.product-detail__info{
    display: flex;
    flex-direction: column;
}
.product-detail__info-item{
    padding: 16px 0;
    border-bottom: 1px solid var(--pink-dark-29);
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.product-detail__info-item__label{
    flex: 1 1 50%;
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--pink-dark);
}
.product-detail__info-item__value{
    flex: 1 1 50%;
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
}
.product-detail__link{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.woocommerce div.product div.images.woocommerce-product-gallery{
    border-radius: var(--border-radius);
    overflow: hidden;
}
.woocommerce div.product div.images img{
    width: 100%;
    height: 600px;
    object-fit: cover; 
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li{
    position: absolute;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li.flex-nav-prev{
    left: 20px;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li.flex-nav-next{
    right: 20px;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li a{
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 16px;
    border: 2px solid var(--pink);
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin: 0;
    transform: none; 
    font-size: 0;
    background: var(--pink);
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li a:not(.flex-disabled):hover{
    background: var(--pink-2);
    border-color: var(--pink-2);
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li a.flex-disabled{
    opacity: 0.35;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li a:before{
    content: '';
    background-position: center;
    background-repeat: no-repeat;
    background-size: 14px;
    background-image: url(./assets/images/arrow-swiper-white.svg);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li.flex-nav-prev a:before{
    transform: scale(-1, 1);
} 
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-nav{
    position: absolute;
    left: 40px;
    bottom: 40px;
    z-index: 3;
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
} 
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-nav li a{
    display: block;
    width: 8px;
    height: 8px; 
    background: var(--white);
    transition: 0.3s all;
    margin: 0!important;
    border-radius: 66px;
    opacity: 1;
    font-size: 0;
}
.woocommerce div.product div.images.woocommerce-product-gallery .flex-control-nav li a.flex-active{
    width: 40px;
}
.pswp__bg{
    opacity: 0;
}
.pswp--animated-in .pswp__bg {
    opacity: 0.85!important;
}
.pswp__img{
    border-radius: var(--border-radius);
}
.woocommerce div.product form.cart .variations{
    margin-bottom: 50px;
}
.woocommerce div.product form.cart .variations tbody{
    display: flex;
    flex-direction: column;
    gap: 36px;
}
.woocommerce div.product form.cart .variations tr{
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
}
.woocommerce div.product form.cart .variations tr.variations-pa_date{
    order: 1;
}
.woocommerce div.product form.cart .variations tr.variations-info{
    order: 2;
}
.woocommerce div.product form.cart .variations tr.variations-pa_buchungsoptionen{
    order: 3;
}
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th{
    line-height: 1;
    width: 100%;
    text-align: left;
}
.woocommerce div.product form.cart .variations label, .product-detail__variation-label{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--pink-dark); 
    text-align: left;
}
.woocommerce div.product form.cart .variations tr.variations-pa_date .label{
    display: none;
} 
.single_variation_wrap .woocommerce-variation-price, .single_variation_wrap .woocommerce-variation-availability{
    display: none;
}
.product-detail__price{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px;
    letter-spacing: -0.04em;
    color: var(--dark);
}
.product-detail__price span{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 1; 
    color: var(--dark);
}
.product-detail__variation{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 24px;
}
.product-detail__variation-item{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.product-detail__variation-text, .product-detail__variation-text *{ 
    font-weight: 400; 
    font-size: 16px!important; 
    line-height: 24px; 
    color: var(--dark)!important;  
}
.woocommerce div.product form.cart .variations select{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    padding: 12px 16px;
    background: #FFC5DE;
    border: 1px solid #FFC5DE;
    border-radius: 10px;
    outline: none;
    cursor: pointer;
    margin: 0;
}
.woocommerce div.product form.cart .variations  .reset_variations{
    display: none!important;
}
.variation-radios label{
    position: relative; 
    display: block;
}
.variation-radios label:not(:last-child){
    margin-bottom: 12px;
}
.variation-radios label input{
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    visibility: hidden;
    opacity: 0;
}
.variation-radios label div{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
    cursor: pointer;
    padding-left: 32px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.variation-radios label div:before{
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid var(--dark);
    margin-right: 4px;
    position: absolute;
    top: 0;
    left: 0;
}
.variation-radios label div:after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%; 
    background: var(--dark); 
    position: absolute;
    top: 8px;
    left: 8px;
    opacity: 0;
}
.variation-radios label input:checked + div:after{
    opacity: 1;
}
.variation-radios label span{
    color: var(--pink-dark);
}
.product-detail__content .single_variation_wrap .single_add_to_cart_button{
    border-radius: 16px!important;
    border: 1px solid var(--dark)!important;
    padding: 16px 32px!important;
    background: transparent!important; 
    font-weight: 400!important; 
    font-size: 16px!important; 
    line-height: 24px!important; 
    color: var(--dark)!important;
    height: auto !important;
}
.qib-container{
    width: 160px;
    height: 56px;
    border-radius: 16px;
    background: var(--pink);
    overflow: hidden;
}
.qib-container .qib-button{
    height: 100% !important;
    flex: none;
    margin: 0 !important;
    font-size: 26px!important;
    width: 45px!important;
    border: none!important;
    background: transparent!important;
    outline: none!important;
    cursor: pointer;
}
.qib-container div.quantity{
    flex: 1;
}
.qib-container .quantity input.qty{
    font-weight: 400;
    font-size: 16px !important;
    line-height: 24px !important;
    color: var(--dark);
    width: 100% !important;
    text-align: center !important;
    height: 100% !important;
    border: none !important;
}
.woocommerce .products ul, .woocommerce ul.products{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.woocommerce .products ul::after, .woocommerce .products ul::before, .woocommerce ul.products::after, .woocommerce ul.products::before{
    display: none;
}
li.product{
    width: 100%!important;
    margin: 0!important;
    position: relative;
    padding: 20px!important;
    border-radius: 32px;
    overflow: hidden;
    min-height: 400px;
    height: 100%!important;
    list-style: none!important;
} 
.product.background-green-1{
    background: var(--green-dark);
}
.product.background-green-1 .product__decor svg path{
    stroke: var(--green-dark-3);
}
.product.background-green-2{
    background: var(--green-dark-3);
}
.product.background-green-2 .product__decor svg path{
    stroke: var(--green-dark-2);
}
.product.background-green-3{
    background: var(--green-dark-2);
}
.product.background-green-3 .product__decor svg path{
    stroke: var(--green-dark-3);
}
.product.background-green-4{
    background: var(--green-dark-1);
}
.product.background-green-4 .product__decor svg path{
    stroke: var(--green-dark-2);
}
.product.background-orange-1{
    background: var(--red);
}
.product.background-orange-1 .product__decor svg path{
    stroke: var(--red-3);
}
.product.background-orange-2{
    background: var(--red-3);
}
.product.background-orange-2 .product__decor svg path{
    stroke: var(--red-2);
}
.product.background-orange-3{
    background: var(--red-2);
}
.product.background-orange-3 .product__decor svg path{
    stroke: var(--red-3);
}
.product.background-orange-4{
    background: var(--red-1);
}
.product.background-orange-4 .product__decor svg path{
    stroke: var(--red-2);
}
.product.background-green-light-1{
    background: var(--green-light);
}
.product.background-green-light-1 .product__decor svg path{
    stroke: var(--green-light-2);
}
.product.background-green-light-2{
    background: var(--green-light-2);
}
.product.background-green-light-2 .product__decor svg path{
    stroke: var(--green-light);
}
.product.background-green-light-3{
    background: var(--green-light-1);
}
.product.background-green-light-3 .product__decor svg path{
    stroke: var(--green-light-2);
}
.product.background-green-light-4{
    background: var(--green-light-1);
}
.product.background-green-light-4 .product__decor svg path{
    stroke: var(--green-light-2);
}
.product.background-pink-1{
    background: var(--pink);
}
.product.background-pink-1 .product__decor svg path{
    stroke: var(--pink-3);
}
.product.background-pink-2{
    background: var(--pink-3);
}
.product.background-pink-2 .product__decor svg path{
    stroke: var(--pink-2);
}
.product.background-pink-3{
    background: var(--pink-2);
}
.product.background-pink-3 .product__decor svg path{
    stroke: var(--pink-3);
}
.product.background-pink-4{
    background: var(--pink-1);
}
.product.background-pink-4 .product__decor svg path{
    stroke: var(--pink-2);
}
.product.background-yellow-1{
    background: var(--yellow);
}
.product.background-yellow-1 .product__decor svg path{
    stroke: var(--yellow-3);
}
.product.background-yellow-2{
    background: var(--yellow-3);
}
.product.background-yellow-2 .product__decor svg path{
    stroke: var(--yellow-2);
}
.product.background-yellow-3{
    background: var(--yellow-2);
}
.product.background-yellow-3 .product__decor svg path{
    stroke: var(--yellow-3);
}
.product.background-yellow-4{
    background: var(--yellow-1);
}
.product.background-yellow-4 .product__decor svg path{
    stroke: var(--yellow-2);
}
.product.background-blue-1{
    background: var(--blue);
}
.product.background-blue-1 .product__decor svg path{
    stroke: var(--blue-3);
}
.product.background-blue-2{
    background: var(--blue-3);
}
.product.background-blue-2 .product__decor svg path{
    stroke: var(--blue-2);
}
.product.background-blue-3{
    background: var(--blue-2);
}
.product.background-blue-3 .product__decor svg path{
    stroke: var(--blue-3);
}
.product.background-blue-4{
    background: var(--blue-1);
}
.product.background-blue-4 .product__decor svg path{
    stroke: var(--blue-2);
}

.product__decor{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    align-items: center;
}
.product__decor svg{
    width: 100%;
    height: auto;
}
.product__content{
    width: 100%;
    z-index: 2;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    height: 100%;
}
.product__head{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 16px;
    flex: none
}
.product__head-label{
    padding: 4px 8px;
    border-radius: 13px;
    border: 1px solid white;
    color: white; 
    font-weight: 400; 
    font-size: 14px; 
    line-height: 20px; 
    background: var(--white-1F);
} 
.product__head-title{ 
    font-weight: 500; 
    font-size: 32px; 
    line-height: 1; 
    color: white; 
}
.product__head-price{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: white;
}
.product__head-price span{ 
    font-weight: 500; 
    font-size: 24px; 
    line-height: 1; 
}
.product__info{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 2px;
}
.product__info-item { 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: white;
}
.product__info-item span{
    opacity: 0.6;
}
.product__button{
    width: 100%;
    flex: none;
    padding: 10px;
    text-align: center;
    border-radius: 16px;
    background: white;
    color: var(--dark); 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
}
.background-green-4 .product__info-item, .background-green-4 .product__head-price, .background-green-4 .product__head-title, .background-green-4 .product__head-label,
.background-orange-4 .product__info-item, .background-orange-4 .product__head-price, .background-orange-4 .product__head-title, .background-orange-4 .product__head-label,
.background-green-light-1 .product__info-item, .background-green-light-1 .product__head-price, .background-green-light-1 .product__head-title, .background-green-light-1 .product__head-label,
.background-green-light-2 .product__info-item, .background-green-light-2 .product__head-price, .background-green-light-2 .product__head-title, .background-green-light-2 .product__head-label,
.background-green-light-3 .product__info-item, .background-green-light-3 .product__head-price, .background-green-light-3 .product__head-title, .background-green-light-3 .product__head-label,
.background-green-light-4 .product__info-item, .background-green-light-4 .product__head-price, .background-green-light-4 .product__head-title, .background-green-light-4 .product__head-label,
.background-pink-4 .product__info-item, .background-pink-4 .product__head-price, .background-pink-4 .product__head-title, .background-pink-4 .product__head-label,
.background-pink-3 .product__info-item, .background-pink-3 .product__head-price, .background-pink-3 .product__head-title, .background-pink-3 .product__head-label,
.background-yellow-4 .product__info-item, .background-yellow-4 .product__head-price, .background-yellow-4 .product__head-title, .background-yellow-4 .product__head-label,
.background-yellow-3 .product__info-item, .background-yellow-3 .product__head-price, .background-yellow-3 .product__head-title, .background-yellow-3 .product__head-label,
.background-blue-4 .product__info-item, .background-blue-4 .product__head-price, .background-blue-4 .product__head-title, .background-blue-4 .product__head-label {
    color: var(--dark);
}
.background-green-4 .product__head-label, 
.background-orange-4 .product__head-label,
.background-green-light-1 .product__head-label,
.background-green-light-2 .product__head-label,
.background-green-light-3 .product__head-label,
.background-green-light-4 .product__head-label,
.background-pink-4 .product__head-label,
.background-pink-3 .product__head-label,
.background-yellow-4 .product__head-label,
.background-yellow-3 .product__head-label,
.background-blue-4 .product__head-label{
    border-color: var(--dark);
    background: var(--dark-14);
    border-color: var(--dark-36);
}
.product-slider{
    overflow: hidden;
}
.product-slider__row{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.product-slider__swiper .swiper-slide{
    width: 320px;
    height: auto;
}
.product-categories{
    display: flex;
    gap: 10px 4px;
    flex-wrap: wrap;
}
.product-categories__item{  
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
    padding: 7px 12px;
    border: 1px solid #EBEBEB;
    border-radius: 25px;
    background: transparent;
    transition: 0.3s all;
    outline: none;
} 
.product-categories__item.active, .product-categories__item:hover{
    background: var(--blue);
    border-color: var(--blue);
    color: var(--white);
}

.block-Gutenberg {
    max-width: 880px;
}
.block-Gutenberg h1{ 
    font-weight: 600; 
    font-size: 60px; 
    line-height: 58px;
    letter-spacing: -0.04em;
}
.block-Gutenberg h1{
    margin-top: 48px;
    margin-bottom: 24px;
}
.block-Gutenberg h2{ 
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em;
}
.block-Gutenberg h2{
    margin-top: 48px;
    margin-bottom: 24px;
}
.block-Gutenberg h3{ 
    font-weight: 600; 
    font-size: 20px; 
    line-height: 28px;
    letter-spacing: -0.04em;
}
.block-Gutenberg h3{
    margin-top: 24px;
    margin-bottom: 12px;
}
.block-Gutenberg h4{ 
    font-weight: 600; 
    font-size: 18px; 
    line-height: 26px;
    letter-spacing: -0.04em;
}
.block-Gutenberg p, .block-Gutenberg li{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px;  
}
.block-Gutenberg p{
    margin: 12px 0;
}
.block-Gutenberg li{
    margin: 8px 0;
}
.block-Gutenberg ul li{
    padding-left: 14px;
    position: relative;
}
.block-Gutenberg ul li:before{
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--dark);
}
.block-Gutenberg a{
    color: var(--dark);
    text-decoration: underline;
}
.block-Gutenberg a:hover{
    text-decoration: none;
}
.block-Gutenberg *:first-child{
    margin-top: 0;
}

.teacher-about__wrapper{
    display: flex;
    gap: 20px;
}
.teacher-about__content{
    flex: 1 1 50%;
    border-radius: var(--border-radius);
    background: var(--blue-2);
    display: flex;
    align-items: center;
    background-image: url(./assets/images/decor-t-about.svg);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
}
.teacher-about__content-text{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 40px;
    letter-spacing: -0.04em; 
}
.teacher-about__images{
    flex: 1 1 50%;  
    overflow: hidden;
    position: relative;
}
.teacher-about__images .swiper-slider {
    width: 100%;
    height: 600px;
}
.teacher-about__images .swiper-wrapper{
    z-index: 1;
    position: relative;
}
.teacher-about__images .swiper-button-next{
    top: 50%;
    right: 20px;
    z-index: 2;
    position: absolute;
    transform: translateY(-50%);
}
.teacher-about__images .swiper-button-prev{
    top: 50%;
    left: 20px;
    z-index: 2;
    position: absolute;
    transform: translateY(-50%);
}
.teacher-about__image img{
    display: block;
    width: 100%;
    height: 600px;
    object-fit: cover;
    border-radius: var(--border-radius);
}

.teacher-detail__wrapper{
    display: flex;
    gap: 60px;
    align-items: center;
    background-color: var(--blue-1);
    border-radius: var(--border-radius);
    background-image: url(./assets/images/decor-t-detail.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.teacher-detail__photo{
    flex: 0 0 320px;
    transform: rotate(-4.35deg);
}
.teacher-detail__photo img{
    width: 100%;
    height: auto;
    border-radius: var(--border-radius);
}
.teacher-detail__content{
    flex: 1 1 100%;
}
.teacher-detail__info { 
    font-weight: 400; 
    font-size: 20px; 
    line-height: 30px; 
}
.teacher-detail__category{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.teacher-detail__category-item{
    white-space: nowrap; 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    border: 1px solid var(--dark-36);
    border-radius: 13px;
    padding: 4px 8px;
    background: var(--dark-14);
}   
.teacher-detail__socials-title{
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.04em;
}
.teacher-detail__socials ul{
    display: flex;
    padding: 0;
    margin: 0;
    gap: 8px;
    list-style: none;
}
.teacher-detail__socials ul li{
    padding: 0;
    margin: 0;
}
.teacher-detail__socials ul li a{
    display: block;
    line-height: 14px;
    padding: 16px 20px;
    border-radius: 16px;
    background: var(--blue);
}
.teacher-detail__socials ul li svg{
    width: auto;
    height: 24px;
    display: block;
}
.teacher-detail__desc{
    display: flex;
    gap: 60px;
}
.teacher-detail__desc-item{
    flex: 1 1 50%;
}
.teacher-detail__desc-title{
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.04em;
}
.teacher-detail__desc-text{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
}
.teacher-detail__desc-text li{
    margin-bottom: 4px;
    position: relative;
    padding-left: 12px;
}
.teacher-detail__desc-text li:before{
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--dark);
}

.block-faq__wrapper{
    display: flex;
    gap: 40px;
}
.block-faq__content{
    flex: 1 1 35%;
}
.block-faq__list{
    flex: 1 1 65%;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.block-faq__info{
    display: flex;
    align-items: center;
    gap: 24px;
}
.block-faq__info-tel{
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: var(--dark);
}
.block-faq__item{
    width: 100%;
    border-radius: 16px;
    padding: 20px;
    background: var(--green-light);
    transition: 0.3s all;
}
.block-faq__item-content{
    margin-top: 0px;
    transition: 0.3s all;
    max-height: 0vh;
    opacity: 0;
    overflow: hidden;
}
.block-faq__item-content *:last-child{
    margin-bottom: 0;
}
.block-faq__item-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: relative;
    cursor: pointer;
}
.block-faq__item-head::after{
    content: '';
    width: 24px;
    height: 24px;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./assets/images/faq-plus.svg);
    transition: 0.3s all;
    flex: none;
}
.block-faq__item-title{ 
    font-weight: 500; 
    font-size: 20px; 
    line-height: 30px; 
} 
.block-faq__item.is-active .block-faq__item-content{
    margin-top: 16px;
    max-height: 100vh;
    opacity: 1;
}
.block-faq__item.is-active .block-faq__item-head::after{
    background-image: url(./assets/images/faq-minus.svg);
}

.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
    width: calc(50% - 6px); 
}

.wp-block-woocommerce-cart .wc-block-cart .wc-block-cart__totals-title{ 
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em;
    color: var(--dark);
    text-transform: none;
    padding: 0;
    margin-bottom: 40px;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item .wc-block-components-totals-item__label, .wp-block-woocommerce-cart .wc-block-components-totals-item .wc-block-components-totals-item__value{
    font-weight: 600; 
    font-size: 28px; 
    line-height: 28px; 
    color: var(--dark);
}
.wp-block-woocommerce-cart .wc-block-components-sidebar{
    width: 30%;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main{
    width: 70%;
}
.wp-block-woocommerce-cart .wc-block-components-panel__button{
    display: none;
}
.wp-block-woocommerce-cart .wc-block-cart .wp-block-woocommerce-cart-order-summary-block{
    border-bottom: none;
    margin-bottom: 40px;
}
.wp-block-woocommerce-cart .wc-block-components-totals-wrapper {
    border-top: none;
    padding: 0; 
    margin-bottom: 20px;
}
#wc-block-components-totals-coupon__input-coupon{
    background: rgba(239, 239, 239, 1);
    border-color: rgba(239, 239, 239, 1);
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    padding: 12px 16px;
    border-radius: 10px;
}
.wc-block-components-text-input.wc-block-components-totals-coupon__input label{
    left: 16px; 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: rgba(24, 25, 25, 0.4);
}
.wc-block-components-totals-coupon .wc-block-components-button__text{
    display: none!important;
}
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button{
    background: var(--pink);
    border: 1px solid var(--pink);
    flex: none!important;
    width: 50px;
    padding: 0!important;
    border-radius: 10px;
}
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button:before{
    content: '';
    font-size: 30px;
    line-height: 50px;
    width: 24px;
    height: 24px;
    display: block;
    background-image: url(/wp-content/themes/stanek-tanzschule/assets/images/check.svg);
}
.wc-block-components-totals-coupon .wc-block-components-totals-coupon__button:disabled{
    opacity: 0.5;
}

.wc-block-cart__submit-button{
    margin-top: 40px;
    width: 100%;
    background: var(--pink);
    border: 1px solid var(--pink);
    padding: 16px; 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
    border-radius: 16px;
}
.wc-block-cart-items__header-total, .wc-block-cart-items__header-image{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px;  
    padding: 0!important;
    color: var(--dark);
    text-transform: none;
}
.wc-block-cart-items__header-image{
    text-align: left;
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-items td{
    border-top: none;
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-items{
    border-bottom: none;
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-item__total {
    padding-right: 0!important; 
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-item__total .wc-block-components-product-price{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em;
    text-align: right;
    color: var(--dark);
    padding: 0;
    text-align: right;
}

.wp-block-woocommerce-cart .wc-block-components-product-name{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em;
    color: var(--dark);
    margin-bottom: 0 !important;
}
.wp-block-woocommerce-cart  .wc-block-cart-item__prices{
    font-weight: 600; 
    font-size: 20px; 
    line-height: 28px;
    letter-spacing: -0.04em;
    color: var(--dark);
}
.wp-block-woocommerce-cart .wc-block-components-product-metadata{
    margin: 24px 0!important;
}
.wp-block-woocommerce-cart .wc-block-components-product-details{
    margin: 0!important;
}
.wp-block-woocommerce-cart .wc-block-components-product-details li:not(:last-child){
    margin-bottom: 4px;
}
.wp-block-woocommerce-cart .wc-block-cart-item__quantity{
    display: flex;
    align-items: center;
    gap: 12px;
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-components-product-details__name{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--pink-dark);
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-components-product-details__value{ 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__image{
    padding-left: 0!important;
}
.wp-block-woocommerce-cart .wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__image img{
    border-radius: 16px;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
    border-radius: 16px; 
    margin: 0 !important; 
    width: 120px;
    border: 1px solid var(--dark);
    height: 42px;
    overflow: hidden;
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    font-size: 24px;
    min-width: 40px; 
    line-height: 1;
    border: none!important;
    outline: none!important;
    opacity: 1!important;
    box-shadow: none!important;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled{
    opacity: 0.4!important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link{
    width: 44px;
    font-size: 0!important;
    background-image: url(/wp-content/themes/stanek-tanzschule/assets/images/trash.svg)!important;
    height: 44px;
    border: 1px solid var(--black)!important;
    border-radius: 16px!important;
    background-position: center!important;
    background-repeat: no-repeat!important;
}
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover, table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:hover{
    background-color: red!important;
}


.woocommerce-classic{
    display: flex;
    gap: 60px;
    align-items: flex-start;
    flex-wrap: wrap;
}
 
.woocommerce-notices-wrapper:empty{
    display: none;
}

.woocommerce-classic__left{
    flex: 1 1 60%;
}

.woocommerce-classic__right{
    flex: 0 1 440px;
}

.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals{
    float: none;
    width: 100%;
}

.shop_table_head{
    display: flex;
    align-items: center;
    justify-content: space-between; 
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    margin-bottom: 32px;
}
.woocommerce-cart-form__cart-item{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px;
}
.woocommerce-cart-form__cart-item:not(:first-child){
    margin-top: 32px;
    border-top: 1px solid var(--grey);
    padding-top: 32px;
}
.woocommerce-cart-form__cart-item__left{
    flex: 1;
}
.woocommerce-cart-form__cart-item__right{
    flex: none;
}
.woocommerce-cart-form__cart-item__bottom{
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: flex-start;
}
.woocommerce-cart-form__cart-item .product-subtotal{ 
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em;
    text-align: right;
    color: var(--dark);
}
.woocommerce-cart-form__cart-item .product-name{
    display: block;
    margin-bottom: 4px;
}
.woocommerce-cart-form__cart-item .product-name a{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em;
    color: var(--dark);
    display: block;
}

.woocommerce-cart-form__cart-item .product-price{
    font-weight: 600; 
    font-size: 20px; 
    line-height: 28px;
    letter-spacing: -0.04em;
    color: var(--dark);
    margin-bottom: 24px;
}

.woocommerce-cart-form__cart-item .product-remove a{
    width: 44px;
    height: 44px;
    font-size: 0;
    background-image: url(/wp-content/themes/stanek-tanzschule/assets/images/trash.svg)!important;
    border: 1px solid var(--black);
    border-radius: 16px;
    background-position: center!important;
    background-repeat: no-repeat!important;
}
.woocommerce-cart-form__cart-item .product-remove a:hover{
    background-color: red;
    border-color: red;
}

.woocommerce-cart-form__cart-item .qib-container{
    border-radius: 16px;
    margin: 0 !important;
    width: 120px;
    border: 1px solid var(--dark);
    height: 46px;
    overflow: hidden;
    background: transparent;
}

.woocommerce-cart-form__cart-item .qib-container .qib-button{
    margin: 0!important;
}

.woocommerce-cart-form__cart-item .qib-container > *:not(:last-child):not(#qib_id):not(#qib_id) {
    margin-right: 0 !important;
}

.woocommerce-cart-form__cart-item .variation-details{
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--dark);
}

.woocommerce-cart-form__cart-item .variation-details span{
    color: var(--pink-dark);
}

.woocommerce-classic__right .block-title{
    margin-bottom: 40px;
}
.woocommerce-classic__right .coupon{
    margin-bottom: 16px;
}

.coupon, .checkout_coupon{
    display: flex;
    gap: 8px;
    flex-wrap: wrap; 
}

.woocommerce-classic__right .checkout_coupon{
    display: flex!important;
    padding: 0!important;
    border: none!important;
}

.woocommerce form.checkout_coupon .coupon-error-notice { 
    font-size: 14px;
    margin-top: 0;
}

.coupon .input-text, .checkout_coupon .input-text{
    background: rgba(239, 239, 239, 1);
    border-color: rgba(239, 239, 239, 1);
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    padding: 12px 16px;
    border-radius: 10px;
    color: var(--dark);
    flex: 1;
}
.coupon .input-text::placeholder, .checkout_coupon .input-text::placeholder{
    color: var(--dark);
}

.coupon .button, .checkout_coupon .button{
    background-color: var(--pink) !important;
    border: 1px solid var(--pink) !important;
    flex: none !important;
    width: 50px;
    height: 50px;
    padding: 0 !important;
    border-radius: 10px !important;
    font-size: 0 !important;
    background-image: url(/wp-content/themes/stanek-tanzschule/assets/images/check.svg) !important;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.5;
    flex: none;
}

.coupon .input-text:not(:placeholder-shown) + .button, .checkout_coupon .input-text:not(:placeholder-shown) + .button {
    opacity: 1;
}

.coupon .coupon-error-notice, .checkout_coupon .coupon-error-notice{
    width: 100%;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce #payment #place_order, .woocommerce-page #payment #place_order{ 
    width: 100%;
    background: var(--pink);
    border: 1px solid var(--pink);
    color: var(--dark); 
}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order{
    flex: 1;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce #payment #place_order:hover, .woocommerce-page #payment #place_order:hover{
    background: var(--pink-hover);
    border: 1px solid var(--pink-hover);
    color: white; 
}
.cart_totals .shop_table, .woocommerce-checkout-review-order-table {
    border: none!important;
}
.cart_totals td, .woocommerce-checkout-review-order-table td{
    text-align: right;
}

.cart_totals .order-total, .woocommerce-checkout-review-order-table .order-total{
    font-weight: 600;
    font-size: 28px;
    line-height: 28px;
    color: var(--dark);
}

.woocommerce-remove-coupon{
  width: 20px;
    height: 20px;
    font-size: 0;
    background-image: url(/wp-content/themes/stanek-tanzschule/assets/images/trash.svg) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: inline-block;
    vertical-align: text-bottom;
    opacity: 0.5;
    transition: 0.3s all;
}
.woocommerce-remove-coupon:hover{
    opacity: 1;
}

.woocommerce form .form-row .input-text {
    background: rgba(239, 239, 239, 1);
    border-color: rgba(239, 239, 239, 1);
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    padding: 12px 16px;
    border-radius: 10px;
    color: var(--dark);
}
.woocommerce form .form-row .input-text::placeholder{
    color: var(--dark);
}
 
#order-note-field {
    overflow: hidden;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.woocommerce-billing-fields__field-wrapper, .woocommerce-additional-fields{
    max-width: 465px;
}
 
.woocommerce form .form-row {
    padding: 0;
    margin: 0 0 12px;
}
.woocommerce-additional-fields__toggle label, .create-account label, .custom-auth-container .woocommerce-form__label-for-checkbox  {
    position: relative;
}
.woocommerce-additional-fields__toggle label input, .create-account label input, .custom-auth-container .woocommerce-form__label-for-checkbox input {
    width: 1px;
    height: 1px;
    overflow: hidden;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}
.woocommerce-additional-fields__toggle label span, .create-account label span, .custom-auth-container .woocommerce-form__label-for-checkbox span{
    position: relative; 
    font-weight: 400; 
    font-size: 14px; 
    line-height: 20px; 
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}
.woocommerce-additional-fields__toggle label a, .create-account label a, .custom-auth-container .woocommerce-form__label-for-checkbox  a{
    color: var(--dark);
    text-decoration: underline;
}
.woocommerce-additional-fields__toggle label a:hover, .create-account label a:hover, .custom-auth-container .woocommerce-form__label-for-checkbox a:hover{
    text-decoration: none;
}

.woocommerce-additional-fields__toggle label span:before, 
.create-account label span:before,
.custom-auth-container .woocommerce-form__label-for-checkbox span:before{
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    border: 1px solid var(--dark);
    background-position: center;
    background-repeat: no-repeat;
}

.woocommerce-additional-fields__toggle label input:checked + span:before,
.create-account input:checked + span:before,
.custom-auth-container .woocommerce-form__label-for-checkbox input:checked + span:before{
    background-image: url(/wp-content/themes/stanek-tanzschule/assets/images/check.svg) ;
    border-color: var(--pink);
    background-color: var(--pink);
}
.place-order__buttons{
    display: flex;
    gap: 12px;
}

 

.woocommerce-terms-and-conditions-wrapper{
    font-weight: 400; 
    font-size: 14px; 
    line-height: 20px; 
    color: var(--dark);
}
.place-order__btn-cart{
    width: 100%;
    flex: 1;
    background: white;
    border: 1px solid var(--dark);
    padding: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--dark);
    border-radius: 16px;
    float: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: 0.3s all;
}
.place-order__btn-cart:hover{
    border-color: var(--blue);
    background: var(--blue);
    color: white;
}
.place-order__btn-cart:hover svg path{
    stroke: white;
}
#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods{
    padding: 0;
    border-bottom: transparent;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0;
}

#add_payment_method #payment div.form-row, .woocommerce-cart #payment div.form-row, .woocommerce-checkout #payment div.form-row {
    padding: 0;
}

.custom-payment-block{
    max-width: 612px;
}

.woocommerce-form-coupon-toggle{
    display: none!important;
}

.woocommerce-NoticeGroup-checkout{
    width: 100%;
}

.woocommerce-error a{
    color: var(--dark);
}

#order_review .cart_item .product-item{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
}
#order_review .cart_item .product-name{
    padding: 20px 12px;
}
#order_review .cart_item .product-thumbnail {
    position: relative;
    padding-right: 10px;
    flex: none;
    width: 58px;
}
#order_review .cart_item .product-thumbnail img{
    width: 48px;
    height: 48px;
    display: block;  
    position: relative;
    z-index: 1;
    border-radius: 8px;
} 
#order_review .cart_item .product-quantity{
    position: absolute;
    z-index: 2;
    top: -10px;
    right: 0px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pink);
    color: var(--dark);
    font-size: 12px;
}
#order_review .cart_item .product-info{
    text-align: left;
}
#order_review .cart_item .product-title a, #order_review .cart_item .product-unit-price{ 
    font-weight: 600; 
    font-size: 18px; 
    line-height: 24px;
    letter-spacing: -0.04em;
    color: var(--dark);
}
#order_review .cart_item .product-total{
    font-weight: 600; 
    font-size: 18px; 
    line-height: 24px; 
    text-align: right;
    letter-spacing: -0.04em;
    color: var(--dark);
    vertical-align: top!important;
    padding: 20px 12px;
}

#order_review .cart_item .product-variation{
    display: flex;
    flex-direction: column;
    gap: 0px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--dark);
}
#order_review .cart_item .product-variation span{
    color: var(--pink-dark);
}

#order_review .cart-discount td{
    white-space: nowrap;
}

.woocommerce-thankyou-order-received{
    font-weight: 600; 
    font-size: 18px; 
    line-height: 24px;
    letter-spacing: -0.04em;
    color: var(--dark);
}
.woocommerce .woocommerce-customer-details address{
    border: none;
    padding: 0;
}

.woocommerce table.shop_table{
    border: none;
}

.woocommerce table.shop_table td a{
    color: var(--dark);
}

.woocommerce-table.woocommerce-table--order-details.order_details .product-total, .woocommerce-table.woocommerce-table--order-details.order_details td:last-child{
    text-align: right;
}

.woocommerce-customer-details address p{
    margin-top: 10px;
}

.custom-auth-container{
    padding: 0;
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
} 

.woocommerce .custom-auth-container form.login, .woocommerce .custom-auth-container form.register{
    padding: 0;
    margin: 0;
    border: none;
} 

.form-toggle {
	display: none;
}

.form-toggle.active {
	display: block;
}

.form-toggle .block-title{
	text-align: center;
}

.social-login-buttons {
	margin-bottom: 24px;
    display: flex;
    gap: 12px;
}

.social-btn {
	display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
	width: 100%;
	padding: 16px; 
	border: 1px solid var(--dark);
	border-radius: 16px;
	background: var(--white);
	cursor: pointer; 
	transition: all 0.3s;
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
    gap: 10px;
}

.social-btn:hover {
	background: #f8f8f8;
}
  
.divider {
	text-align: center;
	margin: 20px 0;
	position: relative;
}

.divider:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px;
	background: #ddd;
}

.divider span {
	background: var(--white);
	padding: 0 15px;
	position: relative;
	z-index: 1;
	color: #666;
}

.toggle-form-link {
	text-align: center;
	margin-top: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px; 
}

.toggle-form-link a {
    color: var(--dark);
	cursor: pointer;
    text-decoration: underline;
}

.toggle-form-link a:hover {
	text-decoration: none;
}

.success-message {
	display: none;
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
	padding: 15px;
	border-radius: 4px;
	margin-bottom: 20px;
	text-align: center;
}

.success-message.show {
	display: block;
}
 
.password-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}
 
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce .woocommerce-form-register .woocommerce-form-register__submit{
    width: 100%;
    background: var(--pink);
    border: 1px solid var(--pink);
    padding: 16px;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--dark);
    border-radius: 16px;
    margin-top: 20px;
}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit:hover,
.woocommerce .woocommerce-form-register .woocommerce-form-register__submit:hover{
    background: var(--pink-hover);
    border-color: var(--pink-hover);
    color: white;
}
.woocommerce-LostPassword {
    margin-bottom: 20px;
}
.woocommerce-LostPassword a{
    font-weight: 400;
    font-size: 14px;
    line-height: 20px; 
    color: var(--dark);
    opacity: 0.5; 
    border-bottom: 1px solid ;
}
.woocommerce-LostPassword a:hover{
    opacity: 1;
}

.woocommerce-MyAccount-navigation li{
    margin-bottom: 8px;
    line-height: 1;
    display: block;
}

.woocommerce-MyAccount-navigation li.is-active{
    opacity: 0.6;
}

.woocommerce-MyAccount-navigation a{
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: var(--dark);
    display: block;
}

.woocommerce form .form-row label{
    font-size: 16px; 
    color: var(--dark);
    opacity: 0.6;
}

.woocommerce-notices-wrapper{
    outline: none;
}

.account-info-item{
    margin-bottom: 24px;
}
.account-info-label{
    font-size: 16px;
    line-height: 24px;
    color: var(--dark);
    opacity: 0.6;
}

.account-info-value{
    font-size: 16px;
    line-height: 24px;
    color: var(--dark); 
}
.account-edit-button{
    display: flex;
    gap: 4px;
    align-items: center;
    border: none;
    background: transparent;
    padding: 0;
    outline: none;
    font-size: 16px;
    line-height: 24px;
    color: var(--dark); 
    font-weight: 600;
    cursor: pointer;
}
.account-edit-button svg{
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.account-edit-button:hover svg path{
    stroke: var(--blue);
}
 
.account-popup-content .form-row{
    padding: 12px 16px!important;
    background: var(--blue-1);
    border-radius: 10px;
}

.account-popup-content .form-row label{
    font-size: 14px!important;
    line-height: 20px!important;
}

.account-popup-content .form-row .input-text{
    padding: 0!important;
    background: transparent!important;
    border-color: transparent!important;
}

.account-popup-content #account_display_name_description{
    font-size: 12px;
    opacity: 0.6;
}

.account-popup-content .woocommerce-Button.button {
    background: var(--blue);
    border-color: var(--blue);
}
.account-popup-content .woocommerce-Button.button:hover{
    background: var(--blue-hover);
    border-color: var(--blue-hover);  
}

.account-popup-content fieldset{
    border-radius: 10px;
}

.woocommerce-orders-table thead th{
    font-weight: 400; 
    font-size: 16px; 
    line-height: 24px; 
    color: var(--dark);
}
.woocommerce-orders-table thead th:last-child{
    text-align: right;
}
.woocommerce-orders-table .woocommerce-orders-table__cell-total{
    font-weight: 600; 
    font-size: 32px; 
    line-height: 36px;
    letter-spacing: -0.04em;
    text-align: right;
    color: var(--dark);
    vertical-align: text-top!important;
}
.woocommerce-orders-table .order-product-item{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    margin-bottom: 32px;
}
.woocommerce-orders-table .product-thumb{
    position: relative;
    padding-right: 10px;
    flex: none;
    width: 58px;
}
.woocommerce-orders-table .product-thumb img {
    width: 48px;
    height: 48px;
    display: block;
    position: relative;
    z-index: 1;
    border-radius: 8px;
}
.woocommerce-orders-table .product-qty{
    position: absolute;
    z-index: 2;
    top: -10px;
    right: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--pink);
    color: var(--dark);
    font-size: 12px;
}
.woocommerce-orders-table .product-info{
    flex: 1;
}
.woocommerce-orders-table .product-title{
    font-weight: 600;
    font-size: 32px;
    line-height: 36px;
    letter-spacing: -0.04em;
    color: var(--dark);
}
.woocommerce-orders-table .product-price{
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.04em;
    color: var(--dark);
}
.woocommerce-orders-table .product-variation{
    display: flex;
    flex-direction: column;
    gap: 0px;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: var(--dark);
}
.woocommerce-orders-table .product-variation span {
    color: var(--pink-dark);
}
.woocommerce-orders-table .product-view{
    margin-top: 24px;
    padding: 10px 32px;
}

.woocommerce-orders-table .order-info{
    background: var(--blue-1);
    padding: 12px; 
    margin-bottom: 24px;
    border-radius: 10px;
    color: var(--dark);
    display: flex;
    justify-content: space-between;
}
.woocommerce-orders-table td{
    border: none!important;
}

@media(max-width: 1359px){
    .header__info{
        gap: 15px;
    }
    .menu{
        gap: 15px;
    }
    .footer__top-right, .footer__menu{
        gap: 30px;
    } 
    .event-post__content{
        padding: 30px;
    }
    .hero-card__image{
        height: 600px;
        flex: 1 0 50%;
    }
    .history-line__head-item{
        font-size: 80px;
        line-height: 1;
    }
    body .photo-slider .swiper-container .swiper-button-next {
        transform: translateY(-50%) translateX(-100%);
    }
    body .photo-slider .swiper-container .swiper-button-prev {
        transform: translateY(-50%) translateX(100%);
    }
    body .hero-banners .swiper-container .swiper-button-prev {
        left: 47%;
    }
    .woocommerce div.product form.cart .variations tbody{
        gap: 20px;
    }
    .product-detail__content{
        padding: 30px 20px;
    }
    .product-detail__info-item__value{
        font-size: 14px;
        line-height: 20px;
    }
    .woocommerce-classic__right {
        flex: 0 1 100%;
        order: -1;
    }
    .woocommerce-classic__left{
        order: -2;
    }
}
@media(max-width: 1199px) {
    :root {
        --border-radius: 24px; 
    }

    .container{
       width: calc(100% - 32px); 
    }

    .padding{
        padding: 20px;
    }

    .block-title h1, .block-title__h1{
        font-size: 44px;
        line-height: 44px;
    }

    .block-title h2{
        font-size: 32px;
        line-height: 36px;
    }

    .block-text{
        font-size: 16px;
        line-height: 24px;
    }

    .header__menu, .header__info{
        display: none;
    }
    .header__mobile-btn{
        display: flex;
    }

    .footer{
        background-position: top left; 
    }

    .footer__menu{
        flex-wrap: wrap;
        max-width: 330px;
        gap: 22px 40px;
    }

    .footer__menu li{
        flex: 1 0 40%;
    }

    .footer__menu li:not(.menu-item-has-children) a{
        margin-bottom: 0;
    }

    .block-map__item-label{
        font-size: 16px;
        line-height: 24px;
    }

    .block-map__item-value, .block-map__item-value a{
        font-size: 32px;
        line-height: 36px;
    }

    .block-map__iframe{
        min-height: 450px;
    }

    .block-form__wrapper{
        gap: 20px;
        flex-wrap: wrap;
    }

    .block-form__content{
        flex: 1 0 300px;
    }

    .block-faq__wrapper{
        flex-direction: column;
    }

    .event-post{
        height: 450px;
    }
    .events-item{
        height: 450px;
    }
    .event-details__hero-title{
        max-width: 580px;
    }
    .gallery-slider__item{
        height: 450px;
    }
    .reviews-card__desc{
        font-size: 16px;
        line-height: 24px;
    }
    .quote-slider__item-image{
        min-height: 450px;
    }
    .teacher-detail__desc{
        gap: 30px;
    }
    .teacher-detail__wrapper{
        gap: 30px;
    }
    .teacher-about__content-text{
        font-size: 20px;
        line-height: 30px;
    }
    .history-line__head-list{
        gap: 80px;
    }
    .history-line__content-item-text{
        padding-left: 30px;
    }
    .history-line__content-item-image{
        height: 450px;
    }
    body .photo-slider .swiper-container .swiper-button-prev {
        transform: translateY(75%) translateX(100%);
    }
    body .photo-slider .swiper-container .swiper-button-next {
        transform: translateY(75%) translateX(-100%);
    }
    .hero-card{
        gap: 30px;
    }
    .hero-card__image {
        height: 450px; 
    }
    .woocommerce .products ul, .woocommerce ul.products{
        grid-template-columns: repeat(3, 1fr);
    }
    .events-card{
        height: 450px;
    }
    .courses__item{
        min-height: 350px;
    }
    .simple-banner__wrapper{
        min-height: 450px;
        padding-left: 60px;
    }
    .team-slider__swiper .swiper-slide{
        width: 360px;
    }
    .product-detail__row{
        flex-direction: column;
        gap: 0;
    }
    .product-detail__link{
        gap: 0;
    }
    .product-detail__link .btn-link{
        flex: 1;
    }
    .woocommerce div.product form.cart .variations select{
        min-width: 485px;
    }
    .product-detail__images, .product-detail__content {
        flex: none;
        width: 100%;
    }
}

@media(max-width: 991px) {
    body .swiper-container .swiper-button-prev {
        transform: translateY(-50%) translateX(-25%);
    }
    body .swiper-container .swiper-button-next {
        transform: translateY(-50%) translateX(25%);
    }

    .block-map__iframe{
        min-height: 300px;
    }

    .footer__title{
        margin-bottom: 12px;
    }

    .footer__menu {  
        max-width: 195px;
        gap: 20px;
        flex-direction: column;
    }

    .footer__menu li {
        flex: 1 0 100%;
    }

    .footer__menu li a{
        margin-bottom: 0;
    }
 
    .footer__menu li.menu-item-has-children{
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .footer__menu li.menu-item-has-children a{
        position: relative; 
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    .footer__menu li.menu-item-has-children a:after {
        content: '';
        display: block;
        width: 24px;
        height: 24px;
        background-position: center;
        background-repeat: no-repeat;
        background-image: url(./assets/images/arrow-down.svg);
        transition: 0.3s all;
        transform: rotate(0);
        order: 2;
    }
    .footer__menu li.menu-item-has-children.is-active a:after {
        transform: rotate(-180deg);
    }

    
    .footer__menu .sub-menu{
        margin-left: 16px;
        margin-top: 0px;
        max-height: 0px;
        visibility: hidden;
        z-index: -1;
        opacity: 0;
        transition: 0.3s all;
        order: 3;
        width: 100%;
    }

    .footer__menu li .sub-menu a:after{
        display: none;
    }

    .footer__menu li.is-active .sub-menu{
        max-height: 100%;
        margin-top: 12px;
        visibility: visible;
        z-index: 1;
        opacity: 1;
    }

    .events-item{
        flex: 0 0 100%;
        min-height: 300px;
        height: auto;
        gap: 24px;
    }

    .event-post{
        flex-direction: column;
        height: auto;
    }

    .event-post__image{
        flex: none;
        height: 300px;
    }
    .event-post__content {
        padding: 24px;
    }
    .event-post__content-desc{
        margin-bottom: 24px;
    }
    .event-post__content-info{
        gap: 8px;
        margin-bottom: 24px;
    }
    .gallery-slider__item {
        height: 300px;
    }
    .reviews-card{
        padding: 20px;
        gap: 15px;
    }
    .quote-slider__item-label{
        margin-bottom: 24px;
    }
    .quote-slider__item-image{
        min-height: 380px;
    }
    .team-list { 
        grid-template-columns: repeat(2, 1fr);
        gap: 50px 10px;
    }
    .teacher-detail__wrapper{
        flex-direction: column;
        align-items: flex-start;
    }
    .teacher-detail__photo {
        flex: none; 
        width: 200px;
    }
    .teacher-about__wrapper{
        flex-direction: column;
    }
    .teacher-about__image img, .teacher-about__images .swiper-slider{
        height: 450px;
    }
    .woocommerce .products ul, .woocommerce ul.products{
        grid-template-columns: repeat(2, 1fr);
    }
    .hero-card__label{
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-bottom: 24px;
    }
    .courses__grid{
        grid-template-columns: repeat(2, 1fr);
    }
    .simple-banner__wrapper {
        min-height: 400px; 
        padding: 30px;
    }
    .simple-banner__content {
        width: 55%;
    }
    .simple-banner__image{
        width: 45%;
        padding-top: 33%;
    }
    .team-slider__swiper .swiper-slide {
        width: 290px;
    }
    .courses-block__row{
        flex-direction: column;
    }
    .events-slider__row{
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    .woocommerce ul.order_details li{
        margin-bottom: 10px;
    }
    .woocommerce-MyAccount-content{
        margin-top: 50px;
    }

}

@media(max-width: 767px) {
    .margin{
        margin: 24px auto;
    }

    .margin-bottom{
        margin-bottom: 24px;
    }

    .margin-large{
        margin: 50px auto;
    }

    .margin-bottom-large{
        margin-bottom: 50px;
    }

    .btn{
        padding: 11px 25px;
    }
    .header{
        padding: 16px 0;
    }
    .footer{
        background-position: left center;
    }
    .footer__top{
        flex-direction: column;
        gap: 40px;
    }
    .footer__top-right .footer__col:first-child{
        flex: 1;
    }
    .footer__item--desc{
        display: none;
    }
    .footer__item--mob {
        display: block;
    }
    .footer__menu{
        max-width: 100%;
    }
    .footer__bottom{
        padding-top: 15px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 8px;
    }
    .block-map__row{
        gap: 10px;
        flex-direction: column;
    }

    .block-faq__item-head{
        gap: 5px;
    }
    .events-item{
        min-height: 400px;
    }
    .event-details__info{
        flex-direction: column;
    }
    .event-details__hero-info{
        margin-bottom: 32px;
    }
    .quote-slider__item{
        flex-direction: column;
    }
    .quote-slider__item-content, .quote-slider__item-image{
        flex: none;
        min-height: 450px;
    }
    .team-post__content-category span{
        font-size: 14px;
        line-height: 20px;
    }
    .team-post__content-title a{
        font-size: 24px;
        line-height: 28px;
    }
    .teacher-detail__desc{
        flex-direction: column;
        gap: 20px;
    }
    .hero-card{
        flex-direction: column;
        gap: 20px;
    }
    .hero-card__image {
        height: 450px;
        flex: none;
        width: 100%;
    }
    .history-line__content-item{
        flex-direction: column;
        gap: 24px;
    }
    .history-line__content-item-image {
        width: 100%;
        flex: none; 
    }
    .history-line__content-item-text{
        padding-left: 0;
    }
    .photo-slider__wrapper {
        padding: 30px;
    }
    body .photo-slider .swiper-container .swiper-button-next {
        transform: translateY(150%) translateX(-35%);
    }
    body .photo-slider .swiper-container .swiper-button-prev {
        transform: translateY(150%) translateX(35%);
    }
    li.product{
        padding: 16px;
        min-height: 380px;
        border-radius: 24px;
    }
    .product-categories__item{
        font-size: 14px;
        line-height: 20px;
    }
    .simple-banner__wrapper{
        flex-direction: column-reverse;
        gap: 20px;
    }
    .simple-banner__content {
        width: 100%;
    }
    .simple-banner__image {
        width: 100%;
        padding-top: 60%;
    }
    .team-slider__row{
        flex-direction: column;
        align-items: flex-start;
    }
    .courses__item-label{
        font-size: 16px;
        line-height: 24px;
    }
    .js-hero-banners-next, .js-hero-banners-prev{
        display: none!important;
    }
    body .hero-banners .swiper-pagination{
        bottom: -20px;
        width: 100%;
        justify-content: center;
    }
    .courses__item{
        border-radius: 24px;
        padding: 16px;
    }
    .popup{
        padding: 24px;
        border-radius: 24px;
    }
    .woocommerce div.product div.images img{
        height: 480px;
    }
    .product-detail__link{
        gap: 16px;
    }
    .product-detail__link .btn-link {
        flex: none;
    }
    .woocommerce-cart-form__cart-item .variation-details{
        font-size: 14px;
        line-height: 20px;
    }
    .woocommerce-cart-form__cart-item .product-name a, .woocommerce-cart-form__cart-item .product-subtotal{
        font-size: 24px;
        line-height: 28px;
    }
    .cart_totals .order-total, .woocommerce-checkout-review-order-table .order-total{
        font-size: 22px;
        line-height: 24px;
    }
    .custom-payment-block{
        max-width: 100%;
    }
    .woocommerce-billing-fields__field-wrapper, .woocommerce-additional-fields {
        max-width: 100%;
    }
    .place-order__buttons{
        flex-direction: column;
    }
    .woocommerce ul.order_details li {
        display: block;
        width: 100%;
        border: none;
    }
    .woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
        width: 100%;
    }
    .woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before{
        display: none!important;
    }
    .woocommerce-orders-table .order-product-item{
        text-align: left;
    }
    .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
        display: table-cell!important;
        text-align: left !important;
    }
    .woocommerce table.shop_table_responsive tr:nth-child(2n) td, .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
        background-color: transparent !important;
    }
    .woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr {
        display: table-row!important;
    }
}

@media(max-width: 575px) {

    body .swiper-button{
        gap: 8px;
    }
    
    .padding{
        padding: 20px 16px;
    }

    form input[type="submit"]{
        padding: 12px 20px;
        width: 100%;
    }  
    
    .footer{
        width: calc(100% + 32px);
        margin-left: -16px;
        padding: 28px 16px;
        background-position: top right;
        background-image: url(./assets/images/decor-footer-mob.svg);
    }

    .footer__top-right{
        flex-direction: column;
        gap: 60px;
    }

    .footer__bottom-ul{
        gap: 20px;
    }

    .header__mobile-info .btn{
        width: 100%;
        text-align: center;
    }

    .block-form__content {
        flex: 1 1 100%;
    }
    .block-faq__info{
        gap: 10px;
    }
    .block-faq__item{
        padding: 16px;
    }
    .block-faq__item-title{
        font-size: 18px;
        line-height: 24px;
    }
    .event-post__content {
        padding: 24px 16px 16px;
    }
    .event-post__content-info{
        justify-content: flex-start;
        text-align: left;
    }
    .event-post__content-info svg{
        display: none;
    }
    .event-post__content-date, .event-post__content-time, .event-post__content-adress{
        align-items: flex-start;
    }
    .event-post__content-title, .event-post__content-desc{
        text-align: left;
    }
    .event-post__content-buttons{
        flex-direction: column;
        gap: 8px;
        width: 100%;
    }
    .events-item{
        padding: 16px;
        min-height: 300px;
    }
    .events-item__date, .events-item__desc ul li{
        font-size: 16px;
        line-height: 24px;
    }
    .events-item__desc ul li:before{
        top: 8px;
    }
    .event-details__btn{
        width: 100%;
        text-align: center;
    }
    .event-details__hero-info--detail{
        flex-wrap: wrap;
        gap: 16px 32px;
    }
    .event-details__hero-info--detail .event-details__hero-item:first-child{
        flex: none;
        width: 100%;
    }
    .event-details__hero-value, .event-details__hero-label{
        font-size: 14px;
        line-height: 20px;
    }
    .event-details__hero-number{
        font-size: 28px;
    }
    .event-details__hero-subtitle{
        font-size: 14px;
        line-height: 20px;
    }
    .team-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
    }
    .teacher-detail__wrapper{
        align-items: center;
    }
    .teacher-detail__photo{
        width: 160px;
    }
    .teacher-detail__category-item{
        font-size: 14px;
        line-height: 20px;
    }
    .teacher-detail__info{
        font-size: 16px;
        line-height: 24px;
    }
    .teacher-detail__socials ul li a{
        padding: 12px;
    }
    .teacher-about__content-text{
        font-size: 18px;
        line-height: 26px;
    }
    .hero-card__image{
        height: 300px;
    }
    .quote-slider__item-content, .quote-slider__item-image{
        min-height: 300px;
    }
    .history-line__content-item-image {
        height: 300px;
    }
    .photo-slider__wrapper {
        padding: 20px 16px;
    }
    body .photo-slider .swiper-container .swiper-button-next {
        transform: translateY(225%) translateX(10%);
    }
    body .photo-slider .swiper-container .swiper-button-prev {
        transform: translateY(225%) translateX(10%);
    }
    .woocommerce .products ul, .woocommerce ul.products{
        grid-template-columns: repeat(1, 1fr);
    }
    .simple-banner__wrapper{
        padding: 24px 16px;
    }
    .courses__grid {
        grid-template-columns: repeat(1, 1fr);
    }
    .courses-block__button{
        flex-direction: column;
        width: 100%;
    }
    .courses-block__button .btn{
        width: 100%;
        text-align: center;
    }
    .team-slider__row .btn{
        width: 100%;
    }
    .simple-banner__wrapper .btn{
        width: 100%;
        text-align: center;
    }
    .courses__item {
        min-height: 280px;
    }
    .events-slider__row .btn{
        width: 100%;
    }
    .hero-card__content .btn{
        width: 100%;
        text-align: center;
    }
    .events-card__label{
        flex-direction: column;
    }
    .events-card__buttons{
        flex-direction: column;
    }
    .hero-banners:before{
        background-position: center;
    }
    .woocommerce div.product div.images.woocommerce-product-gallery .flex-direction-nav li{
        display: none!important;
    }
    .woocommerce div.product form.cart .variations select {
        min-width: 100%;
    }
    .qib-container{
        width: 100%;
    }
    .woocommerce div.product form.cart .button{
        width: 100%;
        margin-left: 0!important;
        margin-top: 10px!important;
    }
    .product-detail__info-item{
        gap: 5px;
        flex-direction: column;
    }
    .page-id-15 .block-title h1{
        font-size: 32px;
    }
    #order_review .cart_item .product-item{
        gap: 0;
    }
    .woocommerce-orders-table .order-product-item{
        gap: 10px;
        flex-direction: column;
    }
    .woocommerce-orders-table .product-title{
        font-size: 24px;
        line-height: 26px;
    }
    .woocommerce-orders-table .woocommerce-orders-table__cell-total{
        font-size: 24px;
        line-height: 26px;
    }
    .woocommerce div.product form.cart .variations {
        margin-bottom: 20px;
    }
    .product-detail__content .block-title h1, .product-detail__content .block-title__h1 {
        font-size: 32px;
        line-height: 32px;
    }
}