@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url("../fonts/manrope/Manrope-cyrillic-Wni_uip.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "Manrope";
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
    src: url("../fonts/manrope/Manrope-latin-aA_waSK.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    color-scheme: light;
    --color-canvas: #f3f5f8;
    --color-surface: #ffffff;
    --color-surface-muted: #f8fafc;
    --color-text: #111827;
    --color-muted: #667085;
    --color-line: #e5e8ed;
    --color-brand: #1765c1;
    --color-brand-strong: #0e56a9;
    --color-brand-soft: #eaf2fd;
    --color-focus: #1765c1;
    --color-success: #17834a;
    --color-danger: #c83c4f;
    --color-ad-label: #ffffff;
    --color-ad-label-surface: rgb(42 47 54 / 66%);
    --color-promo-start: #fff8f2;
    --color-promo-middle: #e8d3bd;
    --color-promo-end: #c2a586;
    --color-hero-text: #173252;
    --color-hero-muted: #36516e;
    --color-ad-overlay-start: rgb(255 251 246 / 94%);
    --color-ad-overlay-end: rgb(255 251 246 / 20%);
    --color-media-one: #7f5b3f;
    --color-media-two: #201815;
    --shadow-card: 0 0.5625rem 1.5rem rgb(30 42 64 / 9%);
    --shadow-modal: 0 1.75rem 5rem rgb(15 31 55 / 24%);
    --shadow-header: 0 0.75rem 2rem rgb(30 42 64 / 11%);
    --header-glass: rgb(255 255 255 / 80%);
    --page: 90rem;
    --page-wide: 120rem;
    --marketplace-wide: 140rem;
    --cabinet-wide: 110rem;
    --font-sans: "Manrope", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
    --font-size-heading-max: 1.25rem;
    --font-size-body: 0.9375rem;
    --font-size-small: 0.75rem;
    --section-gap: 1.25rem;
}

html[data-theme="dark"] {
    color-scheme: dark;
    --color-canvas: #11151b;
    --color-surface: #191f27;
    --color-surface-muted: #202731;
    --color-text: #f4f7fb;
    --color-muted: #a9b3c1;
    --color-line: #303946;
    --color-brand: #72adff;
    --color-brand-strong: #91beff;
    --color-brand-soft: #25364d;
    --color-focus: #72adff;
    --color-success: #55d68b;
    --color-danger: #ff8593;
    --color-ad-label: #ffffff;
    --color-ad-label-surface: rgb(137 147 161 / 78%);
    --color-promo-start: #29231f;
    --color-promo-middle: #433a31;
    --color-promo-end: #695540;
    --color-hero-text: #f4f7fb;
    --color-hero-muted: #d6dfeb;
    --color-ad-overlay-start: rgb(15 21 29 / 94%);
    --color-ad-overlay-end: rgb(15 21 29 / 28%);
    --color-media-one: #4d3b31;
    --color-media-two: #17191d;
    --shadow-card: 0 0.5625rem 1.5rem rgb(0 0 0 / 34%);
    --shadow-modal: 0 1.75rem 5rem rgb(0 0 0 / 54%);
    --shadow-header: 0 0.75rem 2rem rgb(0 0 0 / 38%);
    --header-glass: rgb(20 26 34 / 78%);
}

*, *::before, *::after { box-sizing: border-box; }

html {
    overflow-x: clip;
    background: var(--color-canvas);
    color: var(--color-text);
    font-family: var(--font-sans);
    scroll-behavior: smooth;
}

body {
    min-width: 20rem;
    margin: 0;
    overflow-x: clip;
    background: var(--color-canvas);
    color: var(--color-text);
    font-size: var(--font-size-body);
    line-height: 1.45;
    text-rendering: optimizeLegibility;
}

button, input { font: inherit; }
a { color: inherit; text-underline-offset: 0.18em; }
a, button, summary { cursor: pointer; }
[aria-disabled="true"] { cursor: not-allowed; }
:focus-visible { outline: 0.1875rem solid var(--color-focus); outline-offset: 0.1875rem; }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1, h2, h3 { margin-top: 0; color: var(--color-text); font-weight: 500; letter-spacing: -0.02em; line-height: 1.25; }
h1, h2 { font-size: var(--font-size-heading-max); }
h3 { font-size: 1rem; }

.skip-link {
    position: fixed;
    z-index: 100;
    top: 0.625rem;
    left: 0.625rem;
    min-height: 2.75rem;
    padding: 0.65rem 0.875rem;
    border-radius: 0.625rem;
    background: var(--color-brand);
    color: #fff;
    font-weight: 700;
    transform: translateY(-160%);
}
.skip-link:focus { transform: none; }
.page-shell { width: calc(100% - 1.5rem); margin-inline: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.icon { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }

.site-header {
    position: sticky;
    z-index: 50;
    top: 0;
    width: 100%;
    background: var(--header-glass);
    box-shadow: var(--shadow-header);
    backdrop-filter: blur(18px) saturate(1.6);
    -webkit-backdrop-filter: blur(18px) saturate(1.6);
}
.site-header__top {
    display: grid;
    grid-template-columns: 2.75rem auto 2.75rem minmax(0, 1fr);
    gap: 0.4375rem;
    align-items: center;
    width: calc(100% - 1.5rem);
    min-height: 3.5rem;
    margin-inline: auto;
}
.site-header__top--simple { grid-template-columns: minmax(max-content, 1fr) 2.75rem max-content; }
.site-header__top--cabinet { grid-template-columns: 2.75rem minmax(0, 1fr) max-content; }
.mobile-menu-trigger,
.cabinet-header-menu-toggle {
    display: inline-flex;
    width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 0.5rem;
    background: transparent;
    color: var(--color-text);
    box-shadow: none;
    text-decoration: none;
}
.mobile-menu-trigger:hover,
.cabinet-header-menu-toggle:hover { color: var(--color-brand); }
.cabinet-header__identity { display: flex; min-width: 0; align-items: center; gap: 0.375rem; }
.cabinet-header__title { overflow: hidden; color: var(--color-text); font-size: 0.9375rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.cabinet-header-menu { position: absolute; z-index: 60; top: calc(100% + 0.5rem); right: 0.75rem; left: 0.75rem; display: none; gap: 0.5rem; padding: 0.75rem; border-radius: 1rem; background: var(--color-surface); box-shadow: var(--shadow-modal); }
.cabinet-header-menu.is-open { display: grid; }
.cabinet-header-menu__link { display: flex; min-height: 2.75rem; align-items: center; gap: 0.625rem; padding-inline: 0.875rem; border-radius: 0.75rem; background: var(--color-surface-muted); color: var(--color-text); font-weight: 650; text-decoration: none; }
.cabinet-header-menu__link:hover { color: var(--color-brand); }
.brand {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    color: var(--color-brand);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: -0.035em;
    text-decoration: none;
}
.brand:hover { color: var(--color-brand-strong); }
.header-search {
    position: relative;
    z-index: 2;
    display: flex;
    width: 2.75rem;
    min-width: 0;
    min-height: 2.75rem;
    align-items: center;
    justify-self: end;
    overflow: visible;
    border: 0;
    border-radius: 999px;
    background: var(--color-surface-muted);
    box-shadow: var(--shadow-card);
    color: var(--color-muted);
}
.header-search:focus-within { box-shadow: 0 0 0 0.15rem rgb(23 101 193 / 22%), var(--shadow-card); }
.header-search__input { display: none; min-width: 0; flex: 1 1 auto; align-self: stretch; padding: 0 0 0 1.125rem; overflow: hidden; border: 0; outline: 0; background: transparent; color: var(--color-muted); text-overflow: ellipsis; }
.header-search__input { cursor: text; }
.header-search__submit, .header-search--link { display: inline-flex; width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--color-text); text-decoration: none; }
.header-search__submit:hover, .header-search--link:hover { color: var(--color-brand); }
.header-search--link span { display: none; }
.header-search.is-open { border-radius: 1.4rem 1.4rem 0 0; }
.header-search__suggestions {
    position: absolute;
    z-index: 4;
    top: calc(100% - 0.0625rem);
    left: 0;
    display: grid;
    width: 100%;
    max-height: min(24rem, calc(100vh - 8rem));
    padding: 0.375rem;
    overflow-y: auto;
    border-top: 1px solid var(--color-line);
    border-radius: 0 0 1.25rem 1.25rem;
    background: var(--color-surface-muted);
    box-shadow: var(--shadow-modal);
    scrollbar-width: thin;
}
.header-search__suggestions[hidden], .header-search__suggestion[hidden] { display: none; }
.header-search__suggestion {
    display: grid;
    min-height: 3.25rem;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    padding: 0.5rem 0.75rem;
    border-radius: 0.875rem;
    color: var(--color-text);
    text-decoration: none;
}
.header-search__suggestion > span { display: grid; min-width: 0; gap: 0.0625rem; }
.header-search__suggestion strong { overflow: hidden; font-size: 0.875rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.header-search__suggestion small { color: var(--color-muted); font-size: 0.75rem; }
.header-search__suggestion:hover, .header-search__suggestion.is-active { background: var(--color-surface); color: var(--color-brand); }
.header-search__suggestion:hover small, .header-search__suggestion.is-active small { color: currentColor; }
.header-search__empty { margin: 0; padding: 0.875rem; color: var(--color-muted); font-size: 0.8125rem; text-align: center; }
.site-header__actions { display: flex; min-width: 0; flex-wrap: nowrap; gap: 0.125rem; align-items: center; justify-content: flex-end; }
.site-header__actions > * { flex: 0 0 auto; }
.header-action, .header-auth-unavailable, .header-location { min-height: 2.75rem; border: 0; border-radius: 999px; background: var(--color-surface-muted); color: var(--color-text); }
.header-action, .header-auth-unavailable { display: inline-flex; width: 2.75rem; align-items: center; justify-content: center; }
.header-action:hover, .header-location:hover, .header-location:focus-visible { color: var(--color-brand); }
.theme-toggle__sun { display: none; }
html[data-theme="dark"] .theme-toggle__moon { display: none; }
html[data-theme="dark"] .theme-toggle__sun { display: block; }
.header-location { display: inline-flex; width: 2.75rem; min-width: 0; align-items: center; justify-content: center; gap: 0.4375rem; padding: 0; font-weight: 500; text-decoration: none; }
.header-location > span, .header-location__chevron { display: none; }
.header-auth-unavailable { opacity: 0.5; }
.site-header__nav { display: none; min-width: 0; }
.site-header__nav-inner { display: flex; gap: 1rem; width: calc(100% - 1.5rem); min-height: 3.25rem; margin-inline: auto; align-items: center; justify-content: space-between; }
.site-header__nav-group { display: flex; min-width: 0; gap: 0.75rem; align-items: center; }
.site-header__nav-group--actions { justify-content: flex-end; }
.site-header__nav a, .site-header__nav-disabled { display: inline-flex; min-height: 2.75rem; flex: 0 0 auto; align-items: center; gap: 0.4375rem; color: var(--color-text); font-size: 0.75rem; font-weight: 500; text-decoration: none; white-space: nowrap; }
.site-header__nav a .icon, .site-header__nav-disabled .icon { width: 1rem; height: 1rem; }
.site-header__nav a:hover, .site-header__nav a[aria-current="page"] { color: var(--color-brand); }
.site-header__nav-disabled { opacity: 0.58; }
.site-header__nav-cta { min-height: 2.75rem; padding-inline: 0.75rem; border-radius: 0.875rem; background: var(--color-surface-muted); color: var(--color-brand); opacity: 0.72; box-shadow: var(--shadow-card); }

html[data-theme="dark"] .mobile-menu-trigger,
html[data-theme="dark"] .cabinet-header-menu-toggle,
html[data-theme="dark"] .header-action,
html[data-theme="dark"] .header-location { background: transparent; box-shadow: none; }
html[data-theme="dark"] .mobile-menu-trigger:hover,
html[data-theme="dark"] .cabinet-header-menu-toggle:hover,
html[data-theme="dark"] .header-action:hover,
html[data-theme="dark"] .header-location:hover { background: var(--color-surface-muted); }

.choice-modal {
    position: fixed;
    z-index: 80;
    inset: 0;
    display: none;
    align-items: start;
    justify-items: center;
    padding: 1.5rem 0.75rem;
    overflow-y: auto;
    background: rgb(7 14 25 / 66%);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.choice-modal:target, .choice-modal.is-open { display: grid; }
.choice-modal__panel { width: min(100%, 35rem); max-height: calc(100vh - 3rem); overflow: hidden; border: 0; border-radius: 1.25rem; background: var(--color-surface); box-shadow: var(--shadow-modal); }
.choice-modal__header { display: flex; gap: 1.25rem; align-items: start; justify-content: space-between; padding: 1.25rem 1.25rem 1rem; }
.choice-modal__header h2 { margin: 0; font-size: 1.25rem; }
.choice-modal__header p { margin: 0.375rem 0 0; color: var(--color-muted); }
.choice-modal__close { display: inline-flex; width: 2.5rem; min-height: 2.5rem; flex: 0 0 auto; align-items: center; justify-content: center; border: 0; border-radius: 0.8rem; background: var(--color-surface-muted); color: var(--color-muted); cursor: pointer; }
.choice-modal__close:hover { color: var(--color-brand); }
.choice-modal__close:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 3px; }
.choice-modal__close svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.choice-modal__search { display: grid; min-height: 3rem; grid-template-columns: auto 1fr; align-items: center; gap: 0.625rem; margin: 0 1.25rem 1rem; padding-inline: 1rem; border-radius: 0.875rem; background: var(--color-surface-muted); }
.choice-modal__search:focus-within { box-shadow: 0 0 0 0.15rem rgb(23 101 193 / 20%); }
.choice-modal__search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--color-text); }
.choice-modal__options { display: grid; grid-template-columns: 1fr; gap: 0.5625rem; max-height: min(20.625rem, calc(100vh - 14rem)); margin: 0; padding: 0 1.25rem 1.25rem; overflow-y: auto; list-style: none; scrollbar-width: thin; }
.choice-modal__options a { display: flex; min-height: 2.875rem; align-items: center; padding: 0 0.875rem; border-radius: 0.75rem; background: var(--color-surface-muted); color: var(--color-text); font-weight: 500; text-decoration: none; }
.choice-modal__options a:hover, .choice-modal__options a[aria-current="true"] { background: var(--color-brand); color: #fff; }
.choice-modal__panel--navigation { width: min(100%, 30rem); }
.mobile-navigation { display: grid; gap: 1rem; padding: 0 1.25rem 1.25rem; }
.mobile-navigation__group { display: grid; gap: 0.5rem; }
.mobile-navigation a, .mobile-navigation__disabled { display: flex; min-height: 2.875rem; align-items: center; gap: 0.75rem; padding: 0 0.875rem; border-radius: 0.75rem; background: var(--color-surface-muted); color: var(--color-text); font-weight: 500; text-decoration: none; }
.mobile-navigation a:hover { background: var(--color-brand); color: #fff; }
.mobile-navigation__disabled { opacity: 0.58; }
.mobile-navigation__cta { color: var(--color-brand); opacity: 0.75; }
body.modal-open { overflow: hidden; }
.marketplace__shell { padding-block: var(--section-gap) 0; }
.home-heading { margin: 0 0 var(--section-gap); font-size: 1.1875rem; font-weight: 500; }
.eyebrow { margin: 0 0 0.25rem; color: var(--color-brand); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.placement-label { position: absolute; z-index: 3; top: 0.625rem; right: 0.625rem; padding: 0.25rem 0.5rem; border-radius: 999px; background: var(--color-ad-label-surface); color: var(--color-ad-label); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.responsive-ad-slot { position: relative; isolation: isolate; display: grid; width: 100%; margin-inline: auto; overflow: hidden; border-radius: 1.125rem; color: var(--color-hero-text); box-shadow: 0 0.875rem 2.125rem var(--shadow-card); }
.responsive-ad-slot::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, var(--color-ad-overlay-start) 0 48%, var(--color-ad-overlay-end) 76%, transparent 100%); content: ""; }
.responsive-ad-slot::before { position: absolute; z-index: 2; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0.1875rem 0.0625rem var(--color-canvas); content: ""; pointer-events: none; }
.responsive-ad-slot--top { max-width: 100rem; aspect-ratio: 900 / 405; }
.responsive-ad-slot--bottom { max-width: 100rem; min-block-size: 5.5rem; aspect-ratio: 900 / 220; margin-top: var(--section-gap); }
.responsive-ad-slot__media { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; background: var(--color-surface-muted); }
.responsive-ad-slot__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.responsive-ad-slot--bottom .responsive-ad-slot__media { background: #171b20; }
.responsive-ad-slot--bottom .responsive-ad-slot__media img { object-fit: contain; }
.responsive-ad-slot__copy { position: relative; z-index: 1; display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem; align-content: center; align-items: end; padding: 2.25rem 0.75rem 0.75rem; }
.responsive-ad-slot__message { display: grid; min-width: 0; gap: 0.375rem; }
.responsive-ad-slot__message h2 { max-width: 31rem; margin: 0; color: var(--color-hero-text); font-size: 1rem; font-weight: 600; line-height: 1.15; }
.responsive-ad-slot__message p { max-width: 32rem; margin: 0; color: var(--color-hero-muted); font-size: 0.75rem; line-height: 1.35; }
.responsive-ad-slot--bottom .responsive-ad-slot__copy { align-content: center; align-items: end; padding: 1.875rem 0.625rem 0.5rem; }
.responsive-ad-slot--bottom .responsive-ad-slot__message h2 { overflow-wrap: anywhere; }
.responsive-ad-slot--bottom .responsive-ad-slot__message p { display: none; }
.responsive-ad-slot--bottom .responsive-ad-slot__message h2 { font-size: 0.875rem; }
.responsive-ad-slot .button--promo { min-height: 2.25rem; max-width: 6.75rem; padding-inline: 0.625rem; font-size: 0.75rem; overflow-wrap: anywhere; }
@media (min-width: 681px) and (max-width: 920px) {
    .responsive-ad-slot--top { aspect-ratio: 1000 / 375; }
    .responsive-ad-slot--bottom { min-block-size: 0; aspect-ratio: 1000 / 180; }
    .responsive-ad-slot__copy, .responsive-ad-slot--bottom .responsive-ad-slot__copy { gap: 0.875rem; padding: 2.5rem 1rem 1rem; }
    .responsive-ad-slot__message h2, .responsive-ad-slot--bottom .responsive-ad-slot__message h2 { font-size: 0.9375rem; }
    .responsive-ad-slot__message p { font-size: 0.75rem; }
    .responsive-ad-slot--bottom .responsive-ad-slot__message p { display: block; }
    .responsive-ad-slot .button--promo { min-height: 2.5rem; max-width: none; padding-inline: 0.875rem; font-size: 0.75rem; }
}

@media (min-width: 921px) and (max-width: 1180px) {
    .responsive-ad-slot--top { aspect-ratio: 1400 / 345; }
    .responsive-ad-slot--bottom { min-block-size: 0; aspect-ratio: 1400 / 160; }
}

@media (min-width: 1181px) {
    .responsive-ad-slot--top { aspect-ratio: 1600 / 315; }
    .responsive-ad-slot--bottom { min-block-size: 0; aspect-ratio: 1600 / 160; }
}
.button { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: 0.45rem; padding: 0 1.125rem; border: 1px solid transparent; border-radius: 0.625rem; font-weight: 500; line-height: 1.15; text-align: center; text-decoration: none; }
.button--primary, .button--promo { background: #2165d4; color: #fff; }
.button--primary:hover, .button--promo:hover { background: #1553b7; }
.button--secondary { border-color: var(--color-brand); background: var(--color-surface); color: var(--color-brand-strong); }
.discovery-results { scroll-margin-top: 7rem; }
.section-heading { display: flex; gap: 0.75rem; align-items: baseline; justify-content: space-between; margin: var(--section-gap) 0; }
.section-heading h2 { margin: 0; font-size: var(--font-size-heading-max); font-weight: 500; }
.section-heading__count { margin: 0; color: var(--color-muted); font-size: var(--font-size-small); }
.offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.625rem; align-items: stretch; }
.offer-card { min-width: 0; overflow: hidden; border-radius: 0.875rem; background: var(--color-surface); box-shadow: var(--shadow-card); content-visibility: auto; contain-intrinsic-size: 25rem; }
.offer-card__link { display: flex; height: 100%; flex-direction: column; color: inherit; text-decoration: none; }
.offer-card__link:focus-visible { outline-offset: -0.1875rem; }
.offer-card__media { position: relative; display: flex; aspect-ratio: 4 / 5; align-items: flex-start; overflow: hidden; padding: 0.75rem; isolation: isolate; background: linear-gradient(140deg, var(--color-media-one), var(--color-media-two) 72%); color: #fff; transition: filter 160ms ease; }
.offer-card:nth-child(5n + 2) .offer-card__media { background: linear-gradient(140deg, #141414, #4b4c50 72%); }
.offer-card:nth-child(5n + 3) .offer-card__media { background: linear-gradient(140deg, #4b352b, #171214 74%); }
.offer-card:nth-child(5n + 4) .offer-card__media { background: linear-gradient(140deg, #4f91b2, #e19348 76%); }
.offer-card:nth-child(5n) .offer-card__media { background: linear-gradient(140deg, #7f6a49, #111 76%); }
.offer-card__media::after { position: absolute; z-index: -1; right: -12%; bottom: -12%; left: 20%; height: 48%; border-radius: 50% 8% 0 0; background: rgb(255 255 255 / 19%); content: ""; transform: rotate(-7deg); }
.offer-card__media strong { max-width: 100%; font-size: 1rem; font-weight: 600; letter-spacing: -0.02em; line-height: 1.08; text-shadow: 0 0.125rem 0.875rem rgb(0 0 0 / 22%); text-wrap: balance; }
.offer-card__link:hover .offer-card__media, .offer-card__link:focus-visible .offer-card__media { filter: saturate(1.08) brightness(1.04); }
.offer-card__content { display: grid; min-width: 0; flex: 1; gap: 0.4375rem; padding: 0.625rem; }
.offer-card__type-row { display: flex; }
.offer-card__type-row span { padding: 0.25rem 0.5rem; border-radius: 999px; background: var(--color-surface-muted); color: var(--color-muted); font-size: 0.75rem; }
.offer-card h3 { display: -webkit-box; min-height: 2.6em; margin: 0; overflow: hidden; font-size: 0.8125rem; font-weight: 600; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.offer-card__meta, .profile-offer__meta { display: flex; min-width: 0; gap: 0.375rem; align-items: center; margin: 0; overflow: hidden; color: var(--color-muted); font-size: 0.75rem; }
.offer-card__meta span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.offer-card__meta span:last-child { flex: 0 0 auto; white-space: nowrap; }
.offer-card__footer { display: none; grid-template-columns: auto minmax(0, 1fr); gap: 0.5rem; align-items: center; margin-top: auto; padding-top: 0.625rem; border-top: 1px solid var(--color-line); }
.profile-monogram { display: grid; width: 1.875rem; height: 1.875rem; place-items: center; border-radius: 50%; background: var(--color-surface-muted); color: var(--color-brand); font-size: 0.75rem; font-weight: 600; }
.offer-card__provider { display: grid; min-width: 0; }
.offer-card__provider strong, .offer-card__provider small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.offer-card__provider strong { font-size: 0.75rem; font-weight: 600; }
.offer-card__provider small { color: var(--color-muted); font-size: 0.75rem; }
.feed-promotion { display: flex; min-width: 0; min-height: 100%; flex-direction: column; justify-content: space-between; gap: 1.125rem; overflow: hidden; padding: 0.8125rem; border-radius: 0.875rem; background: radial-gradient(circle at 80% 30%, rgb(255 255 255 / 92%), transparent 21%), linear-gradient(150deg, #eee5ff, #cceaff 70%, #f7efe2); color: #173252; box-shadow: var(--shadow-card); }
.feed-promotion small { color: #315179; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.feed-promotion h3 { margin: 0; color: #173252; font-size: 1.0625rem; line-height: 1.12; }
.feed-promotion p { margin: 0.375rem 0 0; color: #45617d; font-size: 0.75rem; }
.pagination { display: flex; justify-content: center; padding-top: 1.25rem; }
.feed-status { min-height: 1.4rem; margin-top: 0.75rem; color: var(--color-muted); font-size: var(--font-size-small); text-align: center; }
.feed-sentinel { width: 100%; height: 1px; }
.catalog-end-note { margin: 0; padding: var(--section-gap) 0; color: var(--color-muted); text-align: center; }
.marketplace__footer-gap { min-height: calc(var(--section-gap) + 1.875rem); }
.empty-state { display: grid; justify-items: start; padding: 1.25rem; border-radius: 1.125rem; background: var(--color-surface); box-shadow: var(--shadow-card); }
.empty-state__mark { display: grid; width: 2.5rem; height: 2.5rem; margin-bottom: 0.7rem; place-items: center; border-radius: 50%; background: var(--color-surface-muted); font-size: 1.2rem; }
.empty-state h3 { margin-bottom: 0.35rem; }
.empty-state > p:not(.eyebrow) { margin: 0 0 0.85rem; color: var(--color-muted); }
.profile-page { padding-block: 1.25rem 3.5rem; }
.breadcrumb { margin-bottom: 0.75rem; }
.breadcrumb a { display: inline-flex; min-height: 2.75rem; align-items: center; gap: 0.4rem; color: var(--color-brand-strong); font-size: var(--font-size-small); font-weight: 600; }
.profile-hero { display: grid; gap: 1rem; margin-bottom: 1.5rem; padding: 1.25rem; border-radius: 1.125rem; background: var(--color-surface); box-shadow: var(--shadow-card); }
.profile-hero__monogram { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 1rem; background: var(--color-brand-soft); color: var(--color-brand-strong); font-size: 1.5rem; font-weight: 600; }
.profile-hero h1 { max-width: none; margin-bottom: 0.45rem; font-size: var(--font-size-heading-max); }
.profile-hero__location { display: flex; gap: 0.35rem; align-items: center; margin: 0 0 0.65rem; color: var(--color-brand-strong); font-size: var(--font-size-small); font-weight: 600; }
.profile-hero__description { max-width: 48rem; margin: 0; color: var(--color-muted); }
.profile-offer-list { display: grid; gap: 0.75rem; }
.profile-offer { padding: 1rem; border-radius: 0.875rem; background: var(--color-surface); box-shadow: var(--shadow-card); }
.profile-offer h3 { margin-bottom: 0.4rem; }
.profile-offer p { margin: 0; color: var(--color-muted); font-size: var(--font-size-small); }
.profile-offer time { display: block; margin-top: 0.7rem; color: var(--color-muted); font-size: 0.75rem; }
.status-page { display: grid; min-height: calc(100vh - 9rem); place-items: center; padding: 2rem 1rem; }
.status-card { width: min(100%, 36rem); padding: 1.25rem; border-radius: 1.125rem; background: var(--color-surface); box-shadow: var(--shadow-card); }
.status-card h1 { max-width: none; margin-bottom: 0.45rem; font-size: var(--font-size-heading-max); }
.status-card > p:not(.eyebrow) { margin: 0 0 0.9rem; color: var(--color-muted); }
.scroll-top { position: fixed; z-index: 60; bottom: max(0.875rem, env(safe-area-inset-bottom)); left: max(0.875rem, env(safe-area-inset-left)); display: grid; width: 3rem; height: 3rem; place-items: center; border: 0; border-radius: 999px; background: rgb(23 101 193 / 92%); color: #fff; box-shadow: var(--shadow-modal); opacity: 0; pointer-events: none; transform: translateY(0.625rem); transition: opacity 180ms ease, transform 180ms ease; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.scroll-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.site-footer { padding: 2.25rem 0 1.25rem; border-top: 1px solid var(--color-line); background: var(--color-surface); box-shadow: 0 -0.75rem 2.5rem rgb(20 32 50 / 5%); }
.site-footer__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.75rem 1.25rem; color: var(--color-muted); font-size: 0.75rem; }
.site-footer__column { min-width: 0; }
.site-footer__brand { color: var(--color-brand); font-size: 1.125rem; font-weight: 500; text-decoration: none; }
.site-footer h3 { margin: 0 0 0.75rem; font-size: 0.875rem; font-weight: 500; }
.site-footer p { margin: 0.5rem 0 0; line-height: 1.65; }
.site-footer__nav a { display: flex; min-height: 2.75rem; align-items: center; color: var(--color-muted); text-decoration: none; }
.site-footer__nav a:hover { color: var(--color-brand); }
.site-footer__text-list { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.site-footer__text-list li { color: var(--color-muted); }
.site-footer__application { display: grid; align-content: start; justify-items: start; }
.site-footer__qr { display: grid; width: 4.25rem; height: 4.25rem; place-items: center; border: 1px solid var(--color-line); border-radius: 1rem; background: var(--color-surface-muted); color: var(--color-brand); }
.site-footer__qr .icon { width: 2.25rem; height: 2.25rem; }
.site-footer__application p { font-weight: 500; }
.site-footer__lower { display: grid; grid-column: 1 / -1; gap: 0.75rem; align-items: center; padding-top: 1.25rem; border-top: 1px solid var(--color-line); }
.site-footer__copyright, .site-footer__confirmed { margin: 0; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.site-footer__legal span { color: var(--color-muted); }

@media (max-width: 47.5rem) {
    .site-footer { padding: calc(var(--section-gap) + 0.5rem) 0 max(var(--section-gap), env(safe-area-inset-bottom)); }
    .site-footer__column, .site-footer__lower { min-width: 0; overflow-wrap: anywhere; }
    .site-footer__qr { width: 3.25rem; height: 3.25rem; border-radius: 0.875rem; }
    .site-footer__qr .icon { width: 1.75rem; height: 1.75rem; }
}

@media (max-width: 21.25rem) {
    .site-footer__application { padding-inline-start: 3.5rem; }
}

@media (min-width: 21.3125rem) and (max-width: 47.5rem) {
    .site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.75rem; column-gap: 1.375rem; }
    .site-footer__about, .site-footer__lower { grid-column: 1 / -1; }
}

@media (min-width: 32rem) {
    .choice-modal__options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .profile-hero { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
    .profile-offer-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
    :root { --section-gap: 1.75rem; }
    .page-shell { width: min(calc(100% - 2.25rem), 45rem); }
    .site-header { margin-bottom: 3.25rem; }
    .site-header__top { grid-template-columns: max-content minmax(20rem, 1fr) max-content; gap: 0.75rem; width: min(calc(100% - 2.25rem), 45rem); min-height: 4.25rem; }
    .site-header__top--simple,
    .site-header__top--cabinet { grid-template-columns: max-content minmax(13.125rem, 1fr) max-content; }
    .mobile-menu-trigger,
    .cabinet-header-menu-toggle,
    .cabinet-header-menu,
    .cabinet-header-menu.is-open { display: none; }
    .brand { font-size: 1.25rem; }
    .header-search { width: min(100%, 21.25rem); min-height: 2.875rem; justify-self: center; }
    .header-search__input { display: block; }
    .header-search--link { width: 100%; justify-content: space-between; gap: 0.55rem; padding-inline: 1rem 0.375rem; }
    .header-search--link span { display: inline; overflow: hidden; font-size: 0.8125rem; text-overflow: ellipsis; white-space: nowrap; }
    .header-location { width: auto; padding-inline: 0.8125rem; }
    .header-location > span { display: block; max-width: 5rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .site-header__nav { position: absolute; top: 100%; left: 0; display: block; width: 100%; background: var(--header-glass); opacity: 1; visibility: visible; transform: translateY(0); transition: opacity 180ms ease, transform 220ms ease, visibility 0s linear; backdrop-filter: blur(18px) saturate(1.6); -webkit-backdrop-filter: blur(18px) saturate(1.6); }
    .site-header.is-compact .site-header__nav { opacity: 0; pointer-events: none; visibility: hidden; transform: translateY(-0.75rem); transition-delay: 0s, 0s, 220ms; }
    .site-header__nav-inner { width: min(calc(100% - 2.25rem), 45rem); min-height: 3.25rem; }
    .site-header__nav-group { gap: 0.5rem; }
    .site-header__nav a, .site-header__nav-disabled { gap: 0.3125rem; font-size: 0.75rem; }
    .choice-modal { padding-top: 4rem; }
    .choice-modal__panel { max-height: calc(100vh - 6rem); border-radius: 1.5rem; }
    .choice-modal__header { padding: 1.625rem 1.625rem 1.25rem; }
    .choice-modal__header h2 { font-size: var(--font-size-heading-max); }
    .choice-modal__search { margin-inline: 1.625rem; }
    .choice-modal__options { padding-inline: 1.625rem; padding-bottom: 1.625rem; }
    .marketplace__shell { padding-top: 1.75rem; }
    .home-heading { font-size: var(--font-size-heading-max); }
    .responsive-ad-slot { border-radius: 1.5rem; }
    .responsive-ad-slot__copy, .responsive-ad-slot--bottom .responsive-ad-slot__copy { grid-template-columns: minmax(0, 1fr) auto; align-content: center; align-items: center; gap: 1rem; padding: 1.5rem; }
    .responsive-ad-slot__message { gap: 0.25rem; }
    .responsive-ad-slot__message h2, .responsive-ad-slot--bottom .responsive-ad-slot__message h2 { font-size: 1rem; }
    .responsive-ad-slot__message p, .responsive-ad-slot--bottom .responsive-ad-slot__message p { display: block; overflow: visible; font-size: 0.75rem; white-space: normal; }
    .offer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.875rem; }
    .offer-card, .feed-promotion { border-radius: 1.125rem; }
    .feed-promotion { padding: 1.125rem; }
    .offer-card__media { padding: 1.125rem; }
    .offer-card__media strong { font-size: 1.25rem; }
    .offer-card__content { gap: 0.5625rem; padding: 0.875rem; }
    .offer-card h3 { min-height: 2.6em; font-size: 0.9375rem; }
    .offer-card__footer { display: grid; }
    .profile-offer-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .marketplace__footer-gap { min-height: calc(var(--section-gap) + 2.75rem); }
    .site-footer { padding-top: 2.75rem; }
    .site-footer__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.75rem; }
    .site-footer__about, .site-footer__lower { grid-column: 1 / -1; }
    .scroll-top { left: max(1.25rem, calc(50% - 22.5rem)); }
}

@media (min-width: 64rem) {
    .page-shell { width: min(calc(100% - 3rem), var(--page)); }
    .site-header__top, .site-header__nav-inner { width: min(calc(100% - 3rem), var(--page)); }
    .offer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .site-footer__inner { grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr)); }
    .site-footer__about { grid-column: auto; }
    .site-footer__lower { grid-template-columns: auto minmax(0, 1fr) auto; }
    .site-footer__legal { justify-content: center; }
    .site-footer__confirmed { text-align: right; }
}

@media (min-width: 73.75rem) {
    .site-header__top { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1rem; }
    .site-header__top--simple { grid-template-columns: max-content minmax(22.5rem, 1fr) max-content; }
    .header-search { width: 44vw; min-width: 22.5rem; max-width: 45rem; }
    .header-search__submit { width: 2.75rem; padding: 0; }
    .header-location > span { max-width: 7.5rem; }
    .site-header__nav-inner { gap: 1.5rem; }
    .site-header__nav-group { gap: 2rem; }
    .site-header__nav a, .site-header__nav-disabled { gap: 0.5rem; font-size: 0.875rem; }
    .site-header__nav a .icon, .site-header__nav-disabled .icon { width: 1.25rem; height: 1.25rem; }
    .site-header__nav-disabled { opacity: 0.64; }
    .responsive-ad-slot__copy, .responsive-ad-slot--bottom .responsive-ad-slot__copy { gap: 1.5rem; padding-inline: 2.25rem; }
    .responsive-ad-slot__message h2, .responsive-ad-slot--bottom .responsive-ad-slot__message h2 { font-size: 1.25rem; }
    .responsive-ad-slot__message p, .responsive-ad-slot--bottom .responsive-ad-slot__message p { font-size: 0.8125rem; }
    .offer-card__media strong { font-size: 1.4375rem; }
}

@media (min-width: 87.5rem) {
    .offer-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .scroll-top { left: max(1.25rem, calc(50% - 43.75rem)); }
}

@media (min-width: 90rem) {
    :root { --page: var(--page-wide); }
    .marketplace__shell { width: min(calc(100% - 3rem), var(--marketplace-wide)); }
}

@media (min-width: 110rem) {
    .offer-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .scroll-top { left: max(1.25rem, calc(50% - 54rem)); }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

.header-auth-form {
    margin: 0;
}

.header-auth-link {
    display: inline-flex;
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.625rem 0.75rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--color-text);
    font-weight: 650;
    text-decoration: none;
}

.header-auth-link--cabinet {
    min-width: max-content;
}

.header-auth-link:hover {
    background: var(--color-surface-muted);
}

.identity-entry {
    display: grid;
    min-height: min(42rem, calc(100vh - 8rem));
    place-items: start center;
    padding-block: 4rem;
}

.identity-entry__panel {
    width: min(100%, 32rem);
    padding: 2rem;
    border: 1px solid var(--color-line);
    border-radius: 1.25rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
}

.identity-entry__eyebrow,
.identity-entry__masked {
    color: var(--color-muted);
}

.identity-entry__form {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.identity-entry__form label {
    font-weight: 700;
}

.identity-entry__form input {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--color-line);
    border-radius: 0.75rem;
    background: var(--color-surface-muted);
    color: var(--color-text);
}

.identity-entry__form button,
.identity-entry__secondary {
    min-height: 2.75rem;
    padding: 0.7rem 1rem;
    border: 0;
    border-radius: 0.75rem;
    background: var(--color-brand);
    color: #fff;
    font-weight: 750;
}

.identity-entry__secondary {
    background: var(--color-surface-muted);
    color: var(--color-text);
}

.identity-entry__message,
.identity-entry__local-code {
    margin-top: 1rem;
    padding: 0.875rem;
    border-radius: 0.75rem;
    background: var(--color-brand-soft);
}

.identity-entry__secondary-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-top: 1rem;
}

.identity-entry__secondary-actions form {
    margin: 0;
}

.mobile-navigation__tools {
    display: grid;
    gap: 0.75rem;
    padding: 0 1rem 0.75rem;
}
.choice-modal--navigation .mobile-navigation__search {
    width: 100%;
    min-height: 2.875rem;
    justify-self: stretch;
}
.choice-modal--navigation .mobile-navigation__search .header-search__input { display: block; }
.mobile-navigation__account button { min-height: 2.5rem; padding: 0.55rem 0.75rem; border: 0; border-radius: 0.75rem; background: var(--color-surface-muted); color: var(--color-text); font: inherit; font-weight: 650; text-decoration: none; }
.mobile-navigation__account { margin: 0; padding: 0 1rem 1rem; }
.mobile-navigation__account button { width: 100%; text-align: left; }

.choice-modal__header--compact { justify-content: flex-end; padding-block-end: 0.5rem; }

@media (max-width: 991px) {
    .site-header__top--public { grid-template-columns: 2.75rem minmax(0, 1fr) max-content; }
    .site-header__top--public .header-search,
    .site-header__top--public .header-auth-form { display: none; }
    .site-header__top--public .header-auth-link--primary span { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: nowrap; }
    .site-header__top--public .header-auth-link--primary .icon { display: none; }
    .mobile-menu-trigger,
    .cabinet-header-menu-toggle,
    .header-action,
    .header-location { background: transparent; box-shadow: none; }
    .mobile-menu-trigger:hover,
    .cabinet-header-menu-toggle:hover,
    .header-action:hover,
    .header-location:hover { background: var(--color-surface-muted); }
    .mobile-menu-trigger:focus-visible,
    .cabinet-header-menu-toggle:focus-visible,
    .header-action:focus-visible,
    .header-location:focus-visible { outline: 2px solid var(--color-brand); outline-offset: 2px; }
    .header-auth-link span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    .header-auth-link--cabinet {
        padding-inline: 0.625rem;
        font-size: 0.75rem;
    }

    .header-auth-link--cabinet span,
    .header-auth-link--logout span {
        position: static;
        width: auto;
        height: auto;
        overflow: visible;
        clip: auto;
        white-space: nowrap;
    }

    .site-header__top--cabinet .cabinet-header-search { display: none; }
    .header-auth-link--logout { min-width: max-content; padding-inline: 0.625rem; font-size: 0.75rem; }

    .identity-entry {        min-height: auto;
        padding-block: 1.5rem 2.5rem;
    }
}

@media (min-width: 704px) and (max-width: 991px) {
    .site-header__top--public {
        grid-template-columns: 2.75rem max-content minmax(12rem, 1fr) max-content;
        gap: 0.5rem;
        width: calc(100% - 2.25rem);
    }

    .site-header__top--public .header-search {
        display: flex;
        width: 100%;
        min-width: 12rem;
        justify-self: center;
    }

    .site-header__top--public .header-search__input { display: block; }
    .choice-modal--navigation .mobile-navigation__tools { display: none; }
    .choice-modal__panel--navigation { width: min(calc(100% - 3rem), 44rem); }
    .mobile-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

.cabinet-shell {
    --cabinet-layout-gap: 1rem;
    --cabinet-panel-padding: 1.25rem;

    width: min(calc(100% - 1.5rem), var(--cabinet-wide));
    margin-inline: auto;
    padding-block: var(--section-gap) 4rem;
}

.cabinet-layout {
    display: grid;
    grid-template-areas: 'workspace';
    min-width: 0;
    gap: var(--cabinet-layout-gap);
}

.cabinet-sidebar {
    display: none;
    grid-area: navigation;
    align-self: start;
    gap: var(--cabinet-layout-gap);
}

.cabinet-workspace {
    display: grid;
    grid-area: workspace;
    min-width: 0;
    gap: var(--cabinet-layout-gap);
}


.cabinet-navigation {
    display: none;
    z-index: 20;
    padding: 0.5rem;
    overflow-x: auto;
    border-radius: 1rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
    scrollbar-width: thin;
}


.cabinet-navigation__link {
    display: inline-flex;
    min-height: 2.75rem;
    flex: 0 0 auto;
    align-items: center;
    padding-inline: 1rem;
    border-radius: 0.75rem;
    background: var(--color-brand-soft);
    color: var(--color-brand);
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.cabinet-navigation__link:hover {
    color: var(--color-brand-strong);
}

.cabinet-hero,
.cabinet-section {
    padding: var(--cabinet-panel-padding);
    border-radius: 1.25rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
}

.cabinet-hero h1 {
    margin-bottom: 0;
    font-size: var(--font-size-heading-max);
}

.cabinet-hero__eyebrow:empty,
.cabinet-hero > p:empty { display: none; }

.adminus-page-title {
    font-size: 1.25rem;
    line-height: 1.2;
}

.cabinet-hero > :last-child,
.cabinet-section > :last-child,
.cabinet-message {
    margin-bottom: 0;
}

.cabinet-hero__eyebrow,
.tariff-card__status {
    margin: 0 0 0.375rem;
    color: var(--color-brand);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cabinet-message {
    margin: 0;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
}

.tariff-section {
    overflow: hidden;
}

.tariff-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
    align-items: stretch;
    gap: clamp(1rem, 2vw, 1.35rem);
}

.tariff-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 31rem;
    overflow: hidden;
    flex-direction: column;
    gap: 0;
    padding: clamp(1.25rem, 2.4vw, 1.7rem);
    border-radius: 1.35rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
    transition: box-shadow 160ms ease, filter 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.tariff-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 0.32rem;
    background: color-mix(in srgb, var(--color-muted) 62%, transparent);
    content: '';
}


.tariff-card--inactive {
    background: color-mix(in srgb, var(--color-surface-muted) 78%, var(--color-surface));
    box-shadow: var(--shadow-card);
}

.tariff-card--inactive::after {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: color-mix(in srgb, var(--color-surface) 16%, transparent);
    content: '';
    pointer-events: none;
}

.tariff-card--inactive > * {
    position: relative;
    z-index: 1;
    opacity: 0.72;
}

.tariff-card--current {
    background: color-mix(in srgb, var(--color-brand-soft) 70%, var(--color-surface));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--color-brand) 42%, transparent), var(--shadow-card);
}

.tariff-card--current::before {
    background: var(--color-brand);
}

.tariff-card--current > * {
    opacity: 1;
}

.tariff-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding-top: 0.3rem;
}

.tariff-card__header h3 {
    margin: 0;
    font-size: var(--font-size-heading-max);
    line-height: 1.1;
}

.tariff-card__status {
    display: inline-flex;
    max-width: 9.5rem;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    margin: -0.05rem 0 0;
    padding: 0.42rem 0.8rem;
    border-radius: 999px;
    background: var(--color-brand-soft);
    color: var(--color-brand-strong);
    font-size: 0.75rem;
    line-height: 1.15;
    text-align: center;
}


.tariff-card__price-group {
    min-height: 6.3rem;
    margin-top: 1.35rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid var(--color-line);
}

.tariff-card__price {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 0.45rem;
    margin: 0;
    color: var(--color-text);
    font-size: clamp(1.65rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
}

.tariff-card__price span {
    color: var(--color-muted);
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
}

.tariff-card__price--empty {
    max-width: none;
    color: var(--color-muted);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}


.tariff-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding-top: 1.15rem;
}

.tariff-card__description {
    min-height: 3.2rem;
    margin: 0;
    color: var(--color-muted);
    line-height: 1.5;
}

.tariff-card__body h4 {
    margin: 1.2rem 0 0.85rem;
    color: var(--color-muted);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.tariff-card__benefits {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.tariff-card__benefits li {
    position: relative;
    min-height: 1.45rem;
    padding-left: 2rem;
    color: var(--color-text);
    line-height: 1.45;
}

.tariff-card__benefits li::before {
    position: absolute;
    top: 0.05rem;
    left: 0;
    display: grid;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--color-brand) 13%, transparent);
    color: var(--color-brand);
    content: '✓';
    font-size: 0.75rem;
    font-weight: 900;
    place-items: center;
}

.tariff-card__empty {
    margin: 0;
    color: var(--color-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.tariff-card__footer {
    margin-top: auto;
    padding-top: 1.5rem;
}

.tariff-card form {
    margin: 0;
}

.tariff-card__action {
    display: flex;
    width: 100%;
    min-height: 3.35rem;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0.9rem;
    background: var(--color-brand-soft);
    color: var(--color-brand-strong);
    font: inherit;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
}

.tariff-card__action:hover {
    background: color-mix(in srgb, var(--color-brand) 22%, var(--color-surface));
}

.tariff-card__action:disabled,
.tariff-card__action--selected,
.tariff-card__action:disabled:hover {
    background: var(--color-surface-muted);
    color: var(--color-muted);
    cursor: default;
}

.tariff-card__action:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent);
    outline-offset: 3px;
}
@media (min-width: 48rem) {
    body:has(> .cabinet-shell) > .site-header {
        margin-bottom: 0;
    }

    .cabinet-shell {
        width: min(calc(100% - 2.25rem), var(--cabinet-wide));
        --cabinet-panel-padding: 1.75rem;
    }


}

@media (min-width: 62rem) {
    .cabinet-shell {
        width: min(calc(100% - 3rem), var(--cabinet-wide));
    }

    .cabinet-layout {
        grid-template-areas: 'navigation workspace';
        grid-template-columns: 13.5rem minmax(0, 1fr);
        --cabinet-layout-gap: 1.25rem;
    }

    .cabinet-sidebar {
        display: grid;
    }

    .cabinet-navigation {
        position: sticky;
        top: 7.5rem;
        display: grid;
        padding: 1rem;
        overflow: visible;
    }

    .cabinet-navigation__link {
        width: 100%;
    }
}
.adminus-notice {
    position: relative;
    padding-left: 1.25rem;
    color: var(--color-muted);
}

.adminus-notice::before {
    position: absolute;
    top: 1rem;
    bottom: 1rem;
    left: 0;
    width: 0.25rem;
    border-radius: 999px;
    background: var(--color-brand);
    content: '';
}

.adminus-notice--alert::before { background: #d64545; }

.adminus-section {
    display: grid;
    gap: 1.25rem;
    scroll-margin-top: 6rem;
}

.adminus-plan-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.adminus-plan-grid > turbo-frame {
    display: block;
    min-width: 0;
}

#master-cabinet-tariffs {
    display: grid;
    min-width: 0;
    gap: var(--cabinet-layout-gap);
}

.adminus-plan-grid > turbo-frame > .adminus-plan-card { height: 100%; }

.adminus-plan-grid > turbo-frame[busy],
#master-cabinet-tariffs[busy] {
    opacity: 0.72;
    transition: opacity 140ms ease;
}

.adminus-plan-grid > turbo-frame[busy] button,
#master-cabinet-tariffs[busy] button { cursor: progress; }

.adminus-plan-card {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--color-surface-muted);
}

.adminus-plan-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.125rem;
}

.adminus-plan-card__heading {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
}

.adminus-plan-card__status {
    color: var(--color-muted);
    font-size: 0.75rem;
    font-weight: 750;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.adminus-availability-form { flex: 0 0 auto; }

.adminus-availability-form .button {
    min-height: 2.125rem;
    padding-inline: 0.7rem;
    border: 0;
    font-size: 0.75rem;
}

.adminus-plan-card__editable {
    display: grid;
    gap: 1rem;
    transition: opacity 160ms ease, filter 160ms ease;
}

.adminus-plan-card--inactive .adminus-plan-card__editable {
    opacity: 0.46;
    filter: saturate(0.55);
}

.adminus-plan-card__header h3 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    text-transform: none;
}

.adminus-price-form,
.adminus-content-form {
    display: grid;
    gap: 0.75rem;
}

.adminus-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.adminus-price-form {
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    padding: 0.875rem;
    border-radius: 0.875rem;
    background: var(--color-brand-soft);
}

.adminus-field--price > span:first-child {
    color: var(--color-brand-strong);
    font-size: 0.875rem;
}

.adminus-field {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 0.4rem;
    color: var(--color-text);
    font-size: 0.8125rem;
    font-weight: 700;
}

.adminus-field input,
.adminus-field textarea,
.adminus-field select {
    width: 100%;
    min-width: 0;
    min-height: 2.875rem;
    padding: 0.75rem 0.875rem;
    border: 0;
    border-radius: 0.75rem;
    outline: 0;
    background: var(--color-surface);
    color: var(--color-text);
    font: inherit;
    font-weight: 500;
    box-shadow: 0 0.25rem 0.9rem rgb(30 42 64 / 6%);
}

.adminus-field textarea {
    min-height: 6rem;
    resize: vertical;
    line-height: 1.5;
}

.adminus-field textarea[name="benefits"] { min-height: 9rem; }

.adminus-field input:focus-visible,
.adminus-field textarea:focus-visible,
.adminus-field select:focus-visible {
    outline: 0.1875rem solid var(--color-focus);
    outline-offset: 0.125rem;
}

.adminus-price-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    overflow: hidden;
    border-radius: 0.75rem;
    background: var(--color-surface);
    box-shadow: 0 0.25rem 0.9rem rgb(30 42 64 / 6%);
}

.adminus-price-control input {
    min-height: 3.25rem;
    border-radius: 0;
    box-shadow: none;
}

.adminus-price-control:focus-within {
    box-shadow: 0 0 0 0.125rem var(--color-focus), 0 0.25rem 0.9rem rgb(30 42 64 / 6%);
}

.adminus-price-control input:focus-visible { outline: 0; }

.adminus-price-control__suffix {
    padding-right: 0.875rem;
    color: var(--color-muted);
    font-size: 0.75rem;
    font-weight: 750;
    white-space: nowrap;
}

.adminus-price-form .button,
.adminus-content-form .button {
    width: auto;
    min-height: 2.25rem;
    justify-self: start;
    padding-inline: 0.8rem;
    border: 0;
    font-size: 0.8125rem;
}

.adminus-content-form small {
    color: var(--color-muted);
    font-size: 0.75rem;
    font-weight: 500;
}

.adminus-plan-card__details {
    border-radius: 0.75rem;
    background: var(--color-surface);
}

.adminus-plan-card__details summary {
    padding: 0.75rem 0.875rem;
    color: var(--color-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.adminus-plan-card__details-body {
    display: grid;
    gap: 0.625rem;
    padding: 0 0.875rem 0.875rem;
}

.adminus-plan-card__details-body p {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    margin: 0;
    color: var(--color-muted);
    font-size: 0.75rem;
}

.adminus-plan-card__details-body .button {
    width: auto;
    min-height: 2.125rem;
    justify-self: start;
    padding-inline: 0.7rem;
    border: 0;
    background: var(--color-surface-muted);
    font-size: 0.75rem;
}

html[data-theme="dark"] .adminus-field input,
html[data-theme="dark"] .adminus-field textarea,
html[data-theme="dark"] .adminus-price-control {
    box-shadow: 0 0.25rem 0.9rem rgb(0 0 0 / 18%);
}

html[data-theme="dark"] .adminus-price-control:focus-within {
    box-shadow: 0 0 0 0.125rem var(--color-focus), 0 0.25rem 0.9rem rgb(0 0 0 / 18%);
}

@media (min-width: 48rem) {
    .adminus-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .adminus-plan-card { padding: 1.25rem; }
}

@media (min-width: 90rem) {
    .adminus-plan-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.offer-grid,
.offer-grid--showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: max-content; gap: 0.625rem; align-items: stretch; }
.showcase-card,
.showcase-promotion-card { position: relative; display: flex; min-width: 0; height: auto; overflow: hidden; align-self: stretch; flex-direction: column; border: 0; border-radius: 0.875rem; background: var(--color-surface); box-shadow: var(--shadow-card); }
.showcase-card__gallery { position: relative; overflow: hidden; flex: 0 0 auto; aspect-ratio: 3 / 4; background: var(--color-surface-muted); }
.showcase-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.showcase-card__sample { position: absolute; z-index: 2; top: 1.15rem; right: -2.55rem; display: grid; min-width: 8rem; min-height: 1.65rem; place-items: center; border-block: 1px solid rgb(255 255 255 / 78%); background: #17599f; color: #fff; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; line-height: 1; text-transform: uppercase; transform: rotate(45deg); box-shadow: 0 0.25rem 0.75rem rgb(0 0 0 / 30%); }
.showcase-card__counter { position: absolute; right: 0.5rem; bottom: 0.5rem; padding: 0.25rem 0.45rem; border-radius: 999px; background: rgb(12 24 40 / 70%); color: #fff; font-size: 0.75rem; font-weight: 700; }
.showcase-card__body { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 0.5rem; padding: 0.625rem; }
.showcase-card__header { display: grid; min-width: 0; gap: 0.4rem; }
.showcase-card__utility { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 0.375rem; }
.showcase-card__utility > span { max-width: 100%; padding: 0.22rem 0.45rem; overflow: hidden; border-radius: 999px; background: var(--color-surface-muted); color: var(--color-muted); font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.showcase-card__utility sup { flex: 0 0 auto; color: #b12626; font-size: 0.75rem; font-weight: 700; }
.showcase-card__price { display: flex; min-width: 0; align-items: baseline; gap: 0.2rem; margin: 0; color: var(--color-brand-strong); white-space: nowrap; }
.showcase-card__price > span { font-size: 0.75rem; font-weight: 600; }
.showcase-card__price strong { overflow: hidden; font-size: 1rem; font-weight: 750; text-overflow: ellipsis; }
.showcase-card__price small { overflow: hidden; color: var(--color-brand-strong); font-size: 0.75rem; font-weight: 650; text-overflow: ellipsis; }
.showcase-card h3 { display: -webkit-box; min-height: 3.6em; margin: 0; overflow: hidden; font-size: 0.8125rem; font-weight: 700; line-height: 1.2; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.showcase-card__meta { display: flex; min-width: 0; align-items: center; gap: 0.25rem; overflow: hidden; color: var(--color-muted); font-size: 0.75rem; white-space: nowrap; }
.showcase-card__meta-item { display: inline-flex; min-width: 0; align-items: center; gap: 0.2rem; }
.showcase-card__meta-item--rating { color: var(--color-text); }
.showcase-card__meta-item--rating strong { font-weight: 750; }
.showcase-card__meta-item--reviews { color: var(--color-muted); }
.showcase-card__meta-item--city { overflow: hidden; color: var(--color-muted); text-overflow: ellipsis; }
.showcase-card__meta-icon { width: 0.9rem; height: 0.9rem; flex: 0 0 auto; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.showcase-card__meta-item--rating .showcase-card__meta-icon { color: #f2ac00; fill: currentcolor; stroke: currentcolor; stroke-width: 1.25; }
.showcase-card__meta-item--reviews .showcase-card__meta-icon { color: #98a2b3; }
.showcase-card__meta-item--city .showcase-card__meta-icon { color: #15965f; }
.showcase-card__meta-separator { color: var(--color-muted); opacity: 0.65; }
.showcase-card__provider { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.4rem; align-items: center; margin-top: auto; padding-top: 0.55rem; border-top: 1px solid var(--color-line); }
.showcase-card__avatar { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border-radius: 50%; background: var(--color-surface-muted); color: var(--color-brand); font-size: 0.75rem; font-weight: 750; }
.showcase-card__provider-text { display: grid; min-width: 0; }
.showcase-card__provider-text strong,
.showcase-card__provider-text small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.showcase-card__provider-text strong { font-size: 0.75rem; }
.showcase-card__provider-text small { color: var(--color-muted); font-size: 0.75rem; }
.showcase-card__verified { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; color: #15965f; }
.showcase-card__verified .icon { width: 1.5rem; height: 1.5rem; stroke-width: 1.8; }
.showcase-promotion-card__media { position: relative; overflow: hidden; flex: 0 0 auto; aspect-ratio: 3 / 4; background: var(--color-surface-muted); }
.showcase-promotion-card__media picture { display: block; width: 100%; height: 100%; }
.showcase-promotion-card__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.showcase-promotion-card__copy { display: flex; min-width: 0; min-height: 0; flex: 1; flex-direction: column; gap: 0.4rem; padding: 0.625rem; overflow-wrap: anywhere; }
.showcase-promotion-card__label { position: absolute; z-index: 1; top: 0.5rem; right: 0.5rem; width: fit-content; max-width: calc(100% - 1rem); padding: 0.25rem 0.5rem; border-radius: 999px; background: var(--color-ad-label-surface); color: var(--color-ad-label); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.05em; line-height: 1.2; text-align: center; text-transform: uppercase; }
.showcase-promotion-card__copy small { color: var(--color-brand); font-size: 0.75rem; font-weight: 750; }
.showcase-promotion-card h3 { min-height: 2.4em; margin: 0; font-size: 0.875rem; line-height: 1.2; }
.showcase-promotion-card p { margin: 0; color: var(--color-muted); font-size: 0.75rem; line-height: 1.35; }
.showcase-promotion-card__action { display: inline-flex; width: fit-content; max-width: 100%; align-items: center; gap: 0.35rem; margin-top: auto; padding: 0.5rem 0.65rem; border-radius: 0.5rem; background: var(--color-brand); color: #fff; font-size: 0.75rem; font-weight: 700; overflow-wrap: anywhere; }

@media (min-width: 48rem) {
    .offer-grid,
    .offer-grid--showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.875rem; }
    .showcase-card,
    .showcase-promotion-card { border-radius: 1rem; }
    .showcase-card__body,
    .showcase-promotion-card__copy { padding: 0.75rem; }
    .showcase-card h3 { font-size: 0.875rem; }
}

@media (min-width: 62rem) {
    .offer-grid,
    .offer-grid--showcase { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 75rem) {
    .offer-grid,
    .offer-grid--showcase { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .offer-card__type-row span,
    .offer-card__meta,
    .profile-offer__meta,
    .offer-card__provider strong,
    .offer-card__provider small,
    .showcase-card__utility > span,
    .showcase-card__utility sup,
    .showcase-card__price > span,
    .showcase-card__price small,
    .showcase-card__meta,
    .showcase-card__meta b,
    .showcase-card__provider-text strong,
    .showcase-card__provider-text small,
    .showcase-promotion-card__copy small,
    .showcase-promotion-card p,
    .showcase-promotion-card__action { font-size: 0.8125rem; }
    .showcase-card h3 { font-size: 0.9375rem; }
}

@media (min-width: 160rem) {
    .offer-grid,
    .offer-grid--showcase { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .showcase-card__body,
    .showcase-promotion-card__copy { padding: 0.8125rem; }
    .showcase-card h3 { font-size: 0.9375rem; }
}

/* Provider-neutral tariff payment preview. */
.tariff-status-bar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 0.75rem 1rem;
    padding: 1rem 1.15rem;
    border-radius: 1rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
}

.tariff-status-bar--warning {
    background: color-mix(in srgb, #d89a24 9%, var(--color-surface));
}

.tariff-status-bar__item {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
}

.tariff-status-bar__item span,
.tariff-status-bar__warning {
    color: var(--color-muted);
    font-size: 0.8rem;
}

.tariff-status-bar__item strong {
    overflow: hidden;
    color: var(--color-text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tariff-status-bar__warning {
    grid-column: 1 / -1;
    margin: 0;
    color: color-mix(in srgb, #a76500 84%, var(--color-text));
    font-weight: 700;
}

.tariff-status-bar__action {
    grid-column: 1 / -1;
    justify-self: start;
    color: var(--color-brand);
    font-weight: 750;
    text-decoration: none;
}

.tariff-card__action {
    text-decoration: none;
}

.tariff-payment-dialog {
    width: min(calc(100% - 1rem), 48rem);
    max-width: none;
    max-height: calc(100dvh - 1rem);
    margin: max(0.5rem, 5dvh) auto auto;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    color: var(--color-text);
}

.tariff-payment-dialog::backdrop {
    background: rgb(20 33 53 / 58%);
    backdrop-filter: blur(0.25rem);
    -webkit-backdrop-filter: blur(0.25rem);
}

.tariff-payment-dialog__surface,
.tariff-payment-page {
    border-radius: 1.35rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-modal);
}

.tariff-payment-dialog__surface {
    max-height: calc(100dvh - 1rem);
    padding: clamp(1rem, 3vw, 2rem);
    overflow: auto;
    overscroll-behavior: contain;
}

.tariff-payment-dialog--compact {
    width: min(calc(100% - 1rem), 34rem);
}

.tariff-payment-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.tariff-payment-header h2 {
    margin: 0;
    font-size: var(--font-size-heading-max);
}

.tariff-payment-header p {
    margin: 0.35rem 0 0;
    color: var(--color-muted);
}

.tariff-payment-close {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: var(--color-surface-muted);
    color: var(--color-text);
    font: inherit;
    font-size: 1.5rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.tariff-payment-close:hover {
    background: var(--color-brand-soft);
}

.tariff-payment-close:focus-visible,
.tariff-period-option:has(input:focus-visible),
.tariff-payment-primary:focus-visible,
.tariff-payment-terms-link:focus-visible,
.tariff-payment-back:focus-visible,
.tariff-status-bar__action:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent);
    outline-offset: 3px;
}

.tariff-payment-view[hidden] {
    display: none;
}

.tariff-payment-view__label {
    margin: 0 0 0.7rem;
    color: var(--color-muted);
    font-size: 0.9rem;
}

.tariff-periods {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.tariff-period-option {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 5.25rem;
    align-content: center;
    gap: 0.45rem;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--color-surface-muted);
    box-shadow: inset 0 0 0 1px var(--color-line);
    cursor: pointer;
}

.tariff-period-option:has(input:checked) {
    background: var(--color-brand-soft);
    box-shadow: inset 0 0 0 2px var(--color-brand);
}

.tariff-period-option input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.tariff-period-option__term {
    color: var(--color-text);
    font-weight: 800;
}

.tariff-period-option__amount {
    color: var(--color-muted);
}

.tariff-period-option__discount {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 999px;
    background: var(--color-brand-soft);
    color: var(--color-brand-strong);
    font-size: 0.75rem;
    font-weight: 800;
}

.tariff-payment-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--color-surface-muted);
}

.tariff-payment-summary > :nth-child(even) {
    text-align: right;
}

.tariff-payment-summary strong {
    color: var(--color-text);
    font-size: 1.15rem;
}

.tariff-payment-summary span {
    color: var(--color-muted);
}

.tariff-payment-primary {
    width: 100%;
    min-height: 3.25rem;
    margin-top: 1rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0.9rem;
    background: var(--color-brand);
    color: #fff;
    font: inherit;
    font-weight: 800;
}

.tariff-payment-primary:disabled {
    background: var(--color-surface-muted);
    color: var(--color-muted);
    cursor: not-allowed;
}

.tariff-payment-provider-note {
    margin: 0.65rem 0 0;
    color: var(--color-muted);
    font-size: 0.8rem;
    text-align: center;
}

.tariff-payment-terms-link,
.tariff-payment-back {
    display: block;
    width: fit-content;
    margin: 1rem auto 0;
    color: var(--color-brand);
    font-weight: 750;
    text-decoration: none;
}

.tariff-payment-reminder {
    display: grid;
    gap: 0.35rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border-radius: 1rem;
    background: color-mix(in srgb, #e5a72b 12%, var(--color-surface));
    color: var(--color-text);
}

.tariff-payment-reminder span {
    color: var(--color-muted);
    font-size: 0.85rem;
}

.tariff-payment-terms h2 {
    margin: 1rem 0;
    font-size: var(--font-size-heading-max);
}

.tariff-payment-terms ul {
    display: grid;
    gap: 0.75rem;
    margin: 0;
    padding-left: 1.25rem;
    color: var(--color-muted);
    line-height: 1.5;
}

.tariff-payment-back {
    margin: 0;
}

.tariff-payment-page {
    min-width: 0;
}

.tariff-payment-empty {
    display: grid;
    min-height: 8rem;
    place-items: center;
    border-radius: 1rem;
    background: var(--color-surface-muted);
    color: var(--color-muted);
    text-align: center;
}

.tariff-payment-empty p {
    margin: 0;
}

@media (min-width: 40rem) {
    .tariff-status-bar {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    }

    .tariff-status-bar__action {
        grid-column: auto;
        justify-self: end;
    }

    .tariff-status-bar__warning {
        grid-column: 1 / -1;
    }

    .tariff-periods {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 39.999rem) {
    .adminus-price-grid { grid-template-columns: minmax(0, 1fr); }
}
.account-onboarding,
.client-cabinet {
    width: min(100% - 2rem, 80rem);
    margin: 1.5rem auto 3rem;
}

.account-onboarding__header,
.client-cabinet__header,
.client-cabinet__card,
.account-onboarding-card {
    border-radius: 1.25rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-card);
}

.account-onboarding__header,
.client-cabinet__header {
    padding: clamp(1.25rem, 3vw, 2rem);
}

.account-onboarding__header h1,
.client-cabinet__header h1,
.account-onboarding-card h2,
.client-cabinet__card h2 {
    margin: 0;
    font-size: var(--font-size-heading-max);
}

.account-onboarding__header p,
.account-onboarding-card p,
.client-cabinet__card p {
    margin: 0.65rem 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.account-onboarding__message {
    margin: 1rem 0 0;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--color-surface);
    color: var(--color-danger);
}

.account-onboarding__choices {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.account-onboarding-card,
.client-cabinet__card {
    padding: clamp(1.25rem, 3vw, 2rem);
}

.account-onboarding-card form {
    display: grid;
    gap: 1rem;
    margin-top: 1.25rem;
}

.account-onboarding-card button,
.client-cabinet__actions a {
    width: fit-content;
    min-height: 2.75rem;
    padding: 0.7rem 1rem;
    border: 0;
    border-radius: 0.85rem;
    background: var(--color-brand);
    color: #fff;
    font: inherit;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
}

.account-onboarding-card button:focus-visible,
.account-onboarding-kinds label:has(input:focus-visible),
.client-cabinet__actions a:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent);
    outline-offset: 3px;
}

.account-onboarding-kinds {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.account-onboarding-kinds legend {
    grid-column: 1 / -1;
    margin-bottom: 0.25rem;
    font-weight: 750;
}

.account-onboarding-kinds label {
    position: relative;
    display: flex;
    min-height: 3.25rem;
    align-items: center;
    padding: 0.8rem 1rem;
    border-radius: 0.9rem;
    background: var(--color-surface-muted);
    box-shadow: inset 0 0 0 1px var(--color-line);
    cursor: pointer;
}

.account-onboarding-kinds label:has(input:checked) {
    background: var(--color-brand-soft);
    box-shadow: inset 0 0 0 2px var(--color-brand);
}

.account-onboarding-kinds input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.client-cabinet__card {
    margin-top: 1rem;
}

.client-cabinet__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.25rem;
}

.client-cabinet__actions a:last-child {
    background: var(--color-brand-soft);
    color: var(--color-brand-strong);
}

@media (min-width: 48rem) {
    .account-onboarding__choices {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    }
}

@media (max-width: 30rem) {
    .account-onboarding,
    .client-cabinet {
        width: min(100% - 1rem, 80rem);
        margin-top: 0.5rem;
    }

    .account-onboarding-kinds {
        grid-template-columns: 1fr;
    }

    .account-onboarding-card button,
    .client-cabinet__actions a {
        width: 100%;
        text-align: center;
    }
}

.cabinet-navigation__link:not([aria-current='page']) {
    background: transparent;
    color: var(--color-text);
}

.cabinet-navigation__link[aria-current='page'] {
    background: var(--color-brand-soft);
    color: var(--color-brand);
}

#master-cabinet-profile {
    display: grid;
    min-width: 0;
    gap: var(--cabinet-layout-gap);
}

#master-cabinet-profile[busy] {
    opacity: 0.72;
    transition: opacity 140ms ease;
}

.profile-section,
.profile-form,
.profile-form__grid {
    display: grid;
    min-width: 0;
    gap: 1.25rem;
}

.profile-overview { display: grid; min-width: 0; gap: var(--cabinet-layout-gap); }
.profile-overview__card { display: grid; min-width: 0; align-content: space-between; gap: 1.15rem; }
.profile-overview__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.profile-overview__heading h2, .profile-direction h2 { margin: 0 0 0.35rem; font-size: var(--font-size-heading-max); }
.profile-overview__heading p, .profile-direction p { margin: 0; color: var(--color-muted); }
.profile-overview__percentage { color: var(--color-success); font-size: 1.4rem; line-height: 1; }
.profile-progress {
    display: block;
    width: 100%;
    height: 0.75rem;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    appearance: none;
    background: color-mix(in srgb, var(--color-brand) 14%, var(--color-surface-muted));
}

.profile-progress::-webkit-progress-bar {
    border-radius: inherit;
    background: color-mix(in srgb, var(--color-brand) 14%, var(--color-surface-muted));
}

.profile-progress::-webkit-progress-value {
    border-radius: inherit;
    background: linear-gradient(90deg, var(--color-brand), var(--color-success));
}

.profile-progress::-moz-progress-bar {
    border-radius: inherit;
    background: linear-gradient(90deg, var(--color-brand), var(--color-success));
}

html[data-theme="dark"] .profile-progress,
html[data-theme="dark"] .profile-progress::-webkit-progress-bar {
    background: color-mix(in srgb, var(--color-brand) 20%, var(--color-surface-muted));
}
.profile-overview__status { margin: 0; color: var(--color-success); font-weight: 700; }
.profile-overview__status.is-pending { color: var(--color-muted); }
.profile-readiness-list { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.profile-readiness-list li { display: flex; align-items: center; gap: 0.65rem; color: var(--color-muted); }
.profile-readiness-list li span { display: grid; width: 1.45rem; height: 1.45rem; flex: 0 0 auto; place-items: center; border-radius: 999px; background: var(--color-surface-muted); color: var(--color-muted); font-weight: 800; }
.profile-readiness-list li.is-complete { color: var(--color-text); }
.profile-readiness-list li.is-complete span { background: color-mix(in srgb, var(--color-success) 14%, transparent); color: var(--color-success); }
.profile-direction { display: flex; align-items: center; gap: 0.9rem; }
.profile-direction__icon { display: grid; width: 2.75rem; height: 2.75rem; flex: 0 0 auto; place-items: center; border-radius: 0.9rem; background: var(--color-brand-soft); color: var(--color-brand); }
.profile-direction__icon svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
@media (min-width: 48rem) { .profile-overview { grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.65fr); } }

.profile-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.profile-section__header h2 {
    margin-bottom: 0.35rem;
    font-size: var(--font-size-heading-max);
}

.profile-section__header p {
    margin: 0;
    color: var(--color-muted);
}

.profile-section__state {
    flex: 0 0 auto;
    padding: 0.45rem 0.75rem;
    border-radius: 999px;
    background: var(--color-brand-soft);
    color: var(--color-brand-strong);
    font-size: 0.75rem;
    font-weight: 700;
}

.profile-field {
    display: grid;
    min-width: 0;
    gap: 0.5rem;
    font-weight: 700;
}

.profile-field input,
.profile-field select,
.profile-field textarea {
    width: 100%;
    min-width: 0;
    border: 0;
    border-radius: 0.9rem;
    background: var(--color-surface-muted);
    color: var(--color-text);
    font: inherit;
    font-weight: 400;
}

html:not([data-theme="dark"]) .profile-field input,
html:not([data-theme="dark"]) .profile-field select,
html:not([data-theme="dark"]) .profile-field textarea,
html:not([data-theme="dark"]) .profile-city-picker {
    background: #f2eee3;
}

.profile-field input,
.profile-field select {
    min-height: 3.25rem;
    padding: 0.75rem 1rem;
}

.profile-field textarea {
    min-height: 12rem;
    padding: 1rem;
    resize: vertical;
}

.profile-city-picker {
    display: flex;
    width: 100%;
    min-height: 3.25rem;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: 0.9rem;
    background: var(--color-surface-muted);
    color: var(--color-text);
    font: inherit;
    font-weight: 400;
    text-align: left;
    cursor: pointer;
}

.profile-city-picker svg { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.profile-city-picker:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 3px; }
.profile-locality-modal__caption { margin: 0 1.25rem 0.7rem; color: var(--color-muted); font-size: 0.8rem; font-weight: 700; }
.profile-locality-modal__options button { display: flex; width: 100%; min-height: 2.875rem; align-items: center; padding: 0 0.875rem; border: 0; border-radius: 0.75rem; background: var(--color-surface-muted); color: var(--color-text); font: inherit; font-weight: 500; text-align: left; cursor: pointer; }
.profile-locality-modal__options button:hover, .profile-locality-modal__options button[aria-current="true"] { background: var(--color-brand); color: #fff; }
.profile-locality-modal__options button:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 2px; }

.profile-field input:focus-visible,
.profile-field select:focus-visible,
.profile-field textarea:focus-visible,
.profile-form__submit:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent);
    outline-offset: 3px;
}

.profile-field small {
    color: var(--color-muted);
    font-size: 0.8rem;
    font-weight: 400;
}

.profile-form__actions {
    display: flex;
    justify-content: flex-start;
}

.profile-form__submit {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1.2rem;
    border: 0;
    border-radius: 0.8rem;
    background: var(--color-brand);
    color: #fff;
    font: inherit;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.profile-form__submit:hover {
    background: var(--color-brand-strong);
    color: #fff;
}

.profile-directions-form {
    display: grid;
    gap: 1rem;
}

.profile-directions-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: var(--color-surface-muted);
}
.profile-directions-summary__content { display: grid; gap: 0.65rem; }
.profile-directions-summary__content p { margin: 0; color: var(--color-muted); font-size: 0.85rem; }
.profile-directions-summary__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.profile-directions-summary__chips:empty::before { color: var(--color-muted); content: "—"; }
.profile-directions-summary__chip { display: inline-flex; min-height: 2rem; align-items: center; padding: 0.35rem 0.7rem; border-radius: 999px; background: var(--color-surface); color: var(--color-text); font-size: 0.85rem; font-weight: 650; }
.profile-directions-summary__chip.is-primary { background: var(--color-brand-soft); color: var(--color-brand-strong); }
.profile-directions-summary__button,
.profile-directions-modal__cancel { min-height: 2.65rem; flex: 0 0 auto; padding: 0.65rem 1rem; border: 0; border-radius: 0.8rem; background: var(--color-surface); color: var(--color-brand-strong); font-weight: 700; cursor: pointer; }
.profile-directions-summary__button:hover,
.profile-directions-modal__cancel:hover { background: var(--color-brand-soft); }
.profile-directions-modal .choice-modal__panel { width: min(100%, 48rem); }
.profile-directions-modal__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 1.25rem 0.75rem; color: var(--color-muted); font-size: 0.85rem; }
.profile-directions-modal__meta strong { color: var(--color-text); }
.profile-directions-modal .profile-directions { max-height: min(24rem, calc(100vh - 19rem)); padding: 0 1.25rem; overflow-y: auto; }
.profile-directions-modal__limit { margin: 0.75rem 1.25rem 0; color: #d64545; font-size: 0.85rem; font-weight: 650; }
.profile-directions-modal__actions { display: flex; justify-content: flex-end; gap: 0.75rem; padding: 1rem 1.25rem 1.25rem; }

.profile-directions {
    display: grid;
    min-width: 0;
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.profile-direction-option {
    display: grid;
    min-width: 0;
    gap: 0.7rem;
    padding: 0.9rem 1rem;
    border-radius: 0.9rem;
    background: var(--color-surface-muted);
}

.profile-direction-option__choice,
.profile-direction-option__primary {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.7rem;
    cursor: pointer;
}

.profile-direction-option__choice { font-weight: 700; }
.profile-direction-option__primary { color: var(--color-muted); font-size: 0.85rem; }
.profile-direction-option input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; accent-color: var(--color-brand); }
.profile-direction-option input:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 3px; }
.profile-direction-option__primary input:disabled + span { opacity: 0.5; cursor: not-allowed; }
.profile-directions-form__help { margin: 0; color: var(--color-muted); font-size: 0.85rem; }

.profile-empty {
    display: grid;
    justify-items: start;
    gap: 1rem;
}

@media (min-width: 48rem) {
    .profile-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-field--wide {
        grid-column: 1 / -1;
    }

    .profile-directions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-direction-option {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }
}

@media (max-width: 47.999rem) {
    .profile-directions-summary { align-items: stretch; flex-direction: column; }
    .profile-directions-summary__button { width: 100%; }
}

@media (max-width: 30rem) {
    .profile-overview__heading {
        align-items: center;
    }

    .profile-section__header {
        align-items: stretch;
        flex-direction: column;
    }

    .profile-section__state {
        align-self: flex-start;
    }
}

.profile-media__grid { display: grid; gap: 1rem; }
.profile-media-card { display: grid; min-width: 0; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: 1rem; border-radius: 1rem; background: var(--color-surface-muted); }
.profile-media-card__preview { position: relative; display: grid; width: 6.5rem; aspect-ratio: 1; place-items: center; overflow: hidden; border-radius: 1.25rem; background: color-mix(in srgb, var(--color-brand) 10%, var(--color-surface)); color: var(--color-brand); }
.profile-media-card__preview--avatar { border-radius: 999px; }
.profile-media-card__preview img { width: 100%; height: 100%; object-fit: cover; }
.profile-media-card__preview--logo img { object-fit: contain; }
.profile-media-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; }
.profile-media-card__placeholder svg { width: 2.5rem; height: 2.5rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.profile-media-card__content { display: grid; min-width: 0; gap: 0.8rem; }
.profile-media-card__content h3 { margin: 0 0 0.25rem; font-size: 1rem; }
.profile-media-card__content p { margin: 0; color: var(--color-muted); }
.profile-media-card__actions { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.profile-media-card__primary, .profile-media-card__delete, .profile-media-editor__modes button, .profile-media-editor__cancel { min-height: 2.65rem; padding: 0.55rem 0.9rem; border: 0; border-radius: 0.75rem; background: var(--color-surface); color: var(--color-text); font: inherit; font-weight: 700; cursor: pointer; }
.profile-media-card__primary { background: var(--color-brand); color: #fff; }
.profile-media-card__delete { color: var(--color-danger); }
.profile-media-card__primary:hover, .profile-media-editor__modes button[aria-pressed="true"] { background: var(--color-brand-strong); color: #fff; }
.profile-media-card__primary:focus-visible, .profile-media-card__delete:focus-visible, .profile-media-editor button:focus-visible, .profile-media-editor input:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 3px; }
.profile-media-card__status { min-height: 1.25rem; color: var(--color-success) !important; font-size: 0.875rem; }
.profile-media-card__status.is-error, .profile-media-editor__status.is-error { color: var(--color-danger) !important; }
.profile-media__privacy, .profile-media__required { margin: 0; color: var(--color-muted); font-size: 0.875rem; }
.profile-media-editor { align-items: center; padding-block: 1rem; }
.profile-media-editor__panel { display: grid; width: min(100%, 34rem); max-height: calc(100dvh - 2rem); grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; }
.profile-media-editor__body { display: grid; gap: 0.75rem; padding: 0 1.25rem 0.75rem; overflow-y: auto; overscroll-behavior: contain; }
.profile-media-editor canvas { display: block; width: min(100%, clamp(10rem, calc(100dvh - 25rem), 20rem)); aspect-ratio: 1; justify-self: center; border-radius: 1rem; background-image: linear-gradient(45deg, var(--color-surface-muted) 25%, transparent 25%), linear-gradient(-45deg, var(--color-surface-muted) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--color-surface-muted) 75%), linear-gradient(-45deg, transparent 75%, var(--color-surface-muted) 75%); background-position: 0 0, 0 0.75rem, 0.75rem -0.75rem, -0.75rem 0; background-size: 1.5rem 1.5rem; cursor: grab; touch-action: none; }
.profile-media-editor canvas:active { cursor: grabbing; }
.profile-media-editor__controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; align-items: end; }
.profile-media-editor__modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; padding: 0.25rem; border-radius: 0.9rem; background: var(--color-surface-muted); }
.profile-media-editor__modes button { background: transparent; }
.profile-media-editor__zoom { display: grid; gap: 0.5rem; color: var(--color-text); font-weight: 700; }
.profile-media-editor__zoom input { width: 100%; accent-color: var(--color-brand); }
.profile-media-editor__hint, .profile-media-editor__status { margin: 0; color: var(--color-muted); font-size: 0.875rem; }
.profile-media-editor__status { min-height: 1.25rem; }
.profile-media-editor__actions { display: flex; justify-content: flex-end; gap: 0.65rem; padding: 0 1.25rem 1.25rem; }
.profile-media-editor button:disabled { cursor: wait; opacity: 0.62; }

@media (min-width: 48rem) {
    .profile-media__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .profile-media-editor__body { padding-inline: 1.375rem; }
    .profile-media-editor__actions { padding-inline: 1.375rem; padding-bottom: 1.375rem; }
}

@media (max-width: 31.99rem) {
    .profile-media-card { grid-template-columns: 5rem minmax(0, 1fr); padding: 0.85rem; }
    .profile-media-card__preview { width: 5rem; }
    .profile-media-editor__actions > * { min-width: 0; flex: 1 1 0; }

}
/* Professional profile shell and owner-managed responsive cover media. */
.profile-cover-media__header { align-items: center; }
.profile-cover-media__preview-link { display: inline-flex; min-height: 2.65rem; align-items: center; justify-content: center; padding: 0.55rem 0.9rem; border-radius: 0.75rem; background: var(--color-brand-soft); color: var(--color-brand-strong); font-weight: 700; text-decoration: none; }
.profile-cover-media__preview-link:hover { background: color-mix(in srgb, var(--color-brand) 18%, var(--color-surface)); }
.profile-cover-media__preview-link:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 3px; }
.profile-cover-media__grid { display: grid; gap: 1rem; }
.profile-cover-card { display: grid; min-width: 0; gap: 1rem; padding: 1rem; border-radius: 1rem; background: var(--color-surface-muted); }
.profile-cover-card__preview { position: relative; display: grid; width: 100%; place-items: center; overflow: hidden; border-radius: 1rem; background: color-mix(in srgb, var(--color-brand) 8%, var(--color-surface)); color: var(--color-brand); }
.profile-cover-card__preview--desktop { aspect-ratio: 8 / 1; }
.profile-cover-card__preview--mobile { width: 100%; aspect-ratio: 2 / 1; justify-self: center; }
.profile-cover-card__preview img { width: 100%; height: 100%; object-fit: cover; }
.profile-cover-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; }
.profile-cover-card__placeholder svg { width: 3rem; height: 3rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.profile-cover-card__content { display: grid; min-width: 0; gap: 0.8rem; align-content: start; }
.profile-cover-card__content h3 { margin: 0 0 0.25rem; font-size: 1rem; }
.profile-cover-card__content p { margin: 0; color: var(--color-muted); }

.professional-profile-document { min-height: 100%; background: var(--color-page); }
.professional-profile-page { padding-block: 1rem 2rem; }
.professional-profile-shell { width: min(calc(100% - 2rem), 100rem); margin-inline: auto; }
.professional-profile-attribution { display: flex; width: min(calc(100% - 2rem), 100rem); gap: 1rem; align-items: center; justify-content: space-between; margin-inline: auto; padding: 0 0 2rem; color: var(--color-muted); font-size: 0.875rem; }
.professional-profile-attribution a { color: var(--color-brand-strong); font-weight: 800; text-decoration: none; }
.professional-profile-attribution a:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 3px; }
.professional-profile-theme-toggle { position: fixed; z-index: 20; top: 1rem; right: 1rem; display: inline-grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 0; border-radius: .8rem; background: color-mix(in srgb, var(--color-surface) 92%, transparent); color: var(--color-text); box-shadow: var(--shadow-card); cursor: pointer; }
.professional-profile-theme-toggle .icon { grid-area: 1 / 1; width: 1.2rem; height: 1.2rem; }
.professional-profile-theme-toggle .theme-toggle__sun { display: none; }
html[data-theme="dark"] .professional-profile-theme-toggle .theme-toggle__moon { display: none; }
html[data-theme="dark"] .professional-profile-theme-toggle .theme-toggle__sun { display: block; }
.professional-profile-theme-toggle:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 45%, transparent); outline-offset: 3px; }
.professional-profile-preview { display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding: 0.8rem 1rem; border-radius: 1rem; background: var(--color-brand-soft); color: var(--color-brand-strong); font-weight: 700; }
.professional-profile-preview a { color: inherit; }
.professional-profile { display: grid; gap: 1.25rem; }
.professional-profile-hero { overflow: hidden; border-radius: 1.5rem; background: var(--color-surface); box-shadow: var(--shadow-card); }
.professional-profile-hero__media { position: relative; aspect-ratio: 8 / 1; overflow: hidden; background: linear-gradient(135deg, color-mix(in srgb, var(--color-brand) 22%, var(--color-surface-muted)), var(--color-surface-muted)); }
.professional-profile-hero__media picture, .professional-profile-hero__media img { display: block; width: 100%; height: 100%; }
.professional-profile-hero__media img { object-fit: cover; }
.professional-profile-hero__media.is-fallback::after { position: absolute; inset: 0; background: radial-gradient(circle at 75% 25%, color-mix(in srgb, var(--color-brand) 20%, transparent), transparent 42%); content: ''; }
.professional-profile-hero__panel { position: relative; display: grid; min-height: 18rem; grid-template-columns: minmax(0, 1fr) auto; gap: 1.75rem 2rem; align-items: center; margin: 0; padding: 1.5rem 2rem; background: var(--color-surface); }
.professional-profile-identity { display: flex; min-width: 0; align-items: center; }
.professional-profile-avatar { position: absolute; top: 0; left: 2rem; display: grid; width: 8rem; height: 8rem; place-items: center; overflow: visible; transform: translateY(-50%); border: 0.35rem solid var(--color-surface); border-radius: 999px; background: var(--color-brand-soft); color: var(--color-brand-strong); box-shadow: var(--shadow-card); font-size: 2.5rem; font-weight: 800; }
.professional-profile-avatar img { width: 100%; height: 100%; overflow: hidden; border-radius: inherit; object-fit: cover; }
.professional-profile-avatar img.is-logo { object-fit: contain; padding: 0.75rem; }
.professional-profile-avatar__status { position: absolute; right: 0.2rem; bottom: 0.2rem; width: 1.25rem; height: 1.25rem; border: 0.25rem solid var(--color-surface); border-radius: 999px; background: #22c779; }
.professional-profile-identity__content { min-width: 0; margin-left: 10rem; }
.professional-profile-identity__content .eyebrow { margin-bottom: 0.35rem; }
.professional-profile-title-row { display: flex; gap: 0.65rem; align-items: center; }
.professional-profile-name { margin: 0; font-size: 1.25rem; font-weight: 750; line-height: 1.25; }
.professional-profile-verified { display: inline-grid; width: 1.65rem; height: 1.65rem; flex: 0 0 auto; place-items: center; border-radius: 999px; background: var(--color-brand); color: #fff; }
.professional-profile-verified .icon { width: 1rem; height: 1rem; }
.professional-profile-specialization { margin: 0.4rem 0 0; color: var(--color-muted); font-size: 1rem; }
.professional-profile-location { display: flex; gap: 0.4rem; align-items: center; margin: 0.55rem 0 0; color: var(--color-muted); }
.professional-profile-location .icon { width: 1.1rem; height: 1.1rem; }
.professional-profile-hero__actions { display: flex; gap: 0.75rem; align-items: center; justify-content: flex-end; }
.professional-profile-hero__edit { display: inline-flex; min-height: 2.75rem; flex: 0 0 auto; align-items: center; justify-content: center; padding: 0.6rem 1rem; border-radius: 0.8rem; background: var(--color-brand); color: #fff; font-weight: 700; text-decoration: none; }
.professional-profile-hero__edit:focus-visible { outline: 3px solid color-mix(in srgb, var(--color-brand) 42%, transparent); outline-offset: 3px; }
.professional-profile-action { display: inline-flex; min-height: 3rem; gap: 0.55rem; align-items: center; justify-content: center; padding: 0.7rem 1.15rem; border: 0; border-radius: 0.9rem; font: inherit; font-weight: 750; }
.professional-profile-action--primary { background: var(--color-brand); color: #fff; }
.professional-profile-action--secondary { background: var(--color-brand-soft); color: var(--color-brand-strong); }
.professional-profile-action .icon { width: 1.1rem; height: 1.1rem; }
.professional-profile-action:disabled { cursor: default; opacity: 1; }
.professional-profile-metrics { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); padding: 1rem 0 0; border-top: 1px solid var(--color-line); }
.professional-profile-new-state { grid-column: 1 / -1; display: grid; gap: 0.25rem; padding: 0.25rem 0; }
.professional-profile-new-state strong { color: var(--color-text); font-size: 1rem; }
.professional-profile-new-state span { color: var(--color-muted); line-height: 1.45; }
.professional-profile-metric { display: grid; min-width: 0; grid-template-columns: auto minmax(0, 1fr); gap: 0.8rem; align-items: start; padding: 0.25rem 1.5rem; border-left: 1px solid var(--color-line); }
.professional-profile-metric:first-child { padding-left: 0; border-left: 0; }
.professional-profile-metric:last-child { padding-right: 0; }
.professional-profile-metric > .icon { width: 2rem; height: 2rem; margin-top: 0.1rem; }
.professional-profile-metric strong, .professional-profile-metric span { display: block; }
.professional-profile-metric strong { color: var(--color-text); font-size: 1.35rem; line-height: 1.15; }
.professional-profile-metric span { margin-top: 0.25rem; color: var(--color-muted); line-height: 1.35; }
.professional-profile-metric--rating > .icon { color: #f59e0b; }
.professional-profile-metric--orders > .icon { color: var(--color-brand); }
.professional-profile-metric--experience > .icon { color: #22b573; }
.professional-profile-metric--response > .icon { color: #805ad5; }
.professional-profile-section { padding: clamp(1.25rem, 2.5vw, 2rem); border-radius: 1.25rem; background: var(--color-surface); box-shadow: var(--shadow-card); }
.professional-profile-section h2 { margin: 0; font-size: 1.25rem; }
.professional-profile-intro { display: grid; gap: 1.25rem; }
.professional-profile-intro.has-availability { grid-template-columns: minmax(0, 2.1fr) minmax(18rem, .9fr); align-items: stretch; }
.professional-profile-about { display: flex; min-height: 100%; flex-direction: column; }
.professional-profile-headline { max-width: 62rem; margin: 0 0 1rem; font-size: 1.25rem; line-height: 1.35; }
.professional-profile-copy { max-width: 62rem; color: var(--color-muted); line-height: 1.7; }
.professional-profile-copy p { margin: 0 0 0.85rem; }
.professional-profile-copy p:last-child { margin-bottom: 0; }
.professional-profile-copy__summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 6; }
.professional-profile-copy__full { display: none; }
.professional-profile-description__toggle[hidden] {
    display: none;
}

.professional-profile-description.is-expanded .professional-profile-copy__summary { display: none; }
.professional-profile-description.is-expanded .professional-profile-copy__full { display: block; }
.professional-profile-description__toggle { display: inline-flex; gap: .4rem; align-items: center; width: max-content; margin-top: .75rem; padding: 0; border: 0; background: transparent; color: var(--color-primary); font: inherit; font-weight: 700; cursor: pointer; }
.professional-profile-description__toggle .icon { width: 1rem; height: 1rem; transition: transform .2s ease; }
.professional-profile-description.is-expanded .professional-profile-description__toggle .icon { transform: rotate(180deg); }
.professional-profile-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: auto 0 0; padding: 1.5rem 0 0; list-style: none; }
.professional-profile-highlights li { display: flex; gap: .75rem; min-width: 0; padding: 1rem; border-radius: 1rem; background: var(--color-surface-muted); }
.professional-profile-highlights .icon { flex: 0 0 auto; width: 1.35rem; height: 1.35rem; color: var(--color-brand); }
.professional-profile-highlights span { display: grid; gap: .25rem; min-width: 0; }
.professional-profile-highlights strong { line-height: 1.3; }
.professional-profile-highlights small { color: var(--color-muted); line-height: 1.45; }
.professional-profile-availability { display: grid; align-content: start; gap: 1.1rem; }
.professional-profile-availability__status { display: grid; grid-template-columns: auto 1fr auto; gap: .45rem; align-items: center; color: #198754; }
.professional-profile-availability__status > span { width: .6rem; height: .6rem; border-radius: 50%; background: #2ebd85; box-shadow: 0 0 0 .3rem color-mix(in srgb, #2ebd85 14%, transparent); }
.professional-profile-availability__status small { color: var(--color-muted); }
.professional-profile-availability__dates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.professional-profile-availability__dates div { display: grid; justify-items: center; gap: .15rem; padding: .8rem .4rem; border-radius: 1rem; background: var(--color-surface-muted); }
.professional-profile-availability__dates span, .professional-profile-availability__dates small { color: var(--color-muted); font-size: .75rem; }
.professional-profile-availability__dates strong { font-size: 1.35rem; }
.professional-profile-availability > button { width: 100%; min-height: 3.1rem; border: 0; border-radius: .9rem; background: var(--color-primary); color: #fff; font: inherit; font-weight: 700; opacity: 1; }
.professional-profile-availability > p { display: flex; gap: .5rem; align-items: flex-start; margin: 0; color: var(--color-muted); font-size: .8rem; line-height: 1.4; }
.professional-profile-availability > p .icon { flex: 0 0 auto; width: 1rem; height: 1rem; }
.professional-profile-section__heading { display: flex; gap: 1rem; align-items: end; justify-content: space-between; margin-bottom: 1rem; }
.professional-profile-section__heading p { margin: 0; color: var(--color-muted); }
.professional-profile-empty { padding: 1.25rem; border-radius: 1rem; background: var(--color-surface-muted); }
.professional-profile-empty h3 { margin: 0 0 0.35rem; font-size: 1rem; }
.professional-profile-empty p { margin: 0; color: var(--color-muted); }

@media (max-width: 63.99rem) {
    .professional-profile-intro.has-availability { grid-template-columns: 1fr; }
}

@media (min-width: 48rem) {
    .profile-cover-media__grid { grid-template-columns: minmax(0, 1.65fr) minmax(14rem, 0.75fr); align-items: stretch; }
    .profile-cover-card { grid-template-rows: auto 1fr; }
}

@media (max-width: 47.99rem) {
    .professional-profile-highlights { grid-template-columns: 1fr; }
    .professional-profile-availability__status { grid-template-columns: auto 1fr; }
    .professional-profile-availability__status small { grid-column: 2; }
    .professional-profile-shell { width: min(calc(100% - 1rem), 100rem); }
    .professional-profile-attribution { width: min(calc(100% - 1rem), 100rem); align-items: flex-start; }
    .professional-profile-preview { align-items: flex-start; }
    .professional-profile-hero { border-radius: 1.1rem; }
    .professional-profile-hero__media { aspect-ratio: 2 / 1; }
    .professional-profile-hero__panel { min-height: 0; grid-template-columns: 1fr; gap: 1.25rem; margin: 0; padding: 1.25rem 1rem; }
    .professional-profile-identity { align-items: center; }
    .professional-profile-avatar { left: 1rem; width: 5.5rem; height: 5.5rem; border-width: 0.25rem; font-size: 1.75rem; }
    .professional-profile-identity__content { margin-left: 6.5rem; }
    .professional-profile-hero__actions { justify-content: stretch; }
    .professional-profile-action, .professional-profile-hero__edit { width: 100%; }
    .professional-profile-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 0; }
    .professional-profile-metric { padding-inline: 1rem; }
    .professional-profile-metric:nth-child(odd) { padding-left: 0; border-left: 0; }
    .professional-profile-metric:nth-child(even) { padding-right: 0; }
    .professional-profile-section__heading { align-items: flex-start; }
}

@media (max-width: 29.99rem) {
    .professional-profile-preview { display: grid; }
    .professional-profile-avatar { width: 4.75rem; height: 4.75rem; }
    .professional-profile-identity__content { margin-left: 5.5rem; }
    .professional-profile-hero__actions { display: grid; }
    .professional-profile-metrics { grid-template-columns: 1fr; }
    .professional-profile-metric, .professional-profile-metric:nth-child(n) { padding: 0.75rem 0; border-top: 1px solid var(--color-line); border-left: 0; }
    .professional-profile-metric:first-child { border-top: 0; }
    .professional-profile-section__heading { display: grid; }
}