/* Scoped spa corrections. Keep the original palette with accessible ink. */
:root { --spa-ink: #78482f; --spa-body: #49443f; --spa-pink: #f7dcd1; }
body { color: var(--spa-body); }
.text-brown, .about .about-text, .feature-icon, li.footer_list {
    color: var(--spa-ink);
}
.text-grey, .about .sub-heading, .booking .sub-heading, .card-body .card-text {
    color: var(--spa-body);
}
.sub-heading, .card-body .card-text { font-weight: 400; line-height: 1.7; }
.about .about-text, .booking .sub-heading { max-width: 100%; }
.brown-btn, .service-btn, .book-btn {
    color: var(--spa-ink);
    border-color: var(--spa-ink);
}
.brown-btn:hover, .brown-btn:focus, .brown-btn:active,
.book-btn:hover, .book-btn:focus, .card:hover .service-btn,
.service-btn:hover, .service-btn:focus, li.footer_list:hover,
.card:hover .bg-feature-icon, .video .video-btn .play-btn:hover {
    background-color: var(--spa-ink);
    border-color: var(--spa-ink);
    color: #fff;
}
.pink-btn { color: #fff; background-color: #78482f; border-color: #fff; }
.pink-btn:hover, .pink-btn:focus { color: var(--spa-ink); background-color: var(--spa-pink); }
.btn:focus-visible, a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }

/* Photo-side scrims follow the text; the far-right subjects remain bright. */
.home .img-area { height: max(740px, 100vh); }
.parallax-img1, .parallax-img2, .parallax-img3 {
    background-attachment: scroll;
    background-size: cover;
    position: relative;
}
.parallax-img1::before, .parallax-img2::before, .parallax-img3::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.parallax-img1::before {
    background: linear-gradient(90deg, rgba(247,220,209,.85), rgba(247,220,209,.60) 36%, transparent 80%);
}
.parallax-img1 { background-position: right center; }
.parallax-color2 { background-color: #78482f; }
.parallax-img2::before {
    background: linear-gradient(90deg, rgba(62,35,23,.65), rgba(62,35,23,.53) 42%, transparent 85%);
}
.parallax-img3::before {
    background: linear-gradient(90deg, rgba(17,21,32,.65), rgba(17,21,32,.53) 42%, transparent 85%);
}
#home2 .text-home { color: #fff; }
.home .content-area {
    left: 6%;
    width: 58%;
    transform: translateY(-50%);
    z-index: 1;
}
.home .text-home .main-heading { font-size: clamp(40px, 4.5vw, 68px); line-height: 1.15; }
.home .text-home .sub-heading { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.4; }

/* HUF prices retain a separate column even for long Hungarian names. */
.prices .rates { gap: 20px; align-items: center; }
.prices .rates .info { min-width: 0; flex: 1; }
.prices .price-list .rates .rate { font-size: 25px; white-space: nowrap; margin: 0; }
.prices .price-list .info .main-heading { line-height: 1.4; }
.prices .price-list .info .sub-heading { line-height: 1.6; }
.testimonial img { width: 100%; height: 100%; object-fit: cover; }
.footer_ul { padding-left: 0; }
.footer_text { line-height: 1.8; }

/* Navigation remains on its original background; only its scrim and ink change. */
.outer-wrapper .overlay { background: rgba(55,31,20,.82); color: #fff; }
.nav-services li a:hover { color: #fff; text-decoration: underline; }
.side-menu-icons a:hover { color: var(--spa-ink); }
.navbar.fixed-menu .menu-btn { background: #3d2b23; }
.navbar.fixed-menu .menu-btn span { background: #fff; }

@media (max-width: 767px) {
    .home .img-area { height: auto; }
    .parallax-img1, .parallax-img2, .parallax-img3 { min-height: 400px; }
    .parallax-color1, .parallax-color2, .parallax-color3 { min-height: 510px; }
    .parallax-img1::before, .parallax-img2::before, .parallax-img3::before { background: none; }
    .home .content-area {
        position: absolute;
        top: auto;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 510px;
        padding: 48px 24px;
        transform: none;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .home .text-home .main-heading { font-size: 40px; overflow-wrap: break-word; }
    .home .text-home .sub-heading { font-size: 23px; }
    .about .about-text { width: auto; }
    .margin-top-125 { margin-top: 0; }
    .about .sub-heading, .booking .sub-heading { font-size: 16px; }
    .prices .rates { gap: 12px; }
    .prices .price-list { padding: 18px 0; }
    .prices .price-list .rates .rate { font-size: 22px; }
    .prices .price-list .info .main-heading { font-size: 18px; }
    .feature-icon { width: 66px; margin: 0 auto; }
    .outer-wrapper .overlay { background: #62402e; }
}
