/* ============================================================
   ПЕРЕМЕННЫЕ
   ============================================================ */
:root {
    --color-primary:       #2563eb;
    --color-primary-dark:  #1d4ed8;
    --color-primary-light: #eff6ff;
    --color-secondary:     #f59e0b;
    --color-success:       #10b981;
    --color-danger:        #ef4444;
    --color-warning:       #f59e0b;

    --color-text:          #111827;
    --color-text-muted:    #6b7280;
    --color-text-light:    #9ca3af;

    --color-bg:            #f9fafb;
    --color-bg-white:      #ffffff;
    --color-border:        #e5e7eb;
    --color-border-dark:   #d1d5db;

    --color-premium:       #f59e0b;
    --color-verified:      #10b981;
    --color-open:          #10b981;
    --color-closed:        #ef4444;

    --font-sans:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl:1.5rem;
    --font-size-3xl:1.875rem;
    --font-size-4xl:2.25rem;

    --radius-sm:   4px;
    --radius-md:   8px;
    --radius-lg:   12px;
    --radius-xl:   16px;
    --radius-full: 9999px;

    --shadow-sm:   0 1px 2px rgba(0,0,0,.05);
    --shadow-md:   0 4px 6px -1px rgba(0,0,0,.07), 0 2px 4px -1px rgba(0,0,0,.04);
    --shadow-lg:   0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -2px rgba(0,0,0,.04);
    --shadow-xl:   0 20px 25px -5px rgba(0,0,0,.1),  0 10px 10px -5px rgba(0,0,0,.04);

    --transition:  150ms ease;

    --container:   1200px;
    --header-h:    120px;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family:      var(--font-sans);
    font-size:        var(--font-size-md);
    color:            var(--color-text);
    background-color: var(--color-bg);
    line-height:      1.6;
    -webkit-font-smoothing: antialiased;
}

a {
    color:           var(--color-primary);
    text-decoration: none;
    transition:      color var(--transition);
}
a:hover { color: var(--color-primary-dark); }

img { max-width: 100%; height: auto; display: block; }

ul, ol { list-style: none; }

button { cursor: pointer; border: none; background: none; font-family: inherit; }

input, textarea, select {
    font-family: inherit;
    font-size:   inherit;
}

/* ============================================================
   КОНТЕЙНЕР
   ============================================================ */
.container {
    max-width:  var(--container);
    margin:     0 auto;
    padding:    0 16px;
}

/* ============================================================
   КНОПКИ
   ============================================================ */
.btn {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    gap:             8px;
    padding:         10px 20px;
    border-radius:   var(--radius-md);
    font-size:       var(--font-size-sm);
    font-weight:     600;
    line-height:     1;
    transition:      all var(--transition);
    white-space:     nowrap;
    border:          2px solid transparent;
}

.btn--primary {
    background: var(--color-primary);
    color:      #fff;
}
.btn--primary:hover {
    background: var(--color-primary-dark);
    color:      #fff;
}

.btn--outline {
    background:   transparent;
    border-color: var(--color-primary);
    color:        var(--color-primary);
}
.btn--outline:hover {
    background: var(--color-primary-light);
}

.btn--sm  { padding: 6px 14px;  font-size: var(--font-size-xs); }
.btn--lg  { padding: 14px 28px; font-size: var(--font-size-lg); }
.btn--block { width: 100%; }

/* ============================================================
   ФОРМЫ
   ============================================================ */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display:       block;
    font-size:     var(--font-size-sm);
    font-weight:   500;
    margin-bottom: 6px;
    color:         var(--color-text);
}

.form-control {
    width:         100%;
    padding:       10px 14px;
    border:        1.5px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size:     var(--font-size-md);
    color:         var(--color-text);
    background:    var(--color-bg-white);
    transition:    border-color var(--transition), box-shadow var(--transition);
    outline:       none;
}

.form-control:focus {
    border-color: var(--color-primary);
    box-shadow:   0 0 0 3px rgba(37,99,235,.12);
}

.form-control::placeholder { color: var(--color-text-light); }

textarea.form-control {
    resize:     vertical;
    min-height: 80px;
}

.form-error {
    font-size: var(--font-size-xs);
    color:     var(--color-danger);
    margin-top: 4px;
}

/* ============================================================
   BADGES
   ============================================================ */
.badge {
    display:       inline-flex;
    align-items:   center;
    gap:           4px;
    padding:       3px 8px;
    border-radius: var(--radius-full);
    font-size:     var(--font-size-xs);
    font-weight:   600;
    line-height:   1.4;
}

.badge--verified { background: #d1fae5; color: #065f46; }
.badge--premium  { background: #fef3c7; color: #92400e; }
.badge--open     { background: #d1fae5; color: #065f46; }
.badge--closed   { background: #fee2e2; color: #991b1b; }

/* ============================================================
   ЗВЁЗДЫ
   ============================================================ */
.stars {
    display:   inline-flex;
    gap:       1px;
    font-size: 16px;
    line-height: 1;
}

.star--full  { color: var(--color-secondary); }
.star--half  { color: var(--color-secondary); opacity: .6; }
.star--empty { color: var(--color-border-dark); }

/* ============================================================
   HEADER
   ============================================================ */
.header {
    background: var(--color-bg-white);
    border-bottom: 1px solid var(--color-border);
    position:   sticky;
    top:        0;
    z-index:    100;
    box-shadow: var(--shadow-sm);
}

.header__inner {
    display:     flex;
    align-items: center;
    gap:         16px;
    padding:     12px 0;
}

/* Логотип */
.header__logo {
    font-size:   1.6rem;
    font-weight: 800;
    color:       var(--color-text);
    flex-shrink: 0;
    letter-spacing: -1px;
}
.header__logo:hover { color: var(--color-text); }
.logo__u  { color: var(--color-primary); }
.logo__by { color: var(--color-text-muted); font-size: 1.1rem; }

/* Поиск в шапке */
.header__search {
    flex: 1;
    max-width: 500px;
}

.search-form__wrap {
    position: relative;
}

.search-form__input {
    width:         100%;
    padding:       9px 44px 9px 16px;
    border:        1.5px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size:     var(--font-size-sm);
    outline:       none;
    background:    var(--color-bg);
    transition:    all var(--transition);
}
.search-form__input:focus {
    border-color: var(--color-primary);
    background:   var(--color-bg-white);
    box-shadow:   0 0 0 3px rgba(37,99,235,.1);
}

.search-form__btn {
    position:    absolute;
    right:       10px;
    top:         50%;
    transform:   translateY(-50%);
    color:       var(--color-text-muted);
    padding:     4px;
    border-radius: var(--radius-full);
    transition:  color var(--transition);
}
.search-form__btn:hover { color: var(--color-primary); }

/* Дропдаун поиска */
.search-form__dropdown {
    position:      absolute;
    top:           calc(100% + 6px);
    left:          0;
    right:         0;
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow:    var(--shadow-xl);
    z-index:       200;
    overflow:      hidden;
}

.search-dropdown__section-title {
    font-size:   var(--font-size-xs);
    font-weight: 600;
    color:       var(--color-text-muted);
    padding:     10px 16px 4px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.search-dropdown__item {
    display:     flex;
    align-items: center;
    gap:         10px;
    padding:     10px 16px;
    color:       var(--color-text);
    transition:  background var(--transition);
    cursor:      pointer;
}
.search-dropdown__item:hover { background: var(--color-bg); }

.search-dropdown__item-icon {
    width:       36px;
    height:      36px;
    border-radius: var(--radius-md);
    background:  var(--color-bg);
    display:     flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow:    hidden;
}
.search-dropdown__item-icon img {
    width: 100%; height: 100%; object-fit: cover;
}

.search-dropdown__item-name {
    font-size:   var(--font-size-sm);
    font-weight: 500;
}

.search-dropdown__item-meta {
    font-size: var(--font-size-xs);
    color:     var(--color-text-muted);
}

/* Город */
.header__city { position: relative; flex-shrink: 0; }

.city-selector {
    display:     flex;
    align-items: center;
    gap:         6px;
    padding:     7px 12px;
    border:      1.5px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size:   var(--font-size-sm);
    color:       var(--color-text);
    background:  var(--color-bg-white);
    transition:  all var(--transition);
    white-space: nowrap;
}
.city-selector:hover {
    border-color: var(--color-primary);
    color:        var(--color-primary);
}

.city-dropdown {
    position:      absolute;
    top:           calc(100% + 6px);
    right:         0;
    min-width:     200px;
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow:    var(--shadow-xl);
    z-index:       200;
    padding:       8px 0;
}

.city-dropdown__title {
    font-size:   var(--font-size-xs);
    font-weight: 600;
    color:       var(--color-text-muted);
    padding:     8px 16px 4px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.city-dropdown__item {
    display:    block;
    padding:    9px 16px;
    font-size:  var(--font-size-sm);
    color:      var(--color-text);
    transition: background var(--transition);
}
.city-dropdown__item:hover,
.city-dropdown__item.is-active {
    background: var(--color-primary-light);
    color:      var(--color-primary);
}

/* Навигация */
.header__nav {
    border-top: 1px solid var(--color-border);
}

.header__nav-list {
    display:   flex;
    gap:       0;
    overflow-x: auto;
    scrollbar-width: none;
}
.header__nav-list::-webkit-scrollbar { display: none; }

.header__nav-item { position: relative; }

.header__nav-link {
    display:     flex;
    align-items: center;
    gap:         6px;
    padding:     10px 16px;
    font-size:   var(--font-size-sm);
    font-weight: 500;
    color:       var(--color-text-muted);
    white-space: nowrap;
    transition:  color var(--transition);
}
.header__nav-link:hover { color: var(--color-primary); }

.nav-icon { font-size: 16px; }

/* Мегаменю */
.header__nav-dropdown {
    position:   absolute;
    top:        100%;
    left:       -16px;
    min-width:  280px;
    background: var(--color-bg-white);
    border:     1px solid var(--color-border);
    border-top: none;
    box-shadow: var(--shadow-lg);
    z-index:    150;
    padding:    16px 0;
    display:    none;
}
.headernav-item:hover .headernav-dropdown { display: block; }

.nav-dropdown__list {
    display: flex;
    flex-direction: column;
}

.nav-dropdown__link {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    padding:         8px 24px;
    font-size:       var(--font-size-sm);
    color:           var(--color-text);
    transition:      background var(--transition);
}
.nav-dropdown__link:hover {
    background: var(--color-bg);
    color:      var(--color-primary);
}
.nav-dropdown__count {
    font-size:  var(--font-size-xs);
    color:      var(--color-text-muted);
    background: var(--color-bg);
    padding:    2px 7px;
    border-radius: var(--radius-full);
}

/* Бургер */
.header__burger {
    display:        none;
    flex-direction: column;
    gap:            5px;
    padding:        6px;
    margin-left:    auto;
}
.header__burger span {
    display:      block;
    width:        22px;
    height:       2px;
    background:   var(--color-text);
    border-radius: 2px;
    transition:   all var(--transition);
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
    background:  linear-gradient(135deg, #1e3a5f 0%, var(--color-primary) 60%, #3b82f6 100%);
    padding:     72px 0 80px;
    color:       #fff;
}

.hero__title {
    font-size:      var(--font-size-4xl);
    font-weight:    800;
    line-height:    1.2;
    margin-bottom:  16px;
    letter-spacing: -1px;
}

.hero__subtitle {
    font-size:     var(--font-size-lg);
    opacity:       .85;
    margin-bottom: 36px;
    max-width:     540px;
}

.hero__search {
    max-width: 620px;
}

.hero__search-wrap {
    position:      relative;
    margin-bottom: 16px;
}

.hero__search-input {
    width:         100%;
    padding:       16px 130px 16px 20px;
    border:        none;
    border-radius: var(--radius-full);
    font-size:     var(--font-size-md);
    outline:       none;
    box-shadow:    var(--shadow-xl);
    color:         var(--color-text);
}

.hero__search-btn {
    position:     absolute;
    right:        6px;
    top:          50%;
    transform:    translateY(-50%);
    border-radius: var(--radius-full);
    padding:      10px 22px;
}

.hero__tags {
    display:   flex;
    flex-wrap: wrap;
    gap:       8px;
}

.hero__tag {
    padding:       5px 14px;
    background:    rgba(255,255,255,.15);
    border:        1px solid rgba(255,255,255,.3);
    border-radius: var(--radius-full);
    color:         #fff;
    font-size:     var(--font-size-sm);
    backdrop-filter: blur(4px);
    transition:    background var(--transition);
}
.hero__tag:hover {
    background: rgba(255,255,255,.25);
    color:      #fff;
}

.hero__stats {
    display:    flex;
    gap:        40px;
    margin-top: 40px;
}

.hero__stat strong {
    display:     block;
    font-size:   var(--font-size-2xl);
    font-weight: 800;
}
.hero__stat span {
    font-size: var(--font-size-sm);
    opacity:   .75;
}

/* ============================================================
   СЕКЦИИ
   ============================================================ */
.section {
    padding: 56px 0;
}

.section__title {
    font-size:     var(--font-size-2xl);
    font-weight:   700;
    margin-bottom: 28px;
    letter-spacing: -.5px;
}

.section__header {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    margin-bottom:   28px;
}

.section__more {
    font-size:   var(--font-size-sm);
    font-weight: 500;
}

/* ============================================================
   КАТЕГОРИИ НА ГЛАВНОЙ
   ============================================================ */
.categories-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap:                   16px;
}

.category-card {
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow:      hidden;
    transition:    all var(--transition);
}
.category-card:hover {
    border-color: var(--color-primary);
    box-shadow:   var(--shadow-md);
    transform:    translateY(-2px);
}

.category-card__link {
    display:     flex;
    align-items: center;
    gap:         12px;
    padding:     16px;
    color:       var(--color-text);
}
.category-card__link:hover { color: var(--color-text); }

.category-card__icon {
    font-size:     28px;
    width:         48px;
    height:        48px;
    display:       flex;
    align-items:   center;
    justify-content: center;
    background:    var(--color-bg);
    border-radius: var(--radius-md);
    flex-shrink:   0;
}

.category-card__name {
    font-size:   var(--font-size-md);
    font-weight: 600;
}

.category-card__count {
    font-size: var(--font-size-xs);
    color:     var(--color-text-muted);
    margin-top: 2px;
}

.category-card__subs {
    padding:     0 16px 14px;
    border-top:  1px solid var(--color-border);
    display:     flex;
    flex-direction: column;
    gap:         4px;
    padding-top: 12px;
}

.category-card__subs a {
    font-size: var(--font-size-xs);
    color:     var(--color-text-muted);
    transition: color var(--transition);
}
.category-card__subs a:hover { color: var(--color-primary); }
.category-card__subs span    { color: var(--color-text-light); }

/* ============================================================
   КАРТОЧКА БИЗНЕСА
   ============================================================ */
.business-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap:                   20px;
}

.business-list {
    display:        flex;
    flex-direction: column;
    gap:            16px;
}

.business-list .business-card {
    flex-direction: row;
    align-items:    stretch;
}

.business-list .business-card__photo {
    width:     160px;
    flex-shrink: 0;
}

.business-card {
    position:      relative;
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow:      hidden;
    display:       flex;
    flex-direction: column;
    transition:    all var(--transition);
}
.business-card:hover {
    box-shadow:   var(--shadow-lg);
    border-color: var(--color-border-dark);
    transform:    translateY(-2px);
}

.business-card--premium {
    border-color: var(--color-premium);
    box-shadow:   0 0 0 1px var(--color-premium);
}

.business-card__badge {
    position:      absolute;
    top:           10px;
    right:         10px;
    z-index:       1;
}

.business-card__photo {
    display:  block;
    overflow: hidden;
    aspect-ratio: 3/2;
    background: var(--color-bg);
}

.business-card__photo img {
    width:       100%;
    height:      100%;
    object-fit:  cover;
    transition:  transform 300ms ease;
}
.business-card:hover .business-card__photo img {
    transform: scale(1.04);
}

.business-card__no-photo {
    width:           100%;
    height:          100%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       2rem;
    color:           var(--color-text-light);
    background:      var(--color-bg);
}

.business-card__body {
    padding:        14px 16px 16px;
    display:        flex;
    flex-direction: column;
    gap:            6px;
    flex:           1;
}

.business-card__name {
    font-size:   var(--font-size-md);
    font-weight: 600;
    line-height: 1.3;
    margin:      0;
}
.business-card__name a { color: var(--color-text); }
.business-card__name a:hover { color: var(--color-primary); }

.business-card__tagline {
    font-size: var(--font-size-sm);
    color:     var(--color-text-muted);
    line-height: 1.4;
}

.business-card__rating {
    display:     flex;
    align-items: center;
    gap:         6px;
    margin-top:  2px;
}

.rating__value {
    font-size:   var(--font-size-sm);
    font-weight: 700;
    color:       var(--color-text);
}

.rating__count {
    font-size: var(--font-size-xs);
    color:     var(--color-text-muted);
}

.business-card__address,
.business-card__phone {
    display:     flex;
    align-items: center;
    gap:         6px;
    font-size:   var(--font-size-sm);
    color:       var(--color-text-muted);
}

.business-card__address svg { flex-shrink: 0; color: var(--color-text-light); }

.business-card__phone a {
    color:       var(--color-primary);
    font-weight: 500;
}

/* ============================================================
   СТРАНИЦА БИЗНЕСА
   ============================================================ */
.business-page {
    display:   grid;
    grid-template-columns: 1fr 320px;
    gap:       32px;
    padding:   28px 0 48px;
    align-items: start;
}

.business-header {
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-xl);
    overflow:      hidden;
    margin-bottom: 24px;
}

.business-header__cover {
    height:   260px;
    overflow: hidden;
}
.business-header__cover img {
    width: 100%; height: 100%; object-fit: cover;
}

.business-header__body {
    padding:     24px;
    display:     flex;
    gap:         20px;
    align-items: flex-start;
}

.business-header__logo {
    width:         72px;
    height:        72px;
    border:        2px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow:      hidden;
    flex-shrink:   0;
}
.business-header__logo img {
    width: 100%; height: 100%; object-fit: cover;
}

.business-header__info { flex: 1; }

.business-header__badges {
    display:       flex;
    gap:           6px;
    flex-wrap:     wrap;
    margin-bottom: 8px;
}

.business-header__name {
    font-size:     var(--font-size-2xl);
    font-weight:   800;
    margin-bottom: 6px;
    letter-spacing: -.5px;
}

.business-header__tagline {
    color:         var(--color-text-muted);
    margin-bottom: 10px;
}

.business-header__cats {
    display:   flex;
    flex-wrap: wrap;
    gap:       6px;
    margin-bottom: 12px;
}

.cat-tag {
    padding:       3px 10px;
    background:    var(--color-bg);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size:     var(--font-size-xs);
    color:         var(--color-text-muted);
    transition:    all var(--transition);
}
.cat-tag:hover,
.cat-tag--primary {
    background:   var(--color-primary-light);
    border-color: var(--color-primary);
    color:        var(--color-primary);
}

.business-header__rating {
    display:     flex;
    align-items: center;
    gap:         8px;
}

/* Секции бизнеса */
.business-section {
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding:       24px;
    margin-bottom: 24px;
}

.business-section__title {
    font-size:     var(--font-size-xl);
    font-weight:   700;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-border);
}

/* Галерея */
.business-gallery__grid {
    display:               grid;
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows:    auto auto;
    gap:                   6px;
}

.business-gallery__item {
    overflow:      hidden;
    border-radius: var(--radius-md);
    aspect-ratio:  4/3;
    display:       block;
}

.business-gallery__item--main {
    grid-row:    span 2;
    aspect-ratio: auto;
}

.business-gallery__item img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform 300ms ease;
}
.business-gallery__item:hover img { transform: scale(1.05); }

/* Услуги */
.services-table {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

.services-table__row {
    display:         flex;
    justify-content: space-between;
    align-items:     baseline;
    gap:             16px;
    padding:         12px 0;
    border-bottom:   1px solid var(--color-border);
}
.services-table__row:last-child { border-bottom: none; }

.services-table__name {
    flex:      1;
    font-size: var(--font-size-sm);
    font-weight: 500;
}

.services-table__desc {
    display:    block;
    font-size:  var(--font-size-xs);
    color:      var(--color-text-muted);
    font-weight: 400;
    margin-top: 2px;
}

.services-table__price {
    font-size:   var(--font-size-sm);
    font-weight: 700;
    color:       var(--color-text);
    white-space: nowrap;
}

.services-table__price--negotiate {
    color:       var(--color-text-muted);
    font-weight: 400;
}

.services-table__unit {
    font-size:   var(--font-size-xs);
    color:       var(--color-text-muted);
    font-weight: 400;
}

/* Часы работы */
.hours-table {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

.hours-table__row {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    padding:         10px 0;
    border-bottom:   1px solid var(--color-border);
    font-size:       var(--font-size-sm);
}
.hours-table__row:last-child   { border-bottom: none; }
.hours-table__row.is-today     {
    background:    var(--color-primary-light);
    padding:       10px 12px;
    border-radius: var(--radius-md);
    margin:        0 -12px;
}

.hours-table__day  { font-weight: 500; }
.hours-table__closed { color: var(--color-danger); }
.hours-table__allday { color: var(--color-success); font-weight: 600; }

/* Отзывы */
.rating-distribution {
    display:       flex;
    gap:           32px;
    align-items:   center;
    padding:       20px;
    background:    var(--color-bg);
    border-radius: var(--radius-lg);
    margin-bottom: 24px;
}

.rating-distribution__score {
    text-align: center;
    flex-shrink: 0;
}

.rating-distribution__big {
    font-size:   3rem;
    font-weight: 800;
    line-height: 1;
    color:       var(--color-text);
}

.rating-distribution__total {
    font-size:  var(--font-size-xs);
    color:      var(--color-text-muted);
    margin-top: 6px;
}

.rating-distribution__bars { flex: 1; }

.rating-bar {
    display:     flex;
    align-items: center;
    gap:         10px;
    margin-bottom: 6px;
}
.rating-bar:last-child { margin-bottom: 0; }

.rating-bar__label {
    font-size:   var(--font-size-xs);
    color:       var(--color-text-muted);
    width:       20px;
    text-align:  right;
    flex-shrink: 0;
}

.rating-bar__track {
    flex:          1;
    height:        8px;
    background:    var(--color-border);
    border-radius: var(--radius-full);
    overflow:      hidden;
}

.rating-bar__fill {
    height:        100%;
    background:    var(--color-secondary);
    border-radius: var(--radius-full);
    transition:    width 600ms ease;
}

.rating-bar__count {
    font-size:   var(--font-size-xs);
    color:       var(--color-text-muted);
    width:       20px;
    flex-shrink: 0;
}

.reviews-list {
    display:        flex;
    flex-direction: column;
    gap:            0;
}

.review-item {
    padding:       20px 0;
    border-bottom: 1px solid var(--color-border);
}
.review-item:last-child { border-bottom: none; }

.review-item__header {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-start;
    margin-bottom:   10px;
}

.review-item__author {
    display:     flex;
    align-items: center;
    gap:         10px;
}

.review-item__avatar {
    width:           38px;
    height:          38px;
    border-radius:   var(--radius-full);
    background:      var(--color-primary);
    color:           #fff;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       var(--font-size-sm);
    font-weight:     700;
    flex-shrink:     0;
}

.review-item__name {
    font-size:   var(--font-size-sm);
    font-weight: 600;
}

.review-item__verified {
    color:       var(--color-verified);
    margin-left: 4px;
}

.review-item__date {
    font-size: var(--font-size-xs);
    color:     var(--color-text-muted);
}

.review-item__text {
    font-size:   var(--font-size-sm);
    line-height: 1.6;
    color:       var(--color-text);
}

.review-item__reply {
    margin-top:    12px;
    padding:       12px 16px;
    background:    var(--color-bg);
    border-left:   3px solid var(--color-primary);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.review-item__reply-label {
    font-size:     var(--font-size-xs);
    font-weight:   700;
    color:         var(--color-primary);
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.review-item__reply-text {
    font-size:   var(--font-size-sm);
    line-height: 1.5;
}

.review-item__reply-date {
    font-size:  var(--font-size-xs);
    color:      var(--color-text-muted);
    margin-top: 6px;
}

.reviews-empty {
    padding:    32px;
    text-align: center;
    color:      var(--color-text-muted);
    font-size:  var(--font-size-sm);
}

/* Форма отзыва */
.review-form-wrap {
    margin-top:    24px;
    padding-top:   24px;
    border-top:    1px solid var(--color-border);
}

.review-form__title {
    font-size:     var(--font-size-lg);
    font-weight:   700;
    margin-bottom: 16px;
}

.star-picker {
    display:       inline-flex;
    gap:           4px;
    font-size:     28px;
    cursor:        pointer;
    margin-bottom: 4px;
}

.star-picker__star {
    color:      var(--color-border-dark);
    transition: color var(--transition), transform var(--transition);
    line-height: 1;
}
.star-picker__star.is-active,
.star-picker__star.is-hover  { color: var(--color-secondary); }
.star-picker__star:hover      { transform: scale(1.15); }

.review-form__notice {
    font-size:  var(--font-size-xs);
    color:      var(--color-text-muted);
    margin-top: 10px;
}

/* ============================================================
   САЙДБАР БИЗНЕСА
   ============================================================ */
.contact-card {
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding:       20px;
    margin-bottom: 16px;
    display:       flex;
    flex-direction: column;
    gap:           12px;
}

.contact-card__phone {
    display:     block;
    font-size:   var(--font-size-2xl);
    font-weight: 800;
    color:       var(--color-text);
    letter-spacing: -.5px;
}
.contact-card__phone:hover { color: var(--color-primary); }

.contact-card__address {
    display:     flex;
    align-items: flex-start;
    gap:         6px;
    font-size:   var(--font-size-sm);
    color:       var(--color-text-muted);
    line-height: 1.4;
}

.contact-card__website {
    font-size:   var(--font-size-sm);
    color:       var(--color-primary);
    word-break:  break-all;
}

.contact-card__status {
    display:     flex;
    align-items: center;
    gap:         6px;
    font-size:   var(--font-size-sm);
    font-weight: 600;
    padding:     8px 12px;
    border-radius: var(--radius-md);
}
.contact-card__status.is-open {
    background: #d1fae5;
    color:      #065f46;
}
.contact-card__status.is-closed {
    background: #fee2e2;
    color:      #991b1b;
}

.lead-form-card {
    background:    var(--color-bg-white);
    border:        2px solid var(--color-primary);
    border-radius: var(--radius-xl);
    padding:       20px;
    margin-bottom: 16px;
}

.lead-form-card__title {
    font-size:     var(--font-size-lg);
    font-weight:   700;
    margin-bottom: 6px;
}

.lead-form-card__desc {
    font-size:     var(--font-size-sm);
    color:         var(--color-text-muted);
	margin-bottom: 16px;
}

.lead-form__success {
    margin-top:    12px;
    padding:       10px 14px;
    background:    #d1fae5;
    color:         #065f46;
    border-radius: var(--radius-md);
    font-size:     var(--font-size-sm);
    font-weight:   500;
}

.lead-form__error {
    margin-top:    12px;
    padding:       10px 14px;
    background:    #fee2e2;
    color:         #991b1b;
    border-radius: var(--radius-md);
    font-size:     var(--font-size-sm);
}

.business-map {
    width:         100%;
    height:        220px;
    border:        1px solid var(--color-border);
    border-radius: var(--radius-xl);
    overflow:      hidden;
    background:    var(--color-bg);
}

/* ============================================================
   СТРАНИЦА КАТЕГОРИИ
   ============================================================ */
.category-page__header {
    padding:       28px 0 20px;
}

.category-page__title-wrap {
    display:     flex;
    align-items: center;
    gap:         12px;
    margin-bottom: 8px;
}

.category-page__icon { font-size: 2rem; }

.category-page__title {
    font-size:   var(--font-size-3xl);
    font-weight: 800;
    letter-spacing: -.5px;
}

.category-page__desc {
    color:     var(--color-text-muted);
    max-width: 600px;
}

.subcategories {
    display:       flex;
    flex-wrap:     wrap;
    gap:           8px;
    margin-bottom: 28px;
}

.subcategory-chip {
    display:       flex;
    align-items:   center;
    gap:           6px;
    padding:       7px 14px;
    background:    var(--color-bg-white);
    border:        1.5px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size:     var(--font-size-sm);
    color:         var(--color-text);
    transition:    all var(--transition);
}
.subcategory-chip:hover {
    border-color: var(--color-primary);
    color:        var(--color-primary);
    background:   var(--color-primary-light);
}

.subcategory-chip__count {
    font-size:   var(--font-size-xs);
    color:       var(--color-text-muted);
    background:  var(--color-bg);
    padding:     1px 6px;
    border-radius: var(--radius-full);
}

.category-page__body {
    display: grid;
    grid-template-columns: 200px 1fr;
    gap:     28px;
    align-items: start;
}

/* Фильтры */
.filter-block {
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding:       16px;
    position:      sticky;
    top:           calc(var(--header-h) + 12px);
}

.filter-block__title {
    font-size:     var(--font-size-sm);
    font-weight:   700;
    margin-bottom: 10px;
    color:         var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}

.filter-block__list {
    display:        flex;
    flex-direction: column;
    gap:            2px;
}

.filter-link {
    display:       block;
    padding:       7px 10px;
    font-size:     var(--font-size-sm);
    color:         var(--color-text);
    border-radius: var(--radius-md);
    transition:    all var(--transition);
}
.filter-link:hover,
.filter-link.is-active {
    background: var(--color-primary-light);
    color:      var(--color-primary);
}

.listing-header {
    margin-bottom: 16px;
    font-size:     var(--font-size-sm);
    color:         var(--color-text-muted);
}
.listing-header strong { color: var(--color-text); }

/* ============================================================
   ПОИСК
   ============================================================ */
.search-page {
    padding: 28px 0 48px;
    max-width: 800px;
    margin: 0 auto;
}

.search-page__form   { margin-bottom: 28px; }

.search-page__input-wrap {
    display: flex;
    gap:     8px;
}

.search-page__input {
    flex:          1;
    padding:       12px 18px;
    border:        1.5px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size:     var(--font-size-md);
    outline:       none;
    transition:    all var(--transition);
}
.search-page__input:focus {
    border-color: var(--color-primary);
    box-shadow:   0 0 0 3px rgba(37,99,235,.1);
}

.search-page__meta   { margin-bottom: 20px; }

.search-page__title {
    font-size:   var(--font-size-2xl);
    font-weight: 700;
}

.search-page__count {
    color:       var(--color-text-muted);
    font-weight: 400;
    font-size:   var(--font-size-lg);
}

.search-page__popular-title {
    font-size:     var(--font-size-sm);
    font-weight:   600;
    color:         var(--color-text-muted);
    margin-bottom: 12px;
}

.search-page__popular-list {
    display:   flex;
    flex-wrap: wrap;
    gap:       8px;
}

.popular-tag {
    padding:       6px 14px;
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size:     var(--font-size-sm);
    color:         var(--color-text);
    transition:    all var(--transition);
}
.popular-tag:hover {
    border-color: var(--color-primary);
    color:        var(--color-primary);
    background:   var(--color-primary-light);
}

/* ============================================================
   ХЛЕБНЫЕ КРОШКИ
   ============================================================ */
.breadcrumbs {
    padding: 16px 0 0;
}

.breadcrumbs__list {
    display:   flex;
    flex-wrap: wrap;
    gap:       4px;
    align-items: center;
}

.breadcrumbs__item {
    display:     flex;
    align-items: center;
    gap:         4px;
    font-size:   var(--font-size-xs);
}

.breadcrumbsitem + .breadcrumbsitem::before {
    content: '/';
    color:   var(--color-text-light);
}

.breadcrumbs__link   { color: var(--color-text-muted); }
.breadcrumbs__link:hover { color: var(--color-primary); }
.breadcrumbs__current { color: var(--color-text); font-weight: 500; }

/* ============================================================
   ПАГИНАЦИЯ
   ============================================================ */
.pagination {
    margin-top: 36px;
    display:    flex;
    flex-direction: column;
    align-items: center;
    gap:        12px;
}

.pagination__list {
    display:     flex;
    align-items: center;
    gap:         4px;
    flex-wrap:   wrap;
    justify-content: center;
}

.pagination__link {
    display:         flex;
    align-items:     center;
    justify-content: center;
    min-width:       38px;
    height:          38px;
    padding:         0 10px;
    border:          1.5px solid var(--color-border);
    border-radius:   var(--radius-md);
    font-size:       var(--font-size-sm);
    color:           var(--color-text);
    transition:      all var(--transition);
    background:      var(--color-bg-white);
}
.pagination__link:hover {
    border-color: var(--color-primary);
    color:        var(--color-primary);
}
.pagination__link.is-active {
    background:   var(--color-primary);
    border-color: var(--color-primary);
    color:        #fff;
    font-weight:  700;
}

.pagination__dots {
    padding: 0 4px;
    color:   var(--color-text-muted);
}

.pagination__info {
    font-size: var(--font-size-xs);
    color:     var(--color-text-muted);
}

/* ============================================================
   CTA
   ============================================================ */
.cta-section { background: var(--color-primary-light); }

.cta-block {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             24px;
    padding:         40px;
    background:      var(--color-bg-white);
    border:          1px solid var(--color-border);
    border-radius:   var(--radius-xl);
}

.cta-block h2 {
    font-size:     var(--font-size-2xl);
    font-weight:   800;
    margin-bottom: 6px;
}

.cta-block p {
    color:     var(--color-text-muted);
    font-size: var(--font-size-md);
}

/* ============================================================
   EMPTY STATE / ERROR PAGE
   ============================================================ */
.empty-state {
    text-align: center;
    padding:    64px 24px;
}

.empty-state__icon {
    font-size:     3rem;
    margin-bottom: 16px;
}

.empty-state__title {
    font-size:     var(--font-size-xl);
    font-weight:   700;
    margin-bottom: 8px;
}

.empty-state p {
    color:         var(--color-text-muted);
    margin-bottom: 24px;
}

.error-page {
    text-align: center;
    padding:    80px 24px;
}

.error-page__code {
    font-size:     6rem;
    font-weight:   900;
    color:         var(--color-border-dark);
    line-height:   1;
    margin-bottom: 12px;
}

.error-page__title {
    font-size:     var(--font-size-2xl);
    font-weight:   700;
    margin-bottom: 10px;
}

.error-page__desc {
    color:         var(--color-text-muted);
    margin-bottom: 28px;
}

.error-page__actions {
    display:         flex;
    gap:             12px;
    justify-content: center;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
    background:   var(--color-text);
    color:        rgba(255,255,255,.75);
    padding:      48px 0 24px;
    margin-top:   auto;
}

.footer__grid {
    display:               grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap:                   40px;
    margin-bottom:         40px;
}

.footer__logo {
    display:       inline-block;
    font-size:     1.5rem;
    font-weight:   800;
    color:         #fff;
    margin-bottom: 12px;
}
.footerlogo .logoby { color: rgba(255,255,255,.5); }

.footer__desc {
    font-size:   var(--font-size-sm);
    line-height: 1.6;
    opacity:     .7;
}

.footer__title {
    font-size:     var(--font-size-sm);
    font-weight:   700;
    color:         #fff;
    margin-bottom: 14px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.footer__links {
    display:        flex;
    flex-direction: column;
    gap:            8px;
}

.footer__links a {
    font-size:  var(--font-size-sm);
    color:      rgba(255,255,255,.6);
    transition: color var(--transition);
}
.footer__links a:hover { color: #fff; }

.footer__bottom {
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    padding-top:     20px;
    border-top:      1px solid rgba(255,255,255,.1);
    font-size:       var(--font-size-xs);
    opacity:         .6;
}

.footer__legal a { color: inherit; }

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width: 1024px) {
    .business-page {
        grid-template-columns: 1fr;
    }

    .business-page__sidebar {
        order: -1;
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    :root { --header-h: 60px; }

    .header__search { display: none; }
    .header__add    { display: none; }

    .header__burger {
        display: flex;
    }

    .hero { padding: 48px 0 56px; }
    .hero__title { font-size: var(--font-size-3xl); }
    .hero__stats { gap: 20px; }
    .hero__stat strong { font-size: var(--font-size-xl); }

    .category-page__body {
        grid-template-columns: 1fr;
    }

    .category-page__sidebar {
        display: none;
    }

    .business-gallery__grid {
        grid-template-columns: 1fr 1fr;
    }

    .business-gallery__item--main {
        grid-column: span 2;
        grid-row:    auto;
    }

    .business-header__body {
        flex-direction: column;
        gap:            14px;
    }

    .rating-distribution {
        flex-direction: column;
        align-items:    flex-start;
        gap:            16px;
    }

    .cta-block {
        flex-direction: column;
        text-align:     center;
        padding:        28px 20px;
    }

    .footer__grid {
        grid-template-columns: 1fr;
        gap:                   24px;
    }

    .footer__bottom {
        flex-direction: column;
        gap:            8px;
        text-align:     center;
    }

    .business-list .business-card {
        flex-direction: column;
    }

    .business-list .business-card__photo {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .hero__search-input { padding-right: 100px; }
    .hero__search-btn   { padding: 8px 14px; font-size: var(--font-size-sm); }

    .business-header__name { font-size: var(--font-size-xl); }

    .business-gallery__grid {
        grid-template-columns: 1fr;
    }
    .business-gallery__item--main { grid-column: auto; }

    .error-page__code { font-size: 4rem; }
}

/* ============================================================
   СТРАНИЦА ДОБАВЛЕНИЯ БИЗНЕСА
   ============================================================ */
.add-business-page {
    padding: 32px 0 64px;
    max-width: 1100px;
    margin: 0 auto;
}

.add-business-page__header {
    margin-bottom: 28px;
}

.add-business-page__title {
    font-size:     var(--font-size-3xl);
    font-weight:   800;
    margin-bottom: 8px;
    letter-spacing: -.5px;
}

.add-business-page__desc {
    color:     var(--color-text-muted);
    font-size: var(--font-size-md);
}

.add-form-errors {
    background:    #fee2e2;
    border:        1px solid #fecaca;
    color:         #991b1b;
    padding:       14px 18px;
    border-radius: var(--radius-lg);
    margin-bottom: 24px;
    font-size:     var(--font-size-sm);
}

.add-form-errors ul {
    margin:    8px 0 0 16px;
    list-style: disc;
}

.add-business-grid {
    display:               grid;
    grid-template-columns: 1fr 320px;
    gap:                   28px;
    align-items:           start;
}

.add-business-sidebar {
    position:       sticky;
    top:            80px;
    display:        flex;
    flex-direction: column;
    gap:            16px;
}

/* Секции формы */
.add-section {
    background:    var(--color-bg-white);
    border:        1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding:       24px;
    margin-bottom: 20px;
}

.add-section__title {
    display:       flex;
    align-items:   center;
    gap:           10px;
    font-size:     var(--font-size-lg);
    font-weight:   700;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-border);
}

.add-section__num {
    width:           28px;
    height:          28px;
    background:      var(--color-primary);
    color:           #fff;
    border-radius:   50%;
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       var(--font-size-sm);
    font-weight:     700;
    flex-shrink:     0;
}

.add-section__optional {
    font-size:   var(--font-size-xs);
    font-weight: 400;
    color:       var(--color-text-muted);
    margin-left: auto;
    background:  var(--color-bg);
    padding:     2px 8px;
    border-radius: var(--radius-full);
    border:      1px solid var(--color-border);
}

/* Выбор категорий */
.category-picker {
    display:        flex;
    flex-direction: column;
    gap:            8px;
    max-height:     320px;
    overflow-y:     auto;
    border:         1px solid var(--color-border);
    border-radius:  var(--radius-md);
    padding:        8px;
}

.category-picker__group {
    margin-bottom: 4px;
}

.category-picker__root {
    font-size:     var(--font-size-sm);
    font-weight:   700;
    color:         var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    padding:       6px 8px 4px;
    display:       flex;
    align-items:   center;
    gap:           6px;
}

.category-picker__children {
    display:   flex;
    flex-wrap: wrap;
    gap:       6px;
    padding:   4px 8px 8px;
}

.category-picker__item {
    display:       flex;
    align-items:   center;
    gap:           6px;
    padding:       5px 10px;
    border:        1.5px solid var(--color-border);
    border-radius: var(--radius-full);
    font-size:     var(--font-size-sm);
    cursor:        pointer;
    transition:    all var(--transition);
    user-select:   none;
    background:    var(--color-bg-white);
}

.category-picker__item:hover {
    border-color: var(--color-primary);
    color:        var(--color-primary);
}

.category-picker__item input[type="checkbox"] {
    width:  14px;
    height: 14px;
    cursor: pointer;
    accent-color: var(--color-primary);
}

.category-picker__item:has(input:checked) {
    background:   var(--color-primary-light);
    border-color: var(--color-primary);
    color:        var(--color-primary);
}

/* Превью фото при добавлении */
.photo-preview-grid {
    display:               grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap:                   8px;
    margin-top:            12px;
}

.photo-preview-item {
    position:      relative;
    aspect-ratio:  1;
    border-radius: var(--radius-md);
    overflow:      hidden;
    border:        1px solid var(--color-border);
}

.photo-preview-item img {
    width:      100%;
    height:     100%;
    object-fit: cover;
}

.photo-preview-item__remove {
    position:        absolute;
    top:             3px;
    right:           3px;
    width:           20px;
    height:          20px;
    background:      rgba(0,0,0,.65);
    color:           #fff;
    border:          none;
    border-radius:   50%;
    font-size:       11px;
    cursor:          pointer;
    display:         flex;
    align-items:     center;
    justify-content: center;
    transition:      background var(--transition);
    line-height:     1;
}

.photo-preview-item__remove:hover {
    background: var(--color-danger);
}

.photo-preview-item__uploading {
    position:        absolute;
    inset:           0;
    background:      rgba(255,255,255,.7);
    display:         flex;
    align-items:     center;
    justify-content: center;
    font-size:       20px;
}

/* Ошибка у поля */
.form-control.is-error {
    border-color: var(--color-danger);
}

.form-control.is-error:focus {
    border-color: var(--color-danger);
    box-shadow:   0 0 0 3px rgba(239,68,68,.12);
}

/* Адаптив формы добавления */
@media (max-width: 900px) {
    .add-business-grid {
        grid-template-columns: 1fr;
    }

    .add-business-sidebar {
        position: static;
        order:    -1;
    }
}

@media (max-width: 600px) {
    .hours-row {
        grid-template-columns: 60px 1fr 1fr;
        flex-wrap: wrap;
    }

    .service-row {
        grid-template-columns: 1fr 1fr;
    }

    .service-row input:nth-child(4) {
        display: none;
    }
}

/* ============================================================
   СТРАНИЦА ГОРОДА
   ============================================================ */
.city-page {
    padding: 28px 0 48px;
}

.city-page__header {
    margin-bottom: 28px;
    text-align: center;
}

.city-page__title {
    font-size: var(--font-size-3xl);
    font-weight: 800;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
}

.city-page__desc {
    color: var(--color-text-muted);
    max-width: 600px;
    margin: 0 auto;
}

.city-stats {
    display: flex;
    justify-content: center;
    gap: 48px;
    margin-bottom: 40px;
    padding: 24px;
    background: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
}

.city-stat {
    text-align: center;
}

.city-stat__value {
    font-size: var(--font-size-2xl);
    font-weight: 800;
    color: var(--color-primary);
    line-height: 1.2;
}

.city-stat__label {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
}

@media (max-width: 640px) {
    .city-stats {
        gap: 24px;
        padding: 16px;
        flex-wrap: wrap;
    }
    
    .city-stat__value {
        font-size: var(--font-size-xl);
    }
}

.thanks-page {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}

.thanks-page__card {
    max-width: 500px;
    text-align: center;
    background: var(--color-bg-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    padding: 48px 32px;
    box-shadow: var(--shadow-lg);
}

.thanks-page__icon {
    font-size: 64px;
    margin-bottom: 20px;
}

.thanks-page__title {
    font-size: var(--font-size-2xl);
    font-weight: 800;
    margin-bottom: 16px;
    color: var(--color-text);
}

.thanks-page__message {
    font-size: var(--font-size-md);
    color: var(--color-text-muted);
    margin-bottom: 32px;
    line-height: 1.5;
}

.thanks-page__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

@media (max-width: 480px) {
    .thanks-page__card {
        padding: 32px 20px;
    }
    
    .thanks-page__actions {
        flex-direction: column;
    }
}

/* Теги на странице бизнеса */
.business-tags {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--color-border);
}

.business-tags__title {
    font-size: var(--font-size-sm);
    font-weight: 600;
    color: var(--color-text);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.business-tags__title::before {
    content: '🏷️';
    font-size: 14px;
}

.business-tags__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.business-tag {
    padding: 4px 14px;
    background: #f3f4f6;
    border: none;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 500;
    color: #374151;
}

.business-tag:hover {
    background: var(--color-primary);
    color: #fff;
}

.business-tag::before {
    content: '#';
    opacity: 0.6;
    font-size: 11px;
}

/* Альтернативный вариант — если нужно без решётки */
.business-tag--plain::before {
    display: none;
}

/* Услуги на странице бизнеса */
.services-table {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.services-table__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 12px 0;
    border-bottom: 1px solid var(--color-border);
}

.services-table__row:last-child {
    border-bottom: none;
}

.services-table__name {
    font-size: var(--font-size-md);
    font-weight: 500;
}

.services-table__note {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
    margin-left: 6px;
}

.services-table__price {
    font-size: var(--font-size-md);
    font-weight: 700;
    white-space: nowrap;
}

.services-table__price--negotiate {
    color: var(--color-text-muted);
    font-weight: 400;
}

.services-table__unit {
    font-size: var(--font-size-xs);
    font-weight: 400;
    color: var(--color-text-muted);
}

.service-attributes {
    margin-top: 8px;
    margin-bottom: 8px;
    padding-left: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.service-attr {
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
}

.service-attr__name {
    font-weight: 600;
}

.services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.services-list li {
    padding: 8px 0;
    border-bottom: 1px solid var(--color-border);
}

.services-list li:last-child {
    border-bottom: none;
}

/* Атрибуты услуг на странице бизнеса */
.service-attributes {
    margin-top: 8px;
    padding-left: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.service-attr {
    font-size: 12px;
    color: var(--color-text-muted);
}

.service-attr__name {
    font-weight: 600;
    color: var(--color-text);
}