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

/* Add your custom styles here */

/* Sticky header — hidden by default, fades down after .arsanta-hero scroll */
@media screen and (min-width: 1025px) {

    .arsanta-sticky-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
        width: 100%;
        background-color: #fff;
        transform: translateY(-100%);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition:
            transform 0.3s ease,
            opacity 0.3s ease,
            visibility 0.3s ease,
            box-shadow 0.3s ease;
    }

    .arsanta-sticky-header.is-visible {
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }
}

.arsanta-sticky-header {
    width: 100%;
    background-color: #fff;
}

/* Collapse the Elementor section wrapper so the hidden menu takes no space (desktop only) */
@media screen and (min-width: 1025px) {

    .elementor-section:has(.arsanta-sticky-header),
    .e-parent:has(> .arsanta-sticky-header) {
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible;
    }
}

.arsanta-sticky-header>.e-con-inner,
.arsanta-sticky-header .elementor-element-6c7c7d2>.e-con-inner {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1320px;
    min-height: 80px;
    margin: 0 auto;
    padding: 0 30px;
    gap: 20px;
}

.arsanta-sticky-header .elementor-element-86937be {
    flex: 1 1 auto;
    display: flex !important;
    justify-content: flex-end;
    min-width: 0;
}

/* Undo Elementor absolute positioning on the nav widget */
.arsanta-sticky-header .elementor-element-4fd5ee4 {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
}

.arsanta-sticky-header .elementor-element-4fd5ee4>.elementor-widget-container {
    margin: 0 !important;
}

/* Sticky logo */
.arsanta-sticky-header .elementor-widget-image img {
    display: block;
    width: auto !important;
    max-width: 110px;
    height: 60px !important;
    object-fit: contain;
    object-position: left center;
}

/* HFE horizontal nav */
.arsanta-sticky-header .hfe-nav-menu__layout-horizontal,
.arsanta-sticky-header .hfe-nav-menu__layout-horizontal .hfe-nav-menu,
.arsanta-sticky-header .hfe-nav-menu,
.arsanta-sticky-header nav.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

.arsanta-sticky-header .hfe-nav-menu>.menu-item {
    border-top: none !important;
    margin: 0;
    display: flex;
    align-items: center;
}

/* Menu links — override HFE / Elementor widget colors */
.arsanta-sticky-header .menu-link a.hfe-menu-item,
.arsanta-sticky-header a.hfe-menu-item:not(.arsanta-sticky-reserve-btn) {
    display: block;
    line-height: 22px;
    color: #444 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    font-family: 'Poppins', 'PT Sans Caption', sans-serif !important;
    text-decoration: none !important;
    background: transparent !important;
    transition: color 0.25s ease;
}

.arsanta-sticky-header .menu-link a.hfe-menu-item:hover,
.arsanta-sticky-header a.hfe-menu-item:not(.arsanta-sticky-reserve-btn):hover,
.arsanta-sticky-header a.hfe-menu-item:not(.arsanta-sticky-reserve-btn):focus {
    color: #bF9456 !important;
}

.arsanta-sticky-header .menu-item.current-menu-item a.hfe-menu-item:not(.arsanta-sticky-reserve-btn),
.arsanta-sticky-header .menu-item.current-menu-ancestor a.hfe-menu-item:not(.arsanta-sticky-reserve-btn) {
    color: #444 !important;
}

.arsanta-sticky-header .hfe-nav-menu-layout .menu-item a.hfe-menu-item::before,
.arsanta-sticky-header .hfe-nav-menu-layout .menu-item a.hfe-menu-item::after {
    display: none !important;
}

.arsanta-sticky-header .arsanta-sticky-reserve-item {
    margin: 0;
    padding: 0;
}

.arsanta-sticky-header .arsanta-sticky-reserve-btn {
    display: inline-flex !important;
    align-items: center;
    height: 44px !important;
    line-height: 1 !important;
    padding: 0 20px !important;
    margin: 0 !important;
    background-color: #ffe5d4 !important;
    color: #551738 !important;
    font-family: 'Roboto', 'PT Sans Caption', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.arsanta-sticky-header .arsanta-sticky-reserve-btn .elementor-button-text {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.arsanta-sticky-header .button-reserve-form .elementor-button-text::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: -2px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-2V2h-2v2H9V2H7v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zM7 11h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-2V2h-2v2H9V2H7v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zM7 11h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.arsanta-sticky-header .arsanta-sticky-reserve-btn:hover,
.arsanta-sticky-header .arsanta-sticky-reserve-btn:focus {
    background-color: #222 !important;
    color: #bF9456 !important;
}

/* Remove HFE dropdown item dividers (widget Style → Divider default) */
.elementor-2 .elementor-element.elementor-element-4fd5ee4 .sub-menu li.menu-item:not(:last-child),
.elementor-2 .elementor-element.elementor-element-4fd5ee4 nav.hfe-dropdown li.menu-item:not(:last-child),
.elementor-2 .elementor-element.elementor-element-4fd5ee4 nav.hfe-dropdown-expandible li.menu-item:not(:last-child) {
    border-bottom: none !important;
}

/* Beat Elementor/HFE widget inline color rules on page 2 */
.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 a.hfe-menu-item:not(.arsanta-sticky-reserve-btn),
.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 .menu-item a.hfe-menu-item:not(.arsanta-sticky-reserve-btn) {
    color: #444 !important;
}

.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 .menu-item a.hfe-menu-item:not(.arsanta-sticky-reserve-btn):hover,
.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 .menu-item a.hfe-menu-item:not(.arsanta-sticky-reserve-btn):focus,
.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 .sub-menu a.hfe-sub-menu-item:hover {
    color: #bF9456 !important;
}

.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 .menu-item.current-menu-item a.hfe-menu-item:not(.arsanta-sticky-reserve-btn),
.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 .menu-item.current-menu-ancestor a.hfe-menu-item:not(.arsanta-sticky-reserve-btn),
.elementor-2 .arsanta-sticky-header .elementor-element-4fd5ee4 .menu-item a.hfe-menu-item.highlighted:not(.arsanta-sticky-reserve-btn) {
    color: #444 !important;
}

@media screen and (max-width: 1024px) {

    .arsanta-sticky-header>.e-con-inner,
    .arsanta-sticky-header .elementor-element-6c7c7d2>.e-con-inner {
        min-height: 60px;
        padding: 0 15px;
    }

    .arsanta-sticky-header .menu-link a.hfe-menu-item,
    .arsanta-sticky-header a.hfe-menu-item:not(.arsanta-sticky-reserve-btn) {
        padding: 19px 12px !important;
        font-size: 12px !important;
    }
}

.menu-button-style a {
    background-color: #ffe5d4;
    color: #551738;
    font-weight: 700;
    padding: 0 20px;
    display: inline-block;
    height: 44px;
    line-height: 44px;
}

.heading-block::after {
    content: '';
    display: block;
    width: 40px;
    border-top: 2px solid #444;
    margin: 30px auto 0;
}

.heading-block-white::after {
    content: '';
    display: block;
    width: 40px;
    border-top: 2px solid #fff;
    margin: 30px auto 0;
}

.motion-effect {
    background-attachment: fixed !important;
}

.motion-effect {
    display: block;
    position: relative;
}

.motion-effect img {
    width: 100%;
    height: auto;
    display: block;
    visibility: hidden;
}

/* Mobile: use the real image with cover — background parallax breaks fixed heights */
@media (max-width: 1024px) {
    .motion-effect {
        background-image: none !important;
        background-attachment: scroll !important;
        overflow: hidden;
    }

    .motion-effect img {
        visibility: visible;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}

.equal-height-section>.e-con-inner {
    align-items: stretch;
}

.equal-height-section .motion-effect,
.equal-height-section .motion-effect .elementor-widget-container,
.equal-height-section .motion-effect img {
    height: 100%;
    object-fit: cover;
}

#massages-wrapper {
    background-image: url(/wp-content/themes/hello-theme-child-master/images/bg-img-1.png);
    background-repeat: no-repeat;
    background-position: left bottom;
}

#massages-inner-wrapper {
    background-image: url(/wp-content/themes/hello-theme-child-master/images/5.png);
    background-repeat: no-repeat;
    background-position: center -300px;
    padding-top: 30px;
}

.custom-price-table {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    width: 100%;
}

.price-column {
    flex: 1;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.price-item {
    display: flex;
    align-items: baseline;
    color: #EEE;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.price-name {
    white-space: nowrap;
    color: #e4bfa7;
    font-weight: 500;
    font-size: 16px;
}

.price-dots {
    width: 100%;
    border-bottom: 1px dashed #333;
    margin: 0 10px;
}

.price-val {
    white-space: nowrap;
    font-weight: 700;
    font-size: 18px;
}

/* Parallax — fixed image, section reveals different parts on scroll */
.translate-parallax {
    background-color: transparent;
    background-attachment: fixed !important;
    background-position: 50% 0 !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    overflow: hidden;
}

/* Mobile: fixed is unsupported — JS drives background-position (see functions.php) */
@media (max-width: 1024px) {
    .translate-parallax {
        background-attachment: scroll !important;
        background-position: center center;
        will-change: background-position;
    }
}

.elementor-2 .elementor-element.elementor-element-8e1985f .elementor-button {
    width: 100%;
    padding: 20px;
}

.button-reserve-form .elementor-button-text::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    vertical-align: -2px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-2V2h-2v2H9V2H7v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zM7 11h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-2V2h-2v2H9V2H7v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zM7 11h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2zm-8 4h2v2H7zm4 0h2v2h-2zm4 0h2v2h-2z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.trp-flag-image {
    width: 30px !important;
}

/* Cookie banner */
.cky-title {
    display: none;
}

.cky-consent-bar {
    background-color: rgba(20, 20, 20, .8) !important;
    font-size: 14px !important;
    color: #ccc !important;
}

.cky-btn.cky-btn-accept {
    background-color: #f1d600 !important;
    color: #000 !important;
    border-radius: 5px !important;
    border: none !important;

}


@media screen and (max-width: 1024px) {

    /* Hero menu only — does not affect sticky header */
    .arsanta-hero .menu-link {
        display: block;
        line-height: 22px;
        padding: 14px 5px;
        color: #444;
        font-weight: 700;
        font-size: 0.8125rem;
        letter-spacing: 1px;
        text-transform: uppercase;
        font-family: 'PT Sans Caption', sans-serif !important;
        font-size: 13px;
    }

    .arsanta-hero .menu-item:not(:first-child) {
        border-top: 1px solid #EEE;
    }

    .custom-price-table {
        gap: 25px;
    }

    .price-column {
        min-width: 100%;
        gap: 18px;
    }

    .price-name {
        white-space: normal;
        font-size: 16px;
        line-height: 1.3;
    }

    .price-dots {
        margin: 0 6px;
    }

    .price-val {
        font-size: 15px;
    }
}