    :root {
      --mp-bg: #f6f4fb;
      --mp-card: #ffffff;
      --mp-border: rgba(123, 47, 190, 0.14);
      --mp-purple: #7b2fbe;
      --mp-purple-dark: #5f2294;
      --mp-lilac-soft: #f3e8ff;
      --mp-text: #22163f;
      --mp-text-muted: #7d6ca5;
      --mp-radius-sm: 14px;
      --mp-radius-md: 18px;
      --mp-radius-lg: 22px;
      --mp-shadow-soft: 0 8px 22px rgba(103, 70, 145, 0.08);
      --mp-shadow-lift: 0 14px 28px rgba(90, 50, 145, 0.16);
      --mp-transition: 180ms cubic-bezier(.2, .7, .2, 1);
    }

    body {
      font-family: 'Inter', sans-serif;
      background: radial-gradient(circle at top, #fcfbff 0%, var(--mp-bg) 45%);
      color: var(--mp-text);
    }

    .header.modern-header {
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--mp-border);
      box-shadow: 0 2px 18px rgba(102, 51, 153, .08);
    }

    .header.modern-header .btn-purple {
      border-radius: 999px;
      padding: 10px 16px;
      font-weight: 700;
      box-shadow: 0 6px 14px rgba(123, 47, 190, .22);
      transition: transform var(--mp-transition), box-shadow var(--mp-transition), filter var(--mp-transition);
    }

    .header.modern-header .btn-purple:hover {
      transform: translateY(-1px);
      box-shadow: 0 10px 18px rgba(123, 47, 190, .28);
      filter: saturate(1.04);
    }

    .header.modern-header .btn-purple:active {
      transform: translateY(0) scale(.985);
    }

    .results-app {
      --mp-stack-gap: 16px;
      padding: var(--mp-header-offset) 0 96px;
    }

    .context-card {
      background: var(--mp-card);
      border: 1px solid var(--mp-border);
      border-radius: var(--mp-radius-md);
      box-shadow: var(--mp-shadow-soft);
      padding: 18px;
      margin-bottom: var(--mp-stack-gap);
    }

    .context-title {
      font-size: 1.1rem;
      font-weight: 800;
      margin-bottom: 2px;
    }

    .context-subtitle {
      color: var(--mp-text-muted);
      font-size: .9rem;
      margin: 0;
    }

    .results-search {
      background: #fff;
      border: 1px solid var(--mp-border);
      border-radius: var(--mp-radius-sm);
      box-shadow: 0 5px 14px rgba(96, 62, 139, .08);
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 13px 14px;
      margin-bottom: var(--mp-stack-gap);
      transition: border-color var(--mp-transition), box-shadow var(--mp-transition), transform var(--mp-transition);
    }

    .results-search:focus-within {
      border-color: rgba(123, 47, 190, .5);
      box-shadow: 0 0 0 3px rgba(123, 47, 190, .12), 0 12px 22px rgba(96, 62, 139, .14);
      transform: translateY(-1px);
    }

    .results-search i {
      font-size: 1.04rem;
      color: var(--mp-text-muted);
      transition: color var(--mp-transition), transform var(--mp-transition);
    }

    .results-search:focus-within i {
      color: var(--mp-purple);
      transform: scale(1.04);
    }

    .results-search input {
      border: none;
      outline: none;
      width: 100%;
      background: transparent;
      color: var(--mp-text);
      font-weight: 600;
      font-size: .95rem;
    }

    .results-search input::placeholder {
      color: #9c8bbf;
      font-weight: 500;
    }

    .results-section {
      background: #fff;
      border: 1px solid rgba(123, 47, 190, 0.12);
      border-radius: var(--mp-radius-lg);
      padding: 18px;
      box-shadow: var(--mp-shadow-soft);
      margin-bottom: 20px;
    }

    .results-catalog-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 10px;
      margin-bottom: var(--mp-stack-gap);
    }

    .results-catalog-header--center {
      justify-content: center;
      text-align: center;
    }

    .results-catalog-title {
      margin: 0;
      color: var(--mp-text);
      font-size: 1.06rem;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: .01em;
    }

    .results-catalog-subtitle {
      margin: 5px 0 0;
      color: var(--mp-text-muted);
      font-size: .76rem;
      font-weight: 600;
      line-height: 1.35;
    }

    .results-catalog-city {
      color: #9b8abe;
      font-size: .72rem;
      font-weight: 700;
      white-space: nowrap;
    }

    .chip-scroll {
      display: flex;
      gap: 8px;
      overflow-x: auto;
      padding-bottom: 4px;
      margin-bottom: var(--mp-stack-gap);
      scrollbar-width: thin;
      scrollbar-color: rgba(123, 47, 190, .4) transparent;
    }

    .chip-item {
      border: 1px solid rgba(123, 47, 190, .16);
      border-radius: 999px;
      background: #fff;
      color: #61448c;
      font-size: .72rem;
      font-weight: 700;
      padding: 7px 12px;
      white-space: nowrap;
      text-decoration: none;
      box-shadow: 0 2px 8px rgba(87, 51, 130, .08);
      transition: transform var(--mp-transition), box-shadow var(--mp-transition), background-color var(--mp-transition), color var(--mp-transition), border-color var(--mp-transition);
    }

    .chip-item.active,
    .chip-item:hover {
      background: linear-gradient(135deg, #7b2fbe 0%, #5f2294 100%);
      color: #fff;
      border-color: transparent;
      transform: translateY(-1px);
      box-shadow: 0 8px 14px rgba(95, 34, 148, .24);
    }

    .chip-item:active {
      transform: scale(.98);
    }

    .chip-item:focus-visible {
      outline: none;
      box-shadow: 0 0 0 3px rgba(123, 47, 190, .18), 0 8px 14px rgba(95, 34, 148, .2);
    }

    .results-category-link {
      display: block;
      width: 100%;
      min-width: 0;
      text-decoration: none;
    }

    .results-feature-card {
      border-radius: var(--mp-radius-md);
      border: 1px solid rgba(123, 47, 190, .16);
      background: linear-gradient(180deg, #fff 0%, #fdf9ff 100%);
      min-height: 110px;
      padding: 15px 16px;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: 0 6px 18px rgba(92, 47, 138, 0.1);
      width: 100%;
      min-width: 0;
      transition: transform var(--mp-transition), box-shadow var(--mp-transition), border-color var(--mp-transition);
    }

    .results-feature-icon {
      width: 50px;
      height: 50px;
      border-radius: 13px;
      background: var(--mp-lilac-soft);
      color: var(--mp-purple);
      border: 1px solid rgba(123, 47, 190, .15);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 1.18rem;
    }

    .results-feature-body {
      min-width: 0;
      flex: 1;
    }

    .results-feature-title {
      margin: 0;
      font-size: 1.02rem;
      font-weight: 800;
      color: #362453;
      line-height: 1.2;
    }

    .results-feature-meta {
      margin: 4px 0 0;
      font-size: .74rem;
      color: var(--mp-text-muted);
      line-height: 1.32;
      font-weight: 700;
    }

    .results-feature-arrow {
      color: var(--mp-purple);
      font-size: 1.02rem;
      opacity: .88;
      transition: transform var(--mp-transition), opacity var(--mp-transition);
      flex-shrink: 0;
    }

    .results-option-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
    }

    .results-option-card {
      border-radius: var(--mp-radius-sm);
      border: 1px solid rgba(123, 47, 190, .14);
      background: #fff;
      min-height: 118px;
      box-shadow: 0 5px 14px rgba(92, 47, 138, 0.08);
      display: flex;
      flex-direction: row;
      align-items: center;
      text-align: left;
      gap: 11px;
      padding: 13px 12px;
      width: 100%;
      min-width: 0;
      transition: transform var(--mp-transition), box-shadow var(--mp-transition), border-color var(--mp-transition), background-color var(--mp-transition);
    }

    .results-option-icon {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: var(--mp-lilac-soft);
      border: 1px solid rgba(123, 47, 190, .16);
      color: var(--mp-purple);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.04rem;
      flex-shrink: 0;
    }

    .results-option-body {
      min-width: 0;
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 3px;
    }

    .results-option-title {
      margin: 0;
      color: #38275a;
      font-size: .93rem;
      font-weight: 800;
      line-height: 1.25;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .results-option-meta {
      margin: 0;
      color: var(--mp-text-muted);
      font-size: .74rem;
      font-weight: 700;
      line-height: 1.32;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    .results-option-arrow {
      color: var(--mp-purple);
      font-size: .98rem;
      opacity: .85;
      flex-shrink: 0;
      transition: transform var(--mp-transition), opacity var(--mp-transition);
    }

    .results-category-link:focus-visible {
      outline: none;
    }

    .results-category-link:hover .results-option-card,
    .results-category-link:focus-visible .results-option-card,
    .results-category-link:hover .results-feature-card,
    .results-category-link:focus-visible .results-feature-card {
      transform: translateY(-2px);
      box-shadow: var(--mp-shadow-lift);
      border-color: rgba(123, 47, 190, .33);
    }

    .results-category-link:hover .results-option-icon,
    .results-category-link:focus-visible .results-option-icon {
      background: #efe2ff;
      border-color: rgba(123, 47, 190, .32);
      transform: scale(1.03);
    }

    .results-category-link:hover .results-option-arrow,
    .results-category-link:focus-visible .results-option-arrow,
    .results-category-link:hover .results-feature-arrow,
    .results-category-link:focus-visible .results-feature-arrow {
      opacity: 1;
      transform: translateX(2px);
    }

    .results-category-link:active .results-option-card,
    .results-category-link:active .results-feature-card {
      transform: scale(.988);
      box-shadow: 0 8px 16px rgba(90, 50, 145, .14);
    }

    .promo-slider-section .swiper {
      border-radius: 18px;
      overflow: hidden;
      box-shadow: 0 8px 20px rgba(103, 70, 145, .14);
      border: 1px solid var(--mp-border);
    }

    .promo-slider-section .swiper img {
      border-radius: 18px;
      width: 100%;
      object-fit: cover;
    }

    .bottom-nav {
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1050;
      background: rgba(255, 255, 255, .95);
      backdrop-filter: blur(12px);
      border-top: 1px solid rgba(123, 47, 190, 0.16);
      box-shadow: 0 -8px 20px rgba(88, 56, 127, 0.12);
      padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    }

    .bottom-nav-items {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      max-width: 560px;
      margin: 0 auto;
    }

    .bottom-nav-link {
      border: 1px solid rgba(123, 47, 190, 0.14);
      border-radius: 14px;
      background: #fff;
      color: #61448c;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 3px;
      text-decoration: none;
      min-height: 52px;
      font-weight: 700;
      font-size: .75rem;
      box-shadow: 0 4px 10px rgba(92, 47, 138, 0.08);
      position: relative;
      transition: transform var(--mp-transition), box-shadow var(--mp-transition), color var(--mp-transition), background-color var(--mp-transition), border-color var(--mp-transition);
    }

    .bottom-nav-link.active {
      background: linear-gradient(135deg, #7b2fbe 0%, #5f2294 100%);
      color: #fff;
      border-color: transparent;
      box-shadow: 0 10px 18px rgba(95, 34, 148, .22);
    }

    .bottom-nav-link:hover {
      transform: translateY(-1px);
      box-shadow: 0 8px 16px rgba(92, 47, 138, 0.14);
    }

    .bottom-nav-link:active {
      transform: scale(.98);
    }

    .bottom-nav-link:focus-visible {
      outline: none;
      box-shadow: 0 0 0 3px rgba(123, 47, 190, .18), 0 8px 16px rgba(92, 47, 138, 0.14);
    }

    .bottom-nav-link .cart-dot {
      position: absolute;
      top: 6px;
      right: 16px;
      min-width: 18px;
      height: 18px;
      border-radius: 999px;
      background: #ff4f7c;
      color: #fff;
      font-size: .66rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0 4px;
      font-weight: 700;
    }

    @media (max-width: 991px) {
      .results-section {
        border-radius: 18px;
        padding: 14px;
      }
      .results-option-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }
      .results-option-card {
        min-height: 108px;
        padding: 10px;
        gap: 10px;
      }
      .results-option-icon {
        width: 44px;
        height: 44px;
        font-size: .96rem;
      }
      .results-option-title {
        font-size: .88rem;
      }
      .results-option-meta {
        font-size: .7rem;
      }
      .header.modern-header .btn-book-a-table {
        display: none;
      }
    }

    @media (min-width: 992px) {
      .bottom-nav {
        display: none;
      }
      .results-app {
        padding-bottom: 40px;
      }
      .results-option-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    @media (hover: none) {
      .results-category-link:hover .results-option-card,
      .results-category-link:hover .results-feature-card,
      .results-category-link:hover .results-option-icon,
      .results-category-link:hover .results-option-arrow,
      .results-category-link:hover .results-feature-arrow,
      .bottom-nav-link:hover,
      .chip-item:hover {
        transform: none;
      }
    }
