/* BATALAR 78.2.0 — global compatibility bundle */
/* Existing source order is preserved to prevent visual regressions. */

/* ===== SOURCE: static/css/home.css ===== */
[x-cloak] {
    display: none !important;
}

:root {
    color-scheme: light;
}

* {
    box-sizing: border-box;
}

html {
    background: #fff;
}

body {
    margin: 0;
    overflow-x: hidden;
    font-family: "Vazirmatn", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a,
button,
input,
select {
    -webkit-tap-highlight-color: transparent;
}

button,
select {
    font: inherit;
}

::selection {
    color: #0f172a;
    background: #a7f3df;
}

.container-shell {
    width: min(1240px, calc(100% - 32px));
    margin-inline: auto;
}

.nav-link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    border-radius: 14px;
    padding-inline: 14px;
    font-size: 0.82rem;
    font-weight: 800;
    color: #52525b;
    transition: color 180ms ease, background-color 180ms ease;
}

.nav-link:hover {
    color: #087f6b;
    background: #ecfdf9;
}

.mobile-nav-link {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 10px;
    border-radius: 14px;
    padding-inline: 14px;
    font-size: 0.86rem;
    font-weight: 800;
    color: #3f3f46;
    transition: background-color 180ms ease, color 180ms ease;
}

.mobile-nav-link:hover {
    color: #087f6b;
    background: #ecfdf9;
}

.button-primary,
.button-secondary {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    gap: 9px;
    border-radius: 999px;
    padding: 11px 21px;
    font-size: 0.82rem;
    font-weight: 900;
    transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.button-primary {
    color: #10201d;
    background: #2dd4ad;
    box-shadow: 0 13px 30px rgba(8, 207, 165, 0.18);
}

.button-primary:hover {
    transform: translateY(-1px);
    background: #6ee7ca;
    box-shadow: 0 16px 34px rgba(8, 207, 165, 0.24);
}

.button-secondary {
    color: #3f3f46;
    background: #fff;
    border: 1px solid rgba(24, 24, 27, 0.08);
}

.button-secondary:hover {
    transform: translateY(-1px);
    color: #087f6b;
    border-color: #a7f3df;
    background: #ecfdf9;
}

.hero-mesh {
    background:
        radial-gradient(circle at 18% 8%, rgba(45, 212, 173, 0.08), transparent 24rem),
        radial-gradient(circle at 85% 10%, rgba(254, 240, 138, 0.11), transparent 22rem),
        linear-gradient(180deg, #fafbfa 0%, #ffffff 75%);
}

.hero-mesh::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.36;
    background-image:
        linear-gradient(rgba(17, 24, 39, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17, 24, 39, 0.018) 1px, transparent 1px);
    background-size: 32px 32px;
    mask-image: linear-gradient(to bottom, #000, transparent 70%);
}

.no-scrollbar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.carousel-button,
.pagination-button {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(24, 24, 27, 0.06);
    border-radius: 999px;
    color: #52525b;
    background: #f5f5f5;
    transition: transform 180ms ease, color 180ms ease, background-color 180ms ease;
}

.carousel-button:hover,
.pagination-button:hover {
    transform: translateY(-1px);
    color: #087f6b;
    background: #ecfdf9;
}

.about-frame::before {
    content: "";
    position: absolute;
    inset: 16% -12% -16% 25%;
    z-index: -1;
    border-radius: 999px;
    background: rgba(45, 212, 173, 0.16);
    filter: blur(48px);
}

.footer-title {
    margin-bottom: 17px;
    font-size: 0.92rem;
    font-weight: 900;
}

.footer-links {
    display: grid;
    gap: 11px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.78rem;
}

.footer-links a {
    transition: color 180ms ease, transform 180ms ease;
}

.footer-links a:hover {
    color: #6ee7ca;
    transform: translateX(-2px);
}

.footer-social {
    display: inline-grid;
    width: 39px;
    height: 39px;
    place-items: center;
    border-radius: 13px;
    color: rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.08);
    transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.footer-social:hover {
    color: #151817;
    background: #6ee7ca;
    transform: translateY(-2px);
}

.htmx-indicator {
    display: none;
}

.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
    display: inline-flex;
}

.htmx-request {
    cursor: progress;
}

input[type="search"]::-webkit-search-cancel-button {
    cursor: pointer;
}

@media (max-width: 640px) {
    .container-shell {
        width: min(100% - 24px, 1240px);
    }

    .hero-mesh {
        background:
            radial-gradient(circle at 50% 0%, rgba(45, 212, 173, 0.11), transparent 20rem),
            linear-gradient(180deg, #fafbfa 0%, #ffffff 75%);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* ===== SOURCE: static/css/public_experience_023.css ===== */
:root {
  --btl-primary: #01FFCD;
  --btl-primary-strong: #00d9ad;
  --btl-primary-deep: #078f76;
  --btl-ink: #071b19;
  --btl-muted: #64706e;
  --btl-canvas: #f8fcfb;
  --btl-soft: #ecfffa;
  --btl-border: rgba(7, 27, 25, .09);
  --btl-rose: #ff7f9d;
  --btl-amber: #ffbf55;
  --btl-shadow: 0 24px 70px rgba(7, 27, 25, .09);
}
[x-cloak] { display: none !important; }
.container-shell { width: min(100% - 2rem, 1280px); margin-inline: auto; }
@media (min-width: 640px) { .container-shell { width: min(100% - 3rem, 1280px); } }
body { overflow-x: hidden; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.skip-link { position: fixed; z-index: 200; top: 1rem; right: 1rem; transform: translateY(-150%); border-radius: 14px; background: var(--btl-ink); color: white; padding: .75rem 1rem; font-size: .8rem; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.eyebrow { display: inline-flex; align-items: center; gap: .4rem; color: var(--btl-primary-deep); font-size: .76rem; font-weight: 900; letter-spacing: -.01em; }
.eyebrow::before { content: ''; width: 20px; height: 3px; border-radius: 10px; background: var(--btl-primary); }
.soft-section { background: linear-gradient(180deg, #f0fffb 0%, #f8fcfb 100%); border-block: 1px solid rgba(16,255,205,.16); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.75rem; }
.section-heading h2 { margin-top: .4rem; font-size: clamp(1.45rem, 3vw, 2.2rem); font-weight: 950; letter-spacing: -.035em; color: var(--btl-ink); }
.section-heading > a { display: inline-flex; align-items: center; gap: .4rem; color: var(--btl-primary-deep); font-size: .86rem; font-weight: 900; }
.section-heading.compact { margin-bottom: 1.2rem; }
.section-heading.compact h2 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); }
.public-button { display: inline-flex; min-height: 44px; align-items: center; gap: .55rem; border-radius: 15px; padding: .7rem 1.1rem; font-size: .84rem; font-weight: 900; }
.public-button-primary { background: var(--btl-primary); color: var(--btl-ink); box-shadow: 0 12px 28px rgba(16,255,205,.2); }
.public-button-primary:hover { background: #00efc0; transform: translateY(-1px); box-shadow: 0 16px 34px rgba(16,255,205,.3); }
.public-button-ghost { border: 1px solid var(--btl-border); background: white; color: var(--btl-ink); }
.public-button-ghost:hover { border-color: rgba(16,255,205,.8); background: var(--btl-soft); }
.public-input, .public-select { width: 100%; min-height: 46px; border: 1px solid var(--btl-border); border-radius: 14px; background: white; padding: .7rem .9rem; font-size: .82rem; outline: none; }
.public-input:focus, .public-select:focus, .mini-field:focus-within { border-color: var(--btl-primary-strong); box-shadow: 0 0 0 4px rgba(16,255,205,.14); }
.public-topbar { background: var(--btl-ink); color: rgba(255,255,255,.72); }
.public-topbar a, .public-topbar p { display: inline-flex; align-items: center; gap: .35rem; }
.public-topbar a:hover { color: var(--btl-primary); }
.public-header { position: sticky; z-index: 60; top: 0; border-bottom: 1px solid var(--btl-border); background: rgba(255,255,255,.92); backdrop-filter: blur(18px); }
.brand-lockup { display: inline-flex; align-items: center; gap: .7rem; color: var(--btl-ink); }
.brand-lockup > span:last-child { display: grid; }
.brand-lockup strong { font-size: 1.3rem; font-weight: 950; line-height: 1.15; letter-spacing: -.04em; }
.brand-lockup small { margin-top: .16rem; color: #7f8b88; font-size: .62rem; font-weight: 700; }
.brand-mark { position: relative; display: grid; width: 46px; height: 46px; place-items: center; border-radius: 17px; background: var(--btl-primary); color: var(--btl-ink); box-shadow: 0 12px 25px rgba(16,255,205,.25); font-size: 1.35rem; transform: rotate(-3deg); }
.brand-spark { position: absolute; top: -5px; left: -4px; color: var(--btl-rose); font-size: .7rem; }
.public-nav-link { display: inline-flex; min-height: 42px; align-items: center; gap: .35rem; border-radius: 13px; padding-inline: .85rem; color: #394441; font-size: .82rem; font-weight: 800; }
.public-nav-link:hover { background: var(--btl-soft); color: var(--btl-primary-deep); }
.mega-menu { position: absolute; top: calc(100% + 14px); right: 0; width: 390px; border: 1px solid var(--btl-border); border-radius: 25px; background: white; padding: 1rem; box-shadow: var(--btl-shadow); }
.mega-menu-item { display: flex; align-items: center; gap: .7rem; border-radius: 15px; padding: .7rem; color: #394441; font-size: .8rem; font-weight: 800; }
.mega-menu-item > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--btl-soft); color: var(--btl-primary-deep); }
.mega-menu-item:hover { background: #f7fbfa; color: var(--btl-primary-deep); }
.header-search-button, .mobile-menu-button { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--btl-border); border-radius: 15px; background: white; font-size: 1.2rem; }
.header-search-button:hover, .mobile-menu-button:hover { border-color: var(--btl-primary); background: var(--btl-soft); }
.header-profile { display: flex; min-height: 48px; align-items: center; gap: .65rem; border: 1px solid var(--btl-border); border-radius: 16px; background: white; padding: .35rem .5rem .35rem .75rem; }
.header-profile strong, .header-profile small { display: block; max-width: 125px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.header-profile strong { font-size: .75rem; }
.header-profile small { margin-top: .1rem; color: #8b9492; font-size: .62rem; }
.header-avatar { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 12px; background: var(--btl-soft); color: var(--btl-primary-deep); }
.profile-menu { position: absolute; top: calc(100% + 10px); left: 0; width: 190px; border: 1px solid var(--btl-border); border-radius: 18px; background: white; padding: .5rem; box-shadow: var(--btl-shadow); }
.profile-menu a, .profile-menu button { display: flex; width: 100%; align-items: center; gap: .55rem; border-radius: 12px; padding: .7rem; color: #47514f; font-size: .78rem; font-weight: 800; }
.profile-menu a:hover, .profile-menu button:hover { background: var(--btl-soft); color: var(--btl-primary-deep); }
.mobile-menu-panel { border-top: 1px solid var(--btl-border); background: white; box-shadow: 0 20px 40px rgba(7,27,25,.08); }
.mobile-menu-panel > div > a { display: flex; align-items: center; gap: .65rem; border-radius: 14px; padding: .78rem; color: #394441; font-size: .86rem; font-weight: 800; }
.mobile-menu-panel > div > a:hover { background: var(--btl-soft); }
.public-footer { margin-top: 5rem; background: var(--btl-ink); color: white; }
.footer-cta { transform: translateY(-42px); display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-radius: 30px; background: linear-gradient(120deg, #087f6b, #0b5e52); padding: 2rem; box-shadow: 0 25px 60px rgba(7,27,25,.28); }
.footer-cta h2 { margin-top: .45rem; max-width: 720px; font-size: clamp(1.35rem, 3vw, 2rem); font-weight: 950; }
.footer-cta p { margin-top: .5rem; max-width: 720px; color: rgba(255,255,255,.65); font-size: .85rem; line-height: 1.8; }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, .7fr); gap: 2.5rem; padding: 1rem 0 3rem; }
.footer-grid section:not(:first-child) { display: grid; align-content: start; gap: .72rem; }
.footer-grid h3 { margin-bottom: .3rem; font-size: .86rem; font-weight: 900; color: white; }
.footer-grid section:not(:first-child) a { color: rgba(255,255,255,.58); font-size: .78rem; }
.footer-grid section:not(:first-child) a:hover { color: var(--btl-primary); }
.footer-social { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; color: white; }
.footer-social:hover { border-color: var(--btl-primary); background: var(--btl-primary); color: var(--btl-ink); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255,255,255,.08); padding-block: 1.2rem; color: rgba(255,255,255,.4); font-size: .7rem; }
.public-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; color: #7b8583; font-size: .72rem; font-weight: 700; }
.public-breadcrumb a:hover { color: var(--btl-primary-deep); }
.public-breadcrumb.light { color: rgba(255,255,255,.55); }
.public-breadcrumb.light a:hover { color: var(--btl-primary); }
.catalog-hero { padding: 2.8rem 0 3rem; background: linear-gradient(135deg, #ecfffa, #fff 70%); border-bottom: 1px solid rgba(16,255,205,.16); }
.catalog-hero.compact { padding-block: 2.2rem; }
.catalog-hero.city { background: radial-gradient(circle at 80% 20%, rgba(16,255,205,.24), transparent 28%), linear-gradient(135deg, #f2fffc, white); }
.catalog-hero-grid { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: 1.25rem; }
.catalog-hero h1 { margin-top: .45rem; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 950; letter-spacing: -.055em; }
.catalog-hero p { margin-top: .7rem; max-width: 720px; color: #65706e; font-size: .92rem; line-height: 1.95; }
.hero-stat-pills { display: flex; flex-wrap: wrap; justify-content: end; gap: .55rem; }
.hero-stat-pills span { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--btl-border); border-radius: 999px; background: white; padding: .65rem .9rem; color: #5f6967; font-size: .73rem; font-weight: 800; }
.hero-stat-pills strong { color: var(--btl-ink); }
.city-pin-visual { display: grid; width: 130px; height: 130px; flex: 0 0 auto; place-items: center; border-radius: 40px; background: var(--btl-primary); color: var(--btl-ink); font-size: 4.2rem; transform: rotate(-5deg); box-shadow: 0 25px 50px rgba(16,255,205,.26); }
.category-hero { position: relative; overflow: hidden; background: var(--btl-ink); padding: 2rem 0 2.6rem; color: white; }
.category-hero-decoration { position: absolute; border: 1px solid rgba(16,255,205,.18); border-radius: 50%; }
.category-hero-decoration.one { width: 420px; height: 420px; top: -250px; left: -100px; }
.category-hero-decoration.two { width: 250px; height: 250px; right: -120px; bottom: -150px; background: rgba(16,255,205,.05); }
.category-hero-content { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; margin-top: 1.8rem; }
.category-hero-icon { display: grid; width: 82px; height: 82px; place-items: center; border-radius: 27px; background: var(--btl-primary); color: var(--btl-ink); transform: rotate(-4deg); }
.category-hero h1 { font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 950; letter-spacing: -.05em; }
.category-hero p { margin-top: .55rem; max-width: 720px; color: rgba(255,255,255,.62); font-size: .88rem; line-height: 1.9; }
.category-hero-count { display: grid; min-width: 150px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(255,255,255,.06); padding: 1rem; text-align: center; }
.category-hero-count strong { color: var(--btl-primary); font-size: 1.7rem; font-weight: 950; }
.category-hero-count span { color: rgba(255,255,255,.5); font-size: .7rem; }
.category-child-row { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.8rem; }
.category-child-row a { display: inline-flex; align-items: center; gap: .45rem; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.06); padding: .6rem .85rem; color: rgba(255,255,255,.78); font-size: .73rem; font-weight: 800; }
.category-child-row a:hover { border-color: var(--btl-primary); color: var(--btl-primary); }
.catalog-layout { display: grid; grid-template-columns: 285px minmax(0,1fr); gap: 1.5rem; align-items: start; }
.catalog-filter-sidebar { position: sticky; top: 105px; }
.catalog-filter-form { border: 1px solid var(--btl-border); border-radius: 25px; background: white; padding: 1rem; box-shadow: 0 18px 45px rgba(7,27,25,.05); }
.filter-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--btl-border); padding: .25rem .2rem 1rem; }
.filter-sidebar-head h2 { margin-top: .25rem; font-size: 1.08rem; font-weight: 950; }
.filter-sidebar-head > a { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 12px; background: #f5f8f7; color: #76817e; }
.filter-section { border-bottom: 1px solid var(--btl-border); padding-block: 1rem; }
.filter-section h3 { display: flex; align-items: center; gap: .45rem; margin-bottom: .75rem; color: #34403d; font-size: .78rem; font-weight: 900; }
.filter-section h3 small { color: #9aa29f; font-size: .63rem; font-weight: 600; }
.filter-search-field { position: relative; display: flex; align-items: center; }
.filter-search-field input { width: 100%; min-height: 44px; border: 1px solid var(--btl-border); border-radius: 14px; background: #f9fbfa; padding: .65rem 2.35rem .65rem .75rem; font-size: .78rem; outline: none; }
.filter-search-field i { position: absolute; right: .8rem; color: #86908e; }
.mini-field { display: flex; min-height: 44px; align-items: center; gap: .45rem; border: 1px solid var(--btl-border); border-radius: 13px; padding-inline: .65rem; }
.mini-field span { color: #9aa29f; font-size: .65rem; }
.mini-field input { min-width: 0; width: 100%; background: transparent; font-size: .73rem; outline: none; }
.filter-check-list { display: grid; gap: .3rem; }
.filter-check-list.compact { max-height: 190px; overflow-y: auto; padding-left: .2rem; }
.filter-check-row { display: flex; min-height: 39px; cursor: pointer; align-items: center; gap: .55rem; border-radius: 11px; padding: .3rem .4rem; color: #52605d; font-size: .74rem; font-weight: 700; }
.filter-check-row:hover { background: #f7fbfa; }
.filter-check-row input { width: 17px; height: 17px; accent-color: var(--btl-primary-strong); }
.filter-check-icon { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 9px; background: var(--btl-soft); color: var(--btl-primary-deep); }
.filter-chip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.filter-choice-card { display: flex; align-items: center; gap: .4rem; border: 1px solid var(--btl-border); border-radius: 12px; padding: .55rem; color: #52605d; font-size: .68rem; font-weight: 800; }
.filter-choice-card span { color: var(--btl-primary-deep); }
.filter-choice-card:hover { border-color: var(--btl-primary); background: var(--btl-soft); }
.filter-segmented { display: grid; grid-template-columns: repeat(3,1fr); gap: .3rem; border-radius: 13px; background: #f4f7f6; padding: .25rem; }
.filter-segmented input { display: none; }
.filter-segmented span { display: grid; min-height: 34px; cursor: pointer; place-items: center; border-radius: 10px; color: #78827f; font-size: .68rem; font-weight: 800; }
.filter-segmented input:checked + span { background: white; color: var(--btl-primary-deep); box-shadow: 0 5px 16px rgba(7,27,25,.08); }
.special-toggle { display: flex; cursor: pointer; align-items: center; gap: .6rem; margin-top: .65rem; border-radius: 14px; background: #fff9e8; padding: .65rem; color: #88610b; font-size: .72rem; }
.special-toggle input { width: 17px; height: 17px; accent-color: #f2b42f; }
.special-toggle > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 10px; background: #ffe39c; }
.filter-empty-note { display: flex; gap: .45rem; margin-block: .75rem; border-radius: 12px; background: #f7f9f8; padding: .7rem; color: #8b9492; font-size: .68rem; line-height: 1.7; }
.catalog-results-inner.htmx-swapping { opacity: .45; transform: translateY(5px); }
.catalog-results-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; }
.catalog-results-head h2 { margin-top: .3rem; font-size: 1.25rem; font-weight: 950; }
.sort-control { display: flex; align-items: center; gap: .55rem; color: #7b8582; font-size: .7rem; font-weight: 800; }
.sort-control select { min-height: 40px; border: 1px solid var(--btl-border); border-radius: 12px; background: white; padding-inline: .65rem; color: #34403d; outline: none; }
.applied-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: 1rem; }
.applied-filter-chip { border-radius: 999px; background: var(--btl-soft); padding: .42rem .65rem; color: var(--btl-primary-deep); font-size: .66rem; font-weight: 800; }
.clear-filter-link { margin-right: auto; color: #da526b; font-size: .68rem; font-weight: 800; }
.service-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.service-card { overflow: hidden; border: 1px solid var(--btl-border); border-radius: 23px; background: white; box-shadow: 0 12px 30px rgba(7,27,25,.045); }
.service-card:hover { transform: translateY(-4px); border-color: rgba(16,255,205,.65); box-shadow: 0 22px 50px rgba(7,27,25,.1); }
.service-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 4/3; background: #edf2f0; }
.service-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.service-card:hover .service-card-media img { transform: scale(1.055); }
.service-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(7,27,25,.5)); }
.service-badge, .service-card-category { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: .3rem; border-radius: 999px; backdrop-filter: blur(8px); font-size: .62rem; font-weight: 900; }
.service-badge { top: .7rem; right: .7rem; background: #fff2bd; padding: .42rem .6rem; color: #7a5500; }
.service-card-category { right: .7rem; bottom: .7rem; background: rgba(7,27,25,.65); padding: .36rem .58rem; color: white; }
.service-card-favorite { position: absolute; z-index: 2; top: .7rem; left: .7rem; display: grid; width: 37px; height: 37px; place-items: center; border-radius: 13px; background: rgba(255,255,255,.9); color: #4c5754; font-size: 1.05rem; }
.service-card-favorite:hover { color: #e04b70; transform: scale(1.05); }
.service-card-body { padding: 1rem; }
.service-card h3 { overflow: hidden; color: var(--btl-ink); font-size: .96rem; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.service-card-location { display: flex; align-items: center; gap: .3rem; margin-top: .35rem; color: #87908e; font-size: .68rem; }
.service-card-rating { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .25rem; border-radius: 10px; background: #fff8df; padding: .35rem .45rem; color: #a36f00; font-size: .68rem; font-weight: 900; }
.service-card-description { min-height: 42px; margin-top: .7rem; color: #737d7a; font-size: .7rem; line-height: 1.8; }
.service-card-features { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .7rem; }
.service-card-features span { display: inline-flex; align-items: center; gap: .2rem; border-radius: 999px; background: #f3f8f6; padding: .28rem .45rem; color: #66716e; font-size: .59rem; font-weight: 700; }
.service-card-footer { display: flex; align-items: end; justify-content: space-between; gap: .7rem; margin-top: .9rem; border-top: 1px solid var(--btl-border); padding-top: .8rem; }
.service-card-footer small { display: block; color: #9aa29f; font-size: .58rem; }
.service-card-footer strong { display: block; margin-top: .15rem; color: var(--btl-primary-deep); font-size: .78rem; font-weight: 950; }
.service-card-footer strong em { color: #8c9693; font-size: .58rem; font-style: normal; font-weight: 700; }
.service-card-action { display: inline-flex; align-items: center; gap: .25rem; color: #34403d; font-size: .68rem; font-weight: 900; }
.service-card-action:hover { color: var(--btl-primary-deep); }
.public-pagination { display: flex; align-items: center; justify-content: center; gap: .35rem; margin-top: 2rem; }
.public-pagination a, .public-pagination span { display: grid; min-width: 40px; height: 40px; place-items: center; border: 1px solid var(--btl-border); border-radius: 12px; background: white; color: #65706d; font-size: .72rem; font-weight: 900; }
.public-pagination .active { border-color: var(--btl-primary); background: var(--btl-primary); color: var(--btl-ink); }
.public-pagination small { margin-inline: .25rem; color: #929a98; }
.catalog-empty-state { display: grid; min-height: 380px; place-items: center; align-content: center; border: 1px dashed rgba(7,27,25,.18); border-radius: 25px; background: white; padding: 2rem; text-align: center; }
.catalog-empty-state > span { display: grid; width: 80px; height: 80px; place-items: center; border-radius: 27px; background: var(--btl-soft); color: var(--btl-primary-deep); font-size: 2.5rem; }
.catalog-empty-state h3 { margin-top: 1rem; font-size: 1.15rem; font-weight: 950; }
.catalog-empty-state p { margin: .45rem 0 1rem; color: #7a8582; font-size: .78rem; }
.mobile-filter-trigger { position: sticky; z-index: 20; top: 92px; width: 100%; align-items: center; justify-content: center; gap: .5rem; border: 1px solid var(--btl-border); border-radius: 15px; background: white; padding: .75rem; font-size: .8rem; font-weight: 900; box-shadow: 0 10px 30px rgba(7,27,25,.08); }
.mobile-filter-trigger span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--btl-primary); font-size: .62rem; }
.mobile-filter-overlay { position: fixed; z-index: 100; inset: 0; }
.mobile-filter-sheet { position: absolute; right: 0; bottom: 0; left: 0; max-height: 92vh; overflow: hidden; border-radius: 28px 28px 0 0; background: white; }
.mobile-filter-head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--btl-border); padding: 1rem 1.2rem; }
.mobile-filter-head strong { font-size: .95rem; font-weight: 950; }
.mobile-filter-head button { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: #f3f6f5; }
.mobile-filter-actions { position: fixed; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1.5fr; gap: .6rem; border-top: 1px solid var(--btl-border); background: white; padding: .8rem 1rem calc(.8rem + env(safe-area-inset-bottom)); box-shadow: 0 -12px 30px rgba(7,27,25,.08); }
.seo-copy-card { display: flex; align-items: flex-start; gap: 1rem; border: 1px solid rgba(16,255,205,.24); border-radius: 25px; background: linear-gradient(135deg,#f0fffb,#fff); padding: 1.5rem; }
.seo-copy-icon { display: grid; width: 60px; height: 60px; flex: 0 0 auto; place-items: center; border-radius: 20px; background: var(--btl-primary); color: var(--btl-ink); }
.seo-copy-card h2 { font-size: 1.05rem; font-weight: 950; }
.seo-copy-card p { margin-top: .5rem; color: #6d7875; font-size: .76rem; line-height: 2; }
.services-index-hero { position: relative; overflow: hidden; padding: 4.5rem 0; background: radial-gradient(circle at 15% 20%, rgba(255,127,157,.13), transparent 25%), radial-gradient(circle at 80% 20%, rgba(16,255,205,.23), transparent 28%), linear-gradient(135deg,#f1fffb,#fff); }
.services-index-hero h1 { margin-top: .55rem; max-width: 760px; font-size: clamp(2.3rem,6vw,4.4rem); font-weight: 950; line-height: 1.18; letter-spacing: -.065em; }
.services-index-hero p { margin-top: 1rem; max-width: 700px; color: #65706e; font-size: .95rem; line-height: 2; }
.hero-search-box { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; max-width: 720px; margin-top: 1.7rem; border: 1px solid var(--btl-border); border-radius: 20px; background: white; padding: .45rem .65rem; box-shadow: 0 20px 45px rgba(7,27,25,.08); }
.hero-search-box > i { color: #8a9491; font-size: 1.25rem; }
.hero-search-box input { min-width: 0; min-height: 46px; outline: none; font-size: .84rem; }
.hero-search-box button { min-height: 44px; border-radius: 14px; background: var(--btl-primary); padding-inline: 1.15rem; color: var(--btl-ink); font-size: .78rem; font-weight: 900; }
.celebration-visual { position: relative; display: grid; aspect-ratio: 1; max-width: 390px; place-items: center; justify-self: center; border-radius: 44% 56% 50% 50% / 52% 44% 56% 48%; background: var(--btl-ink); color: var(--btl-primary); box-shadow: 0 40px 90px rgba(7,27,25,.2); }
.celebration-visual > i { font-size: 8rem; }
.celebration-visual small { position: absolute; bottom: 2.1rem; right: 2rem; color: white; font-size: .8rem; font-weight: 800; line-height: 1.7; }
.celebration-visual .ring { position: absolute; border: 1px solid rgba(16,255,205,.25); border-radius: 50%; }
.celebration-visual .ring-one { width: 110%; height: 110%; }
.celebration-visual .ring-two { width: 125%; height: 125%; border-color: rgba(255,127,157,.18); }
.category-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.category-service-card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: .85rem; overflow: hidden; border: 1px solid var(--btl-border); border-radius: 23px; background: white; padding: 1rem; }
.category-service-card:hover { border-color: var(--btl-primary); transform: translateY(-3px); box-shadow: var(--btl-shadow); }
.category-service-icon { display: grid; width: 60px; height: 60px; place-items: center; border-radius: 20px; background: var(--btl-soft); color: var(--btl-primary-deep); }
.category-service-card h3 { font-size: .92rem; font-weight: 950; }
.category-service-card p { margin-top: .3rem; color: #79827f; font-size: .67rem; line-height: 1.75; }
.category-service-card > div > span { display: inline-block; margin-top: .5rem; color: var(--btl-primary-deep); font-size: .65rem; font-weight: 900; }
.category-service-children { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: .35rem; border-top: 1px solid var(--btl-border); padding-top: .7rem; }
.category-service-children a { border-radius: 999px; background: #f5f8f7; padding: .32rem .5rem; color: #66716e; font-size: .6rem; font-weight: 700; }
.category-service-arrow { position: absolute; top: .9rem; left: .9rem; color: #9ca4a2; }
.city-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; }
.city-card-grid > a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .65rem; border: 1px solid var(--btl-border); border-radius: 18px; background: white; padding: .85rem; }
.city-card-grid > a:hover { border-color: var(--btl-primary); background: var(--btl-soft); }
.city-card-grid > a > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 14px; background: var(--btl-soft); color: var(--btl-primary-deep); font-size: 1.35rem; }
.city-card-grid strong { display: block; font-size: .8rem; font-weight: 900; }
.city-card-grid small { grid-column: 2; color: #919a97; font-size: .61rem; }
.blog-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.blog-card { overflow: hidden; border: 1px solid var(--btl-border); border-radius: 22px; background: white; box-shadow: 0 12px 30px rgba(7,27,25,.04); }
.blog-card:hover { transform: translateY(-4px); border-color: rgba(16,255,205,.65); box-shadow: 0 24px 50px rgba(7,27,25,.1); }
.blog-card-media { position: relative; display: block; overflow: hidden; aspect-ratio: 16/10; background: #eef4f2; }
.blog-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.blog-card:hover .blog-card-media img { transform: scale(1.05); }
.blog-card-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: #a5afac; font-size: 3rem; }
.blog-featured-badge { position: absolute; top: .7rem; right: .7rem; display: inline-flex; align-items: center; gap: .3rem; border-radius: 999px; background: #fff2bd; padding: .4rem .55rem; color: #805900; font-size: .6rem; font-weight: 900; }
.blog-card-body { padding: 1rem; }
.blog-card-meta { display: flex; align-items: center; gap: .35rem; color: #87918e; font-size: .61rem; }
.blog-card-meta a { color: var(--btl-primary-deep); font-weight: 900; }
.blog-card h3 { margin-top: .55rem; color: var(--btl-ink); font-size: .9rem; font-weight: 950; line-height: 1.75; }
.blog-card-body > p { min-height: 54px; margin-top: .5rem; color: #77817e; font-size: .68rem; line-height: 1.9; }
.blog-card-footer { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .8rem; border-top: 1px solid var(--btl-border); padding-top: .7rem; color: #929b98; font-size: .6rem; }
.blog-card-footer span, .blog-card-footer a { display: inline-flex; align-items: center; gap: .3rem; }
.blog-card-footer a { color: var(--btl-primary-deep); font-weight: 900; }
.service-profile-page { background: #fbfdfc; }
.service-profile-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; }
.service-profile-header h1 { margin-top: .7rem; font-size: clamp(1.8rem,4vw,3rem); font-weight: 950; letter-spacing: -.05em; }
.service-profile-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: .65rem; color: #707a77; font-size: .75rem; }
.service-profile-meta span { display: inline-flex; align-items: center; gap: .3rem; }
.service-profile-meta .rating { color: #a16f00; font-weight: 900; }
.service-profile-meta .rating small { color: #8e9794; font-weight: 600; }
.premium-pill, .verified-pill { display: inline-flex; align-items: center; gap: .3rem; border-radius: 999px; padding: .4rem .65rem; font-size: .63rem; font-weight: 900; }
.premium-pill { background: #fff2bd; color: #7c5700; }
.verified-pill { background: var(--btl-soft); color: var(--btl-primary-deep); }
.service-profile-actions { display: flex; gap: .5rem; }
.round-action { display: inline-flex; min-height: 44px; align-items: center; gap: .4rem; border: 1px solid var(--btl-border); border-radius: 15px; background: white; padding-inline: .8rem; color: #4c5754; font-size: .72rem; font-weight: 900; }
.round-action:hover { border-color: var(--btl-primary); background: var(--btl-soft); }
.service-gallery-grid { display: grid; grid-template-columns: 1.5fr .75fr .75fr; grid-template-rows: 170px 170px; gap: .5rem; overflow: hidden; margin-top: 1.3rem; border-radius: 27px; }
.service-gallery-item { position: relative; overflow: hidden; background: #edf2f0; }
.service-gallery-item.main { grid-row: 1/3; }
.service-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.service-gallery-item:hover img { transform: scale(1.04); }
.gallery-more { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(7,27,25,.6); color: white; font-size: .82rem; font-weight: 900; }
.gallery-empty { grid-column: 1/-1; grid-row: 1/3; display: grid; place-items: center; align-content: center; background: #edf2f0; color: #95a09d; }
.gallery-empty i { font-size: 4rem; }
.gallery-empty p { margin-top: .5rem; font-size: .75rem; }
.service-content-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 1.8rem; align-items: start; }
.service-anchor-nav { position: sticky; z-index: 20; top: 92px; display: flex; gap: .3rem; overflow-x: auto; border: 1px solid var(--btl-border); border-radius: 17px; background: rgba(255,255,255,.94); padding: .35rem; backdrop-filter: blur(12px); }
.service-anchor-nav a { flex: 0 0 auto; border-radius: 12px; padding: .6rem .8rem; color: #687370; font-size: .7rem; font-weight: 900; }
.service-anchor-nav a:hover { background: var(--btl-soft); color: var(--btl-primary-deep); }
.service-content-section { scroll-margin-top: 150px; margin-top: 1.2rem; border: 1px solid var(--btl-border); border-radius: 25px; background: white; padding: 1.4rem; }
.service-content-section.first { margin-top: .9rem; }
.service-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; }
.service-summary-card { display: grid; align-content: start; border-radius: 17px; background: #f7fbfa; padding: .9rem; }
.service-summary-card > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; background: var(--btl-soft); color: var(--btl-primary-deep); font-size: 1.3rem; }
.service-summary-card small { margin-top: .65rem; color: #929b98; font-size: .6rem; }
.service-summary-card strong { margin-top: .18rem; font-size: .76rem; font-weight: 900; }
.service-summary-card em { margin-top: .1rem; color: #7a8481; font-size: .61rem; font-style: normal; }
.service-description { margin-top: 1.2rem; color: #5f6a67; font-size: .81rem; line-height: 2.2; }
.specification-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.specification-row { display: flex; align-items: center; gap: .7rem; border-bottom: 1px dashed rgba(7,27,25,.1); padding: .75rem .2rem; }
.specification-row > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--btl-soft); color: var(--btl-primary-deep); }
.specification-row small { display: block; color: #929b98; font-size: .62rem; }
.specification-row strong { display: block; margin-top: .15rem; color: #34403d; font-size: .76rem; font-weight: 900; }
.public-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; }
.public-feature-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .65rem; border: 1px solid var(--btl-border); border-radius: 16px; padding: .75rem; }
.public-feature-item > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: var(--btl-soft); color: var(--btl-primary-deep); }
.public-feature-item strong { display: block; font-size: .72rem; font-weight: 900; }
.public-feature-item small { display: block; margin-top: .15rem; color: #89928f; font-size: .6rem; }
.public-feature-item > i { color: var(--btl-primary-strong); }
.section-empty { display: flex; grid-column: 1/-1; align-items: center; gap: .5rem; border-radius: 15px; background: #f7f9f8; padding: 1rem; color: #87918e; font-size: .73rem; }
.contact-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.contact-action-grid > a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .65rem; border: 1px solid var(--btl-border); border-radius: 17px; padding: .8rem; }
.contact-action-grid > a:hover { border-color: var(--btl-primary); background: var(--btl-soft); }
.contact-action-grid > a > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 14px; background: #f1f7f5; color: var(--btl-primary-deep); font-size: 1.35rem; }
.contact-action-grid small, .address-card small { display: block; color: #939c99; font-size: .6rem; }
.contact-action-grid strong, .address-card strong { display: block; margin-top: .2rem; font-size: .73rem; font-weight: 900; }
.address-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; margin-top: .7rem; border-radius: 18px; background: #f7fbfa; padding: .9rem; }
.address-card > span { display: grid; width: 45px; height: 45px; place-items: center; border-radius: 14px; background: var(--btl-primary); font-size: 1.4rem; }
.address-card > a { color: var(--btl-primary-deep); font-size: .68rem; font-weight: 900; }
.terms-card { border-radius: 18px; background: #f8faf9; padding: 1rem; color: #65706d; font-size: .76rem; line-height: 2.1; }
.reviews-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.reviews-heading h2 { margin-top: .35rem; font-size: 1.4rem; font-weight: 950; }
.review-score { display: grid; grid-template-columns: auto auto; align-items: center; gap: .3rem; color: #a47300; }
.review-score strong { font-size: 1.45rem; }
.review-score small { grid-column: 1/-1; color: #919a97; font-size: .58rem; }
.review-list { display: grid; gap: .65rem; margin-top: 1rem; }
.review-card { border: 1px solid var(--btl-border); border-radius: 18px; padding: 1rem; }
.review-card header { display: flex; align-items: center; gap: .6rem; }
.review-avatar { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 13px; background: var(--btl-soft); color: var(--btl-primary-deep); }
.review-card header strong { display: block; font-size: .72rem; }
.review-card header small { display: block; color: #98a09e; font-size: .57rem; }
.review-stars { margin-right: auto; color: #ad7900; font-size: .7rem; font-weight: 900; }
.review-card > p { margin-top: .75rem; color: #606b68; font-size: .74rem; line-height: 2; }
.vendor-reply { margin-top: .75rem; border-radius: 14px; background: var(--btl-soft); padding: .75rem; }
.vendor-reply strong { color: var(--btl-primary-deep); font-size: .67rem; }
.vendor-reply p { margin-top: .35rem; color: #5b6865; font-size: .68rem; line-height: 1.9; }
.review-form { display: grid; gap: .8rem; margin-top: 1rem; border-radius: 20px; background: #f7fbfa; padding: 1rem; }
.review-form h3 { margin-top: .25rem; font-size: 1rem; font-weight: 950; }
.review-form input:not([type=checkbox]), .review-form select, .review-form textarea, .booking-form input, .booking-form select, .booking-form textarea { width: 100%; min-height: 46px; border: 1px solid var(--btl-border); border-radius: 14px; background: white; padding: .7rem .8rem; font-size: .75rem; outline: none; }
.review-form textarea, .booking-form textarea { min-height: 100px; resize: vertical; }
.consent-row { display: flex; align-items: center; gap: .45rem; color: #7a8582; font-size: .65rem; }
.service-sticky-sidebar { position: sticky; top: 105px; }
.booking-card { border: 1px solid rgba(16,255,205,.35); border-radius: 25px; background: white; padding: 1.1rem; box-shadow: var(--btl-shadow); }
.booking-card-price small { color: #929b98; font-size: .63rem; }
.booking-card-price strong { display: inline-block; margin-top: .25rem; color: var(--btl-primary-deep); font-size: 1.15rem; font-weight: 950; }
.booking-card-price span { color: #87918e; font-size: .65rem; }
.booking-card-price p { margin-top: .4rem; color: #8a9491; font-size: .63rem; line-height: 1.75; }
.booking-divider { height: 1px; margin-block: 1rem; background: var(--btl-border); }
.booking-card h3 { margin-top: .25rem; font-size: .95rem; font-weight: 950; }
.booking-card > div > p { margin-top: .35rem; color: #87918e; font-size: .64rem; line-height: 1.75; }
.booking-form { display: grid; gap: .55rem; margin-top: .8rem; }
.booking-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: .8rem; color: #788380; font-size: .58rem; }
.booking-trust span { display: inline-flex; align-items: center; gap: .25rem; }
.gallery-lightbox { position: fixed; z-index: 150; inset: 0; background: rgba(0,0,0,.94); color: white; }
.lightbox-stage { display: grid; width: 100%; height: 100%; place-items: center; }
.lightbox-stage img { max-width: 90vw; max-height: 86vh; border-radius: 18px; object-fit: contain; }
.lightbox-stage span { position: absolute; bottom: 1.5rem; border-radius: 999px; background: rgba(255,255,255,.12); padding: .45rem .75rem; font-size: .7rem; }
.lightbox-close, .lightbox-prev, .lightbox-next { position: absolute; z-index: 2; display: grid; width: 45px; height: 45px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.12); font-size: 1.2rem; }
.lightbox-close { top: 1rem; left: 1rem; }
.lightbox-prev { top: 50%; right: 1rem; }
.lightbox-next { top: 50%; left: 1rem; }
.blog-archive-hero { padding: 4rem 0; background: radial-gradient(circle at 15% 20%,rgba(255,127,157,.16),transparent 25%), radial-gradient(circle at 82% 35%,rgba(16,255,205,.25),transparent 30%), linear-gradient(135deg,#f4fffc,#fff); }
.blog-archive-hero h1 { margin-top: .5rem; font-size: clamp(2.2rem,6vw,4rem); font-weight: 950; letter-spacing: -.06em; }
.blog-archive-hero p { margin-top: .8rem; max-width: 700px; color: #67726f; line-height: 2; }
.hero-search-box.blog { max-width: 600px; }
.blog-hero-visual { display: flex; align-items: center; gap: 1rem; border: 1px solid rgba(16,255,205,.28); border-radius: 30px; background: rgba(255,255,255,.7); padding: 1.3rem; box-shadow: var(--btl-shadow); backdrop-filter: blur(12px); }
.blog-hero-visual > span { display: grid; width: 110px; height: 110px; place-items: center; border-radius: 30px; background: var(--btl-primary); color: var(--btl-ink); font-size: 4rem; transform: rotate(-4deg); }
.blog-hero-visual strong { display: block; font-size: 1rem; font-weight: 950; }
.blog-hero-visual small { display: block; margin-top: .35rem; color: #7d8784; font-size: .7rem; line-height: 1.8; }
.blog-category-tabs { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .5rem; }
.blog-category-tabs a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .35rem; border: 1px solid var(--btl-border); border-radius: 999px; background: white; padding: .58rem .8rem; color: #687370; font-size: .7rem; font-weight: 800; }
.blog-category-tabs a span { color: #a0a8a5; }
.blog-category-tabs a.active, .blog-category-tabs a:hover { border-color: var(--btl-primary); background: var(--btl-primary); color: var(--btl-ink); }
.blog-archive-layout { display: grid; grid-template-columns: minmax(0,1fr) 275px; gap: 1.5rem; margin-top: 1.7rem; align-items: start; }
.blog-archive-layout .blog-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.archive-count { display: inline-flex; border-radius: 999px; background: var(--btl-soft); padding: .5rem .75rem; color: var(--btl-primary-deep); font-size: .68rem; font-weight: 900; }
.blog-sidebar { position: sticky; top: 105px; display: grid; gap: .8rem; }
.blog-sidebar > section, .author-card { border: 1px solid var(--btl-border); border-radius: 21px; background: white; padding: 1rem; }
.blog-sidebar h3 { display: flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 950; }
.tag-cloud { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .75rem; }
.tag-cloud a, .article-tags a { border-radius: 999px; background: #f4f7f6; padding: .35rem .55rem; color: #687370; font-size: .62rem; font-weight: 700; }
.tag-cloud a.active, .tag-cloud a:hover, .article-tags a:hover { background: var(--btl-soft); color: var(--btl-primary-deep); }
.newsletter-mini { text-align: center; background: var(--btl-ink) !important; color: white; }
.newsletter-mini > i { color: var(--btl-primary); font-size: 2.5rem; }
.newsletter-mini h3 { display: block; margin-top: .6rem; }
.newsletter-mini p { margin: .45rem 0 .8rem; color: rgba(255,255,255,.55); font-size: .66rem; line-height: 1.8; }
.blog-detail-header { max-width: 980px; padding-top: 2.5rem; text-align: center; }
.article-category-pill { display: inline-flex; border-radius: 999px; background: var(--btl-soft); padding: .5rem .8rem; color: var(--btl-primary-deep); font-size: .7rem; font-weight: 900; }
.blog-detail-header h1 { margin-top: 1rem; font-size: clamp(2rem,6vw,4.2rem); font-weight: 950; line-height: 1.35; letter-spacing: -.06em; }
.blog-detail-header > p { max-width: 800px; margin: 1rem auto 0; color: #697471; font-size: .95rem; line-height: 2; }
.article-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; margin-top: 1.2rem; color: #7f8986; font-size: .68rem; }
.article-meta span { display: inline-flex; align-items: center; gap: .3rem; }
.article-share { display: flex; justify-content: center; gap: .4rem; margin-top: 1rem; }
.article-share button, .article-share a { display: inline-flex; min-height: 40px; align-items: center; gap: .35rem; border: 1px solid var(--btl-border); border-radius: 13px; background: white; padding-inline: .75rem; color: #5d6865; font-size: .67rem; font-weight: 800; }
.article-cover { overflow: hidden; margin-top: 2rem; border-radius: 30px; background: #eef3f1; box-shadow: var(--btl-shadow); }
.article-cover img { width: 100%; aspect-ratio: 16/8.5; object-fit: cover; }
.article-cover figcaption { padding: .7rem 1rem; color: #8a9491; font-size: .62rem; }
.blog-detail-layout { display: grid; grid-template-columns: 210px minmax(0,1fr) 240px; gap: 1.5rem; align-items: start; padding-top: 2rem; }
.article-toc, .blog-detail-sidebar { position: sticky; top: 105px; }
.article-toc > div { border: 1px solid var(--btl-border); border-radius: 20px; background: white; padding: 1rem; }
.article-toc h2 { margin-top: .3rem; font-size: .85rem; font-weight: 950; }
.article-toc nav { display: grid; gap: .25rem; margin-top: .8rem; }
.article-toc a { border-right: 2px solid #e8eeec; padding: .4rem .55rem; color: #78827f; font-size: .65rem; line-height: 1.6; }
.article-toc a.level-3 { padding-right: 1.1rem; font-size: .6rem; }
.article-toc a:hover, .article-toc a.active { border-color: var(--btl-primary); color: var(--btl-primary-deep); }
.blog-prose { color: #394541; font-size: .87rem; line-height: 2.25; }
.blog-prose h2, .blog-prose h3 { scroll-margin-top: 120px; color: var(--btl-ink); font-weight: 950; line-height: 1.6; }
.blog-prose h2 { margin: 2.2rem 0 .8rem; font-size: 1.55rem; }
.blog-prose h3 { margin: 1.7rem 0 .65rem; font-size: 1.18rem; }
.blog-prose p { margin-block: .8rem; }
.blog-prose ul, .blog-prose ol { margin-block: 1rem; padding-right: 1.4rem; }
.blog-prose li { margin-block: .35rem; }
.blog-prose ul { list-style: disc; }
.blog-prose ol { list-style: decimal; }
.blog-prose blockquote { margin-block: 1.3rem; border-right: 4px solid var(--btl-primary); border-radius: 16px 0 0 16px; background: var(--btl-soft); padding: 1rem 1.2rem; color: #35645b; }
.blog-prose img { max-width: 100%; margin: 1.5rem auto; border-radius: 22px; }
.blog-prose table { width: 100%; margin-block: 1.5rem; border-collapse: collapse; overflow: hidden; border-radius: 16px; font-size: .72rem; }
.blog-prose th, .blog-prose td { border: 1px solid var(--btl-border); padding: .7rem; text-align: right; }
.blog-prose th { background: var(--btl-soft); }
.article-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2rem; border-top: 1px solid var(--btl-border); padding-top: 1rem; }
.related-articles, .article-comments { margin-top: 2.5rem; border-top: 1px solid var(--btl-border); padding-top: 2rem; }
.author-card { text-align: center; }
.author-avatar { display: grid; width: 65px; height: 65px; margin-inline: auto; place-items: center; border-radius: 22px; background: var(--btl-primary); font-size: 1.8rem; }
.author-card small { display: block; margin-top: .7rem; color: #929b98; font-size: .58rem; }
.author-card strong { display: block; margin-top: .2rem; font-size: .78rem; font-weight: 950; }
.author-card p { margin-top: .55rem; color: #78827f; font-size: .63rem; line-height: 1.8; }
.pinned-comment { margin-right: auto; border-radius: 999px; background: #fff2bd; padding: .3rem .5rem; color: #7c5700; font-size: .58rem; font-weight: 900; }
.info-page-hero { padding: 5rem 0; background: radial-gradient(circle at 20% 15%,rgba(255,127,157,.14),transparent 25%),radial-gradient(circle at 80% 25%,rgba(16,255,205,.22),transparent 28%),linear-gradient(135deg,#f1fffb,#fff); text-align: center; }
.info-page-hero.compact { padding-block: 3.5rem; }
.info-page-hero h1 { margin-top: .55rem; font-size: clamp(2rem,6vw,4rem); font-weight: 950; letter-spacing: -.055em; }
.info-page-hero p { max-width: 720px; margin: .8rem auto 0; color: #687370; line-height: 2; }
.story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.story-copy h2 { font-size: 1.8rem; font-weight: 950; }
.story-copy p { margin-top: 1rem; color: #64706d; font-size: .85rem; line-height: 2.15; }
.values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.values-grid article { border: 1px solid var(--btl-border); border-radius: 20px; background: white; padding: 1rem; }
.values-grid i { color: var(--btl-primary-deep); font-size: 2rem; }
.values-grid h3 { margin-top: .65rem; font-size: .85rem; font-weight: 950; }
.values-grid p { margin-top: .3rem; color: #7b8582; font-size: .65rem; line-height: 1.8; }
.stats-showcase { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; border: 1px solid rgba(16,255,205,.2); border-radius: 25px; background: white; }
.stats-showcase div { padding: 1.3rem; text-align: center; }
.stats-showcase div + div { border-right: 1px solid var(--btl-border); }
.stats-showcase strong { display: block; font-size: .92rem; font-weight: 950; }
.stats-showcase span { display: block; margin-top: .35rem; color: #84908c; font-size: .63rem; }
.faq-list { display: grid; gap: .65rem; }
.faq-list article { border: 1px solid var(--btl-border); border-radius: 18px; background: white; }
.faq-list article.active { border-color: rgba(16,255,205,.65); box-shadow: 0 16px 35px rgba(7,27,25,.06); }
.faq-list button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; text-align: right; font-size: .8rem; font-weight: 900; }
.faq-list article.active button i { transform: rotate(45deg); color: var(--btl-primary-deep); }
.faq-list p { padding: 0 1rem 1rem; color: #6d7875; font-size: .74rem; line-height: 2; }
.contact-page-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 1rem; }
.contact-page-cards { display: grid; gap: .7rem; }
.contact-page-cards article { display: flex; align-items: center; gap: .8rem; border: 1px solid var(--btl-border); border-radius: 20px; background: white; padding: 1rem; }
.contact-page-cards article > span { display: grid; width: 58px; height: 58px; flex: 0 0 auto; place-items: center; border-radius: 19px; background: var(--btl-soft); color: var(--btl-primary-deep); font-size: 1.8rem; }
.contact-page-cards small { color: #929b98; font-size: .6rem; }
.contact-page-cards strong { display: block; margin-top: .2rem; font-size: .86rem; font-weight: 950; }
.contact-page-cards p { margin-top: .2rem; color: #828c89; font-size: .63rem; }
.contact-guidance-card { display: grid; align-content: center; border-radius: 25px; background: var(--btl-ink); padding: 1.5rem; color: white; }
.contact-guidance-card > i { color: var(--btl-primary); font-size: 3.5rem; }
.contact-guidance-card h2 { margin-top: .8rem; font-size: 1.35rem; font-weight: 950; }
.contact-guidance-card p { margin: .65rem 0 1rem; color: rgba(255,255,255,.58); font-size: .74rem; line-height: 2; }
.legal-content { max-width: 850px; padding-block: 3rem; color: #5f6a67; font-size: .82rem; line-height: 2.2; }
.legal-content h2 { margin: 2rem 0 .5rem; color: var(--btl-ink); font-size: 1.2rem; font-weight: 950; }
.batalar-ad-slot { position: relative; }
.batalar-ad-card { position: relative; }
.batalar-ad-card a { border-radius: 22px !important; border-color: var(--btl-border) !important; }
.batalar-ad-card img { width: 100%; }
@media (max-width: 1199px) {
  .service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .category-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .blog-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .blog-archive-layout .blog-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .blog-detail-layout { grid-template-columns: minmax(0,1fr) 230px; }
  .article-toc { display: none; }
  .service-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1023px) {
  .footer-cta { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-grid section:last-child { grid-column: 2; }
  .catalog-layout { display: block; }
  .mobile-filter-trigger { display: flex; margin-bottom: 1rem; }
  .service-content-layout { grid-template-columns: 1fr; }
  .service-sticky-sidebar { position: static; }
  .booking-card { max-width: 640px; }
  .blog-archive-layout { grid-template-columns: 1fr; }
  .blog-sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .blog-detail-layout { grid-template-columns: 1fr; }
  .blog-detail-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
  .city-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .container-shell { width: min(100% - 1.25rem,1280px); }
  .public-topbar { display: none; }
  .public-header .container-shell { min-height: 68px; }
  .brand-mark { width: 42px; height: 42px; }
  .brand-lockup strong { font-size: 1.15rem; }
  .footer-cta { transform: translateY(-28px); border-radius: 23px; padding: 1.2rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
  .footer-grid section:first-child { grid-column: 1/-1; }
  .footer-grid section:last-child { grid-column: auto; }
  .footer-bottom { align-items: center; flex-direction: column; text-align: center; }
  .catalog-hero-grid, .service-profile-header, .reviews-heading { align-items: flex-start; flex-direction: column; }
  .hero-stat-pills { justify-content: start; }
  .category-hero-content { grid-template-columns: auto 1fr; }
  .category-hero-count { grid-column: 1/-1; grid-template-columns: auto auto; min-width: 0; align-items: center; justify-content: center; gap: .5rem; }
  .category-hero-count strong { font-size: 1.25rem; }
  .service-card-grid, .category-card-grid, .blog-card-grid, .blog-archive-layout .blog-card-grid { grid-template-columns: 1fr; }
  .city-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .celebration-visual { max-width: 280px; margin-top: 1rem; }
  .celebration-visual > i { font-size: 5.5rem; }
  .service-gallery-grid { grid-template-columns: 1.4fr .8fr; grid-template-rows: 140px 140px; }
  .service-gallery-item:nth-of-type(n+4) { display: none; }
  .service-summary-grid, .specification-grid, .public-feature-grid, .contact-action-grid { grid-template-columns: 1fr; }
  .service-content-section { border-radius: 20px; padding: 1rem; }
  .service-profile-actions { width: 100%; }
  .round-action { flex: 1; justify-content: center; }
  .blog-hero-visual { display: none; }
  .blog-sidebar, .blog-detail-sidebar { grid-template-columns: 1fr; }
  .article-cover { border-radius: 20px; }
  .article-cover img { aspect-ratio: 16/10; }
  .story-grid, .contact-page-grid { grid-template-columns: 1fr; }
  .stats-showcase { grid-template-columns: 1fr 1fr; }
  .stats-showcase div + div { border-right: 0; }
  .stats-showcase div:nth-child(even) { border-right: 1px solid var(--btl-border); }
  .service-description, .blog-prose { font-size: .8rem; }
}
@media (max-width: 479px) {
  .city-card-grid, .values-grid { grid-template-columns: 1fr; }
  .service-gallery-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: 260px 90px; }
  .service-gallery-item.main { grid-row: auto; }
  .service-gallery-item:nth-of-type(2), .service-gallery-item:nth-of-type(3) { display: inline-block; width: calc(50% - 3px); }
  .service-gallery-grid { display: block; }
  .service-gallery-item.main { display: block; height: 260px; }
  .service-gallery-item:not(.main) { height: 90px; margin-top: 5px; }
  .hero-search-box { grid-template-columns: auto 1fr; }
  .hero-search-box button { grid-column: 1/-1; width: 100%; }
}


/* ===== SOURCE: static/css/exact_home_top_026.css ===== */
/* Stage 027 — exact header alignment, palette and rotating category title */
:root {
    --home-white: #FFFFFF;
    --home-service-bg: #EBFBF7;
    --home-service-fg: #00CC99;
    --home-search-bg: #3B3C36; /* Black Olive */
    --home-ink: #222222;
}

html,
body,
body.public-body,
.public-shell,
#main-content,
main,
.home-top-header,
.exact-home-hero {
    background: #FFFFFF !important;
}

.home-top-container {
    width: min(1180px, calc(100vw - 40px));
    margin-inline: auto;
}

.home-top-header {
    position: relative;
    z-index: 60;
    width: 100%;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.home-top-header__inner {
    min-height: 112px;
    display: flex;
    direction: rtl;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

/* nav is first in RTL flex => right side; service CTA is second => left side */
.home-top-nav {
    order: 1;
    display: flex;
    align-items: center;
    gap: 34px;
    color: var(--home-ink);
    font-size: 15px;
    font-weight: 800;
}

.home-top-add-service {
    order: 2;
}

.home-top-nav__link {
    color: var(--home-ink);
    text-decoration: none;
    transition: opacity .18s ease;
}

.home-top-nav__link:hover {
    color: var(--home-ink);
    opacity: .62;
}

.home-top-menu { position: relative; }

.home-top-menu__trigger {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-inline: 22px;
    border: 1px solid #E5E5E5;
    border-radius: 999px;
    background: #FFFFFF;
    color: var(--home-ink);
    font-weight: 900;
}

.home-top-menu__trigger i { font-size: 22px; }

.home-top-menu__panel {
    position: absolute;
    top: calc(100% + 12px);
    inset-inline-start: 0;
    width: 310px;
    padding: 10px;
    border: 1px solid #EAEAEA;
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .10);
}

.home-top-menu__panel a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding-inline: 14px;
    border-radius: 14px;
    color: var(--home-ink);
    font-weight: 800;
}

.home-top-menu__panel a:hover { background: #F7F7F7; }

/* Add-service CTA and service/category icon contract */
.home-service-button,
.home-service-button:hover,
.home-service-button:focus,
.home-service-button:active {
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-inline: 28px;
    border: 1px solid #EBFBF7 !important;
    border-radius: 999px;
    background: #EBFBF7 !important;
    color: #00CC99 !important;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: none;
}

.home-service-button *,
.home-service-button i,
.home-service-button span {
    color: #00CC99 !important;
    fill: currentColor;
}

.home-top-add-service i { font-size: 24px; }

.home-top-mobile-button {
    display: none;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid #E5E5E5;
    border-radius: 16px;
    background: #FFFFFF;
    color: var(--home-ink);
    font-size: 24px;
}

.home-top-mobile-panel {
    display: none;
    border-top: 1px solid #EFEFEF;
    background: #FFFFFF;
}

.home-top-mobile-panel__inner {
    display: grid;
    gap: 8px;
    padding-block: 14px 20px;
}

.home-top-mobile-panel__inner > a:not(.home-service-button) {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-inline: 14px;
    border-radius: 14px;
    color: var(--home-ink);
    font-weight: 800;
}

.exact-home-hero {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    padding: 76px 0 48px;
}

.exact-home-hero__diamond {
    position: absolute;
    z-index: 0;
    top: 20px;
    left: 50%;
    width: 560px;
    height: 560px;
    transform: translateX(-50%) rotate(45deg);
    border-radius: 2px;
    background: #FAFAFA;
    pointer-events: none;
}

.exact-home-hero__content {
    position: relative;
    z-index: 1;
    text-align: center;
}

.exact-home-hero__title {
    min-height: 86px;
    margin: 0;
    display: inline-flex;
    direction: rtl;
    align-items: center;
    justify-content: center;
    gap: .28em;
    color: var(--home-ink);
    font-size: clamp(42px, 5vw, 66px);
    font-weight: 950;
    line-height: 1.25;
    letter-spacing: -2px;
    white-space: nowrap;
}

.exact-home-title-fixed {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
}

.exact-home-title-rotator {
    position: relative;
    display: inline-block;
    min-width: 1.5em;
    height: 1.28em;
    overflow: hidden;
    vertical-align: middle;
    text-align: center;
}

.exact-home-title-rotator__item {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(-115%);
    transition: transform .58s cubic-bezier(.22,.8,.3,1), opacity .36s ease;
    will-change: transform, opacity;
}

.exact-home-title-rotator__item.is-active {
    opacity: 1;
    transform: translateY(0);
}

.exact-home-title-rotator__item.is-leaving {
    opacity: 0;
    transform: translateY(115%);
}

.exact-home-title-rotator__item.is-entering {
    opacity: 0;
    transform: translateY(-115%);
}

.exact-home-hero__subtitle {
    margin: 14px 0 0;
    color: #3D3D3D;
    font-size: clamp(24px, 2.7vw, 34px);
    font-weight: 500;
    line-height: 1.6;
}

.exact-home-search {
    position: relative;
    width: min(930px, 100%);
    min-height: 98px;
    margin: 48px auto 0;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) 290px 172px;
    align-items: center;
    padding: 10px;
    border: 1px solid #F0F0F0;
    border-radius: 999px;
    background: #FFFFFF;
    box-shadow: 0 25px 80px rgba(0, 0, 0, .08);
}

.exact-home-search__field {
    min-width: 0;
    min-height: 70px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding-inline: 24px;
    text-align: right;
}

.exact-home-search__city { border-inline-end: 1px solid #E5E5E5; }

.exact-home-search__main-icon {
    flex: 0 0 auto;
    color: var(--home-ink);
    font-size: 34px;
}

.exact-home-search__text { min-width: 0; flex: 1; }

.exact-home-search__label {
    display: block;
    margin-bottom: 4px;
    color: var(--home-ink);
    font-size: 13px;
    font-weight: 900;
}

.exact-home-search input,
.exact-home-search select {
    width: 100%;
    border: 0;
    outline: 0;
    appearance: none;
    background: transparent;
    color: #777777;
    font-size: 14px;
    font-weight: 500;
}

.exact-home-search__loader { color: var(--home-ink); }

/* Black Olive search CTA */
.home-search-button,
.home-search-button:hover,
.home-search-button:focus,
.home-search-button:active {
    min-height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #3B3C36 !important;
    border-radius: 999px;
    background: #3B3C36 !important;
    color: #FFFFFF !important;
    font-size: 17px;
    font-weight: 950;
    cursor: pointer;
}

.home-search-button * { color: #FFFFFF !important; }

.exact-home-search__suggestions {
    position: absolute;
    z-index: 50;
    top: calc(100% + 12px);
    inset-inline: 22px;
    text-align: right;
}

.exact-home-stats {
    margin-top: 35px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 28px;
    color: var(--home-ink);
    font-size: 14px;
    font-weight: 700;
}

.exact-home-stats strong { color: var(--home-ink); font-weight: 950; }
.exact-home-stats b { color: #F5A400; font-size: 20px; font-weight: 950; }

.exact-home-categories {
    width: min(930px, 100%);
    margin: 76px auto 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.exact-home-category {
    width: 118px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    color: var(--home-ink);
    text-align: center;
    text-decoration: none;
}

.exact-home-category__icon {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    border: 1px solid #EBFBF7;
    border-radius: 999px;
    background: #EBFBF7 !important;
    color: #00CC99 !important;
    font-size: 31px;
    transition: transform .18s ease;
}

.exact-home-category__icon *,
.exact-home-category__icon i,
.exact-home-category__icon svg {
    color: #00CC99 !important;
    stroke: currentColor;
}

.exact-home-category:hover .exact-home-category__icon { transform: translateY(-3px); }

.exact-home-category strong {
    color: var(--home-ink);
    font-size: 14px;
    font-weight: 950;
    line-height: 1.65;
}

@media (prefers-reduced-motion: reduce) {
    .exact-home-title-rotator__item { transition: none; }
}

@media (max-width: 980px) {
    .home-top-header__inner { min-height: 82px; }
    .home-top-nav { display: none; }
    .home-top-add-service { order: 2; min-height: 48px; padding-inline: 18px; }
    .home-top-mobile-button { display: grid; order: 1; }
    .home-top-mobile-panel { display: block; }
    .exact-home-search {
        width: min(680px, 100%);
        grid-template-columns: 1fr;
        border-radius: 30px;
        padding: 12px;
    }
    .exact-home-search__field {
        min-height: 66px;
        border: 0;
        border-bottom: 1px solid #EAEAEA;
    }
    .exact-home-search__submit { margin-top: 10px; }
    .exact-home-categories {
        justify-content: flex-start;
        overflow-x: auto;
        padding-bottom: 12px;
    }
    .exact-home-category { flex: 0 0 105px; }
}

@media (max-width: 640px) {
    .home-top-container { width: min(100% - 24px, 1180px); }
    .home-top-add-service span { display: none; }
    .home-top-add-service { width: 48px; padding: 0; }
    .exact-home-hero { min-height: auto; padding: 56px 0 34px; }
    .exact-home-hero__diamond { width: 390px; height: 390px; top: 26px; }
    .exact-home-hero__title { min-height: 64px; font-size: 38px; }
    .exact-home-hero__subtitle { font-size: 22px; }
    .exact-home-search { margin-top: 34px; }
    .exact-home-stats { gap: 14px; font-size: 12px; }
    .exact-home-categories { margin-top: 48px; }
}

/* BATALAR-035-SAFE-OVERRIDES-START */
.home-search-button,
.home-search-button:hover,
.home-search-button:focus,
.home-search-button:active,
.exact-home-search__submit,
.exact-home-search__submit:hover,
.exact-home-search__submit:focus,
.exact-home-search__submit:active {
    border-color: #01FFCD !important;
    background: #01FFCD !important;
    color: #3B3C36 !important;
}

.home-search-button *,
.exact-home-search__submit * {
    color: #3B3C36 !important;
}
/* BATALAR-035-SAFE-OVERRIDES-END */

/* BATALAR-035-FEATURED-PROVIDERS-START */
.home-featured-providers-strip {
    background: transparent !important;
    border: 1px solid rgba(24, 24, 27, 0.08) !important;
    box-shadow: none !important;
}

.home-featured-providers-promo {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

.home-featured-providers-promo::before,
.home-featured-providers-promo::after,
.home-featured-providers-promo > span.absolute {
    display: none !important;
}

.home-featured-providers-icon {
    width: 118px !important;
    height: 118px !important;
    margin-inline: auto !important;
    margin-bottom: 18px !important;
    object-fit: contain !important;
}
/* BATALAR-035-FEATURED-PROVIDERS-END */

/* BATALAR-037-RECONCILED-START */
/* Final homepage contract reconciled from stages 026–036. */

html,
body,
body.public-body,
.public-shell,
#main-content,
main,
.home-top-header,
.exact-home-hero {
    background: #FFFFFF !important;
}

/* Exact requested palette. */
.home-service-button,
.home-service-button:hover,
.home-service-button:focus,
.home-service-button:active,
.exact-home-category__icon {
    background: #EBFBF7 !important;
    border-color: #EBFBF7 !important;
}

.home-service-button,
.home-service-button *,
.home-service-button i,
.home-service-button span,
.exact-home-category__icon,
.exact-home-category__icon * {
    color: #00CC99 !important;
}

.home-search-button,
.exact-home-search__submit,
.home-search-button:hover,
.exact-home-search__submit:hover,
.home-search-button:focus,
.exact-home-search__submit:focus {
    background: #01FFCD !important;
    color: #3B3C36 !important;
}

/* Sharp diamond: visible top point and a complete fade to transparency. */
.exact-home-hero {
    overflow: hidden !important;
}

.exact-home-hero__diamond {
    top: 0 !important;
    left: 50% !important;
    width: 690px !important;
    height: 760px !important;
    transform: translateX(-50%) !important;
    border-radius: 0 !important;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%) !important;
    background:
        linear-gradient(
            to bottom,
            rgba(18, 24, 23, 0.038) 0%,
            rgba(18, 24, 23, 0.026) 30%,
            rgba(18, 24, 23, 0.014) 53%,
            rgba(18, 24, 23, 0.006) 72%,
            rgba(18, 24, 23, 0.001) 87%,
            rgba(18, 24, 23, 0) 100%
        ) !important;
}

/*
Two equal halves around the exact center:
- fixed "باتالار" in the left half, glued to the center line;
- rotating category in the right half, starting at the center line;
- long category names grow only toward the right.
*/
@media (min-width: 769px) {
    .exact-home-hero__title {
        position: relative !important;
        width: min(1120px, 100%) !important;
        min-height: 1.30em !important;
        margin-inline: auto !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: center !important;
        justify-content: center !important;
        column-gap: 0 !important;
        direction: ltr !important;
        overflow: visible !important;
        white-space: nowrap !important;
    }

    .exact-home-title-fixed,
    .exact-home-hero__fixed {
        grid-column: 1 !important;
        grid-row: 1 !important;
        position: static !important;
        inset: auto !important;
        transform: none !important;
        justify-self: end !important;
        width: max-content !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
        direction: rtl !important;
        white-space: nowrap !important;
    }

    .exact-home-title-rotator,
    .exact-home-hero__rotating-wrap {
        grid-column: 2 !important;
        grid-row: 1 !important;
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        justify-self: start !important;
        align-self: center !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 1.30em !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        text-align: left !important;
        direction: ltr !important;
    }

    .exact-home-title-rotator__item,
    .exact-home-hero__rotating-word {
        position: absolute !important;
        top: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        right: auto !important;
        inset-inline: auto !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        text-align: left !important;
        direction: rtl !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 768px) {
    .exact-home-hero__diamond {
        width: 520px !important;
        height: 620px !important;
    }

    .exact-home-hero__title {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 0 !important;
        direction: ltr !important;
        overflow: visible !important;
    }

    .exact-home-title-fixed,
    .exact-home-hero__fixed {
        grid-column: 1 !important;
        justify-self: end !important;
        width: max-content !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .exact-home-title-rotator,
    .exact-home-hero__rotating-wrap {
        grid-column: 2 !important;
        justify-self: start !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        direction: ltr !important;
    }

    .exact-home-title-rotator__item,
    .exact-home-hero__rotating-word {
        left: 0 !important;
        right: auto !important;
        width: max-content !important;
        min-width: 0 !important;
        max-width: none !important;
        text-align: left !important;
        direction: rtl !important;
    }
}

/* Featured providers: transparent panel, subtle border, supplied static icon. */
.home-featured-providers-strip {
    background: transparent !important;
    border: 1px solid rgba(24, 24, 27, 0.10) !important;
    box-shadow: none !important;
}

.home-featured-providers-promo {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

.home-featured-providers-promo::before,
.home-featured-providers-promo::after,
.home-featured-providers-promo > span.absolute {
    display: none !important;
}

.home-featured-providers-icon {
    width: 118px !important;
    height: 118px !important;
    margin-inline: auto !important;
    margin-bottom: 18px !important;
    object-fit: contain !important;
}
/* BATALAR-037-RECONCILED-END */

/* BATALAR-039-START */
.home-featured-providers-strip-039 {
  direction: ltr;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: none !important;
}

.home-featured-providers-track-039 {
  grid-column: 1;
  direction: rtl;
  min-width: 0;
  background: transparent !important;
  background-image: none !important;
}

.home-featured-providers-track-039::before,
.home-featured-providers-track-039::after {
  display: none !important;
  content: none !important;
}

.home-featured-providers-list-039 {
  background: transparent !important;
  background-image: none !important;
}

.home-featured-providers-card-shell-039 {
  height: 100%;
  background: transparent !important;
  background-image: none !important;
}

.home-featured-providers-card-shell-039 > * {
  height: 100%;
}

.home-featured-providers-promo-039 {
  grid-column: 2;
  direction: rtl;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  text-align: center;
}

.home-featured-providers-promo-039::before,
.home-featured-providers-promo-039::after {
  display: none !important;
  content: none !important;
}

.home-featured-providers-icon-039 {
  width: 126px;
  height: 126px;
  display: block;
  margin-inline: auto;
  object-fit: contain;
  background: transparent !important;
}

.home-featured-providers-nav-039 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1rem;
  margin-bottom: 1.25rem;
}

.home-featured-providers-nav-039 .carousel-button {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 999px;
  background: #f7f7f7;
  border: 1px solid rgba(15, 23, 42, 0.06);
}

.home-featured-providers-promo-039 p {
  display: none !important;
}

@media (max-width: 1023px) {
  .home-featured-providers-strip-039 {
    direction: rtl;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .home-featured-providers-promo-039,
  .home-featured-providers-track-039 {
    grid-column: 1;
  }

  .home-featured-providers-promo-039 {
    grid-row: 1;
    border-left: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  }

  .home-featured-providers-track-039 {
    grid-row: 2;
  }
}
/* BATALAR-039-END */

/* BATALAR-042-START */
.featured-providers-section-042 {
  padding-block: 2.5rem;
}

.featured-providers-shell-042 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 292px;
  direction: ltr;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.09);
  border-radius: 30px;
  background: #ffffff;
  box-shadow: none;
}

.featured-providers-track-area-042 {
  direction: rtl;
  min-width: 0;
  padding: 1.25rem;
  background: transparent;
  display: flex;
  align-items: center;
}

.featured-providers-track-042 {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 2rem) / 3);
  gap: 1rem;
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 0;
  margin: 0;
  background: transparent;
}

.featured-provider-card-042 {
  scroll-snap-align: start;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: none;
}

.featured-provider-card-link-042 {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.featured-provider-card-media-042 {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #f7f7f7;
}

.featured-provider-card-media-042 img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.featured-provider-location-042 {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2rem;
  padding-inline: 0.75rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.94);
  color: #27272a;
  font-size: 0.75rem;
  font-weight: 800;
}

.featured-provider-card-body-042 {
  padding: 1rem 1rem 1.05rem;
}

.featured-provider-card-body-042 h3 {
  margin: 0;
  color: #18181b;
  font-size: 1.08rem;
  line-height: 1.8;
  font-weight: 900;
}

.featured-provider-card-meta-042 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.7rem;
  color: #71717a;
  font-size: 0.82rem;
}

.featured-provider-category-042 {
  color: #00CC99;
  font-weight: 800;
}

.featured-provider-rating-042 {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: #52525b;
  font-weight: 800;
}

.featured-provider-rating-042 i {
  color: #f6a800;
}

.featured-providers-promo-042 {
  direction: rtl;
  display: flex;
  min-height: 100%;
  padding: 2rem 1.4rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-left: 1px solid rgba(15, 23, 42, 0.07);
  background: transparent;
  text-align: center;
}

.featured-providers-promo-icon-042 {
  display: block;
  width: 136px;
  height: 136px;
  object-fit: contain;
}

.featured-providers-eyebrow-042 {
  margin-top: 1.1rem;
  color: #00CC99;
  font-size: 0.82rem;
  font-weight: 900;
}

.featured-providers-promo-042 h2 {
  margin: 0.7rem 0 0;
  color: #18181b;
  font-size: 1.6rem;
  line-height: 1.7;
  font-weight: 950;
}

.featured-providers-promo-nav-042 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.55rem;
}

.featured-providers-promo-nav-042 .carousel-button {
  width: 2.85rem;
  height: 2.85rem;
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 999px;
  background: #f8f8f8;
}

.featured-providers-promo-nav-042 .carousel-button i {
  font-size: 1rem;
}

.featured-providers-link-042 {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.25rem;
  color: #18181b;
  font-size: 0.8rem;
  font-weight: 900;
  text-decoration: none;
}

@media (max-width: 1100px) {
  .featured-providers-track-042 {
    grid-auto-columns: calc((100% - 1rem) / 2);
  }
}

@media (max-width: 900px) {
  .featured-providers-shell-042 {
    grid-template-columns: 1fr;
    direction: rtl;
  }

  .featured-providers-promo-042 {
    grid-row: 1;
    border-left: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.07);
    min-height: auto;
  }

  .featured-providers-track-area-042 {
    grid-row: 2;
  }
}

@media (max-width: 640px) {
  .featured-providers-track-area-042 {
    padding: 0.85rem;
  }

  .featured-providers-track-042 {
    grid-auto-columns: 86%;
    gap: 0.75rem;
  }

  .featured-providers-promo-icon-042 {
    width: 118px;
    height: 118px;
  }
}
/* BATALAR-042-END */

/* BATALAR-050-START */
/* فقط اصلاحات درخواستی عنوان، زیرعنوان، خط جستجو، لوگو و SVG دسته‌ها */
.exact-home-hero__title {
    width: 100% !important;
    min-height: 76px !important;
    margin-inline: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.22em !important;
    text-align: center !important;
    direction: rtl !important;
    font-size: clamp(40px, 4.4vw, 58px) !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    letter-spacing: -1.5px !important;
    white-space: nowrap !important;
}

.exact-home-title-fixed,
.exact-home-title-rotator,
.exact-home-title-rotator__item {
    font-weight: 900 !important;
    text-align: center !important;
}

.exact-home-title-fixed {
    flex: 0 0 auto !important;
}

.exact-home-title-rotator {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    max-width: min(70vw, 780px) !important;
    transition: width .42s cubic-bezier(.22,.8,.3,1) !important;
}

.exact-home-title-rotator__item {
    justify-content: center !important;
    white-space: nowrap !important;
}

.exact-home-hero__subtitle {
    margin-top: 18px !important;
    font-size: 32px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: center !important;
}

/* حذف فقط خط بسیار نازک کنار دکمه جستجو */
.exact-home-search__city {
    border-inline-end: 0 !important;
}

.exact-home-search__submit,
.exact-home-search__submit::before,
.exact-home-search__submit::after {
    border-inline-start: 0 !important;
    border-inline-end: 0 !important;
    box-shadow: none !important;
}

.home-top-brand-logo-050 {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    text-decoration: none;
}

.home-top-brand-logo-050 img {
    display: block;
    width: 92px;
    max-height: 54px;
    height: auto;
    object-fit: contain;
}

.home-category-custom-svg-050 {
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    object-fit: contain !important;
}

@media (max-width: 900px) {
    .exact-home-hero__title {
        min-height: 64px !important;
        font-size: clamp(34px, 8vw, 48px) !important;
        white-space: normal !important;
    }

    .exact-home-title-rotator {
        max-width: 72vw !important;
    }

    .exact-home-hero__subtitle {
        font-size: 26px !important;
    }

    .home-top-brand-logo-050 img {
        width: 76px;
        max-height: 44px;
    }
}

@media (max-width: 560px) {
    .exact-home-hero__title {
        gap: 0.15em !important;
        font-size: clamp(30px, 9vw, 42px) !important;
    }

    .exact-home-hero__subtitle {
        font-size: 22px !important;
    }

    .home-top-brand-logo-050 img {
        width: 64px;
    }
}
/* BATALAR-050-END */

/* BATALAR-051-START */
/* فقط چهار اصلاح درخواستی صفحه اول */
.exact-home-hero__title {
    width: 100% !important;
    margin-inline: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.18em !important;
    direction: rtl !important;
    text-align: center !important;
    font-size: clamp(40px, 4.2vw, 58px) !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -1.2px !important;
}

.exact-home-title-fixed,
.exact-home-title-rotator,
.exact-home-title-rotator__item {
    font-weight: 900 !important;
    text-align: center !important;
}

.exact-home-title-fixed {
    flex: 0 0 auto !important;
}

.exact-home-title-rotator {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(72vw, 820px) !important;
    text-align: center !important;
}

.exact-home-title-rotator__item {
    inset-inline: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.exact-home-hero__subtitle {
    margin-top: 18px !important;
    font-size: 32px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: center !important;
}

/* حذف فقط خط بسیار نازک مجاور دکمه جستجو */
.exact-home-search__city {
    border-inline-end: 0 !important;
}

.exact-home-search__submit,
.exact-home-search__submit::before,
.exact-home-search__submit::after {
    border-inline-start: 0 !important;
    border-inline-end: 0 !important;
    box-shadow: none !important;
}

.home-top-brand-logo-051 {
    order: -1;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    text-decoration: none;
}

.home-top-brand-logo-051 img {
    display: block;
    width: 92px;
    max-height: 54px;
    height: auto;
    object-fit: contain;
}

.home-category-custom-svg-051 {
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    object-fit: contain !important;
}

@media (max-width: 900px) {
    .exact-home-hero__title {
        font-size: clamp(34px, 7.5vw, 48px) !important;
        white-space: normal !important;
    }

    .exact-home-title-rotator {
        max-width: 74vw !important;
    }

    .exact-home-hero__subtitle {
        font-size: 26px !important;
    }

    .home-top-brand-logo-051 img {
        width: 76px;
        max-height: 44px;
    }
}

@media (max-width: 560px) {
    .exact-home-hero__title {
        gap: 0.12em !important;
        font-size: clamp(29px, 8.5vw, 40px) !important;
    }

    .exact-home-title-rotator__item {
        white-space: normal !important;
    }

    .exact-home-hero__subtitle {
        font-size: 22px !important;
    }

    .home-top-brand-logo-051 img {
        width: 64px;
    }
}
/* BATALAR-051-END */

/* BATALAR-053-START */
/* Header alignment + single logo */
.exact-home-header__inner,
.exact-home-header__row,
.home-top-header__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.exact-home-header__nav,
.home-top-nav,
.home-top-menu,
.home-top-links {
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
}

.home-top-brand-logo-053 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
}

.home-top-brand-logo-053 img {
    display: block !important;
    width: 128px !important;
    height: auto !important;
    max-height: 56px !important;
    object-fit: contain !important;
}

/* Rotating title exactly centered */
.exact-home-hero__title {
    width: 100% !important;
    margin-inline: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.18em !important;
    direction: rtl !important;
    text-align: center !important;
    flex-wrap: nowrap !important;
    font-size: clamp(34px, 4.7vw, 64px) !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    letter-spacing: -1px !important;
}

.exact-home-title-fixed,
.exact-home-title-rotator {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-weight: 900 !important;
}

.exact-home-title-fixed {
    flex: 0 0 auto !important;
}

.exact-home-title-rotator {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    transition: opacity .34s ease, transform .34s ease !important;
    will-change: transform, opacity !important;
}

.exact-home-title-rotator.is-leaving {
    opacity: 0 !important;
    transform: translateY(-12px) !important;
}

.exact-home-title-rotator.is-entering {
    opacity: 0 !important;
    transform: translateY(12px) !important;
}

.exact-home-hero__subtitle {
    margin-top: 18px !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

@media (max-width: 1200px) {
    .home-top-brand-logo-053 img {
        width: 114px !important;
    }
}

@media (max-width: 900px) {
    .exact-home-hero__title {
        font-size: clamp(28px, 8vw, 48px) !important;
        white-space: normal !important;
        flex-wrap: wrap !important;
    }

    .exact-home-title-rotator {
        white-space: normal !important;
    }

    .exact-home-hero__subtitle {
        font-size: 26px !important;
    }

    .home-top-brand-logo-053 img {
        width: 96px !important;
        max-height: 46px !important;
    }
}

@media (max-width: 640px) {
    .exact-home-header__inner,
    .exact-home-header__row,
    .home-top-header__inner {
        gap: 14px !important;
    }

    .exact-home-hero__subtitle {
        font-size: 22px !important;
    }

    .home-top-brand-logo-053 img {
        width: 84px !important;
    }
}
/* BATALAR-053-END */

/* BATALAR-054-START */
/* فقط اصلاح اندازه عنوان، جهت انیمیشن و اندازه آیکن‌های خدمات */
.exact-home-hero__title {
    font-size: clamp(30px, 3.75vw, 52px) !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    justify-content: center !important;
    text-align: center !important;
}

.exact-home-title-fixed,
.exact-home-title-rotator {
    font-weight: 900 !important;
    text-align: center !important;
}

.exact-home-title-fixed {
    flex: 0 0 auto !important;
    will-change: transform !important;
}

.exact-home-title-rotator {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    transition: opacity .32s ease, transform .32s ease !important;
    will-change: transform, opacity !important;
}

/* خروج به پایین */
.exact-home-title-rotator.is-leaving {
    opacity: 0 !important;
    transform: translateY(14px) !important;
}

/* متن جدید از بالا وارد می‌شود و به سمت پایین روی جای خود می‌نشیند */
.exact-home-title-rotator.is-entering {
    opacity: 0 !important;
    transform: translateY(-14px) !important;
}

/* بزرگ‌ترشدن آیکن‌های فهرست خدمات بدون تغییر اندازه دایره */
.exact-home-category__icon img,
.exact-home-category__icon svg,
.exact-home-category__icon i,
.home-category-custom-svg-051 {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    font-size: 48px !important;
    object-fit: contain !important;
}

@media (max-width: 900px) {
    .exact-home-hero__title {
        font-size: clamp(28px, 7vw, 44px) !important;
    }

    .exact-home-category__icon img,
    .exact-home-category__icon svg,
    .exact-home-category__icon i,
    .home-category-custom-svg-051 {
        width: 43px !important;
        height: 43px !important;
        max-width: 43px !important;
        max-height: 43px !important;
        font-size: 43px !important;
    }
}

@media (max-width: 560px) {
    .exact-home-hero__title {
        font-size: clamp(26px, 8vw, 38px) !important;
    }

    .exact-home-title-rotator {
        white-space: normal !important;
    }
}
/* BATALAR-054-END */

/* BATALAR-055-START */
/* فقط ۴ پیکسل کاهش اندازه و تغییر رنگ آیکن‌های خدمات */
.exact-home-category__icon,
.exact-home-category__icon i,
.exact-home-category__icon svg {
    color: #01FFCD !important;
}

.exact-home-category__icon svg,
.exact-home-category__icon svg *,
.exact-home-category__icon i {
    stroke: #01FFCD !important;
    fill: none;
}

.exact-home-category__icon img,
.exact-home-category__icon svg,
.exact-home-category__icon i,
.home-category-custom-svg-051 {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    font-size: 44px !important;
    object-fit: contain !important;
}

/* رنگ‌دهی فایل‌های SVG که به‌صورت img لود شده‌اند */
.exact-home-category__icon img,
.home-category-custom-svg-051 {
    filter: brightness(0) saturate(100%) invert(72%) sepia(95%) saturate(1498%) hue-rotate(112deg) brightness(101%) contrast(101%) !important;
}

@media (max-width: 900px) {
    .exact-home-category__icon img,
    .exact-home-category__icon svg,
    .exact-home-category__icon i,
    .home-category-custom-svg-051 {
        width: 39px !important;
        height: 39px !important;
        max-width: 39px !important;
        max-height: 39px !important;
        font-size: 39px !important;
    }
}
/* BATALAR-055-END */

/* BATALAR-056-START */
/* Home category icons: slightly smaller and visually lighter */
.exact-home-category__icon img,
.exact-home-category__icon svg,
.exact-home-category__icon i,
.home-category-custom-svg-051 {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    font-size: 40px !important;
}

.exact-home-category__icon svg *,
.exact-home-category__icon i,
.exact-home-category__icon i::before {
    stroke-width: 1.6 !important;
    font-weight: 300 !important;
}

@media (max-width: 900px) {
    .exact-home-category__icon img,
    .exact-home-category__icon svg,
    .exact-home-category__icon i,
    .home-category-custom-svg-051 {
        width: 35px !important;
        height: 35px !important;
        max-width: 35px !important;
        max-height: 35px !important;
        font-size: 35px !important;
    }
}

/* Featured providers cards refinement */
.featured-provider-card-media-042 {
    aspect-ratio: 4 / 3 !important;
}

.featured-provider-card-media-042 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-provider-location-042,
.featured-provider-verified-056 {
    font-size: 0.95rem !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
}

.featured-provider-location-042 {
    background: #ffffff !important;
    color: #111827 !important;
    border: 1px solid rgba(17, 24, 39, 0.08) !important;
}

.featured-provider-verified-056 {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.85rem;
    border-radius: 999px;
    background: #ffffff;
    color: #00CC99;
    border: 1px solid rgba(16, 255, 205, 0.18);
    box-shadow: 0 6px 16px rgba(0,0,0,0.04);
}

.featured-provider-verified-056 i {
    font-size: 0.95rem;
}

.featured-provider-card-body-042 {
    padding: 1.15rem 1.25rem 1.2rem !important;
}

.featured-provider-card-body-042 h3 {
    margin: 0 0 0.85rem !important;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    line-height: 1.7 !important;
}

.featured-provider-card-meta-042 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.9rem !important;
    flex-wrap: wrap !important;
}

.featured-provider-category-042 {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.45rem 0.9rem !important;
    border-radius: 999px !important;
    background: #EBFBF7 !important;
    color: #00CC99 !important;
    font-size: 0.96rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.featured-provider-rating-042 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    color: #374151 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.featured-provider-rating-042 i {
    font-size: 1.22rem !important;
    color: #F5B301 !important;
}

@media (max-width: 900px) {
    .featured-provider-location-042,
    .featured-provider-verified-056 {
        font-size: 0.88rem !important;
        padding: 0.45rem 0.75rem !important;
    }

    .featured-provider-card-body-042 h3 {
        font-size: 1rem !important;
    }
}
/* BATALAR-056-END */

/* BATALAR-057-START */
.featured-showcase-057 {
    width: 100%;
    padding-block: 30px;
}

.featured-showcase-057__shell {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    direction: rtl;
    overflow: hidden;
    min-height: 430px;
    border: 1px solid rgba(17, 24, 39, 0.09);
    border-radius: 30px;
    background: #ffffff;
}

.featured-showcase-057__promo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 34px 26px 30px;
    border-left: 1px solid rgba(17, 24, 39, 0.08);
    text-align: center;
    background: #ffffff;
}

.featured-showcase-057__promo-icon {
    display: block;
    width: 150px;
    height: 150px;
    object-fit: contain;
    margin-bottom: 20px;
}

.featured-showcase-057__heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 0;
    color: #111827;
    line-height: 1.35;
}

.featured-showcase-057__heading span {
    font-size: 30px;
    font-weight: 400;
}

.featured-showcase-057__heading strong {
    font-size: 33px;
    font-weight: 900;
}

.featured-showcase-057__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 24px;
}

.featured-showcase-057__control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f7f7f7;
    color: #3f3f46;
    cursor: pointer;
    transition: transform .18s ease, background-color .18s ease;
}

.featured-showcase-057__control:hover {
    transform: translateY(-2px);
    background: #f0f0f0;
}

.featured-showcase-057__control i {
    font-size: 24px;
}

.featured-showcase-057__track-wrap {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 28px 18px 28px 20px;
    overflow: hidden;
    background: #ffffff;
}

.featured-showcase-057__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 32px) / 3);
    gap: 16px;
    width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-inline: contain;
    padding: 0;
    margin: 0;
    direction: rtl;
}

.featured-showcase-057__fade {
    position: absolute;
    z-index: 4;
    inset-block: 28px;
    left: 18px;
    width: 64px;
    pointer-events: none;
    background: linear-gradient(90deg, #ffffff 0%, rgba(255,255,255,.78) 40%, rgba(255,255,255,0) 100%);
}

.featured-showcase-card-057 {
    min-width: 0;
    height: 100%;
    overflow: hidden;
    scroll-snap-align: start;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 5px 16px rgba(17, 24, 39, 0.035);
}

.featured-showcase-card-057__link {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}

.featured-showcase-card-057__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    background: #f6f6f6;
}

.featured-showcase-card-057__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.featured-showcase-card-057__location {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding-inline: 14px;
    border-radius: 999px;
    background: #ffffff;
    color: #18181b;
    font-size: 16px;
    font-weight: 500;
    box-shadow: 0 2px 9px rgba(0, 0, 0, 0.08);
}

.featured-showcase-card-057__location i {
    font-size: 20px;
}

.featured-showcase-card-057__body {
    padding: 20px 18px 18px;
}

.featured-showcase-card-057__body h3 {
    margin: 0 0 18px;
    color: #111827;
    font-size: 23px;
    line-height: 1.5;
    font-weight: 800;
    text-align: right;
}

.featured-showcase-card-057__meta {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    min-height: 36px;
}

.featured-showcase-card-057__category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding-inline: 13px;
    border-radius: 999px;
    background: #EBFBF7;
    color: #00CC99;
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
}

.featured-showcase-card-057__rating {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: #52525b;
    font-size: 15px;
    font-weight: 400;
    white-space: nowrap;
}

.featured-showcase-card-057__rating i {
    color: #F5B301;
    font-size: 24px;
}

.featured-showcase-card-057__dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #e4e4e7;
}

.featured-showcase-card-057__level {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    color: #27272a;
    font-size: 16px;
    font-weight: 400;
    white-space: nowrap;
}

.featured-showcase-card-057__level i {
    font-size: 20px;
}

@media (max-width: 1180px) {
    .featured-showcase-057__shell {
        grid-template-columns: 260px minmax(0, 1fr);
    }

    .featured-showcase-057__track {
        grid-auto-columns: calc((100% - 16px) / 2);
    }

    .featured-showcase-057__promo-icon {
        width: 132px;
        height: 132px;
    }
}

@media (max-width: 900px) {
    .featured-showcase-057__shell {
        grid-template-columns: 1fr;
    }

    .featured-showcase-057__promo {
        border-left: 0;
        border-bottom: 1px solid rgba(17, 24, 39, 0.08);
        padding-block: 24px;
    }

    .featured-showcase-057__promo-icon {
        width: 112px;
        height: 112px;
        margin-bottom: 12px;
    }

    .featured-showcase-057__heading span,
    .featured-showcase-057__heading strong {
        font-size: 26px;
    }

    .featured-showcase-057__controls {
        margin-top: 18px;
    }

    .featured-showcase-057__control {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 640px) {
    .featured-showcase-057 {
        padding-block: 20px;
    }

    .featured-showcase-057__shell {
        border-radius: 22px;
    }

    .featured-showcase-057__track-wrap {
        padding: 14px;
    }

    .featured-showcase-057__track {
        grid-auto-columns: 86%;
        gap: 12px;
    }

    .featured-showcase-057__fade {
        display: none;
    }

    .featured-showcase-card-057__body h3 {
        font-size: 20px;
    }

    .featured-showcase-card-057__meta {
        grid-template-columns: 1fr auto;
        row-gap: 10px;
    }

    .featured-showcase-card-057__level {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}
/* BATALAR-057-END */

/* BATALAR-058-START */
/* فقط اصلاح تایپوگرافی کارت‌ها و اسکرول سکشن Featured */
.featured-showcase-card-057__location {
    direction: rtl !important;
    flex-direction: row !important;
    gap: 6px !important;
    min-height: 34px !important;
    padding-inline: 12px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.featured-showcase-card-057__location i {
    order: -1 !important;
    font-size: 18px !important;
    font-weight: 300 !important;
}

.featured-showcase-card-057__body {
    padding: 17px 16px 16px !important;
}

.featured-showcase-card-057__body h3 {
    margin: 0 0 13px !important;
    font-size: 18px !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
}

.featured-showcase-card-057__category {
    min-height: 31px !important;
    padding-inline: 11px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.featured-showcase-card-057__rating {
    gap: 5px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

.featured-showcase-card-057__rating i {
    font-size: 21px !important;
}

.featured-showcase-card-057__level {
    gap: 5px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.featured-showcase-card-057__level i {
    font-size: 18px !important;
}

.featured-showcase-057__track {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin !important;
    scrollbar-color: #cfd9d6 transparent !important;
    scrollbar-gutter: stable !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    padding-bottom: 10px !important;
}

.featured-showcase-057__track::-webkit-scrollbar {
    height: 7px;
}

.featured-showcase-057__track::-webkit-scrollbar-track {
    background: transparent;
}

.featured-showcase-057__track::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #cfd9d6;
}

.featured-showcase-057__track::-webkit-scrollbar-thumb:hover {
    background: #b9c7c3;
}

@media (max-width: 640px) {
    .featured-showcase-card-057__body h3 {
        font-size: 17px !important;
    }

    .featured-showcase-card-057__location,
    .featured-showcase-card-057__category,
    .featured-showcase-card-057__level {
        font-size: 13px !important;
    }
}
/* BATALAR-058-END */

/* BATALAR-059-START */
/* فقط نسبت سینمایی تصویر کارت‌ها */
.featured-showcase-card-057__media {
    aspect-ratio: 16 / 9 !important;
}

.featured-showcase-card-057__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
/* BATALAR-059-END */

/* BATALAR-060-START */
/* Shared compact card */
.showcase-card-060 {
    min-width: 0;
    overflow: hidden;
    scroll-snap-align: start;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(17, 24, 39, .035);
}
.showcase-card-060__link {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
}
.showcase-card-060__media {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 14px;
    background: #f6f6f6;
}
.showcase-card-060__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.showcase-card-060__location {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 12px;
    display: inline-flex;
    direction: rtl;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding-inline: 11px;
    border-radius: 999px;
    background: #fff;
    color: #18181b;
    font-size: 13px;
    font-weight: 400;
    box-shadow: 0 2px 9px rgba(0,0,0,.08);
}
.showcase-card-060__location i { font-size: 17px; font-weight: 300; }
.showcase-card-060__body { padding: 13px 14px 13px; }
.showcase-card-060__body h3 {
    margin: 0 0 10px;
    color: #111827;
    font-size: 17px;
    line-height: 1.5;
    font-weight: 700;
    text-align: right;
}
.showcase-card-060__meta {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 9px;
    min-height: 30px;
}
.showcase-card-060__category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    padding-inline: 10px;
    border-radius: 999px;
    background: #EBFBF7;
    color: #00CC99;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.showcase-card-060__rating,
.showcase-card-060__level {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #3f3f46;
    font-size: 13px;
    font-weight: 400;
    white-space: nowrap;
}
.showcase-card-060__rating { justify-content: center; }
.showcase-card-060__level { justify-content: flex-end; }
.showcase-card-060__rating i { color: #F5B301; font-size: 20px; }
.showcase-card-060__level i { font-size: 17px; }
.showcase-card-060__dot { width: 8px; height: 8px; border-radius: 50%; background: #e4e4e7; }

/* Compact featured section */
.featured-showcase-060 { width: 100%; padding-block: 18px; }
.featured-showcase-060__shell {
    display: grid;
    grid-template-columns: 250px minmax(0,1fr);
    direction: rtl;
    align-items: stretch;
    min-height: 320px;
    overflow: hidden;
    border: 1px solid rgba(17,24,39,.09);
    border-radius: 28px;
    background: #fff;
}
.featured-showcase-060__promo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 18px;
    border-left: 1px solid rgba(17,24,39,.08);
    text-align: center;
}
.featured-showcase-060__promo-icon { width: 112px; height: 112px; object-fit: contain; margin-bottom: 12px; }
.featured-showcase-060__heading { display: flex; flex-direction: column; gap: 2px; margin: 0; line-height: 1.3; }
.featured-showcase-060__heading span { font-size: 22px; font-weight: 400; }
.featured-showcase-060__heading strong { font-size: 27px; font-weight: 900; }
.featured-showcase-060__controls { display: flex; gap: 10px; margin-top: 17px; }
.featured-showcase-060__controls button,
.popular-showcase-060__controls button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f7f7f7;
    color: #3f3f46;
    cursor: pointer;
    transition: transform .18s ease, background-color .18s ease;
}
.featured-showcase-060__controls button:hover,
.popular-showcase-060__controls button:hover { transform: translateY(-2px); background: #efefef; }
.featured-showcase-060__controls i,
.popular-showcase-060__controls i { font-size: 21px; }
.featured-showcase-060__track-wrap {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    padding: 17px 14px 17px 16px;
    overflow: hidden;
}
.featured-showcase-060__track,
.popular-showcase-060__track {
    display: grid;
    grid-auto-flow: column;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #cfd9d6 transparent;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
}
.featured-showcase-060__track {
    grid-auto-columns: calc((100% - 32px) / 3);
    gap: 16px;
    width: 100%;
    padding: 0 0 7px;
}
.featured-showcase-060__track::-webkit-scrollbar,
.popular-showcase-060__track::-webkit-scrollbar { height: 6px; }
.featured-showcase-060__track::-webkit-scrollbar-thumb,
.popular-showcase-060__track::-webkit-scrollbar-thumb { background: #cfd9d6; border-radius: 999px; }
.featured-showcase-060__fade {
    position: absolute;
    z-index: 4;
    inset-block: 17px;
    left: 14px;
    width: 54px;
    pointer-events: none;
    background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.76) 42%,rgba(255,255,255,0) 100%);
}

/* Next section — exact reference header, same cards */
.popular-showcase-060 { width: 100%; padding-block: 34px 26px; }
.popular-showcase-060__header {
    display: flex;
    direction: rtl;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
}
.popular-showcase-060__header h2 {
    margin: 0;
    color: #111827;
    font-size: 34px;
    line-height: 1.35;
    font-weight: 800;
    text-align: right;
}
.popular-showcase-060__actions {
    display: flex;
    direction: ltr;
    align-items: center;
    gap: 16px;
}
.popular-showcase-060__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 174px;
    min-height: 58px;
    padding-inline: 24px;
    border-radius: 999px;
    background: #01FFCD;
    color: #3B3C36;
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
}
.popular-showcase-060__controls { display: flex; gap: 10px; }
.popular-showcase-060__track {
    grid-auto-columns: calc((100% - 48px) / 4);
    gap: 16px;
    padding: 0 0 8px;
    direction: rtl;
}
.showcase-empty-060 { padding: 32px; color: #71717a; text-align: center; }

@media (max-width: 1180px) {
    .featured-showcase-060__shell { grid-template-columns: 225px minmax(0,1fr); min-height: 305px; }
    .featured-showcase-060__promo-icon { width: 98px; height: 98px; }
    .featured-showcase-060__track { grid-auto-columns: calc((100% - 16px) / 2); }
    .popular-showcase-060__track { grid-auto-columns: calc((100% - 32px) / 3); }
}

@media (max-width: 900px) {
    .featured-showcase-060__shell { grid-template-columns: 1fr; min-height: 0; }
    .featured-showcase-060__promo {
        flex-direction: row;
        justify-content: space-between;
        gap: 18px;
        padding: 16px 20px;
        border-left: 0;
        border-bottom: 1px solid rgba(17,24,39,.08);
    }
    .featured-showcase-060__promo-icon { width: 78px; height: 78px; margin: 0; }
    .featured-showcase-060__heading { margin-inline: auto; }
    .featured-showcase-060__heading span { font-size: 19px; }
    .featured-showcase-060__heading strong { font-size: 23px; }
    .featured-showcase-060__controls { margin-top: 0; }
    .popular-showcase-060__header h2 { font-size: 28px; }
    .popular-showcase-060__track { grid-auto-columns: calc((100% - 16px) / 2); }
}

@media (max-width: 640px) {
    .featured-showcase-060 { padding-block: 12px; }
    .featured-showcase-060__shell { border-radius: 22px; }
    .featured-showcase-060__promo { flex-wrap: wrap; justify-content: center; padding: 14px; }
    .featured-showcase-060__track-wrap { padding: 12px; }
    .featured-showcase-060__track,
    .popular-showcase-060__track { grid-auto-columns: 86%; gap: 12px; }
    .featured-showcase-060__fade { display: none; }
    .popular-showcase-060 { padding-block: 24px 18px; }
    .popular-showcase-060__header { align-items: flex-start; flex-direction: column; gap: 14px; }
    .popular-showcase-060__header h2 { font-size: 24px; }
    .popular-showcase-060__actions { width: 100%; justify-content: space-between; }
    .popular-showcase-060__all { min-width: 136px; min-height: 48px; padding-inline: 18px; font-size: 14px; }
    .featured-showcase-060__controls button,
    .popular-showcase-060__controls button { width: 44px; height: 44px; }
    .showcase-card-060__body h3 { font-size: 16px; }
    .showcase-card-060__meta { grid-template-columns: 1fr auto; row-gap: 8px; }
    .showcase-card-060__level { grid-column: 1 / -1; justify-content: flex-start; }
}
/* BATALAR-060-END */

/* BATALAR-061-START */
/* کنترل‌ها باید در چیدمان بصری ثابت از چپ به راست باشند: بعدی، قبلی */
.featured-showcase-060__controls,
.popular-showcase-060__controls {
    direction: ltr !important;
}

/* همه کاروسل‌های خدمات صفحه اصلی از مدل و کارت مشترک استفاده می‌کنند. */
.home-listing-showcase-061 {
    width: 100%;
}

.home-listing-showcase-061__title-wrap {
    min-width: 0;
    text-align: right;
}

.home-listing-showcase-061__subtitle {
    margin: 7px 0 0;
    color: #71717a;
    font-size: 13px;
    line-height: 1.7;
    font-weight: 400;
}

/* کاهش بسیار جزئی فونت موبایل بدون تغییر استایل کارت */
@media (max-width: 640px) {
    .popular-showcase-060__header h2,
    .home-listing-showcase-061 .popular-showcase-060__header h2 {
        font-size: 23px !important;
    }

    .showcase-card-060__body h3 {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    .showcase-card-060__location,
    .showcase-card-060__category,
    .showcase-card-060__rating,
    .showcase-card-060__level {
        font-size: 12px !important;
    }

    .showcase-card-060__rating i {
        font-size: 19px !important;
    }

    .popular-showcase-060__all {
        font-size: 13px !important;
    }

    .home-listing-showcase-061__subtitle {
        font-size: 12px;
    }
}
/* BATALAR-061-END */

/* BATALAR-067-HOME-START */
/* Header logo: only a small proportional reduction. */
.home-top-brand-logo-053 img,
.home-top-brand-logo-052 img,
.home-top-brand-logo-051 img,
.home-top-brand-logo img,
.home-top-logo img,
.home-top-brand img {
    width: 98px !important;
    max-height: 46px !important;
    height: auto !important;
    object-fit: contain !important;
}

/* Search bar: more compact, balanced and precise. */
.exact-home-search {
    width: min(850px, calc(100% - 24px)) !important;
    min-height: 80px !important;
    margin-top: 42px !important;
    grid-template-columns: minmax(0, 1.12fr) 250px 150px !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 8px !important;
}

.exact-home-search__field {
    position: relative;
    min-height: 64px !important;
    gap: 15px !important;
    padding-inline: 20px !important;
}

/* The divider belongs only between the query and city fields. */
.exact-home-search__city {
    border-inline-end: 0 !important;
    border-inline-start: 0 !important;
}

.exact-home-search__city::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 50%;
    width: 1px;
    height: 30px;
    border-radius: 999px;
    background: #E8E8E8;
    transform: translateY(-50%);
}

.exact-home-search__main-icon {
    font-size: 38px !important;
    font-weight: 300 !important;
}

.exact-home-search__label {
    font-size: 12px !important;
    font-weight: 500 !important;
}

.exact-home-search input,
.exact-home-search select {
    font-size: 13px !important;
    font-weight: 400 !important;
}

.exact-home-search__submit,
.home-search-button {
    width: 100% !important;
    min-height: 64px !important;
    height: 64px !important;
    margin: 0 !important;
    align-self: center !important;
    border: 0 !important;
    background: #01FFCD !important;
    color: #26312d !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* More air between homepage sections. */
.featured-showcase-060,
.popular-showcase-060,
.home-listing-showcase-061 {
    margin-block: clamp(66px, 7vw, 102px) !important;
}

/* Smaller section titles: first part light, second part normal. */
.popular-showcase-060__header h2,
.home-listing-showcase-061__title-wrap h2 {
    margin: 0 !important;
    font-size: clamp(24px, 2.25vw, 34px) !important;
    line-height: 1.45 !important;
    letter-spacing: -0.02em !important;
    font-weight: 400 !important;
}

.popular-showcase-067__light {
    font-weight: 300 !important;
}

.popular-showcase-067__normal {
    font-weight: 500 !important;
}

.featured-showcase-060__heading {
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.5 !important;
}

.featured-showcase-060__heading > span {
    font-weight: 300 !important;
}

.featured-showcase-060__heading > strong {
    font-weight: 500 !important;
}

@media (max-width: 900px) {
    .home-top-brand-logo-053 img,
    .home-top-brand-logo-052 img,
    .home-top-brand-logo-051 img,
    .home-top-brand-logo img,
    .home-top-logo img,
    .home-top-brand img {
        width: 82px !important;
        max-height: 40px !important;
    }

    .exact-home-search {
        width: min(680px, calc(100% - 24px)) !important;
        grid-template-columns: 1fr !important;
        min-height: unset !important;
        padding: 8px !important;
        border-radius: 28px !important;
    }

    .exact-home-search__field {
        min-height: 58px !important;
        padding-inline: 18px !important;
    }

    .exact-home-search__city::before {
        inset-inline: 18px;
        inset-block-start: 0;
        width: auto;
        height: 1px;
        transform: none;
    }

    .exact-home-search__submit,
    .home-search-button {
        min-height: 54px !important;
        height: 54px !important;
        margin-top: 6px !important;
    }
}

@media (max-width: 640px) {
    .home-top-brand-logo-053 img,
    .home-top-brand-logo-052 img,
    .home-top-brand-logo-051 img,
    .home-top-brand-logo img,
    .home-top-logo img,
    .home-top-brand img {
        width: 72px !important;
        max-height: 36px !important;
    }

    .featured-showcase-060,
    .popular-showcase-060,
    .home-listing-showcase-061 {
        margin-block: 54px !important;
    }

    .popular-showcase-060__header h2,
    .home-listing-showcase-061__title-wrap h2 {
        font-size: 22px !important;
    }

    .featured-showcase-060__heading {
        font-size: 21px !important;
    }
}
/* BATALAR-067-HOME-END */


/* ===== SOURCE: static/css/exact_brand_025.css ===== */
/* Batalar exact brand contract 025
   Primary means exactly #01FFCD. No lighter/darker brand variants.
   Every foreground placed directly on a primary surface is white. */

:root,
.batalar-admin-ui {
  --bt-primary: #01FFCD !important;
  --bt-primary-strong: #01FFCD !important;
  --bt-primary-soft: #01FFCD !important;
  --b-brand: #01FFCD !important;
  --b-brand-strong: #01FFCD !important;
  --b-brand-deep: #01FFCD !important;
  --b-brand-soft: #01FFCD !important;
  --b-brand-wash: #01FFCD !important;
}

::selection,
.batalar-admin-ui ::selection {
  background: #01FFCD !important;
  color: #FFFFFF !important;
}

:focus-visible,
.batalar-admin-ui :focus-visible {
  outline-color: #01FFCD !important;
}

/* Public primary surfaces */
.public-brand__mark,
.public-header__cta,
.btn-primary,
.hero-search__submit,
.quick-category__icon,
.badge-pill,
.public-nav__link.is-active,
.public-nav__link:hover,
.simple-menu-list a:hover,
.filter-chip.is-active,
.filter-chip[aria-pressed="true"],
.brand-surface,
[data-brand-surface="true"] {
  background: #01FFCD !important;
  background-image: none !important;
  border-color: #01FFCD !important;
  color: #FFFFFF !important;
  text-shadow: none !important;
}

.public-header__cta *,
.btn-primary *,
.hero-search__submit *,
.quick-category__icon *,
.badge-pill *,
.public-nav__link.is-active *,
.public-nav__link:hover *,
.simple-menu-list a:hover *,
.filter-chip.is-active *,
.filter-chip[aria-pressed="true"] *,
.brand-surface *,
[data-brand-surface="true"] * {
  color: #FFFFFF !important;
  fill: currentColor !important;
}

.public-brand__mark,
.public-header__cta,
.btn-primary,
.hero-search__submit,
.badge-pill {
  box-shadow: 0 16px 34px rgba(7, 27, 26, 0.14) !important;
}

.public-brand__mark {
  background: #01FFCD !important;
}

.hero-home::before {
  background: none !important;
}

.quick-category__icon {
  background: #01FFCD !important;
  color: #FFFFFF !important;
}

.public-header,
.hero-search,
.listing-card,
.filter-card,
.surface-card {
  border-color: #01FFCD !important;
}

/* Admin primary surfaces */
.batalar-admin-ui .panel-brand-symbol,
.batalar-admin-ui .panel-admin-status,
.batalar-admin-ui .panel-nav-item.is-active,
.batalar-admin-ui .panel-sidebar-avatar,
.batalar-admin-ui .panel-account-avatar,
.batalar-admin-ui .action-primary,
.batalar-admin-ui .admin-hero-primary,
.batalar-admin-ui .admin-create-trigger i,
.batalar-admin-ui .admin-kpi-mint .admin-kpi-icon,
.batalar-admin-ui .icon-source-tab.is-active,
.batalar-admin-ui .icon-gallery button.is-selected,
.batalar-admin-ui .media-section-title > span,
.batalar-admin-ui .media-dropzone-icon,
.batalar-admin-ui .media-progress > span,
.batalar-admin-ui .status-success,
.batalar-admin-ui .brand-surface,
.batalar-admin-ui [data-brand-surface="true"] {
  background: #01FFCD !important;
  background-image: none !important;
  border-color: #01FFCD !important;
  color: #FFFFFF !important;
  text-shadow: none !important;
}

.batalar-admin-ui .panel-brand-symbol > *,
.batalar-admin-ui .panel-admin-status > *,
.batalar-admin-ui .action-primary > *,
.batalar-admin-ui .admin-hero-primary > *,
.batalar-admin-ui .admin-create-trigger i > *,
.batalar-admin-ui .admin-kpi-mint .admin-kpi-icon > *,
.batalar-admin-ui .icon-source-tab.is-active > *,
.batalar-admin-ui .icon-gallery button.is-selected > *,
.batalar-admin-ui .media-section-title > span > *,
.batalar-admin-ui .media-dropzone-icon > *,
.batalar-admin-ui .status-success > *,
.batalar-admin-ui .brand-surface > *,
.batalar-admin-ui [data-brand-surface="true"] > * {
  color: #FFFFFF !important;
  fill: currentColor !important;
}

/* Active sidebar: the white icon chip is not a primary surface. */
.batalar-admin-ui .panel-nav-item.is-active {
  color: #FFFFFF !important;
  box-shadow: 0 12px 26px rgba(7, 27, 26, 0.14) !important;
}

.batalar-admin-ui .panel-nav-item.is-active .panel-nav-label,
.batalar-admin-ui .panel-nav-item.is-active .panel-nav-arrow {
  color: #FFFFFF !important;
}

.batalar-admin-ui .panel-nav-item.is-active .panel-nav-icon,
.batalar-admin-ui .panel-nav-item.is-active .panel-nav-badge {
  background: #FFFFFF !important;
  color: #01FFCD !important;
  border-color: #FFFFFF !important;
}

.batalar-admin-ui .panel-admin-status b,
.batalar-admin-ui .panel-admin-status small {
  color: #FFFFFF !important;
}

.batalar-admin-ui .panel-admin-status-icon {
  background: #FFFFFF !important;
  color: #01FFCD !important;
}

.batalar-admin-ui .panel-sidebar-avatar,
.batalar-admin-ui .panel-account-avatar,
.batalar-admin-ui .action-primary,
.batalar-admin-ui .admin-hero-primary {
  box-shadow: 0 12px 28px rgba(7, 27, 26, 0.14) !important;
}

.batalar-admin-ui .action-primary:hover,
.batalar-admin-ui .admin-hero-primary:hover,
.public-header__cta:hover,
.btn-primary:hover,
.hero-search__submit:hover {
  background: #01FFCD !important;
  background-image: none !important;
  color: #FFFFFF !important;
}

.batalar-admin-ui input[type="checkbox"],
.batalar-admin-ui input[type="radio"] {
  accent-color: #01FFCD !important;
}

/* Utility hooks used by Tailwind-like templates. */
.bg-\[\#01FFCD\],
.hover\:bg-\[\#01FFCD\]:hover,
.focus\:bg-\[\#01FFCD\]:focus {
  background-color: #01FFCD !important;
  color: #FFFFFF !important;
}

.bg-\[\#01FFCD\] *,
.hover\:bg-\[\#01FFCD\]:hover *,
.focus\:bg-\[\#01FFCD\]:focus * {
  color: #FFFFFF !important;
}


/* ===== SOURCE: static/css/public_responsive_048.css ===== */
/* Batalar public responsive and shared-card layer 048 */
:root {
  --public-max: 1240px;
  --public-gutter: clamp(16px, 3vw, 40px);
  --public-line: rgba(15, 23, 42, .09);
  --public-radius: 24px;
}

html { overflow-x: clip; }
body { min-width: 320px; }
img, svg, video { max-width: 100%; }

.public-listing-card-048 {
  min-width: 0;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--public-line);
  border-radius: 22px;
  background: #fff;
}
.public-listing-card-048__link {
  display: flex;
  height: 100%;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.public-listing-card-048__media {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #f7f7f7;
}
.public-listing-card-048__media img {
  width: 100%; height: 100%; display: block; object-fit: cover;
  transition: transform .35s ease;
}
.public-listing-card-048:hover .public-listing-card-048__media img { transform: scale(1.035); }
.public-listing-card-048__placeholder { height: 100%; display: grid; place-items: center; font-size: 2rem; color: #aaa; }
.public-listing-card-048__location,
.public-listing-card-048__special {
  position: absolute; top: 12px; display: inline-flex; align-items: center; gap: 5px;
  border-radius: 999px; background: rgba(255,255,255,.94); padding: 7px 11px;
  color: #222; font-size: 12px; font-weight: 800;
}
.public-listing-card-048__location { right: 12px; }
.public-listing-card-048__special { left: 12px; color: #00CC99; }
.public-listing-card-048__body { padding: 15px 16px 16px; }
.public-listing-card-048__body h3 { margin: 0; color: #171717; font-size: 1rem; line-height: 1.8; font-weight: 900; }
.public-listing-card-048__meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 8px; font-size: 12px; }
.public-listing-card-048__category { color: #00CC99; font-weight: 800; }
.public-listing-card-048__rating { display: inline-flex; align-items: center; gap: 4px; color: #52525b; font-weight: 800; }
.public-listing-card-048__rating i { color: #f6a800; }

.public-featured-strip-048 { padding-block: clamp(28px, 5vw, 64px); }
.public-featured-strip-048__shell {
  display: grid; grid-template-columns: minmax(0,1fr) 292px; direction: ltr;
  max-width: var(--public-max); margin-inline: auto; overflow: hidden;
  border: 1px solid var(--public-line); border-radius: 30px; background: #fff;
}
.public-featured-strip-048__track-area { min-width: 0; padding: 20px; display: flex; align-items: center; direction: rtl; }
.public-featured-strip-048__track {
  display: grid; width: 100%; grid-auto-flow: column;
  grid-auto-columns: calc((100% - 32px) / 3); gap: 16px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
}
.public-featured-strip-048__track > * { scroll-snap-align: start; }
.public-featured-strip-048__promo {
  direction: rtl; display: flex; min-height: 100%; flex-direction: column;
  justify-content: center; align-items: center; padding: 28px 20px;
  border-left: 1px solid var(--public-line); text-align: center;
}
.public-featured-strip-048__promo img { width: 136px; height: 136px; object-fit: contain; }
.public-featured-strip-048__promo > span { margin-top: 16px; color: #00CC99; font-size: 13px; font-weight: 900; }
.public-featured-strip-048__promo h2 { margin: 8px 0 0; font-size: 1.55rem; line-height: 1.7; font-weight: 950; }
.public-featured-strip-048__controls { display: flex; gap: 10px; margin-top: 22px; }
.public-featured-strip-048__controls button {
  width: 46px; height: 46px; display: grid; place-items: center; border-radius: 999px;
  border: 1px solid var(--public-line); background: #f8f8f8;
}
.public-featured-strip-048__promo > a { margin-top: 18px; display: inline-flex; align-items: center; gap: 6px; color: #171717; font-size: 13px; font-weight: 900; text-decoration: none; }
.public-featured-strip-048__empty { min-height: 220px; display: grid; place-items: center; color: #777; }

/* Shared responsive grids */
.listing-grid, .business-similar-grid-044, [data-public-grid="listings"] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
}
.blog-grid, [data-public-grid="blog"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 24px);
}

/* Business detail responsive corrections */
.business-container-044 { width: min(var(--public-max), calc(100% - (2 * var(--public-gutter)))) !important; }
.business-gallery-044 img { width: 100%; height: 100%; object-fit: cover; }
.business-detail-layout-044, .business-main-layout-044 { min-width: 0; }
.business-tabs-044 { overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.business-tabs-044::-webkit-scrollbar { display: none; }
.business-review-form-044 input,
.business-review-form-044 textarea,
.business-inquiry-card-044 input,
.business-inquiry-card-044 textarea { max-width: 100%; }

/* Forms and filters */
.public-filter-layout, .filter-shell { min-width: 0; }
.public-filter-sidebar, .filter-card { max-width: 100%; }
input, select, textarea, button { font: inherit; }

@media (max-width: 1180px) {
  .listing-grid, .business-similar-grid-044, [data-public-grid="listings"] { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .public-featured-strip-048__track { grid-auto-columns: calc((100% - 16px) / 2); }
}

@media (max-width: 960px) {
  .public-featured-strip-048__shell { grid-template-columns: 1fr; direction: rtl; }
  .public-featured-strip-048__promo { grid-row: 1; border-left: 0; border-bottom: 1px solid var(--public-line); min-height: auto; }
  .public-featured-strip-048__track-area { grid-row: 2; }
  .blog-grid, [data-public-grid="blog"] { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .business-detail-layout-044, .business-main-layout-044 { grid-template-columns: 1fr !important; }
  .business-inquiry-card-044 { position: static !important; width: 100% !important; }
}

@media (max-width: 720px) {
  :root { --public-gutter: 14px; }
  .listing-grid, .business-similar-grid-044, [data-public-grid="listings"] { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .public-featured-strip-048 { padding-block: 28px; }
  .public-featured-strip-048__shell { border-radius: 22px; }
  .public-featured-strip-048__track-area { padding: 12px; }
  .public-featured-strip-048__track { grid-auto-columns: 82%; gap: 12px; }
  .public-featured-strip-048__promo img { width: 112px; height: 112px; }
  .business-gallery-044 { grid-template-columns: 1fr !important; }
  .business-gallery-044 > * { min-height: 220px; }
  .business-summary-grid-044, .business-features-grid-044 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 480px) {
  .listing-grid, .business-similar-grid-044, [data-public-grid="listings"],
  .blog-grid, [data-public-grid="blog"] { grid-template-columns: 1fr; }
  .public-featured-strip-048__track { grid-auto-columns: 90%; }
  .public-listing-card-048__body { padding: 13px; }
  .business-summary-grid-044, .business-features-grid-044 { grid-template-columns: 1fr !important; }
}


/* ===== SOURCE: static/css/batalar_global_067.css ===== */
/* BATALAR 067 — IranYekanBakh global typography and brand controls */
@font-face {
    font-family: "IranYekanBakh";
    src: url("../fonts/YekanBakh-VF.ttf") format("truetype-variations");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}

:root {
    --batalar-primary: #01FFCD;
    --batalar-primary-text: #26312d;
    --batalar-font: "IranYekanBakh", Tahoma, Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea,
option {
    font-family: var(--batalar-font) !important;
}

html,
body {
    font-weight: 400;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

body,
p,
li,
dd,
dt,
label,
input,
select,
textarea {
    font-weight: 400;
}

small,
.text-light,
.font-light {
    font-weight: 300 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--batalar-font) !important;
    font-weight: 500;
}

strong,
b {
    font-weight: 600;
}

/* Primary actions use the exact project color. Icon-only and carousel controls stay neutral. */
button[type="submit"],
input[type="submit"],
a.btn-primary,
a.button-primary,
a[class*="cta-button"],
a[class*="__button"]:not(.carousel-button):not([class*="control"]),
.home-search-button,
.home-top-add-service,
.footer-cta a,
.footer-cta button {
    border-color: var(--batalar-primary) !important;
    background: var(--batalar-primary) !important;
    color: var(--batalar-primary-text) !important;
}

button[type="submit"] *,
input[type="submit"] *,
a.btn-primary *,
a.button-primary *,
a[class*="cta-button"] *,
a[class*="__button"]:not(.carousel-button):not([class*="control"]) *,
.home-search-button * {
    color: inherit !important;
}

.footer-cta {
    border-color: var(--batalar-primary) !important;
    background: var(--batalar-primary) !important;
    color: var(--batalar-primary-text) !important;
}

.footer-cta * {
    color: var(--batalar-primary-text) !important;
}

/* Public footer gets breathing room from every edge. */
.batalar-footer-067,
footer.site-footer,
footer.public-footer,
footer[class*="public-footer"],
footer[class*="site-footer"] {
    width: auto !important;
    margin: clamp(18px, 2.6vw, 42px) !important;
    border-radius: clamp(24px, 2.5vw, 40px) !important;
    overflow: hidden;
}

@media (max-width: 640px) {
    .batalar-footer-067,
    footer.site-footer,
    footer.public-footer,
    footer[class*="public-footer"],
    footer[class*="site-footer"] {
        margin: 14px !important;
        border-radius: 24px !important;
    }
}

/* BATALAR-068-START */
/* Global light Yekan Bakh typography */
/* BATALAR-021-GLOBAL-WEIGHT-OVERRIDE-REMOVED */

input::placeholder,
textarea::placeholder {
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
}

/* Keep icon glyphs independent from text weight. */
.ph,
.ph-fill,
[class^="ph-"],
[class*=" ph-"] {
    font-variation-settings: normal !important;
}

/* Public footer exact requested background. */
footer,
.batalar-footer-063,
.batalar-footer-067,
footer.site-footer,
footer.public-footer,
footer[class*="footer"] {
    background-color: #3C3C3B !important;
    background-image: none !important;
}

/* Preserve the brand CTA color defined in stage 067. */
.footer-cta,
.footer-cta a,
.footer-cta button {
    background: #01FFCD !important;
}
/* BATALAR-068-END */


/* ===== SOURCE: static/css/frontend_stack_069.css ===== */
/* BATALAR 069 — shared Tailwind/HTMX/Alpine/SweetAlert foundation */
[x-cloak] { display: none !important; }

.batalar-htmx-indicator-069 {
    position: fixed;
    z-index: 99999;
    inset-inline: 0;
    inset-block-start: 0;
    height: 3px;
    pointer-events: none;
    opacity: 0;
    background: rgba(16, 255, 205, 0.14);
    transition: opacity 160ms ease;
}

.batalar-htmx-indicator-069.htmx-request,
.htmx-request .batalar-htmx-indicator-069,
body.batalar-request-pending-069 .batalar-htmx-indicator-069 {
    opacity: 1;
}

.batalar-htmx-indicator-069__spinner {
    display: block;
    width: 34%;
    height: 100%;
    border-radius: 999px;
    background: #01FFCD;
    box-shadow: 0 0 18px rgba(16, 255, 205, 0.55);
    animation: batalarHtmxProgress069 1.05s ease-in-out infinite;
}

@keyframes batalarHtmxProgress069 {
    0% { transform: translateX(210%); }
    50% { transform: translateX(75%); }
    100% { transform: translateX(-310%); }
}

.htmx-request button[type="submit"],
.htmx-request input[type="submit"],
button[aria-busy="true"] {
    cursor: wait !important;
    opacity: 0.72;
}

.htmx-swapping { opacity: 0; transition: opacity 140ms ease-out; }
.htmx-added { animation: batalarHtmxReveal069 180ms ease-out; }

@keyframes batalarHtmxReveal069 {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.swal2-container { font-family: "Yekan Bakh VF", "Yekan Bakh", sans-serif !important; }
.swal2-popup {
    border-radius: 24px !important;
    padding: 1.6rem !important;
    direction: rtl !important;
}
.swal2-title { font-size: 1.24rem !important; font-weight: 700 !important; }
.swal2-html-container { font-size: 0.94rem !important; line-height: 1.9 !important; }
.swal2-confirm {
    border-radius: 999px !important;
    background: #01FFCD !important;
    color: #252925 !important;
    box-shadow: none !important;
    font-weight: 700 !important;
}
.swal2-cancel {
    border-radius: 999px !important;
    background: #f2f3f3 !important;
    color: #3C3C3B !important;
    font-weight: 600 !important;
}
.swal2-timer-progress-bar { background: #01FFCD !important; }

.batalar-ui-focus-069:focus-visible,
[data-ui-stack="069"] :focus-visible {
    outline: 2px solid #01FFCD;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}


/* ===== SOURCE: static/css/home_refresh_070.css ===== */
/* BATALAR 070 — home hero, sections and footer CTA */
:root {
    --batalar-primary: #01FFCD;
    --batalar-primary-soft: #EBFBF7;
    --batalar-primary-text: #00CC99;
    --batalar-ink: #242726;
}

/* Hero background replaces the old fading diamond. */
.exact-home-hero {
    position: relative;
    overflow: hidden;
}

.exact-home-hero__diamond {
    display: none !important;
}

.exact-home-hero__content {
    position: relative;
    isolation: isolate;
}

.exact-home-hero__content::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset-block-start: -42px;
    inset-inline-start: 50%;
    width: min(880px, calc(100% - 24px));
    height: 560px;
    transform: translateX(-50%);
    background-image: url("../images/hero-bg.svg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
    pointer-events: none;
}

/* Header refinements. */
.home-top-header img[src*="batalar-logo"],
.home-top-brand-logo-051 img,
.home-top-brand-logo-052 img,
.home-top-brand-logo-053 img {
    width: 86px !important;
    max-height: 42px !important;
    height: auto !important;
}

.home-top-menu__trigger {
    min-height: 46px !important;
    padding: 8px 14px !important;
    gap: 8px !important;
}

.home-top-menu__trigger i {
    font-size: 20px !important;
}

.home-service-button,
.home-top-add-service {
    min-height: 46px !important;
    padding: 9px 14px !important;
    gap: 8px !important;
    border: 0 !important;
    background: #EBFBF7 !important;
    color: #00CC99 !important;
    box-shadow: none !important;
}

.home-service-button *,
.home-top-add-service * {
    color: #00CC99 !important;
}

/* Fixed hero typography. */
.exact-home-hero__title,
.exact-home-title-fixed,
.exact-home-title-rotator,
.exact-home-title-rotator__item {
    font-size: 44px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
}

.exact-home-hero__subtitle {
    margin-top: 12px !important;
    font-size: 34px !important;
    line-height: 1.55 !important;
    font-weight: 300 !important;
}

/* Compact search with a proportional CTA. */
.exact-home-search {
    width: min(880px, calc(100% - 24px)) !important;
    min-height: 82px !important;
    margin-top: 40px !important;
    grid-template-columns: minmax(0, 1.12fr) 238px 142px !important;
    padding: 8px !important;
}

.exact-home-search__field {
    min-height: 64px !important;
    padding-inline: 18px !important;
    gap: 14px !important;
}

.exact-home-search__city {
    position: relative;
    border-inline: 0 !important;
}

.exact-home-search__city::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 50%;
    width: 1px;
    height: 26px;
    border-radius: 999px;
    transform: translateY(-50%);
    background: #E9E9E9;
}

.exact-home-search__main-icon {
    font-size: 38px !important;
    font-weight: 300 !important;
}

.exact-home-search__submit,
.home-search-button {
    min-height: 56px !important;
    margin: 5px !important;
    padding: 6px 12px !important;
    border: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* Stats: icon on the RTL right side, number bold, visible plus. */
.exact-home-stats {
    margin-top: 27px !important;
    gap: 24px !important;
    font-size: 13px !important;
    font-weight: 300 !important;
}

.exact-home-stat-070 {
    display: inline-flex;
    direction: rtl;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.exact-home-stat-070 > i {
    order: -1;
    color: #2F3331;
    font-size: 22px;
}

.exact-home-stat-070__value {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-weight: 800;
}

.exact-home-stat-070__plus {
    color: #F5A400;
    font-size: 17px;
    font-weight: 800;
}

/* Category shortcuts. */
.exact-home-categories {
    width: min(880px, 100%) !important;
    margin-top: 58px !important;
}

.exact-home-category {
    gap: 12px !important;
}

.exact-home-category__icon {
    width: 66px !important;
    height: 66px !important;
    padding: 8px !important;
}

.exact-home-category__icon img,
.exact-home-category__icon svg,
.exact-home-category__icon i {
    width: 34px !important;
    height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    font-size: 34px !important;
}

.exact-home-category strong {
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* New ordered homepage sections. */
.home-sections-070 {
    display: flex;
    flex-direction: column;
    gap: clamp(42px, 5vw, 76px);
    padding-block: clamp(34px, 4vw, 62px);
}

.home-carousel-070 {
    width: 100%;
}

.home-carousel-070__header,
.home-ads-070__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.home-carousel-070__title,
.home-ads-070__title {
    margin: 0;
    color: #242726;
    font-size: clamp(24px, 2.2vw, 32px);
    line-height: 1.35;
}

.home-carousel-070__title-light,
.home-ads-070__title-light {
    font-weight: 300;
}

.home-carousel-070__title-strong,
.home-ads-070__title-strong {
    font-weight: 500;
}

.home-carousel-070__actions {
    display: flex;
    direction: ltr;
    align-items: center;
    gap: 10px;
}

.home-carousel-070__all {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding-inline: 20px;
    border-radius: 999px;
    background: #01FFCD;
    color: #27302d;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.home-carousel-070__controls {
    display: inline-flex;
    gap: 8px;
}

.home-carousel-070__controls button {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #ECECEC;
    border-radius: 999px;
    background: #F7F7F7;
    color: #252827;
    cursor: pointer;
}

.home-carousel-070__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 48px) / 4);
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 2px 0 10px;
}

.home-carousel-070__track > * {
    min-width: 0;
    scroll-snap-align: start;
}

.home-carousel-070__track::-webkit-scrollbar {
    height: 5px;
}

.home-carousel-070__track::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #D2DBD8;
}

.home-carousel-070__empty {
    grid-column: 1 / -1;
    min-height: 180px;
    display: grid;
    place-items: center;
    border: 1px dashed #DADADA;
    border-radius: 22px;
    color: #777;
}

/* Advertisements. */
.home-ads-070__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.home-ad-card-070 {
    position: relative;
    min-height: 210px;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    padding: 28px;
    border-radius: 28px;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(115deg, #194b42, #22312e);
}

.home-ad-card-070 img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-ad-card-070::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(10, 22, 19, .88), rgba(10, 22, 19, .08) 70%);
}

.home-ad-card-070__content {
    position: relative;
    z-index: 1;
}

.home-ad-card-070__content h3 {
    margin: 0 0 7px;
    font-size: 23px;
    font-weight: 600;
}

.home-ad-card-070__content p {
    margin: 0;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 300;
}

/* CTA is visually and structurally outside the footer. */
footer .footer-cta {
    display: none !important;
}

.footer-cta-070 {
    width: min(1320px, calc(100% - 48px));
    margin: 52px auto 22px;
    padding: 30px 34px;
    display: flex;
    direction: rtl;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-radius: 30px;
    background: #01FFCD;
    color: #25312d;
    box-shadow: 0 20px 50px rgba(16, 255, 205, .17);
}

.footer-cta-070__content h2 {
    margin: 0 0 8px;
    font-size: clamp(24px, 2.3vw, 34px);
    font-weight: 600;
}

.footer-cta-070__content p {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.9;
}

.footer-cta-070__button {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding-inline: 24px;
    border-radius: 999px;
    background: #3C3C3B;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

@media (max-width: 1100px) {
    .home-carousel-070__track {
        grid-auto-columns: calc((100% - 32px) / 3);
    }
}

@media (max-width: 900px) {
    .exact-home-hero__content::before {
        width: min(680px, calc(100% - 24px));
        height: 500px;
        inset-block-start: -20px;
    }

    .exact-home-search {
        width: min(680px, calc(100% - 24px)) !important;
        grid-template-columns: 1fr !important;
    }

    .exact-home-search__city::before {
        display: none;
    }

    .exact-home-search__submit,
    .home-search-button {
        margin-top: 8px !important;
    }

    .home-carousel-070__track {
        grid-auto-columns: calc((100% - 16px) / 2);
    }
}

@media (max-width: 640px) {
    .exact-home-hero__content::before {
        width: calc(100% - 20px);
        height: 390px;
        inset-block-start: 0;
    }

    .exact-home-hero__title,
    .exact-home-title-fixed,
    .exact-home-title-rotator,
    .exact-home-title-rotator__item {
        font-size: 34px !important;
    }

    .exact-home-hero__subtitle {
        font-size: 23px !important;
    }

    .exact-home-stats {
        gap: 12px !important;
    }

    .exact-home-stat-070 {
        font-size: 11px;
    }

    .exact-home-stat-070 > i {
        font-size: 19px;
    }

    .home-carousel-070__header,
    .home-ads-070__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .home-carousel-070__title,
    .home-ads-070__title {
        font-size: 23px;
    }

    .home-carousel-070__actions {
        width: 100%;
        justify-content: space-between;
    }

    .home-carousel-070__track {
        grid-auto-columns: 86%;
        gap: 12px;
    }

    .home-ads-070__grid {
        grid-template-columns: 1fr;
    }

    .home-ad-card-070 {
        min-height: 180px;
        padding: 22px;
    }

    .footer-cta-070 {
        width: calc(100% - 28px);
        margin-top: 36px;
        padding: 24px 20px;
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .footer-cta-070__button {
        width: 100%;
    }
}

/* BATALAR-028-PUBLIC-FOOTER-BRANDING-START */

/* Footer typography: larger, but limited to the dark public footer. */
.public-footer .footer-grid h3 {
    font-size: 1rem !important;
    line-height: 1.6 !important;
}

.public-footer .footer-grid section:not(:first-child) a {
    font-size: .92rem !important;
    line-height: 1.8 !important;
}

.public-footer .footer-grid section:first-child > p {
    font-size: .96rem !important;
    line-height: 2 !important;
}

.public-footer .footer-bottom {
    font-size: .8rem !important;
    line-height: 1.8 !important;
}

/* CTA text uses BLACK OLIVE. */
.footer-cta-070__button {
    color: var(--btl-ink, #25312d) !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
}

/* White SVG wordmark + one standalone primary-colored heart. */
.public-footer .footer-brand-lockup-028 {
    display: inline-flex !important;
    align-items: center !important;
    gap: .85rem !important;
    color: #fff !important;
}

.public-footer .footer-brand-heart-028 {
    display: inline-flex !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--btl-primary, #01FFCD) !important;
    font-size: 2rem !important;
    line-height: 1 !important;
    transform: none !important;
}

.public-footer .footer-brand-copy-028 {
    display: grid !important;
    align-items: start !important;
    gap: .2rem !important;
}

.public-footer .footer-brand-logo-028 {
    display: block !important;
    width: auto !important;
    height: 2.15rem !important;
    max-width: 8rem !important;
    object-fit: contain !important;
}

.public-footer .footer-brand-copy-028 small {
    margin: 0 !important;
    color: rgba(255, 255, 255, .62) !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}

@media (max-width: 760px) {
    .public-footer .footer-grid h3 {
        font-size: .96rem !important;
    }

    .public-footer .footer-grid section:not(:first-child) a,
    .public-footer .footer-grid section:first-child > p {
        font-size: .88rem !important;
    }

    .public-footer .footer-brand-logo-028 {
        height: 1.95rem !important;
    }

    .public-footer .footer-brand-heart-028 {
        font-size: 1.8rem !important;
    }
}

/* BATALAR-028-PUBLIC-FOOTER-BRANDING-END */

/* BATALAR-030-ABOUT-FRAME-CTA-COLORS-START */

/* Remove every visual layer around the homepage about image. */
#about [data-home-about-media-030] {
    display: block !important;
    position: relative !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
}

#about [data-home-about-media-030]::before,
#about [data-home-about-media-030]::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
}

#about [data-home-about-media-030] > img {
    display: block !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
}

/* Keep both public CTA labels in BLACK OLIVE, regardless of later rules. */
html body #about a.home-about-search-cta-030,
html body #about a.home-about-search-cta-030:link,
html body #about a.home-about-search-cta-030:visited,
html body #about a.home-about-search-cta-030:hover,
html body #about a.home-about-search-cta-030:focus-visible {
    color: #25312d !important;
    -webkit-text-fill-color: #25312d !important;
    opacity: 1 !important;
    font-weight: 800 !important;
}

html body .footer-cta-070 a.footer-cta-070__button,
html body .footer-cta-070 a.footer-cta-070__button:link,
html body .footer-cta-070 a.footer-cta-070__button:visited,
html body .footer-cta-070 a.footer-cta-070__button:hover,
html body .footer-cta-070 a.footer-cta-070__button:focus-visible {
    color: #25312d !important;
    -webkit-text-fill-color: #25312d !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

html body .footer-cta-070 a.footer-cta-070__button *,
html body #about a.home-about-search-cta-030 * {
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
    opacity: 1 !important;
}

/* BATALAR-030-ABOUT-FRAME-CTA-COLORS-END */

/* BATALAR-031-CATALOG-RANGE-CARDS-START */

.catalog-dual-range-031 {
    position: relative;
    height: 2rem;
    direction: ltr;
}

.catalog-range-input-031 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 2rem;
    margin: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    pointer-events: none;
    outline: none;
}

.catalog-range-input-031::-webkit-slider-runnable-track {
    width: 100%;
    height: .375rem;
    border: 0;
    border-radius: 999px;
    background: #e4e4e7;
}

.catalog-range-input-031[data-range-role="max"]::-webkit-slider-runnable-track {
    background: transparent;
}

.catalog-range-input-031::-moz-range-track {
    width: 100%;
    height: .375rem;
    border: 0;
    border-radius: 999px;
    background: #e4e4e7;
}

.catalog-range-input-031[data-range-role="max"]::-moz-range-track {
    background: transparent;
}

.catalog-range-input-031::-webkit-slider-thumb {
    width: 1.125rem;
    height: 1.125rem;
    margin-top: -.375rem;
    appearance: none;
    -webkit-appearance: none;
    border: .1875rem solid #fff;
    border-radius: 999px;
    background: var(--btl-primary, #01FFCD);
    box-shadow: 0 0 0 1px rgba(37, 49, 45, .18), 0 4px 12px rgba(16, 255, 205, .22);
    cursor: grab;
    pointer-events: auto;
}

.catalog-range-input-031::-moz-range-thumb {
    width: .875rem;
    height: .875rem;
    border: .1875rem solid #fff;
    border-radius: 999px;
    background: var(--btl-primary, #01FFCD);
    box-shadow: 0 0 0 1px rgba(37, 49, 45, .18), 0 4px 12px rgba(16, 255, 205, .22);
    cursor: grab;
    pointer-events: auto;
}

.catalog-range-input-031:active::-webkit-slider-thumb {
    cursor: grabbing;
    box-shadow: 0 0 0 .3rem rgba(16, 255, 205, .16);
}

.catalog-range-input-031:focus-visible::-webkit-slider-thumb,
.catalog-range-input-031:focus-visible::-moz-range-thumb {
    outline: .125rem solid #25312d;
    outline-offset: .125rem;
}

/* BATALAR-031-CATALOG-RANGE-CARDS-END */

/* BATALAR-032-RTL-SLIDER-SEARCH-BUTTON-START */

/* Reverse numeric sliders for the RTL catalog sidebar. */
.catalog-dual-range-031,
.catalog-dual-range-031 .catalog-range-input-031 {
    direction: rtl !important;
}

/* Primary green button with BLACK OLIVE text and lighter label weight. */
html body button[data-catalog-search-submit].catalog-search-submit-032,
html body button[data-catalog-search-submit].catalog-search-submit-032:focus-visible {
    background: var(--btl-primary, #01FFCD) !important;
    background-color: var(--btl-primary, #01FFCD) !important;
    color: #25312d !important;
    -webkit-text-fill-color: #25312d !important;
    font-weight: 500 !important;
    font-variation-settings: "wght" 500 !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

html body button[data-catalog-search-submit].catalog-search-submit-032:hover {
    background: #00e8b9 !important;
    background-color: #00e8b9 !important;
}

html body button[data-catalog-search-submit].catalog-search-submit-032 > i {
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
    font-weight: 400 !important;
}

/* BATALAR-032-RTL-SLIDER-SEARCH-BUTTON-END */

/* BATALAR-033-SERVICES-STORIES-START */

.services-stories-033 {
    background: #fff;
    padding: 1rem 0 4rem;
}

.services-stories-shell-033 {
    width: min(80rem, calc(100% - 2rem));
    margin-inline: auto;
}

.services-stories-header-033 {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.services-stories-header-033 p {
    margin: 0;
    color: #00b891;
    font-size: .7rem;
    font-weight: 900;
}

.services-stories-header-033 h2 {
    margin: .25rem 0 0;
    color: #25312d;
    font-size: 1.65rem;
    font-weight: 900;
}

.services-stories-header-033 > span {
    color: #71717a;
    font-size: .72rem;
    font-weight: 700;
}

.services-story-strip-033 {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    padding: .5rem .25rem 1rem;
    scroll-snap-type: inline proximity;
    scrollbar-width: none;
}

.services-story-strip-033::-webkit-scrollbar {
    display: none;
}

.services-story-account-033 {
    flex: 0 0 6.25rem;
    min-width: 6.25rem;
    text-align: center;
    scroll-snap-align: start;
}

.services-story-trigger-033 {
    display: inline-grid;
    place-items: center;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    text-decoration: none;
}

.services-story-ring-033 {
    position: relative;
    display: grid;
    width: 5.35rem;
    height: 5.35rem;
    place-items: center;
    border-radius: 999px;
    padding: .22rem;
}

.services-story-ring-033.has-story-033 {
    background:
        conic-gradient(
            from 35deg,
            #ff5d8f,
            #ffb800,
            #a855f7,
            #ff5d8f
        );
}

.services-story-ring-033.is-premium-033 {
    background: #01FFCD;
    box-shadow:
        0 0 0 .18rem rgba(16, 255, 205, .16);
}

.services-story-ring-033.no-story-033 {
    opacity: .94;
}

.services-story-avatar-033 {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    overflow: hidden;
    border: .2rem solid #fff;
    border-radius: inherit;
    background: #f4f4f5;
}

.services-story-avatar-033 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.services-story-crown-033,
.services-story-count-033 {
    position: absolute;
    right: -.15rem;
    bottom: .1rem;
    display: grid;
    min-width: 1.45rem;
    height: 1.45rem;
    place-items: center;
    border: .16rem solid #fff;
    border-radius: 999px;
    background: #25312d;
    color: #01FFCD;
    font-size: .72rem;
    font-weight: 900;
}

.services-story-count-033 {
    background: #fff;
    color: #25312d;
}

.services-story-account-033 > strong {
    display: block;
    overflow: hidden;
    margin-top: .6rem;
    color: #27272a;
    font-size: .78rem;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.services-story-account-033 > small {
    display: block;
    overflow: hidden;
    margin-top: .2rem;
    color: #a1a1aa;
    font-size: .62rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.services-stories-empty-033 {
    border: 1px dashed #e4e4e7;
    border-radius: 1.5rem;
    padding: 2rem;
    color: #a1a1aa;
    text-align: center;
    font-size: .8rem;
    font-weight: 700;
}

.services-story-viewer-033 {
    width: min(28rem, calc(100% - 1rem));
    max-width: none;
    height: min(48rem, calc(100dvh - 1rem));
    max-height: none;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 1.75rem;
    background: #111714;
    color: #fff;
    box-shadow: 0 2rem 5rem rgba(0, 0, 0, .35);
}

.services-story-viewer-033::backdrop {
    background: rgba(0, 0, 0, .78);
    backdrop-filter: blur(.35rem);
}

.services-story-viewer-shell-033 {
    position: relative;
    display: grid;
    height: 100%;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.services-story-progress-033 {
    display: flex;
    gap: .3rem;
    padding: .75rem .85rem .2rem;
}

.services-story-progress-033 span {
    flex: 1;
    height: .18rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .3);
}

.services-story-progress-033 i {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #01FFCD;
}

.services-story-viewer-header-033 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem 1rem;
}

.services-story-viewer-header-033 > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .7rem;
}

.services-story-viewer-header-033 img {
    width: 2.6rem;
    height: 2.6rem;
    border: .14rem solid #01FFCD;
    border-radius: 999px;
    object-fit: cover;
}

.services-story-viewer-header-033 span {
    min-width: 0;
}

.services-story-viewer-header-033 strong,
.services-story-viewer-header-033 small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.services-story-viewer-header-033 strong {
    font-size: .85rem;
    font-weight: 900;
}

.services-story-viewer-header-033 small {
    margin-top: .2rem;
    color: #01FFCD;
    font-size: .62rem;
    font-weight: 800;
}

.services-story-viewer-header-033 button {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
}

.services-story-media-033 {
    position: relative;
    min-height: 0;
    overflow: hidden;
    background: #090d0b;
}

.services-story-media-033 > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.services-story-media-033 button {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 28%;
    border: 0;
    background: transparent;
    color: transparent;
    cursor: pointer;
}

.services-story-media-033 [data-story-prev-033] {
    right: 0;
}

.services-story-media-033 [data-story-next-033] {
    left: 0;
}

.services-story-viewer-footer-033 {
    display: grid;
    gap: .7rem;
    padding: 1rem;
    background:
        linear-gradient(
            180deg,
            rgba(17, 23, 20, .72),
            #111714
        );
}

.services-story-viewer-footer-033 p {
    min-height: 1.4rem;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.8;
}

.services-story-viewer-footer-033 a {
    display: inline-flex;
    min-height: 2.8rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: 1rem;
    background: #01FFCD;
    color: #25312d;
    font-size: .75rem;
    font-weight: 900;
    text-decoration: none;
}

html.services-story-open-033 {
    overflow: hidden;
}

@media (max-width: 640px) {
    .services-stories-033 {
        padding-bottom: 3rem;
    }

    .services-stories-shell-033 {
        width: calc(100% - 1rem);
    }

    .services-stories-header-033 {
        align-items: start;
    }

    .services-stories-header-033 > span {
        max-width: 8rem;
        text-align: left;
        line-height: 1.7;
    }

    .services-story-strip-033 {
        gap: .85rem;
    }

    .services-story-account-033 {
        flex-basis: 5.5rem;
        min-width: 5.5rem;
    }

    .services-story-ring-033 {
        width: 4.7rem;
        height: 4.7rem;
    }

    .services-story-viewer-033 {
        width: 100%;
        height: 100dvh;
        border-radius: 0;
    }
}

/* BATALAR-033-SERVICES-STORIES-END */

/* BATALAR-036-STORY-VIEWER-SEEN-START */

/* Seen stories lose the colored ring for both premium and regular accounts. */
.services-story-ring-033.is-seen-036 {
    background: #e4e4e7 !important;
    box-shadow: none !important;
}

.services-story-ring-033.is-seen-036 .services-story-crown-033 {
    background: #52525b !important;
    color: #d4d4d8 !important;
}

/* Full-screen backdrop with one exact 9:16 media stage. */
.services-story-viewer-033.story-viewer-fullscreen-036 {
    inset: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    height: 100dvh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: rgba(5, 8, 7, .94) !important;
    box-shadow: none !important;
}

.services-story-viewer-033.story-viewer-fullscreen-036[open] {
    display: grid !important;
    place-items: center !important;
}

.services-story-viewer-033.story-viewer-fullscreen-036::backdrop {
    background: rgba(0, 0, 0, .86) !important;
    backdrop-filter: blur(.4rem) !important;
}

.story-viewer-fullscreen-036 .services-story-viewer-shell-033 {
    position: relative !important;
    display: block !important;
    width: min(100vw, calc(100dvh * .5625)) !important;
    height: min(100dvh, calc(100vw * 1.7777778)) !important;
    aspect-ratio: 9 / 16 !important;
    overflow: hidden !important;
    background: #050806 !important;
    box-shadow: 0 2rem 6rem rgba(0, 0, 0, .38) !important;
}

.story-viewer-fullscreen-036 .services-story-media-033 {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #050806 !important;
}

.story-viewer-fullscreen-036 .services-story-media-033 > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.story-viewer-fullscreen-036 .services-story-progress-033 {
    position: absolute !important;
    z-index: 8 !important;
    inset: .75rem .8rem auto !important;
    padding: 0 !important;
}

.story-viewer-fullscreen-036 .services-story-viewer-header-033 {
    position: absolute !important;
    z-index: 8 !important;
    inset: 1.35rem 0 auto !important;
    padding: .85rem 1rem !important;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, .56),
            transparent
        ) !important;
}

.story-viewer-fullscreen-036 .services-story-viewer-header-033 img {
    width: 2.75rem !important;
    height: 2.75rem !important;
}

.story-viewer-fullscreen-036 .services-story-viewer-header-033 button {
    background: rgba(0, 0, 0, .38) !important;
    backdrop-filter: blur(.4rem) !important;
}

.story-viewer-fullscreen-036 .services-story-viewer-footer-033 {
    position: absolute !important;
    z-index: 8 !important;
    inset: auto 0 0 !important;
    display: grid !important;
    gap: .75rem !important;
    padding: 4.5rem 1rem 1rem !important;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(0, 0, 0, .82)
        ) !important;
}

.story-viewer-fullscreen-036 .services-story-viewer-footer-033 p {
    min-height: 0 !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: .82rem !important;
    font-weight: 600 !important;
    line-height: 1.8 !important;
}

.story-viewer-fullscreen-036 .services-story-viewer-footer-033 a {
    min-height: 3.25rem !important;
    border-radius: 1.1rem !important;
    background: var(--btl-primary, #01FFCD) !important;
    color: #25312d !important;
    -webkit-text-fill-color: #25312d !important;
    font-size: .8rem !important;
    font-weight: 800 !important;
}

.story-viewer-fullscreen-036 .services-story-media-033 button {
    z-index: 5 !important;
    width: 34% !important;
}

@media (max-width: 640px) {
    .story-viewer-fullscreen-036 .services-story-viewer-shell-033 {
        box-shadow: none !important;
    }
}

/* BATALAR-036-STORY-VIEWER-SEEN-END */

/* BATALAR-037-LISTING-GALLERY-16X9-START */

.listing-gallery-037 {
    width: 100%;
    overflow: hidden;
    border-radius: 2rem;
    background: #f4f4f5;
}

.listing-gallery-037__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .35rem;
    padding: .35rem;
    background: #fff;
}

.listing-gallery-037__item {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    min-width: 0;
    overflow: hidden;
    border: 0;
    border-radius: 1.15rem;
    background: #f4f4f5;
    padding: 0;
    cursor: zoom-in;
}

.listing-gallery-037__item.is-featured {
    grid-column: 1 / -1;
}

.listing-gallery-037__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .4s ease;
}

.listing-gallery-037__item:hover .listing-gallery-037__image {
    transform: scale(1.025);
}

.listing-gallery-037__featured-label,
.listing-gallery-037__more {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    background: rgba(37, 49, 45, .82);
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
    backdrop-filter: blur(.45rem);
}

.listing-gallery-037__featured-label {
    inset: auto auto .75rem .75rem;
    padding: .55rem .75rem;
}

.listing-gallery-037__more {
    inset: auto .75rem .75rem auto;
    padding: .65rem .85rem;
}

.listing-gallery-037__empty {
    display: grid;
    min-height: 18rem;
    place-items: center;
    align-content: center;
    gap: .75rem;
    color: #a1a1aa;
    text-align: center;
    font-size: .78rem;
    font-weight: 800;
}

.listing-gallery-037__empty i {
    font-size: 3.5rem;
}

/*
 * Desktop geometry:
 * Four equal columns × two equal rows.
 * Every single cell is 16:9.
 * The featured image spans 2×2 cells, so it is also exactly 16:9.
 */
@media (min-width: 900px) {
    .listing-gallery-037__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-template-rows: repeat(2, minmax(0, 1fr));
        aspect-ratio: 32 / 9;
        gap: 0;
        padding: 0;
        direction: ltr;
    }

    .listing-gallery-037__item {
        width: 100%;
        height: 100%;
        aspect-ratio: 16 / 9;
        border-radius: 0;
        outline: .22rem solid #fff;
        outline-offset: -.22rem;
    }

    .listing-gallery-037__item.is-featured {
        grid-column: 3 / 5;
        grid-row: 1 / 3;
    }

    .listing-gallery-037__item.is-secondary {
        grid-column: auto;
        grid-row: auto;
    }

    .listing-gallery-037__featured-label {
        inset: auto .8rem .8rem auto;
        direction: rtl;
    }

    .listing-gallery-037__more {
        direction: rtl;
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .listing-gallery-037__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .listing-gallery-037__item.is-featured {
        grid-column: 1 / -1;
    }
}

@media (max-width: 639px) {
    .listing-gallery-037 {
        border-radius: 1.4rem;
    }

    .listing-gallery-037__grid {
        gap: .3rem;
        padding: .3rem;
    }

    .listing-gallery-037__item {
        border-radius: .9rem;
    }

    .listing-gallery-037__featured-label {
        display: none;
    }

    .listing-gallery-037__more {
        inset: auto .5rem .5rem auto;
        padding: .55rem .65rem;
        font-size: .62rem;
    }
}

/* BATALAR-037-LISTING-GALLERY-16X9-END */

/* BATALAR-038-LISTING-STORIES-START */

.listing-stories-038 {
    margin-top: 1.25rem;
    padding: 1.15rem 0 1.5rem;
    border-bottom: 1px solid #f4f4f5;
}

.listing-stories-038__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.listing-stories-038__header p {
    margin: 0;
    color: #00b891;
    font-size: .68rem;
    font-weight: 900;
}

.listing-stories-038__header h2 {
    margin: .25rem 0 0;
    color: #25312d;
    font-size: 1.2rem;
    font-weight: 900;
}

.listing-stories-038__header > span {
    flex: 0 0 auto;
    color: #a1a1aa;
    font-size: .68rem;
    font-weight: 800;
}

.listing-stories-038__strip {
    display: flex;
    gap: .8rem;
    overflow-x: auto;
    padding: .25rem .1rem .75rem;
    scroll-snap-type: inline proximity;
    scrollbar-width: none;
}

.listing-stories-038__strip::-webkit-scrollbar {
    display: none;
}

.listing-story-card-038 {
    display: grid;
    flex: 0 0 7.2rem;
    min-width: 7.2rem;
    gap: .5rem;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: right;
    scroll-snap-align: start;
    cursor: pointer;
}

.listing-story-card-038__media {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border: .2rem solid transparent;
    border-radius: 1.25rem;
    background: #f4f4f5;
    padding: .16rem;
    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.listing-story-card-038.is-unseen-038 .listing-story-card-038__media {
    border-color: transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        conic-gradient(
            from 35deg,
            #ff5d8f,
            #ffb800,
            #a855f7,
            #ff5d8f
        ) border-box;
}

.listing-story-card-038.is-premium-038 .listing-story-card-038__media {
    border-color: var(--btl-primary, #01FFCD);
    background: #fff;
    box-shadow:
        0 0 0 .18rem rgba(16, 255, 205, .14);
}

.listing-story-card-038.is-seen-036 .listing-story-card-038__media,
.listing-story-card-038__media.is-seen-036 {
    border-color: #d4d4d8 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.listing-story-card-038:hover .listing-story-card-038__media {
    transform: translateY(-.15rem);
}

.listing-story-card-038__media > img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: .95rem;
    object-fit: cover;
}

.listing-story-card-038__shade {
    position: absolute;
    inset: .16rem;
    border-radius: .95rem;
    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0, 0, 0, .48)
        );
    pointer-events: none;
}

.listing-story-card-038__index,
.listing-story-card-038__seen-label {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: .58rem;
    font-weight: 900;
    backdrop-filter: blur(.35rem);
}

.listing-story-card-038__index {
    inset: .55rem .55rem auto auto;
    min-width: 1.45rem;
    height: 1.45rem;
    background: rgba(255, 255, 255, .88);
    color: #25312d;
}

.listing-story-card-038__seen-label {
    inset: auto .55rem .55rem auto;
    padding: .35rem .5rem;
    background: rgba(37, 49, 45, .76);
    color: #fff;
}

.listing-story-card-038__caption {
    display: -webkit-box;
    overflow: hidden;
    color: #52525b;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 640px) {
    .listing-stories-038 {
        margin-top: 1rem;
        padding-bottom: 1rem;
    }

    .listing-stories-038__header {
        align-items: start;
    }

    .listing-stories-038__header h2 {
        font-size: 1rem;
    }

    .listing-story-card-038 {
        flex-basis: 6.4rem;
        min-width: 6.4rem;
    }
}

/* BATALAR-038-LISTING-STORIES-END */

/* stage:039:listing-detail:start */
.ld39-page {
  font-size: 1.04rem;
  color: #2F332C;
}

.ld39-page :is(p, span, li, a, label, input, textarea, button, select) {
  font-weight: 400 !important;
}

.ld39-page :is(h1, h2, h3, h4) {
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

.ld39-sticky-tabs {
  position: sticky;
  top: 1rem;
  z-index: 30;
  backdrop-filter: blur(14px);
  background: rgba(255, 255, 255, 0.92);
  border-radius: 1.5rem;
  box-shadow: 0 12px 24px rgba(32, 48, 43, 0.08);
  padding: 0.75rem 1rem;
}

.ld39-tab-link {
  font-size: 1rem !important;
  font-weight: 500 !important;
  color: #2F332C !important;
}

.ld39-booking-card {
  border-radius: 2rem;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(32, 48, 43, 0.08);
  padding-bottom: 1rem;
}

.ld39-booking-card input,
.ld39-booking-card textarea,
.ld39-booking-card select {
  border-radius: 1.25rem !important;
  min-height: 3.65rem;
  border: 1px solid rgba(47, 51, 44, 0.12) !important;
  background: #fff !important;
  font-size: 1rem !important;
  color: #2F332C !important;
  box-shadow: none !important;
}

.ld39-booking-card textarea {
  min-height: 7.25rem;
}

.ld39-jalali-hint,
.ld39-price-help {
  margin-top: 0.5rem;
  font-size: 0.88rem;
  color: rgba(47, 51, 44, 0.68);
}

.ld39-price-tier {
  color: #2F332C !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
}

.ld39-booking-submit {
  color: #2F332C !important;
  font-weight: 600 !important;
}

.ld39-map-card {
  margin: 1.5rem 0 2rem;
  padding: 1rem;
  background: #fff;
  border-radius: 1.75rem;
  box-shadow: 0 16px 36px rgba(32, 48, 43, 0.08);
}

.ld39-map-header h3 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 600 !important;
}

.ld39-map-header p {
  margin: 0 0 1rem;
  color: rgba(47, 51, 44, 0.72);
}

.ld39-map-frame {
  width: 100%;
  min-height: 20rem;
  border: 0;
  border-radius: 1.25rem;
}

.ld39-review-card textarea,
.ld39-review-card input,
.ld39-review-card select {
  border-radius: 1.25rem !important;
  box-shadow: none !important;
}

.ld39-star-rating {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  margin: 0.75rem 0 1.25rem;
}

.ld39-star-button {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  transform: scale(1);
  transition: transform 180ms ease, filter 180ms ease;
}

.ld39-star-button:hover {
  transform: translateY(-1px) scale(1.07);
}

.ld39-star-icon {
  display: inline-flex;
  font-size: 2rem;
  line-height: 1;
  color: rgba(47, 51, 44, 0.18);
  transition: color 180ms ease, text-shadow 180ms ease;
}

.ld39-star-button.is-active .ld39-star-icon {
  color: #FFC533;
  text-shadow: 0 0 18px rgba(255, 197, 51, 0.28);
}

@media (max-width: 1024px) {
  .ld39-sticky-tabs {
    top: 0.5rem;
  }

  .ld39-page {
    font-size: 1rem;
  }

  .ld39-map-frame {
    min-height: 16rem;
  }
}
/* stage:039:listing-detail:end */

/* BATALAR-040-LISTING-LOGIC-START */

.listing-field-040 {
    display: grid;
    gap: .45rem;
}

.listing-field-040 > label {
    color: #2f332c;
    font-size: .84rem;
    font-weight: 600 !important;
}

.listing-field-040 > small {
    color: #8a918d;
    font-size: .69rem;
    font-weight: 400 !important;
    line-height: 1.8;
}

.listing-field-040 .errorlist,
.listing-booking-form-040 > .errorlist,
.listing-review-form-040 > .errorlist {
    margin: 0;
    padding: .6rem .8rem;
    border-radius: .85rem;
    background: #fff1f2;
    color: #be123c;
    font-size: .7rem;
    font-weight: 500;
    list-style: none;
}

.listing-form-heading-040 h3 {
    margin: 0;
    color: #2f332c;
    font-size: 1.05rem;
    font-weight: 650 !important;
}

.listing-form-heading-040 p {
    margin: .35rem 0 0;
    color: #8a918d;
    font-size: .73rem;
    line-height: 1.8;
}

.listing-booking-more-040 {
    border-radius: 1.35rem;
    background: #fafafa;
    padding: .9rem;
}

.listing-booking-more-040 > summary {
    cursor: pointer;
    color: #525852;
    font-size: .74rem;
    font-weight: 600;
}

.listing-booking-submit-040,
.listing-review-submit-040 {
    display: inline-flex;
    min-height: 3.35rem;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    border: 0;
    border-radius: 1.2rem;
    background: var(--btl-primary, #01FFCD);
    color: #2f332c !important;
    -webkit-text-fill-color: #2f332c !important;
    font-size: .82rem;
    font-weight: 700 !important;
    cursor: pointer;
}

.listing-review-form-040 {
    display: grid;
    gap: 1.1rem;
    border: 1px solid #e4e4e7;
    border-radius: 1.75rem;
    background: #fafafa;
    padding: 1.35rem;
}

.listing-review-identity-040 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.listing-star-rating-040 {
    display: flex;
    flex-direction: row;
    gap: .25rem;
    direction: ltr;
}

.listing-star-rating-040 button {
    display: grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border: 0;
    background: transparent;
    color: #d4d4d8;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(0) scale(1);
    transition: color .16s ease, transform .16s ease, filter .16s ease;
}

.listing-star-rating-040 button:hover,
.listing-star-rating-040 button:focus-visible {
    transform: translateY(-.12rem) scale(1.08);
    outline: none;
}

.listing-star-rating-040 button.is-active {
    color: #ffb800;
    filter: drop-shadow(0 .25rem .55rem rgba(255, 184, 0, .22));
}

.listing-map-040 {
    margin: 1.5rem 0;
    overflow: hidden;
    border: 1px solid #e4e4e7;
    border-radius: 1.75rem;
    background: #fff;
}

.listing-map-040 > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.15rem;
}

.listing-map-040 > header p {
    margin: 0;
    color: #00b891;
    font-size: .68rem;
    font-weight: 600 !important;
}

.listing-map-040 > header h2 {
    margin: .15rem 0 0;
    color: #2f332c;
    font-size: 1rem;
    font-weight: 650 !important;
}

.listing-map-040 > header a {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: #2f332c;
    font-size: .72rem;
    font-weight: 600 !important;
}

.listing-map-040 iframe {
    display: block;
    width: 100%;
    height: 20rem;
    border: 0;
}

@media (max-width: 640px) {
    .listing-review-identity-040 {
        grid-template-columns: 1fr;
    }

    .listing-map-040 iframe {
        height: 16rem;
    }
}

/* BATALAR-040-LISTING-LOGIC-END */

/* BATALAR-041-LISTING-MOBILE-START */

[data-listing-detail-041] {
    --ld41-safe-bottom: max(.7rem, env(safe-area-inset-bottom));
    --ld41-mobile-bar-height: 4.7rem;
}

[data-listing-detail-041] .ld41-content,
[data-listing-detail-041] .ld41-booking-aside {
    min-width: 0;
}

[data-listing-detail-041] nav[aria-label="بخش‌های صفحه"] a {
    transition:
        background-color .18s ease,
        color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

[data-listing-detail-041] nav[aria-label="بخش‌های صفحه"] a.is-active-041 {
    background: var(--btl-primary, #01FFCD);
    color: #2f332c !important;
    box-shadow: 0 .45rem 1.1rem rgba(16, 255, 205, .18);
}

[data-listing-detail-041] .ld41-target-pulse {
    animation: ld41-target-pulse .85s ease;
}

.ld41-mobile-actions {
    display: none;
}

@keyframes ld41-target-pulse {
    0% {
        outline: 0 solid rgba(16, 255, 205, 0);
        outline-offset: 0;
    }
    45% {
        outline: .28rem solid rgba(16, 255, 205, .18);
        outline-offset: .22rem;
    }
    100% {
        outline: 0 solid rgba(16, 255, 205, 0);
        outline-offset: .55rem;
    }
}

@media (max-width: 1023px) {
    [data-listing-detail-041] .ld41-content {
        order: 1;
    }

    [data-listing-detail-041] .ld41-booking-aside {
        position: static !important;
        top: auto !important;
        order: 2;
        margin-top: .25rem;
    }

    [data-listing-detail-041] .ld41-booking-aside > div {
        border-radius: 1.6rem;
        box-shadow: 0 1rem 2.4rem rgba(32, 48, 43, .07);
    }

    [data-listing-detail-041] nav[aria-label="بخش‌های صفحه"] {
        top: .5rem !important;
        z-index: 42 !important;
    }
}

@media (max-width: 767px) {
    [data-listing-detail-041] {
        overflow-x: clip;
    }

    [data-listing-detail-041].ld41-has-mobile-actions {
        padding-bottom: calc(
            var(--ld41-mobile-bar-height)
            + var(--ld41-safe-bottom)
            + 1rem
        );
    }

    [data-listing-detail-041] > div {
        padding-bottom: 1.75rem !important;
    }

    [data-listing-detail-041] > div > nav[aria-label="مسیر صفحه"] {
        gap: .45rem;
        padding-bottom: .15rem;
        font-size: .66rem !important;
        scrollbar-width: none;
    }

    [data-listing-detail-041] > div > nav[aria-label="مسیر صفحه"]::-webkit-scrollbar {
        display: none;
    }

    [data-listing-detail-041] > div > header {
        margin-top: 1.15rem !important;
        gap: 1rem !important;
    }

    [data-listing-detail-041] > div > header h1 {
        font-size: clamp(1.65rem, 7vw, 2rem) !important;
        line-height: 1.48 !important;
        letter-spacing: -.015em;
    }

    [data-listing-detail-041] > div > header > div:last-child {
        width: 100%;
        gap: .55rem !important;
    }

    [data-listing-detail-041] > div > header > div:last-child button,
    [data-listing-detail-041] > div > header > div:last-child a {
        min-height: 2.9rem;
    }

    [data-listing-detail-041] .listing-gallery-037 {
        margin-top: 1.2rem !important;
        border-radius: 1.25rem;
    }

    [data-listing-detail-041] .listing-gallery-037__grid {
        gap: .28rem;
        padding: .28rem;
    }

    [data-listing-detail-041] .listing-gallery-037__item {
        border-radius: .85rem;
    }

    [data-listing-detail-041] .listing-gallery-037__item.is-featured {
        grid-column: 1 / -1;
    }

    [data-listing-detail-041] .listing-stories-038 {
        margin-top: .85rem;
        padding: 1rem 0 1.1rem;
    }

    [data-listing-detail-041] .listing-stories-038__header {
        margin-bottom: .8rem;
    }

    [data-listing-detail-041] .listing-stories-038__header h2 {
        font-size: 1rem;
        line-height: 1.7;
    }

    [data-listing-detail-041] .listing-stories-038__header > span {
        font-size: .62rem;
    }

    [data-listing-detail-041] .listing-stories-038__strip {
        margin-inline: -.25rem;
        gap: .65rem;
        padding-inline: .25rem;
        scroll-padding-inline: .25rem;
        scroll-snap-type: inline mandatory;
    }

    [data-listing-detail-041] .listing-story-card-038 {
        flex-basis: 5.8rem;
        min-width: 5.8rem;
        scroll-snap-align: start;
    }

    [data-listing-detail-041] .listing-story-card-038__caption {
        font-size: .65rem;
        line-height: 1.6;
    }

    [data-listing-detail-041] nav[aria-label="بخش‌های صفحه"] {
        display: flex;
        top: .35rem !important;
        gap: .25rem !important;
        margin-inline: -.2rem;
        padding: .38rem !important;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        border-radius: 1.15rem !important;
        scroll-snap-type: inline proximity;
        scrollbar-width: none;
        box-shadow: 0 .7rem 1.8rem rgba(32, 48, 43, .08) !important;
    }

    [data-listing-detail-041] nav[aria-label="بخش‌های صفحه"]::-webkit-scrollbar {
        display: none;
    }

    [data-listing-detail-041] nav[aria-label="بخش‌های صفحه"] a {
        display: inline-flex;
        min-height: 2.6rem;
        align-items: center;
        justify-content: center;
        padding: .58rem .82rem !important;
        border-radius: .85rem !important;
        font-size: .78rem !important;
        white-space: nowrap;
        scroll-snap-align: center;
    }

    [data-listing-detail-041] .ld41-content > section {
        scroll-margin-top: 5.2rem !important;
        padding-block: 1.55rem !important;
    }

    [data-listing-detail-041] .ld41-content > section h2 {
        font-size: 1.12rem !important;
    }

    [data-listing-detail-041] .listing-booking-form-040,
    [data-listing-detail-041] .listing-review-form-040 {
        gap: .9rem;
    }

    [data-listing-detail-041] .listing-review-form-040 {
        border-radius: 1.35rem;
        padding: 1rem;
    }

    [data-listing-detail-041] .listing-review-identity-040 {
        grid-template-columns: 1fr;
        gap: .8rem;
    }

    [data-listing-detail-041] .listing-field-040 input,
    [data-listing-detail-041] .listing-field-040 textarea,
    [data-listing-detail-041] .listing-field-040 select {
        min-height: 3.1rem;
        font-size: 16px !important;
    }

    [data-listing-detail-041] .listing-field-040 textarea {
        min-height: 7rem;
    }

    [data-listing-detail-041] .listing-booking-more-040 {
        border-radius: 1.05rem;
        padding: .8rem;
    }

    [data-listing-detail-041] .listing-booking-submit-040,
    [data-listing-detail-041] .listing-review-submit-040 {
        min-height: 3.2rem;
        border-radius: 1rem;
        font-size: .82rem;
    }

    [data-listing-detail-041] .listing-star-rating-040 {
        gap: .12rem;
        justify-content: space-between;
    }

    [data-listing-detail-041] .listing-star-rating-040 button {
        width: min(2.7rem, 16vw);
        height: min(2.7rem, 16vw);
        font-size: 1.85rem;
    }

    [data-listing-detail-041] .listing-map-040 {
        margin: 1rem 0 1.45rem;
        border-radius: 1.25rem;
    }

    [data-listing-detail-041] .listing-map-040 > header {
        align-items: flex-start;
        padding: .9rem 1rem;
    }

    [data-listing-detail-041] .listing-map-040 iframe {
        height: 14.5rem;
    }

    [data-listing-detail-041] #reviews article {
        border-radius: 1.25rem !important;
        padding: 1rem !important;
    }

    [data-listing-detail-041] .ld41-booking-aside {
        padding-top: .5rem;
    }

    [data-listing-detail-041] .ld41-mobile-actions {
        position: fixed;
        z-index: 72;
        right: .7rem;
        bottom: var(--ld41-safe-bottom);
        left: .7rem;
        display: grid;
        grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
        gap: .55rem;
        padding: .55rem;
        border: 1px solid rgba(47, 51, 44, .1);
        border-radius: 1.25rem;
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 1rem 2.8rem rgba(32, 48, 43, .18);
        backdrop-filter: blur(1rem);
        transition:
            opacity .18s ease,
            transform .18s ease;
    }

    [data-listing-detail-041] .ld41-mobile-actions.is-single-041 {
        grid-template-columns: 1fr;
    }

    [data-listing-detail-041] .ld41-mobile-action {
        display: inline-flex;
        min-width: 0;
        min-height: 3.45rem;
        align-items: center;
        justify-content: center;
        gap: .45rem;
        border-radius: .95rem;
        padding-inline: .8rem;
        font-size: .78rem;
        font-weight: 700;
        cursor: pointer;
    }

    [data-listing-detail-041] .ld41-mobile-action--secondary {
        border: 1px solid #e4e4e7;
        background: #fff;
        color: #2f332c;
    }

    [data-listing-detail-041] .ld41-mobile-action--primary {
        border: 1px solid transparent;
        background: var(--btl-primary, #01FFCD);
        color: #2f332c;
    }

    [data-listing-detail-041].ld41-input-active .ld41-mobile-actions {
        opacity: 0;
        pointer-events: none;
        transform: translateY(calc(100% + 1rem));
    }
}

@media (max-width: 390px) {
    [data-listing-detail-041] .listing-story-card-038 {
        flex-basis: 5.35rem;
        min-width: 5.35rem;
    }

    [data-listing-detail-041] .listing-star-rating-040 button {
        width: 2.35rem;
        height: 2.35rem;
        font-size: 1.7rem;
    }

    [data-listing-detail-041] .ld41-mobile-actions {
        right: .5rem;
        left: .5rem;
        gap: .4rem;
        padding: .45rem;
    }

    [data-listing-detail-041] .ld41-mobile-action {
        min-height: 3.25rem;
        padding-inline: .6rem;
        font-size: .73rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-listing-detail-041] *,
    [data-listing-detail-041] *::before,
    [data-listing-detail-041] *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

/* BATALAR-041-LISTING-MOBILE-END */

/* BATALAR-0411-STICKY-SUMMARY-START */

[data-listing-detail-041] {
    --ld411-nav-height: 4.35rem;
}

[data-listing-detail-041] .listing-section-nav-0411 {
    position: sticky !important;
    top: .75rem !important;
    z-index: 58 !important;
    min-height: var(--ld411-nav-height);
    gap: .35rem !important;
    padding: .55rem .65rem !important;
    border-radius: 1.2rem !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 .8rem 2rem rgba(32, 48, 43, .09) !important;
    backdrop-filter: blur(1rem);
    overscroll-behavior-inline: contain;
}

[data-listing-detail-041] .listing-section-nav-0411 a {
    display: inline-flex;
    min-height: 3.1rem;
    align-items: center;
    justify-content: center;
    border-radius: .9rem !important;
    padding: .78rem 1.25rem !important;
    font-size: .86rem !important;
    font-weight: 500 !important;
    line-height: 1.4;
    white-space: nowrap;
    color: #5f6360 !important;
}

[data-listing-detail-041] .listing-section-nav-0411 a:hover {
    background: #f0fff9;
    color: #365d54 !important;
}

[data-listing-detail-041] .listing-section-nav-0411 a.is-active-041 {
    background: var(--btl-primary, #01FFCD) !important;
    color: #2f332c !important;
    font-weight: 600 !important;
    box-shadow: 0 .45rem 1.1rem rgba(16, 255, 205, .16);
}

[data-listing-detail-041] .listing-summary-0411 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

[data-listing-detail-041] .listing-summary-0411__card {
    display: flex;
    min-width: 0;
    min-height: 7.15rem;
    align-items: center;
    gap: .85rem;
    border: 1px solid rgba(228, 228, 231, .9);
    border-radius: 1.15rem;
    padding: 1rem;
    background: #fff;
}

[data-listing-detail-041] .listing-summary-0411__icon {
    display: grid;
    width: 2.85rem;
    height: 2.85rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: .9rem;
    background: #f0fff9;
    color: #008c72;
    font-size: 1.45rem;
}

[data-listing-detail-041] .listing-summary-0411__label {
    display: block;
    color: #a1a1aa;
    font-size: .68rem;
    font-weight: 400 !important;
    line-height: 1.6;
}

[data-listing-detail-041] .listing-summary-0411__value {
    display: block;
    overflow: hidden;
    margin-top: .2rem;
    color: #3f3f46;
    font-size: .87rem;
    font-weight: 600 !important;
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-listing-detail-041] .listing-summary-0411__meta {
    display: block;
    overflow: hidden;
    margin-top: .12rem;
    color: #a1a1aa;
    font-size: .64rem;
    font-weight: 400 !important;
    line-height: 1.6;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-listing-detail-041] .ld41-content p,
[data-listing-detail-041] .ld41-content small,
[data-listing-detail-041] .ld41-content span,
[data-listing-detail-041] .listing-copy-0411 {
    font-weight: 400;
}

[data-listing-detail-041] .ld41-content strong {
    font-weight: 600;
}

[data-listing-detail-041] .ld41-content h2 {
    font-weight: 700 !important;
}

[data-listing-detail-041] .listing-copy-0411 p {
    font-weight: 400 !important;
}

[data-listing-detail-041] .ld41-content > section {
    scroll-margin-top: calc(var(--ld411-nav-height) + 1.5rem) !important;
}

@media (max-width: 1023px) {
    [data-listing-detail-041] .listing-section-nav-0411 {
        top: .45rem !important;
    }

    [data-listing-detail-041] .listing-summary-0411 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    [data-listing-detail-041] .listing-section-nav-0411 {
        margin-inline: -.15rem;
        min-height: 3.85rem;
        padding: .4rem !important;
    }

    [data-listing-detail-041] .listing-section-nav-0411 a {
        min-height: 2.95rem;
        padding: .68rem 1rem !important;
        font-size: .8rem !important;
    }

    [data-listing-detail-041] .listing-summary-0411 {
        gap: .55rem;
        margin-top: .75rem;
    }

    [data-listing-detail-041] .listing-summary-0411__card {
        min-height: 6.5rem;
        align-items: flex-start;
        gap: .65rem;
        border-radius: 1rem;
        padding: .8rem;
    }

    [data-listing-detail-041] .listing-summary-0411__icon {
        width: 2.35rem;
        height: 2.35rem;
        border-radius: .75rem;
        font-size: 1.2rem;
    }

    [data-listing-detail-041] .listing-summary-0411__value {
        font-size: .78rem;
        white-space: normal;
    }

    [data-listing-detail-041] .listing-summary-0411__meta {
        white-space: normal;
    }
}

@media (max-width: 390px) {
    [data-listing-detail-041] .listing-summary-0411__card {
        min-height: 6.1rem;
        padding: .7rem;
    }

    [data-listing-detail-041] .listing-summary-0411__icon {
        width: 2rem;
        height: 2rem;
        font-size: 1.05rem;
    }
}

/* BATALAR-0411-STICKY-SUMMARY-END */

/* BATALAR-0421-RESTORE-TWO-COLUMN-START */

[data-services-results-grid-0421],
[data-similar-results-grid-0421] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}

@media (min-width: 1280px) {
    [data-services-results-grid-0421],
    [data-similar-results-grid-0421] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    [data-catalog-card-0421] img[data-catalog-image-0421] {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        display: block;
    }
}

/*
 * Legacy Stage 042 source contract.
 * This selector is deliberately inert: templates never receive the
 * .batalar-legacy-042-contract-disabled class. Therefore the old layout
 * behavior cannot return, while the historical regression contract stays
 * available for the existing Stage 042 tests.
 */
.batalar-legacy-042-contract-disabled[data-catalog-card-042] :has(> img[data-catalog-image-042]) {
    align-self: start !important;
    aspect-ratio: 16 / 9;
    height: 100% !important;
    object-fit: cover;
}

/* BATALAR-0421-RESTORE-TWO-COLUMN-END */

/* BATALAR-0423-SERVICES-SINGLE-ROW-START */

/*
 * Service/category result pages:
 * one original horizontal card per row.
 */
[data-services-grid-0423] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.25rem !important;
}

/*
 * Desktop card geometry:
 * - original content stays on the left
 * - media stays on the right
 * - right media uses roughly half the card width
 * - 16:9 media plus its inset normally determines the full card height
 */
@media (min-width: 1024px) {
    [data-services-grid-0423] [data-services-card-0423] {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(24rem, 50%) !important;
        align-items: center !important;
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden !important;
    }

    /*
     * The wrapper containing the catalog image gets a visual inset from
     * all card edges. It no longer stretches below the 16:9 image.
     */
    [data-services-grid-0423]
    [data-services-card-0423]
    :has(> img[data-services-image-0423]) {
        width: calc(100% - 1.5rem) !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
        align-self: center !important;
        justify-self: center !important;
        margin: .75rem !important;
        overflow: hidden !important;
        border-radius: 1.35rem !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    img[data-services-image-0423] {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        border-radius: inherit !important;
    }
}

/*
 * Keep existing mobile/tablet card behavior; only preserve the true
 * cinematic ratio if the service image hook is present.
 */
@media (max-width: 1023px) {
    [data-services-grid-0423]
    [data-services-card-0423]
    :has(> img[data-services-image-0423]) {
        aspect-ratio: 16 / 9;
        overflow: hidden;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    img[data-services-image-0423] {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* BATALAR-0423-SERVICES-SINGLE-ROW-END */

/* BATALAR-0424-SERVICE-CARD-REFERENCE-START */

/*
 * Reference geometry:
 * - one horizontal card per row
 * - content area about 64%
 * - media about 36%, capped so it never becomes oversized
 * - 16px inset around media
 * - media outer height determines the compact card height
 */
@media (min-width: 1024px) {
    [data-services-grid-0423] {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1.35rem !important;
    }

    [data-services-grid-0423] [data-services-card-0423] {
        display: grid !important;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(20rem, 36%) !important;
        align-items: stretch !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    /*
     * Only the existing image wrapper is resized.
     * No card text, badges, price, address or action markup is altered.
     */
    [data-services-grid-0423]
    [data-services-card-0423]
    :has(> img[data-services-image-0423]) {
        width: calc(100% - 2rem) !important;
        max-width: 24rem !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 9 !important;
        align-self: center !important;
        justify-self: center !important;
        margin: 1rem !important;
        overflow: hidden !important;
        border-radius: 1.25rem !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    img[data-services-image-0423] {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: auto !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: inherit !important;
    }

    /*
     * Prevent generic rules from forcing the card taller than its media.
     * The content column still grows naturally if a genuinely long record
     * needs more height.
     */
    [data-services-grid-0423]
    [data-services-card-0423]
    > * {
        min-height: 0 !important;
    }
}

/* Preserve the existing tablet/mobile behavior. */
@media (max-width: 1023px) {
    [data-services-grid-0423]
    [data-services-card-0423]
    :has(> img[data-services-image-0423]) {
        aspect-ratio: 16 / 9;
    }
}

/* BATALAR-0424-SERVICE-CARD-REFERENCE-END */

/* BATALAR-043-SERVICE-CARD-POLISH-START */
.batalar-legacy-043-contract-disabled[data-services-grid-0423] {
    grid-template-columns: minmax(0, 1fr) !important;
}

@media (min-width: 1024px) {
    .batalar-legacy-043-contract-disabled[data-services-grid-0423]
    [data-services-card-0423] {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(19.5rem, 35%) !important;
        min-height: 15rem !important;
        font-weight: 300 !important;
        font-variation-settings: "wght" 300 !important;
    }

    .batalar-legacy-043-contract-disabled[data-services-grid-0423]
    :has(> img[data-services-image-0423]) {
        max-width: 23rem !important;
        aspect-ratio: 16 / 9 !important;
        margin: 1rem !important;
    }

    .batalar-legacy-043-contract-disabled[data-services-grid-0423]
    h3 {
        font-weight: 600 !important;
    }

    .batalar-legacy-043-contract-disabled[data-services-grid-0423]
    strong {
        font-weight: 500 !important;
    }
}
/* BATALAR-043-SERVICE-CARD-POLISH-END */

/* BATALAR-0431-SERVICES-CARD-REFERENCE-START */

/*
 * Services catalog cards — reference layout
 * Scope: only result cards in the services catalog.
 */
@media (min-width: 1024px) {
    [data-services-grid-0423] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1.5rem !important;
        align-items: start !important;
    }

    [data-services-grid-0423] [data-services-card-0423] {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 23.5rem !important;
        gap: 1.4rem !important;
        align-items: stretch !important;
        min-height: 15rem !important;
        padding: 1.15rem !important;
        border-radius: 1.7rem !important;
        border: 1px solid rgba(34, 41, 39, .08) !important;
        background: #ffffff !important;
        box-shadow: 0 .35rem 1.1rem rgba(28, 38, 35, .04) !important;
        overflow: hidden !important;
    }

    /*
     * Text/content column.
     * Keep it calm and evenly distributed vertically.
     */
    [data-services-grid-0423]
    [data-services-card-0423]
    > *:not(:has(> img[data-services-image-0423])) {
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        gap: 1rem !important;
        padding: .1rem .2rem !important;
    }

    /*
     * Media column — exactly the compact reference feeling.
     */
    [data-services-grid-0423]
    [data-services-card-0423]
    :has(> img[data-services-image-0423]) {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        align-self: center !important;
        justify-self: stretch !important;
        aspect-ratio: 16 / 9 !important;
        overflow: hidden !important;
        border-radius: 1.35rem !important;
        background: #f5f7f6 !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    img[data-services-image-0423] {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
        border-radius: inherit !important;
    }

    /*
     * Typography — lighter and cleaner.
     */
    [data-services-grid-0423] [data-services-card-0423],
    [data-services-grid-0423] [data-services-card-0423] p,
    [data-services-grid-0423] [data-services-card-0423] span,
    [data-services-grid-0423] [data-services-card-0423] small,
    [data-services-grid-0423] [data-services-card-0423] li {
        font-weight: 300 !important;
        font-variation-settings: "wght" 300 !important;
        color: #66706d !important;
    }

    [data-services-grid-0423] [data-services-card-0423] h2,
    [data-services-grid-0423] [data-services-card-0423] h3 {
        font-size: clamp(1.2rem, 1.45vw, 1.7rem) !important;
        line-height: 1.55 !important;
        font-weight: 600 !important;
        font-variation-settings: "wght" 600 !important;
        letter-spacing: -.015em !important;
        color: #1f2624 !important;
        margin: 0 !important;
    }

    [data-services-grid-0423] [data-services-card-0423] strong,
    [data-services-grid-0423] [data-services-card-0423] b {
        font-weight: 500 !important;
        font-variation-settings: "wght" 500 !important;
        color: #313735 !important;
    }

    /*
     * Meta row tone and pill treatment.
     */
    [data-services-grid-0423] [data-services-card-0423] .rounded-full {
        border-radius: 999px !important;
    }

    [data-services-grid-0423] [data-services-card-0423] .bg-mint-50,
    [data-services-grid-0423] [data-services-card-0423] .bg-primary-50,
    [data-services-grid-0423] [data-services-card-0423] .bg-emerald-50 {
        background: #e7fbf4 !important;
        color: #22a77e !important;
    }

    /*
     * Divider / footer feeling.
     */
    [data-services-grid-0423] [data-services-card-0423] hr,
    [data-services-grid-0423] [data-services-card-0423] .border-t,
    [data-services-grid-0423] [data-services-card-0423] .border-y {
        border-color: rgba(34, 41, 39, .08) !important;
    }

    /*
     * CTA button should not dominate this card layout.
     * Make it subtle and compact instead of large.
     */
    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-left),
    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-right) {
        min-height: 2.55rem !important;
        padding-inline: .95rem !important;
        border-radius: .95rem !important;
        border: 1px solid rgba(34, 41, 39, .10) !important;
        background: #fff !important;
        color: #3d4441 !important;
        font-size: .78rem !important;
        font-weight: 500 !important;
        font-variation-settings: "wght" 500 !important;
        box-shadow: none !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-left):hover,
    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-right):hover {
        border-color: rgba(16, 255, 205, .65) !important;
        background: #f3fffc !important;
        color: #2d5a50 !important;
    }

    /*
     * Keep descriptions much quieter so the card reads like the reference.
     */
    [data-services-grid-0423]
    [data-services-card-0423]
    p {
        font-size: .9rem !important;
        line-height: 1.95 !important;
        margin: 0 !important;
    }
}

@media (max-width: 1023px) {
    [data-services-grid-0423] [data-services-card-0423] {
        overflow: hidden !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    :has(> img[data-services-image-0423]) {
        aspect-ratio: 16 / 9 !important;
        border-radius: 1.2rem !important;
        overflow: hidden !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    img[data-services-image-0423] {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* BATALAR-0431-SERVICES-CARD-REFERENCE-END */

/* BATALAR-0433-SERVICES-CUPERTINO-START */

/*
 * Stage 043.3 — Cupertino refinement for services catalog cards.
 * - Desktop media column is ~30% smaller than Stage 043.2
 * - Use the project's primary mint accent
 * - Softer Apple/Cupertino-like card feel
 * - Lighter typography inside cards
 */
@media (min-width: 1024px) {
    [data-services-grid-0423] {
        gap: 1.35rem !important;
    }

    [data-services-grid-0423] [data-services-card-0423] {
        grid-template-columns: minmax(0, 1fr) 16.45rem !important;
        gap: 1.1rem !important;
        min-height: 12.2rem !important;
        padding: 1rem 1rem 1rem 1.15rem !important;
        border-radius: 1.55rem !important;
        border: 1px solid rgba(31, 38, 36, .06) !important;
        background: linear-gradient(180deg, #ffffff 0%, #fcfefd 100%) !important;
        box-shadow:
            0 10px 30px rgba(18, 33, 29, .045),
            0 1px 0 rgba(255, 255, 255, .92) inset !important;
        backdrop-filter: saturate(1.08) blur(10px) !important;
        -webkit-backdrop-filter: saturate(1.08) blur(10px) !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    > *:not(:has(> img[data-services-image-0423])) {
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        gap: .8rem !important;
        padding: .1rem 0 !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    :has(> img[data-services-image-0423]) {
        width: 100% !important;
        aspect-ratio: 16 / 9 !important;
        margin: 0 !important;
        align-self: center !important;
        justify-self: stretch !important;
        overflow: hidden !important;
        border-radius: 1.18rem !important;
        background: linear-gradient(
            180deg,
            rgba(26, 232, 197, .10),
            rgba(26, 232, 197, .03)
        ) !important;
        box-shadow:
            0 1px 0 rgba(255, 255, 255, .90) inset,
            0 0 0 1px rgba(31, 38, 36, .05) !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    img[data-services-image-0423] {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
        display: block !important;
        border-radius: inherit !important;
    }

    [data-services-grid-0423] [data-services-card-0423],
    [data-services-grid-0423] [data-services-card-0423] p,
    [data-services-grid-0423] [data-services-card-0423] span,
    [data-services-grid-0423] [data-services-card-0423] small,
    [data-services-grid-0423] [data-services-card-0423] li {
        font-weight: 300 !important;
        font-variation-settings: "wght" 300 !important;
        color: #66706d !important;
    }

    [data-services-grid-0423] [data-services-card-0423] h2,
    [data-services-grid-0423] [data-services-card-0423] h3 {
        font-size: clamp(1.14rem, 1.18vw, 1.5rem) !important;
        line-height: 1.42 !important;
        font-weight: 400 !important;
        font-variation-settings: "wght" 400 !important;
        letter-spacing: -.018em !important;
        color: #1f2624 !important;
        margin: 0 !important;
    }

    [data-services-grid-0423] [data-services-card-0423] strong,
    [data-services-grid-0423] [data-services-card-0423] b {
        font-weight: 400 !important;
        font-variation-settings: "wght" 400 !important;
        color: #28302d !important;
    }

    [data-services-grid-0423] [data-services-card-0423] .rounded-full {
        border-radius: 999px !important;
    }

    [data-services-grid-0423] [data-services-card-0423] .bg-mint-50,
    [data-services-grid-0423] [data-services-card-0423] .bg-primary-50,
    [data-services-grid-0423] [data-services-card-0423] .bg-emerald-50 {
        background: rgba(26, 232, 197, .14) !important;
        color: #127b65 !important;
        border: 1px solid rgba(26, 232, 197, .18) !important;
    }

    [data-services-grid-0423] [data-services-card-0423] hr,
    [data-services-grid-0423] [data-services-card-0423] .border-t,
    [data-services-grid-0423] [data-services-card-0423] .border-y {
        border-color: rgba(31, 38, 36, .06) !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-left),
    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-right) {
        min-height: 2.45rem !important;
        padding-inline: .9rem !important;
        border-radius: .92rem !important;
        border: 1px solid rgba(31, 38, 36, .08) !important;
        background: rgba(26, 232, 197, .08) !important;
        color: #1f2624 !important;
        font-size: .79rem !important;
        font-weight: 400 !important;
        font-variation-settings: "wght" 400 !important;
        box-shadow: 0 1px 0 rgba(255, 255, 255, .74) inset !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-left):hover,
    [data-services-grid-0423]
    [data-services-card-0423]
    a:has(.ph-arrow-right):hover {
        border-color: rgba(26, 232, 197, .42) !important;
        background: rgba(26, 232, 197, .14) !important;
        color: #18312b !important;
    }

    [data-services-grid-0423]
    [data-services-card-0423]
    p {
        font-size: .9rem !important;
        line-height: 1.82 !important;
        margin: 0 !important;
    }

    [data-catalog-clear-043] {
        display: inline-flex !important;
        align-items: center !important;
        gap: .42rem !important;
        margin-top: .55rem !important;
        padding: .55rem .9rem !important;
        border-radius: .95rem !important;
        border: 1px solid rgba(31, 38, 36, .08) !important;
        background: rgba(26, 232, 197, .08) !important;
        color: #1f2624 !important;
        font-size: .8rem !important;
        font-weight: 400 !important;
        font-variation-settings: "wght" 400 !important;
        text-decoration: none !important;
        box-shadow: 0 1px 0 rgba(255, 255, 255, .72) inset !important;
    }

    [data-catalog-clear-043]:hover {
        background: rgba(26, 232, 197, .14) !important;
        border-color: rgba(26, 232, 197, .35) !important;
        color: #18312b !important;
    }
}

@media (max-width: 1023px) {
    [data-catalog-clear-043] {
        display: inline-flex !important;
        align-items: center !important;
        gap: .42rem !important;
        padding: .45rem .76rem !important;
        border-radius: .82rem !important;
        background: rgba(26, 232, 197, .08) !important;
        color: #1f2624 !important;
        text-decoration: none !important;
    }
}

/* BATALAR-0433-SERVICES-CUPERTINO-END */

/* BATALAR-0435-SERVICES-CARD-REBUILD-START */

[data-services-results-header-0435] {
    border-color: rgba(39, 48, 45, .07) !important;
    border-radius: 1.55rem !important;
    box-shadow: 0 .25rem 1.1rem rgba(24, 37, 33, .035) !important;
}

[data-services-results-kicker-0435] {
    color: #15b995 !important;
    font-size: .72rem !important;
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
    line-height: 1.7 !important;
}

[data-services-results-count-0435] {
    margin-top: .2rem !important;
    color: #222927 !important;
    font-size: 1.12rem !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
    line-height: 1.65 !important;
    letter-spacing: -.015em !important;
}

[data-services-results-sort-0435],
[data-services-results-sort-0435] span,
[data-services-results-sort-0435] select {
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

/* One dedicated service result card per row. */
[data-services-grid-0423] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.45rem !important;
}

[data-service-card-0435] {
    direction: ltr;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(19rem, 35%);
    align-items: stretch;
    gap: 1.5rem;
    min-width: 0;
    min-height: 15.25rem;
    padding: 1.15rem;
    overflow: hidden;
    border: 1px solid rgba(39, 48, 45, .07);
    border-radius: 1.55rem;
    background: #fff;
    box-shadow: 0 .45rem 1.7rem rgba(24, 37, 33, .038);
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

[data-service-card-0435]:hover {
    border-color: rgba(16, 255, 205, .32);
    box-shadow: 0 .75rem 2rem rgba(24, 37, 33, .055);
    transform: translateY(-1px);
}

[data-service-card-content-0435] {
    direction: rtl;
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.15rem;
    padding: .75rem .2rem .35rem .25rem;
}

.service-card-0435__main {
    min-width: 0;
}

.service-card-0435__title {
    margin: 0;
    color: #181e1c;
    font-size: clamp(1.35rem, 1.55vw, 1.75rem);
    font-weight: 400;
    font-variation-settings: "wght" 400;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.service-card-0435__title a {
    color: inherit;
    text-decoration: none;
    transition: color .16s ease;
}

.service-card-0435__title a:hover {
    color: #0d8f75;
}

.service-card-0435__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    margin-top: .95rem;
    color: #606a67;
    font-size: .82rem;
    font-weight: 300;
    font-variation-settings: "wght" 300;
    line-height: 1.7;
}

.service-card-0435__category {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    padding: .22rem .78rem;
    border: 1px solid rgba(16, 255, 205, .18);
    border-radius: 999px;
    background: rgba(16, 255, 205, .11);
    color: #087c66;
    font-weight: 400;
    font-variation-settings: "wght" 400;
}

.service-card-0435__rating {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    color: #686f6d;
}

.service-card-0435__rating i {
    color: #f5ad12;
    font-size: 1rem;
}

.service-card-0435__feature {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    color: #565f5c;
}

.service-card-0435__feature i {
    color: #5f6966;
    font-size: 1rem;
}

.service-card-0435__separator {
    width: .34rem;
    height: .34rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #d8dddb;
}

.service-card-0435__footer {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(39, 48, 45, .075);
}

.service-card-0435__address {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .48rem;
    margin: 0;
    color: #4f5855;
    font-size: .9rem;
    font-weight: 300;
    font-variation-settings: "wght" 300;
    line-height: 1.7;
}

.service-card-0435__address i {
    flex: 0 0 auto;
    color: #4c5653;
    font-size: 1.35rem;
}

.service-card-0435__address span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-service-card-media-0435] {
    position: relative;
    display: block;
    align-self: center;
    width: 100%;
    overflow: hidden;
    border-radius: 1.2rem;
    aspect-ratio: 16 / 9;
    background: #eef2f1;
    box-shadow: 0 0 0 1px rgba(39, 48, 45, .04) inset;
}

[data-service-card-image-0435] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .28s ease;
}

[data-service-card-0435]:hover [data-service-card-image-0435] {
    transform: scale(1.012);
}

.service-card-0435__city,
.service-card-0435__special {
    position: absolute;
    top: .8rem;
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .28rem .72rem;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 400;
    font-variation-settings: "wght" 400;
    line-height: 1;
    backdrop-filter: blur(.65rem);
}

.service-card-0435__city {
    right: .8rem;
    border: 1px solid rgba(255, 255, 255, .6);
    background: rgba(255, 255, 255, .94);
    color: #303735;
    box-shadow: 0 .25rem .8rem rgba(24, 37, 33, .07);
}

.service-card-0435__city i {
    font-size: 1rem;
}

.service-card-0435__special {
    left: .8rem;
    border: 1px solid rgba(245, 173, 18, .2);
    background: rgba(245, 173, 18, .94);
    color: #33260a;
}

@media (max-width: 1199px) {
    [data-service-card-0435] {
        grid-template-columns: minmax(0, 1fr) minmax(17rem, 36%);
    }
}

@media (max-width: 767px) {
    [data-service-card-0435] {
        grid-template-columns: minmax(0, 1fr);
        gap: .9rem;
        min-height: 0;
        padding: .85rem;
        border-radius: 1.3rem;
    }

    [data-service-card-media-0435] {
        grid-row: 1;
        border-radius: 1rem;
    }

    [data-service-card-content-0435] {
        grid-row: 2;
        padding: .25rem .2rem .15rem;
    }

    .service-card-0435__title {
        font-size: 1.18rem;
    }

    .service-card-0435__meta {
        gap: .45rem;
        margin-top: .65rem;
        font-size: .76rem;
    }

    .service-card-0435__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: .55rem;
        padding-top: .8rem;
    }

    .service-card-0435__address span {
        white-space: normal;
    }
}

/* BATALAR-0435-SERVICES-CARD-REBUILD-END */

/* BATALAR-044-STORY-ORDER-SCROLL-START */

/* Subscription changes only the ring/border. */
.services-story-ring-033.is-subscriber-044,
.services-story-ring-033.is-subscriber-044.is-seen-036 {
    background: var(--btl-primary, #01FFCD) !important;
    box-shadow: 0 0 0 .16rem rgba(16, 255, 205, .16) !important;
}

.services-story-strip-033[data-story-scroll-044] .services-story-crown-033 {
    display: none !important;
}

.services-story-strip-033[data-story-scroll-044] {
    display: flex !important;
    flex-wrap: nowrap !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    scroll-snap-type: inline proximity;
    scroll-padding-inline: .5rem;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(16,255,205,.76) rgba(228,228,231,.56) !important;
    padding-bottom: 1.15rem !important;
}

.services-story-strip-033[data-story-scroll-044]::-webkit-scrollbar {
    height: .38rem !important;
}

.services-story-strip-033[data-story-scroll-044]::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(228,228,231,.56);
}

.services-story-strip-033[data-story-scroll-044]::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(16,255,205,.82);
}

.services-story-strip-033[data-story-scroll-044] .services-story-account-033 {
    flex: 0 0 6.25rem !important;
}

@media (max-width: 640px) {
    .services-story-strip-033[data-story-scroll-044] {
        gap: .85rem !important;
        scroll-padding-inline: .35rem;
    }
}

/* BATALAR-044-STORY-ORDER-SCROLL-END */

/* BATALAR-045-CATALOG-SEARCH-POLISH-START */

/* Search area should feel like the home-page hero search, not a boxed card. */
[data-catalog-home-search-045] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

[data-catalog-home-search-grid-045] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: stretch !important;
    gap: .95rem !important;
}

[data-catalog-home-search-input-045] {
    min-height: 4.7rem !important;
    border: 1px solid rgba(39, 48, 45, .06) !important;
    border-radius: 2rem !important;
    background: #fbfbfb !important;
    color: #242d2a !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
    line-height: 1.7 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7) !important;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

[data-catalog-home-search-input-045]::placeholder {
    color: #9aa3a0 !important;
    font-weight: 300 !important;
}

[data-catalog-home-search-input-045]:focus {
    background: #fff !important;
    border-color: rgba(16, 255, 205, .38) !important;
    box-shadow: 0 0 0 .28rem rgba(16, 255, 205, .12) !important;
}

[data-catalog-home-search-submit-045] {
    min-height: 4.7rem !important;
    padding-inline: 2rem !important;
    border-radius: 1.6rem !important;
    background: var(--btl-primary, #01FFCD) !important;
    color: #202b28 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    font-variation-settings: "wght" 500 !important;
    box-shadow: 0 10px 24px rgba(16, 255, 205, .12) !important;
}

[data-catalog-home-search-submit-045]:hover {
    filter: brightness(.985);
}

[data-catalog-home-search-reset-045] {
    display: inline-flex !important;
    align-items: center !important;
    gap: .45rem !important;
    min-height: 3rem !important;
    padding: 0 .95rem !important;
    border: 1px solid rgba(39, 48, 45, .08) !important;
    border-radius: 1.15rem !important;
    background: rgba(16, 255, 205, .08) !important;
    color: #52615c !important;
    font-size: .92rem !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
    text-decoration: none !important;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        color .18s ease;
}

[data-catalog-home-search-reset-045]:hover {
    border-color: rgba(16, 255, 205, .32) !important;
    background: rgba(16, 255, 205, .12) !important;
    color: #24302d !important;
}

[data-catalog-live-indicator-045] {
    font-size: .72rem !important;
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
}

/* Lighter/smaller results summary. */
[data-catalog-results-kicker-045] {
    font-size: .72rem !important;
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
    line-height: 1.7 !important;
}

[data-catalog-results-count-045] {
    margin-top: .18rem !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
    line-height: 1.65 !important;
    color: #202826 !important;
}

/* Smaller/lighter service-card titles on services pages. */
.service-card-0435__title {
    font-size: clamp(1.08rem, 1.1vw, 1.32rem) !important;
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
    line-height: 1.65 !important;
    letter-spacing: -.012em !important;
}

.service-card-0435__meta,
.service-card-0435__address,
.service-card-0435__price-label,
.service-card-0435__feature,
.service-card-0435__category,
.service-card-0435__city {
    font-weight: 300 !important;
    font-variation-settings: "wght" 300 !important;
}

@media (max-width: 640px) {
    [data-catalog-home-search-grid-045] {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    [data-catalog-home-search-submit-045] {
        width: 100% !important;
    }
}

/* BATALAR-045-CATALOG-SEARCH-POLISH-END */

/* BATALAR-046-FEATURES-INLINE-CENTER-START */

/* فقط بخش امکانات صفحه جزئیات */
[data-listing-detail-041] #features .grid > * {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .7rem !important;
    min-height: 4.4rem !important;
    text-align: center !important;
}

/* اگر کارت یک wrapper داخلی داشته باشد، همان هم افقی و وسط‌چین شود */
[data-listing-detail-041] #features .grid > * > div {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .7rem !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

[data-listing-detail-041] #features .grid > * i,
[data-listing-detail-041] #features .grid > * svg {
    display: inline-block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

[data-listing-detail-041] #features .grid > * span,
[data-listing-detail-041] #features .grid > * strong,
[data-listing-detail-041] #features .grid > * p {
    margin: 0 !important;
    line-height: 1.55 !important;
}

[data-listing-detail-041] #features .grid > * .mt-1,
[data-listing-detail-041] #features .grid > * .mt-2,
[data-listing-detail-041] #features .grid > * .mt-3 {
    margin-top: 0 !important;
}

@media (max-width: 767px) {
    [data-listing-detail-041] #features .grid > * {
        min-height: 4rem !important;
        gap: .55rem !important;
    }
}

/* BATALAR-046-FEATURES-INLINE-CENTER-END */

/* BATALAR-049-PUBLIC-LOGO-START */
[data-listing-gallery-037] {
    position: relative !important;
}

[data-listing-logo-overlay-049] {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 16;
    display: grid;
    width: 4rem;
    height: 4rem;
    place-items: center;
    overflow: hidden;
    padding: .35rem;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 .55rem 1.5rem rgba(24, 32, 29, .14);
    backdrop-filter: blur(.65rem);
}

[data-listing-logo-overlay-049] img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

@media (max-width: 767px) {
    [data-listing-logo-overlay-049] {
        left: .65rem;
        bottom: .65rem;
        width: 3.25rem;
        height: 3.25rem;
        border-radius: .9rem;
    }
}
/* BATALAR-049-PUBLIC-LOGO-END */

/* BATALAR-055-2-MOBILE-CATEGORY-CATALOG-START */
/* Category hero + catalog browser mobile polish. Desktop remains unchanged. */
.batalar-catalog-mobile-filter-0552 {
    display: none;
}

@media (max-width: 1023px) {
    /* Category hero: compact, centered and balanced instead of a tall stack. */
    [data-category-hero] > div {
        padding-top: 28px !important;
        padding-bottom: 32px !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] {
        width: 100% !important;
        padding-bottom: 2px !important;
        gap: 7px !important;
        font-size: 10px !important;
        white-space: nowrap !important;
        scrollbar-width: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"]::-webkit-scrollbar {
        display: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div {
        margin-top: 22px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 15px !important;
        text-align: center !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > span:first-child {
        width: 76px !important;
        height: 76px !important;
        min-width: 76px !important;
        min-height: 76px !important;
        border-radius: 24px !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > span:first-child i,
    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > span:first-child svg,
    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > span:first-child img {
        max-width: 38px !important;
        max-height: 38px !important;
        font-size: 38px !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:nth-child(2) {
        width: min(100%, 560px) !important;
        text-align: center !important;
    }

    [data-category-hero] h1 {
        margin-top: 10px !important;
        font-size: clamp(28px, 7vw, 34px) !important;
        line-height: 1.45 !important;
        letter-spacing: -0.02em !important;
    }

    [data-category-hero] h1 + p,
    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:nth-child(2) > p {
        margin: 8px auto 0 !important;
        max-width: 520px !important;
        font-size: 13px !important;
        line-height: 2 !important;
        text-align: center !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:last-child {
        width: min(270px, 100%) !important;
        min-height: 58px !important;
        margin: 1px auto 0 !important;
        padding: 10px 16px !important;
        display: flex !important;
        align-items: baseline !important;
        justify-content: center !important;
        gap: 8px !important;
        border-radius: 20px !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:last-child strong {
        font-size: 25px !important;
        line-height: 1 !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:last-child span {
        margin: 0 !important;
        font-size: 10px !important;
        line-height: 1.5 !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div + div {
        width: 100% !important;
        margin-top: 22px !important;
        padding-bottom: 3px !important;
        gap: 8px !important;
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        scrollbar-width: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div + div::-webkit-scrollbar {
        display: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div + div > a {
        flex: 0 0 auto !important;
        min-height: 40px !important;
        padding-inline: 13px !important;
        border-radius: 14px !important;
        font-size: 11px !important;
    }

    /* Mobile catalog: show a compact filter trigger, then search/results. */
    #catalog-filter-form {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    .batalar-catalog-mobile-filter-0552 {
        order: 1 !important;
        width: 100% !important;
        min-height: 54px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 10px 15px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 17px !important;
        background: #ffffff !important;
        color: #303633 !important;
        box-shadow: 0 10px 28px rgba(20, 32, 28, .055) !important;
        text-align: right !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    .batalar-catalog-mobile-filter-0552 > span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .batalar-catalog-mobile-filter-0552 > span i {
        color: #00b88a !important;
        font-size: 20px !important;
    }

    .batalar-catalog-mobile-filter-0552 > i {
        font-size: 18px !important;
        transition: transform .2s ease !important;
    }

    .batalar-catalog-mobile-filter-0552[aria-expanded="true"] > i {
        transform: rotate(180deg) !important;
    }

    #catalog-filter-form [data-catalog-results-column] {
        order: 2 !important;
        width: 100% !important;
    }

    #catalog-filter-form [data-catalog-filter-sidebar] {
        order: 3 !important;
        width: 100% !important;
        display: none !important;
        position: static !important;
    }

    #catalog-filter-form [data-catalog-filter-sidebar][data-mobile-open="true"] {
        display: block !important;
    }

    #catalog-filter-form [data-catalog-filter-panel] {
        border-radius: 20px !important;
        padding: 16px !important;
        box-shadow: 0 12px 32px rgba(20, 32, 28, .06) !important;
    }

    #catalog-filter-form [data-catalog-live-search] {
        border-radius: 20px !important;
        padding: 10px !important;
    }

    #catalog-filter-form [data-catalog-live-search] input[type="search"] {
        min-height: 54px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        font-size: 14px !important;
    }

    #catalog-filter-form [data-catalog-search-submit] {
        min-height: 52px !important;
    }
}

@media (min-width: 1024px) {
    #catalog-filter-form [data-catalog-filter-sidebar] {
        display: block !important;
    }
}
/* BATALAR-055-2-MOBILE-CATEGORY-CATALOG-END */

/* BATALAR-055-3-MOBILE-CATEGORY-DRAWER-START */
/* Mobile-only compact category hero + wrap chips + left drawer filters. */
@media (max-width: 1023px) {
    /* Compact hero: keep only the title visible and bring chips right below it. */
    [data-category-hero] > div {
        padding-top: 14px !important;
        padding-bottom: 18px !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] {
        display: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div {
        margin-top: 0 !important;
        display: block !important;
        text-align: center !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > span:first-child,
    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:first-of-type > span:first-child,
    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:last-child,
    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > div:nth-child(2) > p,
    [data-category-hero] nav[aria-label="مسیر صفحه"] + div > p,
    [data-category-hero] [data-category-hero-badge],
    [data-category-hero] [data-category-hero-stat] {
        display: none !important;
    }

    [data-category-hero] h1 {
        margin: 0 !important;
        font-size: clamp(22px, 7vw, 30px) !important;
        line-height: 1.35 !important;
        letter-spacing: -0.02em !important;
        text-align: center !important;
    }

    [data-category-hero] h1 + p {
        display: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div + div {
        width: 100% !important;
        margin-top: 14px !important;
        padding-bottom: 0 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: stretch !important;
        gap: 8px !important;
        overflow: visible !important;
        white-space: normal !important;
        scrollbar-width: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div + div::-webkit-scrollbar {
        display: none !important;
    }

    [data-category-hero] nav[aria-label="مسیر صفحه"] + div + div > a {
        flex: 0 1 auto !important;
        min-height: 38px !important;
        padding-inline: 12px !important;
        border-radius: 14px !important;
        font-size: 12px !important;
        max-width: calc(50% - 4px) !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* Catalog layout: closed by default, opened from a trigger into a left drawer. */
    #catalog-filter-form {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
    }

    #catalog-filter-form [data-catalog-results-column] {
        order: 2 !important;
        width: 100% !important;
    }

    .batalar-catalog-mobile-filter-0552 {
        order: 1 !important;
    }

    .batalar-catalog-mobile-filter-0552[data-catalog-mobile-filter-drawer-0553] {
        width: 100% !important;
        min-height: 54px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 10px 15px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 17px !important;
        background: #ffffff !important;
        color: #172033 !important;
        box-shadow: 0 10px 28px rgba(20, 32, 28, .055) !important;
        text-align: right !important;
        font-size: 13px !important;
        font-weight: 800 !important;
    }

    .batalar-catalog-mobile-filter-0552[data-catalog-mobile-filter-drawer-0553] > span {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .batalar-catalog-mobile-filter-0552[data-catalog-mobile-filter-drawer-0553] > span i {
        color: #00b88a !important;
        font-size: 20px !important;
    }

    .batalar-catalog-mobile-filter-0552[data-catalog-mobile-filter-drawer-0553] > i {
        font-size: 18px !important;
        transition: transform .2s ease !important;
    }

    .batalar-catalog-mobile-filter-0552[data-catalog-mobile-filter-drawer-0553][aria-expanded="true"] > i {
        transform: rotate(180deg) !important;
    }

    [data-catalog-mobile-filter-overlay-0553] {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(15, 23, 42, .36) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transition: opacity .22s ease, visibility .22s ease !important;
        z-index: 110 !important;
    }

    [data-catalog-mobile-filter-overlay-0553][data-mobile-open="true"] {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #catalog-filter-form [data-catalog-filter-sidebar] {
        order: 3 !important;
        width: min(88vw, 360px) !important;
        max-width: 360px !important;
        display: block !important;
        position: fixed !important;
        inset: 0 auto 0 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: translateX(calc(-100% - 20px)) !important;
        transition: transform .24s ease !important;
        z-index: 120 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    #catalog-filter-form [data-catalog-filter-sidebar][data-mobile-open="true"] {
        transform: translateX(0) !important;
    }

    #catalog-filter-form [data-catalog-filter-panel] {
        position: relative !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        overflow-y: auto !important;
        border-radius: 0 24px 24px 0 !important;
        padding: 18px 16px 24px !important;
        background: #ffffff !important;
        box-shadow: 0 24px 72px rgba(20, 32, 28, .14) !important;
    }

    #catalog-filter-form [data-catalog-filter-panel] > [data-catalog-mobile-filter-close-0553] {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 14px !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        color: #172033 !important;
        box-shadow: 0 8px 24px rgba(20, 32, 28, .06) !important;
    }

    #catalog-filter-form [data-catalog-filter-panel] > [data-catalog-mobile-filter-close-0553] i {
        font-size: 18px !important;
    }

    #catalog-filter-form [data-catalog-live-search] {
        border-radius: 20px !important;
        padding: 10px !important;
    }

    #catalog-filter-form [data-catalog-live-search] input[type="search"] {
        min-height: 54px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        font-size: 14px !important;
    }
}

@media (min-width: 1024px) {
    [data-catalog-mobile-filter-overlay-0553] {
        display: none !important;
    }

    #catalog-filter-form [data-catalog-filter-sidebar] {
        display: block !important;
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        max-width: none !important;
        transform: none !important;
        z-index: auto !important;
    }

    #catalog-filter-form [data-catalog-filter-panel] > [data-catalog-mobile-filter-close-0553] {
        display: none !important;
    }
}
/* BATALAR-055-3-MOBILE-CATEGORY-DRAWER-END */

/* BATALAR-055-3-3-MOBILE-FILTER-CONTROLS-START */
/* Drawer must sit above the public header, close reliably, and keep Apply visible. */
@media (max-width: 1023px) {
    html body [data-catalog-mobile-filter-overlay-0553] {
        position: fixed !important;
        inset: 0 !important;
        z-index: 5090 !important;
        background: rgba(20, 25, 23, .58) !important;
        -webkit-backdrop-filter: blur(1.5px) !important;
        backdrop-filter: blur(1.5px) !important;
        cursor: pointer !important;
    }

    html body [data-catalog-mobile-filter-overlay-0553][data-mobile-open="true"] {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    html body #catalog-filter-form [data-catalog-filter-sidebar] {
        z-index: 5100 !important;
        isolation: isolate !important;
    }

    html body #catalog-filter-form [data-catalog-filter-panel] {
        position: relative !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding-top: 14px !important;
        padding-bottom: 104px !important;
        overscroll-behavior: contain !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-close-0553] {
        position: sticky !important;
        top: 0 !important;
        z-index: 7 !important;
        width: 46px !important;
        min-width: 46px !important;
        height: 46px !important;
        display: grid !important;
        place-items: center !important;
        margin: 0 auto 14px 0 !important;
        padding: 0 !important;
        border: 1px solid #e2e7e4 !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, .98) !important;
        color: #26312d !important;
        box-shadow: 0 10px 28px rgba(20, 32, 28, .10) !important;
        cursor: pointer !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-close-0553] i {
        display: block !important;
        color: currentColor !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-apply-wrap-05533] {
        position: absolute !important;
        z-index: 8 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        padding: 12px 14px max(14px, env(safe-area-inset-bottom)) !important;
        border-top: 1px solid #e8ecea !important;
        background: rgba(255, 255, 255, .96) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        backdrop-filter: blur(12px) !important;
        box-shadow: 0 -12px 32px rgba(20, 32, 28, .08) !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-apply-05533] {
        width: 100% !important;
        min-height: 54px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding-inline: 18px !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: #01FFCD !important;
        color: #26312d !important;
        -webkit-text-fill-color: #26312d !important;
        font-size: 15px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-apply-05533] i {
        color: currentColor !important;
        font-size: 19px !important;
    }
}

@media (min-width: 1024px) {
    [data-catalog-mobile-filter-apply-wrap-05533] {
        display: none !important;
    }
}
/* BATALAR-055-3-3-MOBILE-FILTER-CONTROLS-END */

/* BATALAR-055-3-4-MOBILE-FILTER-HEADER-START */
@media (max-width: 1023px) {
    html.batalar-catalog-filter-open-05534 body [data-home-header],
    html.batalar-catalog-filter-open-05534 body .home-top-header {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html.batalar-catalog-filter-open-05534,
    html.batalar-catalog-filter-open-05534 body {
        overflow: hidden !important;
    }

    html body #catalog-filter-form [data-catalog-filter-sidebar] {
        top: 0 !important;
        bottom: 0 !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        overflow: hidden !important;
        background: #ffffff !important;
        z-index: 5200 !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-drawer-head-05534] {
        position: relative !important;
        z-index: 30 !important;
        width: 100% !important;
        min-height: 68px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        padding: max(11px, env(safe-area-inset-top)) 16px 11px !important;
        border-bottom: 1px solid #edf0ee !important;
        background: rgba(255, 255, 255, .985) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        backdrop-filter: blur(14px) !important;
        box-shadow: 0 8px 24px rgba(20, 32, 28, .045) !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-drawer-head-05534] strong {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        color: #26312d !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
        font-weight: 900 !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-drawer-head-05534] strong i {
        color: #00b88a !important;
        font-size: 20px !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-close-05534] {
        position: relative !important;
        inset: auto !important;
        z-index: 40 !important;
        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        display: grid !important;
        place-items: center !important;
        flex: 0 0 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #dde3e0 !important;
        border-radius: 14px !important;
        background: #ffffff !important;
        color: #202725 !important;
        box-shadow: 0 7px 20px rgba(20, 32, 28, .08) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-close-05534] i {
        display: block !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        color: currentColor !important;
        font-size: 25px !important;
        line-height: 1 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body #catalog-filter-form [data-catalog-filter-panel] > [data-catalog-mobile-filter-close-0553]:not([data-catalog-mobile-filter-close-05534]) {
        display: none !important;
    }

    html body #catalog-filter-form [data-catalog-filter-panel] {
        height: calc(100dvh - 68px) !important;
        min-height: 0 !important;
        max-height: calc(100dvh - 68px) !important;
        overflow-y: auto !important;
        padding-top: 16px !important;
        padding-bottom: 104px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    html body [data-catalog-mobile-filter-overlay-0553] {
        z-index: 5190 !important;
        background: rgba(18, 23, 21, .64) !important;
        -webkit-backdrop-filter: blur(2px) !important;
        backdrop-filter: blur(2px) !important;
    }
}

@media (min-width: 1024px) {
    [data-catalog-mobile-filter-drawer-head-05534] {
        display: none !important;
    }
}
/* BATALAR-055-3-4-MOBILE-FILTER-HEADER-END */

/* BATALAR-055-3-5-MOBILE-FILTER-FOOTER-ACTIONS-START */
/*
 * Stage 055.3.5
 * - the old top drawer header is intentionally hidden on mobile;
 * - close is moved beside Apply in the sticky bottom action bar;
 * - previous 055.3.x DOM/data contracts stay present for regression safety;
 * - no Tailwind rebuild is required.
 */
@media (max-width: 1023px) {
    /* The 055.3.4 header stays in DOM for compatibility, but is no longer visible. */
    html body #catalog-filter-form [data-catalog-mobile-filter-drawer-head-05534] {
        display: none !important;
    }

    /* Drawer now owns the full viewport because there is no visible top drawer header. */
    html body #catalog-filter-form [data-catalog-filter-sidebar] {
        top: 0 !important;
        bottom: 0 !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        z-index: 5200 !important;
    }

    html body #catalog-filter-form [data-catalog-filter-panel] {
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        padding-top: max(18px, env(safe-area-inset-top)) !important;
        padding-bottom: 104px !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overscroll-behavior: contain !important;
    }

    /* Any historical close control outside the bottom action bar must stay invisible. */
    html body #catalog-filter-form [data-catalog-mobile-filter-close-05534],
    html body #catalog-filter-form [data-catalog-mobile-filter-close-0553]:not([data-catalog-mobile-filter-footer-close-05535]) {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /* Bottom bar: close button + Apply button side by side. */
    html body #catalog-filter-form [data-catalog-mobile-filter-apply-wrap-05533] {
        position: absolute !important;
        z-index: 80 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        min-height: 82px !important;
        display: grid !important;
        grid-template-columns: 54px minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 10px !important;
        direction: ltr !important;
        padding: 12px 14px max(14px, env(safe-area-inset-bottom)) !important;
        border-top: 1px solid #e8ecea !important;
        background: rgba(255, 255, 255, .97) !important;
        -webkit-backdrop-filter: blur(14px) !important;
        backdrop-filter: blur(14px) !important;
        box-shadow: 0 -14px 34px rgba(20, 32, 28, .09) !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-footer-close-05535] {
        grid-column: 1 !important;
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        min-height: 54px !important;
        height: 100% !important;
        display: grid !important;
        place-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #dfe5e2 !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        color: #26312d !important;
        -webkit-text-fill-color: #26312d !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-footer-close-05535] i {
        display: block !important;
        margin: 0 !important;
        color: currentColor !important;
        font-size: 24px !important;
        line-height: 1 !important;
    }

    html body #catalog-filter-form [data-catalog-mobile-filter-apply-05533] {
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 54px !important;
        height: 100% !important;
        margin: 0 !important;
        border-radius: 16px !important;
        direction: rtl !important;
    }
}

@media (min-width: 1024px) {
    [data-catalog-mobile-filter-footer-close-05535] {
        display: none !important;
    }
}
/* BATALAR-055-3-5-MOBILE-FILTER-FOOTER-ACTIONS-END */

/* BATALAR-0722-STORY-SEEN-RING-START */
/*
Seen state is stronger than both regular unread and subscriber unread rings.
Unread subscribers keep the green subscription ring; once every current story
for that business is seen, the ring becomes neutral.
*/
.services-story-ring-033.is-seen-036,
.services-story-ring-033.has-story-033.is-seen-036,
.services-story-ring-033.is-subscriber-044.is-seen-036 {
    background: #e4e4e7 !important;
    box-shadow: none !important;
}
/* BATALAR-0722-STORY-SEEN-RING-END */

/* BATALAR-0723-STORY-PLAN-RINGS-START */
/*
Unread story rings by subscription tier:
- Professional / ویژه => Batalar green
- Premium / ممتاز => rose red
Seen state always wins and becomes neutral gray.
*/
.services-story-ring-033.is-subscriber-044.is-special-plan-0723:not(.is-seen-036) {
    background: var(--btl-primary, #01FFCD) !important;
    box-shadow: 0 0 0 .16rem rgba(16, 255, 205, .16) !important;
}

.services-story-ring-033.is-subscriber-044.is-premium-plan-0723:not(.is-seen-036) {
    background: #ff4d6d !important;
    box-shadow: 0 0 0 .16rem rgba(255, 77, 109, .16) !important;
}

.services-story-ring-033.is-seen-036,
.services-story-ring-033.has-story-033.is-seen-036,
.services-story-ring-033.is-subscriber-044.is-special-plan-0723.is-seen-036,
.services-story-ring-033.is-subscriber-044.is-premium-plan-0723.is-seen-036 {
    background: #e4e4e7 !important;
    box-shadow: none !important;
}
/* BATALAR-0723-STORY-PLAN-RINGS-END */

/* BATALAR-117-MIN-RATING-START */
[data-catalog-rating-filter-117] {
    overflow: hidden;
}

.batalar-min-rating-stars-117 {
    direction: rtl;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
    padding: 10px 8px;
    border: 1px solid rgba(39, 39, 42, 0.10);
    border-radius: 18px;
    background: #fff;
}

.batalar-min-rating-star-117 {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 13px;
    background: transparent;
    color: #d4d4d8;
    cursor: pointer;
    transition: color .16s ease, background-color .16s ease, transform .16s ease;
}

.batalar-min-rating-star-117 i {
    font-size: 25px;
    line-height: 1;
}

.batalar-min-rating-star-117:hover {
    color: #01FFCD;
    background: rgba(16, 255, 205, 0.08);
    transform: translateY(-1px);
}

.batalar-min-rating-star-117.is-active {
    color: #01FFCD;
}

.batalar-min-rating-star-117:focus-visible {
    outline: 2px solid #01FFCD;
    outline-offset: 2px;
}

.batalar-min-rating-clear-117 {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 8px;
    border: 1px solid rgba(39, 39, 42, 0.10);
    border-radius: 14px;
    background: #fff;
    color: #a1a1aa;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.batalar-min-rating-clear-117.is-visible {
    border-color: rgba(16, 255, 205, 0.35);
    color: #3f4a46;
    background: rgba(16, 255, 205, 0.06);
}

@media (max-width: 420px) {
    .batalar-min-rating-stars-117 {
        gap: 4px;
        padding-inline: 4px;
    }

    .batalar-min-rating-star-117 {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .batalar-min-rating-star-117 i {
        font-size: 23px;
    }
}
/* BATALAR-117-MIN-RATING-END */

/* BATALAR-122-ADD-SERVICE-CTA-START */
.batalar-add-service-cta-122 {
    width: 100%;
    margin: 0;
    padding: 28px 16px;
    background: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
}

.batalar-add-service-cta-122__card {
    width: min(100%, 1180px);
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 24px;
    border: 1px solid rgba(35, 40, 39, .08);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(35, 40, 39, .05);
}

.batalar-add-service-cta-122__content {
    min-width: 0;
    flex: 1 1 auto;
}

.batalar-add-service-cta-122__content h2 {
    margin: 0;
    color: #232827;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 900;
    line-height: 1.65;
}

.batalar-add-service-cta-122__content p {
    max-width: 760px;
    margin: 8px 0 0;
    color: #6b7471;
    font-size: 13px;
    font-weight: 600;
    line-height: 2;
}

.batalar-add-service-cta-122__button {
    flex: 0 0 auto;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 24px;
    border: 0 !important;
    border-radius: 16px;
    background: #01FFCD !important;
    color: #232827 !important;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none !important;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

.batalar-add-service-cta-122__button:hover {
    background: #0df0c1 !important;
    color: #232827 !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(16, 255, 205, .18) !important;
}

.batalar-add-service-cta-122__button:focus-visible {
    outline: 3px solid rgba(16, 255, 205, .28);
    outline-offset: 3px;
}

.batalar-add-service-cta-122__button i {
    font-size: 18px;
    line-height: 1;
}

@media (max-width: 760px) {
    .batalar-add-service-cta-122 {
        padding: 18px 14px;
    }

    .batalar-add-service-cta-122__card {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
        padding: 18px;
        border-radius: 18px;
    }

    .batalar-add-service-cta-122__content h2 {
        font-size: 17px;
    }

    .batalar-add-service-cta-122__content p {
        font-size: 12px;
        line-height: 1.9;
    }

    .batalar-add-service-cta-122__button {
        width: 100%;
        min-height: 48px;
        border-radius: 14px;
    }
}
/* BATALAR-122-ADD-SERVICE-CTA-END */

/* BATALAR-PRIMARY-01FFCD-SERVICES-ICONS-START */
[data-services-index-page] i[class*="ph"],
[data-services-index-page] .ph,
[data-services-index-page] .ph-fill,
[data-services-index-page] .ph-duotone,
[data-services-index-page] .ph-bold,
[data-services-index-page] .ph-light,
[data-services-index-page] .ph-thin {
    color: #01FFCD !important;
}

/* Uploaded category SVGs keep their own artwork. CurrentColor-based icons
   on the Services page are forced to the exact project primary. */
[data-services-index-page] svg,
[data-services-index-page] [data-icon] {
    color: #01FFCD !important;
}
/* BATALAR-PRIMARY-01FFCD-SERVICES-ICONS-END */

/* BATALAR-124-CATALOG-FILTER-EXACT-START */
/* Visual order is controlled by the template. This block only styles the
   exact requested surfaces and SVG sizing. */

[data-catalog-special-filter-124] {
    position: relative !important;
    min-height: 72px !important;
    overflow: hidden !important;
    border: 1px solid rgba(1, 255, 205, .18) !important;
    border-radius: 1.25rem !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(1,255,205,.22), transparent 28%),
        linear-gradient(135deg, #09111D 0%, #131D2C 52%, #26354A 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 16px 36px rgba(9, 17, 29, .16) !important;
}

[data-catalog-special-filter-124]::after {
    content: "";
    position: absolute;
    inset: auto -20px -46px auto;
    width: 120px;
    height: 120px;
    border-radius: 999px;
    background: rgba(1,255,205,.08);
    pointer-events: none;
}

[data-catalog-special-filter-124],
[data-catalog-special-filter-124] span {
    color: #FFFFFF !important;
}

[data-catalog-special-filter-124] i {
    color: #01FFCD !important;
}

[data-catalog-special-filter-124] input[type="checkbox"] {
    accent-color: #01FFCD !important;
}

[data-catalog-dynamic-filters-124] {
    margin-top: 0 !important;
}

[data-catalog-dynamic-filters-124] > .mt-4 {
    margin-top: 0 !important;
}

.batalar-catalog-subcategory-svg-124 {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    max-width: 22px !important;
    max-height: 22px !important;
    object-fit: contain !important;
    object-position: center !important;
    font-size: 22px !important;
    line-height: 1 !important;
    color: #01FFCD !important;
}

[data-catalog-dynamic-filters-124] section:first-child a > span {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 10px !important;
    background: rgba(1,255,205,.08) !important;
}

[data-catalog-rating-filter-124] {
    margin-bottom: 0 !important;
}
/* BATALAR-124-CATALOG-FILTER-EXACT-END */

/* BATALAR-124-MOBILE-RESULTS-HEADER-START */
@media (max-width: 640px) {
    [data-services-results-header-0435] {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        min-height: 72px !important;
        margin-bottom: 14px !important;
        padding: 12px 14px !important;
        border-radius: 20px !important;
    }

    [data-services-results-header-0435] > div:first-child {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }

    [data-services-results-kicker-0435] {
        display: none !important;
    }

    [data-services-results-count-0435] {
        margin: 0 !important;
        overflow: hidden !important;
        color: #222927 !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        font-variation-settings: "wght" 500 !important;
        line-height: 1.5 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    [data-services-results-sort-0435] {
        flex: 0 0 auto !important;
        gap: 0 !important;
        margin: 0 !important;
    }

    [data-services-results-sort-0435] > span {
        display: none !important;
    }

    [data-services-results-sort-0435] select {
        width: 116px !important;
        min-width: 116px !important;
        max-width: 116px !important;
        min-height: 42px !important;
        height: 42px !important;
        padding-inline: 12px 30px !important;
        border-radius: 14px !important;
        background-color: #fafafa !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        font-variation-settings: "wght" 600 !important;
        line-height: 1 !important;
    }
}

@media (max-width: 380px) {
    [data-services-results-header-0435] {
        gap: 8px !important;
        padding-inline: 11px !important;
    }

    [data-services-results-count-0435] {
        font-size: 12px !important;
    }

    [data-services-results-sort-0435] select {
        width: 104px !important;
        min-width: 104px !important;
        max-width: 104px !important;
        padding-inline: 10px 26px !important;
        font-size: 10px !important;
    }
}
/* BATALAR-124-MOBILE-RESULTS-HEADER-END */

/* BATALAR-124-FILTER-FLAT-START */
/*
 * Catalog filter visual cleanup:
 * - every textual element uses Yekan weight 400
 * - keep one main filter panel
 * - flatten nested filter cards into clean separated sections
 * - preserve the dedicated dark special-provider card
 */

[data-catalog-filter-panel],
[data-catalog-filter-panel] p,
[data-catalog-filter-panel] span,
[data-catalog-filter-panel] small,
[data-catalog-filter-panel] label,
[data-catalog-filter-panel] h2,
[data-catalog-filter-panel] h3,
[data-catalog-filter-panel] strong,
[data-catalog-filter-panel] b,
[data-catalog-filter-panel] button,
[data-catalog-filter-panel] input,
[data-catalog-filter-panel] select,
[data-catalog-filter-panel] option {
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

/* Keep icon fonts independent from text weight. */
[data-catalog-filter-panel] i,
[data-catalog-filter-panel] [class^="ph-"],
[data-catalog-filter-panel] [class*=" ph-"] {
    font-variation-settings: normal !important;
}

/* Main shell stays as the single visible container. */
[data-catalog-filter-panel] {
    border-color: rgba(39, 48, 45, .08) !important;
    border-radius: 28px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(24, 37, 33, .035) !important;
}

[data-catalog-filter-panel] > header {
    margin-bottom: 16px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(39, 48, 45, .07) !important;
}

[data-catalog-filter-panel] > header h2 {
    font-size: 1.15rem !important;
    line-height: 1.55 !important;
}

[data-catalog-filter-panel] > header p {
    font-size: .72rem !important;
}

/*
 * Flatten the standard static filter sections.
 * The special provider block is intentionally excluded.
 */
[data-catalog-filter-order-124] > section,
[data-catalog-filter-panel] > .space-y-4 > section:not([data-catalog-special-filter-124]),
[data-catalog-dynamic-filters-124] section {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 16px 0 !important;
    margin: 0 !important;
}

[data-catalog-filter-order-124] > section + section,
[data-catalog-dynamic-filters-124] section + section {
    border-top: 1px solid rgba(39, 48, 45, .07) !important;
}

/* Dynamic filter wrapper should not create another visual box. */
[data-catalog-dynamic-filters-124],
[data-catalog-dynamic-filters-124] > .mt-4 {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Special providers remains the single highlighted inner card. */
[data-catalog-special-filter-124] {
    margin-bottom: 4px !important;
    padding: 16px 18px !important;
    border-radius: 20px !important;
}

[data-catalog-special-filter-124],
[data-catalog-special-filter-124] span {
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

/* City: remove the nested field-card feeling, keep only the control itself. */
[data-catalog-city-filter-124] > label {
    margin-bottom: 10px !important;
}

[data-catalog-city-picker-074] > button {
    min-height: 54px !important;
    border-color: rgba(39, 48, 45, .09) !important;
    border-radius: 16px !important;
    background: #fbfcfc !important;
    box-shadow: none !important;
}

[data-catalog-city-picker-074] > button > span > span:first-child {
    width: 34px !important;
    height: 34px !important;
    border-radius: 11px !important;
}

/* Subcategory chips: lighter, less card-like. */
[data-catalog-dynamic-filters-124] section:first-child > div {
    gap: 8px !important;
}

[data-catalog-dynamic-filters-124] section:first-child a {
    min-height: 36px !important;
    padding: 6px 10px !important;
    border-color: rgba(39, 48, 45, .08) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

[data-catalog-dynamic-filters-124] section:first-child a > span {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 8px !important;
    background: rgba(1, 255, 205, .07) !important;
}

.batalar-catalog-subcategory-svg-124 {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    font-size: 18px !important;
}

/* Feature rows: turn separate rounded cards into clean list rows. */
[data-catalog-dynamic-filters-124] section:nth-child(n+2) .grid.gap-2 > label {
    min-height: 46px !important;
    padding: 10px 4px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(39, 48, 45, .065) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

[data-catalog-dynamic-filters-124] section:nth-child(n+2) .grid.gap-2 > label:last-child {
    border-bottom: 0 !important;
}

/* Price and rating sections should feel like simple sections, not cards. */
[data-catalog-price-filter-124],
[data-catalog-rating-filter-124] {
    background: transparent !important;
}

[data-catalog-price-filter-124] .rounded-xl,
[data-catalog-rating-filter-124] .batalar-min-rating-stars-117,
[data-catalog-rating-filter-124] .batalar-min-rating-clear-117 {
    box-shadow: none !important;
}

/* Mobile density: slightly tighter while staying touch-friendly. */
@media (max-width: 1023px) {
    [data-catalog-filter-panel] {
        padding-inline: 18px !important;
    }

    [data-catalog-filter-order-124] > section,
    [data-catalog-dynamic-filters-124] section {
        padding-block: 14px !important;
    }

    [data-catalog-special-filter-124] {
        padding: 15px 16px !important;
    }
}
/* BATALAR-124-FILTER-FLAT-END */

/* BATALAR-124-FILTER-TITLES-FEATURES-START */
/* Slightly stronger hierarchy while keeping every filter text at weight 400. */

[data-catalog-filter-panel] > header h2 {
    font-size: 1.28rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

[data-catalog-filter-panel] section > label:first-child,
[data-catalog-filter-panel] section > h3:first-child,
[data-catalog-price-filter-124] > div:first-child > label,
[data-catalog-rating-filter-124] h3 {
    font-size: .9rem !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

/* Dynamic section titles (زیردسته‌ها، امکانات و attribute headings). */
[data-catalog-dynamic-filters-124] section > h3 {
    margin-bottom: 10px !important;
    font-size: .9rem !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

/* Compact the امکانات block without affecting other dynamic filters. */
[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) > h3 {
    margin-bottom: 6px !important;
}

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) .grid.gap-2 {
    gap: 0 !important;
}

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) .grid.gap-2 > label {
    min-height: 39px !important;
    padding: 6px 2px !important;
    gap: 9px !important;
    font-size: .76rem !important;
}

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
}

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) label > span:first-of-type {
    display: inline-grid !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    place-items: center !important;
}

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) label > span:first-of-type img,
[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) label > span:first-of-type svg,
[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) label > span:first-of-type i {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    font-size: 17px !important;
}

/* Mobile: preserve hierarchy but avoid oversized headings. */
@media (max-width: 640px) {
    [data-catalog-filter-panel] > header h2 {
        font-size: 1.2rem !important;
    }

    [data-catalog-filter-panel] section > label:first-child,
    [data-catalog-filter-panel] section > h3:first-child,
    [data-catalog-price-filter-124] > div:first-child > label,
    [data-catalog-rating-filter-124] h3,
    [data-catalog-dynamic-filters-124] section > h3 {
        font-size: .86rem !important;
    }

    [data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) .grid.gap-2 > label {
        min-height: 37px !important;
        padding-block: 5px !important;
        font-size: .74rem !important;
    }
}
/* BATALAR-124-FILTER-TITLES-FEATURES-END */

/* BATALAR-124-FEATURE-CHIPS-START */
/*
 * Compact selectable feature cards for catalog filters.
 * Uses the existing semantic checkbox markup; only presentation changes.
 * Selected state is driven directly from input:checked.
 */

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) {
    padding-block: 12px !important;
}

[data-catalog-dynamic-filters-124] section:has(> h3 .ph-check-square) > h3 {
    margin-bottom: 8px !important;
    font-size: .9rem !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
}

/* Two compact cards per row inside the narrow filter drawer/sidebar. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

/* Base feature card. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 7px 9px !important;
    overflow: hidden !important;
    border: 1px solid rgba(39, 48, 45, .09) !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    color: #4f5956 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition:
        border-color .16s ease,
        background-color .16s ease,
        color .16s ease,
        box-shadow .16s ease,
        transform .16s ease !important;
}

/* Keep the real checkbox accessible while visually hiding it. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> input[type="checkbox"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Icon cell. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:first-of-type {
    grid-column: 1 !important;
    display: grid !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    place-items: center !important;
    margin: 0 !important;
    border-radius: 7px !important;
    background: rgba(1, 255, 205, .08) !important;
    color: #01FFCD !important;
    transition:
        background-color .16s ease,
        color .16s ease !important;
}

[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:first-of-type
:is(img, svg, i) {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    object-fit: contain !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

/* Feature name. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:last-child {
    grid-column: 2 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: inherit !important;
    font-size: .72rem !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
    line-height: 1.45 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Hover without looking selected. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:hover {
    border-color: rgba(1, 255, 205, .48) !important;
    background: rgba(1, 255, 205, .035) !important;
    transform: translateY(-1px) !important;
}

/* Selected feature: unmistakable primary state. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:has(input[type="checkbox"]:checked) {
    border-color: #01FFCD !important;
    background: rgba(1, 255, 205, .13) !important;
    color: #25312d !important;
    box-shadow: 0 0 0 2px rgba(1, 255, 205, .11) !important;
    transform: none !important;
}

[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:has(input[type="checkbox"]:checked)
> span:first-of-type {
    background: #01FFCD !important;
    color: #25312d !important;
}

/* Small selected check badge. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:has(input[type="checkbox"]:checked)::after {
    content: "✓" !important;
    position: absolute !important;
    inset-inline-end: 5px !important;
    inset-block-start: 5px !important;
    display: grid !important;
    width: 15px !important;
    height: 15px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #25312d !important;
    color: #01FFCD !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Keyboard focus remains clearly visible. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:has(input[type="checkbox"]:focus-visible) {
    outline: 2px solid #01FFCD !important;
    outline-offset: 2px !important;
}

/* Very narrow screens still keep the compact two-column layout. */
@media (max-width: 370px) {
    [data-catalog-dynamic-filters-124]
    section:has(> h3 .ph-check-square)
    > .grid.gap-2 {
        gap: 6px !important;
    }

    [data-catalog-dynamic-filters-124]
    section:has(> h3 .ph-check-square)
    > .grid.gap-2
    > label {
        grid-template-columns: 20px minmax(0, 1fr) !important;
        min-height: 43px !important;
        padding: 6px 7px !important;
        gap: 6px !important;
        border-radius: 12px !important;
    }

    [data-catalog-dynamic-filters-124]
    section:has(> h3 .ph-check-square)
    > .grid.gap-2
    > label
    > span:last-child {
        font-size: .68rem !important;
    }
}
/* BATALAR-124-FEATURE-CHIPS-END */

/* BATALAR-124-FILTER-SUBCAT-FEATURE-ALIGN-START */
/*
 * Unify subcategory + feature chips:
 * - same text size and weight
 * - same Black Olive icon color in normal and selected states
 * - selected feature cards use a much lighter primary tint
 */

:root {
    --batalar-black-olive-124: #3B3C36;
}

/* Same typography for both زیر‌دسته‌ها and امکانات. */
[data-catalog-dynamic-filters-124] section:first-child a,
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label,
[data-catalog-dynamic-filters-124] section:first-child a span,
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:last-child {
    font-size: .72rem !important;
    font-weight: 400 !important;
    font-variation-settings: "wght" 400 !important;
    line-height: 1.45 !important;
}

/* Subcategory icon wrapper and glyphs: Black Olive, consistently. */
[data-catalog-dynamic-filters-124] section:first-child a > span:first-child,
[data-catalog-dynamic-filters-124] section:first-child a > span:first-child i,
[data-catalog-dynamic-filters-124] section:first-child a > span:first-child svg,
[data-catalog-dynamic-filters-124] section:first-child a > span:first-child svg *,
.batalar-catalog-subcategory-svg-124 {
    color: var(--batalar-black-olive-124) !important;
    stroke: currentColor !important;
}

/* Uploaded SVGs rendered as <img> are visually normalized to Black Olive. */
[data-catalog-dynamic-filters-124] section:first-child a > span:first-child img,
.batalar-catalog-subcategory-svg-124:is(img) {
    filter:
        brightness(0)
        saturate(100%)
        invert(20%)
        sepia(7%)
        saturate(460%)
        hue-rotate(40deg)
        brightness(92%)
        contrast(91%) !important;
}

/* Feature icon wrappers and glyphs: same Black Olive tone. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:first-of-type,
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:first-of-type
:is(i, svg),
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:first-of-type
svg * {
    color: var(--batalar-black-olive-124) !important;
    stroke: currentColor !important;
}

[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label
> span:first-of-type
img {
    filter:
        brightness(0)
        saturate(100%)
        invert(20%)
        sepia(7%)
        saturate(460%)
        hue-rotate(40deg)
        brightness(92%)
        contrast(91%) !important;
}

/* Selected feature card: much less primary background than before. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:has(input[type="checkbox"]:checked) {
    border-color: rgba(1, 255, 205, .48) !important;
    background: rgba(1, 255, 205, .045) !important;
    color: var(--batalar-black-olive-124) !important;
    box-shadow: 0 0 0 1px rgba(1, 255, 205, .06) !important;
}

/* Active feature icon remains Black Olive; only its tiny icon chip gets a soft tint. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:has(input[type="checkbox"]:checked)
> span:first-of-type {
    background: rgba(1, 255, 205, .10) !important;
    color: var(--batalar-black-olive-124) !important;
}

/* Selected check badge stays subtle and uses the same Black Olive. */
[data-catalog-dynamic-filters-124]
section:has(> h3 .ph-check-square)
> .grid.gap-2
> label:has(input[type="checkbox"]:checked)::after {
    background: var(--batalar-black-olive-124) !important;
    color: #01FFCD !important;
}

/* If a subcategory link has an active/current state, keep icon Black Olive too. */
[data-catalog-dynamic-filters-124] section:first-child a[aria-current="page"] > span:first-child,
[data-catalog-dynamic-filters-124] section:first-child a.is-active > span:first-child,
[data-catalog-dynamic-filters-124] section:first-child a.active > span:first-child {
    color: var(--batalar-black-olive-124) !important;
}

@media (max-width: 370px) {
    [data-catalog-dynamic-filters-124] section:first-child a,
    [data-catalog-dynamic-filters-124]
    section:has(> h3 .ph-check-square)
    > .grid.gap-2
    > label,
    [data-catalog-dynamic-filters-124] section:first-child a span,
    [data-catalog-dynamic-filters-124]
    section:has(> h3 .ph-check-square)
    > .grid.gap-2
    > label
    > span:last-child {
        font-size: .68rem !important;
    }
}
/* BATALAR-124-FILTER-SUBCAT-FEATURE-ALIGN-END */

/* BATALAR-124-HIDE-SPECIAL-PROVIDERS-START */
/*
 * Temporary product decision:
 * hide the "فقط ارائه‌دهندگان ویژه" control from the smart filter UI.
 * The backend/query parameter remains intact so this can be restored later
 * without touching data or filter logic.
 */
[data-catalog-filter-panel] label:has(input[name="special"]),
[data-catalog-special-filter-124] {
    display: none !important;
}
/* BATALAR-124-HIDE-SPECIAL-PROVIDERS-END */

/* BATALAR-131-PUBLIC-LISTING-LIGHTBOX-START */
html.batalar-gallery-open-131 [data-public-header-sticky-076] {
    visibility: hidden !important;
}

.listing-lightbox-131 {
    position: fixed;
    inset: 0;
    z-index: 2147483600 !important;
    display: grid;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    background: rgba(3, 10, 9, .98);
    color: #fff;
    backdrop-filter: blur(1rem);
    outline: none;
}

.listing-lightbox-131__shell {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr) auto;
    background: transparent;
}

.listing-lightbox-131__toolbar {
    z-index: 4;
    display: flex;
    min-height: 4.5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem clamp(.75rem, 2vw, 1.5rem);
}

.listing-lightbox-131__counter {
    display: inline-flex;
    min-width: 4.5rem;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .82);
    font-size: .72rem;
    font-weight: 900;
    direction: ltr;
}

.listing-lightbox-131__close,
.listing-lightbox-131__nav {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .1);
    color: #fff;
    box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .2);
    backdrop-filter: blur(.7rem);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.listing-lightbox-131__close {
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    font-size: 1.4rem;
}

.listing-lightbox-131__close:hover,
.listing-lightbox-131__nav:hover {
    border-color: rgba(1, 255, 205, .55);
    background: rgba(1, 255, 205, .16);
}

.listing-lightbox-131__stage {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 0;
    place-items: center;
    padding: .25rem clamp(3.75rem, 6vw, 6.5rem) .75rem;
    cursor: zoom-out;
}

.listing-lightbox-131__image {
    display: block;
    width: auto;
    max-width: min(78vw, 72rem);
    height: auto;
    max-height: 70dvh;
    border-radius: 1.25rem;
    object-fit: contain;
    box-shadow: 0 1.5rem 5rem rgba(0, 0, 0, .46);
    cursor: default;
    user-select: none;
}

.listing-lightbox-131__nav {
    position: absolute;
    z-index: 3;
    top: 50%;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1.1rem;
    font-size: 1.45rem;
    transform: translateY(-50%);
}

.listing-lightbox-131__nav.is-previous {
    right: clamp(.65rem, 2vw, 1.5rem);
}

.listing-lightbox-131__nav.is-next {
    left: clamp(.65rem, 2vw, 1.5rem);
}

.listing-lightbox-131__nav:disabled {
    visibility: hidden;
}

.listing-lightbox-131__footer {
    min-width: 0;
    padding: .65rem .75rem max(.75rem, env(safe-area-inset-bottom));
    background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .38));
}

.listing-lightbox-131__thumbnails {
    display: flex;
    width: min(100%, 58rem);
    margin-inline: auto;
    gap: .55rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: .25rem;
    direction: ltr;
    scrollbar-width: thin;
    scrollbar-color: rgba(1, 255, 205, .5) transparent;
}

.listing-lightbox-131__thumbnail {
    position: relative;
    display: block;
    width: 5.25rem;
    height: 3.5rem;
    flex: 0 0 auto;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: .8rem;
    background: rgba(255, 255, 255, .08);
    padding: 0;
    opacity: .58;
    transition: border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.listing-lightbox-131__thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.listing-lightbox-131__thumbnail:hover,
.listing-lightbox-131__thumbnail.is-active {
    border-color: #01ffcd;
    opacity: 1;
    transform: translateY(-.1rem);
}

@media (max-width: 639px) {
    .listing-lightbox-131__toolbar {
        min-height: 4rem;
        padding: .5rem .65rem;
    }

    .listing-lightbox-131__close {
        width: 2.75rem;
        height: 2.75rem;
        border-radius: .9rem;
    }

    .listing-lightbox-131__stage {
        padding: .25rem 3.25rem .5rem;
    }

    .listing-lightbox-131__image {
        max-width: calc(100vw - 6.5rem);
        max-height: 62dvh;
        border-radius: .9rem;
    }

    .listing-lightbox-131__nav {
        width: 2.75rem;
        height: 2.75rem;
        border-radius: .9rem;
        font-size: 1.25rem;
    }

    .listing-lightbox-131__nav.is-previous {
        right: .35rem;
    }

    .listing-lightbox-131__nav.is-next {
        left: .35rem;
    }

    .listing-lightbox-131__footer {
        padding-inline: .4rem;
    }

    .listing-lightbox-131__thumbnail {
        width: 4.5rem;
        height: 3rem;
        border-radius: .7rem;
    }
}
/* BATALAR-131-PUBLIC-LISTING-LIGHTBOX-END */

/* BATALAR-137-SERVICES-CATEGORY-ICONS-START */
/* Keep every category artwork inside one predictable frame, regardless of
   whether it comes from Phosphor or an uploaded SVG file. */
[data-services-index-page] [data-services-category-icon-137] {
    display: grid !important;
    flex: 0 0 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    place-items: center !important;
    overflow: hidden !important;
    color: #3B3C36 !important;
}

[data-services-index-page] [data-services-category-icon-137] > .services-category-icon-137__artwork {
    display: block !important;
    flex: none !important;
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    max-height: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #3B3C36 !important;
}

/* The entire Services page uses the requested Black Olive icon color. */
[data-services-index-page] i[class*="ph"],
[data-services-index-page] .ph,
[data-services-index-page] .ph-fill,
[data-services-index-page] .ph-duotone,
[data-services-index-page] .ph-bold,
[data-services-index-page] .ph-light,
[data-services-index-page] .ph-thin,
[data-services-index-page] svg,
[data-services-index-page] [data-icon] {
    color: #3B3C36 !important;
}

[data-services-index-page] [data-services-category-icon-137] > img.services-category-icon-137__artwork {
    filter: brightness(0) saturate(100%) invert(20%) sepia(7%) saturate(460%) hue-rotate(40deg) brightness(92%) contrast(91%) !important;
}
/* BATALAR-137-SERVICES-CATEGORY-ICONS-END */
