:root { --massage-leaf:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201792%201792%22%3E%3Cpath%20transform%3D%22translate%280%201536%29%20scale%281%20-1%29%22%20d%3D%22M1216%20896Q1044%20896%20898.0%20846.5Q752%20797%20638.5%20712.5Q525%20628%20403%20493Q384%20472%20384%20448Q384%20422%20403.0%20403.0Q422%20384%20448%20384Q472%20384%20493%20403Q520%20427%20567.0%20474.0Q614%20521%20634%20540Q771%20664%20902.5%20716.0Q1034%20768%201216%20768Q1242%20768%201261.0%20787.0Q1280%20806%201280.0%20832.0Q1280%20858%201261.0%20877.0Q1242%20896%201216%20896ZM1792%201030Q1792%20935%201772%20837Q1726%20613%201587.5%20454.0Q1449%20295%201230%20186Q1016%2078%20792%2078Q644%2078%20506%20125Q491%20130%20418.0%20167.0Q345%20204%20322%20204Q306%20204%20282.5%20172.0Q259%20140%20237.5%20102.0Q216%2064%20185.0%2032.0Q154%200%20125%200Q82%200%2061.5%2017.5Q41%2035%2016%2077Q14%2081%2010.0%2088.0Q6%2095%204.5%2098.0Q3%20101%201.5%20107.5Q0%20114%200%20121Q0%20156%2031.0%20194.5Q62%20233%2099.0%20260.0Q136%20287%20167.0%20316.0Q198%20345%20198%20364Q198%20368%20184.0%20402.0Q170%20436%20168%20446Q159%20497%20159%20550Q159%20665%20202.5%20770.0Q246%20875%20321.5%20954.5Q397%201034%20492.0%201093.5Q587%201153%20696%201189Q751%201207%20841.0%201214.5Q931%201222%201020.5%201223.5Q1110%201225%201199.0%201229.5Q1288%201234%201362.5%201253.5Q1437%201273%201476%201310Q1486%201320%201505.5%201339.5Q1525%201359%201535.0%201367.5Q1545%201376%201562.0%201387.5Q1579%201399%201598.5%201403.5Q1618%201408%201642%201408Q1681%201408%201712.5%201362.0Q1744%201316%201760.0%201250.0Q1776%201184%201784.0%201126.0Q1792%201068%201792%201030Z%22%2F%3E%3C%2Fsvg%3E"); }
/* Massage catalogue, procedure details, and native accessible price dialogs. */
.massage-page { padding-top:130px; font:400 15px/1.5 var(--body-font); }
.massage-hero { background-color:var(--violet); background-position:0 0; background-repeat:no-repeat; background-size:cover; }
.massage-hero h1 { margin:0 0 8px; color:#fff; text-align:center; font:700 72px/1.1 var(--heading-font); }
.massage-hero h2 { margin:0; color:#fff; text-align:center; font:700 25px/1.1 var(--heading-font); }
.massage-container { width:100%; max-width:1140px; margin-inline:auto; }
.massage-content,.massage-detail-content { margin-left:15px; width:calc(100% - 15px); }
.massage-card { position:relative; width:calc(100% - 15px); margin-left:15px; background:#fff; }
.massage-card::after { display:block; content:''; border-bottom:3px solid #999; transform:scaleX(0); transform-origin:100% 50%; transition:transform 1s ease-in-out; }
.massage-card:hover::after { transform:scaleX(1); transform-origin:0 50%; }
.massage-panel { position:relative; display:flow-root; margin-bottom:30px; }
.massage-photo { position:absolute; top:0; width:50%; height:100%; background-position:center; background-size:cover; }
.image-left .massage-photo { left:0; }
.image-right .massage-photo { right:0; }
.massage-copy { position:relative; display:flow-root; width:calc((100% - 15px)/2 - 30px); }
.image-left .massage-copy { margin-left:calc(50% + 22.5px); }
.image-right .massage-copy { margin-left:30px; }
.massage-copy h5 { margin:0 0 8px; color:var(--wine); font:900 24px/1.2 var(--heading-font); }
.massage-page h4 { margin:0 0 8px; color:var(--wine); font:900 20px/1.2 var(--heading-font); }
.massage-page p { margin:0 0 16px; }
.massage-page :is(ul,ol):not(.phone-countries,.massage-breadcrumb,.massage-choice-options) { margin-top:0; margin-bottom:16px; padding-left:40px; }
.massage-page a { color:#4b49ff; }
.massage-page a:hover { color:#2523b3; }
.massage-copy strong { color:var(--wine); font-weight:bolder; }
.massage-copy .massage-plain-prices strong { color:#212529; }
.massage-prices { list-style:none; }
.massage-prices li { position:relative; }
.massage-prices li::before { position:absolute; left:-24px; top:.2em; content:''; width:1em; height:1em; background:#999; mask:var(--massage-leaf) center/contain no-repeat; }
.massage-page a.massage-button { display:inline-block; border:1px solid var(--wine); border-radius:0; padding:15px 7px; color:var(--wine); background:transparent; text-align:center; vertical-align:middle; font:400 14px/17.5px var(--body-font); transition:color .3s,border-color .3s; }
.massage-page a.massage-button:hover { color:#666; border-color:#666; }
.massage-page .text-center { text-align:center; }
.massage-page .text-right { text-align:right; }
.text-clear::after { display:table; clear:both; content:''; }
.massage-booking { padding:100px 0 50px; color:#fff; background:var(--wine); text-align:center; }
.massage-booking h3 { margin-bottom:30px; font-size:var(--section-heading-size); line-height:1; }
.massage-booking .booking-form { width:579.6px; max-width:100%; margin:auto; }
.massage-booking .form-field textarea { text-align:left; }
.massage-choice select { display:block; width:100%; height:56px; padding:12px; border:1px solid #ced4da; border-radius:0; color:#495057; background:#fff; font:400 16px/24px var(--body-font); }
.massage-choice select:focus { outline:0; border-color:#80bdff; box-shadow:0 0 0 .2rem rgb(0 123 255 / 25%); }
.massage-choice { position:relative; }
.massage-choice select[hidden],.massage-choice-options[hidden] { display:none; }
.massage-choice-toggle { position:relative; display:block; width:100%; height:56px; padding:12px 32px 12px 12px; border:1px solid #ced4da; border-radius:0; color:#495057; background:#fff; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font:400 16px/24px var(--body-font); cursor:pointer; }
.massage-choice-toggle::after { position:absolute; right:10px; top:23px; width:6px; height:6px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); content:''; }
.massage-choice-toggle:focus { outline:0; border-color:#80bdff; box-shadow:0 0 0 .2rem rgb(0 123 255 / 25%); }
.massage-page .massage-choice-options { position:absolute; z-index:25; top:100%; left:0; width:100%; max-height:min(240px,30vh); overflow-y:auto; overscroll-behavior:contain; margin:0; padding:0; list-style:none; border:1px solid #ced4da; color:#495057; background:#fff; box-shadow:0 3px 8px rgb(0 0 0 / 15%); text-align:left; font:400 16px/24px var(--body-font); }
.massage-choice-options li { position:relative; padding:8px 12px; cursor:pointer; }
.massage-choice-options li:is(.is-highlighted,[aria-selected=true]) { background:#eee; color:#212529; }
.massage-booking .phone-countries { text-align:left; }
.massage-booking .date-label { text-align:left; }
.massage-detail .massage-card { width:100%; margin-left:0; }
.massage-detail-block { display:flow-root; }
.massage-detail-block img { max-width:100%; height:auto; vertical-align:middle; }
.massage-detail-block:has(img) { text-align:center; }
.massage-dialog { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; border:0; margin:0; padding:0; background:transparent; color:#212529; overflow:auto; overscroll-behavior:contain; font:400 15px/1.5 var(--body-font); }
.massage-dialog::backdrop { background:rgb(11 11 11 / 80%); }
.massage-dialog-layout { display:flex; align-items:center; justify-content:center; min-height:100%; padding:40px 8px; }
.massage-dialog-panel { position:relative; width:760px; max-width:100%; padding:20px 30px; background:#fff; text-align:left; }
.massage-dialog-close { position:absolute; right:0; top:0; width:44px; height:44px; padding:0; border:0; background:transparent; color:#333; font:28px/44px Arial,sans-serif; opacity:.65; }
.massage-dialog-close:hover { opacity:1; }
@media(min-width:992px) and (max-width:1199px) { .massage-container { max-width:960px; } }
@media(min-width:768px) and (max-width:991px) {
    .massage-container { max-width:720px; }
    .massage-panel { margin-bottom:20px; }
}
@media(min-width:992px) and (max-width:1170px) { .massage-copy { padding-left:0!important; padding-right:0!important; } }
@media(max-width:767px) {
    .massage-hero h1 { font-size:42px; }
    .massage-hero h2 { font-size:35px; }
    .massage-container { padding-inline:10px; }
    .massage-content,.massage-detail-content,.massage-card { margin:0; width:100%; }
    .massage-panel { margin-bottom:10px; }
    .massage-photo { position:relative; width:100%; height:300px; }
    .massage-copy { width:calc(100% - 50px); margin-inline:25px!important; }
    .massage-page p { font-size:13px; line-height:16px; }
    .massage-page a.massage-button { display:flex; justify-content:center; width:100%; }
    .massage-dialog-panel p { font-size:13px; line-height:16px; }
    .massage-booking .booking-form { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .massage-card::after { transition:none; } }
@media(min-width:992px) {
    .language-ru :is(.treatment-foot-leg-massage,.treatment-face-massage) .massage-panel { margin-bottom:0; }
}
@media(min-width:768px) and (max-width:991px) {
    .massage-hero .about-container { max-width:720px; }
}
@media(max-width:767px) {
    .massage-copy p,.massage-dialog-panel p { line-height:1.5; }
}
.language-nn .treatment-classic-massage :is(ul,ol).massage-prices { margin-top:15px; }
@media(max-width:767px) {
    .image-left .massage-copy,.image-right .massage-copy { border:0; }
    .image-left .massage-photo { margin-bottom:1px; }
}
.language-nn .massage-booking .calendar-field { padding-top:22.5px; }

@media(max-width:767px) { .language-lv .massage-booking h3 {font-size:34px;} }

.massage-detail .massage-copy h1 { margin:0 0 8px; color:var(--wine); font:800 24px/24px 'Roboto Slab',sans-serif; }
/* Original procedure pages have their own title settings. */
.language-en .detail-antistress-massage .massage-copy h1 {font-size:18px;line-height:16px;}
.language-en .detail-pregnancy-body-massage .massage-copy h1 {line-height:28.8px;margin:24px 0;}
.massage-detail.detail-classic-massage :is(ul,ol).massage-prices {margin-top:15px;}
.massage-breadcrumb li:nth-child(n+3)::before { display:inline-block; padding:0 8px; color:#6c757d; content:'/'; }


/* Keep the original desktop window sizes without clipping longer text. */
@media(min-width:768px) {
.language-lv #massage-details-classic-massage .massage-dialog-panel {min-height:450px;}
.language-lv #massage-details-back-massage .massage-dialog-panel {min-height:550px;}
.language-lv #massage-details-antistress-massage .massage-dialog-panel {min-height:750px;}
.language-lv #massage-details-swedish-massage .massage-dialog-panel {min-height:590px;}
.language-lv #massage-details-sports-massage .massage-dialog-panel {min-height:870px;}
.language-lv #massage-details-relaxing-aroma-massage .massage-dialog-panel {min-height:800px;}
.language-lv #massage-details-thai-foot-massage .massage-dialog-panel {min-height:600px;}
.language-lv #massage-details-foot-leg-massage .massage-dialog-panel {min-height:650px;}
.language-lv #massage-details-honey-massage .massage-dialog-panel {min-height:400px;}
.language-lv #massage-details-deep-tissue-massage .massage-dialog-panel {min-height:440px;}
.language-lv #massage-details-chocolate-spa-massage .massage-dialog-panel {min-height:600px;}
.language-lv #massage-details-pregnancy-body-massage .massage-dialog-panel {min-height:720px;}
.language-lv #massage-details-latvian-buckwheat-massage .massage-dialog-panel {min-height:600px;}
.language-lv #massage-details-full-body-peeling-massage .massage-dialog-panel {min-height:220px;}
.language-lv #massage-details-abhyanga-massage .massage-dialog-panel {min-height:700px;}
.language-lv #massage-details-anti-cellulite-massage .massage-dialog-panel {min-height:350px;}
.language-lv #massage-details-hot-stone-massage .massage-dialog-panel {min-height:700px;}
.language-lv #massage-details-face-massage .massage-dialog-panel {min-height:319px;}
.language-ru #massage-details-classic-massage .massage-dialog-panel {min-height:550px;}
.language-ru #massage-details-antistress-massage .massage-dialog-panel {min-height:800px;}
.language-ru #massage-details-sports-massage .massage-dialog-panel {min-height:950px;}
.language-ru #massage-details-back-massage .massage-dialog-panel {min-height:499px;}
.language-ru #massage-details-swedish-massage .massage-dialog-panel {min-height:750px;}
.language-ru #massage-details-thai-foot-massage .massage-dialog-panel {min-height:700px;}
.language-ru #massage-details-foot-leg-massage .massage-dialog-panel {min-height:700px;}
.language-ru #massage-details-honey-massage .massage-dialog-panel {min-height:400px;}
.language-ru #massage-details-chocolate-spa-massage .massage-dialog-panel {min-height:620px;}
.language-ru #massage-details-pregnancy-body-massage .massage-dialog-panel {min-height:780px;}
.language-ru #massage-details-latvian-buckwheat-massage .massage-dialog-panel {min-height:690px;}
.language-ru #massage-details-full-body-peeling-massage .massage-dialog-panel {min-height:220px;}
.language-ru #massage-details-abhyanga-massage .massage-dialog-panel {min-height:700px;}
.language-ru #massage-details-anti-cellulite-massage .massage-dialog-panel {min-height:390px;}
.language-ru #massage-details-hot-stone-massage .massage-dialog-panel {min-height:820px;}
.language-ru #massage-details-face-massage .massage-dialog-panel {min-height:340px;}
.language-ru #massage-details-intuitive-massage .massage-dialog-panel {min-height:440px;}
}

/* Preserve the original vertical action layout on tablets. */
@media(min-width:769px) and (max-width:991px) {
    .massage-page :is(.text-right,.massage-actions-left) {display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;}
    .massage-booking .form-submit {margin-bottom:20px;}
}

@media(min-width:992px) and (max-width:1170px) {
    .massage-container {margin-inline:0;}
    .massage-actions-left {display:flex;align-items:center;width:100%;}
}
