.elementor-4562 .elementor-element.elementor-element-0173113 .elementor-repeater-item-ee14b93.jet-parallax-section__layout .jet-parallax-section__image{background-size:auto;}.elementor-bc-flex-widget .elementor-4562 .elementor-element.elementor-element-2d488f8.elementor-column .elementor-widget-wrap{align-items:space-between;}.elementor-4562 .elementor-element.elementor-element-2d488f8.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:space-between;align-items:space-between;}.elementor-4562 .elementor-element.elementor-element-2d488f8 > .elementor-element-populated{padding:0% 0% 0% 0%;}.elementor-4562 .elementor-element.elementor-element-2d488f8{z-index:1;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-4562 .elementor-element.elementor-element-9e7057c{text-align:center;}.elementor-4562 .elementor-element.elementor-element-0173113{padding:220px 20px 60px 20px;}body.elementor-page-4562:not(.elementor-motion-effects-element-type-background), body.elementor-page-4562 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-a38fd4e );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-4562 .elementor-element.elementor-element-0173113{padding:170px 20px 40px 20px;}}@media(max-width:767px){.elementor-4562 .elementor-element.elementor-element-2d488f8{width:100%;}.elementor-4562 .elementor-element.elementor-element-2d488f8 > .elementor-element-populated{padding:0% 0% 4% 0%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-d74d758 *//* Основной контейнер */
.custom-checkout {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.form-row-first , .form-row-last {
    width: 48%; 
}
.form-row-first {
    float: left;
}
.form-row-last {
    float: right;
}
/* Секция деталей клиента и обзора заказа */
.customer-details-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
}

.customer-details, .order-summary {
    width: 60%;
    padding: 10px;
}
.order-summary {
    width: 40%;
}

h3 {
    font-size: 1.4em;
    margin-bottom: 15px;
}

/* Секция оплаты */
.payment-section {
    width: 100%;
    max-width: 800px;
    border-radius: 5px;
}
#payment {
    background: transparent !important;
}
.woocommerce-checkout #payment div.payment_box {
    background: white;
}
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: white;
}

#order_review {
    color: #555;
}

.all-products {
    background: white;
    color: #555;
    border: 1px solid #d4d4d4;
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    border-radius: 4px;
    margin-bottom: 5px;
}

.product-summary {
    display: flex;
    align-items: stretch;
    gap: 15px;
}
.product-summary p , .product-summary h4 {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 15px;
}
.product-summary h4 {
    font-size: 20px;
    line-height: 1.2em;
}
.product-image {
    display: flex;
    align-items: center;
}
.product-image img {
    max-width: 110px;
    width: 110px;
    height: 110px;
    object-fit: cover;
    border-radius: 6px;
}

.product-details {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


.product-quantity {
    display: flex;
    align-items: center;
    gap: 5px;
}

.quantity-minus, .quantity-plus {
    padding: 2px 8px;
    font-size: 16px;
    background-color: #bbbbbb;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 3px;
    font-family: "Arial";
    font-weight: 500;
}

.quantity-value {
    font-size: 18px;
    font-weight: 400;
    min-width: 30px;
    text-align: center;
}

.quantity-minus:hover, .quantity-plus:hover {
    background-color: #FF66B6;
}

.loading {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.grown-ups p {
    margin-bottom: 0;
}
.grown-ups-count {
    font-weight: 700;
}
#manual-add-extra-adult {
    margin-top: 5px;
    background: #FF66B6;
    color: white;
    border: none;
    border-radius: 10px;
}
#manual-add-extra-adult:hover {
    transform: scale(0.92);
}
.shop_table {
    margin-top: 20px;
}
#place_order {
    background: white;
    color: #FF66B6;
    border: 2px solid #FF66B6;
    padding: 0.5em 5em 0.6em;
    border-radius: 10px;
    margin-top: 5px;
    font-size: 20px;
}
#place_order:hover {
    background: #FF66B6;
    color: white;
}
#place_order:active {
    transform: scale(0.95);
}


/*Таблица*/
.shop_table {
    padding: 15px 0 0;
    background-color: #fff;
    border: 1px solid #d4d4d4;
    border-collapse: collapse;
    border-radius: 4px;
    border-style: hidden;
    box-shadow: 0 0 0 1px #d6d7db;
    text-align: left;
}

thead th, tbody td, tfoot td, tfoot th {
    border: none;
}
tbody {
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}
tbody td {
    background: white !important;
}
tfoot tr {
    border-bottom: 1px solid #e5e7eb;
}


@media screen and (max-width:1024px) {
    .customer-details-wrapper {
        display: flex;
        flex-direction: column-reverse;
    }
    .customer-details-wrapper > div {
        width: 100%;
    }
}
@media screen and (max-width:767px) {
    #place_order {
        padding-inline: 0.5em;
        width: 100%;
        font-size: 18px;
    }
}

#reynlib-custom-checkout {
    position: relative; /* важно, чтобы ::before и ::after позиционировались */
}

/* Тёмный оверлей */
#reynlib-custom-checkout:before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 5;
    opacity: 0;
    transition: opacity .2s;
    pointer-events: none;
}

/* Спиннер */
#reynlib-custom-checkout:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    border: 4px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 6;
    opacity: 0;
    pointer-events: none;
    animation: reyn-spin 0.8s linear infinite;
    transition: opacity .2s;
}

/* Активный класс — показываем оверлей и спиннер */
#reynlib-custom-checkout.loading::before,
#reynlib-custom-checkout.loading::after {
    opacity: 1;
    pointer-events: auto;
}

/* Анимация вращения */
@keyframes reyn-spin {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

form.custom-checkout #place_order.reynlib-processing,
form.custom-checkout button[type="submit"].reynlib-processing {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d74d758 *//* Основной контейнер */
.custom-checkout {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.form-row-first , .form-row-last {
    width: 48%; 
}
.form-row-first {
    float: left;
}
.form-row-last {
    float: right;
}
/* Секция деталей клиента и обзора заказа */
.customer-details-wrapper {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
}

.customer-details, .order-summary {
    width: 60%;
    padding: 10px;
}
.order-summary {
    width: 40%;
}

h3 {
    font-size: 1.4em;
    margin-bottom: 15px;
}

/* Секция оплаты */
.payment-section {
    width: 100%;
    max-width: 800px;
    border-radius: 5px;
}
#payment {
    background: transparent !important;
}
.woocommerce-checkout #payment div.payment_box {
    background: white;
}
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: white;
}

#order_review {
    color: #555;
}

.all-products {
    background: white;
    color: #555;
    border: 1px solid #d4d4d4;
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    border-radius: 4px;
    margin-bottom: 5px;
}

.product-summary {
    display: flex;
    align-items: stretch;
    gap: 15px;
}
.product-summary p , .product-summary h4 {
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 15px;
}
.product-summary h4 {
    font-size: 20px;
    line-height: 1.2em;
}
.product-image {
    display: flex;
    align-items: center;
}
.product-image img {
    max-width: 110px;
    width: 110px;
    height: 110px;
    object-fit: cover;
    border-radius: 6px;
}

.product-details {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


.product-quantity {
    display: flex;
    align-items: center;
    gap: 5px;
}

.quantity-minus, .quantity-plus {
    padding: 2px 8px;
    font-size: 16px;
    background-color: #bbbbbb;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 3px;
    font-family: "Arial";
    font-weight: 500;
}

.quantity-value {
    font-size: 18px;
    font-weight: 400;
    min-width: 30px;
    text-align: center;
}

.quantity-minus:hover, .quantity-plus:hover {
    background-color: #FF66B6;
}

.loading {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.grown-ups p {
    margin-bottom: 0;
}
.grown-ups-count {
    font-weight: 700;
}
#manual-add-extra-adult {
    margin-top: 5px;
    background: #FF66B6;
    color: white;
    border: none;
    border-radius: 10px;
}
#manual-add-extra-adult:hover {
    transform: scale(0.92);
}
.shop_table {
    margin-top: 20px;
}
#place_order {
    background: white;
    color: #FF66B6;
    border: 2px solid #FF66B6;
    padding: 0.5em 5em 0.6em;
    border-radius: 10px;
    margin-top: 5px;
    font-size: 20px;
}
#place_order:hover {
    background: #FF66B6;
    color: white;
}
#place_order:active {
    transform: scale(0.95);
}


/*Таблица*/
.shop_table {
    padding: 15px 0 0;
    background-color: #fff;
    border: 1px solid #d4d4d4;
    border-collapse: collapse;
    border-radius: 4px;
    border-style: hidden;
    box-shadow: 0 0 0 1px #d6d7db;
    text-align: left;
}

thead th, tbody td, tfoot td, tfoot th {
    border: none;
}
tbody {
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}
tbody td {
    background: white !important;
}
tfoot tr {
    border-bottom: 1px solid #e5e7eb;
}


@media screen and (max-width:1024px) {
    .customer-details-wrapper {
        display: flex;
        flex-direction: column-reverse;
    }
    .customer-details-wrapper > div {
        width: 100%;
    }
}
@media screen and (max-width:767px) {
    #place_order {
        padding-inline: 0.5em;
        width: 100%;
        font-size: 18px;
    }
}

#reynlib-custom-checkout {
    position: relative; /* важно, чтобы ::before и ::after позиционировались */
}

/* Тёмный оверлей */
#reynlib-custom-checkout:before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);
    z-index: 5;
    opacity: 0;
    transition: opacity .2s;
    pointer-events: none;
}

/* Спиннер */
#reynlib-custom-checkout:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    border: 4px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 6;
    opacity: 0;
    pointer-events: none;
    animation: reyn-spin 0.8s linear infinite;
    transition: opacity .2s;
}

/* Активный класс — показываем оверлей и спиннер */
#reynlib-custom-checkout.loading::before,
#reynlib-custom-checkout.loading::after {
    opacity: 1;
    pointer-events: auto;
}

/* Анимация вращения */
@keyframes reyn-spin {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

form.custom-checkout #place_order.reynlib-processing,
form.custom-checkout button[type="submit"].reynlib-processing {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(100%);
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-0173113 */.elementor-4562 .elementor-element.elementor-element-0173113 {
    overflow-x: clip !important;
}

.elementor-4562 .elementor-element.elementor-element-0173113:after {
    content: "";
    position: absolute;
    height: 40%;
    width: 20%;
    background: rgba(50, 214, 224, 0.74);
    filter: blur(100px);
    top: 45%;
    left: 24%;
    border-radius: 50%;
    transform: translate(-50px,-50px);
}
.elementor-4562 .elementor-element.elementor-element-0173113:before {
    content: "";
    position: absolute;
    height: 60%;
    width: 30%;
    background: rgba(255, 157, 216, 0.5);;
    filter: blur(100px);
    top: 0%;
    right: 0;
    border-radius: 50%;
    transform: translate(60%, 0%);
}/* End custom CSS */