/*!
Theme Name: Lesya Child
Theme URI: https://bslthemes.com/
Author: bslthemes
Author URI: https://themeforest.net/user/bslthemes
Description: Lesya - Fitness WordPress Theme
Version: 1.5.19
License: General Public License
License URI: http://www.gnu.org/licenses/gpl.html
Template: lesya
Text Domain: lesya-child
Tags: full-width-template, editor-style, featured-images, sticky-post, threaded-comments, translation-ready, theme-options
*/

/* ------------------------------------------------------------------
 * Zuri icons — custom glyphs that work like Lesya's flaticon set.
 * Use in any Lesya icon field as:  zuri-icon-waxing
 * ------------------------------------------------------------------ */
@font-face {
  font-family: "zuri-icons";
  src: url("fonts/zuri-icons.woff2") format("woff2"), url("fonts/zuri-icons.woff") format("woff"), url("fonts/zuri-icons.ttf") format("truetype");
  font-display: block;
}
i[class^="zuri-icon-"]:before, i[class*=" zuri-icon-"]:before {
  font-family: "zuri-icons" !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.zuri-icon-waxing:before { content: "\e900"; }

/* ==================================================================
 * BookPro — Zuri booking experience
 * Uses BookPro's own CSS variables + scoped rules. No plugin files edited.
 * ================================================================== */
html:root, html .obp-wrapper, html .ZebraDialog {
  --obp-primary-color: #C76277;
  --obp-heading-color: #2B2227;
  --zuri-line: rgba(43, 34, 39, .12);
  --zuri-blush: #FBEFF1;
  --zuri-muted: #8C7B82;
}

/* ---- Book Online: header + search ---- */
.shortcode-wrapper .obp-second-title-with-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 6px; }
.shortcode-wrapper .obp-second-title { font-size: 32px; margin: 0; }
.shortcode-wrapper .obp-filter-part { flex: 1 1 320px; max-width: 460px; }
.shortcode-wrapper .search-name-wrapper { position: relative; width: 100%; }
.shortcode-wrapper .search-name-wrapper .obp-search-name { width: 100%; height: 48px; border-radius: 999px; border: 1px solid var(--zuri-line); background: #fff; padding-block: 0; padding-inline: 20px 48px; font-size: 15px; }
.shortcode-wrapper .search-name-wrapper .obp-search-name:focus { border-color: var(--obp-primary-color); outline: none; box-shadow: 0 0 0 3px rgba(199, 98, 119, .15); }
.shortcode-wrapper .search-name-wrapper i { position: absolute; inset-inline-end: 18px; top: 50%; transform: translateY(-50%); color: var(--zuri-muted); }

/* ---- Book Online: category tabs (js/zuri-booking.js) — they filter the list, one category at a time ---- */
.zuri-cat-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 0; margin: 4px 0 8px; background: #fff; border-bottom: 1px solid var(--zuri-line); }
.zuri-cat-tabs button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 1px solid var(--zuri-line); border-radius: 999px; background: #fff; color: #2B2227; font: 500 14px/1.2 "Manrope", sans-serif; white-space: nowrap; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.zuri-cat-tabs button:hover { border-color: var(--obp-primary-color); color: var(--obp-primary-color); }
.zuri-cat-tabs button.is-active { background: var(--obp-primary-color); border-color: var(--obp-primary-color); color: #fff; }
.zuri-cat-tabs .zuri-cat-count { font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 999px; background: var(--zuri-blush); color: var(--obp-primary-color); }
.zuri-cat-tabs button.is-active .zuri-cat-count { background: rgba(255, 255, 255, .22); color: #fff; }
@media (min-width: 1025px) { .zuri-cat-tabs { position: sticky; top: 0; z-index: 30; } }
.obp-wrapper.shortcode-wrapper .service-results [hidden] { display: none !important; }

/* ---- Book Online: category heading ---- */
.obp-wrapper.shortcode-wrapper .service-results .service-section { display: flex; align-items: center; justify-content: space-between; margin: 22px 0 10px; padding: 0; border: 0; scroll-margin-top: 90px; }
.obp-wrapper.shortcode-wrapper .service-results .service-section .service-type { display: flex; align-items: center; gap: 10px; }
.obp-wrapper.shortcode-wrapper .service-results .service-section .service-type i,
.obp-wrapper.shortcode-wrapper .service-results .service-section .service-counter { display: none; }
.obp-wrapper.shortcode-wrapper .service-results .service-section .service-type-name { font-size: 24px; margin: 0; }

/* ---- Book Online: services as a compact list (name + short description | price, time, Book) ---- */
.obp-wrapper.shortcode-wrapper .service-results .list-service-items { display: block; border: 1px solid var(--zuri-line); border-radius: 16px; background: #fff; overflow: hidden; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; margin: 0; padding: 16px 22px; border: 0; border-bottom: 1px solid var(--zuri-line); border-radius: 0; background: #fff; text-align: start; transition: background .2s; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item:last-child { border-bottom: 0; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item:hover { background: #FFF9FA; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .service-info { flex: 1 1 auto; min-width: 0; width: auto; text-align: start; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .service-name { font-family: "Manrope", sans-serif; font-size: 15px; line-height: 1.4; font-weight: 700; color: #2B2227; text-align: start; margin: 0 0 3px; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .service-description { font-size: 13px; line-height: 1.5; color: var(--zuri-muted); text-align: start; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .service-description p { margin: 0; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .service-meta { flex: 0 0 auto; width: auto; margin: 0; padding: 0; border: 0; display: flex; align-items: center; gap: 18px; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .price-and-duration { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: end; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .price { font-size: 16px; font-weight: 700; color: var(--obp-primary-color); white-space: nowrap; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .price .dashicons { display: none; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .duration { font-size: 12px; color: var(--zuri-muted); white-space: nowrap; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .duration:before { content: "\f017"; font-family: "Font Awesome 5 Free"; font-weight: 400; margin-inline-end: 5px; }
.obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .obp_booking_popup { border-radius: 999px; padding: 8px 20px; font-size: 14px; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
@media (max-width: 767px) {
  .zuri-cat-tabs { gap: 6px; padding: 10px 0; }
  .zuri-cat-tabs button { padding: 7px 12px; font-size: 13px; }
  .zuri-cat-tabs .zuri-cat-count { display: none; }
  .obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item { flex-wrap: wrap; gap: 10px; padding: 14px 16px; }
  .obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .obp_booking_popup { padding: 7px 18px; font-size: 13px; }
  .obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .service-info { flex-basis: 100%; }
  .obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .service-meta { flex-basis: 100%; justify-content: space-between; }
  .obp-wrapper.shortcode-wrapper .service-results .list-service-items .service-item .price-and-duration { flex-direction: row; align-items: baseline; gap: 10px; }
  .shortcode-wrapper .obp-second-title, .obp-wrapper.shortcode-wrapper .service-results .service-section .service-type-name { font-size: 21px; }
}

.zuri-no-results { margin: 18px 0 0; padding: 22px; border: 1px dashed var(--zuri-line); border-radius: 16px; text-align: center; color: var(--zuri-muted); }
.zuri-no-results[hidden] { display: none; }
.zuri-no-results a { color: var(--obp-primary-color); font-weight: 600; }
.shortcode-wrapper.obp-wrapper .zuri-searching .service-results .service-section { margin-top: 26px; }

/* ---- Booking pop-up: css/booking-popup.css (loaded after BookPro's own styles) ---- */

/* ---- Member account / staff dashboard ---- */
.obp-dashboard-nav ul, .obp-dashboard-nav li { list-style: none; margin: 0; padding: 0; }
.obp-dashboard-nav li::marker { content: none; }
.obp-dashboard-nav .obp-dashboard-nav-top { padding-bottom: 14px; margin-bottom: 10px; border-bottom: 1px solid var(--zuri-line); }
.obp-dashboard-nav .nav-link { display: flex; align-items: center; gap: 10px; padding: 10px 14px; margin: 2px 0; border-radius: 10px; color: #2B2227; font-size: 15px; transition: background .2s, color .2s; }
.obp-dashboard-nav .nav-link:hover, .obp-dashboard-nav .nav-active > .nav-link, .obp-dashboard-nav .nav-link.nav-active { background: var(--zuri-blush); color: var(--obp-primary-color); }
.obp-dashboard .obp-dashboard-content { border-radius: 18px; }
.obp-dashboard .obp-title-wrap .obp-title { font-size: 30px; }
.obp-dashboard .obp_button { border-radius: 999px; }
.obp-dashboard-nav .obp-nav-item.nav-active, .obp-dashboard-nav .obp-nav-item.nav-active > a, .obp-dashboard-nav .obp-nav-item.nav-active > .nav-link { background: var(--obp-primary-color); color: #fff; border-radius: 10px; }
.obp-dashboard-nav .obp-nav-item.nav-active i { color: #fff; }
html body .obp-dashboard .obp-dashboard-nav .obp-nav-item.nav-active > a.nav-link { background: var(--obp-primary-color); color: #fff; }

/* ==================================================================
   Zuri v2 components (js/zuri-site.js) — 2026-10-06
   Service tiles with rotating headline, dark panels (about + stats),
   tabbed price menus, back-to-top, header tweaks.
   ================================================================== */
:root { --zuri-ink: #2B2227; --zuri-rose: #C76277; --zuri-rose-soft: #F3D3DA; --zuri-sand: #F6ECE9; }

/* ---- Rotating headline + photo tiles ---- */
.zuri-dest { text-align: center; }
.zuri-dest__title { font-family: "Cormorant Garamond", serif; font-style: italic; font-weight: 500; font-size: 48px; line-height: 1.15; color: var(--zuri-ink); margin: 0 0 34px; }
.zuri-rotator { display: inline-block; font-family: "Manrope", sans-serif; font-style: normal; font-weight: 700; letter-spacing: -.01em; padding: 0 .12em; background: linear-gradient(transparent 58%, var(--zuri-rose-soft) 58%); transition: opacity .35s ease, transform .35s ease; }
.zuri-rotator.is-out { opacity: 0; transform: translateY(8px); }
.zuri-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; text-align: start; }
.zuri-tile { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 22px; overflow: hidden; background: var(--zuri-sand); color: #fff; isolation: isolate; }
.zuri-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; z-index: -2; }
.zuri-tile::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(43,34,39,.55) 0%, rgba(43,34,39,0) 34%, rgba(43,34,39,0) 52%, rgba(43,34,39,.82) 100%); }
.zuri-tile__name { position: absolute; top: 16px; left: 18px; right: 18px; font-family: "Manrope", sans-serif; font-weight: 700; font-size: 21px; line-height: 1.15; color: #fff; }
.zuri-tile__text { position: absolute; left: 18px; right: 18px; bottom: 44px; font-size: 13px; line-height: 1.45; color: rgba(255,255,255,.88); }
.zuri-tile__cta { position: absolute; inset-inline-start: 18px; bottom: 16px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.zuri-tile__cta i { margin-inline-start: 6px; transition: transform .3s; }
.zuri-tile:hover img, .zuri-tile:focus-visible img { transform: scale(1.06); }
.zuri-tile:hover .zuri-tile__cta i { transform: translateX(4px); }
.zuri-tile:hover, .zuri-tile:focus { color: #fff; }
@media (max-width: 1199px) { .zuri-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } .zuri-tile { aspect-ratio: 4 / 4.4; } }
@media (max-width: 767px) {
  .zuri-dest__title { font-size: 32px; margin-bottom: 22px; }
  .zuri-rotator { display: block; width: max-content; margin: 4px auto 0; }
  .zuri-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .zuri-tile { border-radius: 16px; aspect-ratio: 3 / 3.6; }
  .zuri-tile__name { font-size: 18px; top: 12px; inset-inline-start: 14px; }
  .zuri-tile__text { display: none; }
  .zuri-tile__cta { inset-inline-start: 14px; bottom: 12px; font-size: 11px; }
}

/* ---- Dark rounded panels ---- */
.zuri-darkpanel { position: relative; overflow: hidden; border-radius: 28px; background: var(--zuri-ink); color: #EBDFE2; }
.zuri-darkpanel h2, .zuri-darkpanel h3 { color: #fff; }
.zuri-darkpanel__deco { position: absolute; right: -40px; bottom: -110px; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 360px; line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(199, 98, 119, .45); transform: rotate(-12deg); pointer-events: none; user-select: none; z-index: 0; }
.zuri-eyebrow { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--zuri-rose); margin-bottom: 12px; }

/* About panel with polaroids */
.zuri-about { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: center; padding: 64px; }
.zuri-about__text { position: relative; z-index: 1; }
.zuri-about__text h2 { font-size: 44px; line-height: 1.12; margin: 0 0 18px; }
.zuri-about__text p { font-size: 16px; line-height: 1.75; color: #D9CBD0; margin: 0 0 18px; }
.zuri-checks { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 10px; }
.zuri-checks li { position: relative; padding-inline-start: 30px; color: #fff; font-size: 15px; }
.zuri-checks li::before { content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; inset-inline-start: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--zuri-rose); color: #fff; font-size: 10px; display: grid; place-items: center; }
.zuri-about .theme-btn { background: var(--zuri-rose); border-color: var(--zuri-rose); color: #fff; }
.zuri-about .theme-btn:hover { background: #fff; border-color: #fff; color: var(--zuri-ink); }
.zuri-polaroids { position: relative; z-index: 1; min-height: 490px; }
.zuri-polaroid { position: absolute; width: 57%; margin: 0; padding: 12px 12px 0; background: #fff; border-radius: 14px; box-shadow: 0 24px 50px rgba(0, 0, 0, .35); transition: transform .5s ease; }
.zuri-polaroid img { display: block; width: 100%; aspect-ratio: 4 / 3.3; object-fit: cover; border-radius: 6px; }
.zuri-polaroid figcaption { padding: 12px 4px 14px; text-align: center; font-family: "Cormorant Garamond", serif; font-style: italic; font-size: 22px; color: var(--zuri-ink); unicode-bidi: plaintext; }
.zuri-polaroid--a { top: 0; right: 2%; transform: rotate(5deg); }
.zuri-polaroid--b { bottom: 0; left: 0; transform: rotate(-6deg); }
.zuri-polaroids:hover .zuri-polaroid--a { transform: rotate(2deg) translateY(-6px); }
.zuri-polaroids:hover .zuri-polaroid--b { transform: rotate(-3deg) translateY(-6px); }
@media (max-width: 991px) { .zuri-about { grid-template-columns: 1fr; padding: 44px 32px; } .zuri-polaroids { min-height: 440px; } }
@media (max-width: 767px) {
  .zuri-darkpanel { border-radius: 20px; }
  .zuri-about { padding: 34px 22px 26px; gap: 26px; }
  .zuri-about__text h2 { font-size: 32px; }
  .zuri-about .theme-btn { white-space: nowrap; padding-left: 22px; padding-right: 22px; }
  .zuri-polaroids { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .zuri-polaroid { position: relative; width: auto; inset: auto; padding: 8px 8px 0; }
  .zuri-polaroid figcaption { font-size: 17px; padding: 8px 2px 10px; }
  .zuri-darkpanel__deco { font-size: 220px; bottom: -60px; }
}

/* Stats band */
.zuri-stats { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); min-height: 380px; }
.zuri-stats__media { position: relative; }
.zuri-stats__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, #000 55%, transparent 100%); mask-image: linear-gradient(90deg, #000 55%, transparent 100%); }
.zuri-stats__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 20px; align-content: center; padding: 48px 48px 48px 10px; text-align: center; }
.zuri-stat__num { display: block; font-family: "Cormorant Garamond", serif; font-size: 58px; line-height: 1; color: #fff; }
.zuri-stat__label { display: inline-block; margin-top: 10px; padding: 4px 10px; background: rgba(199, 98, 119, .85); color: #fff; font-size: 12px; letter-spacing: .04em; border-radius: 3px; }
@media (max-width: 991px) {
  .zuri-stats { grid-template-columns: 1fr; }
  .zuri-stats__media { height: 220px; }
  .zuri-stats__media img { -webkit-mask-image: linear-gradient(180deg, #000 50%, transparent 100%); mask-image: linear-gradient(180deg, #000 50%, transparent 100%); }
  .zuri-stats__grid { padding: 10px 24px 40px; }
}
@media (max-width: 767px) { .zuri-stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; } .zuri-stat__num { font-size: 44px; } .zuri-stat__label { font-size: 11px; } }

/* ---- Tabbed price menu on service pages ---- */
.zuri-menu { display: grid; grid-template-columns: 220px minmax(0, 1fr); border: 1px solid var(--zuri-line); border-radius: 22px; overflow: hidden; background: #fff; }
.zuri-menu__nav { display: flex; flex-direction: column; gap: 8px; padding: 22px 16px; background: var(--zuri-sand); }
.zuri-menu__nav button { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; padding: 11px 14px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--zuri-ink); font: 600 14px/1.3 "Manrope", sans-serif; text-align: start; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.zuri-menu__nav button span { flex: 0 0 auto; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: #fff; color: var(--zuri-rose); }
.zuri-menu__nav button:hover { border-color: rgba(199, 98, 119, .4); }
.zuri-menu__nav button[aria-selected="true"] { background: var(--zuri-ink); color: #fff; }
.zuri-menu__nav button[aria-selected="true"] span { background: var(--zuri-rose); color: #fff; }
.zuri-menu__panels { padding: 26px 28px 22px; min-width: 0; }
.zuri-menu__panel[hidden] { display: none; }
.zuri-menu__panel + .zuri-menu__panel { margin-top: 30px; }
.zuri-menu__panel h3 { font-size: 26px; margin: 0 0 6px; }
.zuri-menu__panel > p { font-size: 14px; line-height: 1.65; color: var(--zuri-muted); margin: 0 0 14px; }
.zuri-menu__table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: 14px; }
.zuri-menu__table th { padding: 10px 8px; border: 0; border-bottom: 1px solid var(--zuri-line); background: none; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--zuri-muted); text-align: start; }
.zuri-menu__table td { padding: 12px 8px; border: 0; border-bottom: 1px solid var(--zuri-line); vertical-align: middle; color: var(--zuri-ink); background: none; }
.zuri-menu__table tr:last-child td { border-bottom: 0; }
.zuri-menu__table tbody tr:hover td { background: #FFF9FA; }
.zuri-menu__table .zm-dur { white-space: nowrap; color: var(--zuri-muted); }
.zuri-menu__table .zm-price { white-space: nowrap; font-weight: 700; color: var(--zuri-rose); text-align: end; }
.zuri-menu__table th.zm-price { text-align: end; color: var(--zuri-muted); }
.zuri-menu__table .zm-book { width: 1%; text-align: end; }
.zuri-menu__book { display: inline-block; padding: 6px 14px; border: 1px solid var(--zuri-rose); border-radius: 999px; font-size: 12px; font-weight: 700; color: var(--zuri-rose); white-space: nowrap; transition: background .2s, color .2s; }
.zuri-menu__book:hover { background: var(--zuri-rose); color: #fff; }
.zuri-menu__foot { margin: 14px 0 0; font-size: 13px; color: var(--zuri-muted); }
@media (max-width: 991px) {
  .zuri-menu { grid-template-columns: 1fr; }
  .zuri-menu__nav { flex-direction: row; flex-wrap: wrap; gap: 6px; padding: 14px; }
  .zuri-menu__nav button { width: auto; padding: 8px 12px; font-size: 13px; }
}
@media (max-width: 575px) {
  .zuri-menu__panels { padding: 18px 14px 14px; }
  .zuri-menu__panel h3 { font-size: 22px; }
  .zuri-menu__table thead { display: none; }
  .zuri-menu__table tr { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name price" "dur book"; gap: 2px 10px; padding: 12px 4px; border-bottom: 1px solid var(--zuri-line); }
  .zuri-menu__table tr:last-child { border-bottom: 0; }
  .zuri-menu__table td { display: block; padding: 0; border: 0; }
  .zuri-menu__table .zm-name { grid-area: name; font-weight: 600; }
  .zuri-menu__table .zm-price { grid-area: price; }
  .zuri-menu__table .zm-dur { grid-area: dur; font-size: 12px; align-self: center; }
  .zuri-menu__table .zm-book { grid-area: book; width: auto; }
  .zuri-menu__table tbody tr:hover td { background: none; }
  .zuri-menu__table tr { padding: 10px 2px; }
  .zuri-menu__book { padding: 3px 12px; font-size: 11px; }
}

/* ---- Back to top (Lesya's own button, shown by zuri-site.js) ---- */
.scroll-top { display: block !important; right: 24px; bottom: 160px; width: 44px; height: 44px; border-radius: 50%; background: var(--zuri-ink); color: #fff; border: 0; box-shadow: 0 8px 22px rgba(43, 34, 39, .25); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .3s, transform .3s, visibility .3s, background .2s; animation: none; -webkit-animation: none; }
.scroll-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.scroll-top:hover { background: var(--zuri-rose); }
@media (max-width: 767px) { .scroll-top { right: 19px; bottom: 138px; width: 40px; height: 40px; } }

/* ---- Header: Book button on mobile, menu items never wrap ---- */
.header-upper .navigation > li > a { white-space: nowrap; }
@media (max-width: 767px) {
  html body .zuri-header-book { display: block !important; }
  html body .zuri-header-book .elementor-button { padding: 10px 14px; font-size: 11px; letter-spacing: .08em; border-radius: 999px; }
  .header-upper .navbar-header .mobile-logo { margin: 0 0 0 14px !important; padding: 10px 0 !important; }
  .header-upper .navbar-header .mobile-logo img { max-width: 120px; height: auto; }
}


/* Elementor sets img { height: auto } — keep cover images filling their frames */
.zuri-tiles .zuri-tile img, .zuri-stats .zuri-stats__media img { height: 100% !important; max-width: none; }
.zuri-polaroids .zuri-polaroid img { height: auto; max-width: 100%; }

/* ---- Home hero v3: one real photo, full width, headline on a soft fade ---- */
.zuri-hero-wrap > .elementor-container { max-width: none; }
.zuri-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: min(82vh, 760px); min-height: min(82svh, 760px); color: #fff; overflow: hidden; background: var(--zuri-ink); }
.zuri-hero__photo { position: absolute; inset: 0; z-index: -2; }
.zuri-hero__photo img { width: 100%; height: 100% !important; max-width: none; object-fit: cover; object-position: 50% 60%; }
.zuri-hero::after { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(25, 19, 22, .72) 0%, rgba(25, 19, 22, .35) 45%, rgba(25, 19, 22, 0) 70%),
              linear-gradient(0deg, rgba(25, 19, 22, .8) 0%, rgba(25, 19, 22, .3) 40%, rgba(25, 19, 22, 0) 70%); }
.zuri-hero__inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 15px; }
.zuri-hero__copy { max-width: 640px; padding-bottom: 36px; }
.zuri-hero h1 { font-family: "Cormorant Garamond", serif; font-weight: 500; font-size: 62px; line-height: 1.04; letter-spacing: -.01em; color: #fff; margin: 0 0 16px; }
.zuri-hero__brand { display: block; margin: 0 0 14px; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .24em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.zuri-hero p { font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .86); margin: 0 0 28px; max-width: 520px; }
.zuri-hero__ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.zuri-hero__book { display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; background: #fff; color: var(--zuri-ink); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: background .2s, color .2s; }
.zuri-hero__book:hover { background: var(--zuri-rose); color: #fff; }
.zuri-hero__wa { display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 15px; font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, .45); padding-bottom: 2px; }
.zuri-hero__wa:hover { color: #fff; border-color: #fff; }
.zuri-hero__facts { display: flex; flex-wrap: wrap; border-top: 1px solid rgba(255, 255, 255, .22); margin: 0; padding: 16px 0 22px; list-style: none; font-size: 14px; color: rgba(255, 255, 255, .8); }
.zuri-hero__facts li { padding: 0 22px; border-inline-start: 1px solid rgba(255, 255, 255, .22); }
.zuri-hero__facts li:first-child { padding-inline-start: 0; border-inline-start: 0; }
.zuri-hero__facts strong { color: #fff; font-weight: 600; }
@media (max-width: 1199px) { .zuri-hero h1 { font-size: 52px; } }
@media (max-width: 767px) {
  .zuri-hero { min-height: 86svh; }
  .zuri-hero__photo img { object-position: 62% 50%; }
  .zuri-hero::after { background: linear-gradient(0deg, rgba(25, 19, 22, .9) 0%, rgba(25, 19, 22, .62) 45%, rgba(25, 19, 22, .1) 78%, rgba(25, 19, 22, 0) 100%); }
  .zuri-hero__copy { padding-bottom: 24px; }
  .zuri-hero h1 { font-size: 38px; line-height: 1.06; }
  .zuri-hero__brand { font-size: 11.5px; margin-bottom: 10px; }
  .zuri-hero p { font-size: 16px; margin-bottom: 22px; }
  .zuri-hero__book { padding: 14px 24px; font-size: 13px; }
  .zuri-hero__facts { font-size: 12.5px; padding: 12px 0 16px; gap: 4px 0; }
  .zuri-hero__facts { flex-direction: column; }
  .zuri-hero__facts li { padding: 0; border-inline-start: 0; }
  .zuri-hero__facts li:nth-child(2) { display: none; }
}

/* ---- Page banners: keep H1s as written (Lesya capitalises every word) ---- */
.banner-inner h1 { text-transform: none; }
@media (max-width: 767px) { .banner-inner h1 { font-size: 34px; line-height: 1.12; } }

/* ---- Floating call button (landline), stacked above the WhatsApp button ---- */
.zuri-call-float { position: fixed; right: 18px; bottom: 86px; z-index: 999; width: 56px; height: 56px; border-radius: 50%; background: var(--zuri-rose); color: #fff !important; display: flex; align-items: center; justify-content: center; font-size: 22px; box-shadow: 0 6px 18px rgba(0, 0, 0, .2); transition: background .2s, transform .2s; }
.zuri-call-float:hover { background: var(--zuri-ink); transform: translateY(-2px); }
@media (max-width: 767px) { .zuri-call-float { width: 50px; height: 50px; font-size: 20px; right: 14px; bottom: 74px; } }

/* ---- Price list page: service tabs on top, tabbed menu inside ---- */
.zuri-pricelist__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 30px; }
.zuri-pricelist__nav button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px solid var(--zuri-line); border-radius: 999px; background: #fff; color: var(--zuri-ink); font: 600 14px/1.2 "Manrope", sans-serif; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.zuri-pricelist__nav button span { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: var(--zuri-blush); color: var(--zuri-rose); }
.zuri-pricelist__nav button:hover { border-color: var(--zuri-rose); }
.zuri-pricelist__nav button[aria-selected="true"] { background: var(--zuri-ink); border-color: var(--zuri-ink); color: #fff; }
.zuri-pricelist__nav button[aria-selected="true"] span { background: var(--zuri-rose); color: #fff; }
.zuri-pricelist__panel[hidden] { display: none; }
.zuri-menu--single { grid-template-columns: 1fr; }
.zuri-menu--single .zuri-menu__nav { display: none; }
.zuri-pricelist__panel + .zuri-pricelist__panel { margin-top: 40px; }
.zuri-pricelist__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; margin-bottom: 16px; }
.zuri-pricelist__head h2 { font-size: 34px; margin: 0; }
.zuri-pricelist__more { font-size: 14px; font-weight: 600; color: var(--zuri-rose); }
.zuri-pricelist__more i { margin-inline-start: 6px; }
.zuri-menu__table .zm-note { display: block; margin-top: 3px; font-size: 12.5px; font-weight: 400; line-height: 1.5; color: var(--zuri-muted); }
@media (max-width: 767px) {
  .zuri-pricelist__nav { justify-content: flex-start; gap: 6px; margin-bottom: 22px; }
  .zuri-pricelist__nav button { padding: 8px 12px; font-size: 13px; }
  .zuri-pricelist__nav button span { display: none; }
  .zuri-pricelist__head h2 { font-size: 26px; }
  .zuri-menu__table .zm-note { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .zuri-rotator, .zuri-tile img, .zuri-polaroid, .scroll-top { transition: none; }
}

/* Member account (BookPro dashboard): use the full screen width (page section is full width, class zuri-account--wide) */
body.obp-page .zuri-account--wide .obp-wrapper { max-width: none; }

/* Arabic (RTL): phone numbers, WhatsApp numbers, prices and times keep left-to-right digit order.
   Call/WhatsApp links take their direction from their own text: a bare number reads left to right, an Arabic label
   ("احجزي عبر واتساب") stays right to left so its icon sits on the reading side (the Arabic labels mark numbers with LRM). */
[dir="rtl"] a[href^="tel:"], [dir="rtl"] a[href*="wa.me"] { unicode-bidi: plaintext; }
[dir="rtl"] .zuri-ltr { direction: ltr; unicode-bidi: isolate; }

/* ---------- Arabic (TranslatePress /ar/) ----------
   Arabic letters use IBM Plex Sans Arabic (in place of Manrope) and El Messiri (in place of Cormorant Garamond):
   same family names, Arabic-only unicode-range, so Latin text keeps the brand fonts and nothing else needs overriding. */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/ar/plex-ar-400.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/ar/plex-ar-500.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/ar/plex-ar-600.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/ar/plex-ar-700.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 300 700; font-display: swap; src: url("fonts/ar/messiri-ar-var.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "Cormorant Garamond"; font-style: italic; font-weight: 300 700; font-display: swap; src: url("fonts/ar/messiri-ar-var.woff2") format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
[dir="rtl"] .zuri-hero::after {
  background: linear-gradient(270deg, rgba(25, 19, 22, .72) 0%, rgba(25, 19, 22, .35) 45%, rgba(25, 19, 22, 0) 70%),
              linear-gradient(0deg, rgba(25, 19, 22, .8) 0%, rgba(25, 19, 22, .3) 40%, rgba(25, 19, 22, 0) 70%); }
[dir="rtl"] .zuri-hero__brand { letter-spacing: 0; }
[dir="rtl"] .zuri-hero h1 { line-height: 1.25; }
@media (max-width: 767px) {
  [dir="rtl"] .zuri-hero::after { background: linear-gradient(0deg, rgba(25, 19, 22, .9) 0%, rgba(25, 19, 22, .62) 45%, rgba(25, 19, 22, .1) 78%, rgba(25, 19, 22, 0) 100%); }
}

/* Page-header titles: split long titles into even lines instead of leaving "1, Dubai" alone on the last line */
.banner-inner .page-title { text-wrap: balance; }
/* Page-header text stays readable on bright photos (the salon interior used on Services, Gallery and Contact) */
.banner-inner .page-title, .banner-inner .breadcrumb, .banner-inner .breadcrumb a { text-shadow: 0 2px 22px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .35); }
/* Service sidebar: the page you're on shows in rose (the theme's widget link colour was overriding it) */
.widget.category-widget li.current > a { color: var(--zuri-rose); }

/* ---------- Arabic (RTL) layout, v1.5.18 ---------- */
/* The parent theme sets body { text-align: left } and its rtl.css never resets it, so every Arabic block hugged the left
   edge of its box. Text starts on the reading side in both languages. */
[dir="rtl"] body { text-align: start; }
/* Lesya's section titles carry Bootstrap's .text-left (!important) when set to "left" in the widget: mirror it in Arabic */
[dir="rtl"] .text-left { text-align: right !important; }
/* Theme icons and bullets keep their gap on the right (LTR); in Arabic the gap belongs between icon and text, on the left */
[dir="rtl"] [class*="lesya-header-contacts"] li > i { margin-right: 0; margin-left: 13px; }
[dir="rtl"] [class*="lesya-pricing"] .pricing-item > i { margin-right: 0; margin-left: 25px; }
[dir="rtl"] .footer-widget li > i { margin-right: 0; margin-left: 15px; }
[dir="rtl"] .navigation-menu .nav__link::before { margin-right: 0; margin-left: 10px; }
/* Visit / hours panels print a bare phone number as text; let each line take its own direction so it reads +971 4 328 3891 */
[dir="rtl"] .booking-info p span { unicode-bidi: plaintext; display: block; text-align: right; }
/* Arrows point the way Arabic reads */
[dir="rtl"] .fa-long-arrow-alt-right, [dir="rtl"] .fa-long-arrow-right, [dir="rtl"] .fa-arrow-right, [dir="rtl"] .fa-angle-right, [dir="rtl"] .fa-chevron-right { transform: scaleX(-1); }
/* Arabic has no italics: keep notes such as (ساعتان) upright */
[dir="rtl"] em, [dir="rtl"] cite { font-style: normal; }
/* Phone and WhatsApp numbers never break across lines */
[dir="rtl"] a[href^="tel:"], [dir="rtl"] a[href*="wa.me"] { white-space: nowrap; }
/* Package cards: Arabic titles are longer, so the price sits under the title instead of squeezing it */
[dir="rtl"] .pricing-item .pricing-title { flex-direction: column; align-items: flex-start; gap: 4px; }
[dir="rtl"] .pricing-item .pricing-title h5 { margin-bottom: 0; }
/* Phone and email are typed left to right, also in the Arabic booking form */
[dir="rtl"] input[type="tel"], [dir="rtl"] input[type="email"], [dir="rtl"] input[name="phone_number"] { direction: ltr; text-align: right; }
/* Elementor's "align right" is physical: the header Book button belongs on the outer edge in both languages */
[dir="rtl"] .main-header .elementor-element.zuri-header-book { text-align: left; margin-right: 0; margin-left: 15px; }
/* Tablet/phone header: the logo + menu widget keeps a 15px gutter from the screen edge (left in English, right in Arabic) */
@media (max-width: 1024px) {
  [dir="rtl"] .main-header .elementor-element.elementor-element-6f9dc36 > .elementor-widget-container { margin-left: 0; margin-right: 15px; }
}
/* Button arrows follow the text, so the gap sits between text and arrow */
[dir="rtl"] .theme-btn i { margin-left: 0; margin-right: 10px; }
[dir="rtl"] .zuri-tile:hover .zuri-tile__cta i { transform: scaleX(-1) translateX(4px); }
/* FAQ chevrons follow the question and point the reading way when closed, as in English */
[dir="rtl"] .faq-accordion .card .card-header i { float: left; margin-left: 0; margin-right: 3px; }
[dir="rtl"] .faq-accordion .card .card-header.collapsed i { transform: rotate(90deg); }
/* Theme tick bullets and title accent lines start on the reading side */
[dir="rtl"] .list-style-one li:before { margin-right: 0; margin-left: 10px; }
[dir="rtl"] .content-sidebar .widget-title:before, [dir="rtl"] .elementor-section .widget-title:before, [dir="rtl"] .content-sidebar h2:before, [dir="rtl"] .content-sidebar h3:before { left: auto; right: 0; }
