.ui-v2-mobile-shell .ui-v2-home {
    --home-orange: #f65505;
    --home-orange-dark: #df4900;
    --home-orange-soft: #fff1e6;
    --home-ink: #131b2e;
    --home-muted: #777b86;
    --home-line: #e7e8ea;
    --home-soft: #f6f6f7;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-block-size: 100dvh;
    padding: 20px 16px calc(116px + env(safe-area-inset-bottom));
    color: var(--home-ink);
    background: #fff;
    font-family: 'IRANSansXFaNum', 'IRANSansX', Tahoma, Arial, sans-serif;
}

.ui-v2-mobile-shell .ui-v2-home *,
.ui-v2-mobile-shell .ui-v2-home *::before,
.ui-v2-mobile-shell .ui-v2-home *::after { box-sizing: border-box; }

.ui-v2-mobile-shell .ui-v2-home :where(button, input) { font: inherit; }
.ui-v2-mobile-shell .ui-v2-home :where(h1, h2, h3, p) { margin: 0; }

.ui-v2-mobile-shell .ui-v2-home__header {
    display: grid;
    grid-template-columns: 84px minmax(76px, 1fr) 144px;
    min-block-size: 56px;
    align-items: center;
    gap: 8px;
}

.ui-v2-mobile-shell .ui-v2-home__brand {
    display: flex;
    align-items: center;
    inline-size: 84px;
    min-block-size: 56px;
}

.ui-v2-mobile-shell .ui-v2-home__brand img {
    display: block;
    inline-size: 84px;
    block-size: 56px;
    aspect-ratio: 3 / 2;
    object-fit: contain;
}

.ui-v2-mobile-shell .ui-v2-home__city {
    display: flex;
    min-inline-size: 0;
    min-block-size: 44px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 4px;
    border: 0;
    color: var(--home-ink);
    background: transparent;
    cursor: pointer;
    font-size: 0.86rem;
    font-weight: 700;
}

.ui-v2-mobile-shell .ui-v2-home__city > span[data-home-city-label] {
    max-inline-size: 11ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ui-v2-mobile-shell .ui-v2-home__city > svg:first-child { inline-size: 17px; block-size: 17px; flex: none; color: var(--home-orange); }

.ui-v2-mobile-shell .ui-v2-home__header-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    direction: ltr;
}

.ui-v2-mobile-shell .ui-v2-home__action {
    position: relative;
    display: grid;
    inline-size: 44px;
    block-size: 44px;
    flex: none;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 11px;
    color: #394052;
    background: transparent;
    text-decoration: none;
    cursor: pointer;
}

.ui-v2-mobile-shell .ui-v2-home__action::before {
    position: absolute;
    z-index: 0;
    inset: 2px;
    border-radius: 11px;
    background: #f4f4f5;
    box-shadow: 0 1px 3px rgb(19 27 46 / 5%);
    content: '';
}
.ui-v2-mobile-shell .ui-v2-home__action > * { position: relative; z-index: 1; }
.ui-v2-mobile-shell .ui-v2-home__action:hover::before { background: #ececee; }
.ui-v2-mobile-shell .ui-v2-home__action:focus-visible,
.ui-v2-mobile-shell .ui-v2-home__city:focus-visible,
.ui-v2-mobile-shell .ui-v2-home button:focus-visible,
.ui-v2-mobile-shell .ui-v2-home a:focus-visible { outline: 2px solid var(--home-orange); outline-offset: 2px; }

.ui-v2-mobile-shell .ui-v2-search { display: grid; gap: 7px; }
.ui-v2-mobile-shell .ui-v2-search__eyebrow,
.ui-v2-mobile-shell .ui-v2-search h1,
.ui-v2-mobile-shell .ui-v2-search__hint {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ui-v2-mobile-shell .ui-v2-search__form {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "button input";
    block-size: 54px;
    align-items: center;
    padding: 5px;
    border: 1px solid #dedfe2;
    border-radius: 16px;
    background: #fafafa;
    box-shadow: 0 3px 10px rgb(19 27 46 / 7%);
    direction: ltr;
}

.ui-v2-mobile-shell .ui-v2-search__form:focus-within {
    border-color: #ff9b65;
    box-shadow: 0 0 0 3px rgb(246 85 5 / 12%), 0 4px 12px rgb(19 27 46 / 7%);
}

/* The licensed host theme paints its own green focus ring on every form
   control. The pill already shows focus through :focus-within above, so the
   inherited ring is pure visual noise on top of it -- and only !important can
   out-rank a host rule this file cannot edit. */
.ui-v2-mobile-shell .ui-v2-home input:focus,
.ui-v2-mobile-shell .ui-v2-home input:focus-visible,
.ui-v2-mobile-shell .ui-v2-home input:focus-within,
.ui-v2-mobile-shell .ui-v2-home textarea:focus,
.ui-v2-mobile-shell .ui-v2-home-sheet input:focus,
.ui-v2-mobile-shell .ui-v2-home-sheet input:focus-visible {
    outline: none !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.ui-v2-mobile-shell .ui-v2-search__intent {
    color: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
}

.ui-v2-mobile-shell .ui-v2-search__form input[type="search"] {
    grid-area: input;
    min-inline-size: 0;
    inline-size: 100%;
    padding: 0 11px;
    border: 0;
    outline: 0;
    color: var(--home-ink);
    background: transparent;
    font-size: 0.82rem;
}

/* The pill is laid out ltr so the icon and the intent chip keep the same
   position in every locale. Both text nodes carry their own `dir` attribute
   from Core\SearchBar, which outranks that inherited direction -- so no
   `direction` declaration may be added here, or an English query would be
   typed right to left again. */

.ui-v2-mobile-shell .ui-v2-search__form input::placeholder { color: #92959e; opacity: 1; }

/* Keep the native submit control itself touch-sized.  SearchBar normally
   emits the more specific `ui-v2-search__submit` class below, but this
   boundary is also consumed by server-rendered/fallback compositions.  A
   classless submit must not collapse to the icon's intrinsic 36px box. */
.ui-v2-mobile-shell .ui-v2-search__form > button[type="submit"] {
    min-inline-size: 44px;
    min-block-size: 44px;
}

/* One control: the magnifier and the intent word submit together, and the
   divider sits after them so everything past it belongs to the query. */
.ui-v2-mobile-shell .ui-v2-search__submit {
    grid-area: button;
    display: flex;
    min-block-size: 44px;
    align-items: center;
    gap: 8px;
    padding: 0 12px 0 5px;
    border: 0;
    border-inline-end: 1px solid #dedfe2;
    border-radius: 0;
    color: #313747;
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.ui-v2-mobile-shell .ui-v2-search__submit-icon {
    display: grid;
    inline-size: 44px;
    block-size: 44px;
    flex: none;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(145deg, var(--home-orange-dark), var(--home-orange));
    box-shadow: 0 6px 14px rgb(246 85 5 / 24%);
}

.ui-v2-mobile-shell .ui-v2-search__submit:hover .ui-v2-search__submit-icon { filter: brightness(1.05); }
.ui-v2-mobile-shell .ui-v2-search__submit:active { transform: scale(.98); }
.ui-v2-mobile-shell .ui-v2-search__submit svg { inline-size: 20px; block-size: 20px; }
.ui-v2-mobile-shell .ui-v2-search__spinner { display: none; }
.ui-v2-mobile-shell .ui-v2-search__form.is-pending .ui-v2-search__submit-icon { display: none; }
.ui-v2-mobile-shell .ui-v2-search__form.is-pending .ui-v2-search__spinner {
    display: block;
    inline-size: 44px;
    block-size: 18px;
    border: 2px solid rgb(255 255 255 / 45%);
    border-block-start-color: #fff;
    border-radius: 50%;
    animation: ui-v2-search-spin .7s linear infinite;
}

.ui-v2-mobile-shell .ui-v2-search__message,
.ui-v2-mobile-shell .ui-v2-search__network {
    padding: 8px 10px;
    border-radius: 10px;
    color: #a32d00;
    background: var(--home-orange-soft);
    font-size: .74rem;
    font-weight: 700;
}
.ui-v2-mobile-shell .ui-v2-search__results { display: grid; gap: 8px; }
.ui-v2-mobile-shell .ui-v2-search__results[hidden] { display: none; }

.ui-v2-mobile-shell .ui-v2-section { display: grid; gap: 1px; }
.ui-v2-mobile-shell .ui-v2-section__heading {
    display: flex;
    min-inline-size: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.ui-v2-mobile-shell .ui-v2-section__heading > div { min-inline-size: 0; }
.ui-v2-mobile-shell .ui-v2-section__heading h2 { color: var(--home-ink); font-size: 1rem; font-weight: 800; }
.ui-v2-mobile-shell .ui-v2-section__heading p { margin-block-start: 3px; color: var(--home-muted); font-size: .68rem; }
.ui-v2-mobile-shell .ui-v2-section__heading > :where(a, button) {
    display: inline-flex;
    min-block-size: 44px;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: 0;
    color: var(--home-orange);
    background: transparent;
    font-size: .72rem;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

/* The "view all" chevron points the way reading continues, so it flips with
   the document rather than staying a right-to-left arrow in English. */
.ui-v2-mobile-shell[dir="ltr"] .ui-v2-section__heading > :where(a, button) > span[aria-hidden="true"] {
    display: inline-block;
    transform: rotate(180deg);
}

.ui-v2-mobile-shell .ui-v2-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.ui-v2-mobile-shell .ui-v2-category-grid--desktop {
    display: none;
}

.ui-v2-mobile-shell .ui-v2-category-grid > a {
    display: flex;
    min-inline-size: 0;
    min-block-size: 104px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 9px;
    padding: 10px 4px;
    border: 1px solid #e4e5e8;
    border-radius: 18px;
    color: #252b3b;
    background: #fff;
    box-shadow: 0 2px 7px rgb(19 27 46 / 4%);
    font-size: clamp(.63rem, 2.75vw, .72rem);
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    text-decoration: none;
}

.ui-v2-mobile-shell .ui-v2-category-grid__icon,
.ui-v2-mobile-shell .ui-v2-all-categories__icon {
    display: grid;
    inline-size: 46px;
    block-size: 46px;
    flex: none;
    place-items: center;
    border-radius: 15px;
    box-shadow: inset 0 0 0 1px currentColor;
}
.ui-v2-mobile-shell :where(.ui-v2-category-grid__icon,.ui-v2-all-categories__icon).is-orange { color: #ed651e; background: #fff1e8; }
.ui-v2-mobile-shell :where(.ui-v2-category-grid__icon,.ui-v2-all-categories__icon).is-green { color: #269b64; background: #e7f6ed; }
.ui-v2-mobile-shell :where(.ui-v2-category-grid__icon,.ui-v2-all-categories__icon).is-blue { color: #3476e5; background: #eaf1ff; }
.ui-v2-mobile-shell :where(.ui-v2-category-grid__icon,.ui-v2-all-categories__icon).is-gray { color: #566075; background: #f0f1f3; }
.ui-v2-mobile-shell .ui-v2-category-grid__icon svg { inline-size: 24px; block-size: 24px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }

.ui-v2-mobile-shell .ui-v2-today__rail {
    display: flex;
    gap: 12px;
    margin-inline: -16px;
    padding: 2px 16px 5px;
    overflow-x: auto;
    scroll-padding-inline: 16px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
}
.ui-v2-mobile-shell .ui-v2-today__rail::-webkit-scrollbar { display: none; }
.ui-v2-mobile-shell .ui-v2-today-card {
    flex: 0 0 184px;
    overflow: hidden;
    border: 1px solid #e4e5e8;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 3px 9px rgb(19 27 46 / 6%);
    scroll-snap-align: start;
}
.ui-v2-mobile-shell .ui-v2-today-card__media { position: relative; display: block; block-size: 98px; margin: 8px 8px 0; overflow: hidden; border-radius: 13px; background: #f3f3f4; }
.ui-v2-mobile-shell .ui-v2-today-card__placeholder { display: block; inline-size: 100%; block-size: 100%; background: linear-gradient(135deg, #f5f5f5, #ededee); }
.ui-v2-mobile-shell .ui-v2-today-card__photo { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.ui-v2-mobile-shell .ui-v2-today-card__special { position: absolute; inset-block-start: 7px; inset-inline-start: 7px; padding: 4px 8px; border-radius: 99px; color: #fff; background: var(--home-orange); font-size: .64rem; font-weight: 800; }
.ui-v2-mobile-shell .ui-v2-today-card__body { display: grid; gap: 3px; min-block-size: 94px; padding: 9px 11px 11px; }
.ui-v2-mobile-shell .ui-v2-today-card h3 { overflow: hidden; font-size: .78rem; line-height: 1.55; text-overflow: ellipsis; white-space: nowrap; }
.ui-v2-mobile-shell .ui-v2-today-card h3 a { color: inherit; text-decoration: none; }
.ui-v2-mobile-shell .ui-v2-today-card p { overflow: hidden; color: var(--home-muted); font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.ui-v2-mobile-shell .ui-v2-card-facts { display: flex; align-items: center; gap: 6px; color: #858995; font-size: .61rem; font-style: normal; }
.ui-v2-mobile-shell .ui-v2-card-facts > * + *::before { content: "·"; margin-inline-end: 6px; color: #c2c4ca; }
.ui-v2-mobile-shell .ui-v2-card-facts .is-open { color: #258b5c; font-weight: 800; }
.ui-v2-mobile-shell .ui-v2-card-facts .is-closed { color: #d14d2a; font-weight: 800; }
.ui-v2-mobile-shell .ui-v2-card-rating { display: flex; align-items: center; gap: 4px; color: #f1ad17; font-size: .6rem; direction: ltr; }
.ui-v2-mobile-shell .ui-v2-card-rating b { color: #505666; font-weight: 700; }

.ui-v2-mobile-shell .ui-v2-nearby-home__count { color: #92959e; font-size: .66rem; }
.ui-v2-mobile-shell .ui-v2-nearby-home { margin-block-start: 12px; }
.ui-v2-mobile-shell .ui-v2-nearby-home__list { display: grid; gap: 8px; }
.ui-v2-mobile-shell .ui-v2-nearby-row {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) 38px;
    min-block-size: 86px;
    align-items: center;
    gap: 11px;
    padding: 6px;
    border: 1px solid #ececef;
    border-radius: 18px;
    color: var(--home-ink);
    background: #fff;
    box-shadow: 0 2px 7px rgb(19 27 46 / 4%);
    text-decoration: none;
}
.ui-v2-mobile-shell .ui-v2-nearby-row__icon { display: grid; inline-size: 74px; block-size: 74px; place-items: center; border-radius: 14px; }
.ui-v2-mobile-shell .ui-v2-nearby-row__icon.is-orange { color: #ed651e; background: #fff1e8; }
.ui-v2-mobile-shell .ui-v2-nearby-row__icon.is-green { color: #269b64; background: #e7f6ed; }
.ui-v2-mobile-shell .ui-v2-nearby-row__icon.is-blue { color: #3476e5; background: #eaf1ff; }
.ui-v2-mobile-shell .ui-v2-nearby-row__icon.is-gray { color: #566075; background: #f0f1f3; }
.ui-v2-mobile-shell .ui-v2-nearby-row__icon svg { inline-size: 27px; block-size: 27px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.ui-v2-mobile-shell .ui-v2-nearby-row__icon.is-photo { overflow: hidden; background: #f0f1f3; }
.ui-v2-mobile-shell .ui-v2-nearby-row__icon.is-photo img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body { display: grid; min-inline-size: 0; gap: 3px; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body > strong { overflow: hidden; font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body > small { overflow: hidden; color: var(--home-muted); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body b { color: #717683; font-weight: 600; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body i { color: #e4a116; font-style: normal; }
/* The distance is the reason a visitor scans this list, so it gets its own
   line with a pin rather than sharing the facts row. */
.ui-v2-mobile-shell .ui-v2-nearby-row__distance { display: flex; align-items: center; gap: 4px; color: #b33900; font-size: .63rem; }
.ui-v2-mobile-shell .ui-v2-nearby-row__distance svg { inline-size: 13px; block-size: 13px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ui-v2-mobile-shell .ui-v2-nearby-row__distance b { color: inherit; font-weight: 800; }
.ui-v2-mobile-shell .ui-v2-nearby-row__side { display: flex; block-size: 74px; align-items: center; justify-content: center; flex-direction: column; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body .ui-v2-card-facts em { padding: 2px 7px; border-radius: 99px; font-size: .58rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body .ui-v2-card-facts em.is-open { color: #258b5c; background: #e4f7ed; }
.ui-v2-mobile-shell .ui-v2-nearby-row__body .ui-v2-card-facts em.is-closed { color: #d14d4d; background: #fde9ea; }

.ui-v2-mobile-shell .ui-v2-nearby-home__status:empty { display: none; }
.ui-v2-mobile-shell .ui-v2-nearby-home__status { margin-block-start: 8px; color: var(--home-muted); font-size: .66rem; text-align: center; }

.ui-v2-mobile-shell .ui-v2-nearby-home__more {
    display: flex;
    inline-size: 100%;
    min-block-size: 46px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-block-start: 10px;
    padding: 0 14px;
    border: 1px solid #f0d4c2;
    border-radius: 14px;
    color: #b33900;
    background: #fff6f1;
    font: inherit;
    font-size: .74rem;
    font-weight: 800;
    cursor: pointer;
}

.ui-v2-mobile-shell .ui-v2-nearby-home__more[hidden] { display: none; }
.ui-v2-mobile-shell .ui-v2-nearby-home__more:disabled { opacity: .6; cursor: progress; }
.ui-v2-mobile-shell .ui-v2-nearby-home__more svg { inline-size: 16px; block-size: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ui-v2-mobile-shell .ui-v2-nearby-home__more:active { transform: scale(.99); }
.ui-v2-mobile-shell .ui-v2-nearby-row__heart { display: grid; inline-size: 34px; block-size: 34px; place-items: center; border-radius: 50%; color: #7b849c; background: #f4f5f6; }
.ui-v2-mobile-shell .ui-v2-nearby-row__side em { padding: 3px 8px; border-radius: 99px; font-size: .59rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.ui-v2-mobile-shell .ui-v2-nearby-row__side em.is-open { color: #258b5c; background: #e4f7ed; }
.ui-v2-mobile-shell .ui-v2-nearby-row__side em.is-closed { color: #d14d4d; background: #fde9ea; }

.ui-v2-mobile-shell .ui-v2-discovery-state { display: grid; min-block-size: 82px; align-content: center; gap: 3px; padding: 14px; border: 1px dashed #dedfe3; border-radius: 16px; color: var(--home-muted); background: #fafafa; font-size: .72rem; }
.ui-v2-mobile-shell .ui-v2-discovery-state strong { color: var(--home-ink); }
.ui-v2-mobile-shell .ui-v2-discovery-state.ui-state--error { color: #9d310d; border-color: #f4b79b; background: #fff4ee; }
.ui-v2-mobile-shell .ui-v2-home__location-status { min-block-size: 0; color: #616674; font-size: .7rem; text-align: center; }
.ui-v2-mobile-shell .ui-v2-home__location-status:empty { display: none; }
.ui-v2-mobile-shell .ui-v2-home__location-cta { display: flex; inline-size: fit-content; min-block-size: 44px; margin-inline: auto; align-items: center; gap: 6px; padding: 0 16px; border: 1px solid var(--home-orange); border-radius: 999px; color: var(--home-orange); background: var(--home-orange-soft); font: inherit; font-size: .72rem; font-weight: 700; cursor: pointer; }
.ui-v2-mobile-shell .ui-v2-home__location-cta[hidden] { display: none; }
.ui-v2-mobile-shell .ui-v2-home__location-cta > svg { inline-size: 16px; block-size: 16px; flex: none; }
.ui-v2-mobile-shell .ui-v2-home__location-cta:hover { color: #fff; background: var(--home-orange); }
.ui-v2-mobile-shell .ui-v2-home__location-cta:focus-visible { outline: 2px solid var(--home-orange); outline-offset: 2px; }
.ui-v2-mobile-shell .ui-v2-no-script { padding: 10px; color: var(--home-muted); font-size: .72rem; }

.ui-v2-home-sheet {
    position: fixed;
    z-index: 60;
    inset-block: 0;
    inset-inline: auto;
    left: var(--ui-v2-fixed-left, max(0px, calc((100vw - min(100vw, 430px)) / 2)));
    display: flex;
    inline-size: var(--ui-v2-fixed-width, min(100%, 430px));
    align-items: flex-end;
    margin-inline: auto;
}
.ui-v2-home-sheet[hidden] { display: none; }
.ui-v2-home-sheet__scrim { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; padding: 0; border: 0; background: rgb(19 27 46 / 48%); }
.ui-v2-home-sheet__panel {
    position: relative;
    z-index: 1;
    display: flex;
    inline-size: 100%;
    max-block-size: 75dvh;
    flex-direction: column;
    padding: 10px 20px calc(24px + env(safe-area-inset-bottom));
    border-radius: 22px 22px 0 0;
    background: #fff;
    box-shadow: 0 -12px 34px rgb(19 27 46 / 18%);
}
.ui-v2-home-sheet__panel.is-categories { max-block-size: 80dvh; }
.ui-v2-home-sheet__panel.is-compact { max-block-size: 66dvh; }
.ui-v2-home-sheet__panel.is-location { max-block-size: min(86dvh, 760px); padding-inline: 16px; }
.ui-v2-home-sheet__handle { inline-size: 54px; block-size: 44px; margin: -12px auto -5px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.ui-v2-home-sheet__handle span { display: block; inline-size: 36px; block-size: 4px; margin: auto; border-radius: 99px; background: #ced0d5; }
.ui-v2-home-sheet h2 { margin-block-end: 12px; font-size: 1.05rem; font-weight: 800; }
.ui-v2-city-search { display: flex; block-size: 44px; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid #dedfe2; border-radius: 12px; color: #8d919b; }
.ui-v2-mobile-shell .ui-v2-city-search input { min-inline-size: 0; inline-size: 100%; border: 0; outline: 0; box-shadow: none !important; color: var(--home-ink); background: transparent; font-size: .78rem; }
.ui-v2-sheet-status { padding: 10px 2px; color: var(--home-muted); font-size: .72rem; }
.ui-v2-sheet-status[hidden] { display: none; }
.ui-v2-city-list,
.ui-v2-all-categories,
.ui-v2-language-list { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.ui-v2-city-list { max-block-size: 340px; }
.ui-v2-location-header { display: grid; min-block-size: 44px; grid-template-columns: 44px 1fr 44px; align-items: center; }
.ui-v2-location-header h2 { margin: 0; text-align: center; }
.ui-v2-location-header__spacer { inline-size: 44px; }
.ui-v2-current-location { display:flex; min-block-size:54px; align-items:center; gap:10px; margin-block:6px 10px; padding:6px 8px; border:1px solid #f3ddd1; border-radius:14px; background:#fffaf7; }
.ui-v2-current-location__icon { display:grid; inline-size:26px; block-size:26px; flex:none; place-items:center; border-radius:9px; color:var(--home-orange); background:#ffe8dc; }
.ui-v2-current-location__icon svg { inline-size:17px; block-size:17px; }
.ui-v2-current-location > div { min-inline-size:0; display:grid; flex:1; gap:2px; }
.ui-v2-current-location strong { overflow:hidden; color:var(--home-ink); font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.ui-v2-current-location p { min-block-size:0; margin:0; color:#7b5140; font-size:.61rem; line-height:1.65; }
.ui-v2-current-location p:empty { display:none; }
.ui-v2-current-location__action { min-block-size:44px; display:inline-flex; flex:none; align-items:center; gap:6px; padding:0 9px; border:1px solid #f5c7ad; border-radius:11px; color:var(--home-orange-dark); background:#fff; font:inherit; font-size:.66rem; font-weight:800; cursor:pointer; }
.ui-v2-current-location__action[hidden] { display:none; }
.ui-v2-current-location__action:disabled { cursor:wait; opacity:.65; }
.ui-v2-current-location__action:focus-visible { outline:2px solid var(--home-orange); outline-offset:2px; }
.ui-v2-location-back { display: grid; inline-size: 44px; block-size: 44px; place-items: center; border: 0; border-radius: 12px; color: var(--home-ink); background: transparent; cursor: pointer; }
.ui-v2-location-back[hidden] { display: block; visibility: hidden; }
.ui-v2-location-back:focus-visible { outline: 2px solid var(--home-orange); outline-offset: 2px; }
.ui-v2-location-list { position: relative; min-block-size: 220px; margin-block-start: 8px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.ui-v2-location-option,
.ui-v2-province-option { display: flex; inline-size: 100%; min-block-size: 62px; align-items: center; gap: 12px; padding: 9px 6px; border: 0; border-block-end: 1px solid #eeeef0; color: var(--home-ink); background: #fff; text-align: start; cursor: pointer; }
.ui-v2-location-option.is-country { position: sticky; z-index: 2; inset-block-start: 0; margin-block-end: 6px; padding-inline: 12px; border: 1px solid #ffd8c4; border-radius: 15px; background: #fff7f2; box-shadow: 0 5px 16px rgb(179 57 0 / 8%); }
.ui-v2-location-option__icon { display: grid; inline-size: 40px; block-size: 40px; flex: none; place-items: center; border-radius: 12px; color: var(--home-orange); background: #ffe8dc; }
.ui-v2-location-option > span:nth-child(2),
.ui-v2-province-option > span:first-child { display: grid; min-inline-size: 0; flex: 1; gap: 2px; }
.ui-v2-location-option strong,
.ui-v2-province-option strong { overflow: hidden; font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }
.ui-v2-location-option small,
.ui-v2-province-option small { color: var(--home-muted); font-size: .65rem; }
.ui-v2-location-option__mark { inline-size: 24px; color: var(--home-orange); font-size: 1rem; font-weight: 900; text-align: center; }
.ui-v2-province-option > svg { flex: none; color: #9a9da5; }
.ui-v2-location-option[aria-selected="true"] strong,
.ui-v2-province-option[aria-selected="true"] strong { color: var(--home-orange); }
.ui-v2-province-option[aria-selected="true"] { background:#fff8f4; }
.ui-v2-province-option[aria-selected="true"] > svg { display:none; }
.ui-v2-location-skeleton { display: grid; gap: 10px; padding: 10px 4px; }
.ui-v2-location-skeleton > span { display: block; block-size: 52px; border-radius: 12px; background: linear-gradient(90deg, #f2f2f3 25%, #fafafa 50%, #f2f2f3 75%); background-size: 200% 100%; animation: ui-v2-location-shimmer 1.1s linear infinite; }
.ui-v2-location-retry { min-block-size: 44px; margin: 8px auto; padding: 0 18px; border: 1px solid var(--home-orange); border-radius: 999px; color: var(--home-orange); background: #fff; font: inherit; font-weight: 800; cursor: pointer; }
@keyframes ui-v2-location-shimmer { to { background-position: -200% 0; } }
.ui-v2-city-option,
.ui-v2-language-list a,
.ui-v2-all-categories a {
    display: flex;
    inline-size: 100%;
    min-block-size: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 2px;
    border: 0;
    border-block-end: 1px solid #eeeef0;
    color: var(--home-ink);
    background: transparent;
    text-align: start;
    text-decoration: none;
    cursor: pointer;
}
.ui-v2-city-option > span:first-child,
.ui-v2-language-list a > span:first-child { display: grid; gap: 2px; }
.ui-v2-city-option strong,
.ui-v2-language-list strong { font-size: .8rem; }
.ui-v2-city-option small,
.ui-v2-language-list small { color: var(--home-muted); font-size: .65rem; }
.ui-v2-city-option[aria-selected="true"] strong,
.ui-v2-city-option__check,
.ui-v2-language-list a[aria-current="true"] { color: var(--home-orange); }
.ui-v2-all-categories a { min-block-size: 64px; justify-content: flex-start; }
.ui-v2-all-categories a > strong { flex: 1; font-size: .78rem; }
.ui-v2-all-categories__icon { inline-size: 40px; block-size: 40px; border-radius: 12px; }
.ui-v2-all-categories__icon svg { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }

.ui-v2-home-sheet-open,
html.ui-v2-home-sheet-open body { overflow: hidden; overscroll-behavior: none; }
/* The source design renders sheets above every persistent control.  The
   navigation and Miara FAB live outside `.ui-v2-home`, so explicitly remove
   them from the active modal stack instead of leaving clickable controls
   visible over the sheet on browsers that isolate fixed descendants. */
html.ui-v2-home-sheet-open .ui-v2-mobile-shell > .ui-v2-bottom-navigation,
html.ui-v2-home-sheet-open .ui-v2-mobile-shell > [data-ui-v2-miara] > .ui-v2-miara-trigger {
    visibility: hidden;
    pointer-events: none;
}
@keyframes ui-v2-search-spin { to { transform: rotate(1turn); } }
@keyframes ui-v2-home-sheet-up { from { transform: translateY(24px); opacity: .6; } }
@keyframes ui-v2-home-scrim-in { from { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
    .ui-v2-home-sheet__panel { animation: ui-v2-home-sheet-up .24s ease-out; }
    .ui-v2-home-sheet__scrim { animation: ui-v2-home-scrim-in .18s ease-out; }
}
@media (prefers-reduced-motion: reduce) { .ui-v2-mobile-shell .ui-v2-search__spinner { animation: none; } }
@media (prefers-reduced-motion: reduce) { .ui-v2-location-skeleton > span { animation: none; } }
@media (min-width: 768px) {
    .ui-v2-home-sheet:has(.ui-v2-home-sheet__panel.is-location) { align-items: center; justify-content: center; padding: 24px; }
    .ui-v2-home-sheet__panel.is-location { inline-size: min(560px, 100%); min-block-size: 560px; border-radius: 24px; padding: 14px 22px 24px; }
}

@media (max-width: 374px) {
    .ui-v2-mobile-shell .ui-v2-home { padding-inline: 12px; }
    .ui-v2-mobile-shell .ui-v2-home__header { grid-template-columns: 72px minmax(52px, 1fr) 144px; min-block-size: 48px; gap: 4px; }
    .ui-v2-mobile-shell .ui-v2-home__brand,
    .ui-v2-mobile-shell .ui-v2-home__brand img { inline-size: 72px; block-size: 48px; }
    .ui-v2-mobile-shell .ui-v2-home__brand { min-block-size: 48px; }
    .ui-v2-mobile-shell .ui-v2-category-grid { gap: 7px; }
    .ui-v2-mobile-shell .ui-v2-category-grid > a { min-block-size: 98px; }
}

@media (min-width: 431px) {
    .ui-v2-mobile-shell { border-radius: 28px; box-shadow: 0 16px 44px rgb(19 27 46 / 13%); }
    .ui-v2-home-sheet__panel { margin-block-end: 16px; border-radius: 22px; }
}

/* Home V2 owns the visible shell; the legacy background and padding remain
   available to the kill-switch path but must not leak into this composition. */
.ui-v2-mobile-shell > .mikham-mobile-home__glow { display: none; }
.ui-v2-mobile-shell > .mikham-mobile-home__content { padding: 0; }
.ui-v2-mobile-shell > .ui-v2-bottom-navigation {
    inset-inline: auto;
    left: var(--ui-v2-fixed-left, max(0px, calc((100vw - min(100vw, 430px)) / 2)));
    inline-size: var(--ui-v2-fixed-width, min(100%, 430px));
    min-block-size: calc(74px + env(safe-area-inset-bottom));
    padding: 8px 8px max(10px, env(safe-area-inset-bottom));
    border-block-start-color: #ececef;
    background: rgb(255 255 255 / 97%);
    box-shadow: 0 -8px 24px rgb(19 27 46 / 5%);
}
.ui-v2-mobile-shell > .ui-v2-bottom-navigation .ui-v2-bottom-navigation__item {
    min-block-size: 56px;
    gap: 4px;
    padding: 0;
    border-radius: 0;
    color: #68718a;
    background: transparent;
    font-size: .65rem;
    font-weight: 500;
}
.ui-v2-mobile-shell > .ui-v2-bottom-navigation .ui-v2-bottom-navigation__icon {
    inline-size: 46px;
    block-size: 30px;
    border-radius: 99px;
}
.ui-v2-mobile-shell > .ui-v2-bottom-navigation .ui-v2-bottom-navigation__item.is-current { color: var(--home-orange, #f65505); background: transparent; font-weight: 700; }
.ui-v2-mobile-shell > .ui-v2-bottom-navigation .ui-v2-bottom-navigation__item.is-current .ui-v2-bottom-navigation__icon { background: #fff1e8; }
.ui-v2-mobile-shell > .ui-v2-bottom-navigation .ui-v2-bottom-navigation__item.is-primary { color: #68718a; }
.ui-v2-mobile-shell > .ui-v2-bottom-navigation .ui-v2-bottom-navigation__item.is-primary .ui-v2-bottom-navigation__icon {
    inline-size: 52px;
    block-size: 52px;
    margin-block-start: -27px;
    border: 4px solid #fff;
    color: #fff;
    background: linear-gradient(145deg, #df4900, #f65505);
    box-shadow: 0 8px 16px -4px rgb(246 85 5 / 55%), 0 2px 4px rgb(246 85 5 / 30%);
}
.ui-v2-mobile-shell > .ui-v2-bottom-navigation svg { inline-size: 21px; block-size: 21px; }
.ui-v2-mobile-shell > .ui-v2-bottom-navigation .ui-v2-bottom-navigation__item.is-primary svg { inline-size: 24px; block-size: 24px; }
/* Recruitment card is a mobile Home section, deliberately outside the five-item bottom navigation. */
.ui-v2-recruitment-card {
    position: relative;
    display: block;
    min-width: 0;
    margin: 22px 16px 8px;
    padding: 20px;
    overflow: hidden;
    color: var(--ui-color-text);
    background:
        radial-gradient(circle at 4% 8%, rgb(246 85 5 / 13%), transparent 33%),
        linear-gradient(145deg, #fffaf6 0%, #fff1e6 100%);
    border: 1px solid rgb(246 85 5 / 20%);
    border-radius: 24px;
    box-shadow: 0 14px 36px rgb(105 62 31 / 8%);
}
.ui-v2-recruitment-card__content { position: relative; z-index: 2; min-width: 0; }
.ui-v2-recruitment-card__content > span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 4px 10px;
    color: #c54405;
    background: rgb(255 255 255 / 78%);
    border: 1px solid rgb(246 85 5 / 11%);
    border-radius: 999px;
    font-size: .67rem;
    font-weight: 900;
}
.ui-v2-recruitment-card__content h2 {
    max-width: 100%;
    margin: 12px 0 14px;
    padding-inline-end: 0;
    font-size: clamp(1.08rem, 5.2vw, 1.28rem);
    line-height: 1.55;
    letter-spacing: -.025em;
}
.ui-v2-recruitment-card__content ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.ui-v2-recruitment-card__content li {
    display: flex;
    min-width: 0;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    padding: 7px 9px;
    color: #596176;
    background: rgb(255 255 255 / 82%);
    border: 1px solid rgb(23 31 49 / 5%);
    border-radius: 12px;
    font-size: .66rem;
    font-weight: 700;
    line-height: 1.55;
}
.ui-v2-recruitment-card__content li::before {
    content: "✓";
    display: grid;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    place-items: center;
    color: #fff;
    background: var(--ui-color-primary-fill);
    border-radius: 7px;
    font-size: .63rem;
    font-weight: 900;
}
.ui-v2-recruitment-card__content li:last-child { grid-column: 1 / -1; }
.ui-v2-recruitment-card__content a {
    display: flex;
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    padding: 11px 16px;
    color: #fff;
    background: linear-gradient(135deg, #e94700, #ff640f);
    border-radius: 15px;
    box-shadow: 0 10px 22px rgb(230 72 0 / 22%);
    font-size: .76rem;
    font-weight: 900;
    line-height: 1.6;
    text-decoration: none;
}
.ui-v2-recruitment-card__content a:focus-visible { outline: 3px solid rgb(246 85 5 / 28%); outline-offset: 3px; }
@media (hover: hover) { .ui-v2-recruitment-card__content a:hover { filter: saturate(1.08) brightness(.98); } }
.ui-v2-recruitment-card__content a span {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    background: rgb(255 255 255 / 18%);
    border-radius: 9px;
    font-size: 1rem;
}
.ui-v2-recruitment-card__art {
    position: absolute;
    z-index: 1;
    inset: 0;
    min-height: 0;
    pointer-events: none;
}
.ui-v2-recruitment-card__art::before {
    content: "";
    position: absolute;
    left: -58px;
    bottom: -82px;
    width: 180px;
    height: 180px;
    border: 30px solid rgb(246 85 5 / 6%);
    border-radius: 50%;
}
.ui-v2-recruitment-card__art > i {
    position: absolute;
    width: 7px;
    height: 7px;
    background: var(--ui-color-primary-fill);
    border: 2px solid #fff;
    border-radius: 50%;
}
.ui-v2-recruitment-card__art > i:nth-of-type(1) { top: 18px; left: 86px; }
.ui-v2-recruitment-card__art > i:nth-of-type(2) { top: 72px; left: 18px; opacity: .45; }
.ui-v2-recruitment-card__art > i:nth-of-type(3) { right: 18px; bottom: 82px; opacity: .28; }
.ui-v2-recruitment-card__pin {
    position: absolute;
    top: 18px;
    left: 20px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, #f65505, #dd4300);
    border: 4px solid #fff;
    border-radius: 16px;
    box-shadow: 0 10px 22px rgb(166 65 17 / 18%);
    transform: rotate(-5deg);
}
.ui-v2-recruitment-card__pin svg { transform: rotate(5deg); }
.ui-v2-recruitment-card__art b { display: none; }
@media (max-width: 355px) {
    .ui-v2-recruitment-card { margin-inline: 12px; padding: 18px; border-radius: 21px; }
    .ui-v2-recruitment-card__content h2 { margin-top: 14px; font-size: 1.06rem; }
    .ui-v2-recruitment-card__content li { padding-inline: 7px; font-size: .62rem; }
    .ui-v2-recruitment-card__pin { top: 16px; left: 16px; width: 44px; height: 44px; }
}
