/* === STICKY HEADER (UIKit uk-sticky-fixed) === */
.main-menu-area { transition:background 0.3s, box-shadow 0.3s; }
.main-menu-area.uk-sticky-fixed {
    background:rgba(13,13,13,0.92) !important;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    box-shadow:0 2px 20px rgba(0,0,0,0.4);
}
/* Logo hover */
.custom-logo-link img, .logo-wrap img { transition:filter 0.3s, transform 0.3s; }
.custom-logo-link:hover img, .logo-wrap a:hover img { filter:drop-shadow(0 0 8px rgba(232,160,64,0.4)); transform:scale(1.03); }
/* Nav underline animation — on li to avoid display:flex quirks on a (items-with-children have display:flex which mispositions a::after) */
#main-menu > li > a { position:relative; transition:color 0.3s; }
#main-menu > li::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:2px; background:#E8A040; transform:scaleX(0); transform-origin:left; transition:transform 0.3s ease; pointer-events:none; z-index:2; }
#main-menu > li:hover::after, #main-menu > li.current-menu-item::after { transform:scaleX(1); }
/* Duplicate arrow fix: sub-menu items already show › via ::after (functions.php), hide physical toggle */
#main-menu .sub-menu .menu-item-has-children > a .clipcut-submenu-toggle { display:none !important; }
/* Phone CTA — targets only the .header-phone-cta class (added to default PHP header) */
.header-phone-cta { border:1px solid #E8A040; border-radius:6px; padding:8px 16px; color:#E8A040; transition:all 0.25s; display:inline-flex; align-items:center; gap:8px; white-space:nowrap; text-decoration:none; font-weight:600; font-size:14px; }
.header-phone-cta:hover { background:#E8A040; color:#000; }
@keyframes phone-ring { 0%,100%{transform:rotate(0)} 10%,30%{transform:rotate(-12deg)} 20%{transform:rotate(12deg)} }
.phone-icon.ringing { animation:phone-ring 0.5s ease; display:inline-block; }
/* Dropdown — smooth fade/slide */
#main-menu li.menu-item-has-children .sub-menu { background:#1c1c1c; border:1px solid rgba(232,160,64,0.2); border-radius:8px; opacity:0; transform:translateY(-8px); pointer-events:none; transition:opacity 0.2s ease, transform 0.2s ease; }
#main-menu li.menu-item-has-children:hover .sub-menu { opacity:1; transform:translateY(0); pointer-events:auto; }
#main-menu .sub-menu li a { padding:10px 20px; border-left:3px solid transparent; transition:all 0.2s; display:block; }
#main-menu .sub-menu li a:hover { border-left-color:#E8A040; padding-left:26px; color:#E8A040; }
/* Header layout helpers */
.header-buttons-wrapper { display:flex; align-items:center; gap:16px; justify-content:flex-end; }
.cro-phone-cta { margin-right:8px; }

/* === HERO SECTION === */
.hair-hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.hair-hero__bg { position:absolute; inset:0; }
.hair-hero__bg img { width:100%; height:100%; object-fit:cover; }
.hair-hero__bg::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,0,0,0.78) 0%,rgba(0,0,0,0.32) 100%); }
.hair-hero__content { position:relative; z-index:2; padding:120px 0 80px; }
.hair-hero__trust { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px; }
.badge { background:rgba(232,160,64,0.15); border:1px solid rgba(232,160,64,0.4); border-radius:20px; padding:6px 16px; font-size:13px; color:rgba(255,255,255,0.9); }
.hair-hero h1 { font-size:clamp(36px,5vw,64px); font-weight:800; line-height:1.15; margin-bottom:20px; }
.hair-hero__sub { font-size:18px; line-height:1.7; color:rgba(255,255,255,0.85); max-width:600px; margin-bottom:32px; }
.hair-hero__perks { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:40px; }
.perk { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:8px; padding:10px 16px; font-size:14px; display:flex; align-items:center; gap:8px; }
.hair-hero__cta { display:flex; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.social-proof { font-size:14px; color:rgba(255,255,255,0.65); letter-spacing:0.5px; }

/* === WHY-US BLOCK === */
.why-us { padding:80px 0; background:#0f0f0f; }
.why-us__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:24px; }
.why-card { background:linear-gradient(135deg,#1e1e1e,#242424); border:1px solid rgba(232,160,64,0.15); border-radius:16px; padding:32px 24px; text-align:center; transition:transform 0.3s, border-color 0.3s; }
.why-card:hover { transform:translateY(-4px); border-color:rgba(232,160,64,0.5); }
.why-card__icon { font-size:40px; margin-bottom:12px; }
.why-card__num { font-size:48px; font-weight:800; color:#E8A040; line-height:1; margin-bottom:4px; }
.why-card__label { font-size:14px; color:rgba(255,255,255,0.65); font-weight:500; }

/* === PRICE SECTION === */
.price-section { padding:80px 0; }
.price-section h2 { font-size:clamp(28px,3.5vw,48px); font-weight:800; margin-bottom:40px; }
.price-table { border:1px solid rgba(255,255,255,0.06); border-radius:16px; overflow:hidden; }
.price-row { display:flex; align-items:center; gap:16px; padding:20px 28px; border-bottom:1px solid rgba(255,255,255,0.06); transition:background 0.2s; }
.price-row:hover { background:rgba(232,160,64,0.04); }
.price-row:last-child { border-bottom:none; }
.price-row__name { flex:0 0 auto; font-weight:500; color:rgba(255,255,255,0.9); }
.price-row__dots { flex:1; border-bottom:2px dotted rgba(232,160,64,0.3); height:0; margin:0 8px; }
.price-row__price { white-space:nowrap; color:#E8A040; font-weight:600; }
.price-row__price strong { font-size:18px; }
.price-row__btn { background:#E8A040; color:#000; padding:8px 20px; border-radius:6px; font-weight:700; white-space:nowrap; transition:opacity 0.2s; font-size:14px; text-decoration:none; }
.price-row__btn:hover { opacity:0.85; color:#000; }
.price-note { margin-top:24px; font-size:14px; color:rgba(255,255,255,0.55); font-style:italic; }

/* === BOOKING STICKY FORM === */
.booking-sticky { position:sticky; top:90px; background:linear-gradient(145deg,#1a1a1a,#222); border:1px solid rgba(232,160,64,0.3); border-radius:20px; padding:32px; box-shadow:0 8px 40px rgba(0,0,0,0.5); }
.booking-sticky h3 { color:#E8A040; font-size:22px; margin-bottom:8px; }
.booking-sticky .form-input { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:10px; padding:14px 16px; color:#fff; width:100%; margin-bottom:12px; transition:border-color 0.2s; font-size:15px; box-sizing:border-box; }
.booking-sticky .form-input:focus { border-color:#E8A040; outline:none; box-shadow:0 0 0 3px rgba(232,160,64,0.1); }
.booking-sticky .btn-submit { width:100%; background:#E8A040; color:#000; border:none; border-radius:10px; padding:16px; font-size:18px; font-weight:800; cursor:pointer; transition:transform 0.2s; }
.booking-sticky .btn-submit:hover { transform:scale(1.02); }

/* === BEFORE/AFTER SLIDER === */
.gallery-section { padding:80px 0; }
.before-after-slider { position:relative; width:100%; max-width:700px; margin:0 auto 48px; border-radius:16px; overflow:hidden; cursor:col-resize; box-shadow:0 12px 48px rgba(0,0,0,0.5); aspect-ratio:4/3; }
.ba-img { position:absolute; top:0; left:0; width:100%; height:100%; }
.ba-img img { width:100%; height:100%; object-fit:cover; }
.ba-before { z-index:1; }
.ba-after { z-index:2; }
.ba-label { position:absolute; bottom:16px; font-size:14px; font-weight:700; color:#fff; background:rgba(0,0,0,0.6); padding:4px 12px; border-radius:20px; z-index:4; }
.ba-label.before-label { left:16px; }
.ba-label.after-label { right:16px; }
.ba-range { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:col-resize; z-index:10; }
.ba-divider { position:absolute; top:0; bottom:0; width:3px; background:#E8A040; z-index:5; left:50%; transform:translateX(-50%); pointer-events:none; }
.ba-divider-handle { position:absolute; top:50%; width:40px; height:40px; background:#E8A040; border-radius:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; box-shadow:0 2px 12px rgba(0,0,0,0.4); left:50%; }
.ba-divider-handle::before, .ba-divider-handle::after { content:''; border:6px solid transparent; position:absolute; }
.ba-divider-handle::before { border-right-color:#000; right:calc(50% + 4px); }
.ba-divider-handle::after { border-left-color:#000; left:calc(50% + 4px); }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:40px; }
.gallery-grid-item { border-radius:12px; overflow:hidden; aspect-ratio:3/4; cursor:pointer; }
.gallery-grid-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.gallery-grid-item:hover img { transform:scale(1.05); }
.gallery-cta { text-align:center; margin-top:48px; }

/* === REVIEWS === */
.reviews-section { padding:80px 0; background:#0f0f0f; }
.reviews-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-bottom:48px; }
.google-rating { display:flex; align-items:center; gap:12px; }
.rating-num { font-size:32px; font-weight:800; color:#E8A040; }
.stars { color:#E8A040; font-size:20px; letter-spacing:2px; }
.rating-count { font-size:14px; color:rgba(255,255,255,0.6); }
.reviews-carousel { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }
.review-card { background:linear-gradient(145deg,#1a1a1a,#1e1e1e); border:1px solid rgba(255,255,255,0.06); border-radius:16px; padding:28px; transition:border-color 0.3s, transform 0.3s; }
.review-card:hover { border-color:rgba(232,160,64,0.3); transform:translateY(-4px); }
.review-card__header { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.review-card__avatar { width:44px; height:44px; border-radius:50%; background:#E8A040; color:#000; font-weight:800; font-size:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.review-card__name { font-weight:700; font-size:15px; }
.review-card__stars { color:#E8A040; font-size:13px; letter-spacing:1px; }
.review-card__source { margin-left:auto; width:20px; height:20px; flex-shrink:0; }
.review-card__text { font-size:15px; line-height:1.75; color:rgba(255,255,255,0.8); font-style:italic; margin:0; }

/* === FAQ === */
.faq-section { padding:80px 0; }
.faq-section h2 { margin-bottom:40px; font-size:clamp(28px,3.5vw,48px); font-weight:800; }
.faq-list { max-width:800px; }
.faq-item { border-bottom:1px solid rgba(255,255,255,0.08); }
.faq-question { width:100%; display:flex; justify-content:space-between; align-items:center; padding:20px 0; background:none; border:none; color:#fff; font-size:18px; font-weight:600; cursor:pointer; text-align:left; transition:color 0.2s; }
.faq-question:hover { color:#E8A040; }
.faq-icon { font-size:24px; color:#E8A040; transition:transform 0.3s; flex-shrink:0; line-height:1; }
.faq-item.active .faq-icon { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s ease, padding 0.3s; }
.faq-item.active .faq-answer { max-height:400px; padding-bottom:20px; }
.faq-answer p { color:rgba(255,255,255,0.75); font-size:16px; line-height:1.75; margin:0; }

/* === FLOATING CTA (mobile) === */
.floating-cta { display:none; position:fixed; bottom:0; left:0; right:0; z-index:999; padding:12px 16px; background:#111; border-top:1px solid rgba(232,160,64,0.3); gap:12px; }
@media(max-width:768px){ .floating-cta { display:flex; } }
.floating-cta__call { flex:1; padding:14px; border:2px solid #E8A040; border-radius:10px; color:#E8A040; font-weight:700; text-align:center; transition:all 0.2s; text-decoration:none; display:flex; align-items:center; justify-content:center; }
.floating-cta__call:hover { background:rgba(232,160,64,0.1); color:#E8A040; }
.floating-cta__book { flex:1; padding:14px; background:#E8A040; border-radius:10px; color:#000; font-weight:700; text-align:center; transition:opacity 0.2s; text-decoration:none; display:flex; align-items:center; justify-content:center; }
.floating-cta__book:hover { opacity:0.9; color:#000; }

/* === BUTTONS === */
.btn--primary { background:#E8A040; color:#000; border:2px solid #E8A040; border-radius:10px; padding:16px 36px; font-size:17px; font-weight:800; letter-spacing:0.5px; transition:all 0.25s; cursor:pointer; display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.btn--primary:hover { background:transparent; color:#E8A040; transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,160,64,0.3); }
.btn--outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,0.3); border-radius:10px; padding:16px 36px; font-size:17px; font-weight:800; transition:all 0.25s; display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.btn--outline:hover { border-color:#E8A040; color:#E8A040; transform:translateY(-2px); }
.btn--lg { padding:20px 48px; font-size:19px; }
@keyframes pulse-cta { 0%{box-shadow:0 0 0 0 rgba(232,160,64,0.5)} 70%{box-shadow:0 0 0 12px rgba(232,160,64,0)} 100%{box-shadow:0 0 0 0 rgba(232,160,64,0)} }
.pulse-animation { animation:pulse-cta 2s infinite; }
.cro-hero { min-height:100vh !important; min-height:100svh !important; width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; background-size:cover !important; background-position:center center !important; background-repeat:no-repeat !important; overflow:hidden; }
.cro-hero-badges { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:26px; }
.cro-hero-badge { display:inline-flex; align-items:center; gap:9px; min-height:38px; padding:7px 14px 7px 8px; border:1px solid rgba(255,255,255,0.16); border-radius:999px; background:linear-gradient(135deg,rgba(255,255,255,0.13),rgba(255,255,255,0.055)); color:rgba(255,255,255,0.92); font-size:13px; font-weight:700; line-height:1.1; letter-spacing:0; box-shadow:0 10px 28px rgba(0,0,0,0.18); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.cro-hero-badge__icon { width:24px; height:24px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; color:#E8A040; background:rgba(232,160,64,0.16); box-shadow:inset 0 0 0 1px rgba(232,160,64,0.22); }
.cro-hero-btn { position:relative; isolation:isolate; overflow:hidden; will-change:transform, box-shadow; transition:transform 0.28s ease, box-shadow 0.28s ease, background-color 0.28s ease, border-color 0.28s ease, color 0.28s ease !important; }
.cro-hero-btn::before { content:''; position:absolute; inset:-2px; z-index:-1; background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,0.45) 45%,transparent 70%); transform:translateX(-130%) skewX(-18deg); transition:transform 0.55s ease; }
.cro-hero-btn:hover { transform:translateY(-4px) scale(1.02); }
.cro-hero-btn:hover::before { transform:translateX(130%) skewX(-18deg); }
.cro-hero-btn--primary:hover { background:#f4b55d !important; border-color:#f4b55d !important; color:#000 !important; box-shadow:0 14px 34px rgba(232,160,64,0.48), 0 0 0 5px rgba(232,160,64,0.14) !important; }
.cro-hero-btn--phone:hover { background:rgba(232,160,64,0.14) !important; border-color:#E8A040 !important; color:#E8A040 !important; box-shadow:0 14px 34px rgba(0,0,0,0.28), 0 0 0 5px rgba(232,160,64,0.12) !important; }
.cro-hero-btn:focus-visible { outline:3px solid rgba(232,160,64,0.65); outline-offset:4px; }
@media(max-width:768px){
    .cro-hero { min-height:100svh !important; }
    .cro-hero-badges { gap:8px; margin-bottom:22px; }
    .cro-hero-badge { min-height:34px; padding:6px 11px 6px 7px; font-size:12px; }
    .cro-hero-badge__icon { width:22px; height:22px; border-radius:7px; }
}

/* === TYPOGRAPHY === */
.accent { color:#E8A040; }
h1 { font-size:clamp(36px,5vw,64px); line-height:1.15; }
h2 { font-size:clamp(28px,3.5vw,48px); line-height:1.2; }
p { font-size:17px; line-height:1.75; color:rgba(255,255,255,0.85); }

/* === SCROLL ANIMATIONS === */
.fade-up { opacity:0; transform:translateY(30px); transition:opacity 0.6s ease, transform 0.6s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* === SECTION SPACING === */
section { padding:80px 0; }
@media(max-width:768px){ section { padding:48px 0; } .gallery-grid { grid-template-columns:repeat(2,1fr); } .price-row { flex-wrap:wrap; } .hair-hero__content { padding:100px 0 60px; } }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }

/* === BREADCRUMB === */
.breadcrumb-container .breadcrumb { display:inline-flex; align-items:center; gap:8px; background:rgba(232,160,64,0.12); border:1px solid rgba(232,160,64,0.25); border-radius:30px; padding:8px 20px; font-size:14px; color:rgba(255,255,255,0.7); flex-wrap:wrap; }
.breadcrumb-container .breadcrumb a { color:rgba(255,255,255,0.7); text-decoration:none; transition:color 0.2s; }
.breadcrumb-container .breadcrumb a:hover { color:#E8A040; }
.breadcrumb-separator, .breadcrumb span[aria-hidden] { color:#E8A040; }

/* Phone CTA — force only on .header-phone-cta to avoid breaking .header-mobile-number */
.header-phone-cta {
    border:1.5px solid #E8A040 !important;
    border-radius:8px !important;
    padding:8px 18px !important;
    color:#E8A040 !important;
    font-weight:700 !important;
    transition:all 0.25s !important;
    text-decoration:none !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    white-space:nowrap !important;
}
.header-phone-cta:hover {
    background:#E8A040 !important;
    color:#000 !important;
}

/* === HAIR-COLORING PAGE FIXES (Task 6) === */
/* Hide default page banner — hero injected via the_content replaces it */
.is-hair-coloring .banner-area.page-banner { display:none !important; }
/* Fix Elementor overlay defaulting to opacity:1 (fully black) on all 5 hair-subpages */
.is-hair-coloring .elementor-element-2f929869 > .elementor-background-overlay,
.is-hair-coloring .elementor-element-6d6b5baa > .elementor-background-overlay,
.is-hair-coloring .elementor-element-5186a2b > .elementor-background-overlay,
.is-hair-coloring .elementor-element-357994be > .elementor-background-overlay,
.is-hair-coloring .elementor-element-2753ed1b > .elementor-background-overlay {
    opacity:0.55 !important;
}
/* Floating CTA visibility — show only after scrolling 100px */
.floating-cta { opacity:0; pointer-events:none; transition:opacity 0.3s; }
.floating-cta.floating-cta--visible { opacity:1; pointer-events:auto; }

/* === HOMEPAGE BANNER HIDE === */
.home .banner-area.page-banner { display:none !important; }

/* === DARK STRIP UNDER HEADER — collapse header section + reset content margin === */
/* Force section de2b31e (Elementor header template wrapper) to 0 height */
section.elementor-element-de2b31e,
.elementor-element-de2b31e.elementor-section {
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:visible !important;
    padding:0 !important;
    margin:0 !important;
    line-height:0 !important;
    font-size:0 !important;
    border:none !important;
}
.elementor-element-de2b31e .elementor-container,
.elementor-element-de2b31e .elementor-column,
.elementor-element-de2b31e .elementor-widget-wrap {
    height:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    overflow:visible !important;
}
/* Ensure no gap from page wrappers */
#content.site-content,
main#primary.site-content,
#primary.site-content { padding-top:0 !important; margin-top:0 !important; }
.elementor-244 { margin-top:0 !important; padding-top:0 !important; }

/* === SCISSORS: force 32% wide + vertical center === */
.elementor-element-deff868 img { width:32% !important; max-width:32% !important; }
.elementor-element-deff868 {
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
}

/* === COUNTERS BLOCK: center-align === */
.elementor-element-f953588 { justify-content:center !important; }
.elementor-element-186f1b5 { margin-left:auto !important; margin-right:auto !important; }

/* === BEAUTY PACKAGES: equal height & width cards === */
.elementor-element-9e758f9 .price-row {
    display:flex !important;
    align-items:stretch !important;
    flex-wrap:nowrap !important;
}
.elementor-element-9e758f9 .price-col {
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 0 !important;
    width:auto !important;
}
.elementor-element-9e758f9 .price-card {
    display:flex !important;
    flex-direction:column !important;
    height:100% !important;
    flex:1 !important;
}
.elementor-element-9e758f9 .price-footer { margin-top:auto !important; }
/* Price amount: left-align + pull left past card padding */
.elementor-element-9e758f9 .price-amount {
    text-align:left !important;
    margin-left:-32px !important;
    padding-left:0 !important;
}

/* === FORM HEADING: center "Залишити заявку" (Elementor doesn't generate text-align for ec4a826) === */
.elementor-244 .elementor-element.elementor-element-ec4a826 .elementor-heading-title { text-align:center !important; }

/* === CF7 FORM: equal spacing — target .hero-appointment div directly === */
.hero-appointment .wpcf7-form-control-wrap { display:block !important; margin-bottom:12px !important; margin-top:0 !important; }
.hero-appointment label { display:block !important; margin-bottom:12px !important; margin-top:0 !important; }
.hero-appointment label .wpcf7-form-control-wrap { margin-bottom:0 !important; }
.hero-appointment br { display:none !important; }

/* === TASK 1: Hero tagline — align near form bottom (padding-top drives vertical position) === */
@media (min-width:1025px) {
    .elementor-244 .elementor-element.elementor-element-1019572 {
        justify-content: flex-start !important;
        padding-top: 440px !important;
        padding-bottom: 0 !important;
    }
}

/* === TASK 2: Larger "Залишити заявку" heading === */
.elementor-244 .elementor-element.elementor-element-ec4a826 .elementor-heading-title {
    font-size: 34px !important;
    text-align: center !important;
}

/* === TASK 3: Clickable tiles — cursor pointer (JS handles navigation) === */
[data-id="5b35720f"], [data-id="475728f"], [data-id="fc509ef"], [data-id="dc054bc"] { cursor:pointer; }

/* === TASK 4: Counters — close left border, remove extra right border on last counter === */
.elementor-244 .elementor-element.elementor-element-186f1b5 {
    border-left-width: 1px !important;
    --border-left-width: 1px;
}
.elementor-244 .elementor-element.elementor-element-4c90cc0 {
    border-right: none !important;
}

/* === TASK 5: Address "м. Київ, вулиця Сержа Лифаря 9/61" — prevent wrapping === */
.elementor-244 .elementor-element.elementor-element-6cb154a .elementor-heading-title {
    white-space: nowrap !important;
}

/* === TASK 6: Contact section — no-wrap phone/schedule, SVG icons replace emoji === */
.elementor-244 .elementor-element.elementor-element-8f8d722 .elementor-heading-title { white-space:nowrap !important; }
.elementor-244 .elementor-element.elementor-element-82b1820 .elementor-icon-list-text { white-space:nowrap !important; }

/* Contact headings: flex layout for icon + text */
.elementor-244 .elementor-element.elementor-element-c2ea5d1 .elementor-heading-title,
.elementor-244 .elementor-element.elementor-element-8f8d722 .elementor-heading-title,
.elementor-244 .elementor-element.elementor-element-f97acc8 .elementor-heading-title {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}
/* Location pin icon */
.elementor-244 .elementor-element.elementor-element-c2ea5d1 .elementor-heading-title::before {
    content:'';
    display:inline-block;
    width:18px;
    height:20px;
    flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23E8A040' d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* Phone icon */
.elementor-244 .elementor-element.elementor-element-8f8d722 .elementor-heading-title::before {
    content:'';
    display:inline-block;
    width:18px;
    height:18px;
    flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23E8A040' d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* Clock icon */
.elementor-244 .elementor-element.elementor-element-f97acc8 .elementor-heading-title::before {
    content:'';
    display:inline-block;
    width:18px;
    height:18px;
    flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23E8A040' d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* === TASK 7: Footer logo — enforce exact 100×100 px === */
.site-footer .wp-image-4735 { width:100px !important; height:100px !important; object-fit:contain !important; }

/* Russian footer logo (post 4964, img 4966) — Elementor sets max-width:112px;height:112px → override to 100×100 */
.elementor-4964 .elementor-element.elementor-element-e954999 img {
    max-width: 100px !important;
    width: 100px !important;
    height: 100px !important;
    object-fit: contain !important;
}

/* === SUB-MENU ARROWS: white color — flex justify-content:space-between handles right-side position (functions.php) === */
#main-menu .sub-menu .menu-item-has-children > a::after {
    color:#ffffff !important;
}

/* === RU HOMEPAGE (post 4917): mirror all elementor-244 page-specific rules === */
.elementor-4917 { margin-top:0 !important; padding-top:0 !important; }

/* Hero block: exactly one screen height */
@media (min-width:768px) {
    .elementor-4917 .elementor-element.elementor-element-8de1c86 {
        --min-height: 100vh !important;
        min-height: 100vh !important;
    }
}

/* Form heading: center "Оставить заявку" */
.elementor-4917 .elementor-element.elementor-element-ec4a826 .elementor-heading-title { text-align:center !important; }

/* Hero tagline position */
@media (min-width:1025px) {
    .elementor-4917 .elementor-element.elementor-element-1019572 {
        justify-content: flex-start !important;
        padding-top: 440px !important;
        padding-bottom: 0 !important;
    }
}

/* Form heading size */
.elementor-4917 .elementor-element.elementor-element-ec4a826 .elementor-heading-title {
    font-size: 34px !important;
    text-align: center !important;
}

/* Counters: close left border, remove extra right border on last */
.elementor-4917 .elementor-element.elementor-element-186f1b5 {
    border-left-width: 1px !important;
    --border-left-width: 1px;
}
.elementor-4917 .elementor-element.elementor-element-4c90cc0 {
    border-right: none !important;
}

/* Address no-wrap */
.elementor-4917 .elementor-element.elementor-element-6cb154a .elementor-heading-title {
    white-space: nowrap !important;
}

/* Contact section: no-wrap phone/schedule */
.elementor-4917 .elementor-element.elementor-element-8f8d722 .elementor-heading-title { white-space:nowrap !important; }
.elementor-4917 .elementor-element.elementor-element-82b1820 .elementor-icon-list-text { white-space:nowrap !important; }

/* Contact headings: flex layout for icon + text */
.elementor-4917 .elementor-element.elementor-element-c2ea5d1 .elementor-heading-title,
.elementor-4917 .elementor-element.elementor-element-8f8d722 .elementor-heading-title,
.elementor-4917 .elementor-element.elementor-element-f97acc8 .elementor-heading-title {
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}
/* Location pin icon */
.elementor-4917 .elementor-element.elementor-element-c2ea5d1 .elementor-heading-title::before {
    content:'';
    display:inline-block;
    width:18px;
    height:20px;
    flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23E8A040' d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* Phone icon */
.elementor-4917 .elementor-element.elementor-element-8f8d722 .elementor-heading-title::before {
    content:'';
    display:inline-block;
    width:18px;
    height:18px;
    flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23E8A040' d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* Clock icon */
.elementor-4917 .elementor-element.elementor-element-f97acc8 .elementor-heading-title::before {
    content:'';
    display:inline-block;
    width:18px;
    height:18px;
    flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23E8A040' d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* === HEADER PHONE ICON: replace flaticon-phone-call with SVG === */
.header-mobile-icon i.flaticon-phone-call { font-size:0 !important; width:0 !important; height:0 !important; display:none !important; }
.header-mobile-icon::before {
    content:'';
    display:inline-block;
    width:20px;
    height:20px;
    flex-shrink:0;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23E8A040' d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* === AIRTOUCH PAGE: force 3-column pricing layout === */
@media (min-width: 768px) {
    #advanced-pricing-4a79aba6.price-row {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 20px !important;
    }
    #advanced-pricing-4a79aba6.price-row .price-col {
        width: calc(100% / 3) !important;
        flex: 0 0 calc(100% / 3) !important;
        max-width: calc(100% / 3) !important;
    }
}
