/* ========================================
   NOMER-SVOBODEN    (v2.0)
      toworkis.css
   ======================================== */

/* ====== 1.     ====== */
:root {
    --ns-blue: #1e87f0;
    --ns-blue-dark: #0d47a1;
    --ns-blue-light: #e8f4ff;
    --ns-green: #22c55e;
    --ns-green-dark: #16a34a;
    --ns-red: #ef4444;
    --ns-yellow: #f59e0b;
    --ns-text: #1e293b;
    --ns-text-light: #64748b;
    --ns-bg: #f6f8fa;
    --ns-card: #ffffff;
    --ns-border: #e2e8f0;
    --ns-radius: 16px;
    --ns-radius-sm: 10px;
    --ns-radius-btn: 50px;
    --ns-shadow: 0 10px 30px -5px rgba(0,0,0,0.08);
}

body {
    background: var(--ns-bg);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--ns-text);
}

/* ====== 2.    ====== */
a, a:link, a:visited, a:hover, a:active, a:focus,
.uk-link, .uk-link-text, .uk-link-heading, .uk-link-reset, .uk-link-toggle,
.uk-navbar-nav > li > a, .uk-navbar-item a, .uk-navbar-dropdown-nav a,
.uk-nav-default a, .uk-nav-primary a, .uk-subnav a, .uk-breadcrumb a,
.uk-pagination a, .uk-tab a, .uk-dropdown-nav a, .uk-card a,
.uk-card-body a, .uk-panel a, .uk-article a, .uk-comment a, .uk-list a, .uk-table a {
    text-decoration: none !important;
    border-bottom: none !important;
}

a:hover:not(.uk-button):not(.ns-btn):not(.booking-btn) {
    color: var(--ns-blue);
}

/* ====== 3.  UKIT     ====== */
.uk-button-primary {
    background: var(--ns-blue) !important;
    border-color: var(--ns-blue-dark) !important;
    color: #fff !important;
    border-radius: var(--ns-radius-btn) !important;
    border-width: 2px !important;
    font-weight: 500 !important;
}
.uk-button-primary:hover {
    background: #0d6bc0 !important;
    border-color: var(--ns-blue-dark) !important;
}
.uk-button-success {
    background: var(--ns-green) !important;
    border-color: var(--ns-green-dark) !important;
    color: #fff !important;
    border-radius: var(--ns-radius-btn) !important;
    font-weight: 500 !important;
}
.uk-button-success:hover {
    background: var(--ns-green-dark) !important;
}
.uk-button-danger {
    background: var(--ns-red) !important;
    border-color: #dc2626 !important;
}
.uk-button-default {
    border-radius: var(--ns-radius-btn) !important;
    border: 2px solid var(--ns-border) !important;
    background: #fff !important;
    color: var(--ns-text) !important;
    font-weight: 500 !important;
}
.uk-button-default:hover {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
}

/*    uk-button-success */
.toworkis .uk-button-success,
.uk-button-success[style*="background"] {
    background: var(--ns-green) !important;
    border-color: var(--ns-green-dark) !important;
}

/* ====== 4.   ====== */
.uk-text-success { color: var(--ns-green) !important; }
.uk-text-primary { color: var(--ns-blue) !important; }
.uk-text-danger { color: var(--ns-red) !important; }
.uk-text-warning { color: var(--ns-yellow) !important; }

/* ====== 5. UK-ACTIVE ====== */
.uk-active > a,
.uk-navbar-nav > li.uk-active > a {
    color: var(--ns-blue) !important;
    font-weight: 600 !important;
}

/* ====== 6.  ====== */
.uk-navbar-container:not(.uk-navbar-transparent) {
    background: rgba(255,255,255,0.95) !important;
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(30,135,240,0.1);
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
}
.uk-navbar-nav > li > a {
    color: var(--ns-text-light) !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.uk-navbar-nav > li > a:hover,
.uk-navbar-nav > li.uk-active > a {
    color: var(--ns-blue) !important;
}

/*   */
.uk-navbar-dropdown {
    border-radius: var(--ns-radius) !important;
    border: 1px solid var(--ns-border) !important;
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.15) !important;
}
.uk-navbar-dropdown-nav > li > a:hover {
    background: var(--ns-blue-light) !important;
    color: var(--ns-blue) !important;
    border-radius: 500px !important;
}

/* ====== 7.   ====== */
.uk-breadcrumb > li > a {
    color: var(--ns-blue) !important;
    padding: 3px 15px;
}
.uk-breadcrumb > li > a:hover {
    background: var(--ns-blue) !important;
    color: #fff !important;
}

/* ====== 8.  ====== */
.uk-pagination > li > a {
    border-radius: 50px !important;
    border: 1px solid #f1f5f9;
    color: var(--ns-text-light);
}
.uk-pagination > li.uk-active > a {
    background: var(--ns-blue) !important;
    color: #fff !important;
}
.uk-pagination > li > a:hover {
    background: var(--ns-text) !important;
    color: #fff !important;
}

/* ====== 9.  ====== */
.uk-card {
    border-radius: var(--ns-radius) !important;
    border: 1px solid var(--ns-border) !important;
    box-shadow: var(--ns-shadow) !important;
    transition: transform 0.2s, box-shadow 0.2s;
}
.uk-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
}
.uk-card a {
    color: var(--ns-text);
}

/*     */
.uk-list-child:hover:before,
.uk-project-top:before {
    background-color: var(--ns-blue) !important;
}
.uk-project-bold {
    background-color: #fffbeb !important;
}

/* ====== 10.    ====== */
.uk-input, .uk-select, .uk-textarea {
    border: 2px solid var(--ns-border) !important;
    border-radius: var(--ns-radius-sm) !important;
    transition: all 0.2s !important;
}
.uk-input:focus, .uk-select:focus, .uk-textarea:focus {
    border-color: var(--ns-blue) !important;
    box-shadow: 0 0 0 3px rgba(30,135,240,0.1) !important;
}
.uk-input:hover, .uk-select:hover, .uk-textarea:hover {
    border-color: var(--ns-blue) !important;
}

/*    */
.uk-checkbox:checked, .uk-radio:checked, ::selection {
    background-color: var(--ns-blue) !important;
}
.uk-checkbox:checked:focus, .uk-radio:checked:focus {
    background-color: var(--ns-blue) !important;
    border-color: var(--ns-blue) !important;
}

/* ====== 11. SELECT    ====== */
.uk-select:not([multiple]):not([size]) {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='%231e87f0'/%3E%3Cpath d='M8 10l4 4 4-4' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 24px 24px !important;
    padding-right: 40px !important;
    cursor: pointer;
}

/* ====== 12.  [class*=uk-inline] ====== */
/*  display:block   select.    */
.uk-form-controls [class*=uk-inline],
.uk-container [class*=uk-inline] {
    display: inline-block !important;
}
.uk-form-controls select,
.uk-container select {
    display: inline-block !important;
}

/* ====== 13.  ====== */
.uk-label-success { background-color: var(--ns-green) !important; }
.uk-label-warning { background-color: var(--ns-yellow) !important; }
.uk-label-danger { background-color: var(--ns-red) !important; }
.uk-subnav-pill > .uk-active > a { background-color: var(--ns-blue) !important; }

/* ====== 14.  ˨    ====== */
/*  #89cf7e    var(--ns-blue) */
.tp-border-left { border-left-color: var(--ns-blue) !important; }
.uk-project-top:before { background-color: var(--ns-blue) !important; }
.tp-border-top { border-color: var(--ns-blue) !important; }
.tp-pro-user { background-color: var(--ns-blue) !important; }
.tp-users-list { background-color: var(--ns-blue) !important; }

/*   */
.uk-task-cat span { background-color: var(--ns-blue-light) !important; }
.uk-task-cat span > a { color: var(--ns-blue) !important; }

/* ====== 15.   ====== */
.user-avatar {
    background: linear-gradient(145deg, var(--ns-blue), var(--ns-blue-dark));
    border-radius: 12px;
    box-shadow: 0 6px 12px -4px rgba(30,135,240,0.25);
}
.user-balance {
    background: #f1f5f9;
    border: 2px solid #d9e6ff !important;
    border-radius: 40px;
    color: var(--ns-blue);
}
.balance-dropdown {
    border-radius: var(--ns-radius);
    box-shadow: 0 20px 40px -10px rgba(0,0,0,0.15);
    border: 1px solid var(--ns-border);
}
.dropdown-menu a:hover {
    background: var(--ns-blue-light) !important;
    color: var(--ns-blue) !important;
}

/* ====== 16.  ====== */
.minimal-footer {
    background: #fff;
    border-top: 1px solid var(--ns-border);
}
.footer-col h4:after {
    background: linear-gradient(90deg, var(--ns-blue), var(--ns-blue-dark));
}
.footer-col ul li a i {
    color: var(--ns-blue);
}
.footer-col ul li a:hover {
    color: var(--ns-blue);
}
.social-links a {
    background: #f1f5f9;
    color: var(--ns-text-light);
}
.social-links a:hover {
    background: var(--ns-blue);
    color: #fff !important;
}

/* ====== 17.   ====== */
.booking-btn {
    background: var(--ns-blue) !important;
    border: 2px solid var(--ns-blue-dark) !important;
    color: #fff !important;
    border-radius: 40px !important;
    font-weight: 500 !important;
}
.booking-btn:hover {
    background: #0d6bc0 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 16px -6px rgba(30,135,240,0.4) !important;
}
.availability-label {
    background: var(--ns-green) !important;
    box-shadow: 0 8px 16px -6px rgba(34,197,94,0.3) !important;
}

/* ====== 18.   ====== */
/*  */
.stars i.fas.fa-star { color: #fbbf24 !important; }
.stars i.far.fa-star { color: #cbd5e1 !important; }

/*  */
::-webkit-scrollbar-thumb {
    background: var(--ns-blue);
    border-radius: 10px;
}

/*    */
.footer-links a:hover,
.footer-contact p a:hover { color: var(--ns-blue) !important; }

/* ====== 19.  (  premium.css) ====== */
/*  media-     ,   */

/* ====== 20.  ====== */
* {
    transition: border-color 0.2s ease, 
                background-color 0.2s ease, 
                box-shadow 0.2s ease,
                transform 0.2s ease;
}

/* ======================================================================
   UNIFIED BLUE STYLE LAYER — generated normalization for whole template
   Keep this block at the end of blue.css and keep blue.css last in rc file.
   ====================================================================== */
:root {
  --ns-blue: #1e87f0;
  --ns-blue-600: #0b76d8;
  --ns-blue-700: #075fb0;
  --ns-blue-soft: #eaf4ff;
  --ns-blue-soft-2: #f4f9ff;
  --ns-bg: #f6f8fb;
  --ns-card: #ffffff;
  --ns-border: #dbe7f5;
  --ns-border-2: #edf2f7;
  --ns-text: #0f172a;
  --ns-muted: #64748b;
  --ns-shadow: 0 18px 45px rgba(15, 23, 42, .08);
  --ns-shadow-small: 0 8px 22px rgba(15, 23, 42, .06);
  --ns-radius: 18px;
  --ns-radius-sm: 12px;
  --ns-container: 1320px;
}

html { overflow-y: scroll; background: var(--ns-bg); }
body.ns-site,
body.ns-blue-theme {
  background: var(--ns-bg) !important;
  color: var(--ns-text) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
  min-width: 320px;
}
body.ns-site * { box-sizing: border-box; }
body.ns-site a { color: inherit; text-decoration: none !important; }
body.ns-site a:hover { color: var(--ns-blue); }
body.ns-site img { max-width: 100%; height: auto; }

/* Shell and layout */
body.ns-site .uk-container,
body.ns-site .navbar-container,
body.ns-site .footer-container,
body.ns-site .footer-bottom-content {
  max-width: var(--ns-container) !important;
}
body.ns-site .uk-container { width: min(100% - 32px, var(--ns-container)); }
body.ns-site .uk-section-default,
body.ns-site .uk-background-muted { background: transparent !important; }
body.ns-site .uk-section-small { padding-top: 28px; padding-bottom: 28px; }

/* Header */
.ns-main-navbar,
.premium-navbar {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid var(--ns-border-2) !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.06) !important;
  position: sticky !important;
  top: 0;
  z-index: 1010;
}
.ns-navbar-container,
.navbar-container {
  min-height: 76px;
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(420px, 1fr) minmax(260px, auto);
  align-items: center;
  gap: 24px;
  width: min(100% - 32px, var(--ns-container));
  margin-inline: auto;
  padding-inline: 0 !important;
}
.logo-area { min-width: 0; }
.logo-icon {
  background: linear-gradient(135deg, var(--ns-blue), var(--ns-blue-700)) !important;
  box-shadow: 0 10px 24px rgba(30,135,240,.28) !important;
  flex: 0 0 45px;
}
.logo-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-links { min-width: 0; }
.nav-links .uk-navbar-nav {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px !important;
  flex-wrap: nowrap;
}
.nav-links .uk-navbar-nav > li { flex: 0 0 auto; }
.nav-links .uk-navbar-nav > li > a,
.uk-navbar-nav > li > a {
  min-height: 44px !important;
  height: 44px;
  padding: 0 14px !important;
  border-radius: 999px;
  color: #334155 !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}
.nav-links .uk-navbar-nav > li > a:hover,
.nav-links .uk-navbar-nav > li.uk-active > a,
.uk-navbar-nav > li.uk-active > a,
.uk-navbar-nav > li > a:hover {
  background: var(--ns-blue-soft) !important;
  color: var(--ns-blue) !important;
  box-shadow: inset 0 0 0 1px rgba(30,135,240,.12);
}
.user-area {
  justify-content: flex-end;
  min-width: 0;
  flex-wrap: nowrap !important;
  gap: 10px !important;
}
.user-profile, .balance-wrapper, .pro-status, .message-icon { flex: 0 0 auto; }
body.ns-site .message-icon,
body.ns-site .ns-favorites-icon{
  position:relative!important;
  width:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1px solid var(--ns-border)!important;
  color:#10284a!important;
  text-decoration:none!important;
  box-shadow:0 6px 16px rgba(15, 23, 42, .08)!important;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease!important;
}
body.ns-site .message-icon:hover,
body.ns-site .ns-favorites-icon:hover{
  background:#fff1f2!important;
  border-color:#fecdd3!important;
  color:#be123c!important;
  transform:translateY(-1px)!important;
}
body.ns-site .message-badge{
  position:absolute!important;
  top:-5px!important;
  right:-5px!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#be123c!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
}
.dropdown-menu, .balance-dropdown, .uk-navbar-dropdown {
  border: 1px solid var(--ns-border) !important;
  border-radius: var(--ns-radius) !important;
  box-shadow: var(--ns-shadow) !important;
  background: #fff !important;
}
.dropdown-menu a, .balance-dropdown-item, .uk-navbar-dropdown-nav > li > a {
  border-radius: 12px !important;
}
.dropdown-menu a:hover, .balance-dropdown-item:hover, .uk-navbar-dropdown-nav > li > a:hover {
  background: var(--ns-blue-soft) !important;
  color: var(--ns-blue) !important;
}

/* Cards and page blocks */
body.ns-site .uk-card,
body.ns-site .page-header,
body.ns-site .ns-page-header,
body.ns-site .hotel-card,
body.ns-site .market-card,
body.ns-site .project-card,
body.ns-site .user-card,
body.ns-site .uk-panel,
body.ns-site .uk-alert,
body.ns-site .uk-comment,
body.ns-site .uk-table,
body.ns-site .uk-list > li,
body.ns-site .tp-submenu,
body.ns-site .uk-navbar-dropdown {
  border-color: var(--ns-border) !important;
}
body.ns-site .uk-card,
body.ns-site .ns-card,
body.ns-site .page-header,
body.ns-site .ns-page-header,
body.ns-site .uk-panel,
body.ns-site .uk-alert {
  background: var(--ns-card) !important;
  border: 1px solid var(--ns-border) !important;
  border-radius: var(--ns-radius) !important;
  box-shadow: var(--ns-shadow-small) !important;
}
body.ns-site .uk-card-body { padding: 24px !important; }
body.ns-site .uk-card-title,
body.ns-site h1, body.ns-site h2, body.ns-site h3, body.ns-site h4 {
  color: var(--ns-text);
  letter-spacing: -.015em;
}
body.ns-site .page-header h1,
body.ns-site .ns-page-header h1 {
  font-size: clamp(1.6rem, 3vw, 2.25rem) !important;
  line-height: 1.15 !important;
}
body.ns-site .page-header .uk-breadcrumb,
body.ns-site .ns-page-header .uk-breadcrumb { margin-bottom: 0 !important; }

/* Forms */
body.ns-site .uk-input,
body.ns-site .uk-select,
body.ns-site .uk-textarea,
body.ns-site input[type="text"],
body.ns-site input[type="email"],
body.ns-site input[type="password"],
body.ns-site input[type="number"],
body.ns-site input[type="url"],
body.ns-site input[type="tel"],
body.ns-site select,
body.ns-site textarea {
  border: 1px solid var(--ns-border) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--ns-text) !important;
  min-height: 42px;
  box-shadow: none !important;
}
body.ns-site textarea, body.ns-site .uk-textarea { min-height: 120px; }
body.ns-site .uk-input:focus,
body.ns-site .uk-select:focus,
body.ns-site .uk-textarea:focus,
body.ns-site input:focus,
body.ns-site select:focus,
body.ns-site textarea:focus {
  border-color: var(--ns-blue) !important;
  box-shadow: 0 0 0 4px rgba(30,135,240,.13) !important;
  outline: none !important;
}
body.ns-site .uk-form-label {
  color: #334155 !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}
body.ns-site .uk-form-controls { min-width: 0; }
body.ns-site .uk-form-stacked .uk-margin,
body.ns-site form .uk-margin { margin-bottom: 18px !important; }

/* Buttons and labels */
body.ns-site .uk-button,
body.ns-site input[type="submit"],
body.ns-site button {
  border-radius: 999px !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: .01em;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
body.ns-site .uk-button:hover,
body.ns-site input[type="submit"]:hover,
body.ns-site button:hover { transform: translateY(-1px); }
body.ns-site .uk-button-primary,
body.ns-site .uk-button-success,
body.ns-site .uk-subnav-pill > .uk-active > a,
body.ns-site .uk-label-success,
body.ns-site .uk-badge {
  background: linear-gradient(135deg, var(--ns-blue), var(--ns-blue-600)) !important;
  border-color: var(--ns-blue) !important;
  color: #fff !important;
}
body.ns-site .uk-button-primary:hover,
body.ns-site .uk-button-success:hover {
  background: linear-gradient(135deg, var(--ns-blue-600), var(--ns-blue-700)) !important;
  box-shadow: 0 10px 20px rgba(30,135,240,.22) !important;
}
body.ns-site .uk-button-default {
  background: #fff !important;
  border: 1px solid var(--ns-border) !important;
  color: var(--ns-text) !important;
}
body.ns-site .uk-button-default:hover { border-color: var(--ns-blue) !important; color: var(--ns-blue) !important; }
body.ns-site .uk-label,
body.ns-site .uk-badge { border-radius: 999px !important; font-weight: 700; }
body.ns-site .uk-text-success { color: var(--ns-blue) !important; }

/* Tabs: fixed height/width behaviour — solves jumping tabs and menu width changes */
body.ns-site .uk-tab,
body.ns-site .ns-form-tabs {
  display: flex !important;
  align-items: stretch !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-left: 0 !important;
  padding: 10px !important;
  background: #fff !important;
  border: 1px solid var(--ns-border) !important;
  border-radius: var(--ns-radius) !important;
  box-shadow: var(--ns-shadow-small) !important;
  width: 100% !important;
  min-height: 62px;
}
body.ns-site .uk-tab::before { display: none !important; }
body.ns-site .uk-tab > * {
  padding-left: 0 !important;
  min-width: 145px;
  flex: 1 1 145px !important;
  max-width: 220px;
}
body.ns-site .uk-tab > * > a {
  min-height: 42px !important;
  height: 100%;
  justify-content: center;
  text-align: center;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--ns-muted) !important;
  background: #f8fafc !important;
  padding: 10px 12px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  white-space: nowrap;
}
body.ns-site .uk-tab > .uk-active > a,
body.ns-site .uk-tab > * > a:hover {
  color: #fff !important;
  background: linear-gradient(135deg, var(--ns-blue), var(--ns-blue-600)) !important;
  box-shadow: 0 10px 22px rgba(30,135,240,.22) !important;
}
body.ns-site .uk-switcher,
body.ns-site .ns-tabs-content {
  width: 100% !important;
  min-height: 460px;
}
body.ns-site .uk-switcher > li,
body.ns-site .ns-tabs-content > li {
  width: 100% !important;
}
body.ns-site .uk-switcher .uk-card,
body.ns-site .ns-tabs-content .uk-card {
  width: 100% !important;
}

/* Tables/lists */
body.ns-site .uk-table {
  background: #fff !important;
  border-radius: var(--ns-radius-sm) !important;
  overflow: hidden;
}
body.ns-site .uk-table th {
  background: var(--ns-blue-soft-2) !important;
  color: #334155 !important;
  font-weight: 800 !important;
}
body.ns-site .uk-table-striped tbody tr:nth-of-type(odd) { background: #f8fbff !important; }
body.ns-site .uk-table-divider > tr:not(:first-child),
body.ns-site .uk-table-divider > :not(:first-child) > tr,
body.ns-site .uk-table-divider > :first-child > tr:not(:first-child) { border-top-color: var(--ns-border-2) !important; }

/* Breadcrumbs and side/category menus */
body.ns-site .uk-breadcrumb > * > * { color: var(--ns-muted) !important; }
body.ns-site .uk-breadcrumb > * > :hover { color: var(--ns-blue) !important; }
body.ns-site .uk-nav-default > li > a,
body.ns-site .tp-nav > li > a,
body.ns-site .tp-submenu > li > a {
  border-radius: 12px !important;
}
body.ns-site .uk-nav-default > li.uk-active > a,
body.ns-site .uk-nav-default > li > a:hover,
body.ns-site .tp-nav > li > a:hover,
body.ns-site .tp-submenu > li > a:hover {
  background: var(--ns-blue-soft) !important;
  color: var(--ns-blue) !important;
}

/* Market/user detail pages */
body.ns-site .hotel-gallery img,
body.ns-site .hotel-main-image,
body.ns-site .uk-card-media-top {
  border-radius: var(--ns-radius-sm) !important;
  overflow: hidden;
}
body.ns-site .availability-label,
body.ns-site .booking-btn,
body.ns-site .preview-btn,
body.ns-site .management-btn {
  background: linear-gradient(135deg, var(--ns-blue), var(--ns-blue-600)) !important;
  border-color: var(--ns-blue) !important;
  color: #fff !important;
}
body.ns-site .stars i.fas.fa-star { color: #f59e0b !important; }

/* Warnings */
body.ns-site .uk-alert-primary { background: var(--ns-blue-soft) !important; color: var(--ns-blue-700) !important; }
body.ns-site .uk-alert-success { background: var(--ns-blue-soft) !important; color: var(--ns-blue-700) !important; }

/* Footer */
body.ns-site .minimal-footer {
  margin-top: 40px;
  border-top: 1px solid var(--ns-border) !important;
  background: #fff !important;
}
body.ns-site .footer-col h4 { color: var(--ns-text) !important; }
body.ns-site .footer-col h4:after { background: linear-gradient(90deg, var(--ns-blue), var(--ns-blue-600)) !important; }
body.ns-site .footer-col ul li a:hover,
body.ns-site .footer-contact a:hover,
body.ns-site .footer-links a:hover { color: var(--ns-blue) !important; }

/* Responsive */
@media (max-width: 1180px) {
  .ns-navbar-container, .navbar-container {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-block: 12px;
  }
  .logo-area, .nav-links .uk-navbar-nav, .user-area { justify-content: center !important; }
  .nav-links { width: 100%; overflow-x: auto; padding-bottom: 4px; }
  .nav-links .uk-navbar-nav { justify-content: flex-start !important; min-width: max-content; }
}
@media (max-width: 760px) {
  body.ns-site .uk-container { width: min(100% - 20px, var(--ns-container)); }
  body.ns-site .uk-card-body { padding: 18px !important; }
  body.ns-site .uk-tab > * { flex-basis: 100% !important; max-width: none; }
  body.ns-site .uk-tab > * > a { justify-content: flex-start; text-align: left; }
  .user-area { flex-wrap: wrap !important; }
}


/* ==========================================================
   FINAL UNIFIED BLUE PATCH v3
   Цель: убрать конфликт старых стилей, стабилизировать вкладки,
   карточки, кнопки, рейтинги и формы по всему шаблону.
   ========================================================== */
:root{
  --ns-blue:#1e87f0;
  --ns-blue-600:#0f6ecd;
  --ns-blue-700:#0b5bb0;
  --ns-blue-soft:#eef7ff;
  --ns-blue-soft-2:#f5faff;
  --ns-ink:#0f172a;
  --ns-text:#1e293b;
  --ns-muted:#64748b;
  --ns-border:#dbe7f3;
  --ns-border-2:#edf3f8;
  --ns-card:#ffffff;
  --ns-bg:#f6f9fc;
  --ns-radius:18px;
  --ns-radius-sm:14px;
  --ns-shadow:0 16px 42px rgba(15,23,42,.08);
  --ns-shadow-small:0 8px 24px rgba(15,23,42,.06);
}
html{overflow-y:scroll;}
body.ns-site,body{background:var(--ns-bg)!important;color:var(--ns-text)!important;}
body.ns-site .uk-container-large{max-width:1220px;}
body.ns-site .uk-section-default,body.ns-site .uk-background-default{background:transparent!important;}
body.ns-site h1,body.ns-site h2,body.ns-site h3,body.ns-site h4{color:var(--ns-ink);font-weight:850;letter-spacing:-.02em;}
body.ns-site .uk-card,body.ns-site .ns-card,body.ns-site .uk-panel{border-radius:var(--ns-radius)!important;border:1px solid var(--ns-border)!important;background:#fff!important;box-shadow:var(--ns-shadow-small)!important;}
body.ns-site .uk-card-hover:hover,body.ns-site .uk-card:hover{box-shadow:var(--ns-shadow)!important;transform:translateY(-1px);}
body.ns-site .uk-card{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;}
body.ns-site .uk-card-body{padding:24px!important;}
body.ns-site .uk-card-title{font-size:20px;line-height:1.25;margin-bottom:18px!important;}
body.ns-site .uk-heading-line>:before,body.ns-site .uk-heading-line>:after{border-bottom-color:var(--ns-border)!important;}

/* Forms */
body.ns-site input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
body.ns-site select,body.ns-site textarea,
body.ns-site .uk-input,body.ns-site .uk-select,body.ns-site .uk-textarea{
  border:1px solid var(--ns-border)!important;background:#fff!important;border-radius:12px!important;color:var(--ns-text)!important;min-height:42px;box-shadow:none!important;max-width:100%;
}
body.ns-site textarea,body.ns-site .uk-textarea{min-height:118px;}
body.ns-site input:focus,body.ns-site select:focus,body.ns-site textarea:focus,
body.ns-site .uk-input:focus,body.ns-site .uk-select:focus,body.ns-site .uk-textarea:focus{border-color:var(--ns-blue)!important;box-shadow:0 0 0 4px rgba(30,135,240,.14)!important;outline:none!important;}
body.ns-site .uk-form-label{display:block;color:#334155!important;font-weight:750!important;margin-bottom:7px!important;font-size:13px;line-height:1.25;}
body.ns-site .uk-form-controls{min-width:0;}
body.ns-site .uk-form-controls>*{max-width:100%;}
body.ns-site .uk-form-controls input:not([type="radio"]):not([type="checkbox"]),body.ns-site .uk-form-controls select{width:100%;}
body.ns-site .ns-price-cell .uk-form-controls input,body.ns-site .ns-price-cell input{max-width:125px!important;min-width:92px!important;text-align:right;}
body.ns-site .ns-compact-input input{max-width:160px!important;}

/* Buttons */
body.ns-site .uk-button,body.ns-site button,body.ns-site input[type="submit"],
body.ns-site .booking-btn,body.ns-site .management-btn,body.ns-site .preview-btn{
  border-radius:999px!important;font-weight:800!important;text-transform:none!important;letter-spacing:.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease!important;
}
body.ns-site .uk-button-primary,body.ns-site .uk-button-success,body.ns-site input[type="submit"],
body.ns-site .booking-btn,body.ns-site .preview-btn.publish,body.ns-site .management-btn,
body.ns-site .uk-label-success,body.ns-site .uk-badge{background:linear-gradient(135deg,var(--ns-blue),var(--ns-blue-600))!important;border-color:var(--ns-blue)!important;color:#fff!important;}
body.ns-site .uk-button:hover,body.ns-site button:hover,body.ns-site input[type="submit"]:hover,
body.ns-site .booking-btn:hover,body.ns-site .management-btn:hover,body.ns-site .preview-btn:hover{
  transform:translateY(-2px);box-shadow:0 12px 26px rgba(30,135,240,.24)!important;text-decoration:none!important;
}
body.ns-site .uk-button-primary:hover,body.ns-site .uk-button-success:hover,body.ns-site input[type="submit"]:hover{background:linear-gradient(135deg,var(--ns-blue-600),var(--ns-blue-700))!important;}
body.ns-site .uk-button-default{background:#fff!important;border:1px solid var(--ns-border)!important;color:var(--ns-text)!important;}
body.ns-site .uk-button-default:hover{border-color:var(--ns-blue)!important;color:var(--ns-blue)!important;background:var(--ns-blue-soft)!important;}

/* Stable navigation and tabs */
body.ns-site .ns-main-navbar,body.ns-site .navbar-container{width:100%;max-width:1220px;margin-inline:auto;}
body.ns-site .uk-navbar-nav>li>a{min-height:48px!important;white-space:nowrap;}
body.ns-site .uk-tab.ns-form-tabs,body.ns-site .ns-form-tabs{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:10px!important;align-items:stretch!important;margin:0 0 22px!important;padding:12px!important;background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:var(--ns-radius)!important;box-shadow:var(--ns-shadow-small)!important;width:100%!important;min-height:0!important;
}
body.ns-site .uk-tab.ns-form-tabs:before,body.ns-site .ns-form-tabs:before{display:none!important;}
body.ns-site .uk-tab.ns-form-tabs>*,body.ns-site .ns-form-tabs>*{padding:0!important;min-width:0!important;max-width:none!important;flex:none!important;}
body.ns-site .uk-tab.ns-form-tabs>*>a,body.ns-site .ns-form-tabs>*>a{
  min-height:48px!important;height:100%;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:normal!important;line-height:1.2!important;padding:10px 12px!important;border:0!important;border-radius:14px!important;background:#f8fbff!important;color:var(--ns-muted)!important;font-weight:800!important;box-shadow:inset 0 0 0 1px var(--ns-border-2)!important;
}
body.ns-site .uk-tab.ns-form-tabs>.uk-active>a,body.ns-site .ns-form-tabs>.uk-active>a,
body.ns-site .uk-tab.ns-form-tabs>*>a:hover,body.ns-site .ns-form-tabs>*>a:hover{background:linear-gradient(135deg,var(--ns-blue),var(--ns-blue-600))!important;color:#fff!important;box-shadow:0 10px 24px rgba(30,135,240,.24)!important;}
body.ns-site .ns-tabs-content,body.ns-site .uk-switcher{width:100%!important;min-height:420px;}
body.ns-site .ns-tabs-content>li,body.ns-site .uk-switcher>li{width:100%!important;}

/* Rating: remove accidental radio circles near stars */
body.ns-site .ns-rating-clean{display:flex;align-items:center;gap:3px;min-height:20px;line-height:1;overflow:hidden;}
body.ns-site .ns-rating-clean input[type="radio"],body.ns-site .ns-rating-clean input[type="checkbox"],
body.ns-site .ns-rating-clean .uk-radio,body.ns-site .ns-rating-clean .uk-checkbox{position:absolute!important;opacity:0!important;width:0!important;height:0!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important;}
body.ns-site .ns-rating-clean img{display:inline-block!important;width:auto!important;max-height:18px!important;margin:0!important;}
body.ns-site .ns-rating-clean br{display:none!important;}
body.ns-site .stars i,body.ns-site .fa-star{color:#f5b301!important;}

/* Product cards */
body.ns-site .ns-product-card,body.ns-site article.uk-card{overflow:hidden;}
body.ns-site .uk-card-media-top img{width:100%!important;height:190px!important;object-fit:cover!important;display:block!important;border-radius:0!important;}
body.ns-site .uk-card-media-top{background:#f8fafc!important;border-bottom:1px solid var(--ns-border-2)!important;}
body.ns-site .uk-label{border-radius:999px!important;font-weight:800!important;}

/* Price month grid: 4 columns × 3 rows */
body.ns-site .ns-price-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;}
body.ns-site .ns-price-cell{display:grid;grid-template-columns:minmax(78px,1fr) auto;align-items:center;gap:10px;background:#f8fbff;border:1px solid var(--ns-border);border-radius:14px;padding:12px;min-height:58px;}
body.ns-site .ns-price-cell label{margin:0!important;font-size:13px;color:#334155!important;}
body.ns-site .ns-base-price{background:linear-gradient(135deg,var(--ns-blue-soft),#fff)!important;border:1px solid var(--ns-border)!important;color:var(--ns-text)!important;}
body.ns-site .ns-base-price .uk-badge{min-width:64px;justify-content:center;}

/* User services and FAQ */
body.ns-site .ns-services-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;}
body.ns-site .ns-service-card{display:grid!important;grid-template-columns:minmax(150px,.85fr) minmax(0,1.15fr);align-items:center;gap:12px;background:#f8fbff!important;border:1px solid var(--ns-border)!important;border-radius:14px!important;padding:14px!important;box-shadow:none!important;}
body.ns-site .ns-service-card:hover{border-color:rgba(30,135,240,.45)!important;background:#fff!important;box-shadow:0 10px 24px rgba(15,23,42,.06)!important;}
body.ns-site .ns-faq-card{background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:16px!important;padding:18px!important;box-shadow:var(--ns-shadow-small)!important;position:relative;overflow:hidden;}
body.ns-site .ns-faq-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--ns-blue),var(--ns-blue-600));}
body.ns-site .ns-faq-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:linear-gradient(135deg,var(--ns-blue),var(--ns-blue-600))!important;color:#fff!important;font-weight:850;margin-bottom:12px;}

/* Remove unwanted left vertical underline/stripe on reviews and hover blocks */
body.ns-site [class*="review"]:hover,body.ns-site [class*="otziv"]:hover,body.ns-site [class*="comment"]:hover{border-left-color:var(--ns-border)!important;box-shadow:none;}
body.ns-site [class*="review"]:before,body.ns-site [class*="otziv"]:before{display:none!important;}

/* Raw module/plugin pages fallback */
body.ns-site .uk-table,body.ns-site table{border-radius:14px!important;overflow:hidden;background:#fff!important;}
body.ns-site th{background:var(--ns-blue-soft)!important;color:#334155!important;font-weight:850!important;}
body.ns-site .uk-list>li,body.ns-site .uk-nav>li>a{border-radius:12px;}
body.ns-site .uk-nav>li>a:hover{background:var(--ns-blue-soft)!important;color:var(--ns-blue)!important;}
body.ns-site .uk-pagination>*>*{border-radius:999px!important;border:1px solid var(--ns-border)!important;background:#fff!important;color:var(--ns-text)!important;}
body.ns-site .uk-pagination>.uk-active>*{background:var(--ns-blue)!important;color:#fff!important;border-color:var(--ns-blue)!important;}

@media(max-width:960px){
 body.ns-site .ns-price-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body.ns-site .ns-services-grid{grid-template-columns:1fr;}
 body.ns-site .ns-service-card{grid-template-columns:1fr;}
}
@media(max-width:640px){
 body.ns-site .uk-card-body{padding:18px!important;}
 body.ns-site .ns-price-grid{grid-template-columns:1fr;}
 body.ns-site .uk-tab.ns-form-tabs,body.ns-site .ns-form-tabs{grid-template-columns:1fr;}
}

/* ==========================================================
   NOMER-SVOBODEN FINAL POLISH v4
   Исправления после проверки: ширина шапки, табы в 1 строку,
   профиль, услуги, партнёрка, каталог номеров.
   ========================================================== */
:root{--ns-container:1288px;--ns-header-container:1288px;}
body.ns-site .uk-container{width:min(100% - 32px,var(--ns-container))!important;max-width:var(--ns-container)!important;}
body.ns-site .premium-navbar{width:100%!important;}
body.ns-site .premium-navbar .navbar-container,
body.ns-site .ns-main-navbar .navbar-container,
body.ns-site .ns-navbar-container{
  width:min(100% - 32px,var(--ns-header-container))!important;
  max-width:var(--ns-header-container)!important;
  grid-template-columns:minmax(250px,300px) minmax(360px,1fr) max-content!important;
  gap:18px!important;
}
body.ns-site .logo-text{font-size:22px!important;letter-spacing:.02em;}
body.ns-site .nav-links{overflow:visible!important;}
body.ns-site .nav-links .uk-navbar-nav{gap:6px!important;justify-content:center!important;}
body.ns-site .nav-links .uk-navbar-nav>li>a{padding:0 11px!important;font-size:13px!important;letter-spacing:.04em!important;}
body.ns-site .user-area{display:flex!important;align-items:center!important;justify-content:flex-end!important;min-width:max-content!important;}
body.ns-site .balance-wrapper .user-balance,
body.ns-site .pro-status{white-space:nowrap!important;}

/* Form tab headers must stay one-line on desktop */
body.ns-site .uk-tab.ns-form-tabs,
body.ns-site .ns-form-tabs{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
  padding:12px!important;
}
body.ns-site .uk-tab.ns-form-tabs>*>a,
body.ns-site .ns-form-tabs>*>a{
  white-space:nowrap!important;
  font-size:13px!important;
  min-height:48px!important;
  padding:9px 8px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.ns-site .uk-tab.ns-form-tabs>*>a i,
body.ns-site .ns-form-tabs>*>a i{margin-right:7px!important;font-size:13px!important;}

/* Profile tab: clean two-column form and no crooked birthdate/location */
body.ns-site .ns-profile-main-grid{align-items:flex-start!important;}
body.ns-site .ns-profile-main-grid>.uk-width-auto\@s{width:220px!important;}
body.ns-site .ns-profile-main-grid>.uk-width-expand\@s{min-width:0!important;}
body.ns-site .ns-profile-fields{align-items:start!important;}
body.ns-site .ns-profile-fields>div{min-width:0!important;}
body.ns-site .ns-profile-fields .uk-form-controls{width:100%!important;}
body.ns-site .ns-profile-fields input,
body.ns-site .ns-profile-fields select{width:100%!important;}
body.ns-site .ns-profile-fields .uk-grid-small{margin-top:0!important;}
body.ns-site .ns-profile-fields [class*="birth"],
body.ns-site .ns-profile-fields .uk-grid{width:100%!important;}
body.ns-site .ns-location-row{
  display:grid!important;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr)!important;
  gap:14px!important;
  align-items:end!important;
}
body.ns-site .ns-location-selector,
body.ns-site .ns-location-address{min-width:0!important;}
body.ns-site .ns-location-selector .uk-grid,
body.ns-site .ns-location-selector [uk-grid],
body.ns-site .ns-location-selector .uk-grid-small{align-items:end!important;margin-top:0!important;}
body.ns-site .ns-location-selector input,
body.ns-site .ns-location-selector select,
body.ns-site .ns-location-address input{width:100%!important;}

/* Services: title above, variants inside each variable split into 2 columns */
body.ns-site .ns-services-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-left:0!important;
}
body.ns-site .ns-services-grid>div{padding-left:0!important;min-width:0!important;}
body.ns-site .ns-service-card{
  display:block!important;
  min-height:100%!important;
  padding:16px!important;
}
body.ns-site .ns-service-card .uk-form-label{display:block!important;margin-bottom:12px!important;font-size:14px!important;color:var(--ns-ink)!important;}
body.ns-site .ns-service-card .uk-form-controls{
  display:block!important;
  columns:2 180px!important;
  column-gap:18px!important;
}
body.ns-site .ns-service-card .uk-form-controls label,
body.ns-site .ns-service-card .uk-form-controls .uk-checkbox,
body.ns-site .ns-service-card .uk-form-controls .checkbox,
body.ns-site .ns-service-card .uk-form-controls span{
  break-inside:avoid!important;
}
body.ns-site .ns-service-card .uk-form-controls label{display:block!important;margin:0 0 8px!important;line-height:1.35!important;}

/* FAQ without heavy left stripe, more premium */
body.ns-site .ns-faq-card:before{display:none!important;}
body.ns-site .ns-faq-card{background:linear-gradient(180deg,#fff,#f8fbff)!important;}

/* Affiliate page */
body.ns-site .ns-affiliate-page{padding:36px 0 64px!important;background:var(--ns-bg)!important;min-height:calc(100vh - 80px);}
body.ns-site .ns-breadcrumb{margin:0 0 18px!important;}
body.ns-site .ns-affiliate-hero,
body.ns-site .ns-market-hero-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:24px!important;
  align-items:center!important;
  background:linear-gradient(135deg,#ffffff 0%,#f2f8ff 100%)!important;
  border:1px solid var(--ns-border)!important;
  border-radius:24px!important;
  box-shadow:var(--ns-shadow-small)!important;
  padding:30px!important;
}
body.ns-site .ns-affiliate-hero h1,
body.ns-site .ns-market-hero-card h1{font-size:34px!important;line-height:1.12!important;margin:8px 0 12px!important;}
body.ns-site .ns-affiliate-hero p,
body.ns-site .ns-market-hero-card p{max-width:760px!important;color:var(--ns-muted)!important;font-size:16px!important;margin:0!important;}
body.ns-site .ns-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ns-blue)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.08em;}
body.ns-site .ns-affiliate-balance{background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:18px!important;padding:18px 22px!important;min-width:220px!important;text-align:center!important;box-shadow:var(--ns-shadow-small)!important;}
body.ns-site .ns-affiliate-balance span{display:block;color:var(--ns-muted)!important;font-weight:700!important;margin-bottom:6px;}
body.ns-site .ns-affiliate-balance strong{font-size:28px!important;color:var(--ns-ink)!important;white-space:nowrap!important;}
body.ns-site .ns-affiliate-grid{display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)!important;gap:18px!important;margin-top:20px!important;}
body.ns-site .ns-affiliate-card{background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:22px!important;box-shadow:var(--ns-shadow-small)!important;padding:24px!important;}
body.ns-site .ns-card-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;margin-bottom:16px!important;}
body.ns-site .ns-card-head h2,.ns-affiliate-card h2{font-size:24px!important;margin:6px 0 0!important;}
body.ns-site .ns-copy-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;margin-top:12px!important;}
body.ns-site .ns-copy-row input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;background:#f8fbff!important;}
body.ns-site .ns-steps{display:grid!important;gap:12px!important;margin-top:16px!important;}
body.ns-site .ns-steps>div{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;background:#f8fbff!important;border:1px solid var(--ns-border)!important;border-radius:16px!important;padding:12px!important;}
body.ns-site .ns-steps b{display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;border-radius:50%!important;background:var(--ns-blue)!important;color:#fff!important;}
body.ns-site .ns-affiliate-tree{margin-top:20px!important;}
body.ns-site .ns-table-box{max-height:420px!important;overflow:auto!important;border:1px solid var(--ns-border)!important;border-radius:16px!important;background:#fff!important;}

/* Market list page: hotel/service catalog style */
body.ns-site .ns-market-hero{padding:34px 0 18px!important;background:var(--ns-bg)!important;}
body.ns-site .ns-hero-action{white-space:nowrap!important;align-self:center!important;}
body.ns-site .ns-market-search{padding:0 0 20px!important;background:var(--ns-bg)!important;}
body.ns-site .ns-search-panel{background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:22px!important;box-shadow:var(--ns-shadow-small)!important;padding:16px!important;}
body.ns-site .ns-search-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:12px!important;align-items:center!important;}
body.ns-site .ns-search-input{width:100%!important;}
body.ns-site .ns-filter-panel{border-top:1px solid var(--ns-border)!important;margin-top:14px!important;padding-top:14px!important;}
body.ns-site .ns-market-page{padding:10px 0 64px!important;background:var(--ns-bg)!important;}
body.ns-site .ns-market-layout{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;gap:22px!important;align-items:start!important;}
body.ns-site .ns-sidebar-card{background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:22px!important;box-shadow:var(--ns-shadow-small)!important;padding:18px!important;}
body.ns-site .ns-sidebar-card h3{font-size:17px!important;margin:0 0 12px!important;display:flex;gap:8px;align-items:center;}
body.ns-site .ns-list-toolbar{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:16px!important;margin:0 0 18px!important;}
body.ns-site .ns-list-toolbar h2{font-size:28px!important;margin:4px 0 0!important;}
body.ns-site .ns-view-hint{font-size:12px!important;color:var(--ns-muted)!important;white-space:nowrap!important;}
body.ns-site .ns-view-hint span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--ns-border);color:var(--ns-blue);font-weight:900;margin:0 2px;}
body.ns-site .ns-room-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
body.ns-site .ns-room-card{background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:22px!important;box-shadow:var(--ns-shadow-small)!important;overflow:hidden!important;transition:.2s ease!important;}
body.ns-site .ns-room-card:hover{transform:translateY(-3px)!important;box-shadow:var(--ns-shadow)!important;border-color:rgba(30,135,240,.32)!important;}
body.ns-site .ns-room-image{display:block!important;position:relative!important;background:#eef4fb!important;height:220px!important;overflow:hidden!important;}
body.ns-site .ns-room-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .35s ease!important;}
body.ns-site .ns-room-card:hover .ns-room-image img{transform:scale(1.04)!important;}
body.ns-site .ns-room-price{position:absolute!important;z-index:2!important;top:14px!important;right:14px!important;background:linear-gradient(135deg,var(--ns-blue),var(--ns-blue-600))!important;color:#fff!important;border-radius:999px!important;padding:8px 12px!important;font-weight:900!important;box-shadow:0 10px 24px rgba(30,135,240,.26)!important;}
body.ns-site .ns-room-body{padding:18px!important;}
body.ns-site .ns-room-owner{display:flex!important;gap:10px!important;align-items:center!important;margin-bottom:12px!important;}
body.ns-site .ns-room-owner img{width:42px!important;height:42px!important;border-radius:50%!important;object-fit:cover!important;}
body.ns-site .ns-room-owner a{display:block!important;font-weight:800!important;color:var(--ns-ink)!important;line-height:1.2;}
body.ns-site .ns-online,body.ns-site .ns-offline{display:inline-flex!important;align-items:center!important;gap:5px!important;font-size:12px!important;color:var(--ns-muted)!important;}
body.ns-site .ns-online i,body.ns-site .ns-offline i{width:7px;height:7px;border-radius:50%;display:inline-block;background:#22c55e;}
body.ns-site .ns-offline i{background:#cbd5e1;}
body.ns-site .ns-room-body h3{font-size:19px!important;line-height:1.25!important;margin:0 0 10px!important;}
body.ns-site .ns-room-body h3 a{color:var(--ns-ink)!important;}
body.ns-site .ns-room-body h3 a:hover{color:var(--ns-blue)!important;}
body.ns-site .ns-room-rating{margin-bottom:12px!important;}
body.ns-site .ns-room-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:12px 0!important;}
body.ns-site .ns-room-meta span{display:inline-flex!important;align-items:center!important;gap:6px!important;background:#f8fbff!important;border:1px solid var(--ns-border)!important;border-radius:999px!important;padding:6px 9px!important;color:var(--ns-muted)!important;font-size:12px!important;font-weight:700!important;}
body.ns-site .ns-room-actions{display:flex!important;justify-content:flex-end!important;margin-top:14px!important;}

/* Hide accidental radio circles in all rating widgets, not only .ns-rating-clean */
body.ns-site [class*="rating"] input[type="radio"],
body.ns-site [class*="rating"] input[type="checkbox"],
body.ns-site .ratings input[type="radio"],
body.ns-site .ratings input[type="checkbox"]{position:absolute!important;opacity:0!important;width:0!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;pointer-events:none!important;}
body.ns-site [class*="rating"] label:empty{display:none!important;}

/* Remove review side line on hover */
body.ns-site [class*="review"],body.ns-site [class*="otziv"],body.ns-site [class*="comment"]{border-left-width:0!important;}
body.ns-site [class*="review"]:hover,body.ns-site [class*="otziv"]:hover,body.ns-site [class*="comment"]:hover{border-left-width:0!important;box-shadow:var(--ns-shadow-small)!important;}

@media(max-width:1180px){
 body.ns-site .premium-navbar .navbar-container,
 body.ns-site .ns-navbar-container{grid-template-columns:1fr!important;gap:12px!important;padding:12px 0!important;}
 body.ns-site .logo-area,body.ns-site .nav-links .uk-navbar-nav,body.ns-site .user-area{justify-content:center!important;}
 body.ns-site .user-area{min-width:0!important;flex-wrap:wrap!important;}
 body.ns-site .nav-links{overflow-x:auto!important;width:100%!important;}
 body.ns-site .nav-links .uk-navbar-nav{min-width:max-content!important;}
 body.ns-site .uk-tab.ns-form-tabs,body.ns-site .ns-form-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
 body.ns-site .ns-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body.ns-site .ns-market-layout{grid-template-columns:1fr!important;}
 body.ns-site .ns-market-sidebar{order:2;}
}
@media(max-width:760px){
 body.ns-site .uk-tab.ns-form-tabs,body.ns-site .ns-form-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body.ns-site .uk-tab.ns-form-tabs>*>a,body.ns-site .ns-form-tabs>*>a{font-size:12px!important;}
 body.ns-site .ns-location-row,
 body.ns-site .ns-affiliate-hero,
 body.ns-site .ns-market-hero-card,
 body.ns-site .ns-affiliate-grid,
 body.ns-site .ns-search-line{grid-template-columns:1fr!important;}
 body.ns-site .ns-copy-row{grid-template-columns:1fr!important;}
 body.ns-site .ns-services-grid{grid-template-columns:1fr!important;}
 body.ns-site .ns-room-grid{grid-template-columns:1fr!important;}
 body.ns-site .ns-room-image{height:210px!important;}
 body.ns-site .ns-list-toolbar{display:block!important;}
 body.ns-site .ns-view-hint{margin-top:10px!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v5
   Полная ширина светлой шапки + изображения направлений +
   отключение стрелок в слайдерах на главной.
   ========================================================== */
body.ns-site > nav.premium-navbar,
body.ns-site > nav.ns-main-navbar{
  width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  left:0!important;
  right:0!important;
}
body.ns-site .premium-navbar,
body.ns-site .ns-main-navbar{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--ns-border)!important;
}
body.ns-site .premium-navbar .navbar-container,
body.ns-site .ns-main-navbar .navbar-container,
body.ns-site .ns-navbar-container{
  padding-left:12px!important;
  padding-right:12px!important;
}
body.ns-site .ns-home-destinations{padding-top:24px!important;padding-bottom:24px!important;}
body.ns-site .ns-section-intro h2{font-size:clamp(32px,3vw,48px)!important;font-weight:900!important;letter-spacing:-.03em!important;color:var(--ns-text)!important;}
body.ns-site .ns-home-destination-card{
  border:1px solid var(--ns-border)!important;
  background:#fff!important;
  border-radius:22px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.07)!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
}
body.ns-site .ns-home-destination-card:hover{transform:translateY(-6px);box-shadow:0 28px 56px rgba(15,23,42,.12)!important;border-color:rgba(30,135,240,.28)!important;}
body.ns-site .ns-home-destination-media{
  position:relative;
  height:240px!important;
  background:#eaf4ff!important;
  overflow:hidden;
  border-bottom:1px solid var(--ns-border-2)!important;
}
body.ns-site .ns-home-destination-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .55s ease!important;
}
body.ns-site .ns-home-destination-card:hover .ns-home-destination-media img{transform:scale(1.045)!important;}
body.ns-site .ns-home-destination-media:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,20,35,.00) 0%,rgba(10,20,35,.08) 100%);
  pointer-events:none;
}
body.ns-site .ns-home-destinations .uk-card-body{padding:20px 22px 22px!important;}
body.ns-site .ns-home-destinations .uk-card-title{font-size:31px!important;line-height:1.08!important;font-weight:900!important;color:#112240!important;margin:0 0 14px!important;}
body.ns-site .ns-home-destinations .card-tags{display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-height:64px!important;align-content:flex-start!important;}
body.ns-site .ns-home-destinations .card-tag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  background:#f1f6fd!important;
  color:#45607d!important;
  font-size:13px!important;
  font-weight:700!important;
  border:1px solid #d7e6f7!important;
  transition:all .2s ease!important;
}
body.ns-site .ns-home-destinations .card-tag:hover{background:var(--ns-blue-soft)!important;border-color:#b9d7fb!important;color:var(--ns-blue)!important;transform:translateY(-1px)!important;}
body.ns-site .ns-no-slider-nav [data-uk-slidenav-previous],
body.ns-site .ns-no-slider-nav [data-uk-slidenav-next],
body.ns-site .ns-no-slider-nav [uk-slidenav-previous],
body.ns-site .ns-no-slider-nav [uk-slidenav-next]{display:none!important;}
@media(max-width:959px){
  body.ns-site .ns-home-destination-media{height:220px!important;}
  body.ns-site .ns-home-destinations .uk-card-title{font-size:26px!important;}
}
@media(max-width:639px){
  body.ns-site .ns-home-destination-media{height:200px!important;}
  body.ns-site .ns-home-destinations .uk-card-title{font-size:22px!important;}
  body.ns-site .premium-navbar .navbar-container,
  body.ns-site .ns-navbar-container{padding-left:10px!important;padding-right:10px!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v6
   Centered full-width header + clean 2x2 destination collages.
   ========================================================== */
html, body{max-width:100%;overflow-x:hidden;}
body.ns-site{margin:0!important;}
body.ns-site > nav.premium-navbar.ns-main-navbar{
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  min-width:100vw!important;
  position:relative!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--ns-border)!important;
  box-sizing:border-box!important;
  z-index:50!important;
}
body.ns-site > nav.premium-navbar.ns-main-navbar .navbar-container,
body.ns-site > nav.premium-navbar.ns-main-navbar .ns-navbar-container{
  width:100%!important;
  max-width:1680px!important;
  margin:0 auto!important;
  padding-left:26px!important;
  padding-right:26px!important;
  box-sizing:border-box!important;
}
body.ns-site .ns-home-destination-media{
  height:255px!important;
  background:#eef5fc!important;
}
body.ns-site .ns-home-destination-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  image-rendering:auto!important;
}
body.ns-site .ns-home-destination-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(9,25,48,.04) 100%);
  pointer-events:none;
}
body.ns-site .ns-home-destination-card{overflow:hidden!important;}
body.ns-site .ns-home-destination-card .uk-card-body{background:#fff!important;}
@media (max-width: 959px){
  body.ns-site > nav.premium-navbar.ns-main-navbar .navbar-container,
  body.ns-site > nav.premium-navbar.ns-main-navbar .ns-navbar-container{padding-left:18px!important;padding-right:18px!important;}
  body.ns-site .ns-home-destination-media{height:230px!important;}
}
@media (max-width: 639px){
  body.ns-site > nav.premium-navbar.ns-main-navbar .navbar-container,
  body.ns-site > nav.premium-navbar.ns-main-navbar .ns-navbar-container{padding-left:12px!important;padding-right:12px!important;}
  body.ns-site .ns-home-destination-media{height:210px!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v7
   Gradient collages, equal destination cards, no logo glow,
   and latest products 2x2 premium grid.
   ========================================================== */
body.ns-site .logo-icon{box-shadow:none!important;filter:none!important;}
body.ns-site .logo-area .logo-icon, body.ns-site .logo-icon{border:1px solid rgba(255,255,255,.12)!important;}
body.ns-site .ns-home-destination-card{display:flex!important;flex-direction:column!important;height:100%!important;}
body.ns-site .ns-home-destination-card .uk-card-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:170px!important;}
body.ns-site .ns-home-destinations .uk-card-title{
  min-height:68px!important;
  display:flex!important;
  align-items:flex-start!important;
  margin-bottom:12px!important;
}
body.ns-site .ns-home-destinations .card-tags{
  margin-top:auto!important;
  min-height:78px!important;
}
body.ns-site .ns-home-destination-media{
  background:linear-gradient(135deg,#e9f4ff 0%,#f7fbff 100%)!important;
}
body.ns-site .ns-home-destination-media img{filter:saturate(1.03) contrast(1.01)!important;}
/* last products 2x2 */
body.ns-site .ns-latest-products-grid{margin-top:8px!important;}
body.ns-site .ns-latest-products-grid>div{display:flex!important;}
body.ns-site .ns-latest-product-card{
  display:flex!important;flex-direction:column!important;width:100%!important;
  border:1px solid var(--ns-border)!important;border-radius:24px!important;overflow:hidden!important;
  box-shadow:0 16px 36px rgba(15,23,42,.08)!important;background:#fff!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
body.ns-site .ns-latest-product-card:hover{transform:translateY(-4px)!important;box-shadow:0 24px 52px rgba(15,23,42,.12)!important;border-color:rgba(30,135,240,.28)!important;}
body.ns-site .ns-latest-product-media{display:block!important;position:relative!important;background:#eef5fb!important;aspect-ratio:16/10;overflow:hidden!important;}
body.ns-site .ns-latest-product-media img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .3s ease!important;}
body.ns-site .ns-latest-product-card:hover .ns-latest-product-media img{transform:scale(1.03)!important;}
body.ns-site .ns-latest-product-price{
  position:absolute!important;right:14px!important;top:14px!important;z-index:2!important;
  background:linear-gradient(135deg,var(--ns-blue),var(--ns-blue-600))!important;color:#fff!important;
  padding:9px 13px!important;border-radius:999px!important;font-weight:900!important;box-shadow:0 10px 24px rgba(30,135,240,.26)!important;
}
body.ns-site .ns-latest-product-body{display:flex!important;flex-direction:column!important;gap:14px!important;padding:18px!important;flex:1 1 auto!important;}
body.ns-site .ns-latest-owner{display:flex!important;align-items:center!important;gap:12px!important;}
body.ns-site .ns-latest-owner-avatar{width:48px!important;height:48px!important;flex:0 0 48px!important;}
body.ns-site .ns-latest-owner-avatar img{width:48px!important;height:48px!important;border-radius:50%!important;object-fit:cover!important;border:2px solid #fff!important;box-shadow:0 6px 18px rgba(15,23,42,.08)!important;}
body.ns-site .ns-latest-owner-name{display:inline-block!important;font-weight:800!important;color:var(--ns-text)!important;text-decoration:none!important;}
body.ns-site .ns-latest-owner-status{font-size:12px!important;color:var(--ns-muted)!important;display:flex!important;align-items:center!important;gap:8px!important;}
body.ns-site .ns-latest-owner-status .is-online, body.ns-site .ns-latest-owner-status .is-offline{width:10px!important;height:10px!important;border-radius:50%!important;display:inline-block!important;}
body.ns-site .ns-latest-owner-status .is-online{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.12)!important;}
body.ns-site .ns-latest-owner-status .is-offline{background:#cbd5e1!important;box-shadow:0 0 0 4px rgba(148,163,184,.12)!important;}
body.ns-site .ns-latest-product-title{margin:0!important;font-size:26px!important;line-height:1.18!important;font-weight:900!important;min-height:62px!important;}
body.ns-site .ns-latest-product-title a{color:var(--ns-text)!important;text-decoration:none!important;}
body.ns-site .ns-latest-product-rating{min-height:26px!important;}
body.ns-site .ns-latest-product-features{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:auto!important;}
body.ns-site .ns-latest-product-features span{
  display:inline-flex!important;align-items:center!important;gap:8px!important;padding:8px 12px!important;
  border-radius:999px!important;background:#f5f9ff!important;border:1px solid var(--ns-border)!important;color:#47627d!important;font-size:13px!important;font-weight:700!important;
}
body.ns-site .ns-latest-product-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
body.ns-site .ns-latest-product-actions .uk-button{flex:1 1 180px!important;justify-content:center!important;display:inline-flex!important;align-items:center!important;}
@media (max-width:959px){
  body.ns-site .ns-home-destinations .uk-card-title{min-height:56px!important;font-size:24px!important;}
  body.ns-site .ns-latest-product-title{font-size:22px!important;min-height:52px!important;}
}
@media (max-width:639px){
  body.ns-site .ns-home-destination-card .uk-card-body{min-height:150px!important;}
  body.ns-site .ns-home-destinations .uk-card-title{min-height:auto!important;}
  body.ns-site .ns-home-destinations .card-tags{min-height:auto!important;}
  body.ns-site .ns-latest-product-actions .uk-button{flex:1 1 100%!important;}
}




/* ==========================================================
   NOMER-SVOBODEN PATCH v8
   Clean tone-blur seams, 6-city 2-row cards, and refined latest items.
   ========================================================== */
body.ns-site .ns-home-destination-media{position:relative!important;isolation:isolate!important;}
body.ns-site .ns-home-destination-media::before,
body.ns-site .ns-home-destination-media::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:2;
}
body.ns-site .ns-home-destination-media::before{
  top:0;bottom:0;left:50%;transform:translateX(-50%);
  width:26px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.18) 35%, rgba(255,255,255,.24) 50%, rgba(255,255,255,.18) 65%, rgba(255,255,255,0) 100%);
  filter:blur(8px);
  opacity:.95;
}
body.ns-site .ns-home-destination-media::after{
  left:0;right:0;top:50%;transform:translateY(-50%);
  height:22px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.16) 35%, rgba(255,255,255,.22) 50%, rgba(255,255,255,.16) 65%, rgba(255,255,255,0) 100%);
  filter:blur(8px);
  opacity:.92;
}
body.ns-site .ns-home-destination-card .uk-card-body{padding:18px 18px 16px!important;min-height:154px!important;}
body.ns-site .ns-home-destinations .uk-card-title{min-height:72px!important;margin-bottom:10px!important;font-size:29px!important;line-height:1.04!important;}
body.ns-site .ns-home-destinations .card-tags{
  margin-top:auto!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  min-height:auto!important;
}
body.ns-site .ns-home-destinations .card-tag{
  min-height:40px!important;
  padding:7px 8px!important;
  font-size:12px!important;
  line-height:1.15!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  word-break:break-word!important;
}
body.ns-site .ns-destination-cta{display:none!important;}

/* latest products: one-column, four items max, stronger hierarchy */
body.ns-site .ns-latest-products-list{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;}
body.ns-site .ns-latest-products-list > article:nth-child(n+5){display:none!important;}
body.ns-site .ns-latest-product-row{
  display:grid!important;
  grid-template-columns:minmax(270px, 370px) minmax(0, 1fr)!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid var(--ns-border)!important;
  border-radius:24px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
body.ns-site .ns-latest-product-photo{min-height:100%!important;background:#eef5fb!important;position:relative!important;}
body.ns-site .ns-latest-product-photo img{width:100%!important;height:100%!important;min-height:100%!important;object-fit:cover!important;display:block!important;}
body.ns-site .ns-latest-photo-price{font-size:15px!important;padding:10px 14px!important;}
body.ns-site .ns-latest-product-info{padding:22px 24px!important;display:flex!important;flex-direction:column!important;gap:14px!important;}
body.ns-site .ns-latest-product-topline{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;}
body.ns-site .ns-latest-chip{
  display:inline-flex!important;align-items:center!important;gap:7px!important;
  padding:8px 12px!important;border-radius:999px!important;background:#f5f9ff!important;border:1px solid var(--ns-border)!important;color:#47627d!important;font-size:12px!important;font-weight:800!important;
}
body.ns-site .ns-stars-chip{color:#e59e18!important;background:#fff8e8!important;border-color:#fde2a2!important;}
body.ns-site .ns-stars-chip i{font-size:12px!important;}
body.ns-site .ns-latest-product-name{margin:0!important;font-size:34px!important;line-height:1.02!important;font-weight:900!important;letter-spacing:-.03em!important;}
body.ns-site .ns-latest-product-name a{color:var(--ns-text)!important;text-decoration:none!important;}
body.ns-site .ns-latest-rating{min-height:24px!important;}
body.ns-site .ns-latest-hotel-facts{display:flex!important;flex-wrap:wrap!important;gap:9px!important;}
body.ns-site .ns-latest-hotel-facts span{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  padding:9px 13px!important;border-radius:999px!important;background:#fff!important;border:1px solid var(--ns-border)!important;color:#334e68!important;font-size:13px!important;font-weight:700!important;
}
body.ns-site .ns-latest-booking-line{display:flex!important;justify-content:space-between!important;gap:18px!important;align-items:flex-end!important;margin-top:auto!important;padding-top:6px!important;border-top:1px solid var(--ns-border-2)!important;}
body.ns-site .ns-latest-booking-note strong{display:block!important;font-size:15px!important;color:var(--ns-text)!important;margin-bottom:4px!important;}
body.ns-site .ns-latest-booking-note span{display:block!important;color:var(--ns-muted)!important;font-size:13px!important;max-width:520px!important;}
body.ns-site .ns-latest-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.ns-site .ns-latest-secondary-meta{display:flex!important;align-items:center!important;gap:8px!important;color:#7d8da1!important;font-size:12px!important;font-weight:700!important;}
body.ns-site .ns-latest-secondary-meta i{opacity:.8;}
@media (max-width:1199px){
  body.ns-site .ns-home-destinations .uk-card-title{font-size:26px!important;min-height:62px!important;}
  body.ns-site .ns-latest-product-name{font-size:28px!important;}
}
@media (max-width:959px){
  body.ns-site .ns-home-destinations .card-tags{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.ns-site .ns-latest-product-row{grid-template-columns:1fr!important;}
  body.ns-site .ns-latest-product-photo{min-height:240px!important;}
  body.ns-site .ns-latest-booking-line{flex-direction:column!important;align-items:flex-start!important;}
  body.ns-site .ns-latest-actions{justify-content:flex-start!important;}
}
@media (max-width:639px){
  body.ns-site .ns-home-destinations .uk-card-title{font-size:22px!important;min-height:auto!important;}
  body.ns-site .ns-home-destinations .card-tags{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.ns-site .ns-latest-product-info{padding:18px!important;}
  body.ns-site .ns-latest-product-name{font-size:24px!important;}
}

/* Reset previous latest-products card/grid look */
body.ns-site .ns-latest-products-grid{display:none!important;}
body.ns-site .ns-latest-products-list{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;margin-top:18px!important;}
body.ns-site .ns-latest-products-list .ns-latest-product-row:nth-of-type(n+5){display:none!important;}
body.ns-site .ns-latest-product-row{
  display:grid!important;grid-template-columns:minmax(320px,42%) minmax(0,1fr)!important;gap:0!important;
  overflow:hidden!important;border:1px solid var(--ns-border)!important;border-radius:24px!important;background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
body.ns-site .ns-latest-product-row:hover{transform:translateY(-3px)!important;box-shadow:0 28px 56px rgba(15,23,42,.12)!important;border-color:rgba(30,135,240,.32)!important;}
body.ns-site .ns-latest-product-photo{position:relative!important;min-height:255px!important;background:#edf5fc!important;display:block!important;overflow:hidden!important;}
body.ns-site .ns-latest-product-photo img{width:100%!important;height:100%!important;min-height:255px!important;object-fit:cover!important;display:block!important;transition:transform .35s ease!important;}
body.ns-site .ns-latest-product-row:hover .ns-latest-product-photo img{transform:scale(1.035)!important;}
body.ns-site .ns-latest-photo-price{position:absolute!important;left:16px!important;bottom:16px!important;z-index:2!important;padding:10px 14px!important;border-radius:999px!important;background:#fff!important;color:var(--ns-blue)!important;font-weight:900!important;box-shadow:0 10px 28px rgba(15,23,42,.18)!important;}
body.ns-site .ns-latest-product-info{display:flex!important;flex-direction:column!important;gap:14px!important;padding:22px 24px!important;min-width:0!important;}
body.ns-site .ns-latest-product-head{display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:flex-start!important;}
body.ns-site .ns-latest-kicker{display:inline-flex!important;align-items:center!important;gap:8px!important;color:var(--ns-blue)!important;font-weight:850!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.04em!important;margin-bottom:6px!important;}
body.ns-site .ns-latest-product-name{font-size:28px!important;line-height:1.16!important;margin:0!important;font-weight:950!important;color:var(--ns-text)!important;}
body.ns-site .ns-latest-product-name a{color:inherit!important;text-decoration:none!important;}
body.ns-site .ns-latest-product-name a:hover{color:var(--ns-blue)!important;}
body.ns-site .ns-latest-rating{flex:0 0 auto!important;min-width:110px!important;text-align:right!important;}
body.ns-site .ns-latest-hotel-facts{display:flex!important;flex-wrap:wrap!important;gap:9px!important;}
body.ns-site .ns-latest-hotel-facts span{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid var(--ns-border)!important;background:#f6faff!important;color:#45617d!important;border-radius:999px!important;padding:8px 12px!important;font-size:13px!important;font-weight:750!important;}
body.ns-site .ns-latest-hotel-facts i{color:var(--ns-blue)!important;}
body.ns-site .ns-latest-owner-line{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border-top:1px solid var(--ns-border-2)!important;border-bottom:1px solid var(--ns-border-2)!important;padding:12px 0!important;}
body.ns-site .ns-latest-owner-mini{display:flex!important;align-items:center!important;gap:10px!important;color:var(--ns-muted)!important;font-size:14px!important;}
body.ns-site .ns-latest-owner-mini img{width:36px!important;height:36px!important;border-radius:50%!important;object-fit:cover!important;}
body.ns-site .ns-latest-owner-mini a{font-weight:850!important;color:var(--ns-text)!important;}
body.ns-site .ns-online-badge,body.ns-site .ns-offline-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:13px!important;font-weight:800!important;color:var(--ns-muted)!important;}
body.ns-site .ns-online-badge i,body.ns-site .ns-offline-badge i{width:10px!important;height:10px!important;border-radius:50%!important;display:inline-block!important;}
body.ns-site .ns-online-badge i{background:#22c55e!important;box-shadow:0 0 0 4px rgba(34,197,94,.12)!important;}
body.ns-site .ns-offline-badge i{background:#cbd5e1!important;box-shadow:0 0 0 4px rgba(148,163,184,.12)!important;}
body.ns-site .ns-latest-booking-line{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:18px!important;align-items:center!important;margin-top:auto!important;}
body.ns-site .ns-latest-booking-note{display:flex!important;flex-direction:column!important;gap:3px!important;color:var(--ns-muted)!important;font-size:14px!important;line-height:1.35!important;}
body.ns-site .ns-latest-booking-note strong{color:var(--ns-text)!important;font-size:15px!important;}
body.ns-site .ns-latest-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.ns-site .ns-latest-actions .uk-button{min-width:150px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
@media(max-width:960px){
 body.ns-site .ns-latest-product-row{grid-template-columns:1fr!important;}
 body.ns-site .ns-latest-product-photo,body.ns-site .ns-latest-product-photo img{min-height:230px!important;}
 body.ns-site .ns-latest-booking-line{grid-template-columns:1fr!important;}
 body.ns-site .ns-latest-actions{justify-content:flex-start!important;}
}
@media(max-width:640px){
 body.ns-site .ns-home-destinations .card-tags{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-height:none!important;min-height:auto!important;}
 body.ns-site .ns-latest-product-name{font-size:22px!important;}
 body.ns-site .ns-latest-product-head{flex-direction:column!important;}
 body.ns-site .ns-latest-actions .uk-button{width:100%!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v9
   Centered destination text, true CSS seam blur, and EF-based room cards.
   ========================================================== */
body.ns-site .ns-home-destination-media::before,
body.ns-site .ns-home-destination-media::after{
  background:rgba(255,255,255,.04)!important;
  backdrop-filter:blur(10px) saturate(1.05)!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.05)!important;
  opacity:.9!important;
  filter:none!important;
}
body.ns-site .ns-home-destination-media::before{width:18px!important;}
body.ns-site .ns-home-destination-media::after{height:18px!important;}
body.ns-site .ns-home-destination-card .uk-card-body{
  min-height:128px!important;
  padding:16px 16px 14px!important;
  align-items:stretch!important;
  text-align:center!important;
}
body.ns-site .ns-home-destinations .uk-card-title{
  justify-content:center!important;
  text-align:center!important;
  min-height:58px!important;
  margin:0 0 12px!important;
  align-items:center!important;
  font-size:28px!important;
  line-height:1.08!important;
}
body.ns-site .ns-home-destinations .card-tags{
  margin-top:0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
body.ns-site .ns-home-destinations .card-tag{
  min-height:36px!important;
  padding:6px 8px!important;
  font-size:12px!important;
  line-height:1.15!important;
  align-items:center!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

/* Latest products: primary information comes from market/user extra fields */
body.ns-site .ns-latest-product-row{
  grid-template-columns:minmax(300px, 380px) minmax(0, 1fr)!important;
  align-items:stretch!important;
}
body.ns-site .ns-latest-product-photo{height:100%!important;min-height:310px!important;}
body.ns-site .ns-latest-product-info{padding:24px 26px!important;gap:13px!important;}
body.ns-site .ns-latest-main-row{
  display:flex!important;
  justify-content:space-between!important;
  gap:18px!important;
  align-items:flex-start!important;
}
body.ns-site .ns-latest-title-block{min-width:0!important;}
body.ns-site .ns-latest-object-name{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  color:var(--ns-blue)!important;
  font-weight:900!important;
  font-size:13px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  margin-bottom:6px!important;
}
body.ns-site .ns-latest-product-name{font-size:32px!important;line-height:1.06!important;margin:0!important;}
body.ns-site .ns-latest-price-box{
  flex:0 0 auto!important;
  min-width:150px!important;
  border:1px solid rgba(30,135,240,.22)!important;
  background:linear-gradient(180deg,#f6fbff 0%,#fff 100%)!important;
  border-radius:18px!important;
  padding:12px 14px!important;
  text-align:right!important;
  box-shadow:0 10px 24px rgba(30,135,240,.08)!important;
}
body.ns-site .ns-latest-price-value{display:block!important;color:var(--ns-blue)!important;font-weight:950!important;font-size:22px!important;line-height:1.05!important;white-space:nowrap!important;}
body.ns-site .ns-latest-price-unit{display:block!important;color:var(--ns-muted)!important;font-weight:800!important;font-size:12px!important;margin-top:4px!important;}
body.ns-site .ns-latest-product-topline{gap:8px!important;}
body.ns-site .ns-latest-chip{font-size:12px!important;padding:8px 11px!important;}
body.ns-site .ns-latest-rating{margin-top:-2px!important;}
body.ns-site .ns-latest-hotel-facts{gap:8px!important;}
body.ns-site .ns-latest-hotel-facts span{font-size:13px!important;padding:8px 12px!important;background:#f8fbff!important;}
body.ns-site .ns-latest-booking-line{margin-top:auto!important;}
body.ns-site .ns-latest-secondary-meta{
  justify-content:flex-end!important;
  gap:14px!important;
  border-top:0!important;
  margin-top:-4px!important;
  opacity:.78!important;
}
body.ns-site .ns-latest-secondary-meta span{display:inline-flex!important;align-items:center!important;gap:7px!important;}
body.ns-site .ns-latest-secondary-meta span:first-child{font-weight:700!important;color:#8a9aae!important;}
@media (max-width:1199px){
  body.ns-site .ns-home-destinations .uk-card-title{font-size:25px!important;min-height:54px!important;}
  body.ns-site .ns-latest-product-name{font-size:28px!important;}
}
@media (max-width:959px){
  body.ns-site .ns-latest-product-row{grid-template-columns:1fr!important;}
  body.ns-site .ns-latest-product-photo{min-height:260px!important;}
  body.ns-site .ns-latest-main-row{flex-direction:column!important;align-items:stretch!important;}
  body.ns-site .ns-latest-price-box{text-align:left!important;min-width:0!important;}
}
@media (max-width:639px){
  body.ns-site .ns-home-destinations .card-tags{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.ns-site .ns-home-destinations .uk-card-title{min-height:auto!important;font-size:22px!important;}
  body.ns-site .ns-home-destination-card .uk-card-body{min-height:auto!important;}
  body.ns-site .ns-latest-product-info{padding:18px!important;}
  body.ns-site .ns-latest-product-name{font-size:24px!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v10
   Smaller destination card height, true seam blur in image, and refined hotel meta.
   ========================================================== */
body.ns-site .ns-home-destination-media::before,
body.ns-site .ns-home-destination-media::after{content:none!important;display:none!important;}
body.ns-site .ns-home-destination-card .uk-card-body{
  min-height:108px!important;
  padding:14px 14px 10px!important;
}
body.ns-site .ns-home-destinations .uk-card-title{
  min-height:auto!important;
  margin:0 0 8px!important;
  font-size:27px!important;
  line-height:1.02!important;
}
body.ns-site .ns-home-destinations .card-tags{
  margin-top:0!important;
  gap:7px!important;
}
body.ns-site .ns-home-destinations .card-tag{min-height:34px!important;padding:6px 8px!important;}

body.ns-site .ns-latest-main-row{align-items:flex-start!important;gap:20px!important;}
body.ns-site .ns-latest-title-block{display:flex!important;flex-direction:column!important;gap:8px!important;}
body.ns-site .ns-latest-top-object-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;}
body.ns-site .ns-latest-object-name{margin:0!important;}
body.ns-site .ns-latest-product-name{font-size:30px!important;line-height:1.05!important;}
body.ns-site .ns-latest-location-line{
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:2px!important;
}
body.ns-site .ns-latest-location-line span{
  display:inline-flex!important;align-items:center!important;gap:7px!important;
  padding:8px 12px!important;border-radius:999px!important;background:#f7fbff!important;border:1px solid var(--ns-border)!important;color:#49657f!important;font-size:13px!important;font-weight:700!important;
}
body.ns-site .ns-latest-price-box{min-width:170px!important;padding:14px 15px!important;}
body.ns-site .ns-latest-price-caption{display:block!important;color:#7a8da3!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-bottom:5px!important;}
body.ns-site .ns-latest-price-value{font-size:24px!important;}
body.ns-site .ns-latest-rating-panel{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  border:1px solid rgba(30,135,240,.14)!important;background:linear-gradient(180deg,#fbfdff 0%,#f6faff 100%)!important;border-radius:18px!important;padding:12px 14px!important;
}
body.ns-site .ns-latest-rating-label{display:inline-flex!important;align-items:center!important;gap:8px!important;color:#294766!important;font-weight:900!important;font-size:13px!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
body.ns-site .ns-latest-rating-label i{color:#1e87f0!important;}
body.ns-site .ns-latest-rating{margin:0!important;}
body.ns-site .ns-latest-hotel-facts{margin-top:2px!important;}
body.ns-site .ns-latest-secondary-meta{justify-content:space-between!important;opacity:.72!important;}
@media (max-width:959px){
  body.ns-site .ns-home-destinations .uk-card-title{font-size:24px!important;}
  body.ns-site .ns-home-destination-card .uk-card-body{min-height:auto!important;}
  body.ns-site .ns-latest-rating-panel{align-items:flex-start!important;flex-direction:column!important;}
}
@media (max-width:639px){
  body.ns-site .ns-home-destinations .uk-card-title{font-size:21px!important;}
  body.ns-site .ns-latest-product-name{font-size:24px!important;}
  body.ns-site .ns-latest-location-line span{font-size:12px!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v11
   Even city rows, blended destination images, and cleaner latest room cards.
   ========================================================== */
body.ns-site .ns-home-destination-card .uk-card-body{
  min-height:164px!important;
  padding:14px 14px 12px!important;
  display:grid!important;
  grid-template-rows:64px auto!important;
  align-content:start!important;
}
body.ns-site .ns-home-destinations .uk-card-title{
  min-height:64px!important;
  margin:0 0 8px!important;
  font-size:26px!important;
  line-height:1.04!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.ns-site .ns-home-destinations .card-tags{
  margin-top:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2, 43px)!important;
  gap:8px!important;
  align-content:start!important;
}
body.ns-site .ns-home-destinations .card-tag{
  min-height:43px!important;
  height:43px!important;
  padding:4px 8px!important;
  font-size:11.5px!important;
  line-height:1.05!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* latest room cards */
body.ns-site .ns-latest-product-info{display:flex!important;flex-direction:column!important;gap:14px!important;}
body.ns-site .ns-latest-main-row{gap:22px!important;align-items:flex-start!important;}
body.ns-site .ns-latest-title-block{display:flex!important;flex-direction:column!important;gap:8px!important;min-width:0!important;}
body.ns-site .ns-latest-top-object-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
body.ns-site .ns-latest-product-name{font-size:31px!important;line-height:1.04!important;margin:0!important;}
body.ns-site .ns-latest-location-line{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
body.ns-site .ns-latest-location-line span{max-width:100%!important;}
body.ns-site .ns-latest-price-box{
  min-width:165px!important;
  padding:14px 14px!important;
  justify-self:flex-start!important;
}
body.ns-site .ns-latest-price-value{font-size:24px!important;}
body.ns-site .ns-latest-price-unit{font-size:12px!important;margin-top:4px!important;}
body.ns-site .ns-latest-facts-and-rating{display:flex!important;flex-direction:column!important;gap:12px!important;}
body.ns-site .ns-latest-rating-panel{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  border:1px solid rgba(30,135,240,.16)!important;
  background:linear-gradient(180deg,#fbfdff 0%,#f6faff 100%)!important;
  border-radius:18px!important;
  padding:12px 14px!important;
}
body.ns-site .ns-latest-hotel-facts{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
body.ns-site .ns-latest-hotel-facts span{background:#f8fbff!important;}
body.ns-site .ns-latest-actions-row{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-top:auto!important;
}
body.ns-site .ns-latest-secondary-meta{
  display:flex!important;flex-wrap:wrap!important;gap:14px!important;align-items:center!important;
  color:#7d8da1!important;font-size:12px!important;font-weight:700!important;opacity:.78!important;
}
body.ns-site .ns-latest-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
@media (max-width:1199px){
  body.ns-site .ns-home-destinations .uk-card-title{font-size:24px!important;min-height:60px!important;}
}
@media (max-width:959px){
  body.ns-site .ns-home-destination-card .uk-card-body{grid-template-rows:58px auto!important;min-height:156px!important;}
  body.ns-site .ns-home-destinations .uk-card-title{font-size:22px!important;min-height:58px!important;}
  body.ns-site .ns-latest-main-row{flex-direction:column!important;}
  body.ns-site .ns-latest-actions-row{flex-direction:column!important;align-items:flex-start!important;}
  body.ns-site .ns-latest-actions{justify-content:flex-start!important;}
}
@media (max-width:639px){
  body.ns-site .ns-home-destination-card .uk-card-body{grid-template-rows:auto auto!important;min-height:auto!important;}
  body.ns-site .ns-home-destinations .card-tags{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;}
  body.ns-site .ns-home-destinations .card-tag{height:auto!important;min-height:40px!important;}
  body.ns-site .ns-latest-product-name{font-size:24px!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v12
   Hotel aggregator polish: object name in meta row, wider location fallbacks.
   ========================================================== */
body.ns-site .ns-latest-top-object-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
}
body.ns-site .ns-hotel-name-chip{
  background:linear-gradient(135deg,#eff7ff 0%,#ffffff 100%)!important;
  color:#16395f!important;
  border-color:rgba(30,135,240,.22)!important;
  font-weight:950!important;
  max-width:100%!important;
}
body.ns-site .ns-hotel-name-chip i{color:var(--ns-blue)!important;}
body.ns-site .ns-latest-object-name{display:none!important;}
body.ns-site .ns-latest-location-line{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,auto))!important;
  justify-content:start!important;
  gap:8px!important;
  max-width:100%!important;
}
body.ns-site .ns-latest-location-line span{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
}
body.ns-site .ns-latest-product-name{margin-top:2px!important;}
body.ns-site .ns-latest-price-box{background:linear-gradient(180deg,#ffffff 0%,#f3f9ff 100%)!important;}
body.ns-site .ns-latest-rating-panel{box-shadow:0 10px 24px rgba(30,135,240,.07)!important;}
body.ns-site .ns-latest-rating-label{font-weight:950!important;}
@media (max-width:959px){
  body.ns-site .ns-latest-location-line{grid-template-columns:repeat(2,minmax(0,auto))!important;}
}
@media (max-width:639px){
  body.ns-site .ns-latest-location-line{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-name-chip{width:100%!important;justify-content:center!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v13
   Hotel aggregator hero, clean listing cards, main distance highlight.
   ========================================================== */
body.ns-site .ns-hero-hotel{position:relative!important;overflow:hidden!important;min-height:360px!important;background-position:center!important;background-size:cover!important;}
body.ns-site .ns-hero-hotel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,10,22,.88) 0%,rgba(2,10,22,.72) 35%,rgba(2,10,22,.32) 68%,rgba(2,10,22,.05) 100%)!important;z-index:0;}
body.ns-site .ns-hero-hotel:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 18%,rgba(30,135,240,.22),transparent 36%),linear-gradient(180deg,rgba(2,10,22,.05),rgba(2,10,22,.2));z-index:0;}
body.ns-site .ns-hero-hotel>.uk-container,body.ns-site .ns-hero-container{position:relative!important;z-index:1!important;}
body.ns-site .ns-hero-hotel h1{max-width:760px!important;font-size:clamp(34px,4vw,60px)!important;line-height:1.02!important;letter-spacing:-.035em!important;text-transform:none!important;}
body.ns-site .ns-hero-hotel p{max-width:680px!important;font-size:16px!important;line-height:1.65!important;}
body.ns-site .ns-hero-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(260px,1fr))!important;gap:18px!important;max-width:760px!important;margin-top:22px!important;}
body.ns-site .ns-hero-card-mini{padding:18px!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(4,17,35,.42)!important;border-radius:20px!important;backdrop-filter:blur(10px)!important;}
body.ns-site .ns-hero-card-mini h2{font-size:22px!important;margin-bottom:10px!important;text-transform:none!important;}
body.ns-site .ns-hero-card-mini p{font-size:14px!important;line-height:1.5!important;min-height:42px!important;}
body.ns-site .ns-hero-benefits{display:flex!important;gap:18px!important;flex-wrap:wrap!important;margin-top:18px!important;color:#fff!important;font-size:13px!important;font-weight:800!important;}
body.ns-site .ns-hero-benefits span{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:8px 10px!important;border-radius:999px!important;background:rgba(255,255,255,.1)!important;}

body.ns-site .ns-hotel-listings{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;}
body.ns-site .ns-hotel-listings>.ns-hotel-listing-card:nth-of-type(n+5){display:none!important;}
body.ns-site .ns-hotel-listing-card{display:grid!important;grid-template-columns:360px minmax(0,1fr)!important;border-radius:24px!important;overflow:hidden!important;border:1px solid var(--ns-border)!important;background:#fff!important;box-shadow:0 18px 42px rgba(15,23,42,.08)!important;}
body.ns-site .ns-hotel-listing-photo{display:block!important;min-height:300px!important;background:#eef5fb!important;}
body.ns-site .ns-hotel-listing-photo img{width:100%!important;height:100%!important;min-height:300px!important;object-fit:cover!important;display:block!important;}
body.ns-site .ns-hotel-listing-content{padding:22px 24px!important;display:flex!important;flex-direction:column!important;gap:14px!important;}
body.ns-site .ns-hotel-listing-head{display:flex!important;justify-content:space-between!important;gap:18px!important;align-items:flex-start!important;}
body.ns-site .ns-hotel-title-area{min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;}
body.ns-site .ns-hotel-object-line{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;color:#47627d!important;font-size:13px!important;font-weight:800!important;}
body.ns-site .ns-hotel-object-name{font-weight:900!important;color:#0f1f35!important;}
body.ns-site .ns-hotel-object-type:before{content:"•";margin-right:8px;color:#a5b4c5!important;}
body.ns-site .ns-hotel-stars{display:inline-flex!important;gap:2px!important;color:#f59e0b!important;margin-left:2px!important;}
body.ns-site .ns-hotel-room-title{margin:0!important;font-size:30px!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.03em!important;}
body.ns-site .ns-hotel-room-title a{color:#0f1f35!important;text-decoration:none!important;}
body.ns-site .ns-hotel-address-line{display:flex!important;align-items:flex-start!important;gap:9px!important;color:#607289!important;font-size:14px!important;line-height:1.45!important;}
body.ns-site .ns-hotel-address-line i{color:var(--ns-blue)!important;margin-top:3px!important;}
body.ns-site .ns-hotel-price-box{flex:0 0 auto!important;min-width:150px!important;text-align:right!important;background:linear-gradient(180deg,#f5faff,#fff)!important;border:1px solid rgba(30,135,240,.2)!important;border-radius:18px!important;padding:13px 14px!important;}
body.ns-site .ns-hotel-price-box strong{display:block!important;color:var(--ns-blue)!important;font-size:24px!important;line-height:1.05!important;font-weight:950!important;white-space:nowrap!important;}
body.ns-site .ns-hotel-price-box span{display:block!important;color:#7a8da3!important;font-size:12px!important;font-weight:800!important;margin-top:4px!important;}
body.ns-site .ns-hotel-listing-body{display:grid!important;grid-template-columns:minmax(0,1fr) 270px!important;gap:16px!important;align-items:start!important;}
body.ns-site .ns-hotel-info-grid{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
body.ns-site .ns-hotel-info-grid span{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:9px 12px!important;border-radius:999px!important;background:#f8fbff!important;border:1px solid var(--ns-border)!important;color:#334e68!important;font-size:13px!important;font-weight:750!important;}
body.ns-site .ns-hotel-side-panel{display:flex!important;flex-direction:column!important;gap:10px!important;}
body.ns-site .ns-hotel-rating-box,body.ns-site .ns-hotel-distance-box{border:1px solid rgba(30,135,240,.16)!important;background:linear-gradient(180deg,#fbfdff,#f6faff)!important;border-radius:18px!important;padding:13px 14px!important;}
body.ns-site .ns-hotel-rating-box>span{display:block!important;text-transform:uppercase!important;letter-spacing:.06em!important;font-size:12px!important;font-weight:900!important;color:#294766!important;margin-bottom:6px!important;}
body.ns-site .ns-hotel-distance-box{display:grid!important;grid-template-columns:28px 1fr!important;gap:2px 10px!important;align-items:center!important;}
body.ns-site .ns-hotel-distance-box i{grid-row:1/3;color:var(--ns-blue)!important;}
body.ns-site .ns-hotel-distance-box span{font-size:13px!important;font-weight:800!important;color:#294766!important;}
body.ns-site .ns-hotel-distance-box strong{font-size:16px!important;color:var(--ns-blue)!important;font-weight:950!important;}
body.ns-site .ns-hotel-listing-footer{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;margin-top:auto!important;padding-top:4px!important;}
body.ns-site .ns-hotel-minor-meta{display:flex!important;gap:14px!important;flex-wrap:wrap!important;font-size:12px!important;color:#7d8da1!important;font-weight:750!important;opacity:.78!important;}
body.ns-site .ns-hotel-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
body.ns-site .ns-main-distance-row{background:linear-gradient(90deg,#f4f9ff,#fff)!important;border-left:4px solid var(--ns-blue)!important;}
body.ns-site .ns-main-distance-row td{padding-top:14px!important;padding-bottom:14px!important;}
@media(max-width:1100px){body.ns-site .ns-hotel-listing-card{grid-template-columns:320px minmax(0,1fr)!important;}body.ns-site .ns-hotel-listing-body{grid-template-columns:1fr!important;}body.ns-site .ns-hotel-side-panel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:959px){body.ns-site .ns-hero-actions-grid{grid-template-columns:1fr!important;}body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;}body.ns-site .ns-hotel-listing-photo,body.ns-site .ns-hotel-listing-photo img{min-height:260px!important;}body.ns-site .ns-hotel-listing-head{flex-direction:column!important;}body.ns-site .ns-hotel-price-box{text-align:left!important;}}
@media(max-width:639px){body.ns-site .ns-hero-hotel{min-height:420px!important;}body.ns-site .ns-hotel-listing-content{padding:18px!important;}body.ns-site .ns-hotel-room-title{font-size:24px!important;}body.ns-site .ns-hotel-side-panel{grid-template-columns:1fr!important;}body.ns-site .ns-hotel-listing-footer{flex-direction:column!important;align-items:flex-start!important;}body.ns-site .ns-hotel-actions{justify-content:flex-start!important;}}


/* ==========================================================
   NOMER-SVOBODEN PATCH v14
   Hero alignment and listing card structure by rows.
   ========================================================== */
body.ns-site .ns-hero-wrap{overflow:hidden!important;background:#07121f!important;}
body.ns-site .ns-hero-hotel{display:flex!important;align-items:center!important;min-height:420px!important;padding:42px 0!important;}
body.ns-site .ns-hero-hotel:before{background:linear-gradient(90deg,rgba(3,12,25,.86) 0%,rgba(4,15,29,.76) 42%,rgba(4,15,29,.36) 72%,rgba(4,15,29,.18) 100%)!important;}
body.ns-site .ns-hero-container{margin-top:0!important;margin-bottom:0!important;}
body.ns-site .ns-hero-content{max-width:760px!important;}
body.ns-site .ns-hero-hotel h1{margin:0 0 18px!important;}
body.ns-site .ns-hero-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;max-width:760px!important;margin-left:0!important;margin-right:0!important;overflow:visible!important;}
body.ns-site .ns-hero-card-mini{height:100%!important;display:flex!important;flex-direction:column!important;box-sizing:border-box!important;}
body.ns-site .ns-hero-card-mini h2{min-height:32px!important;margin:0 0 10px!important;}
body.ns-site .ns-hero-card-mini p{flex:1 1 auto!important;min-height:64px!important;margin:0 0 16px!important;}
body.ns-site .ns-hero-card-mini .uk-button{margin-top:auto!important;min-height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.ns-site .ns-hero-card-mini,body.ns-site .ns-hero-card-mini *{max-width:100%!important;}

body.ns-site .ns-hotel-listing-card{grid-template-columns:370px minmax(0,1fr)!important;}
body.ns-site .ns-hotel-listing-content{gap:16px!important;padding:24px 26px!important;}
body.ns-site .ns-hotel-listing-head{gap:22px!important;}
body.ns-site .ns-hotel-title-area{gap:10px!important;}
body.ns-site .ns-object-primary-line{font-size:18px!important;line-height:1.25!important;gap:10px!important;color:#23384f!important;}
body.ns-site .ns-object-primary-line .ns-hotel-stars{order:0!important;color:#f59e0b!important;font-size:15px!important;gap:2px!important;}
body.ns-site .ns-object-primary-line .ns-hotel-object-type{order:1!important;font-weight:850!important;color:#50667f!important;}
body.ns-site .ns-object-primary-line .ns-hotel-object-name{order:2!important;font-size:20px!important;font-weight:950!important;color:#0f1f35!important;}
body.ns-site .ns-hotel-object-type:before{content:none!important;}
body.ns-site .ns-hotel-address-line{background:#f8fbff!important;border:1px solid var(--ns-border)!important;border-radius:16px!important;padding:10px 12px!important;color:#4d637d!important;}
body.ns-site .ns-hotel-address-line span{font-weight:750!important;}
body.ns-site .ns-hotel-main-attraction{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;background:linear-gradient(90deg,#eff7ff 0%,#fff 100%)!important;border:1px solid rgba(30,135,240,.2)!important;border-left:4px solid var(--ns-blue)!important;border-radius:18px!important;padding:12px 14px!important;box-shadow:0 10px 26px rgba(30,135,240,.07)!important;}
body.ns-site .ns-hotel-main-attraction>i{width:34px!important;height:34px!important;border-radius:50%!important;background:#e3f1ff!important;color:var(--ns-blue)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
body.ns-site .ns-hotel-main-attraction .ns-attraction-label{display:block!important;color:#667e98!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.06em!important;margin-bottom:2px!important;}
body.ns-site .ns-hotel-main-attraction strong{display:block!important;color:#14314f!important;font-size:15px!important;font-weight:950!important;line-height:1.2!important;}
body.ns-site .ns-hotel-main-attraction>b{color:var(--ns-blue)!important;font-size:20px!important;font-weight:950!important;white-space:nowrap!important;}
body.ns-site .ns-hotel-room-title{font-size:32px!important;margin:2px 0 0!important;}
body.ns-site .ns-hotel-room-desc{margin:0!important;color:#52677f!important;font-size:15px!important;line-height:1.55!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
body.ns-site .ns-hotel-listing-body{grid-template-columns:minmax(0,1fr) 250px!important;gap:14px!important;align-items:stretch!important;}
body.ns-site .ns-rating-wide{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
body.ns-site .ns-hotel-side-panel,.ns-hotel-distance-box{display:none!important;}
@media(max-width:1100px){body.ns-site .ns-hotel-listing-card{grid-template-columns:330px minmax(0,1fr)!important;}body.ns-site .ns-hotel-listing-body{grid-template-columns:1fr!important;}body.ns-site .ns-rating-wide{height:auto!important;}}
@media(max-width:959px){body.ns-site .ns-hero-actions-grid{grid-template-columns:1fr!important;}body.ns-site .ns-hero-card-mini p{min-height:auto!important;}body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;}body.ns-site .ns-hotel-listing-head{flex-direction:column!important;}body.ns-site .ns-hotel-price-box{text-align:left!important;}body.ns-site .ns-hotel-main-attraction{grid-template-columns:34px minmax(0,1fr)!important;}body.ns-site .ns-hotel-main-attraction>b{grid-column:2!important;}}
@media(max-width:639px){body.ns-site .ns-hero-hotel{min-height:520px!important;padding:32px 0!important;}body.ns-site .ns-object-primary-line .ns-hotel-object-name{font-size:18px!important;}body.ns-site .ns-hotel-room-title{font-size:24px!important;}}


/* ==========================================================
   NOMER-SVOBODEN PATCH v15
   Refined hero, hotel listing ergonomics, unified forms and service sorting.
   ========================================================== */
body.ns-site .uk-button i, body.ns-site .ns-form-tabs a i, body.ns-site .uk-tab a i{margin-right:.45em!important;}
body.ns-site .ns-hero-wrap{overflow:hidden!important;}
body.ns-site .ns-hero-hotel{background-position:center center!important;min-height:470px!important;padding:36px 0!important;}
body.ns-site .ns-hero-hotel:before{background:linear-gradient(90deg,rgba(3,12,25,.84) 0%,rgba(6,18,32,.72) 36%,rgba(6,18,32,.30) 72%,rgba(6,18,32,.10) 100%)!important;}
body.ns-site .ns-hero-hotel:after{display:none!important;}
body.ns-site .ns-hero-container{display:flex!important;align-items:center!important;min-height:398px!important;}
body.ns-site .ns-hero-content{max-width:760px!important;padding:18px 0!important;}
body.ns-site .ns-hero-hotel h1{max-width:700px!important;font-size:clamp(36px,4.4vw,64px)!important;line-height:.98!important;letter-spacing:-.04em!important;margin:0 0 14px!important;}
body.ns-site .ns-hero-hotel p{max-width:630px!important;margin:0!important;}
body.ns-site .ns-hero-benefits{margin-top:18px!important;}
body.ns-site .ns-hero-actions-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:22px!important;margin-top:20px!important;max-width:760px!important;}
body.ns-site .ns-hero-card-mini{display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:208px!important;padding:20px 22px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(7,18,34,.34)!important;border-radius:22px!important;backdrop-filter:blur(8px)!important;box-shadow:0 16px 40px rgba(2,10,22,.18)!important;}
body.ns-site .ns-hero-card-mini h2{margin:0 0 10px!important;min-height:32px!important;display:flex!important;align-items:center!important;}
body.ns-site .ns-hero-card-mini p{margin:0 0 18px!important;min-height:72px!important;display:flex!important;align-items:flex-start!important;}
body.ns-site .ns-hero-action-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important;padding:0 26px!important;align-self:flex-start!important;}

body.ns-site .ns-hotel-listing-card{grid-template-columns:330px minmax(0,1fr)!important;border-radius:24px!important;}
body.ns-site .ns-hotel-listing-photo, body.ns-site .ns-hotel-listing-photo img{min-height:250px!important;}
body.ns-site .ns-hotel-listing-content{padding:20px 22px!important;gap:12px!important;}
body.ns-site .ns-hotel-listing-head{display:grid!important;grid-template-columns:minmax(0,1fr) 230px!important;gap:18px!important;align-items:start!important;}
body.ns-site .ns-hotel-title-area{gap:8px!important;}
body.ns-site .ns-object-primary-line{font-size:18px!important;line-height:1.15!important;gap:10px!important;}
body.ns-site .ns-object-primary-line .ns-hotel-object-name{font-size:22px!important;}
body.ns-site .ns-hotel-room-title{font-size:26px!important;line-height:1.08!important;margin:0!important;}
body.ns-site .ns-hotel-room-desc{font-size:14px!important;line-height:1.48!important;-webkit-line-clamp:2!important;}
body.ns-site .ns-hotel-address-line{padding:8px 12px!important;border-radius:14px!important;}
body.ns-site .ns-hotel-main-attraction{grid-template-columns:34px minmax(0,1fr) auto!important;padding:10px 12px!important;border-radius:16px!important;}
body.ns-site .ns-hotel-main-attraction strong{font-size:14px!important;}
body.ns-site .ns-hotel-main-attraction b{font-size:18px!important;}
body.ns-site .ns-hotel-side-panel{display:flex!important;flex-direction:column!important;gap:12px!important;}
body.ns-site .ns-hotel-price-box{min-width:0!important;padding:14px!important;border-radius:18px!important;text-align:right!important;}
body.ns-site .ns-hotel-price-box strong{font-size:20px!important;}
body.ns-site .ns-hotel-listing-body{grid-template-columns:1fr!important;gap:10px!important;}
body.ns-site .ns-hotel-info-grid{gap:8px!important;}
body.ns-site .ns-hotel-info-grid span{padding:8px 11px!important;font-size:12.5px!important;}
body.ns-site .ns-hotel-rating-box{padding:12px 14px!important;border-radius:18px!important;}
body.ns-site .ns-hotel-rating-box>span{margin-bottom:4px!important;}
body.ns-site .ns-hotel-listing-footer{padding-top:2px!important;}

body.ns-site .ns-main-distance-row td{vertical-align:middle!important;padding:16px 14px!important;background:transparent!important;}
body.ns-site .ns-main-distance-row td:first-child strong{display:block!important;font-size:15px!important;}
body.ns-site .ns-main-distance-row td:first-child .uk-text-meta{margin-top:4px!important;font-size:12px!important;font-weight:800!important;color:var(--ns-blue)!important;}
body.ns-site .ns-services-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
body.ns-site .ns-service-card{height:100%!important;display:flex!important;flex-direction:column!important;}
body.ns-site .ns-service-card .uk-form-controls{flex:1 1 auto!important;}

body.ns-site .ns-market-editor .ns-main-merged-card .uk-grid{align-items:start!important;}
body.ns-site .ns-market-editor .ns-merged-photo-panel{background:#f8fbff!important;border:1px dashed rgba(30,135,240,.22)!important;border-radius:18px!important;padding:14px!important;min-height:100%!important;}
body.ns-site .ns-market-editor .ns-amenity-card .uk-form-label{display:none!important;}
body.ns-site .ns-market-editor .ns-check-card{margin-bottom:2px!important;}
body.ns-site .ns-market-editor .ns-check-card .uk-form-controls{background:#fff!important;border:1px solid var(--ns-border)!important;border-radius:14px!important;padding:8px 10px!important;min-height:44px!important;display:flex!important;align-items:center!important;}

/* Market list uses the same cards as homepage, but shows the full catalog in one column. */
body.ns-site .ns-market-listings-one{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
body.ns-site .ns-market-page .ns-market-layout{
  grid-template-columns:1fr!important;
}
body.ns-site .ns-market-page .ns-market-content{
  width:100%!important;
  min-width:0!important;
}
body.ns-site .ns-market-listings-one>.ns-hotel-listing-card:nth-of-type(n+5){
  display:grid!important;
}
body.ns-site .ns-market-listing-card .ns-hotel-listing-photo{
  position:relative!important;
}
body.ns-site .ns-hotel-photo-link{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:inherit!important;
  color:inherit!important;
  text-decoration:none!important;
}
body.ns-site .ns-list-fav-pin{
  position:absolute!important;
  z-index:4!important;
  top:14px!important;
  left:14px!important;
  width:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1px solid rgba(225,232,240,.92)!important;
  color:#be123c!important;
  text-decoration:none!important;
  box-shadow:0 10px 24px rgba(15,23,42,.18)!important;
  transition:background-color .18s ease,color .18s ease,transform .18s ease,border-color .18s ease!important;
}
body.ns-site .ns-list-fav-pin-under{
  top:62px!important;
}
body.ns-site .ns-list-fav-pin:hover,
body.ns-site .ns-list-fav-pin.is-active{
  background:#be123c!important;
  border-color:#be123c!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
body.ns-site .ns-top-room-badge{
  position:absolute!important;
  z-index:4!important;
  top:62px!important;
  left:14px!important;
  width:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  border:0!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(22,163,74,.22)!important;
}
body.ns-site .ns-top-room-badge i{
  font-size:17px!important;
  font-weight:900!important;
  text-shadow:0 0 0 #fff, .45px 0 0 #fff, 0 .45px 0 #fff!important;
}
body.ns-site .ns-top-room-badge-under-featured{
  top:110px!important;
}
body.ns-site .ns-paymarkettop-preview,
body.ns-site .ns-paymarkettop-plan-accent{
  background:linear-gradient(135deg,#ecfdf5,#f0fdf4)!important;
  border-color:rgba(34,197,94,.32)!important;
}
body.ns-site .ns-paymarkettop-preview span,
body.ns-site .ns-paymarkettop-hero .ns-paymarketbold-kicker{
  color:#15803d!important;
}
body.ns-site .ns-hotel-listing-featured{
  border-color:rgba(245,158,11,.72)!important;
  box-shadow:0 20px 54px rgba(245,158,11,.16),0 18px 42px rgba(15,23,42,.08)!important;
}
body.ns-site .ns-hotel-listing-featured .ns-hotel-listing-content{
  background:linear-gradient(180deg,#fffaf0 0%,#ffffff 42%)!important;
}
body.ns-site .ns-featured-room-badge{
  position:absolute!important;
  z-index:3!important;
  top:14px!important;
  left:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#f59e0b,#f97316)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  box-shadow:0 10px 24px rgba(245,158,11,.26)!important;
  transition:width .22s ease,box-shadow .22s ease,gap .22s ease,padding .22s ease!important;
}
body.ns-site .ns-featured-room-badge i{
  flex:0 0 auto!important;
  width:42px!important;
  text-align:center!important;
  font-size:15px!important;
}
body.ns-site .ns-featured-room-badge span{
  display:inline-block!important;
  max-width:0!important;
  opacity:0!important;
  overflow:hidden!important;
  transition:max-width .22s ease,opacity .18s ease!important;
}
body.ns-site .ns-featured-room-badge:hover,
body.ns-site .ns-hotel-listing-featured:hover .ns-featured-room-badge{
  width:190px!important;
  gap:0!important;
  padding-right:14px!important;
  box-shadow:0 14px 30px rgba(245,158,11,.34)!important;
}
body.ns-site .ns-featured-room-badge:hover span,
body.ns-site .ns-hotel-listing-featured:hover .ns-featured-room-badge span{
  max-width:140px!important;
  opacity:1!important;
}
body.ns-site .ns-market-listing-card .ns-hotel-listing-content,
body.ns-site .ns-marketfav-list .ns-hotel-listing-content{
  min-height:100%!important;
}
body.ns-site .ns-market-listing-card .ns-hotel-listing-footer,
body.ns-site .ns-marketfav-list .ns-hotel-listing-footer{
  margin-top:auto!important;
}
body.ns-site .ns-marketfav-page{
  padding:36px 0 64px!important;
  background:#f6fbff!important;
}
body.ns-site .ns-marketfav-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:24px!important;
  padding:26px!important;
  border-radius:8px!important;
  background:#fff!important;
  border:1px solid var(--ns-border)!important;
  box-shadow:0 16px 38px rgba(15,23,42,.06)!important;
}
body.ns-site .ns-marketfav-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  font-size:12px!important;
  font-weight:900!important;
  margin-bottom:10px!important;
}
body.ns-site .ns-marketfav-head h1{
  margin:0 0 8px!important;
  color:#0f2738!important;
  font-size:34px!important;
  font-weight:950!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}
body.ns-site .ns-marketfav-head p{
  margin:0!important;
  color:#60738a!important;
}
body.ns-site .ns-marketfav-row-action form{
  margin:0!important;
}
body.ns-site .ns-marketfav-row-action a,
body.ns-site .ns-marketfav-row-action button,
body.ns-site .ns-fav-toggle-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  background:#fff1f2!important;
  border:1px solid #fecdd3!important;
  color:#be123c!important;
  font-weight:850!important;
  text-decoration:none!important;
  cursor:pointer!important;
  font-family:inherit!important;
  line-height:1.2!important;
}
body.ns-site .ns-marketfav-row-action button.is-active,
body.ns-site .ns-fav-toggle-btn.is-active{
  background:#be123c!important;
  border-color:#be123c!important;
  color:#fff!important;
}
body.ns-site .ns-marketfav-test-action{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-bottom:16px!important;
  padding:12px!important;
  border-radius:8px!important;
  background:#fff!important;
  border:1px dashed rgba(244,63,94,.32)!important;
}
body.ns-site .ns-marketfav-test-label{
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
body.ns-site .ns-marketfav-test-form{
  margin:0!important;
}
body.ns-site .ns-fav-remove-btn{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  padding:0!important;
  overflow:hidden!important;
  gap:0!important;
  color:#be123c!important;
  border-color:#fecdd3!important;
  background:#fff!important;
  transition:max-width .2s ease,width .2s ease,padding .2s ease,gap .2s ease,background-color .18s ease,color .18s ease!important;
}
body.ns-site .ns-fav-remove-btn i{
  flex:0 0 42px!important;
  width:42px!important;
  margin:0!important;
  text-align:center!important;
}
body.ns-site .ns-fav-remove-btn span{
  white-space:nowrap!important;
  opacity:0!important;
  transition:opacity .16s ease!important;
}
body.ns-site .ns-fav-remove-btn:hover{
  width:190px!important;
  max-width:190px!important;
  padding-right:14px!important;
  gap:6px!important;
  background:#fff1f2!important;
  color:#be123c!important;
  border-color:#fecdd3!important;
}
body.ns-site .ns-fav-remove-btn:hover span{
  opacity:1!important;
}
@media(max-width:959px){
  body.ns-site .ns-marketfav-head{align-items:flex-start!important;flex-direction:column!important;}
}
body.ns-site .ns-management-paylink,
body.ns-site .ns-management-paylink a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
body.ns-site .ns-management-paylink a{
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:10px!important;
  background:#fff7ed!important;
  border:1px solid rgba(245,158,11,.34)!important;
  color:#9a3412!important;
  font-weight:850!important;
  text-decoration:none!important;
}
body.ns-site .ns-management-paylink a:before{
  content:"\f005"!important;
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free"!important;
  font-weight:900!important;
}
body.ns-site .ns-management-paylink a:hover{
  background:#f59e0b!important;
  border-color:#f59e0b!important;
  color:#fff!important;
}

body.ns-site .ns-paymarketbold-page{
  min-height:100vh!important;
  padding:54px 0 70px!important;
  background:linear-gradient(180deg,#f6fbff 0%,#fff 100%)!important;
}
body.ns-site .ns-paymarketbold-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:28px!important;
  align-items:stretch!important;
  padding:34px!important;
  border-radius:8px!important;
  background:linear-gradient(135deg,#0f3b57 0%,#147c72 100%)!important;
  color:#fff!important;
  box-shadow:0 24px 64px rgba(15,59,87,.22)!important;
}
body.ns-site .ns-paymarketbold-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:32px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  font-size:12px!important;
  font-weight:900!important;
  margin-bottom:16px!important;
}
body.ns-site .ns-paymarketbold-hero h1{
  margin:0 0 12px!important;
  color:#fff!important;
  font-size:44px!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:0!important;
}
body.ns-site .ns-paymarketbold-hero p{
  margin:0!important;
  max-width:680px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:16px!important;
  line-height:1.6!important;
}
body.ns-site .ns-paymarketbold-preview{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  min-height:180px!important;
  padding:20px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
body.ns-site .ns-paymarketbold-preview span{
  align-self:flex-start!important;
  display:inline-flex!important;
  gap:8px!important;
  align-items:center!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#f59e0b!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:12px!important;
}
body.ns-site .ns-paymarketbold-preview strong{
  color:#fff!important;
  font-size:22px!important;
  line-height:1.18!important;
}
body.ns-site .ns-paymarketbold-plans{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:26px!important;
}
body.ns-site .ns-paymarketbold-plan{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  min-height:100%!important;
  padding:24px!important;
  border-radius:8px!important;
  background:#fff!important;
  border:1px solid var(--ns-border)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
body.ns-site .ns-paymarketbold-plan-accent{
  border-color:rgba(245,158,11,.55)!important;
  box-shadow:0 24px 56px rgba(245,158,11,.16),0 18px 42px rgba(15,23,42,.08)!important;
}
body.ns-site .ns-paymarketbold-plan-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  color:#0f2738!important;
  font-size:20px!important;
  font-weight:950!important;
}
body.ns-site .ns-paymarketbold-plan-head i{color:#f59e0b!important;}
body.ns-site .ns-paymarketbold-price{
  display:flex!important;
  align-items:flex-end!important;
  gap:8px!important;
  color:#147c72!important;
}
body.ns-site .ns-paymarketbold-price strong{
  font-size:38px!important;
  line-height:1!important;
  font-weight:950!important;
}
body.ns-site .ns-paymarketbold-price span{
  padding-bottom:5px!important;
  color:#64748b!important;
  font-weight:800!important;
}
body.ns-site .ns-paymarketbold-plan del{
  color:#ef4444!important;
  font-weight:800!important;
}
body.ns-site .ns-paymarketbold-plan p{
  flex:1 1 auto!important;
  margin:0!important;
  color:#60738a!important;
  line-height:1.55!important;
}
body.ns-site .ns-paymarketbold-buy{
  min-height:50px!important;
  border-radius:8px!important;
  background:#147c72!important;
  border-color:#147c72!important;
  font-weight:900!important;
}
@media(max-width:959px){
  body.ns-site .ns-paymarketbold-hero{grid-template-columns:1fr!important;}
  body.ns-site .ns-paymarketbold-plans{grid-template-columns:1fr!important;}
}
@media(max-width:639px){
  body.ns-site .ns-paymarketbold-page{padding:28px 0 46px!important;}
  body.ns-site .ns-paymarketbold-hero{padding:24px 18px!important;}
  body.ns-site .ns-paymarketbold-hero h1{font-size:32px!important;}
}
body.ns-site .ns-market-editor .ns-price-combined-card .uk-badge{background:#eef6ff!important;color:var(--ns-blue)!important;font-size:1.05rem!important;min-width:78px!important;}
body.ns-site .ns-market-editor .ns-price-grid{margin-top:10px!important;}
body.ns-site .ns-market-editor .ns-price-cell{padding:10px 12px!important;}
@media(max-width:1100px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-listing-head{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-price-box{text-align:left!important;}
}
@media(max-width:959px){
  body.ns-site .ns-hero-hotel{min-height:520px!important;}
  body.ns-site .ns-hero-actions-grid{grid-template-columns:1fr!important;}
  body.ns-site .ns-hero-card-mini{min-height:auto!important;}
  body.ns-site .ns-services-grid{grid-template-columns:1fr!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v16
   Compact latest-room price/rating, simple address row, new hero image, photo scaling.
   ========================================================== */
body.ns-site .ns-hero-hotel{background-image:url('../img/ns-hero-premium-original-v24.webp')!important;background-position:center center!important;}
body.ns-site .ns-hero-hotel:before{background:linear-gradient(90deg,rgba(4,12,24,.86) 0%,rgba(4,14,28,.72) 34%,rgba(4,14,28,.30) 68%,rgba(4,14,28,.08) 100%)!important;}

/* latest rooms: reduce photo zoom and compress side blocks */
body.ns-site .ns-hotel-listing-card{grid-template-columns:300px minmax(0,1fr)!important;}
body.ns-site .ns-hotel-listing-photo{background:#f3f7fb!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:238px!important;}
body.ns-site .ns-hotel-listing-photo img{
  width:100%!important;
  height:100%!important;
  min-height:238px!important;
  object-fit:contain!important;
  background:#f3f7fb!important;
  padding:8px!important;
  box-sizing:border-box!important;
  transform:none!important;
}
body.ns-site .ns-hotel-listing-card:hover .ns-hotel-listing-photo img{transform:none!important;}
body.ns-site .ns-hotel-listing-head{grid-template-columns:minmax(0,1fr) 150px!important;gap:16px!important;}
body.ns-site .ns-hotel-side-panel{display:flex!important;flex-direction:column!important;gap:10px!important;width:150px!important;justify-self:end!important;}
body.ns-site .ns-hotel-price-box,
body.ns-site .ns-hotel-rating-box{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  padding:10px 11px!important;
  border-radius:15px!important;
  box-sizing:border-box!important;
}
body.ns-site .ns-hotel-price-box strong{font-size:19px!important;line-height:1.05!important;}
body.ns-site .ns-hotel-price-box span{font-size:11px!important;}
body.ns-site .ns-hotel-rating-box>span{font-size:10px!important;letter-spacing:.04em!important;margin-bottom:4px!important;}
body.ns-site .ns-hotel-rating-box .ns-latest-rating{transform:scale(.92);transform-origin:left center;}

/* simple address string without card styling */
body.ns-site .ns-hotel-address-line{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  color:#607289!important;
  font-size:14px!important;
  line-height:1.35!important;
}
body.ns-site .ns-hotel-address-line span{font-weight:700!important;}
body.ns-site .ns-hotel-address-line i{color:var(--ns-blue)!important;margin-top:2px!important;}

/* distance as compact label under address */
body.ns-site .ns-hotel-main-attraction{display:none!important;}
body.ns-site .ns-hotel-distance-label{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#eef6ff!important;
  border:1px solid #d6e9ff!important;
  color:#42617d!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.15!important;
}
body.ns-site .ns-hotel-distance-label i{color:var(--ns-blue)!important;font-size:12px!important;}
body.ns-site .ns-hotel-distance-label b{color:var(--ns-blue)!important;font-weight:950!important;white-space:nowrap!important;}
body.ns-site .ns-hotel-distance-label span{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}

/* calmer action buttons */
body.ns-site .ns-hotel-actions .uk-button-primary,
body.ns-site .ns-hotel-actions .uk-button-default{
  background:#fff!important;
  color:#23415f!important;
  border:1px solid var(--ns-border)!important;
  box-shadow:none!important;
}
body.ns-site .ns-hotel-actions .uk-button-primary:hover,
body.ns-site .ns-hotel-actions .uk-button-default:hover{
  background:#f4f9ff!important;
  color:var(--ns-blue)!important;
  border-color:#c7e0fb!important;
  transform:translateY(-1px)!important;
}
@media(max-width:1100px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-listing-head{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-side-panel{width:100%!important;max-width:none!important;justify-self:stretch!important;display:grid!important;grid-template-columns:repeat(2,150px)!important;justify-content:start!important;}
  body.ns-site .ns-hotel-listing-photo,body.ns-site .ns-hotel-listing-photo img{min-height:260px!important;}
}
@media(max-width:639px){
  body.ns-site .ns-hotel-side-panel{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-price-box,body.ns-site .ns-hotel-rating-box{width:100%!important;max-width:none!important;min-width:0!important;}
  body.ns-site .ns-hotel-distance-label{width:100%!important;white-space:normal!important;}
  body.ns-site .ns-hotel-distance-label span{white-space:normal!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v17
   Rectangular latest room photos + fixed market gallery attach output.
   ========================================================== */
body.ns-site .ns-hotel-listing-card{
  grid-template-columns:430px minmax(0,1fr)!important;
  min-height:auto!important;
}
body.ns-site .ns-hotel-listing-photo{
  min-height:235px!important;
  height:235px!important;
  background:#f3f7fb!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
body.ns-site .ns-hotel-listing-photo img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
body.ns-site .ns-hotel-listing-content{
  padding:16px 18px!important;
  gap:9px!important;
}
body.ns-site .ns-hotel-listing-head{
  grid-template-columns:minmax(0,1fr) 150px!important;
  gap:14px!important;
}
body.ns-site .ns-object-primary-line{
  font-size:15px!important;
  gap:8px!important;
}
body.ns-site .ns-object-primary-line .ns-hotel-object-name{
  font-size:18px!important;
}
body.ns-site .ns-hotel-room-title{
  font-size:23px!important;
  line-height:1.05!important;
}
body.ns-site .ns-hotel-room-desc{
  font-size:13px!important;
  line-height:1.38!important;
}
body.ns-site .ns-hotel-address-line{
  font-size:12.5px!important;
  line-height:1.35!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.ns-site .ns-hotel-distance-label{
  padding:5px 8px!important;
  font-size:11.5px!important;
  border-radius:999px!important;
  max-width:max-content!important;
}
body.ns-site .ns-hotel-price-box,
body.ns-site .ns-hotel-rating-box{
  width:150px!important;
  min-width:150px!important;
  padding:10px 11px!important;
}
body.ns-site .ns-hotel-price-box strong{
  font-size:18px!important;
}
body.ns-site .ns-hotel-price-box span,
body.ns-site .ns-hotel-rating-box>span{
  font-size:10.5px!important;
  letter-spacing:.04em!important;
}
body.ns-site .ns-hotel-info-grid span{
  padding:6px 9px!important;
  font-size:11.5px!important;
}
body.ns-site .ns-hotel-listing-footer{
  margin-top:2px!important;
}
body.ns-site .ns-hotel-actions .uk-button{
  min-height:38px!important;
  padding:0 18px!important;
  border-radius:999px!important;
}
body.ns-site .ns-hotel-actions .uk-button-primary{
  background:#fff!important;
  color:var(--ns-blue)!important;
  border:1px solid #d9e8f8!important;
  box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}
body.ns-site .ns-hotel-actions .uk-button-primary:hover,
body.ns-site .ns-hotel-actions .uk-button-default:hover{
  background:var(--ns-blue)!important;
  color:#fff!important;
  border-color:var(--ns-blue)!important;
}
/* market view page gallery fallback/appearance */
body.ns-site .main-slideshow-items,
body.ns-site .main-slideshow-item{
  min-height:430px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#f3f7fb!important;
}
body.ns-site .main-slideshow-item img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.ns-site .thumbnail-container{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  padding:12px 4px!important;
}
body.ns-site .thumbnail-item img{
  object-fit:cover!important;
  border-radius:12px!important;
}
@media(max-width:1200px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:390px minmax(0,1fr)!important;}
  body.ns-site .ns-hotel-listing-head{grid-template-columns:minmax(0,1fr) 145px!important;}
}
@media(max-width:959px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-listing-photo{height:260px!important;}
  body.ns-site .ns-hotel-listing-head{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-side-panel{display:grid!important;grid-template-columns:150px 150px!important;gap:10px!important;}
  body.ns-site .main-slideshow-items,body.ns-site .main-slideshow-item{min-height:300px!important;}
}
@media(max-width:639px){
  body.ns-site .ns-hotel-listing-photo{height:220px!important;}
  body.ns-site .ns-hotel-side-panel{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-price-box,body.ns-site .ns-hotel-rating-box{width:100%!important;min-width:0!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v18
   Final hotel-card, auth and review polish.
   ========================================================== */
body.ns-site .ns-home-destination-card .uk-card-body{
  min-height:132px!important;
  grid-template-rows:52px auto!important;
  padding:14px 16px 10px!important;
}
body.ns-site .ns-home-destinations .uk-card-title{min-height:52px!important;margin:0 0 6px!important;}
body.ns-site .ns-home-destinations .card-tags{gap:7px!important;}
body.ns-site .ns-home-destinations .card-tag{height:40px!important;min-height:40px!important;}

body.ns-site .ns-hotel-listings{gap:16px!important;}
body.ns-site .ns-hotel-listing-card{
  grid-template-columns:420px minmax(0,1fr)!important;
  min-height:236px!important;
  height:236px!important;
  align-items:stretch!important;
}
body.ns-site .ns-hotel-listing-photo{
  min-height:236px!important;
  height:236px!important;
  background:#eff5fb!important;
  overflow:hidden!important;
}
body.ns-site .ns-hotel-listing-photo img{
  width:100%!important;
  height:100%!important;
  min-height:236px!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
body.ns-site .ns-hotel-listing-content{padding:18px 20px!important;gap:10px!important;min-height:236px!important;}
body.ns-site .ns-hotel-listing-head{grid-template-columns:minmax(0,1fr) 118px!important;gap:14px!important;}
body.ns-site .ns-object-primary-line{font-size:16px!important;gap:8px!important;align-items:center!important;}
body.ns-site .ns-object-primary-line .ns-hotel-object-name{font-size:19px!important;line-height:1.1!important;}
body.ns-site .ns-hotel-room-title{font-size:22px!important;line-height:1.05!important;display:-webkit-box!important;-webkit-line-clamp:1!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
body.ns-site .ns-hotel-room-desc{font-size:13px!important;line-height:1.35!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin:0!important;}
body.ns-site .ns-address-simple-line{background:none!important;border:0!important;padding:0!important;border-radius:0!important;color:#5f7288!important;font-size:13px!important;line-height:1.32!important;}
body.ns-site .ns-address-simple-line span{font-weight:600!important;}
body.ns-site .ns-hotel-distance-label{
  display:inline-flex!important;align-items:center!important;gap:8px!important;align-self:flex-start!important;
  padding:5px 10px!important;border-radius:999px!important;background:#f5f9ff!important;border:1px solid rgba(30,135,240,.15)!important;
  color:#5b6f86!important;font-size:11px!important;line-height:1.2!important;margin-top:0!important;
}
body.ns-site .ns-hotel-distance-label b{font-size:11px!important;color:var(--ns-blue)!important;font-weight:800!important;}
body.ns-site .ns-hotel-distance-label span{font-weight:700!important;}
body.ns-site .ns-hotel-side-panel{gap:10px!important;}
body.ns-site .ns-hotel-price-box,
body.ns-site .ns-hotel-rating-box{width:118px!important;min-width:118px!important;max-width:118px!important;padding:12px 10px!important;border-radius:18px!important;}
body.ns-site .ns-hotel-price-box strong{font-size:16px!important;line-height:1.05!important;display:block!important;}
body.ns-site .ns-hotel-price-box span{font-size:11px!important;line-height:1.1!important;}
body.ns-site .ns-hotel-rating-box>span{font-size:11px!important;letter-spacing:.03em!important;text-transform:uppercase!important;margin-bottom:2px!important;}
body.ns-site .ns-hotel-info-grid{gap:7px!important;}
body.ns-site .ns-hotel-info-grid span{padding:6px 10px!important;font-size:12px!important;}
body.ns-site .ns-hotel-listing-footer{padding-top:0!important;gap:12px!important;}
body.ns-site .ns-hotel-actions .uk-button{background:#fff!important;color:#10284a!important;border:1px solid #d7e3f1!important;box-shadow:none!important;}
body.ns-site .ns-hotel-actions .uk-button:hover{background:#f6faff!important;color:var(--ns-blue)!important;border-color:#bfd5ef!important;}

body.ns-site .booking-card.uk-position-sticky{max-height:none!important;overflow:visible!important;scrollbar-width:none!important;}
body.ns-site .booking-card.uk-position-sticky::-webkit-scrollbar{display:none!important;width:0!important;}
body.ns-site .monthly-prices-details,
body.ns-site .monthly-prices-details[open],
body.ns-site .monthly-prices{overflow:visible!important;}

body.ns-site .uk-comment,
body.ns-site .uk-comment:hover,
body.ns-site .uk-comment-list>li,
body.ns-site .uk-comment-list>li:hover,
body.ns-site [class*="comment"],
body.ns-site [class*="comment"]:hover,
body.ns-site [class*="review"],
body.ns-site [class*="review"]:hover,
body.ns-site [class*="otziv"],
body.ns-site [class*="otziv"]:hover{
  border-left:0!important;
  outline:none!important;
  box-shadow:none!important;
}
body.ns-site .uk-comment::before,
body.ns-site [class*="comment"]::before,
body.ns-site [class*="review"]::before,
body.ns-site [class*="otziv"]::before{display:none!important;content:none!important;}

body.ns-site .ns-auth-page{
  min-height:100vh!important;background-size:cover!important;background-position:center center!important;position:relative!important;padding:40px 0!important;
}
body.ns-site .ns-auth-overlay{position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(6,16,31,.84) 0%,rgba(9,25,48,.72) 40%,rgba(9,25,48,.42) 100%)!important;}
body.ns-site .ns-auth-promo{position:relative!important;z-index:2!important;padding-right:24px!important;}
body.ns-site .ns-auth-badge{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:8px 14px!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;font-size:13px!important;font-weight:700!important;margin-bottom:18px!important;}
body.ns-site .ns-auth-promo h1{font-size:48px!important;line-height:.98!important;color:#fff!important;margin:0 0 14px!important;}
body.ns-site .ns-auth-promo p{max-width:560px!important;color:rgba(255,255,255,.88)!important;font-size:18px!important;line-height:1.5!important;margin:0 0 18px!important;}
body.ns-site .ns-auth-features{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;gap:10px!important;}
body.ns-site .ns-auth-features li{color:#fff!important;font-size:15px!important;font-weight:600!important;display:flex!important;gap:10px!important;align-items:flex-start!important;}
body.ns-site .ns-auth-features i{color:#7fc3ff!important;margin-top:3px!important;}
body.ns-site .ns-auth-form-wrap{position:relative!important;z-index:2!important;}
body.ns-site .ns-auth-card{border-radius:28px!important;border:1px solid rgba(255,255,255,.25)!important;box-shadow:0 30px 80px rgba(4,10,20,.28)!important;background:rgba(255,255,255,.98)!important;overflow:hidden!important;}
body.ns-site .ns-auth-card .uk-card-body{padding:34px 32px!important;}
body.ns-site .ns-auth-logo-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:18px!important;}
body.ns-site .ns-auth-logo-row span{font-size:13px!important;font-weight:700!important;color:#66809b!important;}
body.ns-site .ns-auth-card h2{font-size:34px!important;line-height:1!important;color:#10284a!important;margin:0 0 10px!important;}
body.ns-site .ns-auth-subtitle{font-size:14px!important;line-height:1.55!important;color:#73859a!important;margin:0 0 16px!important;}
body.ns-site .ns-auth-card .uk-input, body.ns-site .ns-auth-card .uk-select, body.ns-site .ns-auth-card input[type="password"], body.ns-site .ns-auth-card input[type="text"], body.ns-site .ns-auth-card input[type="email"]{min-height:52px!important;border-radius:16px!important;background:#f8fbff!important;border:1px solid #dbe6f3!important;}
body.ns-site .ns-auth-card .uk-button{min-height:52px!important;font-size:16px!important;}
body.ns-site .ns-auth-divider{display:flex!important;align-items:center!important;gap:12px!important;margin:18px 0 8px!important;color:#8da1b7!important;font-size:12px!important;font-weight:700!important;text-transform:uppercase!important;}
body.ns-site .ns-auth-divider::before, body.ns-site .ns-auth-divider::after{content:""!important;flex:1 1 auto!important;height:1px!important;background:#e3ecf6!important;}

@media(max-width:1200px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:380px minmax(0,1fr)!important;}
}
@media(max-width:959px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;height:auto!important;min-height:0!important;}
  body.ns-site .ns-hotel-listing-photo{height:240px!important;min-height:240px!important;}
  body.ns-site .ns-hotel-listing-head{grid-template-columns:1fr!important;}
  body.ns-site .ns-hotel-price-box,body.ns-site .ns-hotel-rating-box{width:140px!important;max-width:none!important;}
  body.ns-site .ns-auth-promo h1{font-size:38px!important;}
}
@media(max-width:639px){
  body.ns-site .ns-home-destination-card .uk-card-body{min-height:120px!important;grid-template-rows:auto auto!important;}
  body.ns-site .ns-home-destinations .card-tags{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.ns-site .ns-hotel-listing-photo{height:220px!important;min-height:220px!important;}
  body.ns-site .ns-auth-card .uk-card-body{padding:24px 20px!important;}
  body.ns-site .ns-auth-promo h1{font-size:30px!important;}
  body.ns-site .ns-auth-promo p{font-size:15px!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v19
   City card compact bottom, repaired latest rooms layout, premium auth.
   ========================================================== */
/* Make bottom whitespace in destination cards much smaller */
body.ns-site .ns-home-destination-card .uk-card-body{
  min-height:112px!important;
  padding:12px 14px 8px!important;
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:start!important;
}
body.ns-site .ns-home-destinations .uk-card-title{
  min-height:42px!important;
  margin:0 0 6px!important;
  font-size:24px!important;
  line-height:1.02!important;
}
body.ns-site .ns-home-destinations .card-tags{
  grid-template-rows:repeat(2, 36px)!important;
  gap:6px!important;
  margin:0!important;
}
body.ns-site .ns-home-destinations .card-tag{
  height:36px!important;
  min-height:36px!important;
  padding:3px 7px!important;
  font-size:11px!important;
}

/* Repair latest room cards: larger background image, taller card, right price/rating */
body.ns-site .ns-hotel-listings{gap:18px!important;}
body.ns-site .ns-hotel-listing-card{
  display:grid!important;
  grid-template-columns:430px minmax(0,1fr)!important;
  min-height:288px!important;
  height:288px!important;
  align-items:stretch!important;
  border-radius:26px!important;
  overflow:hidden!important;
}
body.ns-site .ns-hotel-listing-photo{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:288px!important;
  min-height:288px!important;
  background:#eef5fb!important;
  overflow:hidden!important;
}
body.ns-site .ns-hotel-listing-photo img{
  width:100%!important;
  height:100%!important;
  min-height:288px!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:none!important;
}
body.ns-site .ns-hotel-listing-content{
  min-height:288px!important;
  height:288px!important;
  padding:22px 24px!important;
  gap:12px!important;
  display:flex!important;
  flex-direction:column!important;
}
body.ns-site .ns-hotel-listing-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 150px!important;
  gap:22px!important;
  align-items:start!important;
}
body.ns-site .ns-hotel-side-panel{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  align-items:flex-end!important;
}
body.ns-site .ns-hotel-price-box,
body.ns-site .ns-hotel-rating-box{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  box-sizing:border-box!important;
}
body.ns-site .ns-hotel-price-box{text-align:right!important;padding:12px 13px!important;}
body.ns-site .ns-hotel-price-box strong{font-size:19px!important;line-height:1.05!important;white-space:nowrap!important;}
body.ns-site .ns-hotel-price-box span{font-size:11px!important;}
body.ns-site .ns-hotel-rating-box{padding:11px 13px!important;}
body.ns-site .ns-hotel-rating-box>span{font-size:10px!important;letter-spacing:.03em!important;margin-bottom:3px!important;}
body.ns-site .ns-object-primary-line{font-size:17px!important;gap:8px!important;}
body.ns-site .ns-object-primary-line .ns-hotel-object-name{font-size:20px!important;line-height:1.12!important;}
body.ns-site .ns-address-simple-line{
  background:none!important;border:0!important;border-radius:0!important;padding:0!important;
  font-size:13px!important;line-height:1.35!important;color:#5f7288!important;
}
body.ns-site .ns-address-simple-line span{font-weight:650!important;}
body.ns-site .ns-hotel-distance-label{
  display:inline-flex!important;align-items:center!important;gap:7px!important;
  padding:5px 10px!important;border-radius:999px!important;background:#f5f9ff!important;border:1px solid rgba(30,135,240,.15)!important;
  color:#5b6f86!important;font-size:11px!important;line-height:1.2!important;align-self:flex-start!important;
}
body.ns-site .ns-hotel-distance-label b{font-size:11px!important;color:var(--ns-blue)!important;white-space:nowrap!important;}
body.ns-site .ns-hotel-room-title{font-size:25px!important;line-height:1.08!important;margin:0!important;}
body.ns-site .ns-hotel-room-desc{font-size:13.5px!important;line-height:1.45!important;-webkit-line-clamp:2!important;margin:0!important;}
body.ns-site .ns-hotel-info-grid span{padding:7px 10px!important;font-size:12px!important;}
body.ns-site .ns-hotel-listing-footer{margin-top:auto!important;}
body.ns-site .ns-hotel-actions .uk-button{background:#fff!important;color:#10284a!important;border:1px solid #d7e3f1!important;box-shadow:none!important;}
body.ns-site .ns-hotel-actions .uk-button:hover{background:#f6faff!important;color:var(--ns-blue)!important;border-color:#bfd5ef!important;}

/* Clean premium auth pages */
body.ns-site .ns-auth-page-v19{
  min-height:100vh!important;
  position:relative!important;
  background-size:cover!important;
  background-position:center center!important;
  padding:42px 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.ns-site .ns-auth-page-overlay{
  position:absolute!important;inset:0!important;
  background:linear-gradient(115deg,rgba(5,15,31,.88) 0%,rgba(7,22,42,.70) 44%,rgba(7,22,42,.35) 100%)!important;
}
body.ns-site .ns-auth-shell{
  position:relative!important;z-index:2!important;width:min(1120px,100%)!important;
  display:grid!important;grid-template-columns:minmax(0,430px) minmax(420px,560px)!important;
  gap:34px!important;align-items:center!important;justify-content:center!important;
}
body.ns-site .ns-auth-side-card{
  padding:28px!important;border-radius:28px!important;background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.16)!important;backdrop-filter:blur(12px)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.18)!important;
}
body.ns-site .ns-auth-kicker{display:inline-flex!important;gap:8px!important;align-items:center!important;padding:8px 12px!important;border-radius:999px!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:12px!important;font-weight:900!important;margin-bottom:18px!important;}
body.ns-site .ns-auth-side-card h1{margin:0 0 14px!important;color:#fff!important;font-size:42px!important;line-height:1.04!important;letter-spacing:-.035em!important;}
body.ns-site .ns-auth-side-card p{color:rgba(255,255,255,.84)!important;font-size:16px!important;line-height:1.6!important;margin:0 0 18px!important;}
body.ns-site .ns-auth-mini-features{display:grid!important;gap:10px!important;}
body.ns-site .ns-auth-mini-features span{display:flex!important;gap:9px!important;align-items:center!important;color:#fff!important;font-weight:800!important;font-size:14px!important;}
body.ns-site .ns-auth-mini-features i{color:#83c7ff!important;}
body.ns-site .ns-auth-card-v19{
  background:rgba(255,255,255,.98)!important;border-radius:30px!important;padding:34px!important;
  border:1px solid rgba(255,255,255,.32)!important;box-shadow:0 32px 90px rgba(3,12,25,.32)!important;
}
body.ns-site .ns-auth-card-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:18px!important;}
body.ns-site .ns-auth-card-head span{font-size:13px!important;font-weight:800!important;color:#6b7f95!important;}
body.ns-site .ns-auth-card-v19 h2{font-size:34px!important;line-height:1!important;margin:0 0 8px!important;color:#0f1f35!important;letter-spacing:-.03em!important;}
body.ns-site .ns-auth-card-v19>p{font-size:14px!important;color:#6c8098!important;line-height:1.55!important;margin:0 0 18px!important;}
body.ns-site .ns-auth-card-v19 .uk-input,
body.ns-site .ns-auth-card-v19 .uk-select,
body.ns-site .ns-auth-card-v19 input[type="text"],
body.ns-site .ns-auth-card-v19 input[type="password"],
body.ns-site .ns-auth-card-v19 input[type="email"]{
  min-height:52px!important;border-radius:16px!important;background:#f8fbff!important;border:1px solid #dce7f3!important;
}
body.ns-site .ns-auth-row{display:flex!important;justify-content:space-between!important;gap:12px!important;align-items:center!important;margin:16px 0 20px!important;color:#53687f!important;font-size:14px!important;}
body.ns-site .ns-auth-submit{min-height:52px!important;font-weight:900!important;font-size:16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;}
body.ns-site .ns-auth-bottom{border-top:1px solid #e5edf6!important;margin-top:18px!important;padding-top:16px!important;text-align:center!important;color:#63778e!important;}
body.ns-site .ns-auth-bottom a{font-weight:900!important;color:var(--ns-blue)!important;}
@media(max-width:1100px){body.ns-site .ns-auth-shell{grid-template-columns:minmax(360px,560px)!important;}body.ns-site .ns-auth-side-card{display:none!important;}}
@media(max-width:639px){body.ns-site .ns-auth-page-v19{padding:24px 12px!important;}body.ns-site .ns-auth-card-v19{padding:24px 20px!important;border-radius:24px!important;}body.ns-site .ns-auth-card-v19 h2{font-size:28px!important;}body.ns-site .ns-auth-row{flex-direction:column!important;align-items:flex-start!important;}}

@media(max-width:1200px){body.ns-site .ns-hotel-listing-card{grid-template-columns:390px minmax(0,1fr)!important;}body.ns-site .ns-hotel-listing-head{grid-template-columns:minmax(0,1fr) 145px!important;}}
@media(max-width:959px){body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;height:auto!important;min-height:0!important;}body.ns-site .ns-hotel-listing-photo{height:260px!important;min-height:260px!important;}body.ns-site .ns-hotel-listing-content{height:auto!important;min-height:0!important;}body.ns-site .ns-hotel-listing-head{grid-template-columns:1fr!important;}body.ns-site .ns-hotel-side-panel{align-items:flex-start!important;flex-direction:row!important;}.ns-hotel-price-box,.ns-hotel-rating-box{width:150px!important;}}


/* ==========================================================
   NOMER-SVOBODEN PATCH v20
   Auth premium rebuild, city-card bottom gap, full photo background,
   and 4 room fact fields with fallback dash.
   ========================================================== */
body.ns-site .ns-home-destination-card .uk-card-body{
  min-height:108px!important;
  height:auto!important;
  grid-template-rows:auto auto!important;
  padding:12px 14px 4px!important;
}
body.ns-site .ns-home-destinations .uk-card-title{
  min-height:auto!important;
  margin:0 0 7px!important;
  line-height:1.05!important;
}
body.ns-site .ns-home-destinations .card-tags{
  margin:0!important;
  padding:0!important;
  grid-template-rows:repeat(2,36px)!important;
  gap:7px!important;
  align-content:start!important;
}
body.ns-site .ns-home-destinations .card-tag{
  height:36px!important;
  min-height:36px!important;
  padding:3px 8px!important;
}
body.ns-site .ns-home-destination-card{padding-bottom:0!important;}

body.ns-site .ns-hotel-listing-card{
  grid-template-columns:440px minmax(0,1fr)!important;
  min-height:300px!important;
  height:300px!important;
  overflow:hidden!important;
  align-items:stretch!important;
}
body.ns-site .ns-hotel-listing-photo{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#dbe7f3!important;
}
body.ns-site .ns-hotel-listing-photo img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}
body.ns-site .ns-hotel-listing-content{
  min-height:300px!important;
  padding:18px 22px!important;
  gap:10px!important;
}
body.ns-site .ns-hotel-listing-head{
  grid-template-columns:minmax(0,1fr) 140px!important;
  gap:18px!important;
}
body.ns-site .ns-hotel-side-panel{
  align-items:flex-end!important;
}
body.ns-site .ns-hotel-price-box,
body.ns-site .ns-hotel-rating-box{
  width:140px!important;
  min-width:140px!important;
  max-width:140px!important;
}
body.ns-site .ns-hotel-price-box strong{font-size:19px!important;}
body.ns-site .ns-hotel-rating-box>span{font-size:10px!important;}
body.ns-site .ns-room-4facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--ns-border)!important;
  border-bottom:1px solid var(--ns-border)!important;
  background:#fff!important;
  margin-top:2px!important;
}
body.ns-site .ns-room-4facts span{
  display:grid!important;
  grid-template-columns:26px 1fr!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:1px 8px!important;
  padding:9px 12px!important;
  border:0!important;
  border-right:1px solid var(--ns-border)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#132238!important;
}
body.ns-site .ns-room-4facts span:last-child{border-right:0!important;}
body.ns-site .ns-room-4facts i{
  grid-row:1/3!important;
  color:var(--ns-blue)!important;
  font-size:18px!important;
  margin:0!important;
}
body.ns-site .ns-room-4facts em{
  font-style:normal!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  color:#8392a6!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
}
body.ns-site .ns-room-4facts b{
  color:#17253a!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1.1!important;
}

/* Auth v20: full viewport, no black side, cleaner premium card */
html,body{background:#f3f7fb!important;}
body.ns-site .ns-auth-v20{
  min-height:100vh!important;
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
  position:relative!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center center!important;
  display:flex!important;
  align-items:center!important;
}
body.ns-site .ns-auth-v20-overlay{
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(30,135,240,.18),transparent 32%),
    linear-gradient(90deg,rgba(6,15,29,.88) 0%,rgba(9,22,40,.72) 46%,rgba(9,22,40,.28) 100%)!important;
  z-index:0!important;
}
body.ns-site .ns-auth-v20-shell{
  position:relative!important;
  z-index:2!important;
  width:min(1180px,calc(100vw - 48px))!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(360px,470px) minmax(420px,560px)!important;
  gap:42px!important;
  align-items:center!important;
}
body.ns-site .ns-auth-v20-copy{
  padding:30px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  backdrop-filter:blur(9px)!important;
}
body.ns-site .ns-auth-v20-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  font-size:13px!important;
  font-weight:800!important;
  margin-bottom:24px!important;
}
body.ns-site .ns-auth-v20-copy h1{
  margin:0 0 18px!important;
  color:#fff!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
body.ns-site .ns-auth-v20-copy p{
  margin:0 0 22px!important;
  max-width:470px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:17px!important;
  line-height:1.55!important;
}
body.ns-site .ns-auth-v20-points{display:grid!important;gap:11px!important;}
body.ns-site .ns-auth-v20-points span{display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-weight:800!important;}
body.ns-site .ns-auth-v20-points i{color:#83c8ff!important;}
body.ns-site .ns-auth-v20-form{width:100%!important;}
body.ns-site .ns-auth-v20-card{
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  border-radius:30px!important;
  padding:34px!important;
  box-shadow:0 34px 90px rgba(2,8,20,.36)!important;
}
body.ns-site .ns-auth-v20-top{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:24px!important;}
body.ns-site .ns-auth-v20-top span{color:#657890!important;font-weight:800!important;font-size:13px!important;}
body.ns-site .ns-auth-v20-card h2{font-size:34px!important;line-height:1!important;letter-spacing:-.03em!important;margin:0 0 10px!important;color:#112238!important;font-weight:950!important;}
body.ns-site .ns-auth-v20-subtitle{margin:0 0 20px!important;color:#6f8299!important;font-size:15px!important;}
body.ns-site .ns-auth-v20-card .uk-form-label{font-size:13px!important;color:#243850!important;margin-bottom:7px!important;}
body.ns-site .ns-auth-v20-card .uk-input,
body.ns-site .ns-auth-v20-card .uk-select,
body.ns-site .ns-auth-v20-card input[type="text"],
body.ns-site .ns-auth-v20-card input[type="password"],
body.ns-site .ns-auth-v20-card input[type="email"]{
  min-height:54px!important;
  border-radius:17px!important;
  background:#f8fbff!important;
  border:1px solid #d9e5f2!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
body.ns-site .ns-auth-submit{min-height:54px!important;font-size:16px!important;margin-top:4px!important;}
body.ns-site .ns-auth-v20-bottom{margin-top:20px!important;padding-top:18px!important;border-top:1px solid #e6eef8!important;text-align:center!important;color:#71839a!important;}
body.ns-site .ns-auth-v20-bottom a{font-weight:900!important;color:var(--ns-blue)!important;}
body.ns-site .ns-auth-link{color:#53677f!important;font-weight:700!important;}
body.ns-site .ns-auth-check{color:#53677f!important;font-size:14px!important;}
@media(max-width:1050px){
  body.ns-site .ns-auth-v20-shell{grid-template-columns:1fr!important;max-width:620px!important;}
  body.ns-site .ns-auth-v20-copy{display:none!important;}
}
@media(max-width:640px){
  body.ns-site .ns-auth-v20-shell{width:calc(100vw - 24px)!important;}
  body.ns-site .ns-auth-v20-card{padding:24px 20px!important;border-radius:24px!important;}
  body.ns-site .ns-auth-v20-card h2{font-size:28px!important;}
}
@media(max-width:1100px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:380px minmax(0,1fr)!important;height:auto!important;min-height:300px!important;}
  body.ns-site .ns-room-4facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:959px){
  body.ns-site .ns-hotel-listing-card{grid-template-columns:1fr!important;height:auto!important;}
  body.ns-site .ns-hotel-listing-photo{height:250px!important;min-height:250px!important;}
  body.ns-site .ns-hotel-listing-head{grid-template-columns:1fr!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v21
   Homepage latest rooms: object name unified with type, smaller room title,
   3-line description clamp, and compact facts typography.
   ========================================================== */
body.ns-site .ns-object-primary-line{
  align-items:center!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  font-size:15px!important;
  line-height:1.2!important;
}
body.ns-site .ns-object-primary-line .ns-hotel-object-type,
body.ns-site .ns-object-primary-line .ns-hotel-object-name{
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#5f6f84!important;
  letter-spacing:0!important;
  display:inline!important;
}
body.ns-site .ns-object-primary-line .ns-hotel-object-name{
  margin-left:0!important;
}
body.ns-site .ns-object-primary-line .ns-hotel-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  margin-right:2px!important;
}
body.ns-site .ns-hotel-room-title{
  font-size:19px!important;
  line-height:1.12!important;
  font-weight:900!important;
  letter-spacing:-.015em!important;
  margin:2px 0 0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.ns-site .ns-hotel-room-title a{color:#111f33!important;text-decoration:none!important;}
body.ns-site .ns-hotel-room-desc{
  font-size:12.8px!important;
  line-height:1.42!important;
  color:#62758b!important;
  margin:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-height:54px!important;
}
body.ns-site .ns-room-4facts{
  margin-top:0!important;
  border-top:1px solid #e7eef7!important;
  border-bottom:1px solid #e7eef7!important;
}
body.ns-site .ns-room-4facts span{
  grid-template-columns:22px 1fr!important;
  gap:0 7px!important;
  padding:7px 10px!important;
  min-height:46px!important;
}
body.ns-site .ns-room-4facts i{
  font-size:15px!important;
}
body.ns-site .ns-room-4facts em{
  font-size:8.5px!important;
  letter-spacing:.045em!important;
  line-height:1!important;
}
body.ns-site .ns-room-4facts b{
  font-size:12.5px!important;
  line-height:1.05!important;
  font-weight:800!important;
}
body.ns-site .ns-hotel-listing-content{
  gap:8px!important;
}
body.ns-site .ns-hotel-title-area{
  gap:6px!important;
}
body.ns-site .ns-hotel-address-line,
body.ns-site .ns-address-simple-line{
  font-size:12.5px!important;
  line-height:1.3!important;
}
body.ns-site .ns-hotel-distance-label{
  font-size:10.5px!important;
  padding:4px 9px!important;
}
body.ns-site .ns-hotel-distance-label b{font-size:10.5px!important;}
@media(max-width:959px){
  body.ns-site .ns-object-primary-line .ns-hotel-object-type,
  body.ns-site .ns-object-primary-line .ns-hotel-object-name{font-size:14px!important;}
  body.ns-site .ns-hotel-room-title{font-size:18px!important;}
  body.ns-site .ns-room-4facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* ==========================================================
   NOMER-SVOBODEN PATCH v22
   Mobile latest rooms, city card height, hero buttons, auth redesign.
   ========================================================== */

/* Hero: center action buttons inside mini blocks */
body.ns-site .ns-hero-actions-grid{align-items:stretch!important;}
body.ns-site .ns-hero-card-mini{align-items:center!important;text-align:left!important;}
body.ns-site .ns-hero-card-mini h2,
body.ns-site .ns-hero-card-mini p{width:100%!important;}
body.ns-site .ns-hero-action-btn{
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  min-width:260px!important;
}

/* Destination cards: remove large bottom empty space */
body.ns-site .ns-home-destination-card .uk-card-body{
  min-height:auto!important;
  grid-template-rows:auto auto!important;
  padding:12px 14px 8px!important;
}
body.ns-site .ns-home-destinations .uk-card-title{
  min-height:auto!important;
  margin:0 0 7px!important;
}
body.ns-site .ns-home-destinations .card-tags{
  margin-bottom:0!important;
  padding-bottom:0!important;
  grid-template-rows:repeat(2,36px)!important;
  gap:6px!important;
}
body.ns-site .ns-home-destinations .card-tag{
  height:36px!important;
  min-height:36px!important;
  padding:4px 8px!important;
  font-size:11px!important;
}

/* Latest added rooms: desktop card */
body.ns-site .ns-hotel-listing-card{
  grid-template-columns:430px minmax(0,1fr)!important;
  min-height:330px!important;
  height:auto!important;
  align-items:stretch!important;
}
body.ns-site .ns-hotel-listing-photo{
  height:100%!important;
  min-height:330px!important;
  display:block!important;
  overflow:hidden!important;
  background:#eaf2fb!important;
}
body.ns-site .ns-hotel-listing-photo img{
  width:100%!important;
  height:100%!important;
  min-height:330px!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}
body.ns-site .ns-hotel-listing-head{
  grid-template-columns:minmax(0,1fr) 150px!important;
  align-items:start!important;
}
body.ns-site .ns-hotel-side-panel{
  justify-self:end!important;
  align-items:stretch!important;
  width:150px!important;
}
body.ns-site .ns-hotel-price-box,
body.ns-site .ns-hotel-rating-box{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  min-height:72px!important;
  text-align:center!important;
}
body.ns-site .ns-hotel-price-box strong{font-size:18px!important;}
body.ns-site .ns-hotel-rating-box>span{font-size:10px!important;}
body.ns-site .ns-hotel-room-title{
  font-size:18px!important;
  line-height:1.16!important;
}
body.ns-site .ns-hotel-room-desc{
  -webkit-line-clamp:3!important;
  max-height:58px!important;
}
body.ns-site .ns-hotel-actions{
  display:flex!important;
  justify-content:center!important;
  gap:10px!important;
}
body.ns-site .ns-hotel-minor-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}
body.ns-site .ns-hotel-cat-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:var(--ns-blue)!important;
  font-weight:800!important;
  text-decoration:none!important;
}

/* 4 facts block: cleaner border and smaller fonts */
body.ns-site .ns-room-4facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  border:1px solid #e3edf8!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
body.ns-site .ns-room-4facts span{
  border:0!important;
  border-right:1px solid #e3edf8!important;
  border-bottom:1px solid #e3edf8!important;
  background:#fff!important;
  padding:7px 10px!important;
  min-height:48px!important;
}
body.ns-site .ns-room-4facts span:nth-child(4n){border-right:0!important;}
body.ns-site .ns-room-4facts i{font-size:14px!important;}
body.ns-site .ns-room-4facts em{font-size:8px!important;line-height:1!important;}
body.ns-site .ns-room-4facts b{font-size:12px!important;}

/* Auth v22: clean branded auth pages */
body.ns-site .ns-auth-v22{
  min-height:100vh!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:
    linear-gradient(135deg,rgba(9,45,86,.96) 0%,rgba(18,94,121,.94) 46%,rgba(246,249,252,1) 46.2%,rgba(236,244,249,1) 100%),
    repeating-linear-gradient(45deg,rgba(255,255,255,.10) 0,rgba(255,255,255,.10) 1px,transparent 1px,transparent 22px)!important;
  padding:56px 22px!important;
}
body.ns-site .ns-auth-v22-shade{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(5,20,38,.22) 0%,rgba(5,20,38,.12) 44%,rgba(255,255,255,.20) 44.2%,rgba(255,255,255,.62) 100%),
    linear-gradient(0deg,rgba(255,255,255,.08),rgba(255,255,255,.08))!important;
  z-index:0!important;
}
body.ns-site .ns-auth-v22::before,
body.ns-site .ns-auth-v22::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:1!important;
}
body.ns-site .ns-auth-v22::before{
  background:
    linear-gradient(120deg,transparent 0 28%,rgba(255,255,255,.12) 28.1% 28.6%,transparent 28.7% 100%),
    linear-gradient(120deg,transparent 0 37%,rgba(255,255,255,.08) 37.1% 37.45%,transparent 37.55% 100%),
    linear-gradient(120deg,transparent 0 78%,rgba(13,89,119,.08) 78.1% 78.6%,transparent 78.7% 100%)!important;
}
body.ns-site .ns-auth-v22::after{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(9,36,61,.06))!important;
}
body.ns-site .ns-auth-v22-inner{
  position:relative!important;
  z-index:3!important;
  width:min(1120px,calc(100vw - 40px))!important;
  display:grid!important;
  grid-template-columns:minmax(300px,430px) minmax(420px,540px)!important;
  gap:38px!important;
  align-items:center!important;
}
body.ns-site .ns-auth-v22-info{
  padding:32px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 24px 64px rgba(3,16,31,.22)!important;
}
body.ns-site .ns-auth-v22-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:9px 12px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  font-size:12px!important;
  font-weight:900!important;
  margin-bottom:22px!important;
}
body.ns-site .ns-auth-v22-info h1{
  color:#fff!important;
  margin:0 0 16px!important;
  font-size:48px!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:0!important;
}
body.ns-site .ns-auth-v22-info p{
  color:rgba(255,255,255,.88)!important;
  margin:0 0 20px!important;
  font-size:16px!important;
  line-height:1.55!important;
}
body.ns-site .ns-auth-v22-points{
  display:grid!important;
  gap:10px!important;
}
body.ns-site .ns-auth-v22-points span{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#fff!important;
  font-weight:800!important;
}
body.ns-site .ns-auth-v22-points i{color:#9fe4c8!important;}
body.ns-site .ns-auth-v22-form{width:100%!important;}
body.ns-site .ns-auth-v22-card{
  background:#fff!important;
  border-radius:8px!important;
  border:1px solid rgba(198,213,226,.86)!important;
  box-shadow:0 24px 70px rgba(21,49,79,.18)!important;
  padding:36px!important;
}
body.ns-site .ns-auth-v22-top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:22px!important;
}
body.ns-site .ns-auth-v22-top span{
  font-size:12px!important;
  font-weight:900!important;
  color:#315f78!important;
  padding:7px 10px!important;
  border-radius:8px!important;
  background:#edf8f6!important;
  border:1px solid #d2ebe5!important;
}
body.ns-site .ns-auth-v22-card h2{
  margin:0 0 8px!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
  color:#0f2738!important;
  letter-spacing:0!important;
}
body.ns-site .ns-auth-v22-subtitle{
  margin:0 0 18px!important;
  color:#617789!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.ns-site .ns-auth-v22-card .uk-form-label{
  font-size:12px!important;
  font-weight:900!important;
  color:#203849!important;
  margin-bottom:6px!important;
}
body.ns-site .ns-auth-v22-card .uk-input,
body.ns-site .ns-auth-v22-card .uk-select,
body.ns-site .ns-auth-v22-card input[type="text"],
body.ns-site .ns-auth-v22-card input[type="email"],
body.ns-site .ns-auth-v22-card input[type="password"]{
  min-height:52px!important;
  border-radius:8px!important;
  background:#f8fbfc!important;
  border:1px solid #cfdce6!important;
  color:#102838!important;
  box-shadow:none!important;
}
body.ns-site .ns-auth-v22-card .uk-input:focus,
body.ns-site .ns-auth-v22-card .uk-select:focus,
body.ns-site .ns-auth-v22-card input[type="text"]:focus,
body.ns-site .ns-auth-v22-card input[type="email"]:focus,
body.ns-site .ns-auth-v22-card input[type="password"]:focus{
  border-color:#1f9d83!important;
  box-shadow:0 0 0 3px rgba(31,157,131,.14)!important;
  background:#fff!important;
}
body.ns-site .ns-auth-submit{
  min-height:54px!important;
  font-size:16px!important;
  margin-top:4px!important;
  border-radius:8px!important;
  background:#147c72!important;
  border-color:#147c72!important;
  box-shadow:0 14px 26px rgba(20,124,114,.24)!important;
}
body.ns-site .ns-auth-submit:hover,
body.ns-site .ns-auth-submit:focus{
  background:#0f6c64!important;
  border-color:#0f6c64!important;
}
body.ns-site .ns-auth-v22-bottom{
  margin-top:20px!important;
  padding-top:18px!important;
  border-top:1px solid #e1ebf1!important;
  text-align:center!important;
  color:#6f8299!important;
}
body.ns-site .ns-auth-v22-bottom a{
  color:#147c72!important;
  font-weight:900!important;
  margin-left:6px!important;
}
body.ns-site .ns-auth-check{font-size:13px!important;color:#60738a!important;}
body.ns-site .ns-auth-link{font-size:13px!important;color:#315f78!important;font-weight:800!important;}

@media(max-width:1100px){
  body.ns-site .ns-auth-v22-inner{grid-template-columns:1fr!important;max-width:640px!important;}
  body.ns-site .ns-auth-v22-info{display:none!important;}
  body.ns-site .ns-hotel-listing-card{grid-template-columns:380px minmax(0,1fr)!important;}
  body.ns-site .ns-room-4facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.ns-site .ns-room-4facts span:nth-child(2n){border-right:0!important;}
}
@media(max-width:959px){
  body.ns-site .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  body.ns-site .ns-hotel-listing-photo{
    height:300px!important;
    min-height:300px!important;
  }
  body.ns-site .ns-hotel-listing-photo img{min-height:300px!important;}
  body.ns-site .ns-hotel-listing-head{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-hotel-side-panel{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    justify-self:stretch!important;
  }
  body.ns-site .ns-hotel-price-box,
  body.ns-site .ns-hotel-rating-box{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:64px!important;
  }
  body.ns-site .ns-hotel-actions{
    width:100%!important;
    justify-content:center!important;
  }
  body.ns-site .ns-hotel-listing-footer{
    align-items:center!important;
  }
}
@media(max-width:640px){
  body.ns-site .ns-auth-v22{padding:24px 12px!important;}
  body.ns-site .ns-auth-v22-inner{width:100%!important;}
  body.ns-site .ns-auth-v22-card{padding:24px 18px!important;border-radius:8px!important;}
  body.ns-site .ns-auth-v22-card h2{font-size:28px!important;}
  body.ns-site .ns-hotel-listing-photo{height:260px!important;min-height:260px!important;}
  body.ns-site .ns-home-destinations .card-tags{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}



/* ==========================================================
   NOMER-SVOBODEN PATCH v23
   Изменения П-1—П-14: дизайн-переменные, премиальная палитра,
   hero, sticky nav, карточки, фильтры, trust-блок, микро-анимации.
   ========================================================== */

/* П-2 / П-3: перенос базовых цветов на переменные */
body.ns-site,
body {
  background: var(--color-background) !important;
  color: var(--color-text-primary) !important;
  font-family: var(--font-body) !important;
}
body.ns-site h1,
body.ns-site h2,
body.ns-site h3,
body.ns-site h4,
body.ns-site h5,
body.ns-site h6 {
  color: var(--color-text-primary) !important;
}
body.ns-site a {
  color: var(--color-primary);
  transition: color var(--transition-moderate), border-color var(--transition-moderate), background-color var(--transition-moderate), transform var(--transition-moderate), box-shadow var(--transition-moderate);
}
body.ns-site .uk-button,
body.ns-site button {
  transition: background-color var(--transition-moderate), color var(--transition-moderate), border-color var(--transition-moderate), transform var(--transition-moderate), box-shadow var(--transition-moderate) !important;
}
body.ns-site .uk-button:active,
body.ns-site button:active {
  transform: scale(.985) !important;
}
body.ns-site .uk-input:focus,
body.ns-site .uk-select:focus,
body.ns-site .uk-textarea:focus,
body.ns-site input:focus,
body.ns-site textarea:focus,
body.ns-site select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), .12) !important;
}

/* П-5: sticky navigation */
body.ns-site .ns-navbar-sticky,
body.ns-site .premium-navbar.ns-main-navbar,
body.ns-site nav.premium-navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  background: rgba(255, 255, 255, .94) !important;
  backdrop-filter: saturate(180%) blur(10px) !important;
  border-bottom: 1px solid rgba(228, 222, 212, .85) !important;
  box-shadow: 0 8px 26px rgba(23,32,51,.055) !important;
}
body.ns-site .premium-navbar .navbar-container,
body.ns-site .ns-navbar-container {
  min-height: 68px !important;
  transition: min-height var(--transition-moderate), padding var(--transition-moderate) !important;
}

/* П-4: premium hero */
body.ns-site .ns-v23-hero {
  position: relative !important;
  min-height: min(760px, 78vh) !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background-position: center center !important;
}
body.ns-site .ns-v23-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 76% 24%, rgba(var(--color-accent-rgb), .22), transparent 26%),
    linear-gradient(90deg, rgba(0, 25, 52, .86) 0%, rgba(0, 40, 80, .64) 42%, rgba(0, 40, 80, .28) 100%) !important;
  z-index: 0 !important;
}
body.ns-site .ns-v23-hero-inner {
  position: relative !important;
  z-index: 2 !important;
}
body.ns-site .ns-v23-hero-content {
  max-width: 880px !important;
  color: #fff !important;
}
body.ns-site .ns-v23-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 9px 15px !important;
  border-radius: var(--radius-pill) !important;
  background: rgba(255,255,255,.13) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  margin-bottom: var(--space-lg) !important;
  backdrop-filter: blur(10px) !important;
}
body.ns-site .ns-v23-hero h1 {
  color: #fff !important;
  margin: 0 0 var(--space-md) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(44px, 7vw, 92px) !important;
  line-height: .92 !important;
  letter-spacing: -.045em !important;
  font-weight: 900 !important;
}
body.ns-site .ns-v23-hero p {
  color: rgba(255,255,255,.9) !important;
  font-size: clamp(16px, 1.6vw, 21px) !important;
  line-height: 1.55 !important;
  max-width: 760px !important;
  margin: 0 0 var(--space-xl) !important;
}
body.ns-site .ns-v23-search {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  width: min(850px, 100%) !important;
  padding: 10px !important;
  border-radius: var(--radius-xl) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: var(--shadow-lg) !important;
}
body.ns-site .ns-v23-search-field {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 56px !important;
  padding: 0 18px !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface-muted) !important;
  color: var(--color-text-secondary) !important;
}
body.ns-site .ns-v23-search-field input {
  width: 100% !important;
  height: 56px !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--color-text-primary) !important;
  font-size: 16px !important;
  font-weight: 650 !important;
}
body.ns-site .ns-v23-search .uk-button {
  min-height: 56px !important;
  padding: 0 26px !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-accent) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 12px 26px rgba(var(--color-accent-rgb), .28) !important;
}
body.ns-site .ns-v23-search .uk-button:hover {
  background: var(--color-accent-hover) !important;
  transform: translateY(-1px) !important;
}
body.ns-site .ns-v23-hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: var(--space-md) !important;
}
body.ns-site .ns-v23-hero-actions .uk-button {
  border-radius: var(--radius-pill) !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}
body.ns-site .ns-v23-hero-actions .uk-button:hover {
  background: rgba(255,255,255,.23) !important;
}

/* П-9: trust */
body.ns-site .ns-v23-trust {
  position: relative !important;
  z-index: 3 !important;
  margin-top: -42px !important;
  margin-bottom: var(--space-2xl) !important;
}
body.ns-site .ns-v23-trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
body.ns-site .ns-v23-trust-grid > div {
  display: grid !important;
  grid-template-columns: 42px minmax(0,1fr) !important;
  grid-template-areas: "icon title" "icon text" !important;
  gap: 3px 12px !important;
  padding: 18px !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: var(--shadow-sm) !important;
}
body.ns-site .ns-v23-trust-grid i {
  grid-area: icon !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  background: var(--color-primary-soft) !important;
  color: var(--color-primary) !important;
}
body.ns-site .ns-v23-trust-grid strong {
  grid-area: title !important;
  font-size: 14px !important;
  color: var(--color-text-primary) !important;
}
body.ns-site .ns-v23-trust-grid span {
  grid-area: text !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: var(--color-text-secondary) !important;
}

/* П-8: filter chips */
body.ns-site .ns-v23-filterbar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 16px !important;
  margin: 0 0 18px !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-surface) !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: var(--shadow-xs) !important;
}
body.ns-site .ns-v23-filter-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border-radius: var(--radius-pill) !important;
  background: var(--color-surface-muted) !important;
  border: 1px solid var(--color-border) !important;
  color: var(--color-text-secondary) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
body.ns-site .ns-v23-filter-chip:hover,
body.ns-site .ns-v23-filter-chip.is-active {
  background: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-surface) !important;
}

/* П-7: premium listing card polish */
body.ns-site .ns-hotel-listing-card {
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--color-border) !important;
  background: var(--color-surface) !important;
  box-shadow: var(--shadow-md) !important;
  overflow: hidden !important;
  transition: transform var(--transition-moderate), box-shadow var(--transition-moderate), border-color var(--transition-moderate) !important;
}
body.ns-site .ns-hotel-listing-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: rgba(var(--color-primary-rgb), .22) !important;
}
body.ns-site .ns-hotel-listing-card:hover .ns-hotel-listing-photo img {
  filter: brightness(1.05) !important;
  transform: scale(1.025) !important;
}
body.ns-site .ns-hotel-listing-photo {
  position: relative !important;
}
body.ns-site .ns-hotel-listing-photo img {
  transition: transform var(--transition-slow), filter var(--transition-slow) !important;
}
body.ns-site .ns-v23-card-badges {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5 !important;
  display: flex !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
}
body.ns-site .ns-v23-card-badges b {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border-radius: var(--radius-pill) !important;
  background: rgba(255,255,255,.94) !important;
  color: var(--color-primary) !important;
  box-shadow: var(--shadow-xs) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
body.ns-site .ns-hotel-price-box {
  background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-hover) 100%) !important;
  color: #fff !important;
}
body.ns-site .ns-hotel-price-box strong,
body.ns-site .ns-hotel-price-box span {
  color: #fff !important;
}
body.ns-site .ns-hotel-rating-box {
  border-color: rgba(var(--color-accent-rgb), .22) !important;
  background: var(--color-accent-soft) !important;
}
body.ns-site .ns-hotel-stars i,
body.ns-site .stars i,
body.ns-site [class*="rating"] .fa-star {
  color: var(--color-accent) !important;
}
body.ns-site .ns-room-4facts span {
  transition: background-color var(--transition-moderate) !important;
}
body.ns-site .ns-room-4facts span:hover {
  background: var(--color-primary-soft) !important;
}

/* П-10: link underline motion */
body.ns-site .uk-card a:not(.uk-button),
body.ns-site .ns-hotel-room-title a,
body.ns-site .ns-hotel-cat-link {
  background-image: linear-gradient(currentColor, currentColor) !important;
  background-size: 0 1px !important;
  background-repeat: no-repeat !important;
  background-position: 0 100% !important;
  transition: background-size var(--transition-moderate), color var(--transition-moderate) !important;
}
body.ns-site .uk-card a:not(.uk-button):hover,
body.ns-site .ns-hotel-room-title a:hover,
body.ns-site .ns-hotel-cat-link:hover {
  background-size: 100% 1px !important;
}

/* П-14: current destination cards polish */
body.ns-site .ns-home-destination-card {
  box-shadow: var(--shadow-sm) !important;
  border: 1px solid var(--color-border) !important;
  border-radius: var(--radius-lg) !important;
}
body.ns-site .ns-home-destination-card:hover {
  box-shadow: var(--shadow-md) !important;
  border-color: rgba(var(--color-primary-rgb), .25) !important;
}
body.ns-site .ns-home-destinations .card-tag {
  background: var(--color-surface-muted) !important;
  border-color: var(--color-border) !important;
  color: var(--color-text-secondary) !important;
}
body.ns-site .ns-home-destinations .card-tag:hover {
  background: var(--color-primary) !important;
  color: #fff !important;
  border-color: var(--color-primary) !important;
}

/* П-17: accessibility */
body.ns-site a:focus-visible,
body.ns-site button:focus-visible,
body.ns-site input:focus-visible,
body.ns-site select:focus-visible,
body.ns-site textarea:focus-visible,
body.ns-site .uk-button:focus-visible {
  outline: 2px solid var(--color-primary) !important;
  outline-offset: 3px !important;
}

/* П-4: fade-in up */
@keyframes nsFadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
body.ns-site .ns-animate-up {
  animation: nsFadeInUp .72s var(--transition-slow) both !important;
}

@media (max-width: 1024px) {
  body.ns-site .ns-v23-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 768px) {
  body.ns-site .ns-v23-hero {
    min-height: 680px !important;
    text-align: left !important;
  }
  body.ns-site .ns-v23-search {
    grid-template-columns: 1fr !important;
    border-radius: var(--radius-lg) !important;
  }
  body.ns-site .ns-v23-search .uk-button {
    width: 100% !important;
  }
  body.ns-site .ns-v23-trust {
    margin-top: -24px !important;
  }
  body.ns-site .ns-v23-trust-grid {
    grid-template-columns: 1fr !important;
  }
  body.ns-site .ns-v23-filterbar {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.ns-site .ns-v23-filter-chip {
    white-space: nowrap !important;
  }
}



/* ==========================================================
   NOMER-SVOBODEN PATCH v24
   Правки после теста v23: подсказки городов, ровные city-кнопки,
   выравнивание цены/рейтинга справа, footer карточки вниз,
   стабильная главная для неавторизованных пользователей.
   ========================================================== */

/* 1) Hero search autocomplete visual polish */
body.ns-site .ns-v23-search input::-webkit-calendar-picker-indicator{
  opacity:.55!important;
}
body.ns-site .ns-v23-search-field{
  min-width:0!important;
}
body.ns-site .ns-v23-search-field input{
  min-width:0!important;
}

/* 2) Direction cards: city buttons start at one level in all cards */
body.ns-site .ns-home-destinations [data-uk-grid] > div{
  display:flex!important;
}
body.ns-site .ns-home-destination-card{
  width:100%!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
}
body.ns-site .ns-home-destination-card .uk-card-body{
  display:grid!important;
  grid-template-rows:64px auto!important;
  align-content:start!important;
  padding:12px 14px 12px!important;
  min-height:150px!important;
}
body.ns-site .ns-home-destinations .uk-card-title{
  height:64px!important;
  min-height:64px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.ns-site .ns-home-destinations .card-tags{
  align-self:start!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,38px)!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
}
body.ns-site .ns-home-destinations .card-tag{
  height:38px!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}

/* 3) Latest rooms: price and rating content aligned to the right */
body.ns-site .ns-hotel-side-panel{
  justify-self:end!important;
  align-items:flex-end!important;
}
body.ns-site .ns-hotel-price-box,
body.ns-site .ns-hotel-rating-box{
  text-align:right!important;
  align-items:flex-end!important;
}
body.ns-site .ns-hotel-rating-box .ns-rating-clean,
body.ns-site .ns-hotel-rating-box .uk-flex,
body.ns-site .ns-hotel-rating-box [class*="rating"]{
  justify-content:flex-end!important;
  text-align:right!important;
}
body.ns-site .ns-hotel-rating-box .fa-star,
body.ns-site .ns-hotel-rating-box svg{
  margin-left:1px!important;
  margin-right:0!important;
}

/* 4) Move category/date/views and buttons to bottom of card */
body.ns-site .ns-hotel-listing-card{
  align-items:stretch!important;
}
body.ns-site .ns-hotel-listing-content{
  display:flex!important;
  flex-direction:column!important;
}
body.ns-site .ns-hotel-listing-head{
  flex:0 0 auto!important;
}
body.ns-site .ns-hotel-listing-body{
  flex:0 0 auto!important;
}
body.ns-site .ns-hotel-listing-footer{
  margin-top:auto!important;
  padding-top:12px!important;
  align-items:center!important;
}
body.ns-site .ns-hotel-actions{
  justify-content:flex-end!important;
}

/* 5) Non-authorized page stability */
body.ns-site .ns-v23-hero,
body.ns-site .ns-v23-trust,
body.ns-site .ns-home-destinations,
body.ns-site .ns-latest-products-list,
body.ns-site .ns-hotel-listings{
  box-sizing:border-box!important;
}
body.ns-site .ns-v23-hero{
  margin-top:0!important;
}
body.ns-site .ns-v23-trust + .uk-section,
body.ns-site .ns-home-destinations{
  clear:both!important;
}
body.ns-site .uk-background-default,
body.ns-site .uk-background-muted{
  overflow:hidden!important;
}

/* 6) Keep previous mobile fixes */
@media(max-width:959px){
  body.ns-site .ns-home-destination-card .uk-card-body{
    grid-template-rows:58px auto!important;
    min-height:142px!important;
  }
  body.ns-site .ns-home-destinations .uk-card-title{
    height:58px!important;
    min-height:58px!important;
  }
  body.ns-site .ns-hotel-side-panel{
    align-items:stretch!important;
  }
  body.ns-site .ns-hotel-price-box,
  body.ns-site .ns-hotel-rating-box{
    text-align:center!important;
    align-items:center!important;
  }
  body.ns-site .ns-hotel-rating-box .ns-rating-clean,
  body.ns-site .ns-hotel-rating-box [class*="rating"]{
    justify-content:center!important;
    text-align:center!important;
  }
  body.ns-site .ns-hotel-actions{
    justify-content:center!important;
  }
}
@media(max-width:640px){
  body.ns-site .ns-home-destination-card .uk-card-body{
    grid-template-rows:auto auto!important;
    min-height:auto!important;
  }
  body.ns-site .ns-home-destinations .uk-card-title{
    height:auto!important;
    min-height:48px!important;
  }
  body.ns-site .ns-home-destinations .card-tags{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,36px)!important;
  }
}



/* ==========================================================
   NOMER-SVOBODEN PATCH PM PREMIUM v24
   Премиальный внешний вид модуля PM: список, чтение, отправка,
   выпадающий список сообщений в шапке.
   ========================================================== */

body.ns-site .ns-pm-page{
  padding:38px 0 64px!important;
  background:
    radial-gradient(circle at 18% 4%,rgba(184,134,11,.08),transparent 26%),
    linear-gradient(180deg,#fbfaf8 0%,#f8f6f3 100%)!important;
  min-height:calc(100vh - 80px)!important;
}
body.ns-site .ns-pm-layout{
  display:grid!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
}
body.ns-site .ns-pm-main{min-width:0!important;}
body.ns-site .ns-pm-sidebar-card,
body.ns-site .ns-pm-panel{
  background:#fff!important;
  border:1px solid #e4ded4!important;
  border-radius:28px!important;
  box-shadow:0 22px 60px rgba(23,32,51,.09)!important;
}
body.ns-site .ns-pm-sidebar-card{
  padding:18px!important;
}
body.ns-site .ns-pm-sidebar-title{
  display:flex!important;
  gap:12px!important;
  align-items:center!important;
  padding:4px 4px 16px!important;
  border-bottom:1px solid #eee7dc!important;
  margin-bottom:12px!important;
}
body.ns-site .ns-pm-sidebar-icon{
  width:44px!important;
  height:44px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-pm-sidebar-title strong{
  display:block!important;
  color:#172033!important;
  font-size:16px!important;
  font-weight:950!important;
}
body.ns-site .ns-pm-sidebar-title small{
  display:block!important;
  color:#7b8798!important;
  font-size:12px!important;
  line-height:1.25!important;
}
body.ns-site .ns-pm-nav{
  list-style:none!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  gap:8px!important;
}
body.ns-site .ns-pm-nav li{position:relative!important;}
body.ns-site .ns-pm-nav a,
body.ns-site .ns-pm-inline-action a{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:46px!important;
  padding:0 13px!important;
  border-radius:16px!important;
  color:#52647a!important;
  background:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  font-weight:850!important;
  transition:all .2s ease!important;
}
body.ns-site .ns-pm-nav a:hover,
body.ns-site .ns-pm-nav li.uk-active a,
body.ns-site .ns-pm-inline-action a:hover{
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-pm-nav a i{width:18px!important;text-align:center!important;}
body.ns-site .ns-pm-nav a b{
  margin-left:auto!important;
  min-width:24px!important;
  height:24px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#b8860b!important;
  color:#fff!important;
  font-size:11px!important;
}
body.ns-site .ns-pm-nav-divider{
  height:1px!important;
  margin:8px 0!important;
  background:#eee7dc!important;
}

body.ns-site .ns-pm-panel{
  padding:24px!important;
  overflow:hidden!important;
}
body.ns-site .ns-pm-panel-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:18px!important;
  padding-bottom:18px!important;
  border-bottom:1px solid #eee7dc!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-pm-kicker{
  display:inline-flex!important;
  align-items:center!important;
  color:#b8860b!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.09em!important;
  font-weight:950!important;
  margin-bottom:5px!important;
}
body.ns-site .ns-pm-panel-head h1{
  margin:0!important;
  color:#172033!important;
  font-size:34px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
}
body.ns-site .ns-pm-main-action,
body.ns-site .ns-pm-secondary-action,
body.ns-site .ns-pm-icon-btn{
  border-radius:999px!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-weight:850!important;
  box-shadow:none!important;
}
body.ns-site .ns-pm-main-action{
  background:#003366!important;
  color:#fff!important;
  border:1px solid #003366!important;
}
body.ns-site .ns-pm-main-action:hover{
  background:#00264d!important;
  border-color:#00264d!important;
  color:#fff!important;
}
body.ns-site .ns-pm-secondary-action,
body.ns-site .ns-pm-icon-btn{
  background:#fff!important;
  color:#26364c!important;
  border:1px solid #dfe6ef!important;
}
body.ns-site .ns-pm-secondary-action:hover,
body.ns-site .ns-pm-icon-btn:hover{
  background:#f7f9fc!important;
  color:#003366!important;
}

body.ns-site .ns-pm-list-toolbar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  align-items:center!important;
  padding:12px!important;
  border:1px solid #e7ecf3!important;
  border-radius:18px!important;
  background:#fbfcfe!important;
  margin-bottom:14px!important;
}
body.ns-site .ns-pm-select-all{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#52647a!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.ns-site .ns-pm-type{
  color:#7a8797!important;
  font-size:13px!important;
  font-weight:750!important;
}
body.ns-site .ns-pm-toolbar-actions{margin-left:auto!important;}

body.ns-site .ns-pm-list{
  display:grid!important;
  gap:10px!important;
}
body.ns-site .ns-pm-row{
  display:grid!important;
  grid-template-columns:28px 54px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px!important;
  border:1px solid #e7ecf3!important;
  border-radius:20px!important;
  background:#fff!important;
  transition:all .2s ease!important;
}
body.ns-site .ns-pm-row:hover{
  border-color:rgba(0,51,102,.22)!important;
  box-shadow:0 12px 32px rgba(23,32,51,.08)!important;
  transform:translateY(-1px)!important;
}
body.ns-site .ns-pm-row-check{display:flex!important;align-items:center!important;justify-content:center!important;}
body.ns-site .ns-pm-avatar{
  display:inline-flex!important;
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#eef4fb!important;
  flex:0 0 auto!important;
  box-shadow:0 0 0 3px #fff, 0 8px 22px rgba(23,32,51,.10)!important;
}
body.ns-site .ns-pm-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.ns-site .ns-pm-avatar-large{
  width:64px!important;
  height:64px!important;
}
body.ns-site .ns-pm-row-content h3{
  margin:0 0 5px!important;
  color:#172033!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
body.ns-site .ns-pm-row-content h3 a{
  color:#172033!important;
  text-decoration:none!important;
}
body.ns-site .ns-pm-row-content p{
  margin:0!important;
  color:#6d7b8e!important;
  font-size:13px!important;
  line-height:1.35!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.ns-site .ns-pm-row-date{
  color:#8b96a8!important;
  font-size:12px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

body.ns-site .ns-pm-mobile-nav{
  display:flex!important;
  gap:8px!important;
  margin-bottom:14px!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
body.ns-site .ns-pm-mobile-nav a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #e4ded4!important;
  color:#52647a!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:850!important;
}

body.ns-site .ns-pm-message-card{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:16px!important;
  padding:18px!important;
  border:1px solid #e7ecf3!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;
}
body.ns-site .ns-pm-message-author{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-bottom:10px!important;
}
body.ns-site .ns-pm-message-author a{
  color:#172033!important;
  font-size:18px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-pm-message-author span{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#fff8e6!important;
  color:#9b7009!important;
  font-size:12px!important;
  font-weight:850!important;
}
body.ns-site .ns-pm-message-text{
  color:#33445b!important;
  font-size:15px!important;
  line-height:1.65!important;
}
body.ns-site .ns-pm-message-actions{
  display:flex!important;
  gap:10px!important;
  margin-top:16px!important;
  flex-wrap:wrap!important;
}
body.ns-site .ns-pm-form-card{
  margin-top:18px!important;
  padding:20px!important;
  border-radius:24px!important;
  background:#fbfcfe!important;
  border:1px solid #e7ecf3!important;
}
body.ns-site .ns-pm-form-card h3{
  margin:0 0 16px!important;
  color:#172033!important;
  font-size:22px!important;
  font-weight:950!important;
}
body.ns-site .ns-pm-input,
body.ns-site .ns-pm-textarea textarea,
body.ns-site .ns-pm-textarea .uk-textarea,
body.ns-site .ns-pm-form-card input[type="text"],
body.ns-site .ns-pm-form-card textarea{
  width:100%!important;
  border-radius:16px!important;
  border:1px solid #dfe6ef!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
body.ns-site .ns-pm-input{
  min-height:50px!important;
  padding:0 14px!important;
}
body.ns-site .ns-pm-textarea textarea,
body.ns-site .ns-pm-textarea .uk-textarea,
body.ns-site .ns-pm-form-card textarea{
  min-height:180px!important;
  padding:14px!important;
}
body.ns-site .ns-pm-form-card .uk-form-label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#26364c!important;
  font-size:13px!important;
  font-weight:900!important;
  margin-bottom:7px!important;
}
body.ns-site .ns-pm-hint{
  margin-top:7px!important;
  color:#7b8798!important;
  font-size:12px!important;
}
body.ns-site .ns-pm-check{
  color:#66758a!important;
  font-size:13px!important;
}
body.ns-site .ns-pm-history{
  margin-top:22px!important;
  display:grid!important;
  gap:12px!important;
}
body.ns-site .ns-pm-history-title{
  margin:0!important;
  color:#172033!important;
  font-size:21px!important;
  font-weight:950!important;
}
body.ns-site .ns-pm-history-row{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:12px!important;
  padding:14px!important;
  border-radius:18px!important;
  border:1px solid #e7ecf3!important;
  background:#fff!important;
}
body.ns-site .ns-pm-history-row time{
  display:block!important;
  color:#8b96a8!important;
  font-size:12px!important;
  font-weight:750!important;
  margin-bottom:6px!important;
}
body.ns-site .ns-pm-empty{
  min-height:220px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:#7b8798!important;
  text-align:center!important;
}
body.ns-site .ns-pm-empty i{
  font-size:38px!important;
  color:#b8860b!important;
}
body.ns-site .ns-pm-empty strong{
  color:#172033!important;
  font-size:18px!important;
}

/* Header PM dropdown plugin */
body.ns-site .ns-pmlist-dropdown{
  min-width:330px!important;
  padding:10px!important;
  border-radius:24px!important;
  background:#fff!important;
}
body.ns-site .ns-pmlist-item{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:11px!important;
  padding:10px!important;
  border-radius:18px!important;
  text-decoration:none!important;
  transition:background-color .2s ease!important;
}
body.ns-site .ns-pmlist-item:hover{
  background:#f8f6f3!important;
}
body.ns-site .ns-pmlist-avatar{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
body.ns-site .ns-pmlist-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.ns-site .ns-pmlist-content strong{
  display:block!important;
  color:#172033!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.ns-site .ns-pmlist-content small{
  display:block!important;
  color:#6d7b8e!important;
  font-size:12px!important;
  line-height:1.35!important;
  margin-top:3px!important;
}
body.ns-site .ns-pmlist-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  padding:10px 4px 2px!important;
}
body.ns-site .ns-pmlist-actions .uk-button{
  border-radius:999px!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
}

@media(max-width:959px){
  body.ns-site .ns-pm-page{padding:22px 0 44px!important;}
  body.ns-site .ns-pm-layout{display:block!important;}
  body.ns-site .ns-pm-panel{padding:18px!important;border-radius:24px!important;}
  body.ns-site .ns-pm-panel-head{flex-direction:column!important;align-items:flex-start!important;}
  body.ns-site .ns-pm-panel-head h1{font-size:28px!important;}
  body.ns-site .ns-pm-row{
    grid-template-columns:28px 48px minmax(0,1fr)!important;
  }
  body.ns-site .ns-pm-row-date{
    grid-column:3!important;
    justify-self:start!important;
  }
  body.ns-site .ns-pm-message-card{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   PATCH v24 — Premium Paytop + market card/footer + admin controls
   ========================================================== */

/* Main page - latest rooms */
body.ns-site .ns-hotel-listing-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
body.ns-site .ns-hotel-listing-photo{
  flex:0 0 auto!important;
}
body.ns-site .ns-hotel-listing-content{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
body.ns-site .ns-hotel-listing-body{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0!important;
}
body.ns-site .ns-hotel-listing-footer{
  margin-top:auto!important;
  padding-top:14px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
body.ns-site .ns-hotel-minor-meta{
  margin-top:auto!important;
  order:2!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  color:#7b8798!important;
}
body.ns-site .ns-hotel-actions{
  order:3!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
body.ns-site .ns-v23-card-badges,
body.ns-site .ns-v23-card-badges *{
  display:none!important;
}

/* Market product admin controls */
body.ns-site .room-management{
  margin:22px 0 16px!important;
  padding:18px 18px 16px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;
  border:1px solid #e4ded4!important;
  box-shadow:0 16px 42px rgba(23,32,51,.08)!important;
}
body.ns-site .room-management h4{
  margin:0 0 14px!important;
  color:#172033!important;
  font-size:14px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-weight:900!important;
}
body.ns-site .management-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:flex-start!important;
}
body.ns-site .management-btn,
body.ns-site .ns-management-paylink > a,
body.ns-site .ns-management-paylink .uk-button,
body.ns-site .ns-management-paylink a.uk-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  color:#33445b!important;
  font-weight:800!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
body.ns-site .management-btn:hover,
body.ns-site .ns-management-paylink > a:hover,
body.ns-site .ns-management-paylink .uk-button:hover,
body.ns-site .ns-management-paylink a.uk-button:hover{
  background:#f8fafc!important;
  border-color:rgba(0,51,102,.22)!important;
  color:#003366!important;
  transform:none!important;
  box-shadow:none!important;
}
body.ns-site .ns-management-paylink{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  background:#faf7f0!important;
  border:1px solid rgba(184,134,11,.18)!important;
  min-width:220px!important;
  color:#8a6b16!important;
  font-size:12px!important;
  font-weight:700!important;
}
body.ns-site .ns-management-paylink small,
body.ns-site .ns-management-paylink .small,
body.ns-site .ns-management-paylink span:not(.uk-button):not(.btn):not([class*="button"]){
  color:#8b96a8!important;
  font-size:12px!important;
  line-height:1.35!important;
}
body.ns-site .ns-management-paylink br{
  content:""!important;
  display:block!important;
  margin:4px 0!important;
}
body.ns-site .ns-management-paylink .management-btn{
  width:100%!important;
}
@media(max-width:767px){
  body.ns-site .management-buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-management-paylink{
    min-width:0!important;
  }
}

/* Premium Paytop page */
body.ns-site .ns-paytop-page{
  padding-bottom:56px!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(184,134,11,.10), transparent 24%),
    linear-gradient(180deg,#faf8f4 0%,#f6f4ef 100%)!important;
}
body.ns-site .ns-paytop-hero{
  padding:34px 0 22px!important;
}
body.ns-site .ns-paytop-hero-card{
  display:grid!important;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr)!important;
  gap:24px!important;
  padding:34px!important;
  border-radius:32px!important;
  background:
    linear-gradient(135deg, rgba(0,51,102,.96), rgba(8,37,70,.92)),
    url(themes/toworkis/img/tp-header-bg3.jpg) center/cover no-repeat!important;
  box-shadow:0 30px 70px rgba(23,32,51,.22)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
}
body.ns-site .ns-paytop-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
  margin-bottom:14px!important;
}
body.ns-site .ns-paytop-hero h1{
  margin:0 0 14px!important;
  color:#fff!important;
  font-size:44px!important;
  line-height:1.02!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
body.ns-site .ns-paytop-hero p{
  margin:0!important;
  max-width:700px!important;
  color:rgba(255,255,255,.84)!important;
  font-size:17px!important;
  line-height:1.65!important;
}
body.ns-site .ns-paytop-hero-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:18px!important;
}
body.ns-site .ns-paytop-hero-badges span{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
}
body.ns-site .ns-paytop-hero-side{
  display:grid!important;
  gap:14px!important;
  align-content:start!important;
}
body.ns-site .ns-paytop-mini-card,
body.ns-site .ns-paytop-info-card,
body.ns-site .ns-paytop-order-card{
  background:#fff!important;
  border:1px solid #e4ded4!important;
  border-radius:28px!important;
  box-shadow:0 18px 52px rgba(23,32,51,.08)!important;
}
body.ns-site .ns-paytop-mini-card{
  padding:18px 20px!important;
  color:#172033!important;
}
body.ns-site .ns-paytop-mini-label{
  display:block!important;
  margin-bottom:6px!important;
  color:#8b96a8!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.ns-site .ns-paytop-mini-card strong{
  color:#172033!important;
  font-size:24px!important;
  font-weight:950!important;
  line-height:1.15!important;
}
body.ns-site .ns-paytop-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,.75fr)!important;
  gap:24px!important;
  margin-top:24px!important;
}
body.ns-site .ns-paytop-info-card,
body.ns-site .ns-paytop-order-card{
  padding:26px!important;
}
body.ns-site .ns-paytop-info-card h2{
  margin:0 0 18px!important;
  color:#172033!important;
  font-size:28px!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
body.ns-site .ns-paytop-feature-list{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  gap:14px!important;
}
body.ns-site .ns-paytop-feature-list li{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  color:#4c6077!important;
  font-size:15px!important;
  line-height:1.6!important;
}
body.ns-site .ns-paytop-feature-list i{
  color:#b8860b!important;
  margin-top:4px!important;
}
body.ns-site .ns-paytop-order-head{
  padding-bottom:14px!important;
  margin-bottom:16px!important;
  border-bottom:1px solid #eee7dc!important;
}
body.ns-site .ns-paytop-order-head h3{
  margin:0!important;
  color:#172033!important;
  font-size:30px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
body.ns-site .ns-paytop-order-line{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  align-items:flex-start!important;
  padding:14px 0!important;
  border-bottom:1px dashed #e7dece!important;
  color:#66758a!important;
  font-size:14px!important;
}
body.ns-site .ns-paytop-order-line strong{
  color:#172033!important;
  text-align:right!important;
  font-size:16px!important;
  font-weight:900!important;
}
body.ns-site .ns-paytop-price{
  color:#003366!important;
  font-size:34px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
body.ns-site .ns-paytop-submit{
  width:100%!important;
  min-height:54px!important;
  margin-top:22px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:linear-gradient(135deg,#003366,#0b4f89)!important;
  border-color:#003366!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:900!important;
}
body.ns-site .ns-paytop-submit:hover{
  background:linear-gradient(135deg,#00264d,#083b66)!important;
  border-color:#00264d!important;
}
body.ns-site .ns-paytop-note{
  margin:14px 2px 0!important;
  color:#8b96a8!important;
  font-size:13px!important;
  line-height:1.55!important;
}
@media(max-width:959px){
  body.ns-site .ns-paytop-hero-card,
  body.ns-site .ns-paytop-grid{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-paytop-hero h1{
    font-size:34px!important;
  }
}



/* ==========================================================
   HOTFIX v24.1 — возврат нормальной сетки списка market
   Исправляет проблему: "одна большая картинка" в списке товаров.
   ========================================================== */

body.ns-site .ns-latest-products-list.ns-hotel-listings,
body.ns-site .ns-hotel-listings{
  display:grid!important;
  gap:18px!important;
}

body.ns-site .ns-hotel-listing-card{
  display:grid!important;
  grid-template-columns:420px minmax(0,1fr)!important;
  align-items:stretch!important;
  min-height:330px!important;
  height:auto!important;
  overflow:hidden!important;
}

body.ns-site .ns-hotel-listing-photo{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:330px!important;
  max-height:none!important;
  overflow:hidden!important;
  flex:none!important;
}

body.ns-site .ns-hotel-listing-photo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:330px!important;
  object-fit:cover!important;
  object-position:center center!important;
}

body.ns-site .ns-hotel-listing-content{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:330px!important;
  height:auto!important;
  flex:initial!important;
}

body.ns-site .ns-hotel-listing-head{
  flex:0 0 auto!important;
}

body.ns-site .ns-hotel-listing-body{
  flex:1 1 auto!important;
  display:block!important;
}

body.ns-site .ns-hotel-listing-footer{
  margin-top:auto!important;
  padding-top:14px!important;
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
}

body.ns-site .ns-hotel-minor-meta{
  order:0!important;
  margin-top:0!important;
}

body.ns-site .ns-hotel-actions{
  order:0!important;
  justify-content:flex-end!important;
}

@media(max-width:1100px){
  body.ns-site .ns-hotel-listing-card{
    grid-template-columns:340px minmax(0,1fr)!important;
  }
  body.ns-site .ns-hotel-listing-photo,
  body.ns-site .ns-hotel-listing-photo img{
    min-height:310px!important;
  }
}

@media(max-width:959px){
  body.ns-site .ns-hotel-listing-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  body.ns-site .ns-hotel-listing-photo{
    height:260px!important;
    min-height:260px!important;
  }
  body.ns-site .ns-hotel-listing-photo img{
    height:260px!important;
    min-height:260px!important;
  }
  body.ns-site .ns-hotel-listing-content{
    min-height:0!important;
  }
  body.ns-site .ns-hotel-listing-footer{
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
  body.ns-site .ns-hotel-actions{
    justify-content:center!important;
  }
}



/* ==========================================================
   HOTFIX v24.2 — новый макет рекламных блоков paytop на главной
   Поля: звездность, тип, наименование, город, улица (визуальный слот).
   Важно: текущий paytop.tpl передает ограниченный набор переменных,
   поэтому город/улица выведены как декоративные текстовые слоты.
   ========================================================== */

body.ns-site .ns-paytop-home-section{
  margin-top:28px!important;
}
body.ns-site .ns-paytop-home-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:250px!important;
  padding:18px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%)!important;
  border:1px solid #e7dfd3!important;
  box-shadow:0 16px 46px rgba(23,32,51,.08)!important;
  text-decoration:none!important;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease!important;
}
body.ns-site .ns-paytop-home-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 22px 52px rgba(23,32,51,.12)!important;
  border-color:rgba(0,51,102,.14)!important;
}
body.ns-site .ns-paytop-home-card-top{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:14px!important;
}
body.ns-site .ns-paytop-home-points{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#c68805!important;
  font-size:15px!important;
  font-weight:900!important;
}
body.ns-site .ns-paytop-home-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#fff5db!important;
  color:#b06800!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.ns-site .ns-paytop-home-header{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
}
body.ns-site .ns-paytop-home-avatar{
  width:72px!important;
  height:72px!important;
  position:relative!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#eef2f6!important;
  box-shadow:0 10px 24px rgba(23,32,51,.10)!important;
}
body.ns-site .ns-paytop-home-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.ns-site .ns-paytop-home-online{
  position:absolute!important;
  right:4px!important;
  bottom:4px!important;
  width:12px!important;
  height:12px!important;
  border-radius:50%!important;
  background:#0dc073!important;
  border:2px solid #fff!important;
}
body.ns-site .ns-paytop-home-stars{
  display:flex!important;
  gap:4px!important;
  color:#f3b319!important;
  margin-bottom:4px!important;
  font-size:13px!important;
}
body.ns-site .ns-paytop-home-type{
  color:#7a8797!important;
  font-size:12px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  margin-bottom:4px!important;
}
body.ns-site .ns-paytop-home-title{
  margin:0!important;
  color:#172033!important;
  font-size:25px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
}
body.ns-site .ns-paytop-home-location{
  display:grid!important;
  gap:7px!important;
  margin-top:16px!important;
  padding-top:14px!important;
  border-top:1px dashed #e9e1d5!important;
}
body.ns-site .ns-paytop-home-meta-item{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  color:#52647a!important;
  font-size:13px!important;
  line-height:1.35!important;
}
body.ns-site .ns-paytop-home-meta-item i{
  width:16px!important;
  text-align:center!important;
  color:#003366!important;
  margin-top:1px!important;
}
body.ns-site .ns-paytop-home-meta-label{
  font-weight:900!important;
  color:#26364c!important;
}
body.ns-site .ns-paytop-home-meta-value{
  color:#6f7d8f!important;
}
body.ns-site .ns-paytop-home-desc{
  margin:14px 0 0!important;
  color:#4d5e74!important;
  font-size:14px!important;
  line-height:1.6!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

@media(max-width:959px){
  body.ns-site .ns-paytop-home-card{
    min-height:0!important;
  }
  body.ns-site .ns-paytop-home-title{
    font-size:22px!important;
  }
}



/* ==========================================================
   HOTFIX v24.3 — paytop main page: premium 4 ad blocks
   - 4 visible blocks on desktop
   - full-width top image
   - uses user module extra field placeholders where available
   ========================================================== */

body.ns-site .ns-paytop-showcase{
  margin-top:30px!important;
}
body.ns-site .ns-paytop-showcase-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
body.ns-site .ns-paytop-showcase-item:nth-child(n+5){
  display:none!important;
}

body.ns-site .ns-paytop-adv-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  height:100%!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%)!important;
  border:1px solid #e8dfd2!important;
  box-shadow:0 18px 46px rgba(23,32,51,.08)!important;
  text-decoration:none!important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease!important;
}
body.ns-site .ns-paytop-adv-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(0,51,102,.14)!important;
  box-shadow:0 24px 56px rgba(23,32,51,.13)!important;
}
body.ns-site .ns-paytop-adv-media{
  position:relative!important;
  height:178px!important;
  overflow:hidden!important;
  background:#eaf0f5!important;
}
body.ns-site .ns-paytop-adv-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:scale(1.06)!important;
  filter:saturate(1.02) contrast(1.02)!important;
}
body.ns-site .ns-paytop-adv-overlay{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(5,22,38,.06) 0%,rgba(5,22,38,.16) 55%,rgba(5,22,38,.46) 100%)!important;
}
body.ns-site .ns-paytop-adv-topline{
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  right:12px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  z-index:2!important;
}
body.ns-site .ns-paytop-adv-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:30px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:#b8860b!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(23,32,51,.12)!important;
}
body.ns-site .ns-paytop-adv-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(184,134,11,.95)!important;
  color:#fff!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(23,32,51,.15)!important;
}
body.ns-site .ns-paytop-adv-body{
  display:flex!important;
  flex-direction:column!important;
  padding:16px 16px 18px!important;
  gap:10px!important;
  flex:1 1 auto!important;
}
body.ns-site .ns-paytop-adv-type{
  color:#7a8696!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
body.ns-site .ns-paytop-adv-title{
  margin:0!important;
  color:#172033!important;
  font-size:22px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
body.ns-site .ns-paytop-adv-location{
  display:grid!important;
  gap:7px!important;
  padding-top:10px!important;
  border-top:1px dashed #e8dfd2!important;
}
body.ns-site .ns-paytop-adv-location-line{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  color:#55677c!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.ns-site .ns-paytop-adv-location-line i{
  width:14px!important;
  text-align:center!important;
  color:#003366!important;
  margin-top:2px!important;
}
body.ns-site .ns-paytop-adv-desc{
  margin:0!important;
  color:#4d5f74!important;
  font-size:13px!important;
  line-height:1.58!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

@media(max-width:1399px){
  body.ns-site .ns-paytop-showcase-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:767px){
  body.ns-site .ns-paytop-showcase-grid{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-paytop-showcase-item:nth-child(n+5){
    display:none!important;
  }
  body.ns-site .ns-paytop-adv-media{
    height:190px!important;
  }
}



/* ==========================================================
   HOTFIX v24.4 — premium paytop cards with free slots
   - object title from user extrafield (NAZVANIE)
   - stars moved next to object type
   - empty slots become premium invitation cards
   ========================================================== */

body.ns-site .ns-paytop-showcase-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
body.ns-site .ns-paytop-showcase-item:nth-child(n+5){
  display:none!important;
}

body.ns-site .ns-paytop-adv-card,
body.ns-site .ns-paytop-free-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  height:100%!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#fff 0%,#fcfbf8 100%)!important;
  border:1px solid #e8dfd2!important;
  box-shadow:0 18px 46px rgba(23,32,51,.08)!important;
  text-decoration:none!important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease!important;
}
body.ns-site .ns-paytop-adv-card:hover,
body.ns-site .ns-paytop-free-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(0,51,102,.14)!important;
  box-shadow:0 24px 56px rgba(23,32,51,.13)!important;
}
body.ns-site .ns-paytop-adv-media,
body.ns-site .ns-paytop-free-media{
  position:relative!important;
  height:178px!important;
  overflow:hidden!important;
  background:#eaf0f5!important;
}
body.ns-site .ns-paytop-adv-media img,
body.ns-site .ns-paytop-free-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
body.ns-site .ns-paytop-adv-media img{
  transform:scale(1.06)!important;
}
body.ns-site .ns-paytop-free-media img{
  transform:scale(1.03)!important;
}
body.ns-site .ns-paytop-adv-overlay,
body.ns-site .ns-paytop-free-overlay{
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(5,22,38,.10) 0%,rgba(5,22,38,.18) 45%,rgba(5,22,38,.55) 100%)!important;
}
body.ns-site .ns-paytop-adv-badge{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(184,134,11,.95)!important;
  color:#fff!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(23,32,51,.15)!important;
}
body.ns-site .ns-paytop-adv-body,
body.ns-site .ns-paytop-free-body{
  display:flex!important;
  flex-direction:column!important;
  padding:16px 16px 18px!important;
  gap:10px!important;
  flex:1 1 auto!important;
}
body.ns-site .ns-paytop-adv-headline{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
body.ns-site .ns-paytop-adv-type{
  color:#7a8696!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
body.ns-site .ns-paytop-adv-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  color:#f0b11b!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.ns-site .ns-paytop-adv-title{
  margin:0!important;
  color:#172033!important;
  font-size:22px!important;
  line-height:1.08!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
body.ns-site .ns-paytop-adv-location{
  display:grid!important;
  gap:7px!important;
  padding-top:10px!important;
  border-top:1px dashed #e8dfd2!important;
}
body.ns-site .ns-paytop-adv-location-line{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  color:#55677c!important;
  font-size:13px!important;
  line-height:1.4!important;
}
body.ns-site .ns-paytop-adv-location-line i{
  width:14px!important;
  text-align:center!important;
  color:#003366!important;
  margin-top:2px!important;
}
body.ns-site .ns-paytop-adv-desc{
  margin:0!important;
  color:#4d5f74!important;
  font-size:13px!important;
  line-height:1.58!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}

/* free cards */
body.ns-site .ns-paytop-free-body{
  justify-content:flex-start!important;
}
body.ns-site .ns-paytop-free-kicker{
  display:inline-flex!important;
  align-items:center!important;
  align-self:flex-start!important;
  min-height:28px!important;
  padding:0 11px!important;
  border-radius:999px!important;
  background:#fff5db!important;
  color:#b06800!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
body.ns-site .ns-paytop-free-body h3{
  margin:0!important;
  color:#172033!important;
  font-size:24px!important;
  line-height:1.06!important;
  letter-spacing:-.03em!important;
  font-weight:950!important;
}
body.ns-site .ns-paytop-free-body p{
  margin:0!important;
  color:#58697d!important;
  font-size:14px!important;
  line-height:1.6!important;
  flex:1 1 auto!important;
}
body.ns-site .ns-paytop-free-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#003366,#0b4f89)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 12px 24px rgba(0,51,102,.18)!important;
}
body.ns-site .ns-paytop-free-card:hover .ns-paytop-free-btn{
  background:linear-gradient(135deg,#00264d,#083b66)!important;
}

@media(max-width:1399px){
  body.ns-site .ns-paytop-showcase-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:767px){
  body.ns-site .ns-paytop-showcase-grid{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-paytop-adv-media,
  body.ns-site .ns-paytop-free-media{
    height:190px!important;
  }
}


/* HOTFIX v24.5 — original paytop visuals + dynamic stars */
body.ns-site .ns-paytop-adv-stars{min-height:16px!important;justify-content:flex-end!important;}
body.ns-site .ns-paytop-adv-stars:empty{display:none!important;}
body.ns-site .ns-paytop-adv-stars i{color:#f1b41c!important;font-size:12px!important;line-height:1!important;}



/* ==========================================================
   HOTFIX v24.6 — marketfav + paytop details polish
   ========================================================== */

/* Marketfav: remove-from-favorites as broken heart icon */
body.ns-site .ns-marketfav-remove{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.ns-site .ns-marketfav-remove a,
body.ns-site .ns-marketfav-remove button,
body.ns-site .ns-marketfav-remove .uk-button,
body.ns-site .ns-marketfav-remove input[type="submit"]{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid #f2c4c4!important;
  background:#fff5f5!important;
  color:#c24141!important;
  box-shadow:none!important;
  font-size:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  position:relative!important;
}
body.ns-site .ns-marketfav-remove a:before,
body.ns-site .ns-marketfav-remove button:before,
body.ns-site .ns-marketfav-remove .uk-button:before,
body.ns-site .ns-marketfav-remove input[type="submit"]:before{
  content:"\f7a9"!important;
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome!important;
  font-weight:900!important;
  font-size:17px!important;
  line-height:1!important;
  text-indent:0!important;
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.ns-site .ns-marketfav-remove a:hover,
body.ns-site .ns-marketfav-remove button:hover,
body.ns-site .ns-marketfav-remove .uk-button:hover,
body.ns-site .ns-marketfav-remove input[type="submit"]:hover{
  background:#ffecec!important;
  border-color:#ef9f9f!important;
  color:#991b1b!important;
  transform:none!important;
  box-shadow:0 10px 24px rgba(194,65,65,.10)!important;
}

/* Marketfav stars/type visibility */
body.ns-site .ns-marketfav-list .ns-hotel-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  color:#f0b11b!important;
  min-height:16px!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-stars:empty{
  display:none!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-object-type{
  display:inline-flex!important;
  align-items:center!important;
  color:#56657a!important;
  font-size:13px!important;
  font-weight:850!important;
}

/* Prevent ugly numeric location IDs in favorites */
body.ns-site .ns-marketfav-list .ns-address-simple-line{
  color:#607188!important;
}
body.ns-site .ns-marketfav-list .js-clean-location-ids{
  display:inline!important;
}

/* Paytop: nearby label like latest rooms */
body.ns-site .ns-paytop-adv-nearby{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  align-self:flex-start!important;
  max-width:100%!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#eef4fb!important;
  border:1px solid #d9e6f4!important;
  color:#294766!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:800!important;
}
body.ns-site .ns-paytop-adv-nearby i{
  color:#003366!important;
  font-size:12px!important;
}
body.ns-site .ns-paytop-adv-nearby span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.ns-site .ns-paytop-adv-nearby b{
  color:#003366!important;
  font-weight:950!important;
  white-space:nowrap!important;
}

/* Paytop free cards: cleaner image treatment */
body.ns-site .ns-paytop-free-media img{
  filter:saturate(1.05) contrast(1.02)!important;
}
body.ns-site .ns-paytop-free-overlay{
  background:linear-gradient(180deg,rgba(5,22,38,.06) 0%,rgba(5,22,38,.12) 52%,rgba(5,22,38,.42) 100%)!important;
}



/* ==========================================================
   HOTFIX v24.7 — marketfav visual and data recovery
   ========================================================== */
body.ns-site .ns-marketfav-list .ns-hotel-listing-content{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-listing-footer{
  margin-top:auto!important;
  align-items:flex-end!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-minor-meta{
  margin-right:auto!important;
}
body.ns-site .ns-marketfav-list .ns-list-fav-pin,
body.ns-site .ns-marketfav-list .ns-list-fav-pin-under{
  display:none!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-object-line{
  gap:6px 10px!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  color:#f0b11b!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-stars i{
  font-size:14px!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-object-type{
  color:#50667f!important;
  font-size:14px!important;
  font-weight:900!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-object-name{
  color:#27415f!important;
  font-size:14px!important;
  font-weight:900!important;
}
body.ns-site .ns-marketfav-list .ns-address-simple-line{
  color:#607188!important;
  font-size:13px!important;
}
body.ns-site .ns-marketfav-list .ns-address-simple-line i{
  color:#003366!important;
}
body.ns-site .ns-marketfav-list .ns-marketfav-remove{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
body.ns-site .ns-marketfav-list .ns-marketfav-remove form{
  margin:0!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:999px!important;
  border:1px solid #efc1c9!important;
  background:#fff5f6!important;
  color:#c02548!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
  transition:all .18s ease!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn i{
  flex:0 0 auto!important;
  width:auto!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn span{
  display:none!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn:hover{
  background:#ffecee!important;
  border-color:#e6a0ac!important;
  color:#9d1734!important;
  transform:none!important;
}
body.ns-site .ns-marketfav-list .ns-marketfav-row-action a:before,
body.ns-site .ns-marketfav-list .ns-marketfav-row-action button:before,
body.ns-site .ns-marketfav-list .ns-marketfav-row-action input[type="submit"]:before{
  content:none!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-actions{
  gap:12px!important;
  align-items:center!important;
}
body.ns-site .ns-paytop-free-media img{
  filter:saturate(1.05) contrast(1.03)!important;
}
body.ns-site .ns-paytop-free-overlay{
  background:linear-gradient(180deg,rgba(6,27,50,.03) 0%, rgba(6,27,50,.12) 56%, rgba(6,27,50,.44) 100%)!important;
}



/* ==========================================================
   HOTFIX v24.8 — remove filterbar, paytop card polish, marketfav hydration polish
   ========================================================== */

/* убрать блок фильтров над списком номеров */
body.ns-site .ns-v23-filterbar{
  display:none!important;
}

/* paytop: карточка без лишнего описания, с кнопкой Подробнее */
body.ns-site .ns-paytop-adv-card{
  min-height:100%!important;
}
body.ns-site .ns-paytop-adv-body{
  gap:8px!important;
}
body.ns-site .ns-paytop-adv-type{
  font-size:11px!important;
  letter-spacing:.09em!important;
}
body.ns-site .ns-paytop-adv-title{
  font-size:22px!important;
  line-height:1.1!important;
}
body.ns-site .ns-paytop-adv-location-line{
  font-size:12px!important;
  line-height:1.35!important;
}
body.ns-site .ns-paytop-adv-nearby{
  font-size:11px!important;
  padding:6px 9px!important;
  max-width:100%!important;
}
body.ns-site .ns-paytop-adv-nearby span{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.ns-site .ns-paytop-adv-desc{
  display:none!important;
}
body.ns-site .ns-paytop-adv-more{
  margin-top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:0 15px!important;
  align-self:flex-start!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#003366,#0b4f89)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(0,51,102,.16)!important;
}
body.ns-site .ns-paytop-adv-card:hover .ns-paytop-adv-more{
  background:linear-gradient(135deg,#00264d,#083b66)!important;
}

/* marketfav: компактная кнопка удаления и корректная нижняя строка */
body.ns-site .ns-marketfav-list .ns-list-fav-pin,
body.ns-site .ns-marketfav-list .ns-list-fav-pin-under{
  display:none!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-listing-content{
  display:flex!important;
  flex-direction:column!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-listing-footer{
  margin-top:auto!important;
  align-items:center!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-minor-meta{
  margin-right:auto!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-actions{
  align-items:center!important;
  gap:12px!important;
}
body.ns-site .ns-marketfav-list .ns-marketfav-remove,
body.ns-site .ns-marketfav-list .ns-marketfav-remove form{
  margin:0!important;
  display:inline-flex!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid #efc1c9!important;
  background:#fff5f6!important;
  color:#c02548!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  overflow:hidden!important;
  box-shadow:none!important;
  font-size:0!important;
  text-indent:0!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn i{
  font-size:15px!important;
  line-height:1!important;
  margin:0!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn span{
  display:none!important;
}
body.ns-site .ns-marketfav-list .ns-fav-remove-btn:hover{
  background:#ffecee!important;
  border-color:#e6a0ac!important;
  color:#9d1734!important;
  transform:none!important;
}
body.ns-site .ns-marketfav-list .ns-marketfav-row-action a:before,
body.ns-site .ns-marketfav-list .ns-marketfav-row-action button:before,
body.ns-site .ns-marketfav-list .ns-marketfav-row-action input[type="submit"]:before{
  content:none!important;
}

body.ns-site .ns-marketfav-list .ns-hotel-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  color:#f0b11b!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-stars i{
  font-size:14px!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-object-type{
  color:#50667f!important;
  font-size:14px!important;
  font-weight:900!important;
}
body.ns-site .ns-marketfav-list .ns-hotel-object-name{
  color:#27415f!important;
  font-size:14px!important;
  font-weight:900!important;
}
body.ns-site .ns-marketfav-list .ns-address-simple-line{
  color:#607188!important;
  font-size:13px!important;
}
body.ns-site .ns-marketfav-list .ns-address-simple-line i{
  color:#003366!important;
}

/* paytop/free images treatment */
body.ns-site .ns-paytop-adv-media img,
body.ns-site .ns-paytop-free-media img{
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.04) contrast(1.03)!important;
}


/* ==========================================================
   GUEST HOME PREMIUM v24.9
   ========================================================== */
body.ns-site .ns-v23-hero{
  min-height:640px!important;
  padding:96px 0 88px!important;
  background-position:center center!important;
}
body.ns-site .ns-v23-hero-content{
  max-width:760px!important;
}
body.ns-site .ns-v23-hero h1{
  max-width:720px!important;
  font-size:clamp(42px,5vw,72px)!important;
  line-height:0.98!important;
  letter-spacing:-0.03em!important;
  font-family:var(--font-heading)!important;
}
body.ns-site .ns-v23-hero p{
  max-width:680px!important;
  font-size:17px!important;
  line-height:1.7!important;
}
body.ns-site .ns-v23-search{
  max-width:860px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.2)!important;
  box-shadow:0 26px 60px rgba(1,12,28,.24)!important;
}
body.ns-site .ns-v23-hero-actions{
  justify-content:flex-start!important;
  gap:14px!important;
}
body.ns-site .ns-v23-trust{
  padding:24px 0 10px!important;
  background:linear-gradient(180deg,#f8f6f3 0%,#ffffff 100%)!important;
}
body.ns-site .ns-v23-trust-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
body.ns-site .ns-v23-trust-grid>div{
  min-height:108px!important;
  padding:18px 18px 16px!important;
  border-radius:20px!important;
  border:1px solid rgba(181,157,104,.22)!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(17,34,64,.08)!important;
}
body.ns-site .ns-v23-trust-grid>div i{
  width:44px!important;height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:14px!important;background:rgba(184,134,11,.12)!important;color:var(--color-accent)!important;font-size:18px!important;margin-bottom:10px!important;
}
body.ns-site .ns-v23-trust-grid>div strong{display:block!important;color:#12233f!important;font-size:15px!important;margin-bottom:4px!important;}
body.ns-site .ns-v23-trust-grid>div span{display:block!important;color:#6a778b!important;font-size:13px!important;line-height:1.45!important;}

body.ns-site .ns-section-head{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin-bottom:24px!important;
}
body.ns-site .ns-section-head.ns-section-head-center{
  justify-content:center!important;
  text-align:center!important;
}
body.ns-site .ns-section-head h2{
  margin:6px 0 8px!important;
  color:#12233f!important;
  font-size:clamp(28px,3.4vw,44px)!important;
  line-height:1.02!important;
  letter-spacing:-0.03em!important;
  font-family:var(--font-heading)!important;
}
body.ns-site .ns-section-head p{
  margin:0!important;
  color:#68778d!important;
  font-size:15px!important;
  line-height:1.7!important;
  max-width:720px!important;
}
body.ns-site .ns-section-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:32px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(0,51,102,.12)!important;
  background:#fff!important;
  color:#627089!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.ns-site .ns-section-kicker--light{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#ecf2fb!important;
}
body.ns-site .ns-section-link{
  white-space:nowrap!important;
  min-height:48px!important;
  border-radius:999px!important;
}

body.ns-site .ns-guest-latest,
body.ns-site .ns-home-destinations,
body.ns-site .ns-guest-benefits,
body.ns-site .ns-guest-owners{
  padding:54px 0!important;
}
body.ns-site .ns-guest-latest{
  background:linear-gradient(180deg,#ffffff 0%,#fbfaf7 100%)!important;
}
body.ns-site .ns-guest-latest-list .uk-card,
body.ns-site .ns-guest-owners-list .uk-card{
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 20px 50px rgba(19,35,63,.08)!important;
}

body.ns-site .ns-home-destinations{
  background:#fff!important;
}
body.ns-site .ns-home-destinations .ns-section-intro h2{
  font-family:var(--font-heading)!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-0.03em!important;
  color:#12233f!important;
}
body.ns-site .ns-home-destinations .ns-section-intro p{
  color:#6e7a8d!important;
}
body.ns-site .ns-home-destination-card{
  border:1px solid rgba(0,51,102,.06)!important;
  box-shadow:0 18px 40px rgba(20,38,67,.08)!important;
}
body.ns-site .ns-home-destination-card:hover{transform:translateY(-4px)!important;box-shadow:0 24px 60px rgba(20,38,67,.12)!important;}

body.ns-site .ns-guest-benefits{
  background:linear-gradient(180deg,#fbfaf7 0%,#f3f6f8 100%)!important;
}
body.ns-site .ns-guest-benefit-card{
  height:100%!important;
  padding:26px 22px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 18px 42px rgba(18,33,56,.08)!important;
}
body.ns-site .ns-guest-benefit-icon{
  width:58px!important;height:58px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(184,134,11,.16),rgba(0,51,102,.08))!important;
  color:#b8860b!important;
  font-size:22px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-guest-benefit-card h3{
  margin:0 0 10px!important;
  font-size:20px!important;
  color:#13233f!important;
  font-weight:900!important;
}
body.ns-site .ns-guest-benefit-card p{margin:0!important;color:#6c788b!important;font-size:14px!important;line-height:1.7!important;}

body.ns-site .ns-guest-owner-cta{
  padding:68px 0!important;
  background:linear-gradient(135deg,rgba(0,34,68,.96),rgba(7,60,104,.92)), url('../img/ns-auth-hotel-premium.webp') center/cover no-repeat!important;
}
body.ns-site .ns-guest-owner-cta__inner{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
body.ns-site .ns-guest-owner-cta__content,
body.ns-site .ns-guest-owner-cta__stats{
  padding:34px 32px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.1)!important;
  backdrop-filter:blur(10px)!important;
}
body.ns-site .ns-guest-owner-cta__content h2{
  margin:10px 0 12px!important;
  color:#fff!important;
  font-size:clamp(30px,3.2vw,48px)!important;
  line-height:1.02!important;
  letter-spacing:-0.03em!important;
  font-family:var(--font-heading)!important;
}
body.ns-site .ns-guest-owner-cta__content p{margin:0!important;color:rgba(255,255,255,.82)!important;font-size:16px!important;line-height:1.75!important;max-width:680px!important;}
body.ns-site .ns-guest-owner-cta__actions{display:flex!important;flex-wrap:wrap!important;gap:14px!important;margin-top:24px!important;}
body.ns-site .ns-guest-owner-cta__actions .uk-button{min-height:50px!important;border-radius:999px!important;padding:0 22px!important;}
body.ns-site .ns-guest-owner-cta__actions .uk-button-default{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important;}
body.ns-site .ns-guest-owner-cta__stats{display:grid!important;gap:14px!important;align-content:center!important;}
body.ns-site .ns-guest-stat{padding:18px 18px!important;border-radius:20px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.08)!important;}
body.ns-site .ns-guest-stat strong{display:block!important;color:#fff!important;font-size:20px!important;font-weight:900!important;margin-bottom:4px!important;}
body.ns-site .ns-guest-stat span{display:block!important;color:rgba(255,255,255,.76)!important;font-size:13px!important;line-height:1.5!important;}

body.ns-site .ns-guest-owners{
  background:#fff!important;
}
body.ns-site .ns-guest-owners-list .uk-card{
  overflow:hidden!important;
  border-radius:24px!important;
}
body.ns-site .ns-guest-owners-list .uk-card-body{
  padding:28px 24px 20px!important;
}
body.ns-site .ns-guest-owners-list .uk-card-footer{
  padding:20px 24px 24px!important;
  background:linear-gradient(180deg,#fbfaf8 0%,#f5f7fa 100%)!important;
  color:#667488!important;
  font-size:14px!important;
  line-height:1.7!important;
}
body.ns-site .ns-guest-owners-list .uk-card-footer .uk-button{
  margin-top:18px!important;
  min-height:46px!important;
  border-radius:999px!important;
}
body.ns-site .ns-guest-owners-list img.uk-border-circle{
  width:96px!important;
  height:96px!important;
  object-fit:cover!important;
  border:4px solid #fff!important;
  box-shadow:0 12px 24px rgba(19,35,58,.12)!important;
}

@media (max-width: 1199px){
  body.ns-site .ns-v23-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width: 959px){
  body.ns-site .ns-v23-hero{min-height:auto!important;padding:78px 0 70px!important;}
  body.ns-site .ns-v23-hero-actions{justify-content:center!important;}
  body.ns-site .ns-section-head{flex-direction:column!important;align-items:flex-start!important;}
  body.ns-site .ns-section-head.ns-section-head-center{align-items:center!important;}
  body.ns-site .ns-guest-owner-cta__inner{grid-template-columns:1fr!important;}
}
@media (max-width: 639px){
  body.ns-site .ns-v23-hero h1{font-size:42px!important;}
  body.ns-site .ns-v23-trust-grid{grid-template-columns:1fr!important;}
  body.ns-site .ns-guest-latest,
  body.ns-site .ns-home-destinations,
  body.ns-site .ns-guest-benefits,
  body.ns-site .ns-guest-owners,
  body.ns-site .ns-guest-owner-cta{padding:42px 0!important;}
  body.ns-site .ns-guest-owner-cta__content,
  body.ns-site .ns-guest-owner-cta__stats{padding:24px 20px!important;}
}



/* ==========================================================
   USER HOTEL PROFILE PREMIUM v24.10
   Премиальная страница просмотра пользователя / отеля.
   modules/users/users.details.tpl
   ========================================================== */

body.ns-site .ns-profile-page{
  background:
    radial-gradient(circle at 10% 0%, rgba(184,134,11,.08), transparent 26%),
    linear-gradient(180deg,#fbfaf7 0%,#f5f7fa 100%)!important;
  color:#172033!important;
}
body.ns-site .ns-profile-hero{
  position:relative!important;
  padding:84px 0 110px!important;
  min-height:620px!important;
  background-size:cover!important;
  background-position:center!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-hero__overlay{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg, rgba(4,19,39,.92) 0%, rgba(5,31,59,.80) 42%, rgba(11,52,84,.48) 100%),
    radial-gradient(circle at 80% 25%, rgba(184,134,11,.18), transparent 32%)!important;
}
body.ns-site .ns-profile-hero .uk-container{
  position:relative!important;
  z-index:2!important;
}
body.ns-site .ns-profile-hero__grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.72fr)!important;
  gap:34px!important;
  align-items:center!important;
}
body.ns-site .ns-profile-hero__content{
  color:#fff!important;
  max-width:820px!important;
}
body.ns-site .ns-profile-eyebrow{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-profile-eyebrow span,
body.ns-site .ns-profile-eyebrow b{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.ns-site .ns-profile-eyebrow b{
  background:rgba(184,134,11,.92)!important;
  border-color:rgba(184,134,11,.95)!important;
}
body.ns-site .ns-profile-object-meta{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-bottom:12px!important;
}
body.ns-site .ns-profile-type{
  color:rgba(255,255,255,.78)!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.ns-site .ns-profile-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  color:#f3b319!important;
}
body.ns-site .ns-profile-stars i,
body.ns-site .ns-profile-stars svg{
  color:#f3b319!important;
  fill:#f3b319!important;
}
body.ns-site .ns-profile-hero h1{
  margin:0!important;
  color:#fff!important;
  font-family:var(--font-heading)!important;
  font-size:clamp(42px,5.2vw,78px)!important;
  line-height:.96!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
  text-shadow:0 16px 38px rgba(0,0,0,.28)!important;
}
body.ns-site .ns-profile-location{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-top:16px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:15px!important;
  line-height:1.55!important;
}
body.ns-site .ns-profile-location i{
  color:#f3c66b!important;
  margin-top:4px!important;
}
body.ns-site .ns-profile-hero__lead{
  max-width:760px!important;
  margin:24px 0 0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:17px!important;
  line-height:1.76!important;
}
body.ns-site .ns-profile-hero__actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  margin-top:30px!important;
}
body.ns-site .ns-profile-hero__actions .uk-button{
  min-height:52px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:0 24px!important;
  font-weight:900!important;
}
body.ns-site .ns-profile-hero__actions .uk-button-default{
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
}
body.ns-site .ns-profile-hero__card{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:32px!important;
  padding:14px!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.30)!important;
}
body.ns-site .ns-profile-hero-photo{
  height:300px!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.08)!important;
}
body.ns-site .ns-profile-hero-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
body.ns-site .ns-profile-hero-card__body{
  padding:16px 4px 2px!important;
}
body.ns-site .ns-profile-rating-card{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.92)!important;
  color:#172033!important;
}
body.ns-site .ns-profile-rating-card span{
  color:#7a8797!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.ns-site .ns-profile-rating-card strong{
  color:#003366!important;
  font-size:19px!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-mini-facts{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:10px!important;
}
body.ns-site .ns-profile-mini-facts>div{
  padding:12px 10px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  min-width:0!important;
}
body.ns-site .ns-profile-mini-facts i{
  display:block!important;
  color:#f3c66b!important;
  margin-bottom:6px!important;
}
body.ns-site .ns-profile-mini-facts span{
  display:block!important;
  color:rgba(255,255,255,.64)!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.07em!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.ns-site .ns-profile-mini-facts b{
  display:block!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:950!important;
  margin-top:3px!important;
}

/* nav */
body.ns-site .ns-profile-nav-wrap{
  position:sticky!important;
  top:78px!important;
  z-index:20!important;
  margin-top:-46px!important;
  padding-bottom:22px!important;
}
body.ns-site .ns-profile-nav{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  padding:12px!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 18px 44px rgba(17,34,64,.12)!important;
  backdrop-filter:blur(10px)!important;
}
body.ns-site .ns-profile-nav a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  color:#52647a!important;
  background:#f5f7fa!important;
  border:1px solid #e4e9f0!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
body.ns-site .ns-profile-nav a:hover{
  background:#003366!important;
  color:#fff!important;
  border-color:#003366!important;
}

/* layout */
body.ns-site .ns-profile-main{
  padding-top:16px!important;
  padding-bottom:72px!important;
}
body.ns-site .ns-profile-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:28px!important;
  align-items:start!important;
}
body.ns-site .ns-profile-content{
  min-width:0!important;
}
body.ns-site .ns-profile-sidebar{
  min-width:0!important;
}
body.ns-site .ns-profile-section{
  margin-bottom:30px!important;
}
body.ns-site .ns-profile-card,
body.ns-site .ns-profile-side-card{
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
}
body.ns-site .ns-profile-card{
  padding:28px!important;
}
body.ns-site .ns-profile-section-head{
  margin-bottom:20px!important;
}
body.ns-site .ns-profile-section-head-row{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:18px!important;
}
body.ns-site .ns-profile-section-kicker{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#f5efe3!important;
  color:#8e6508!important;
  font-size:11px!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
  margin-bottom:8px!important;
}
body.ns-site .ns-profile-section-head h2{
  margin:0!important;
  color:#172033!important;
  font-family:var(--font-heading)!important;
  font-size:clamp(26px,2.8vw,42px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-section-head p{
  margin:8px 0 0!important;
  color:#6b778b!important;
  font-size:15px!important;
  line-height:1.65!important;
  max-width:760px!important;
}

/* gallery */
body.ns-site .ns-profile-gallery{
  display:grid!important;
  grid-template-columns:minmax(0,1.4fr) minmax(260px,.75fr)!important;
  gap:12px!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
  padding:12px!important;
}
body.ns-site .ns-profile-gallery__main{
  position:relative!important;
  min-height:420px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  display:block!important;
  background:#eaf0f6!important;
  text-decoration:none!important;
}
body.ns-site .ns-profile-gallery__main img{
  width:100%!important;
  height:100%!important;
  min-height:420px!important;
  object-fit:cover!important;
  display:block!important;
}
body.ns-site .ns-profile-gallery__main:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,transparent 55%,rgba(5,20,40,.48) 100%)!important;
}
body.ns-site .ns-profile-gallery__main span{
  position:absolute!important;
  left:18px!important;
  bottom:18px!important;
  z-index:2!important;
  min-height:40px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  border-radius:999px!important;
  color:#fff!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  backdrop-filter:blur(8px)!important;
  font-weight:850!important;
}
body.ns-site .ns-profile-gallery__side{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
body.ns-site .ns-profile-gallery__side>div{
  position:relative!important;
  min-height:200px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center!important;
}
body.ns-site .ns-profile-gallery__side>div:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,30,60,.45))!important;
}
body.ns-site .ns-profile-gallery__side span{
  position:absolute!important;
  left:12px!important;
  bottom:12px!important;
  z-index:2!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

/* content blocks */
body.ns-site .ns-profile-description{
  color:#3e5169!important;
  font-size:16px!important;
  line-height:1.78!important;
}
body.ns-site .ns-profile-description p{
  margin:0 0 12px!important;
}
body.ns-site .ns-profile-spec-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:22px!important;
}
body.ns-site .ns-profile-spec-grid>div{
  padding:16px 16px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-profile-spec-grid span,
body.ns-site .ns-profile-rules-grid span{
  display:block!important;
  color:#7a8797!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.ns-site .ns-profile-spec-grid b,
body.ns-site .ns-profile-rules-grid b{
  display:block!important;
  color:#172033!important;
  font-size:17px!important;
  margin-top:5px!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-about-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:18px!important;
}
body.ns-site .ns-profile-about-grid article{
  padding:18px!important;
  border-radius:20px!important;
  background:#fffaf1!important;
  border:1px solid #efe2c7!important;
}
body.ns-site .ns-profile-about-grid i{
  color:#b8860b!important;
  font-size:20px!important;
  margin-bottom:10px!important;
}
body.ns-site .ns-profile-about-grid h3{
  margin:0 0 8px!important;
  color:#172033!important;
  font-size:17px!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-about-grid p{
  margin:0!important;
  color:#5f6d80!important;
  line-height:1.65!important;
  font-size:14px!important;
}

/* module outputs */
body.ns-site .ns-profile-module-output{
  min-width:0!important;
}
body.ns-site .ns-profile-module-output .uk-card,
body.ns-site .ns-profile-module-output .ns-hotel-listing-card{
  border-radius:24px!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 18px 44px rgba(18,34,61,.08)!important;
}
body.ns-site .ns-profile-promos-placeholder{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:24px!important;
  align-items:center!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(10,76,128,.9)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  color:#fff!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-promos-placeholder i{
  width:58px!important;
  height:58px!important;
  border-radius:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(184,134,11,.9)!important;
  color:#fff!important;
  font-size:24px!important;
  margin-bottom:16px!important;
}
body.ns-site .ns-profile-promos-placeholder h3{
  color:#fff!important;
  margin:0 0 8px!important;
  font-size:24px!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-promos-placeholder p{
  color:rgba(255,255,255,.78)!important;
  margin:0!important;
  line-height:1.65!important;
}
body.ns-site .ns-profile-promos-content{
  min-height:80px!important;
}

/* rules amenities faq */
body.ns-site .ns-profile-rules-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
body.ns-site .ns-profile-rules-grid>div{
  padding:16px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-profile-rules-grid i{
  color:#003366!important;
  font-size:20px!important;
  margin-bottom:10px!important;
}
body.ns-site .ns-profile-rules-text{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:16px!important;
}
body.ns-site .ns-profile-rules-text article{
  padding:18px!important;
  border-radius:20px!important;
  background:#fffaf1!important;
  border:1px solid #efe2c7!important;
}
body.ns-site .ns-profile-rules-text h3{
  margin:0 0 8px!important;
  color:#172033!important;
  font-size:17px!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-rules-text p{
  margin:0!important;
  color:#5f6d80!important;
  line-height:1.65!important;
}
body.ns-site .ns-profile-amenities-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.ns-site .ns-profile-amenities-grid>div{
  padding:16px 16px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-profile-amenities-grid b{
  display:block!important;
  color:#172033!important;
  font-size:14px!important;
  margin-bottom:8px!important;
}
body.ns-site .ns-profile-amenities-grid span{
  display:block!important;
  color:#5f6d80!important;
  font-size:14px!important;
  line-height:1.6!important;
}
body.ns-site .ns-profile-faq{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.ns-site .ns-profile-faq li{
  border:1px solid #e5ebf3!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
  margin-bottom:10px!important;
}
body.ns-site .ns-profile-faq .uk-accordion-title{
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 18px!important;
  color:#172033!important;
  font-size:15px!important;
  font-weight:900!important;
  text-decoration:none!important;
}
body.ns-site .ns-profile-faq .uk-accordion-content{
  padding:0 18px 18px!important;
  color:#5f6d80!important;
  line-height:1.7!important;
}
body.ns-site .ns-profile-reviews{
  padding:24px!important;
}

/* sidebar */
body.ns-site .ns-profile-side-card{
  padding:22px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-profile-side-card__head{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-profile-side-card__head>span{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
  font-size:20px!important;
}
body.ns-site .ns-profile-side-card__head h3{
  margin:0!important;
  color:#172033!important;
  font-size:19px!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-side-card__head p{
  margin:3px 0 0!important;
  color:#7a8797!important;
  font-size:13px!important;
}
body.ns-site .ns-profile-contact-list{
  display:grid!important;
  gap:10px!important;
}
body.ns-site .ns-profile-contact-list a,
body.ns-site .ns-profile-pm a,
body.ns-site .ns-profile-pm button{
  min-height:46px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#26364c!important;
  text-decoration:none!important;
  font-weight:850!important;
}
body.ns-site .ns-profile-contact-list a:hover,
body.ns-site .ns-profile-pm a:hover,
body.ns-site .ns-profile-pm button:hover{
  background:#003366!important;
  border-color:#003366!important;
  color:#fff!important;
}
body.ns-site .ns-profile-pm{
  margin-top:12px!important;
}
body.ns-site .ns-profile-contact-note{
  margin-top:14px!important;
  padding:14px!important;
  border-radius:18px!important;
  background:#fffaf1!important;
  border:1px solid #efe2c7!important;
  display:flex!important;
  gap:10px!important;
  color:#6f5b2b!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.ns-site .ns-profile-contact-note i{
  color:#b8860b!important;
  margin-top:3px!important;
}
body.ns-site .ns-profile-address{
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  color:#4f6178!important;
  line-height:1.55!important;
  margin-bottom:14px!important;
}
body.ns-site .ns-profile-address i{
  color:#003366!important;
  margin-top:4px!important;
}
body.ns-site .ns-profile-map{
  min-height:220px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#edf2f7!important;
  border:1px solid #e5ebf3!important;
  margin-bottom:14px!important;
}
body.ns-site .ns-profile-map iframe,
body.ns-site .ns-profile-map>div{
  width:100%!important;
  height:100%!important;
  min-height:220px!important;
}
body.ns-site .ns-profile-map-placeholder{
  min-height:220px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:#7a8797!important;
}
body.ns-site .ns-profile-map-placeholder i{
  color:#003366!important;
  font-size:28px!important;
}
body.ns-site .ns-profile-distances{
  display:grid!important;
  gap:9px!important;
}
body.ns-site .ns-profile-distance{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:11px 12px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#52647a!important;
  font-size:13px!important;
}
body.ns-site .ns-profile-distance span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.ns-site .ns-profile-distance b{
  color:#172033!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
body.ns-site .ns-profile-distance--main{
  grid-template-columns:24px minmax(0,1fr) auto!important;
  background:#eef4fb!important;
  border-color:#d8e6f6!important;
}
body.ns-site .ns-profile-distance--main i{
  color:#003366!important;
}

/* responsive */
@media(max-width:1199px){
  body.ns-site .ns-profile-hero__grid,
  body.ns-site .ns-profile-layout{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-sidebar{
    order:2!important;
  }
  body.ns-site .ns-profile-contact-card{
    position:static!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-hero{
    padding:64px 0 88px!important;
    min-height:auto!important;
  }
  body.ns-site .ns-profile-gallery{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-gallery__main,
  body.ns-site .ns-profile-gallery__main img{
    min-height:300px!important;
  }
  body.ns-site .ns-profile-gallery__side{
    grid-template-columns:1fr 1fr!important;
  }
  body.ns-site .ns-profile-spec-grid,
  body.ns-site .ns-profile-about-grid,
  body.ns-site .ns-profile-rules-grid,
  body.ns-site .ns-profile-rules-text,
  body.ns-site .ns-profile-amenities-grid,
  body.ns-site .ns-profile-promos-placeholder{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-nav-wrap{
    top:64px!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-profile-hero h1{
    font-size:40px!important;
  }
  body.ns-site .ns-profile-hero__card{
    border-radius:24px!important;
  }
  body.ns-site .ns-profile-mini-facts{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-card{
    padding:20px!important;
    border-radius:22px!important;
  }
  body.ns-site .ns-profile-gallery__side{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-gallery__side>div{
    min-height:150px!important;
  }
  body.ns-site .ns-profile-section-head-row{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}



/* ==========================================================
   USER HOTEL PROFILE PREMIUM FIX v24.11
   По замечаниям: убрать большой hero, закрепить меню, галерея во всю ширину,
   номера владельца через MARKET, акции под расположением.
   ========================================================== */

html{
  scroll-behavior:smooth!important;
}
body.ns-site .ns-profile-page--compact{
  background:
    radial-gradient(circle at 8% 0%, rgba(184,134,11,.08), transparent 25%),
    linear-gradient(180deg,#fbfaf7 0%,#f5f7fa 100%)!important;
}

/* Убираем прежнее большое красное поле / hero */
body.ns-site .ns-profile-page--compact .ns-profile-hero,
body.ns-site .ns-profile-page--compact .ns-profile-hero__overlay,
body.ns-site .ns-profile-page--compact .ns-profile-hero__card{
  display:none!important;
}

body.ns-site .ns-profile-compact-top{
  padding-top:34px!important;
}
body.ns-site .ns-profile-intro-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:28px!important;
  align-items:stretch!important;
  padding:28px!important;
  border-radius:32px!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(10,74,124,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  box-shadow:0 28px 70px rgba(18,34,61,.18)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
}
body.ns-site .ns-profile-intro-main{
  min-width:0!important;
}
body.ns-site .ns-profile-eyebrow--light span,
body.ns-site .ns-profile-eyebrow--light b{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-object-meta{
  margin-top:18px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-type{
  color:rgba(255,255,255,.76)!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-intro-card h1{
  margin:8px 0 0!important;
  color:#fff!important;
  font-family:var(--font-heading)!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  font-weight:950!important;
  max-width:820px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-location{
  color:rgba(255,255,255,.86)!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-hero__lead{
  max-width:780px!important;
  color:rgba(255,255,255,.78)!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-hero__actions .uk-button-default{
  color:#fff!important;
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.20)!important;
}
body.ns-site .ns-profile-intro-side{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  min-width:0!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-hero-photo{
  height:250px!important;
  border-radius:24px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-hero-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-mini-facts{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-mini-facts>div{
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}

/* Закрепленное меню всегда на виду */
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap{
  position:sticky!important;
  top:80px!important;
  z-index:200!important;
  margin-top:18px!important;
  padding:0 0 22px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav{
  max-width:100%!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 18px 48px rgba(18,34,61,.14)!important;
  border:1px solid rgba(0,51,102,.10)!important;
  backdrop-filter:blur(12px)!important;
}

/* Отступ при переходе по якорям */
body.ns-site .ns-profile-page--compact #overview,
body.ns-site .ns-profile-page--compact #rooms,
body.ns-site .ns-profile-page--compact #services,
body.ns-site .ns-profile-page--compact #location,
body.ns-site .ns-profile-page--compact #promos,
body.ns-site .ns-profile-page--compact #faq,
body.ns-site .ns-profile-page--compact #reviews,
body.ns-site .ns-profile-page--compact #rules,
body.ns-site .ns-profile-page--compact #amenities{
  scroll-margin-top:155px!important;
}

/* Галерея должна быть по ширине как меню */
body.ns-site .ns-profile-page--compact .ns-profile-main{
  padding-top:8px!important;
}
body.ns-site .ns-profile-gallery-section--full{
  width:100%!important;
  margin-bottom:30px!important;
}
body.ns-site .ns-profile-gallery-section--full .ns-profile-gallery{
  width:100%!important;
  max-width:100%!important;
}

/* Об объекте: добавить шапку со звездностью/типом/названием */
body.ns-site .ns-profile-object-summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-bottom:22px!important;
}
body.ns-site .ns-profile-object-summary>div{
  padding:16px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-profile-object-summary span{
  display:block!important;
  color:#7a8797!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.ns-site .ns-profile-object-summary b{
  display:block!important;
  margin-top:6px!important;
  color:#172033!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-summary-stars{
  display:flex!important;
  gap:3px!important;
  color:#f0b11b!important;
}
body.ns-site .ns-profile-summary-stars i{
  color:#f0b11b!important;
}

/* Территория / питание / инфраструктура: по одному блоку на строку */
body.ns-site .ns-profile-about-grid--single{
  grid-template-columns:1fr!important;
}
body.ns-site .ns-profile-about-grid--single article{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  padding:22px!important;
}
body.ns-site .ns-profile-about-grid--single article i{
  width:44px!important;
  height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:rgba(184,134,11,.12)!important;
}

/* Номера: не ломать разметку MARKET, дать вид списка */
body.ns-site .ns-profile-market-output{
  display:block!important;
}
body.ns-site .ns-profile-market-output .ns-hotel-listings,
body.ns-site .ns-profile-market-output .ns-latest-products-list{
  display:grid!important;
  gap:18px!important;
}
body.ns-site .ns-profile-market-output .ns-hotel-listing-card{
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Акции под расположением */
body.ns-site .ns-profile-promos-sidebar .ns-profile-promos-content{
  min-height:80px!important;
}
body.ns-site .ns-profile-promos-sidebar .ns-profile-promos-content:empty:before{
  content:"Акции и специальные предложения пока не добавлены."!important;
  display:block!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#fffaf1!important;
  border:1px solid #efe2c7!important;
  color:#6f5b2b!important;
  font-size:14px!important;
  line-height:1.6!important;
}

@media(max-width:1199px){
  body.ns-site .ns-profile-intro-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-intro-side{
    max-width:520px!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap{
    top:64px!important;
  }
  body.ns-site .ns-profile-object-summary{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-profile-compact-top{
    padding-top:20px!important;
  }
  body.ns-site .ns-profile-intro-card{
    padding:20px!important;
    border-radius:24px!important;
  }
  body.ns-site .ns-profile-page--compact .ns-profile-intro-card h1{
    font-size:34px!important;
  }
  body.ns-site .ns-profile-page--compact .ns-profile-mini-facts{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   FORCE USER PROFILE FIX v24.12
   Эти правила работают даже если body не имеет класса ns-site.
   ========================================================== */

/* точно скрываем старый большой hero из предыдущей сборки */
.ns-profile-page--compact .ns-profile-hero,
.ns-profile-page--compact .ns-profile-hero__overlay,
.ns-profile-page--compact .ns-profile-hero__card,
.ns-profile-page--compact > .ns-profile-hero{
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}

/* компактная верхняя карточка объекта вместо большого hero */
.ns-profile-page--compact .ns-profile-compact-top{
  padding-top:32px!important;
}
.ns-profile-page--compact .ns-profile-intro-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:28px!important;
  align-items:stretch!important;
  padding:28px!important;
  border-radius:32px!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(10,74,124,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  box-shadow:0 28px 70px rgba(18,34,61,.18)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
}

/* закрепленное меню */
.ns-profile-page--compact .ns-profile-nav-wrap{
  position:sticky!important;
  top:82px!important;
  z-index:999!important;
  margin-top:18px!important;
  padding:0 0 22px!important;
}
.ns-profile-page--compact .ns-profile-nav{
  max-width:100%!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.97)!important;
  box-shadow:0 18px 48px rgba(18,34,61,.14)!important;
  border:1px solid rgba(0,51,102,.10)!important;
  backdrop-filter:blur(12px)!important;
}

/* галерея во всю ширину контейнера */
.ns-profile-page--compact .ns-profile-gallery-section--full,
.ns-profile-page--compact .ns-profile-gallery-section--full .ns-profile-gallery{
  width:100%!important;
  max-width:100%!important;
}

/* блоки территория/питание/инфраструктура по одному на строку */
.ns-profile-page--compact .ns-profile-about-grid--single{
  display:grid!important;
  grid-template-columns:1fr!important;
}
.ns-profile-page--compact .ns-profile-about-grid--single article{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  padding:22px!important;
}

/* отступ для якорей */
.ns-profile-page--compact #overview,
.ns-profile-page--compact #rooms,
.ns-profile-page--compact #services,
.ns-profile-page--compact #location,
.ns-profile-page--compact #promos,
.ns-profile-page--compact #faq,
.ns-profile-page--compact #reviews,
.ns-profile-page--compact #rules,
.ns-profile-page--compact #amenities{
  scroll-margin-top:160px!important;
}

@media(max-width:1199px){
  .ns-profile-page--compact .ns-profile-intro-card{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:959px){
  .ns-profile-page--compact .ns-profile-nav-wrap{
    top:64px!important;
  }
}



/* ==========================================================
   USER PROFILE FIX v24.13 — gallery first, nav under gallery, 16:9 images
   ========================================================== */

/* Старый верхний красный/синий объектный блок полностью убран из разметки,
   но оставляем страховочное скрытие */
.ns-profile-page--compact .ns-profile-compact-top,
.ns-profile-page--compact .ns-profile-intro-card,
.ns-profile-page--compact .ns-profile-hero{
  display:none!important;
}

/* Контейнер после меню */
.ns-profile-page--compact .ns-profile-main{
  padding-top:30px!important;
}

/* Галерея: все изображения примерно одинакового формата 16:9 */
.ns-profile-page--compact .ns-profile-gallery-section--full{
  margin-bottom:16px!important;
}
.ns-profile-page--compact .ns-profile-gallery{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  padding:14px!important;
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
  overflow:hidden!important;
}
.ns-profile-page--compact .ns-profile-gallery__side,
.ns-profile-page--compact .ns-profile-gallery__grid{
  display:contents!important;
}
.ns-profile-page--compact .ns-profile-gallery__item,
.ns-profile-page--compact .ns-profile-gallery__main,
.ns-profile-page--compact .ns-profile-gallery__side>div{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16 / 9!important;
  min-height:0!important;
  height:auto!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#eaf0f6!important;
  background-size:cover!important;
  background-position:center!important;
}
.ns-profile-page--compact .ns-profile-gallery__main img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.ns-profile-page--compact .ns-profile-gallery__main:after,
.ns-profile-page--compact .ns-profile-gallery__side>div:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(3,22,42,.03) 0%,rgba(3,22,42,.48) 100%)!important;
}
.ns-profile-page--compact .ns-profile-gallery__main span,
.ns-profile-page--compact .ns-profile-gallery__side span{
  position:absolute!important;
  left:12px!important;
  bottom:12px!important;
  z-index:2!important;
  min-height:32px!important;
  padding:0 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  border-radius:999px!important;
  color:#fff!important;
  background:rgba(0,32,64,.46)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  backdrop-filter:blur(8px)!important;
  font-size:11px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}

/* Меню теперь под галереей и постоянно на виду */
.ns-profile-page--compact .ns-profile-nav-wrap{
  position:sticky!important;
  top:82px!important;
  z-index:999!important;
  margin:0 0 30px!important;
  padding:0!important;
}
.ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow:auto!important;
  padding:12px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(0,51,102,.10)!important;
  box-shadow:0 18px 44px rgba(18,34,61,.12)!important;
  backdrop-filter:blur(12px)!important;
}

/* Заголовок "Об объекте" заменён на тип + название + звёзды */
.ns-profile-page--compact .ns-profile-object-heading{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  color:#172033!important;
  font-family:var(--font-heading)!important;
  font-size:clamp(24px,2.6vw,38px)!important;
  line-height:1.12!important;
}
.ns-profile-page--compact .ns-profile-object-heading>span{
  color:#5d6f86!important;
  font-family:var(--font-body,inherit)!important;
  font-size:15px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
.ns-profile-page--compact .ns-profile-object-heading>b{
  color:#172033!important;
  font-weight:950!important;
}
.ns-profile-page--compact .ns-profile-heading-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  color:#f0b11b!important;
  font-style:normal!important;
  font-size:16px!important;
}
.ns-profile-page--compact .ns-profile-heading-stars i{
  color:#f0b11b!important;
}

/* Номера/folio выводим как полноценные секции */
.ns-profile-page--compact .ns-profile-market-output,
.ns-profile-page--compact .ns-profile-folio-output{
  display:block!important;
  width:100%!important;
}
.ns-profile-page--compact .ns-profile-empty-module{
  padding:22px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px dashed #cfd9e6!important;
  color:#6a778b!important;
  font-size:15px!important;
  line-height:1.6!important;
}

/* Блоки территория, питание, инфраструктура — строго по одному в строку */
.ns-profile-page--compact .ns-profile-about-grid--single{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
.ns-profile-page--compact .ns-profile-about-grid--single article{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  padding:22px!important;
}

/* Якоря с учетом закрепленного меню */
.ns-profile-page--compact #overview,
.ns-profile-page--compact #rooms,
.ns-profile-page--compact #services,
.ns-profile-page--compact #location,
.ns-profile-page--compact #promos,
.ns-profile-page--compact #faq,
.ns-profile-page--compact #reviews{
  scroll-margin-top:150px!important;
}

@media(max-width:959px){
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ns-profile-page--compact .ns-profile-nav-wrap{
    top:64px!important;
  }
}
@media(max-width:639px){
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:1fr!important;
  }
  .ns-profile-page--compact .ns-profile-main{
    padding-top:18px!important;
  }
}



/* ==========================================================
   USERCATEGORIES SINGLE SELECT FIX v24.14
   Исправляет развал страницы профиля при включении usercategories
   и визуально делает выбор одной категории.
   ========================================================== */

.ns-usercategories-card{
  padding:18px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%)!important;
  border:1px solid #dfe8f3!important;
  box-shadow:0 14px 34px rgba(18,34,61,.06)!important;
}
.ns-usercategories-card .uk-form-label{
  display:block!important;
  margin-bottom:6px!important;
  color:#172033!important;
}
.ns-usercategories-hint{
  margin-bottom:12px!important;
  color:#7a8797!important;
  line-height:1.5!important;
}
.ns-usercategories-single{
  max-width:100%!important;
  overflow:hidden!important;
}
.ns-usercategories-single,
.ns-usercategories-single *{
  box-sizing:border-box!important;
}
.ns-usercategories-tree,
.ns-usercategories-tree ul,
.ns-usercategories-subtree,
.ns-usercategories-selected-list{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.ns-usercategories-tree{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.ns-usercategories-tree .ns-usercategories-subtree{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:8px!important;
  padding-left:14px!important;
  border-left:2px solid #e4edf7!important;
}
.ns-usercat-option{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.ns-usercat-choice{
  min-width:0!important;
}
.ns-usercat-choice label,
.ns-usercat-choice .uk-form-label,
.ns-usercat-choice span,
.ns-usercat-choice a{
  max-width:100%!important;
}
.ns-usercat-choice label{
  min-height:46px!important;
  padding:10px 13px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  border:1px solid #dbe6f2!important;
  background:#f8fafc!important;
  color:#26364c!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.25!important;
  cursor:pointer!important;
  transition:all .18s ease!important;
}
.ns-usercat-choice input[type="checkbox"],
.ns-usercat-choice input[type="radio"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
  accent-color:#003366!important;
}
.ns-usercat-choice label:hover{
  background:#eef5fd!important;
  border-color:#c7d9ec!important;
}
.ns-usercat-option--active > .ns-usercat-choice label,
.ns-usercat-choice input:checked + span,
.ns-usercat-choice label:has(input:checked){
  background:#003366!important;
  border-color:#003366!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(0,51,102,.16)!important;
}
.ns-usercat-option--active > .ns-usercat-choice label *{
  color:#fff!important;
}
.ns-usercategories-selected-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.ns-usercategories-selected-list li{
  display:inline-flex!important;
  min-height:32px!important;
  align-items:center!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#eef4fb!important;
  border:1px solid #d8e6f6!important;
  color:#294766!important;
  font-size:13px!important;
  font-weight:800!important;
}

@media(max-width:767px){
  .ns-usercategories-tree,
  .ns-usercategories-tree .ns-usercategories-subtree{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   USER DETAILS MODULE OUTPUT FIX v24.15
   Интеграция вывода MARKET / FOLIO / USERPAGE / PROJECTS / REVIEWS / POINTS
   по схеме старого users.details.tpl.
   ========================================================== */

.ns-profile-module-menu a.is-active,
.ns-profile-module-menu a[class*="is-active"]{
  background:#003366!important;
  color:#fff!important;
  border-color:#003366!important;
  box-shadow:0 10px 22px rgba(0,51,102,.14)!important;
}

.ns-profile-module-section{
  scroll-margin-top:155px!important;
}

.ns-profile-owner-add,
.ns-profile-owner-toolbar .uk-button{
  min-height:42px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 16px!important;
  font-size:13px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

.ns-profile-owner-toolbar{
  margin:0 0 14px!important;
}

.ns-profile-market-output,
.ns-profile-folio-output,
.ns-profile-promos-content,
.ns-profile-reviews{
  min-width:0!important;
}

.ns-profile-market-output:empty:before{
  content:"У этого объекта пока не добавлены номера."!important;
  display:block!important;
  padding:22px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px dashed #cfd9e6!important;
  color:#6a778b!important;
  font-size:15px!important;
  line-height:1.6!important;
}

.ns-profile-folio-output:empty:before{
  content:"Дополнительные услуги пока не добавлены."!important;
  display:block!important;
  padding:22px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px dashed #cfd9e6!important;
  color:#6a778b!important;
  font-size:15px!important;
  line-height:1.6!important;
}

.ns-profile-promos-content:empty:before{
  content:"Материалы пока не добавлены."!important;
  display:block!important;
  padding:16px!important;
  border-radius:18px!important;
  background:#fffaf1!important;
  border:1px solid #efe2c7!important;
  color:#6f5b2b!important;
  font-size:14px!important;
  line-height:1.6!important;
}

/* Приводим контент модулей внутри профиля к общей карточной эстетике */
.ns-profile-module-output .uk-card,
.ns-profile-module-output .well,
.ns-profile-module-output .panel,
.ns-profile-module-output .list-group,
.ns-profile-promos-content .uk-card,
.ns-profile-promos-content .well,
.ns-profile-promos-content .panel{
  border-radius:22px!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 18px 44px rgba(18,34,61,.07)!important;
  overflow:hidden!important;
}

.ns-profile-module-output .btn,
.ns-profile-promos-content .btn,
.ns-profile-reviews .btn{
  border-radius:999px!important;
}

.ns-profile-promos-sidebar,
.ns-profile-projects-sidebar,
.ns-profile-points-sidebar{
  scroll-margin-top:155px!important;
}

@media(max-width:767px){
  .ns-profile-section-head-row{
    align-items:flex-start!important;
  }
  .ns-profile-owner-add{
    width:100%!important;
    justify-content:center!important;
  }
}



/* ==========================================================
   USER PROFILE SCREEN95 FIX v24.16
   По скриншоту: убрать лишние блоки, галерея 2x3, sticky menu,
   серые блоки в одну строку, подгрузка MARKET/FOLIO.
   ========================================================== */

/* Контейнер должен позволять sticky-меню оставаться на экране */
.ns-profile-page,
.ns-profile-main,
.ns-profile-layout,
.ns-profile-content,
.ns-profile-sidebar{
  overflow:visible!important;
}

/* Галерея: слева крупное 16:9, справа сетка 2x3 */
.ns-profile-page--compact .ns-profile-gallery{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr)!important;
  gap:14px!important;
  align-items:stretch!important;
  padding:14px!important;
}
.ns-profile-page--compact .ns-profile-gallery__side,
.ns-profile-page--compact .ns-profile-gallery__grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.ns-profile-page--compact .ns-profile-gallery__item,
.ns-profile-page--compact .ns-profile-gallery__main{
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
  border-radius:20px!important;
}
.ns-profile-page--compact .ns-profile-gallery__main img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
}
.ns-profile-page--compact .ns-profile-gallery__side>div{
  width:100%!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
  border-radius:18px!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Меню под фотографиями — закрепленное, всегда поверх страницы */
.ns-profile-page--compact .ns-profile-nav-wrap{
  position:sticky!important;
  top:76px!important;
  z-index:2000!important;
  margin:0 0 28px!important;
  padding:0!important;
}
.ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
  background:rgba(255,255,255,.98)!important;
  border:1px solid rgba(0,51,102,.10)!important;
  box-shadow:0 16px 38px rgba(18,34,61,.12)!important;
  backdrop-filter:blur(12px)!important;
}

/* Красный блок из "Об объекте" удалён из шаблона, но страхуем CSS */
.ns-profile-page--compact .ns-profile-object-summary{
  display:none!important;
}

/* Территория / питание / инфраструктура — серые блоки, по одному на строку */
.ns-profile-page--compact .ns-profile-about-grid,
.ns-profile-page--compact .ns-profile-about-grid--single{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.ns-profile-page--compact .ns-profile-about-grid article,
.ns-profile-page--compact .ns-profile-about-grid--single article{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  padding:18px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  box-shadow:none!important;
}
.ns-profile-page--compact .ns-profile-about-grid article i,
.ns-profile-page--compact .ns-profile-about-grid--single article i{
  width:42px!important;
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:#eef4fb!important;
  color:#003366!important;
  margin:0!important;
}

/* Правила проживания: нижние текстовые блоки тоже серые и 1 на строку */
.ns-profile-page--compact .ns-profile-rules-text{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.ns-profile-page--compact .ns-profile-rules-text article{
  padding:18px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  box-shadow:none!important;
}

/* Убираем внутренние меню/кнопки модулей, выделенные красным */
.ns-profile-page--compact .ns-profile-module-output > .btn-group,
.ns-profile-page--compact .ns-profile-module-output > .uk-subnav,
.ns-profile-page--compact .ns-profile-module-output > .nav-pills,
.ns-profile-page--compact .ns-profile-module-output > .nav-tabs,
.ns-profile-page--compact .ns-profile-module-output .ns-v23-filterbar,
.ns-profile-page--compact .ns-profile-module-output .market-catlist,
.ns-profile-page--compact .ns-profile-module-output .folio-catlist,
.ns-profile-page--compact .ns-profile-module-output .category-list,
.ns-profile-page--compact .ns-profile-promos-content > .btn-group,
.ns-profile-page--compact .ns-profile-promos-content > .uk-subnav,
.ns-profile-page--compact .ns-profile-promos-content > .nav-pills,
.ns-profile-page--compact .ns-profile-promos-content > .nav-tabs{
  display:none!important;
}

/* Подгружаемые блоки MARKET/FOLIO: визуально как список карточек */
.ns-profile-page--compact .ns-profile-market-output,
.ns-profile-page--compact .ns-profile-folio-output{
  min-height:80px!important;
}
.ns-profile-page--compact .ns-profile-market-output .ns-hotel-listing-card,
.ns-profile-page--compact .ns-profile-market-output .uk-card,
.ns-profile-page--compact .ns-profile-folio-output .uk-card,
.ns-profile-page--compact .ns-profile-folio-output .panel,
.ns-profile-page--compact .ns-profile-folio-output .well{
  border-radius:22px!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 18px 44px rgba(18,34,61,.07)!important;
}

/* Якоря с учетом sticky меню */
.ns-profile-page--compact #overview,
.ns-profile-page--compact #rooms,
.ns-profile-page--compact #services,
.ns-profile-page--compact #location,
.ns-profile-page--compact #promos,
.ns-profile-page--compact #faq,
.ns-profile-page--compact #reviews,
.ns-profile-page--compact #rules,
.ns-profile-page--compact #amenities{
  scroll-margin-top:150px!important;
}

@media(max-width:959px){
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:1fr!important;
  }
  .ns-profile-page--compact .ns-profile-gallery__side,
  .ns-profile-page--compact .ns-profile-gallery__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ns-profile-page--compact .ns-profile-nav-wrap{
    top:64px!important;
  }
}
@media(max-width:639px){
  .ns-profile-page--compact .ns-profile-gallery__side,
  .ns-profile-page--compact .ns-profile-gallery__grid{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   USER PROFILE LINKED MODULES FIX v24.17
   URL: users details — gallery 3x2, nav sticky top, one-line title,
   hide module category/summary menus, clean market/folio userdetails.
   ========================================================== */

/* Ширина страницы как верхнее меню: от логотипа до выпадающего меню */
.ns-profile-page--compact .uk-container-large.ns-profile-main,
.ns-profile-page--compact .ns-profile-main{
  max-width:none!important;
  width:min(1640px, calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Блок изображений: 2 строки и 3 столбца, без большой левой картинки */
.ns-profile-page--compact .ns-profile-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:14px!important;
  width:100%!important;
  max-width:100%!important;
  padding:14px!important;
  border-radius:28px!important;
}
.ns-profile-page--compact .ns-profile-gallery__side,
.ns-profile-page--compact .ns-profile-gallery__grid{
  display:contents!important;
}
.ns-profile-page--compact .ns-profile-gallery__item,
.ns-profile-page--compact .ns-profile-gallery__main,
.ns-profile-page--compact .ns-profile-gallery__side>div{
  width:100%!important;
  min-width:0!important;
  aspect-ratio:16 / 9!important;
  min-height:0!important;
  height:auto!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center!important;
}
.ns-profile-page--compact .ns-profile-gallery__main img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Меню профиля закрепляется у верхнего края страницы при скролле */
.ns-profile-page--compact .ns-profile-nav-wrap{
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  margin:0 0 30px!important;
  padding:8px 0!important;
  background:linear-gradient(180deg, rgba(248,246,243,.96), rgba(248,246,243,.78))!important;
  backdrop-filter:blur(10px)!important;
}
.ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
}

/* Отель + звезды + название — в одну строку и одним шрифтом */
.ns-profile-page--compact .ns-profile-object-heading{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  font-family:var(--font-heading, inherit)!important;
  font-size:clamp(25px,2.5vw,38px)!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
  color:#172033!important;
}
.ns-profile-page--compact .ns-profile-object-heading>span,
.ns-profile-page--compact .ns-profile-object-heading>b{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:950!important;
  color:#172033!important;
  text-transform:none!important;
  letter-spacing:inherit!important;
}
.ns-profile-page--compact .ns-profile-object-heading>span:after{
  content:" "!important;
}
.ns-profile-page--compact .ns-profile-heading-stars{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  color:#f0b11b!important;
  font-size:.46em!important;
  line-height:1!important;
  font-style:normal!important;
  transform:translateY(-1px)!important;
}
.ns-profile-page--compact .ns-profile-heading-stars i{
  color:#f0b11b!important;
}

/* Скрываем меню категорий и служебные сведения внутри модулей */
.ns-profile-page--compact .ns-profile-module-output > .uk-position-relative.uk-visible-toggle,
.ns-profile-page--compact .ns-profile-module-output > .uk-margin-top.uk-margin-bottom:first-child,
.ns-profile-page--compact .ns-profile-module-output .uk-slider-items,
.ns-profile-page--compact .ns-profile-module-output .uk-slidenav,
.ns-profile-page--compact .ns-profile-module-output .btn-group,
.ns-profile-page--compact .ns-profile-module-output .nav-tabs,
.ns-profile-page--compact .ns-profile-module-output .nav-pills,
.ns-profile-page--compact .ns-profile-module-output .uk-subnav,
.ns-profile-page--compact .ns-profile-module-output .ns-v23-filterbar{
  display:none!important;
}

/* Новые templates market.userdetails / folio.userdetails */
.ns-profile-user-module{
  width:100%!important;
}
.ns-profile-module-toolbar{
  display:flex!important;
  justify-content:flex-end!important;
  margin:0 0 16px!important;
}
.ns-profile-module-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.ns-profile-market-card,
.ns-profile-folio-card{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:16px!important;
  padding:12px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 18px 44px rgba(18,34,61,.07)!important;
  min-width:0!important;
}
.ns-profile-market-card__media,
.ns-profile-folio-card__media{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/10!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#edf2f7!important;
}
.ns-profile-market-card__media img,
.ns-profile-folio-card__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.ns-profile-market-card__body,
.ns-profile-folio-card__body{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.ns-profile-market-card__body h3,
.ns-profile-folio-card__body h3{
  margin:0!important;
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:950!important;
}
.ns-profile-market-card__body h3 a,
.ns-profile-folio-card__body h3 a{
  color:#172033!important;
  text-decoration:none!important;
}
.ns-profile-market-card__body p,
.ns-profile-folio-card__body p{
  margin:0!important;
  color:#607188!important;
  font-size:14px!important;
  line-height:1.6!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.ns-profile-market-card__meta,
.ns-profile-folio-card__meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  color:#6d7b8f!important;
  font-size:12px!important;
  font-weight:800!important;
}
.ns-profile-market-card__footer{
  margin-top:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.ns-profile-market-card__footer strong{
  color:#003366!important;
  font-size:20px!important;
  font-weight:950!important;
}

@media(max-width:1199px){
  .ns-profile-page--compact .ns-profile-main{
    width:min(100% - 32px, 1200px)!important;
  }
  .ns-profile-module-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:959px){
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ns-profile-page--compact .ns-profile-nav-wrap{
    top:0!important;
  }
}
@media(max-width:639px){
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:1fr!important;
  }
  .ns-profile-market-card,
  .ns-profile-folio-card{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   FINAL USER PROFILE + LISTPOINTS FIX v24.18
   - listpoints premium page
   - gallery full menu width only
   - content back to normal width
   - fixed profile menu
   - rooms use market.list card view
   ========================================================== */

/* PROFILE WIDTH: gallery stays wide, everything below returns to normal content width */
.ns-profile-page--compact .uk-container-large.ns-profile-main,
.ns-profile-page--compact .ns-profile-main{
  max-width:none!important;
  width:min(1640px, calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ns-profile-page--compact .ns-profile-layout{
  width:min(1180px, 100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ns-profile-page--compact .ns-profile-gallery-section--full,
.ns-profile-page--compact .ns-profile-gallery{
  width:100%!important;
  max-width:100%!important;
}

/* Gallery: exactly 6 visual cells, 3 columns x 2 rows */
.ns-profile-page--compact .ns-profile-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,auto)!important;
  gap:14px!important;
  padding:14px!important;
  border-radius:28px!important;
}
.ns-profile-page--compact .ns-profile-gallery__side,
.ns-profile-page--compact .ns-profile-gallery__grid{
  display:contents!important;
}
.ns-profile-page--compact .ns-profile-gallery__item,
.ns-profile-page--compact .ns-profile-gallery__main,
.ns-profile-page--compact .ns-profile-gallery__side>div{
  width:100%!important;
  min-width:0!important;
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center!important;
}
.ns-profile-page--compact .ns-profile-gallery__main img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
}

/* Profile menu: normal content width but fixed to top edge when scrolling */
.ns-profile-page--compact .ns-profile-nav-wrap{
  width:min(1180px,100%)!important;
  margin:0 auto 30px!important;
  padding:8px 0!important;
  position:sticky!important;
  top:0!important;
  z-index:5000!important;
  background:linear-gradient(180deg,rgba(248,246,243,.97),rgba(248,246,243,.82))!important;
  backdrop-filter:blur(10px)!important;
}
.ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1180px, calc(100% - 48px))!important;
  z-index:9999!important;
  margin:0!important;
}
.ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 16px 44px rgba(18,34,61,.16)!important;
  border:1px solid rgba(0,51,102,.10)!important;
}

/* Object title: stars first, then type and name, one font line */
.ns-profile-page--compact .ns-profile-object-heading{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:0!important;
  color:#172033!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(25px,2.5vw,38px)!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
}
.ns-profile-page--compact .ns-profile-object-heading>span,
.ns-profile-page--compact .ns-profile-object-heading>b{
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:inherit!important;
  font-weight:950!important;
  color:#172033!important;
  text-transform:none!important;
  letter-spacing:inherit!important;
}
.ns-profile-page--compact .ns-profile-heading-stars{
  order:-1!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  color:#f0b11b!important;
  font-size:.46em!important;
  line-height:1!important;
  font-style:normal!important;
}
.ns-profile-page--compact .ns-profile-heading-stars i{
  color:#f0b11b!important;
}

/* User profile rooms: force the same one-column listing presentation as market.list */
.ns-profile-user-market--list-view .ns-profile-module-toolbar{
  display:flex!important;
  justify-content:flex-end!important;
  margin:0 0 18px!important;
}
.ns-profile-user-market--list-view .ns-profile-market-list-view{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.ns-profile-user-market--list-view .ns-hotel-listing-card{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

/* Premium listpoints page */
body.ns-listpoints-page{
  background:
    radial-gradient(circle at 12% 0%, rgba(184,134,11,.10), transparent 28%),
    linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
body.ns-listpoints-page main,
body.ns-listpoints-page #content,
body.ns-listpoints-page .uk-main,
body.ns-listpoints-page .content{
  min-height:70vh!important;
}
.ns-listpoints-premium{
  padding:46px 0 74px!important;
}
.ns-listpoints-premium .uk-container,
body.ns-listpoints-page > .uk-container,
body.ns-listpoints-page .main > .uk-container{
  max-width:1180px!important;
}
.ns-listpoints-hero{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  padding:34px!important;
  border-radius:32px!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(8,76,128,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  color:#fff!important;
  box-shadow:0 26px 70px rgba(18,34,61,.18)!important;
  margin-bottom:24px!important;
}
.ns-listpoints-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
.ns-listpoints-hero h1{
  margin:14px 0 8px!important;
  color:#fff!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  font-weight:950!important;
}
.ns-listpoints-hero p{
  margin:0!important;
  max-width:680px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.ns-listpoints-card,
body.ns-listpoints-page .uk-card,
body.ns-listpoints-page .panel,
body.ns-listpoints-page .well{
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
  overflow:hidden!important;
}
.ns-listpoints-card{
  padding:22px!important;
}
.ns-listpoints-table-wrap{
  overflow:auto!important;
}
.ns-listpoints-table,
body.ns-listpoints-page table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
}
.ns-listpoints-table thead th,
body.ns-listpoints-page table thead th{
  color:#7a8797!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
  border:none!important;
  padding:8px 14px!important;
}
.ns-listpoints-table tbody tr,
body.ns-listpoints-page table tbody tr{
  background:#f8fafc!important;
  border-radius:18px!important;
  box-shadow:inset 0 0 0 1px #e5ebf3!important;
}
.ns-listpoints-table tbody td,
body.ns-listpoints-page table tbody td{
  border:none!important;
  padding:14px!important;
  color:#34465d!important;
  vertical-align:middle!important;
}
.ns-listpoints-table tbody td:first-child,
body.ns-listpoints-page table tbody td:first-child{
  border-radius:18px 0 0 18px!important;
}
.ns-listpoints-table tbody td:last-child,
body.ns-listpoints-page table tbody td:last-child{
  border-radius:0 18px 18px 0!important;
}
.ns-listpoints-user{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:180px!important;
}
.ns-listpoints-user img,
.ns-listpoints-avatar{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
.ns-listpoints-user a,
body.ns-listpoints-page table a{
  color:#172033!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.ns-listpoints-table strong,
body.ns-listpoints-page table strong{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:#fff7e6!important;
  border:1px solid #efd89b!important;
  color:#9a6a00!important;
  font-weight:950!important;
}
body.ns-listpoints-page h1,
body.ns-listpoints-page h2{
  font-family:var(--font-heading,inherit)!important;
  color:#172033!important;
  font-weight:950!important;
}
body.ns-listpoints-page .uk-button,
body.ns-listpoints-page .btn{
  border-radius:999px!important;
  font-weight:900!important;
}

/* If default listpoints template is used, create premium spacing around first content table */
body.ns-listpoints-page .uk-container > table,
body.ns-listpoints-page .container > table,
body.ns-listpoints-page table.table{
  padding:0!important;
  margin-top:24px!important;
}

@media(max-width:959px){
  .ns-profile-page--compact .uk-container-large.ns-profile-main,
  .ns-profile-page--compact .ns-profile-main,
  .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
    width:min(100% - 32px, 1180px)!important;
  }
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:639px){
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:1fr!important;
  }
  .ns-listpoints-hero{
    padding:24px 20px!important;
    border-radius:24px!important;
  }
  .ns-listpoints-card{
    padding:14px!important;
    border-radius:22px!important;
  }
}



/* ==========================================================
   HEADER COUNTS + PROFILE ROOMS + LISTPOINTS PRESERVE v24.19
   ========================================================== */

/* Header: compact circular rating/favorite buttons with values */
.user-area .message-icon{
  position:relative!important;
  min-width:44px!important;
  height:44px!important;
  padding:0 12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #dfe8f3!important;
  color:#0c2340!important;
  box-shadow:0 10px 24px rgba(18,34,61,.08)!important;
  text-decoration:none!important;
  transition:all .18s ease!important;
}
.user-area .message-icon:hover{
  transform:translateY(-1px)!important;
  border-color:#cbdced!important;
  box-shadow:0 14px 30px rgba(18,34,61,.12)!important;
}
.user-area .message-icon i{
  font-size:17px!important;
  line-height:1!important;
}
.user-area .ns-rating-header-icon{
  color:#003366!important;
}
.user-area .ns-favorites-icon{
  color:#b91c45!important;
}
.user-area .ns-header-icon-value{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  background:#eef4fb!important;
  color:#003366!important;
}
.user-area .ns-favorites-icon .ns-header-icon-value{
  background:#fff0f4!important;
  color:#b91c45!important;
}

/* Listpoints: preserve native plugin records, only premium style around default output */
body.ns-listpoints-page{
  background:
    radial-gradient(circle at 12% 0%, rgba(184,134,11,.10), transparent 30%),
    linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
body.ns-listpoints-page .uk-container,
body.ns-listpoints-page .container{
  max-width:1180px!important;
}
body.ns-listpoints-page .uk-container:before,
body.ns-listpoints-page .container:before{
  content:"Рейтинг пользователей"!important;
  display:block!important;
  margin:34px 0 18px!important;
  padding:34px!important;
  border-radius:32px!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(8,76,128,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  color:#fff!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(32px,4vw,56px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  font-weight:950!important;
  box-shadow:0 26px 70px rgba(18,34,61,.18)!important;
}
body.ns-listpoints-page table,
body.ns-listpoints-page .uk-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
}
body.ns-listpoints-page table thead th,
body.ns-listpoints-page .uk-table thead th{
  color:#7a8797!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
  border:none!important;
  padding:8px 14px!important;
}
body.ns-listpoints-page table tbody tr{
  background:#fff!important;
  box-shadow:0 12px 28px rgba(18,34,61,.06), inset 0 0 0 1px #e5ebf3!important;
}
body.ns-listpoints-page table tbody td{
  border:none!important;
  padding:14px!important;
  color:#34465d!important;
  vertical-align:middle!important;
}
body.ns-listpoints-page table tbody td:first-child{
  border-radius:18px 0 0 18px!important;
}
body.ns-listpoints-page table tbody td:last-child{
  border-radius:0 18px 18px 0!important;
}
body.ns-listpoints-page .uk-card,
body.ns-listpoints-page .panel,
body.ns-listpoints-page .well,
body.ns-listpoints-page .list-group{
  border-radius:26px!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 18px 44px rgba(18,34,61,.08)!important;
  overflow:hidden!important;
}
body.ns-listpoints-page .uk-button,
body.ns-listpoints-page .btn{
  border-radius:999px!important;
  font-weight:900!important;
}

/* Profile width: gallery wide, rest normal */
.ns-profile-page--compact .uk-container-large.ns-profile-main,
.ns-profile-page--compact .ns-profile-main{
  max-width:none!important;
  width:min(1640px, calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ns-profile-page--compact .ns-profile-gallery-section--full,
.ns-profile-page--compact .ns-profile-gallery{
  width:100%!important;
  max-width:100%!important;
}
.ns-profile-page--compact .ns-profile-layout,
.ns-profile-page--compact .ns-profile-nav-wrap{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Sticky/fixed profile menu */
.ns-profile-page--compact .ns-profile-nav-wrap{
  position:sticky!important;
  top:0!important;
  z-index:8000!important;
  padding:8px 0!important;
  background:linear-gradient(180deg,rgba(248,246,243,.98),rgba(248,246,243,.82))!important;
  backdrop-filter:blur(10px)!important;
}
.ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  z-index:9999!important;
  margin:0!important;
}
.ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 16px 44px rgba(18,34,61,.16)!important;
}

/* Profile gallery stays 3x2 */
.ns-profile-page--compact .ns-profile-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.ns-profile-page--compact .ns-profile-gallery__side,
.ns-profile-page--compact .ns-profile-gallery__grid{
  display:contents!important;
}
.ns-profile-page--compact .ns-profile-gallery__item,
.ns-profile-page--compact .ns-profile-gallery__main,
.ns-profile-page--compact .ns-profile-gallery__side>div{
  aspect-ratio:16/9!important;
  min-height:0!important;
  height:auto!important;
}

/* Profile object heading: stars before type */
.ns-profile-page--compact .ns-profile-heading-stars{
  order:-1!important;
}

/* Compact room cards inside user profile */
.ns-profile-user-market--list-view .ns-profile-market-list-view{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listings>.ns-hotel-listing-card:nth-of-type(n+5){
  display:grid!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
  grid-template-columns:260px minmax(0,1fr)!important;
  border-radius:22px!important;
  min-height:0!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo{
  min-height:0!important;
  height:100%!important;
  max-height:260px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
  min-height:0!important;
  height:100%!important;
  max-height:260px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-content{
  padding:16px 18px!important;
  gap:10px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
  gap:12px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-title-area{
  gap:6px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-object-line,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-address-line,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-distance-label{
  font-size:12px!important;
  line-height:1.35!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-title{
  font-size:22px!important;
  line-height:1.1!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-desc{
  font-size:13px!important;
  line-height:1.45!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box{
  min-width:116px!important;
  padding:10px 11px!important;
  border-radius:16px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box strong{
  font-size:19px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  min-width:116px!important;
  padding:10px 11px!important;
  border-radius:16px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body{
  display:block!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  border:1px solid #e5ebf3!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid span{
  border:0!important;
  border-right:1px solid #e5ebf3!important;
  border-radius:0!important;
  padding:9px 10px!important;
  min-height:52px!important;
  background:#f8fafc!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid span:last-child{
  border-right:0!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid em{
  font-size:9px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid b{
  font-size:12px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-footer{
  margin-top:auto!important;
  padding-top:2px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions .uk-button{
  min-height:38px!important;
  padding:0 14px!important;
  font-size:12px!important;
}

/* Owner/admin tabs for published/hidden rooms */
.ns-profile-room-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0 0 16px!important;
  padding:10px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 14px 34px rgba(18,34,61,.06)!important;
}
.ns-profile-room-tabs button{
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  border:1px solid #dbe6f2!important;
  background:#f8fafc!important;
  color:#53667c!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.ns-profile-room-tabs button.is-active{
  background:#003366!important;
  border-color:#003366!important;
  color:#fff!important;
}
.ns-profile-room-tabs [data-room-count]{
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.18)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
}
.ns-profile-room-status{
  position:absolute!important;
  left:12px!important;
  top:12px!important;
  z-index:4!important;
  min-height:28px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(0,0,0,.14)!important;
}
.ns-profile-room-status--hidden{
  background:#64748b!important;
}
.ns-profile-room-status--review{
  background:#b8860b!important;
}
.ns-profile-market-list-view--hidden:empty:before{
  content:"Не опубликованных номеров нет."!important;
  display:block!important;
  padding:20px!important;
  border-radius:20px!important;
  background:#fff!important;
  border:1px dashed #cfd9e6!important;
  color:#6a778b!important;
  font-weight:800!important;
}

@media(max-width:959px){
  .ns-profile-page--compact .uk-container-large.ns-profile-main,
  .ns-profile-page--compact .ns-profile-main,
  .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
    width:min(100% - 32px, 1180px)!important;
  }
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
    height:220px!important;
    max-height:220px!important;
  }
}
@media(max-width:639px){
  .ns-profile-page--compact .ns-profile-gallery{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}



/* ==========================================================
   SCREENSHOT FIX v24.20
   listpoints real data, profile menu stable, room add button in tabs,
   distance label without target icon/"до".
   ========================================================== */

/* LISTPOINTS: remove old duplicated pseudo hero from previous patch */
body.ns-listpoints-page .uk-container:before,
body.ns-listpoints-page .container:before,
body.ns-listpoints-page .main > .uk-container:before{
  content:none!important;
  display:none!important;
}

/* LISTPOINTS: premium shell with real native/fetched records */
.ns-listpoints-premium-v2{
  padding:42px 0 74px!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(184,134,11,.10), transparent 28%),
    linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
.ns-listpoints-premium-v2 .uk-container{
  max-width:1180px!important;
}
.ns-listpoints-hero-v2{
  padding:34px!important;
  border-radius:32px!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(8,76,128,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  color:#fff!important;
  box-shadow:0 26px 70px rgba(18,34,61,.18)!important;
  margin-bottom:24px!important;
}
.ns-listpoints-hero-v2 .ns-listpoints-kicker{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
.ns-listpoints-hero-v2 h1{
  margin:14px 0 8px!important;
  color:#fff!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  font-weight:950!important;
}
.ns-listpoints-hero-v2 p{
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.ns-listpoints-card-v2{
  padding:24px!important;
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
  overflow:hidden!important;
}
.ns-listpoints-empty{
  padding:18px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px dashed #cfd9e6!important;
  color:#6a778b!important;
  font-weight:850!important;
}
.ns-listpoints-native-output:not(:empty) + .ns-listpoints-empty{
  display:none!important;
}
.ns-listpoints-native-output table,
.ns-listpoints-table-fixed,
body.ns-listpoints-page .ns-listpoints-card-v2 table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
}
.ns-listpoints-native-output table th,
body.ns-listpoints-page .ns-listpoints-card-v2 table th{
  color:#7a8797!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
  border:none!important;
  padding:8px 14px!important;
  background:#f2f6fa!important;
}
.ns-listpoints-native-output table tr,
body.ns-listpoints-page .ns-listpoints-card-v2 table tr{
  background:#fff!important;
  box-shadow:0 12px 28px rgba(18,34,61,.06), inset 0 0 0 1px #e5ebf3!important;
}
.ns-listpoints-native-output table td,
body.ns-listpoints-page .ns-listpoints-card-v2 table td{
  border:none!important;
  padding:14px!important;
  color:#34465d!important;
  vertical-align:middle!important;
}
.ns-listpoints-native-output table td:first-child{
  border-radius:18px 0 0 18px!important;
}
.ns-listpoints-native-output table td:last-child{
  border-radius:0 18px 18px 0!important;
}

/* PROFILE MENU: keep it within profile width and stable */
.ns-profile-page--compact .ns-profile-nav-wrap{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto 30px!important;
  padding:8px 0!important;
  position:sticky!important;
  top:0!important;
  z-index:8000!important;
  background:linear-gradient(180deg,rgba(248,246,243,.98),rgba(248,246,243,.82))!important;
  backdrop-filter:blur(10px)!important;
}
.ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin:0!important;
  z-index:9999!important;
}
.ns-profile-page--compact .ns-profile-nav-spacer{
  width:100%!important;
}

/* OWNER ROOM TABS: add button lives with tabs */
.ns-profile-room-tabs{
  align-items:center!important;
}
.ns-profile-room-add-tab{
  margin-left:auto!important;
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  border:1px solid #003366!important;
  background:#003366!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  font-size:13px!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(0,51,102,.16)!important;
}
.ns-profile-room-add-tab:hover{
  color:#fff!important;
  background:#00264d!important;
}

/* no standalone add toolbar above tabs */
.ns-profile-user-market--list-view > .ns-profile-module-toolbar{
  display:none!important;
}

/* DISTANCE LABEL: no target icon, no "до", compact text */
.ns-profile-user-market--list-view .ns-hotel-distance-label,
.ns-hotel-distance-label--plain{
  padding-left:0!important;
}
.ns-profile-user-market--list-view .ns-hotel-distance-label i,
.ns-hotel-distance-label--plain i{
  display:none!important;
}
.ns-profile-user-market--list-view .ns-hotel-distance-label span::before,
.ns-hotel-distance-label--plain span::before{
  content:none!important;
}

/* Compact profile room cards: reduce height and group data */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
  grid-template-columns:240px minmax(0,1fr)!important;
  border-radius:22px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
  min-height:0!important;
  height:230px!important;
  max-height:230px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-content{
  padding:14px 16px!important;
  gap:8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-title{
  font-size:21px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body{
  display:block!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions{
  gap:8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions .uk-button{
  min-height:36px!important;
  padding:0 12px!important;
}

@media(max-width:959px){
  .ns-profile-room-add-tab{
    margin-left:0!important;
    width:100%!important;
    justify-content:center!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   AFFILIATE + LISTPOINTS + PROFILE POLISH v24.21
   ========================================================== */

/* Header: messages/rating/favorites become compact balance-like pills */
body.ns-site .user-area .message-icon,
body.ns-site .user-area .ns-rating-header-icon,
body.ns-site .user-area .ns-favorites-icon{
  min-width:54px!important;
  height:42px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  color:#0c2340!important;
  box-shadow:0 10px 24px rgba(18,34,61,.08)!important;
  overflow:visible!important;
}
body.ns-site .user-area .message-icon i,
body.ns-site .user-area .ns-rating-header-icon i,
body.ns-site .user-area .ns-favorites-icon i{
  position:static!important;
  font-size:17px!important;
  line-height:1!important;
}
body.ns-site .user-area .message-badge,
body.ns-site .user-area .ns-header-icon-value{
  position:static!important;
  transform:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:19px!important;
  height:19px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:#eef4fb!important;
  color:#003366!important;
  border:0!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:none!important;
  margin:0!important;
}
body.ns-site .user-area .ns-favorites-icon .ns-header-icon-value,
body.ns-site .user-area .message-badge{
  background:#fff0f4!important;
  color:#b91c45!important;
}
body.ns-site .user-area .balance-wrapper .user-balance{
  height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
}

/* Affiliate premium hierarchy */
body.ns-site .ns-affiliate-page-v24{
  padding:36px 0 72px!important;
  background:
    radial-gradient(circle at 14% 0%, rgba(184,134,11,.08), transparent 28%),
    linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
body.ns-site .ns-affiliate-hero-v24{
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(8,76,128,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:32px!important;
  box-shadow:0 26px 70px rgba(18,34,61,.18)!important;
}
body.ns-site .ns-affiliate-hero-v24 h1{
  color:#fff!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
}
body.ns-site .ns-affiliate-hero-v24 p{
  color:rgba(255,255,255,.82)!important;
}
body.ns-site .ns-affiliate-hero-v24 .ns-eyebrow{
  color:#fff!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
}
body.ns-site .ns-affiliate-hero-v24 .ns-affiliate-balance{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
body.ns-site .ns-affiliate-hero-v24 .ns-affiliate-balance span,
body.ns-site .ns-affiliate-hero-v24 .ns-affiliate-balance strong{
  color:#fff!important;
}
body.ns-site .ns-affiliate-grid-v24{
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;
}
body.ns-site .ns-affiliate-legend{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
  margin-top:18px!important;
}
body.ns-site .ns-affiliate-legend>div{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:14px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-affiliate-legend b,
body.ns-site .ns-affiliate-legend small{
  display:block!important;
}
body.ns-site .ns-affiliate-legend b{
  color:#172033!important;
  font-weight:950!important;
}
body.ns-site .ns-affiliate-legend small{
  color:#7a8797!important;
}
body.ns-site .ns-aff-usericon{
  width:42px!important;
  height:42px!important;
  border-radius:15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-aff-usericon--hotel,
body.ns-site .ns-affiliate-member.is-hotel .ns-aff-usericon{
  background:#fff7e6!important;
  color:#b8860b!important;
}
body.ns-site .ns-aff-usericon--renter,
body.ns-site .ns-affiliate-member.is-renter .ns-aff-usericon{
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-affiliate-structure,
body.ns-site .ns-affiliate-payments{
  margin-top:20px!important;
}
body.ns-site .ns-affiliate-tree-head p{
  margin:6px 0 0!important;
  color:#6a778b!important;
}
body.ns-site .ns-affiliate-tree-shell{
  padding:18px!important;
  border-radius:22px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-affiliate-hierarchy,
body.ns-site .ns-affiliate-subtree{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
body.ns-site .ns-affiliate-subtree{
  margin:10px 0 0 26px!important;
  padding-left:18px!important;
  border-left:2px solid #dce7f4!important;
}
body.ns-site .ns-affiliate-node{
  margin:0 0 10px!important;
}
body.ns-site .ns-affiliate-member{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:14px!important;
  border-radius:20px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 12px 30px rgba(18,34,61,.06)!important;
}
body.ns-site .ns-affiliate-avatar{
  position:relative!important;
}
body.ns-site .ns-affiliate-avatar img{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block!important;
}
body.ns-site .ns-affiliate-avatar .ns-aff-usericon{
  position:absolute!important;
  right:-4px!important;
  bottom:-4px!important;
  width:24px!important;
  height:24px!important;
  border-radius:9px!important;
  font-size:11px!important;
  border:2px solid #fff!important;
}
body.ns-site .ns-affiliate-user b,
body.ns-site .ns-affiliate-username{
  display:block!important;
  color:#172033!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-aff-role-label{
  display:inline-flex!important;
  margin-top:4px!important;
  color:#6a778b!important;
  font-size:12px!important;
  font-weight:800!important;
}
body.ns-site .ns-affiliate-percent{
  min-width:92px!important;
  padding:10px 12px!important;
  text-align:center!important;
  border-radius:16px!important;
  background:#fffaf1!important;
  border:1px solid #efe2c7!important;
}
body.ns-site .ns-affiliate-percent small{
  display:block!important;
  color:#8c7a55!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.ns-site .ns-affiliate-percent b{
  color:#8e6508!important;
  font-size:18px!important;
  font-weight:950!important;
}
body.ns-site .ns-affiliate-empty{
  padding:18px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px dashed #cfd9e6!important;
  color:#6a778b!important;
  font-weight:850!important;
}

/* Listpoints v3 */
body.ns-listpoints-page .uk-container:before,
body.ns-listpoints-page .container:before,
body.ns-listpoints-page .main > .uk-container:before{
  content:none!important;
  display:none!important;
}
.ns-listpoints-premium-v3{
  padding:42px 0 74px!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(184,134,11,.10), transparent 28%),
    linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
.ns-listpoints-premium-v3 .uk-container{
  max-width:1180px!important;
}
.ns-listpoints-hero-v3{
  padding:34px!important;
  border-radius:32px!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(8,76,128,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  color:#fff!important;
  box-shadow:0 26px 70px rgba(18,34,61,.18)!important;
  margin-bottom:24px!important;
}
.ns-listpoints-hero-v3 h1{
  margin:14px 0 8px!important;
  color:#fff!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  font-weight:950!important;
}
.ns-listpoints-hero-v3 p{
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:16px!important;
  line-height:1.7!important;
}
.ns-listpoints-layout-v3{
  display:grid!important;
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
}
.ns-listpoints-rules-card,
.ns-listpoints-card-v3{
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  border-radius:28px!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
}
.ns-listpoints-rules-card{
  padding:22px!important;
  position:sticky!important;
  top:86px!important;
}
.ns-listpoints-rules-card h2{
  margin:10px 0 8px!important;
  font-size:26px!important;
  line-height:1.1!important;
  font-family:var(--font-heading,inherit)!important;
}
.ns-listpoints-rules-card p{
  margin:0 0 16px!important;
  color:#6a778b!important;
  line-height:1.6!important;
  font-size:14px!important;
}
.ns-listpoints-kicker--dark{
  color:#003366!important;
  background:#eef4fb!important;
  border:1px solid #d8e6f6!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
}
.ns-listpoints-rules-list{
  display:grid!important;
  gap:10px!important;
}
.ns-listpoints-rule,
.ns-listpoints-rule-empty{
  padding:12px 14px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
.ns-listpoints-rule{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.ns-listpoints-rule span{
  color:#34465d!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:850!important;
}
.ns-listpoints-rule b{
  min-width:46px!important;
  min-height:30px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff7e6!important;
  border:1px solid #efd89b!important;
  color:#9a6a00!important;
  font-weight:950!important;
}
.ns-listpoints-card-v3{
  padding:22px!important;
  overflow:hidden!important;
}
.ns-listpoints-card-v3 table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
}
.ns-listpoints-card-v3 table th{
  color:#7a8797!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
  border:none!important;
  padding:9px 14px!important;
  background:#f2f6fa!important;
}
.ns-listpoints-card-v3 table tr{
  background:#fff!important;
  box-shadow:0 12px 28px rgba(18,34,61,.06), inset 0 0 0 1px #e5ebf3!important;
}
.ns-listpoints-card-v3 table td{
  border:none!important;
  padding:13px 14px!important;
  color:#34465d!important;
  vertical-align:middle!important;
}
.ns-listpoints-card-v3 table td:first-child{border-radius:18px 0 0 18px!important;}
.ns-listpoints-card-v3 table td:last-child{border-radius:0 18px 18px 0!important;}

/* Profile typography and cards */
.ns-profile-page--compact .ns-profile-object-heading{
  font-size:clamp(22px,2.1vw,32px)!important;
}
.ns-profile-page--compact .ns-profile-object-heading>span,
.ns-profile-page--compact .ns-profile-object-heading>b{
  font-size:inherit!important;
}
.ns-profile-page--compact .ns-profile-heading-stars{
  font-size:.50em!important;
}
.ns-profile-page--compact .ns-profile-about-grid article,
.ns-profile-page--compact .ns-profile-about-grid--single article,
.ns-profile-page--compact .ns-profile-rules-text article{
  background:#f8fafc!important;
  border-color:#e5ebf3!important;
  box-shadow:none!important;
}
.ns-profile-page--compact .ns-profile-about-grid article h3,
.ns-profile-page--compact .ns-profile-rules-text article h3{
  font-size:16px!important;
}

/* Profile room cards: tighter and cleaner */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
  grid-template-columns:220px minmax(0,1fr)!important;
  border-radius:20px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
  height:205px!important;
  max-height:205px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-content{
  padding:12px 14px!important;
  gap:7px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-object-line,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-address-line,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-distance-label{
  font-size:11px!important;
  line-height:1.25!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-title{
  font-size:19px!important;
  line-height:1.1!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-desc{
  font-size:12px!important;
  line-height:1.35!important;
  -webkit-line-clamp:2!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  min-width:102px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box strong{
  font-size:17px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-label{
  font-size:9px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid span{
  min-height:46px!important;
  padding:7px 9px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid em{
  font-size:8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid b{
  font-size:11px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-minor-meta,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-minor-meta span{
  font-size:11px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions .uk-button{
  min-height:34px!important;
  padding:0 11px!important;
  font-size:11px!important;
}
.ns-profile-room-status--hidden{
  background:#475569!important;
}
.ns-profile-room-status--hidden:after{
  content:""!important;
}

@media(max-width:959px){
  .ns-listpoints-layout-v3{
    grid-template-columns:1fr!important;
  }
  .ns-listpoints-rules-card{
    position:static!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
    height:220px!important;
    max-height:220px!important;
  }
  body.ns-site .user-area .message-icon{
    min-width:42px!important;
    padding:0 10px!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-affiliate-legend{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-affiliate-member{
    grid-template-columns:50px minmax(0,1fr)!important;
  }
  body.ns-site .ns-affiliate-percent{
    grid-column:1 / -1!important;
    width:auto!important;
  }
}



/* ==========================================================
   AFFILIATE TREE + PROFILE ROOM CLEANUP v24.22
   ========================================================== */

/* Header buttons: balance-like spacing, no cramped numbers */
body.ns-site .user-area .message-icon,
body.ns-site .user-area .ns-rating-header-icon,
body.ns-site .user-area .ns-favorites-icon{
  min-width:62px!important;
  height:42px!important;
  padding:0 16px!important;
  gap:9px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  box-shadow:0 10px 24px rgba(18,34,61,.08)!important;
  overflow:visible!important;
  white-space:nowrap!important;
}
body.ns-site .user-area .message-icon:first-child{
  min-width:46px!important;
  padding:0 14px!important;
}
body.ns-site .user-area .message-icon i,
body.ns-site .user-area .ns-rating-header-icon i,
body.ns-site .user-area .ns-favorites-icon i{
  position:static!important;
  margin:0!important;
  flex:0 0 auto!important;
}
body.ns-site .user-area .message-badge,
body.ns-site .user-area .ns-header-icon-value{
  position:static!important;
  transform:none!important;
  margin:0!important;
  flex:0 0 auto!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:none!important;
}

/* Affiliate: clean old working ul tree and make it premium */
body.ns-site .ns-affiliate-tree-shell{
  padding:18px!important;
  border-radius:24px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-affiliate-hierarchy,
body.ns-site .ns-affiliate-subtree{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
body.ns-site .ns-affiliate-subtree{
  margin:12px 0 0 28px!important;
  padding-left:20px!important;
  border-left:2px solid #dce7f4!important;
}
body.ns-site .ns-affiliate-node{
  margin:0 0 12px!important;
}
body.ns-site .ns-affiliate-member{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:center!important;
  padding:14px 16px!important;
  border-radius:20px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 12px 30px rgba(18,34,61,.06)!important;
}
body.ns-site .ns-affiliate-name{
  color:#172033!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:850!important;
}
body.ns-site .ns-affiliate-name i{
  display:none!important;
}
body.ns-site .ns-affiliate-name b{
  color:#003366!important;
  font-weight:950!important;
}
body.ns-site .ns-affiliate-member .ns-aff-usericon{
  width:42px!important;
  height:42px!important;
  border-radius:15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-affiliate-member.is-hotel .ns-aff-usericon{
  background:#fff7e6!important;
  color:#b8860b!important;
}
body.ns-site .ns-affiliate-percent{
  min-width:88px!important;
  padding:9px 12px!important;
  text-align:center!important;
  border-radius:16px!important;
  background:#fffaf1!important;
  border:1px solid #efe2c7!important;
}
body.ns-site .ns-affiliate-percent small{
  display:block!important;
  color:#8c7a55!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:900!important;
}
body.ns-site .ns-affiliate-percent b{
  color:#8e6508!important;
  font-size:18px!important;
  font-weight:950!important;
}

/* Profile menu: no wandering fixed mode, only stable sticky inside content width */
.ns-profile-page--compact .ns-profile-nav-anchor,
.ns-profile-page--compact .ns-profile-nav-spacer{
  display:none!important;
  height:0!important;
}
.ns-profile-page--compact .ns-profile-nav-wrap,
.ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  z-index:8000!important;
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto 30px!important;
  padding:8px 0!important;
  background:linear-gradient(180deg,rgba(248,246,243,.98),rgba(248,246,243,.84))!important;
  backdrop-filter:blur(10px)!important;
}
.ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
}

/* Profile description bottom blocks: always grey like year/floor/rooms */
.ns-profile-page--compact .ns-profile-about-grid article,
.ns-profile-page--compact .ns-profile-about-grid--single article,
.ns-profile-page--compact .ns-profile-rules-text article{
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  box-shadow:none!important;
}

/* User profile room card: remove hotel-level location/nearest place, facts 2x2 */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-address-line,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-distance-label{
  display:none!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:420px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-info-grid span{
  min-height:42px!important;
  padding:7px 9px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
  grid-template-columns:210px minmax(0,1fr)!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
  height:190px!important;
  max-height:190px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-content{
  padding:11px 13px!important;
  gap:6px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-object-line{
  font-size:11px!important;
  line-height:1.2!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-title{
  font-size:18px!important;
  line-height:1.08!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-desc{
  font-size:12px!important;
  line-height:1.3!important;
  -webkit-line-clamp:2!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  min-width:96px!important;
  padding:7px 9px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box strong{
  font-size:16px!important;
}
body.ns-site .ns-profile-user-market--list-view [data-room-panel]{
  display:grid!important;
}
body.ns-site .ns-profile-user-market--list-view [data-room-panel][style*="display: none"]{
  display:none!important;
}

/* remove sidebar rating/listpoints card if cached markup still appears */
.ns-profile-sidebar [data-profile-module="listpoints"],
.ns-profile-points-sidebar{
  display:none!important;
}

@media(max-width:959px){
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
    height:210px!important;
    max-height:210px!important;
  }
  body.ns-site .ns-affiliate-member{
    grid-template-columns:42px minmax(0,1fr)!important;
  }
  body.ns-site .ns-affiliate-percent{
    grid-column:1 / -1!important;
    width:max-content!important;
  }
}



/* ==========================================================
   PROFILE FINAL TUNING v24.23
   - remove crosshairs icon
   - stable sticky menu
   - smaller object title
   - grey description blocks
   - room facts between photo and price/rating
   ========================================================== */

/* Remove crosshairs/target icon on user profile distance block */
body.ns-site .ns-profile-page--compact .ns-profile-distance--main{
  grid-template-columns:minmax(0,1fr) auto!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-distance--main > i,
body.ns-site .ns-profile-page--compact .ns-profile-distance .fa-location-crosshairs{
  display:none!important;
}

/* Stable sticky/fixed profile menu */
body.ns-site .ns-profile-page--compact .ns-profile-nav-fixed-anchor{
  height:0!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-fixed-spacer{
  width:100%!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap{
  position:relative!important;
  z-index:8000!important;
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto 30px!important;
  padding:8px 0!important;
  background:linear-gradient(180deg,rgba(248,246,243,.98),rgba(248,246,243,.84))!important;
  backdrop-filter:blur(10px)!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  position:fixed!important;
  top:0!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
  padding:8px 0!important;
  z-index:99999!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
}

/* Smaller object heading in the red marked zone */
body.ns-site .ns-profile-page--compact .ns-profile-section-head .ns-profile-object-heading{
  font-size:clamp(20px,1.65vw,27px)!important;
  line-height:1.16!important;
  letter-spacing:-.015em!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-section-head .ns-profile-object-heading > span,
body.ns-site .ns-profile-page--compact .ns-profile-section-head .ns-profile-object-heading > b{
  font-size:inherit!important;
  line-height:inherit!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-section-head .ns-profile-heading-stars{
  font-size:.55em!important;
  gap:2px!important;
}

/* Yellow marked blocks become same grey as spec blocks */
body.ns-site .ns-profile-page--compact .ns-profile-about-grid article,
body.ns-site .ns-profile-page--compact .ns-profile-about-grid--single article,
body.ns-site .ns-profile-page--compact .ns-profile-rules-text article{
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  box-shadow:none!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-about-grid article i,
body.ns-site .ns-profile-page--compact .ns-profile-about-grid--single article i,
body.ns-site .ns-profile-page--compact .ns-profile-rules-text article i{
  background:#eef4fb!important;
  color:#003366!important;
}

/* Profile room card layout: facts between photo and price/rating, compact */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
  grid-template-columns:210px minmax(0,1fr)!important;
  align-items:stretch!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-content{
  padding:10px 12px!important;
  gap:5px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 210px 104px!important;
  gap:10px!important;
  align-items:start!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-title-area{
  min-width:0!important;
  gap:4px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body{
  display:block!important;
  margin:0!important;
  max-width:210px!important;
  width:210px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
  width:100%!important;
  max-width:210px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border:1px solid #e5ebf3!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts span{
  min-height:38px!important;
  padding:6px 7px!important;
  border:0!important;
  border-right:1px solid #e5ebf3!important;
  border-bottom:1px solid #e5ebf3!important;
  border-radius:0!important;
  background:#f8fafc!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts span:nth-child(2n){
  border-right:0!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts span:nth-last-child(-n+2){
  border-bottom:0!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts i{
  font-size:13px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts em{
  font-size:7px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts b{
  font-size:10px!important;
  line-height:1.15!important;
}

/* Lower height for price/rating boxes */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
  display:grid!important;
  gap:6px!important;
  width:104px!important;
  min-width:104px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  min-width:0!important;
  width:104px!important;
  min-height:52px!important;
  padding:6px 8px!important;
  border-radius:13px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box strong{
  font-size:15px!important;
  line-height:1.05!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box span,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box > span{
  font-size:8px!important;
  line-height:1.05!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-rating-clean{
  font-size:12px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
  height:180px!important;
  max-height:180px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-title{
  font-size:17px!important;
  line-height:1.08!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-room-desc{
  font-size:11.5px!important;
  line-height:1.25!important;
  -webkit-line-clamp:2!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-footer{
  margin-top:2px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions .uk-button{
  min-height:32px!important;
  padding:0 10px!important;
  font-size:10.5px!important;
}

@media(max-width:1199px){
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
    grid-template-columns:minmax(0,1fr) 190px 104px!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body,
  body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
    width:190px!important;
    max-width:190px!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body,
  body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
    width:100%!important;
    max-width:100%!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
    width:100%!important;
  }
}



/* ==========================================================
   CONTACTS + PROFILE NAV + ROOM LAYOUT FIX v24.24
   ========================================================== */

/* Profile menu: fixed, centered, and not shifted left */
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  position:fixed!important;
  top:0!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:0!important;
  padding:8px 0!important;
  z-index:99999!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed){
  position:relative!important;
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto 30px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-fixed-spacer{
  display:block;
}

/* Contacts card */
body.ns-site .ns-profile-contact-list--protected{
  display:grid!important;
  gap:10px!important;
}
body.ns-site .ns-profile-contact-person,
body.ns-site .ns-protected-phone{
  width:100%!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  color:#172033!important;
}
body.ns-site .ns-profile-contact-person i,
body.ns-site .ns-protected-phone i{
  width:32px!important;
  height:32px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-profile-contact-person span,
body.ns-site .ns-protected-phone__label{
  display:block!important;
  color:#7a8797!important;
  font-size:10px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-contact-person b,
body.ns-site .ns-protected-phone__value{
  display:block!important;
  margin-top:4px!important;
  color:#172033!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:950!important;
}
body.ns-site .ns-protected-phone{
  cursor:pointer!important;
  text-align:left!important;
  font-family:inherit!important;
}
body.ns-site .ns-protected-phone:hover{
  border-color:#cbdced!important;
  background:#eef4fb!important;
}
body.ns-site .ns-protected-phone.is-visible{
  background:#fff!important;
  border-color:#cbdced!important;
}

/* Remove "до" visual fallback if old markup remains */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-distance-label span::first-letter{
  text-transform:none!important;
}

/* Room card layout: facts under description, between image and price/rating */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 104px!important;
  gap:10px!important;
  align-items:start!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-title-area{
  grid-column:1!important;
  min-width:0!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body{
  grid-column:1!important;
  grid-row:2!important;
  width:250px!important;
  max-width:250px!important;
  margin-top:2px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  width:104px!important;
  min-width:104px!important;
  align-self:start!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
  width:250px!important;
  max-width:250px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  min-height:48px!important;
  height:auto!important;
  padding:6px 8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  min-height:54px!important;
}

/* Object heading remains smaller */
body.ns-site .ns-profile-page--compact .ns-profile-section-head .ns-profile-object-heading{
  font-size:clamp(20px,1.55vw,26px)!important;
}

/* Grey bottom blocks */
body.ns-site .ns-profile-page--compact .ns-profile-about-grid article,
body.ns-site .ns-profile-page--compact .ns-profile-about-grid--single article,
body.ns-site .ns-profile-page--compact .ns-profile-rules-text article{
  background:#f8fafc!important;
  border-color:#e5ebf3!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-about-grid article i,
body.ns-site .ns-profile-page--compact .ns-profile-about-grid--single article i{
  background:#eef4fb!important;
  color:#003366!important;
}

@media(max-width:959px){
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body,
  body.ns-site .ns-profile-user-market--list-view .ns-room-4facts,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1!important;
    grid-row:auto!important;
  }
}



/* ==========================================================
   MENU CONTACTS HEADER ROOM POLISH v24.25
   ========================================================== */

/* Верхние кнопки: шире, как баланс, с нормальными отступами */
body.ns-site .user-area .message-icon,
body.ns-site .user-area .ns-rating-header-icon,
body.ns-site .user-area .ns-favorites-icon{
  height:42px!important;
  min-width:62px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  gap:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  box-shadow:0 10px 24px rgba(18,34,61,.08)!important;
  overflow:visible!important;
}
body.ns-site .user-area .message-icon:not(.ns-rating-header-icon):not(.ns-favorites-icon){
  min-width:48px!important;
  width:48px!important;
  padding:0!important;
}
body.ns-site .user-area .ns-rating-header-icon,
body.ns-site .user-area .ns-favorites-icon{
  min-width:76px!important;
}
body.ns-site .user-area .message-icon i,
body.ns-site .user-area .ns-rating-header-icon i,
body.ns-site .user-area .ns-favorites-icon i{
  position:static!important;
  margin:0!important;
}
body.ns-site .user-area .message-badge,
body.ns-site .user-area .ns-header-icon-value{
  position:static!important;
  transform:none!important;
  margin:0!important;
  min-width:22px!important;
  height:20px!important;
  padding:0 7px!important;
}

/* Меню профиля: строго по центру, без смещения влево */
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(1180px, calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  margin:0!important;
  padding:8px 0!important;
  z-index:99999!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed){
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto 30px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav{
  width:100%!important;
  max-width:100%!important;
}

/* Контакты: два контактных лица и защищённые телефоны */
body.ns-site .ns-profile-contact-person--pair{
  grid-template-columns:32px minmax(0,1fr)!important;
  grid-auto-rows:auto!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline{
  grid-column:2!important;
  width:100%!important;
  min-height:38px!important;
  margin-top:8px!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:3px!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  color:#172033!important;
  text-align:left!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline em{
  font-style:normal!important;
  color:#7a8797!important;
  font-size:10px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline strong{
  color:#172033!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:950!important;
}

/* Карточка номера в профиле: изображение шире */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
  grid-template-columns:270px minmax(0,1fr)!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
  height:190px!important;
  max-height:190px!important;
}

/* Блок параметров под описанием, перед стоимостью/рейтингом */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
  grid-template-columns:minmax(0,1fr) 108px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body{
  grid-column:1!important;
  grid-row:2!important;
  width:260px!important;
  max-width:260px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
  width:260px!important;
  max-width:260px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  width:108px!important;
  min-width:108px!important;
}

/* Стоимость и валюта меньше */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box{
  width:108px!important;
  min-height:48px!important;
  padding:6px 8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box strong{
  font-size:14px!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box span{
  font-size:8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  width:108px!important;
  min-height:52px!important;
  padding:6px 8px!important;
}

/* Если старые блоки расстояния остались в кэше — слово "до" скрываем через CSS невозможно точечно,
   поэтому оставляем минимальный вид без иконок */
body.ns-site .ns-hotel-distance-label i{
  display:none!important;
}

@media(max-width:959px){
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body,
  body.ns-site .ns-profile-user-market--list-view .ns-room-4facts,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
    width:100%!important;
  }
}



/* ==========================================================
   FINAL NAV PHONE TABS IMAGE RATING FIX v24.26
   ========================================================== */

/* Навигация профиля: якоря управляются JS, не base href */
body.ns-site .ns-profile-page--compact .ns-profile-nav a[href="javascript:void(0)"]{
  cursor:pointer!important;
}

/* Верхние круглые кнопки ещё ближе к кнопке баланса */
body.ns-site .user-area .ns-rating-header-icon,
body.ns-site .user-area .ns-favorites-icon{
  min-width:84px!important;
  height:42px!important;
  padding:0 18px!important;
  gap:10px!important;
}
body.ns-site .user-area .message-icon:not(.ns-rating-header-icon):not(.ns-favorites-icon){
  min-width:48px!important;
  width:48px!important;
  height:42px!important;
}

/* Контакты: подпись "Имя контакта" */
body.ns-site .ns-profile-contact-person > span{
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

/* Картинка товара 16:9 и полностью залита изображением */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
  grid-template-columns:320px minmax(0,1fr)!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo{
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo .ns-hotel-photo-link{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-photo img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}

/* Стоимость: число меньше, "за сутки/за номер" чуть крупнее */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box{
  width:108px!important;
  min-height:50px!important;
  padding:6px 8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box strong{
  font-size:14px!important;
  line-height:1.05!important;
  letter-spacing:-.025em!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box span{
  font-size:10px!important;
  line-height:1.1!important;
  font-weight:950!important;
}

/* Рейтинг: если значения нет, показываем пустые звёзды */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
  width:108px!important;
  min-height:56px!important;
  padding:7px 8px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-rating-placeholder{
  display:inline-flex!important;
  gap:1px!important;
  color:#d7dde6!important;
  font-size:14px!important;
  line-height:1!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-rating-empty-visible .ns-rating-placeholder i{
  color:#d7dde6!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-rating-clean:empty::before,
body.ns-site .ns-profile-user-market--list-view .ns-latest-rating:empty::before{
  content:"★★★★★"!important;
  color:#d7dde6!important;
  letter-spacing:1px!important;
  font-size:14px!important;
}

/* Вкладки опубликованные / не опубликованные: скрытие должно побеждать все старые display:grid!important */
body.ns-site .ns-profile-user-market--list-view [data-room-panel][hidden],
body.ns-site .ns-profile-user-market--list-view [data-room-panel].ns-room-panel-hidden,
body.ns-site .ns-profile-user-market--list-view [data-room-panel][style*="display: none"]{
  display:none!important;
}
body.ns-site .ns-profile-user-market--list-view [data-room-panel].ns-room-panel-active{
  display:grid!important;
}

/* Не опубликованные — ярлык на карточке */
body.ns-site .ns-profile-room-status--hidden{
  background:#475569!important;
}
body.ns-site .ns-profile-room-status--hidden i{
  color:#fff!important;
}

/* Четыре поля между текстом и ценой/рейтингом */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
  grid-template-columns:minmax(0,1fr) 108px!important;
  gap:10px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body{
  width:260px!important;
  max-width:260px!important;
  grid-column:1!important;
  grid-row:2!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
  width:260px!important;
  max-width:260px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
  width:108px!important;
  min-width:108px!important;
  grid-column:2!important;
  grid-row:1 / span 2!important;
}

@media(max-width:1199px){
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:300px minmax(0,1fr)!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body,
  body.ns-site .ns-profile-user-market--list-view .ns-room-4facts,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-side-panel{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box,
  body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box{
    width:100%!important;
  }
}



/* ==========================================================
   USERDETAILS FINAL HOTFIX v24.27
   ========================================================== */

/* Цена: меньше число, заметнее "за сутки / за номер" */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box strong{
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-price-box span{
  display:block!important;
  margin-top:3px!important;
  font-size:12px!important;
  line-height:1.05!important;
  font-weight:950!important;
}

/* Кнопка "Об объекте" скрыта дополнительно, если в кэше остался старый HTML */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions a[href*="users"][href*="details"],
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions a[href*="m=details"]{
  display:none!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-actions{
  justify-content:flex-end!important;
}

/* FAQ — более премиальный блок */
body.ns-site .ns-profile-page--compact #faq{
  background:
    radial-gradient(circle at 100% 0%, rgba(184,134,11,.08), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
  border:1px solid rgba(0,51,102,.09)!important;
  box-shadow:0 22px 58px rgba(18,34,61,.08)!important;
}
body.ns-site .ns-profile-page--compact #faq .ns-profile-section-head{
  display:grid!important;
  gap:8px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-profile-page--compact #faq .ns-profile-section-kicker{
  width:max-content!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#fff7e6!important;
  color:#8e6508!important;
  border:1px solid #efe2c7!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-page--compact #faq .ns-profile-section-kicker:before{
  content:"\f059"!important;
  font-family:"Font Awesome 5 Free"!important;
  font-weight:900!important;
}
body.ns-site .ns-profile-page--compact #faq h2{
  margin:0!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.05!important;
  font-family:var(--font-heading,inherit)!important;
  letter-spacing:-.035em!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq{
  display:grid!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq>li{
  margin:0!important;
  padding:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e5ebf3!important;
  box-shadow:0 12px 30px rgba(18,34,61,.05)!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title{
  min-height:54px!important;
  padding:15px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  color:#172033!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title:after{
  content:"\f107"!important;
  font-family:"Font Awesome 5 Free"!important;
  font-weight:900!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-open .uk-accordion-title:after{
  content:"\f106"!important;
  background:#003366!important;
  color:#fff!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-content{
  margin:0!important;
  padding:0 18px 18px!important;
  color:#52667d!important;
  font-size:14px!important;
  line-height:1.7!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-content p{
  margin:0!important;
  padding:14px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}

/* Телефон: весь блок кликабельный, раскрытое значение заметнее */
body.ns-site .ns-protected-phone{
  cursor:pointer!important;
}
body.ns-site .ns-protected-phone.is-visible strong,
body.ns-site .ns-protected-phone.is-visible .ns-protected-phone__value{
  color:#003366!important;
  font-size:15px!important;
}

/* Если значение рейтинга пустое, блок не выглядит пустым */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box .ns-rating-clean,
body.ns-site .ns-profile-user-market--list-view .ns-hotel-rating-box .ns-latest-rating{
  min-height:18px!important;
}



/* ==========================================================
   FINAL CONTACT FAV RATING LABEL FIX v24.28
   ========================================================== */

/* Верхнее избранное: если счётчик скрыт, кнопка остаётся аккуратной */
body.ns-site .user-area .js-marketfav-header-count[style*="display: none"]{
  display:none!important;
}

/* Контакт: имя переносится в верхнюю строку, высота блока меньше */
body.ns-site .ns-profile-contact-person--compact{
  min-height:42px!important;
  padding:8px 10px!important;
  grid-template-columns:30px minmax(0,1fr)!important;
}
body.ns-site .ns-profile-contact-person--compact > i{
  width:30px!important;
  height:30px!important;
}
body.ns-site .ns-profile-contact-person--compact .ns-contact-name{
  color:#172033!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:950!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body.ns-site .ns-profile-contact-person--compact > b{
  display:none!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline{
  grid-column:2!important;
  min-height:34px!important;
  margin-top:6px!important;
  padding:7px 10px!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline em{
  font-size:9px!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline strong{
  font-size:13px!important;
}

/* Соцкнопки под "Написать сообщение" */
body.ns-site .ns-profile-socials{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  justify-content:center!important;
  margin-top:10px!important;
}
body.ns-site .ns-profile-socials a{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f8fafc!important;
  border:1px solid #dbe7f7!important;
  color:#003366!important;
  text-decoration:none!important;
  transition:.18s ease!important;
}
body.ns-site .ns-profile-socials a:hover{
  background:#003366!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

/* Якоря секций: дополнительный запас под sticky меню */
body.ns-site .ns-profile-page--compact #overview,
body.ns-site .ns-profile-page--compact #rooms,
body.ns-site .ns-profile-page--compact #services,
body.ns-site .ns-profile-page--compact #location,
body.ns-site .ns-profile-page--compact #reviews,
body.ns-site .ns-profile-page--compact #contacts,
body.ns-site .ns-profile-page--compact #faq{
  scroll-margin-top:126px!important;
}

/* Пустой рейтинг только в карточках номеров: серые звёзды CSS-ом, без статических JS-иконок */
body.ns-site .ns-profile-user-market--list-view .ns-rating-empty-visible .ns-rating-clean:empty::before,
body.ns-site .ns-profile-user-market--list-view .ns-rating-empty-visible .ns-latest-rating:empty::before{
  content:"★★★★★"!important;
  color:#d7dde6!important;
  letter-spacing:1px!important;
  font-size:14px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-rating-placeholder{
  display:none!important;
}

/* Не трогать интерактивные рейтинги отзывов: вернуть возможность клика по звёздам */
body.ns-site #reviews .stars,
body.ns-site #reviews .rating,
body.ns-site #reviews [class*="rating"]{
  pointer-events:auto!important;
}
body.ns-site #reviews .stars i,
body.ns-site #reviews .stars span,
body.ns-site #reviews [class*="rating"] i,
body.ns-site #reviews [class*="rating"] span{
  pointer-events:auto!important;
}

/* Убрать label/kicker слова типа "Отзывы", "Правила", "Описание" */
body.ns-site .ns-profile-page--compact .ns-profile-section-kicker,
body.ns-site .ns-profile-page--compact .ns-profile-label,
body.ns-site .ns-profile-page--compact .ns-section-label{
  display:none!important;
}

/* FAQ и остальные секции не должны иметь лишний верхний зазор от скрытого label */
body.ns-site .ns-profile-page--compact .ns-profile-section-head{
  margin-top:0!important;
}

/* Контактная карточка чуть компактнее */
body.ns-site .ns-profile-contact-list--protected{
  gap:8px!important;
}
body.ns-site .ns-profile-contact-card .ns-profile-side-card__head{
  margin-bottom:12px!important;
}



/* ==========================================================
   RATING FAQ NAV SOCIALS HOTFIX v24.29
   ========================================================== */

/* Меню пользователя: убрать отрицательный отступ и дать место под ним */
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed),
body.ns-site .ns-profile-nav-wrap:not(.is-fixed){
  position:relative!important;
  top:auto!important;
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:34px auto 72px!important;
  padding:0!important;
  z-index:20!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-layout{
  padding-top:18px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  top:0!important;
  margin:0!important;
  z-index:99999!important;
}

/* FAQ: убрать +/- / стрелки и выровнять вопрос строго влево */
body.ns-site .ns-profile-page--compact #faq .uk-accordion-title,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title{
  justify-content:flex-start!important;
  text-align:left!important;
  padding-left:18px!important;
  padding-right:18px!important;
}
body.ns-site .ns-profile-page--compact #faq .uk-accordion-title:before,
body.ns-site .ns-profile-page--compact #faq .uk-accordion-title:after,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title:before,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title:after{
  content:none!important;
  display:none!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title span{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}

/* Восстановить интерактивную оценку в блоке отзывов.
   Раньше глобальный стиль скрывал empty label у рейтинга и ломал клики. */
body.ns-site #reviews [class*="rating"] label,
body.ns-site #reviews .stars label,
body.ns-site #reviews .ratings label,
body.ns-site #tab_reviews [class*="rating"] label,
body.ns-site #tab_reviews .stars label,
body.ns-site #tab_reviews .ratings label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:26px!important;
  min-height:26px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
body.ns-site #reviews [class*="rating"] label:empty,
body.ns-site #reviews .stars label:empty,
body.ns-site #reviews .ratings label:empty,
body.ns-site #tab_reviews [class*="rating"] label:empty,
body.ns-site #tab_reviews .stars label:empty,
body.ns-site #tab_reviews .ratings label:empty{
  display:inline-flex!important;
}
body.ns-site #reviews [class*="rating"] input[type="radio"],
body.ns-site #reviews .stars input[type="radio"],
body.ns-site #reviews .ratings input[type="radio"],
body.ns-site #tab_reviews [class*="rating"] input[type="radio"],
body.ns-site #tab_reviews .stars input[type="radio"],
body.ns-site #tab_reviews .ratings input[type="radio"]{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
  pointer-events:auto!important;
}
body.ns-site #reviews [class*="rating"],
body.ns-site #reviews .stars,
body.ns-site #reviews .ratings,
body.ns-site #tab_reviews [class*="rating"],
body.ns-site #tab_reviews .stars,
body.ns-site #tab_reviews .ratings{
  pointer-events:auto!important;
}

/* Чтобы CSS-звёзды пустого рейтинга применялись только в карточках номеров, а не в форме отзывов */
body.ns-site #reviews .ns-rating-clean:empty::before,
body.ns-site #tab_reviews .ns-rating-clean:empty::before{
  content:none!important;
}

/* Соцкнопки: если логин превращён JS в ссылку, визуально остаются аккуратными */
body.ns-site .ns-profile-socials a[data-social-platform]{
  text-decoration:none!important;
}

/* Скрыть label/kicker слова вроде "Отзывы", "Правила", "Описание" ещё жёстче */
body.ns-site .ns-profile-page--compact .ns-profile-section-kicker,
body.ns-site .ns-profile-page--compact .ns-profile-label,
body.ns-site .ns-profile-page--compact .ns-section-label,
body.ns-site .ns-profile-page--compact [class*="kicker"]{
  display:none!important;
}



/* ==========================================================
   CONTACTS PHONE RATING FAQ FINAL v24.30
   ========================================================== */

/* Контакты: меньше высота, телефон на всю ширину блока */
body.ns-site .ns-profile-contact-person--compact{
  min-height:34px!important;
  padding:6px 8px!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:8px!important;
}
body.ns-site .ns-profile-contact-person--compact > i{
  width:28px!important;
  height:28px!important;
  border-radius:10px!important;
  font-size:12px!important;
}
body.ns-site .ns-profile-contact-person--compact .ns-contact-name{
  font-size:13px!important;
  line-height:1.15!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline{
  grid-column:1 / -1!important;
  width:100%!important;
  min-height:34px!important;
  margin-top:6px!important;
  padding:7px 10px!important;
  border-radius:13px!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline em{
  font-size:9px!important;
}
body.ns-site .ns-profile-contact-person--pair .ns-protected-phone--inline strong{
  font-size:13px!important;
}
body.ns-site .ns-profile-contact-list--protected{
  gap:7px!important;
}
body.ns-site .ns-profile-contact-list--protected a[href^="mailto:"]{
  display:none!important;
}

/* Кнопка сообщения с иконкой письма */
body.ns-site .ns-profile-pm a,
body.ns-site .ns-profile-pm button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}

/* Меню пользователя не перекрывает первые блоки */
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed),
body.ns-site .ns-profile-nav-wrap:not(.is-fixed){
  position:relative!important;
  top:auto!important;
  margin:42px auto 96px!important;
  padding:0!important;
  z-index:20!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-layout{
  padding-top:34px!important;
}

/* FAQ: возвращаем стрелки справа, убираем жёлтый значок/label */
body.ns-site .ns-profile-page--compact #faq .ns-profile-section-kicker,
body.ns-site .ns-profile-page--compact #faq .ns-profile-section-kicker:before,
body.ns-site .ns-profile-page--compact #faq .ns-profile-section-kicker:after{
  display:none!important;
  content:none!important;
}
body.ns-site .ns-profile-page--compact #faq .uk-accordion-title,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  text-align:left!important;
  padding-left:18px!important;
  padding-right:18px!important;
}
body.ns-site .ns-profile-page--compact #faq .uk-accordion-title span,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title span{
  display:block!important;
  width:auto!important;
  flex:1 1 auto!important;
  text-align:left!important;
}
body.ns-site .ns-profile-page--compact #faq .uk-accordion-title:before,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title:before{
  content:none!important;
  display:none!important;
}
body.ns-site .ns-profile-page--compact #faq .uk-accordion-title:after,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-accordion-title:after{
  content:"\f107"!important;
  font-family:"Font Awesome 5 Free"!important;
  font-weight:900!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  margin-left:14px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-profile-page--compact #faq .uk-open .uk-accordion-title:after,
body.ns-site .ns-profile-page--compact .ns-profile-faq .uk-open .uk-accordion-title:after{
  content:"\f106"!important;
  background:#003366!important;
  color:#fff!important;
}

/* Рейтинг: форма оценки снова кликабельная на странице номера и в отзывах */
body.ns-site .uk-card .ns-rating-clean:not(.ns-latest-rating),
body.ns-site #reviews .ns-rating-clean,
body.ns-site #tab_reviews .ns-rating-clean,
body.ns-site .comments .ns-rating-clean,
body.ns-site .reviews .ns-rating-clean{
  overflow:visible!important;
  pointer-events:auto!important;
}
body.ns-site .uk-card .ns-rating-clean:not(.ns-latest-rating) input[type="radio"],
body.ns-site #reviews [class*="rating"] input[type="radio"],
body.ns-site #tab_reviews [class*="rating"] input[type="radio"],
body.ns-site .comments [class*="rating"] input[type="radio"],
body.ns-site .reviews [class*="rating"] input[type="radio"]{
  pointer-events:auto!important;
}
body.ns-site .uk-card .ns-rating-clean:not(.ns-latest-rating) label,
body.ns-site #reviews [class*="rating"] label,
body.ns-site #tab_reviews [class*="rating"] label,
body.ns-site .comments [class*="rating"] label,
body.ns-site .reviews [class*="rating"] label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:26px!important;
  min-height:26px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
body.ns-site .uk-card .ns-rating-clean:not(.ns-latest-rating) label:empty,
body.ns-site #reviews [class*="rating"] label:empty,
body.ns-site #tab_reviews [class*="rating"] label:empty,
body.ns-site .comments [class*="rating"] label:empty,
body.ns-site .reviews [class*="rating"] label:empty{
  display:inline-flex!important;
}
body.ns-site .uk-card .ns-rating-clean:not(.ns-latest-rating) a,
body.ns-site .uk-card .ns-rating-clean:not(.ns-latest-rating) span,
body.ns-site #reviews [class*="rating"] a,
body.ns-site #reviews [class*="rating"] span,
body.ns-site #tab_reviews [class*="rating"] a,
body.ns-site #tab_reviews [class*="rating"] span{
  pointer-events:auto!important;
  cursor:pointer!important;
}
/* Пустые CSS-звёзды только в карточках списка номеров, не в форме голосования */
body.ns-site .uk-card .ns-rating-clean:not(.ns-latest-rating):empty::before,
body.ns-site #reviews .ns-rating-clean:empty::before,
body.ns-site #tab_reviews .ns-rating-clean:empty::before{
  content:none!important;
}

/* WhatsApp соцкнопка */
body.ns-site .ns-profile-socials a[data-social-platform="whatsapp"] i{
  font-family:"Font Awesome 5 Brands"!important;
}



/* ==========================================================
   PRODUCT RATING + PROFILE WIDE CONTENT FIX v24.31
   ========================================================== */

/* Страница пользователя: весь блок от описания и до низа шире, как основные модули главной */
body.ns-site .ns-profile-page--compact .ns-profile-main,
body.ns-site .ns-profile-page--compact .uk-container-large.ns-profile-main{
  max-width:none!important;
  width:min(1440px, calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-layout{
  width:min(1440px, 100%)!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed){
  width:min(1440px,100%)!important;
  max-width:1440px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  width:min(1440px, calc(100vw - 48px))!important;
  max-width:calc(100vw - 48px)!important;
}

/* Страница просмотра номера/товара: интерактивный рейтинг без конфликтов с карточками */
body.ns-site .ns-product-rating-vote{
  display:block!important;
  margin:8px 0 18px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  overflow:visible!important;
  pointer-events:auto!important;
}
body.ns-site .ns-product-rating-vote *,
body.ns-site .ns-product-rating-vote label,
body.ns-site .ns-product-rating-vote input,
body.ns-site .ns-product-rating-vote a,
body.ns-site .ns-product-rating-vote span,
body.ns-site .ns-product-rating-vote i{
  pointer-events:auto!important;
}
body.ns-site .ns-product-rating-vote label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:30px!important;
  min-height:30px!important;
  cursor:pointer!important;
}
body.ns-site .ns-product-rating-vote label:empty{
  display:inline-flex!important;
}
body.ns-site .ns-product-rating-vote input[type="radio"]{
  pointer-events:auto!important;
}
body.ns-site .ns-product-rating-vote .ns-rating-clean:empty::before,
body.ns-site .ns-product-rating-vote:empty::before{
  content:none!important;
}

/* Старый вариант, если плагин всё же вернул ns-rating-clean внутри карточки отзывов */
body.ns-site .uk-card .ns-product-rating-vote .ns-rating-clean:not(.ns-latest-rating){
  overflow:visible!important;
  pointer-events:auto!important;
}
body.ns-site .uk-card .ns-product-rating-vote .ns-rating-clean:not(.ns-latest-rating) label,
body.ns-site .uk-card .ns-product-rating-vote .ns-rating-clean:not(.ns-latest-rating) a,
body.ns-site .uk-card .ns-product-rating-vote .ns-rating-clean:not(.ns-latest-rating) span{
  pointer-events:auto!important;
  cursor:pointer!important;
}

@media(max-width:959px){
  body.ns-site .ns-profile-page--compact .ns-profile-main,
  body.ns-site .ns-profile-page--compact .uk-container-large.ns-profile-main{
    width:min(100% - 32px, 1440px)!important;
  }
  body.ns-site .ns-profile-page--compact .ns-profile-layout{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   PROFILE MENU FOLIO FACTS LISTPOINTS RATING FIX v24.32
   ========================================================== */

/* Кнопка "Написать сообщение" в контактах — по ширине поля */
body.ns-site .ns-profile-contact-card .ns-profile-pm,
body.ns-site .ns-profile-contact-card .ns-profile-pm a,
body.ns-site .ns-profile-contact-card .ns-profile-pm button{
  width:100%!important;
}
body.ns-site .ns-profile-contact-card .ns-profile-pm a,
body.ns-site .ns-profile-contact-card .ns-profile-pm button{
  min-height:44px!important;
}

/* Номера в профиле: четыре факта в один ряд и визуально над типом номера */
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-head{
  grid-template-columns:minmax(0,1fr) 112px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-body{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:6px!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts span{
  min-height:40px!important;
  border-right:1px solid #e5ebf3!important;
  border-bottom:0!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-room-4facts span:last-child{
  border-right:0!important;
}
body.ns-site .ns-profile-user-market--list-view .ns-hotel-listing-footer{
  padding-top:8px!important;
}

/* Дополнительные услуги: такие же вкладки как у номеров */
body.ns-site .ns-profile-folio-tabs{
  margin-bottom:16px!important;
}
body.ns-site .ns-profile-service-add-tab{
  margin-left:auto!important;
}
body.ns-site .ns-profile-module-grid--folio-hidden[hidden],
body.ns-site .ns-profile-module-grid--folio[hidden],
body.ns-site .ns-profile-module-grid--folio-hidden[style*="display: none"],
body.ns-site .ns-profile-module-grid--folio[style*="display: none"]{
  display:none!important;
}
body.ns-site .ns-profile-folio-card__media{
  position:relative!important;
}

/* Страница просмотра товара: звёзды рейтинга должны быть видны и кликабельны */
body.ns-site .ns-product-rating-vote{
  color:#ffb31a!important;
}
body.ns-site .ns-product-rating-vote label,
body.ns-site .ns-product-rating-vote a{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:30px!important;
  min-height:30px!important;
  color:#ffb31a!important;
  cursor:pointer!important;
  text-decoration:none!important;
  font-size:0!important;
  line-height:1!important;
}
body.ns-site .ns-product-rating-vote label:before,
body.ns-site .ns-product-rating-vote a:before{
  content:"★"!important;
  font-size:28px!important;
  line-height:1!important;
  color:#ffb31a!important;
  text-shadow:0 1px 0 rgba(0,0,0,.04)!important;
}
body.ns-site .ns-product-rating-vote label:hover:before,
body.ns-site .ns-product-rating-vote a:hover:before{
  color:#e89a00!important;
  transform:scale(1.08)!important;
}
body.ns-site .ns-product-rating-vote input[type="radio"]{
  position:absolute!important;
  opacity:0!important;
  width:1px!important;
  height:1px!important;
}
body.ns-site .ns-product-rating-vote img{
  display:inline-block!important;
  max-height:28px!important;
  width:auto!important;
  vertical-align:middle!important;
}
body.ns-site .ns-product-rating-vote .fa-star,
body.ns-site .ns-product-rating-vote svg{
  color:#ffb31a!important;
  fill:#ffb31a!important;
}

/* Обзор: без визуального "перезагруза" — активная кнопка не меняет hash */
body.ns-site .ns-profile-nav a[data-scroll-target="#overview"]{
  cursor:pointer!important;
}

/* Listpoints: если используются родные шаблоны плагина, сохранить аккуратный внешний вид */
body.ns-listpoints-page{
  background:linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
body.ns-listpoints-page .uk-container,
body.ns-listpoints-page .container{
  max-width:1180px!important;
}
body.ns-listpoints-page table,
body.ns-listpoints-page .uk-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
}
body.ns-listpoints-page table tbody tr{
  background:#fff!important;
  box-shadow:0 12px 28px rgba(18,34,61,.06), inset 0 0 0 1px #e5ebf3!important;
}
body.ns-listpoints-page table tbody td{
  border:none!important;
  padding:14px!important;
}

@media(max-width:959px){
  body.ns-site .ns-profile-user-market--list-view .ns-room-4facts{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-profile-service-add-tab{
    margin-left:0!important;
    width:100%!important;
    justify-content:center!important;
  }
}



/* ==========================================================
   FOLIO PREMIUM REDESIGN v24.33
   ========================================================== */

/* User details: folio cards as 3-column city cards */
body.ns-site .ns-profile-user-folio-v2433 .ns-profile-folio-city-grid,
body.ns-site .ns-profile-module-grid.ns-profile-folio-city-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
body.ns-site .ns-profile-folio-city-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.10)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  box-shadow:0 18px 44px rgba(18,34,61,.08)!important;
  transition:transform .2s ease, box-shadow .2s ease!important;
}
body.ns-site .ns-profile-folio-city-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 26px 58px rgba(18,34,61,.12)!important;
}
body.ns-site .ns-profile-folio-city-card__media{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#dfe7ef,#91a4b5)!important;
}
body.ns-site .ns-profile-folio-city-card__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  transition:transform .24s ease, filter .24s ease!important;
}
body.ns-site .ns-profile-folio-city-card:hover .ns-profile-folio-city-card__media img{
  transform:scale(1.035)!important;
  filter:brightness(1.04)!important;
}
body.ns-site .ns-profile-folio-city-card__body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:16px!important;
  padding:20px 18px 22px!important;
  text-align:center!important;
}
body.ns-site .ns-profile-folio-city-card__body h3{
  margin:0!important;
  color:#172033!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-folio-city-card__body h3 a{
  color:inherit!important;
  text-decoration:none!important;
}
body.ns-site .ns-profile-folio-city-card__button{
  min-height:40px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  background:#eef4fb!important;
  border:1px solid #d5e4f4!important;
  color:#003366!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-profile-folio-city-card__button:hover{
  background:#003366!important;
  color:#fff!important;
}

/* Folio editor pages */
body.ns-site .ns-folio-editor,
body.ns-site .ns-folio-view{
  padding:42px 0 78px!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(184,134,11,.10), transparent 30%),
    linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
body.ns-site .ns-folio-editor .uk-container,
body.ns-site .ns-folio-view .uk-container{
  max-width:1180px!important;
}
body.ns-site .ns-folio-editor-hero,
body.ns-site .ns-folio-view-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 420px!important;
  gap:26px!important;
  align-items:center!important;
  margin-bottom:24px!important;
  padding:30px!important;
  border-radius:34px!important;
  color:#fff!important;
  background:
    linear-gradient(135deg,rgba(0,51,102,.96),rgba(8,76,128,.90)),
    url('../img/ns-hero-premium-original-v24.webp') center/cover no-repeat!important;
  box-shadow:0 26px 70px rgba(18,34,61,.18)!important;
  overflow:hidden!important;
}
body.ns-site .ns-folio-editor-hero{
  grid-template-columns:minmax(0,1fr) 110px!important;
}
body.ns-site .ns-folio-kicker{
  width:max-content!important;
  max-width:100%!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-editor-hero h1,
body.ns-site .ns-folio-view-hero h1{
  margin:16px 0 10px!important;
  color:#fff!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(38px,5vw,64px)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-editor-hero p,
body.ns-site .ns-folio-view-hero p{
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:15px!important;
  line-height:1.7!important;
}
body.ns-site .ns-folio-editor-hero__icon{
  width:96px!important;
  height:96px!important;
  border-radius:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:end!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  color:#fff!important;
  font-size:34px!important;
}
body.ns-site .ns-folio-form-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 420px!important;
  gap:22px!important;
  align-items:start!important;
}
body.ns-site .ns-folio-form-card,
body.ns-site .ns-folio-view-card,
body.ns-site .ns-folio-side-card{
  background:#fff!important;
  border:1px solid rgba(0,51,102,.09)!important;
  border-radius:28px!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
}
body.ns-site .ns-folio-form-card{
  padding:22px!important;
}
body.ns-site .ns-folio-form-card--wide{
  margin-top:22px!important;
}
body.ns-site .ns-folio-form-card__head{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-folio-form-card__head>i{
  width:48px!important;
  height:48px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
  font-size:18px!important;
}
body.ns-site .ns-folio-form-card__head h2{
  margin:0!important;
  color:#172033!important;
  font-size:23px!important;
  line-height:1.1!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-form-card__head p{
  margin:4px 0 0!important;
  color:#6a778b!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body.ns-site .ns-folio-form-two{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
body.ns-site .ns-folio-field{
  margin-bottom:16px!important;
}
body.ns-site .ns-folio-field .uk-form-label{
  display:block!important;
  margin-bottom:7px!important;
  color:#34465d!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-field input,
body.ns-site .ns-folio-field select,
body.ns-site .ns-folio-field textarea,
body.ns-site .ns-folio-form input,
body.ns-site .ns-folio-form select,
body.ns-site .ns-folio-form textarea{
  border-radius:14px!important;
  border:1px solid #dbe7f7!important;
  background:#fff!important;
}
body.ns-site .ns-folio-price-control{
  position:relative!important;
}
body.ns-site .ns-folio-price-control span{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  color:#7a8797!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-attach-box{
  min-height:120px!important;
  padding:16px!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  border:1px dashed #cbdced!important;
}
body.ns-site .ns-folio-editor-field{
  border-radius:18px!important;
  overflow:hidden!important;
}
body.ns-site .ns-folio-delete-box{
  margin-top:10px!important;
  padding:12px!important;
  border-radius:16px!important;
  background:#fff7f7!important;
  border:1px solid #ffd6d6!important;
}
body.ns-site .ns-folio-delete-box label{
  display:block!important;
  color:#b42318!important;
  font-weight:950!important;
  margin-bottom:8px!important;
}
body.ns-site .ns-folio-form-actions{
  margin-top:22px!important;
}
body.ns-site .ns-folio-form-actions .uk-button,
body.ns-site .ns-folio-view-actions .uk-button{
  min-height:46px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  font-weight:950!important;
}

/* Folio view / preview */
body.ns-site .ns-folio-view-hero__media{
  height:300px!important;
  border-radius:26px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.12)!important;
}
body.ns-site .ns-folio-view-hero__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.ns-site .ns-folio-view-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:14px 0!important;
}
body.ns-site .ns-folio-view-meta span{
  min-height:36px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-weight:850!important;
}
body.ns-site .ns-folio-owner-line{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:12px!important;
}
body.ns-site .ns-folio-owner-line img{
  width:38px!important;
  height:38px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  border:2px solid rgba(255,255,255,.5)!important;
}
body.ns-site .ns-folio-owner-line a{
  color:#fff!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-folio-owner-line em{
  padding:4px 8px!important;
  border-radius:999px!important;
  background:#fff7e6!important;
  color:#8e6508!important;
  font-style:normal!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:20px!important;
}
body.ns-site .ns-folio-state-alert{
  margin:0 0 18px!important;
  padding:14px 16px!important;
  border-radius:18px!important;
  background:#fff7e6!important;
  border:1px solid #efe2c7!important;
  color:#8e6508!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:22px!important;
  align-items:start!important;
}
body.ns-site .ns-folio-view-card{
  padding:26px!important;
}
body.ns-site .ns-folio-view-card__head span{
  display:inline-flex!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  background:#fff7e6!important;
  color:#8e6508!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-card__head h2{
  margin:12px 0 18px!important;
  color:#172033!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(30px,3.2vw,46px)!important;
  line-height:1.06!important;
  letter-spacing:-.045em!important;
}
body.ns-site .ns-folio-view-text{
  color:#34465d!important;
  font-size:16px!important;
  line-height:1.75!important;
}
body.ns-site .ns-folio-view-sidebar{
  display:grid!important;
  gap:14px!important;
  position:sticky!important;
  top:88px!important;
}
body.ns-site .ns-folio-side-card{
  padding:18px!important;
}
body.ns-site .ns-folio-side-card span{
  display:block!important;
  color:#7a8797!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
  margin-bottom:8px!important;
}
body.ns-site .ns-folio-side-card strong{
  display:block!important;
  color:#003366!important;
  font-size:28px!important;
  line-height:1.05!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-side-card a{
  color:#003366!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-folio-side-card p{
  margin:0!important;
  color:#52667d!important;
  line-height:1.6!important;
}
body.ns-site .ns-folio-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:24px!important;
}
body.ns-site .ns-folio-gallery__item{
  display:block!important;
  aspect-ratio:16/10!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#eef4fb!important;
}
body.ns-site .ns-folio-gallery__item img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.ns-site .ns-folio-related{
  margin-top:30px!important;
}

/* Old folio classes fallback */
body.ns-site .ns-profile-folio-card{
  border-radius:26px!important;
}

@media(max-width:1100px){
  body.ns-site .ns-folio-editor-hero,
  body.ns-site .ns-folio-view-hero,
  body.ns-site .ns-folio-form-grid,
  body.ns-site .ns-folio-view-layout{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-folio-view-sidebar{
    position:static!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-user-folio-v2433 .ns-profile-folio-city-grid,
  body.ns-site .ns-profile-module-grid.ns-profile-folio-city-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-folio-form-two,
  body.ns-site .ns-folio-gallery{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-profile-user-folio-v2433 .ns-profile-folio-city-grid,
  body.ns-site .ns-profile-module-grid.ns-profile-folio-city-grid{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-folio-editor,
  body.ns-site .ns-folio-view{
    padding:24px 0 54px!important;
  }
  body.ns-site .ns-folio-editor-hero,
  body.ns-site .ns-folio-view-hero{
    padding:22px!important;
    border-radius:26px!important;
  }
}



/* ==========================================================
   FOLIO USERDETAILS + VIEW FINAL v24.34
   ========================================================== */

/* Страница users.details: услуги в 3 столбца, с ценой, описанием, миниатюрами и кнопкой на всю ширину */
body.ns-site .ns-profile-user-folio-v2434 .ns-profile-folio-service-grid,
body.ns-site .ns-profile-module-grid.ns-profile-folio-service-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
body.ns-site .ns-profile-folio-service-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.10)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  box-shadow:0 18px 44px rgba(18,34,61,.08)!important;
  transition:transform .2s ease, box-shadow .2s ease!important;
}
body.ns-site .ns-profile-folio-service-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 26px 58px rgba(18,34,61,.12)!important;
}
body.ns-site .ns-profile-folio-service-card__media{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#dfe7ef,#91a4b5)!important;
}
body.ns-site .ns-profile-folio-main-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
body.ns-site .ns-profile-folio-main-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  transition:transform .24s ease, filter .24s ease!important;
}
body.ns-site .ns-profile-folio-service-card:hover .ns-profile-folio-main-image img{
  transform:scale(1.035)!important;
  filter:brightness(1.04)!important;
}
body.ns-site .ns-profile-folio-price-badge{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:6!important;
  min-height:34px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#003366!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(0,51,102,.22)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-folio-thumbs{
  padding:8px 10px 0!important;
  background:#fff!important;
}
body.ns-site .ns-profile-folio-thumbs .uk-slider-items{
  gap:7px!important;
}
body.ns-site .ns-profile-folio-thumbs li{
  width:54px!important;
  height:42px!important;
  padding:0!important;
  margin-right:7px!important;
}
body.ns-site .ns-profile-folio-thumbs a{
  display:block!important;
  width:54px!important;
  height:42px!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#eef4fb!important;
  border:1px solid #dbe7f7!important;
}
body.ns-site .ns-profile-folio-thumbs img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.ns-site .ns-profile-folio-service-card__body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  padding:16px 16px 18px!important;
  text-align:left!important;
}
body.ns-site .ns-profile-folio-service-card__body h3{
  margin:0!important;
  color:#172033!important;
  font-family:inherit!important;
  font-size:19px!important;
  line-height:1.16!important;
  letter-spacing:-.018em!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-folio-service-card__body h3 a{
  color:inherit!important;
  text-decoration:none!important;
}
body.ns-site .ns-profile-folio-service-card__body p{
  margin:0!important;
  color:#52667d!important;
  font-size:13px!important;
  line-height:1.45!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:56px!important;
}
body.ns-site .ns-profile-folio-service-card__button{
  width:100%!important;
  min-height:42px!important;
  margin-top:auto!important;
  padding:0 16px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  background:#eef4fb!important;
  border:1px solid #d5e4f4!important;
  color:#003366!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-profile-folio-service-card__button:hover{
  background:#003366!important;
  color:#fff!important;
}
body.ns-site .ns-profile-folio-service-grid[hidden],
body.ns-site .ns-profile-folio-service-grid[style*="display: none"],
body.ns-site .ns-profile-module-grid--folio-hidden[hidden],
body.ns-site .ns-profile-module-grid--folio-hidden[style*="display: none"]{
  display:none!important;
}
body.ns-site .ns-profile-folio-service-grid.ns-folio-panel-active{
  display:grid!important;
}

/* Страница просмотра/preview folio: сверху большое изображение на всю рабочую зону */
body.ns-site .ns-folio-view-v2434{
  padding:34px 0 78px!important;
  background:
    radial-gradient(circle at 10% 0%, rgba(184,134,11,.10), transparent 30%),
    linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
body.ns-site .ns-folio-view-v2434 .uk-container{
  max-width:1440px!important;
  width:min(1440px, calc(100% - 48px))!important;
}
body.ns-site .ns-folio-topbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-folio-back-profile{
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  color:#003366!important;
  text-decoration:none!important;
  font-weight:950!important;
  box-shadow:0 12px 28px rgba(18,34,61,.06)!important;
}
body.ns-site .ns-folio-back-profile:hover{
  background:#003366!important;
  color:#fff!important;
}
body.ns-site .ns-folio-wide-image{
  position:relative!important;
  width:100%!important;
  aspect-ratio:21/8!important;
  min-height:360px!important;
  max-height:560px!important;
  border-radius:34px!important;
  overflow:hidden!important;
  background:#dfe7ef!important;
  box-shadow:0 26px 70px rgba(18,34,61,.14)!important;
}
body.ns-site .ns-folio-wide-image a,
body.ns-site .ns-folio-wide-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
body.ns-site .ns-folio-wide-image img{
  object-fit:cover!important;
  object-position:center!important;
}
body.ns-site .ns-folio-wide-image:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,35,70,.35) 100%)!important;
  pointer-events:none!important;
}
body.ns-site .ns-folio-wide-image__label{
  position:absolute!important;
  left:22px!important;
  bottom:22px!important;
  z-index:2!important;
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.25)!important;
  color:#fff!important;
  backdrop-filter:blur(10px)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-thumbs{
  margin:12px 0 24px!important;
  padding:10px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.08)!important;
  box-shadow:0 14px 34px rgba(18,34,61,.06)!important;
}
body.ns-site .ns-folio-view-thumbs .uk-slider-items{
  gap:10px!important;
}
body.ns-site .ns-folio-view-thumbs li{
  width:120px!important;
  height:76px!important;
  margin-right:10px!important;
}
body.ns-site .ns-folio-view-thumbs a{
  display:block!important;
  width:120px!important;
  height:76px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  border:1px solid #dbe7f7!important;
  background:#eef4fb!important;
}
body.ns-site .ns-folio-view-thumbs img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.ns-site .ns-folio-view-two{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 380px!important;
  gap:24px!important;
  align-items:start!important;
}
body.ns-site .ns-folio-desc-card,
body.ns-site .ns-folio-booking-card{
  background:#fff!important;
  border:1px solid rgba(0,51,102,.09)!important;
  border-radius:30px!important;
  box-shadow:0 20px 54px rgba(18,34,61,.08)!important;
}
body.ns-site .ns-folio-desc-card{
  padding:28px!important;
}
body.ns-site .ns-folio-kicker--light{
  background:#fff7e6!important;
  border:1px solid #efe2c7!important;
  color:#8e6508!important;
}
body.ns-site .ns-folio-desc-card h1{
  margin:14px 0 12px!important;
  color:#172033!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(34px,4vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-meta--light{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-folio-view-meta--light span{
  min-height:36px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#34465d!important;
  font-size:13px!important;
  font-weight:850!important;
}
body.ns-site .ns-folio-view-text{
  color:#34465d!important;
  font-size:16px!important;
  line-height:1.75!important;
}
body.ns-site .ns-folio-booking-card{
  position:sticky!important;
  top:88px!important;
  padding:18px!important;
  display:grid!important;
  gap:14px!important;
}
body.ns-site .ns-folio-price-card-v2434{
  padding:18px!important;
  border-radius:22px!important;
  background:#003366!important;
  color:#fff!important;
}
body.ns-site .ns-folio-price-card-v2434 span{
  display:block!important;
  margin-bottom:6px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-price-card-v2434 strong{
  display:block!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:1.05!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-owner-mini{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:12px!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-folio-owner-mini img{
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
body.ns-site .ns-folio-owner-mini span{
  display:block!important;
  color:#7a8797!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-owner-mini a{
  display:block!important;
  color:#172033!important;
  font-weight:950!important;
  text-decoration:none!important;
}
body.ns-site .ns-folio-contact-card{
  padding:14px!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-folio-contact-card__head{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  margin-bottom:12px!important;
}
body.ns-site .ns-folio-contact-card__head>i{
  width:44px!important;
  height:44px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-folio-contact-card__head h3{
  margin:0!important;
  color:#172033!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-contact-card__head p{
  margin:3px 0 0!important;
  color:#7a8797!important;
  font-size:12px!important;
  line-height:1.35!important;
}
body.ns-site .ns-folio-contact-list{
  display:grid!important;
  gap:8px!important;
}
body.ns-site .ns-folio-contact-person{
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  padding:8px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-folio-contact-person>i{
  width:30px!important;
  height:30px!important;
  border-radius:11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef4fb!important;
  color:#003366!important;
}
body.ns-site .ns-folio-contact-person b{
  color:#172033!important;
  font-size:13px!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-protected-phone{
  grid-column:1 / -1!important;
  width:100%!important;
  min-height:36px!important;
  padding:7px 10px!important;
  border-radius:13px!important;
  display:grid!important;
  gap:3px!important;
  text-align:left!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  color:#172033!important;
  cursor:pointer!important;
}
body.ns-site .ns-folio-protected-phone em{
  color:#7a8797!important;
  font-style:normal!important;
  font-size:9px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-protected-phone strong{
  color:#172033!important;
  font-size:13px!important;
  line-height:1.1!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-pm,
body.ns-site .ns-folio-pm a,
body.ns-site .ns-folio-pm button{
  width:100%!important;
}
body.ns-site .ns-folio-pm a,
body.ns-site .ns-folio-pm button{
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
body.ns-site .ns-folio-contact-note{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  padding:12px!important;
  border-radius:16px!important;
  background:#fff7e6!important;
  border:1px solid #efe2c7!important;
  color:#8e6508!important;
  font-size:12px!important;
  line-height:1.5!important;
}
body.ns-site .ns-folio-related{
  margin-top:30px!important;
}

/* старую раскладку страницы folio отключаем для нового шаблона */
body.ns-site .ns-folio-view-v2434 .ns-folio-view-hero,
body.ns-site .ns-folio-view-v2434 .ns-folio-view-layout{
  display:none!important;
}

@media(max-width:1100px){
  body.ns-site .ns-folio-view-two{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-folio-booking-card{
    position:static!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-user-folio-v2434 .ns-profile-folio-service-grid,
  body.ns-site .ns-profile-module-grid.ns-profile-folio-service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-folio-wide-image{
    aspect-ratio:16/10!important;
    min-height:260px!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-profile-user-folio-v2434 .ns-profile-folio-service-grid,
  body.ns-site .ns-profile-module-grid.ns-profile-folio-service-grid{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-folio-view-v2434 .uk-container{
    width:min(100% - 28px, 1440px)!important;
  }
  body.ns-site .ns-folio-topbar{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body.ns-site .ns-folio-wide-image{
    border-radius:24px!important;
  }
}



/* ==========================================================
   FOLIO VIEW DETAIL TUNING v24.35
   ========================================================== */

/* Блок управления folio над описанием */
body.ns-site .ns-folio-view-v2435 .ns-folio-management{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin:18px 0!important;
  padding:18px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid rgba(0,51,102,.09)!important;
  box-shadow:0 16px 42px rgba(18,34,61,.07)!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-management span{
  display:block!important;
  color:#172033!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-management p{
  margin:4px 0 0!important;
  color:#7a8797!important;
  font-size:13px!important;
  line-height:1.45!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-management__buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  justify-content:flex-end!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-management__buttons .uk-button{
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-size:12px!important;
  font-weight:950!important;
}

/* Дата в правый нижний угол блока описания */
body.ns-site .ns-folio-view-v2435 .ns-folio-desc-card{
  position:relative!important;
  padding-bottom:64px!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-date-corner{
  position:absolute!important;
  right:22px!important;
  bottom:20px!important;
  min-height:34px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#7a8797!important;
  font-size:12px!important;
  font-weight:850!important;
}

/* Под стоимостью больше не выводится логин/мини блок владельца */
body.ns-site .ns-folio-view-v2435 .ns-folio-owner-mini{
  display:none!important;
}

/* Контакты folio + мессенджеры */
body.ns-site .ns-folio-view-v2435 .ns-folio-socials{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  gap:8px!important;
  margin-top:10px!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-socials a{
  width:40px!important;
  height:40px!important;
  border-radius:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f8fafc!important;
  border:1px solid #dbe7f7!important;
  color:#003366!important;
  text-decoration:none!important;
  transition:.18s ease!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-socials a:hover{
  background:#003366!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

/* Информация об объекте после описания */
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info{
  margin-top:28px!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(184,134,11,.08), transparent 32%),
    #f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info__image{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#dfe7ef!important;
  text-decoration:none!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info__image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info__body{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  justify-content:center!important;
  min-width:0!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info__label{
  width:max-content!important;
  max-width:100%!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  background:#fff7e6!important;
  border:1px solid #efe2c7!important;
  color:#8e6508!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info h2{
  margin:0!important;
  color:#172033!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(24px,2.5vw,34px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info h2 span{
  margin-right:6px!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info h2 b{
  font-weight:950!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-stars{
  display:inline-flex!important;
  gap:2px!important;
  margin-right:8px!important;
  color:#ffb31a!important;
  font-size:14px!important;
  vertical-align:middle!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-address,
body.ns-site .ns-folio-view-v2435 .ns-folio-object-near{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:36px!important;
  padding:8px 10px!important;
  border-radius:15px!important;
  background:#fff!important;
  border:1px solid #e5ebf3!important;
  color:#52667d!important;
  font-size:13px!important;
  line-height:1.35!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-address i,
body.ns-site .ns-folio-view-v2435 .ns-folio-object-near i{
  color:#003366!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-near b{
  margin-left:auto!important;
  color:#003366!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-link{
  width:max-content!important;
  max-width:100%!important;
  min-height:38px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  background:#003366!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:950!important;
}

/* Нижний блок других услуг */
body.ns-site .ns-folio-view-v2435 .ns-folio-related-section{
  margin-top:34px!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-related-head{
  margin-bottom:16px!important;
  text-align:left!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-related-head span{
  display:inline-flex!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  background:#fff7e6!important;
  border:1px solid #efe2c7!important;
  color:#8e6508!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-related-head h2{
  margin:10px 0 0!important;
  color:#172033!important;
  font-family:var(--font-heading,inherit)!important;
  font-size:clamp(30px,3.4vw,48px)!important;
  line-height:1.05!important;
  letter-spacing:-.045em!important;
  font-weight:950!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-related-cards{
  padding:0!important;
}

/* Увеличение/просмотр картинок: кликабельные зоны */
body.ns-site .ns-folio-view-v2435 .ns-folio-wide-image a,
body.ns-site .ns-folio-view-v2435 .ns-folio-view-thumbs a,
body.ns-site .ns-profile-folio-service-card__media a,
body.ns-site .ns-profile-folio-thumbs a{
  cursor:zoom-in!important;
}

/* Старые блоки folio-view не используются в новом варианте */
body.ns-site .ns-folio-view-v2435 .ns-folio-view-hero,
body.ns-site .ns-folio-view-v2435 .ns-folio-view-layout{
  display:none!important;
}

@media(max-width:1100px){
  body.ns-site .ns-folio-view-v2435 .ns-folio-object-info{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-folio-view-v2435 .ns-folio-object-info__image{
    max-width:100%!important;
  }
}
@media(max-width:720px){
  body.ns-site .ns-folio-view-v2435 .ns-folio-management{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body.ns-site .ns-folio-view-v2435 .ns-folio-management__buttons{
    justify-content:stretch!important;
  }
  body.ns-site .ns-folio-view-v2435 .ns-folio-management__buttons .uk-button{
    width:100%!important;
  }
  body.ns-site .ns-folio-view-v2435 .ns-folio-date-corner{
    position:static!important;
    margin-top:18px!important;
    width:max-content!important;
  }
  body.ns-site .ns-folio-view-v2435 .ns-folio-desc-card{
    padding-bottom:24px!important;
  }
}



/* ==========================================================
   FINAL USER RULES MAP SOCIALS FOLIO CARDS v24.36
   ========================================================== */

/* Пользователь: адрес под названием объекта + кнопка карты */
body.ns-site .ns-profile-object-address-line{
  margin:12px 0 0!important;
  padding:10px 12px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#52667d!important;
  font-size:14px!important;
  line-height:1.45!important;
}
body.ns-site .ns-profile-object-address-line>i{
  color:#1e87f0!important;
  font-size:16px!important;
}
body.ns-site .ns-profile-object-address-line span{
  flex:1 1 auto!important;
  min-width:220px!important;
}
body.ns-site .ns-profile-map-modal-btn{
  min-height:34px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  background:#003366!important;
  border:1px solid #003366!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  cursor:pointer!important;
}
body.ns-site .ns-profile-map-modal .uk-modal-dialog,
body.ns-site #ns-profile-map-modal .uk-modal-dialog{
  width:100vw!important;
  height:100vh!important;
  background:#fff!important;
}
body.ns-site .ns-profile-map-modal iframe,
body.ns-site #ns-profile-map-modal iframe{
  width:100%!important;
  height:100%!important;
  border:0!important;
  display:block!important;
}

/* Правила проживания: верхние 4 блока выровнять по центру, значения в одну строку */
body.ns-site .ns-profile-rules-grid{
  align-items:stretch!important;
}
body.ns-site .ns-profile-rules-grid>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:118px!important;
  padding:18px 14px!important;
}
body.ns-site .ns-profile-rules-grid>div i{
  margin:0 0 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
body.ns-site .ns-profile-rules-grid>div span{
  display:block!important;
  margin:0 0 8px!important;
  min-height:30px!important;
  color:#7a8797!important;
  font-size:12px!important;
  line-height:1.18!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-rules-grid>div b{
  display:block!important;
  width:100%!important;
  white-space:nowrap!important;
  color:#172033!important;
  font-size:20px!important;
  line-height:1.15!important;
  font-weight:950!important;
}

/* Текстовые правила — каждый блок по одной строке */
body.ns-site .ns-profile-rules-text{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
body.ns-site .ns-profile-rules-text article{
  grid-column:1 / -1!important;
  width:100%!important;
  min-height:96px!important;
  padding:20px!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
}
body.ns-site .ns-profile-rules-text article h3{
  margin:0 0 8px!important;
  color:#172033!important;
  font-size:17px!important;
  line-height:1.2!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-rules-text article p{
  margin:0!important;
  color:#52667d!important;
  font-size:15px!important;
  line-height:1.65!important;
}

/* Соцсети: SOC_TEL = Telegram, SOC_MAX = MAX ссылка с иконкой WhatsApp по просьбе */
body.ns-site .ns-profile-socials a[data-social-platform="telegram"],
body.ns-site .ns-folio-socials a[data-social-platform="telegram"]{
  color:#1e87f0!important;
}
body.ns-site .ns-profile-socials a[data-social-platform="max"] i,
body.ns-site .ns-folio-socials a[data-social-platform="max"] i{
  font-family:"Font Awesome 5 Brands"!important;
}

/* Folio: другие услуги внизу страницы — как карточки в users.details */
body.ns-site .ns-folio-related-grid,
body.ns-site .ns-folio-related-cards .ns-folio-related-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
body.ns-site .ns-folio-related-grid .ns-profile-folio-service-card{
  min-height:100%!important;
}
body.ns-site .ns-folio-related-grid .ns-profile-folio-service-card__media{
  aspect-ratio:16/9!important;
}
body.ns-site .ns-folio-related-grid .ns-profile-folio-service-card__body h3{
  font-size:19px!important;
  line-height:1.16!important;
}
body.ns-site .ns-folio-related-grid .ns-profile-folio-service-card__body p{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body.ns-site .ns-folio-related-grid .ns-profile-folio-service-card__button{
  width:100%!important;
}

/* Главное изображение услуги в карточке ведёт на страницу услуги — курсор обычной ссылки */
body.ns-site .ns-profile-folio-service-card__media .ns-profile-folio-main-image{
  cursor:pointer!important;
}

@media(max-width:959px){
  body.ns-site .ns-folio-related-grid,
  body.ns-site .ns-folio-related-cards .ns-folio-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ns-site .ns-profile-rules-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-folio-related-grid,
  body.ns-site .ns-folio-related-cards .ns-folio-related-grid{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-object-address-line{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  body.ns-site .ns-profile-map-modal-btn{
    width:100%!important;
  }
  body.ns-site .ns-profile-rules-grid{
    grid-template-columns:1fr!important;
  }
}



/* ==========================================================
   PROFILE FOLIO FAQ REVIEWS MODALS FINAL v24.37
   ========================================================== */

/* Общая сетка страницы пользователя: ровные колонки без "ступенек" */
body.ns-site .ns-profile-page--compact .ns-profile-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 360px!important;
  gap:28px!important;
  align-items:start!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-content,
body.ns-site .ns-profile-page--compact .ns-profile-sidebar{
  align-self:start!important;
}

/* Описание объекта — отдельный блок как Территория/Питание/Инфраструктура */
body.ns-site .ns-profile-description-card{
  margin:18px 0 0!important;
  padding:20px!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:start!important;
  border-radius:22px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#52667d!important;
  font-size:15px!important;
  line-height:1.65!important;
}
body.ns-site .ns-profile-description-card>i{
  width:48px!important;
  height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:16px!important;
  background:#eef4fb!important;
  color:#003366!important;
  font-size:18px!important;
}
body.ns-site .ns-profile-description-card h3{
  margin:0 0 8px!important;
  color:#172033!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-description-card p{
  margin:0!important;
}

/* FAQ: убрать служебные label/префиксы визуально, аккуратные вопросы */
body.ns-site #faq .ns-profile-section-kicker{
  display:none!important;
}
body.ns-site .ns-profile-faq{
  display:grid!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.ns-site .ns-profile-faq>li{
  margin:0!important;
  padding:0!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  box-shadow:0 14px 34px rgba(18,34,61,.06)!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-faq .uk-accordion-title{
  min-height:58px!important;
  padding:16px 58px 16px 18px!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  color:#172033!important;
  font-size:16px!important;
  line-height:1.35!important;
  font-weight:950!important;
  text-align:left!important;
}
body.ns-site .ns-profile-faq .uk-accordion-title span{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}
body.ns-site .ns-profile-faq .uk-accordion-title:before{
  display:none!important;
  content:none!important;
}
body.ns-site .ns-profile-faq .uk-accordion-title:after{
  content:"\f107"!important;
  font-family:"Font Awesome 5 Free"!important;
  font-weight:900!important;
  position:absolute!important;
  right:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:32px!important;
  height:32px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#003366!important;
  color:#fff!important;
  font-size:14px!important;
}
body.ns-site .ns-profile-faq .uk-open .uk-accordion-title:after{
  content:"\f106"!important;
}
body.ns-site .ns-profile-faq .uk-accordion-content{
  margin:0!important;
  padding:0 18px 18px!important;
}
body.ns-site .ns-profile-faq .uk-accordion-content p{
  margin:0!important;
  padding:16px!important;
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#52667d!important;
  font-size:14px!important;
  line-height:1.65!important;
}

/* Отзывы — премиальные карточки */
body.ns-site .ns-profile-reviews{
  padding:26px!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 100% 0%, rgba(184,134,11,.07), transparent 34%),
    #fff!important;
}
body.ns-site .ns-profile-reviews [class*="review"],
body.ns-site .ns-profile-reviews [class*="comment"],
body.ns-site .ns-profile-reviews [class*="otziv"],
body.ns-site #tab_reviews [class*="review"],
body.ns-site #tab_reviews [class*="comment"],
body.ns-site #tab_reviews [class*="otziv"]{
  border-left:0!important;
  background:#fff!important;
  border:1px solid #e5ebf3!important;
  border-radius:24px!important;
  box-shadow:0 18px 42px rgba(18,34,61,.07)!important;
}
body.ns-site .ns-profile-reviews [class*="review"]:hover,
body.ns-site .ns-profile-reviews [class*="comment"]:hover,
body.ns-site .ns-profile-reviews [class*="otziv"]:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 24px 54px rgba(18,34,61,.10)!important;
}
body.ns-site .ns-profile-reviews img,
body.ns-site #tab_reviews img{
  border-radius:50%!important;
  object-fit:cover!important;
  box-shadow:0 8px 22px rgba(18,34,61,.12)!important;
}
body.ns-site .ns-profile-reviews:before,
body.ns-site .ns-profile-reviews [class*="review"]:before,
body.ns-site .ns-profile-reviews [class*="otziv"]:before,
body.ns-site .ns-profile-reviews [class*="comment"]:before{
  display:none!important;
  content:none!important;
}

/* Модальное окно карты: не на весь экран, половина/рабочая зона */
body.ns-site .ns-profile-map-modal .uk-modal-dialog,
body.ns-site .ns-profile-map-modal__dialog{
  width:min(980px, calc(100vw - 48px))!important;
  max-width:min(980px, calc(100vw - 48px))!important;
  height:min(620px, calc(100vh - 90px))!important;
  margin:45px auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 30px 80px rgba(18,34,61,.25)!important;
}
body.ns-site .ns-profile-map-modal__head{
  height:82px!important;
  padding:16px 58px 16px 18px!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  border-bottom:1px solid #e5ebf3!important;
  background:#fff!important;
}
body.ns-site .ns-profile-map-modal__head>i{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#003366!important;
  background:#eef4fb!important;
}
body.ns-site .ns-profile-map-modal__head h3{
  margin:0!important;
  color:#172033!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:950!important;
}
body.ns-site .ns-profile-map-modal__head p{
  margin:4px 0 0!important;
  color:#52667d!important;
  font-size:13px!important;
  line-height:1.35!important;
}
body.ns-site .ns-profile-map-modal__body{
  height:calc(100% - 82px)!important;
  position:relative!important;
}
body.ns-site .ns-profile-map-modal__body iframe,
body.ns-site .ns-profile-map-modal__clone,
body.ns-site .ns-profile-map-modal__clone>*{
  width:100%!important;
  height:100%!important;
  border:0!important;
}
body.ns-site .ns-profile-map-modal .uk-close,
body.ns-site .ns-profile-map-modal .uk-modal-close-default{
  top:18px!important;
  right:18px!important;
}

/* Правила: блоки и склонения выглядят ровно */
body.ns-site .ns-profile-rules-grid>div b{
  white-space:nowrap!important;
}
body.ns-site .ns-profile-rules-grid>div span{
  min-height:32px!important;
}

/* Folio: модальное окно карточки услуги */
body.ns-site .ns-folio-card-modal__dialog{
  width:min(1120px, calc(100vw - 48px))!important;
  height:min(720px, calc(100vh - 70px))!important;
  margin:35px auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 30px 80px rgba(18,34,61,.28)!important;
}
body.ns-site .ns-folio-card-modal__dialog iframe{
  width:100%!important;
  height:100%!important;
  border:0!important;
  display:block!important;
}

/* Folio: кастомное модальное окно просмотра изображений */
body.ns-site .ns-folio-image-modal__dialog{
  width:min(1180px, calc(100vw - 48px))!important;
  max-width:min(1180px, calc(100vw - 48px))!important;
  height:min(760px, calc(100vh - 70px))!important;
  margin:35px auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#111827!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:0 30px 80px rgba(0,0,0,.36)!important;
}
body.ns-site .ns-folio-image-modal__dialog img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
body.ns-site .ns-folio-image-modal .uk-close,
body.ns-site .ns-folio-image-modal .uk-modal-close-default{
  color:#fff!important;
  background:rgba(255,255,255,.16)!important;
  border-radius:50%!important;
}

/* Folio view: описание без служебного label */
body.ns-site .ns-folio-view-v2435 .ns-folio-kicker--light{
  display:none!important;
}

/* Folio view: левая колонка — описание + отдельный блок объекта */
body.ns-site .ns-folio-view-v2435 .ns-folio-left-column{
  display:grid!important;
  gap:18px!important;
  min-width:0!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info{
  margin-top:0!important;
  padding:12px!important;
  grid-template-columns:minmax(180px,25%) minmax(0,1fr)!important;
  gap:14px!important;
  align-items:center!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #e5ebf3!important;
  box-shadow:0 18px 42px rgba(18,34,61,.07)!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info__image{
  aspect-ratio:16/9!important;
  min-height:0!important;
  max-height:190px!important;
  border-radius:18px!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-info h2{
  font-size:clamp(21px,2vw,30px)!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-object-address,
body.ns-site .ns-folio-view-v2435 .ns-folio-object-near{
  min-height:34px!important;
  padding:7px 10px!important;
}

/* Folio contacts: расстояние между кнопкой сообщения, соцсетями и предупреждением */
body.ns-site .ns-folio-view-v2435 .ns-folio-pm{
  margin-top:14px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-socials{
  margin-top:4px!important;
  margin-bottom:18px!important;
}
body.ns-site .ns-folio-view-v2435 .ns-folio-contact-note{
  margin-top:8px!important;
}

/* Другие услуги: ровная сетка карточек */
body.ns-site .ns-folio-related-grid,
body.ns-site .ns-folio-related-cards .ns-folio-related-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
body.ns-site .ns-folio-related-grid .ns-profile-folio-service-card,
body.ns-site .ns-profile-folio-service-grid .ns-profile-folio-service-card{
  height:100%!important;
}
body.ns-site .ns-profile-folio-service-card__body{
  min-height:190px!important;
}
body.ns-site .ns-profile-folio-service-card__body p{
  min-height:58px!important;
}
body.ns-site .ns-profile-folio-main-image{
  cursor:pointer!important;
}

@media(max-width:1100px){
  body.ns-site .ns-folio-view-v2435 .ns-folio-object-info{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-folio-view-v2435 .ns-folio-object-info__image{
    width:100%!important;
    max-height:none!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-page--compact .ns-profile-layout{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-rules-grid,
  body.ns-site .ns-folio-related-grid,
  body.ns-site .ns-folio-related-cards .ns-folio-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-profile-description-card{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-rules-grid,
  body.ns-site .ns-folio-related-grid,
  body.ns-site .ns-folio-related-cards .ns-folio-related-grid{
    grid-template-columns:1fr!important;
  }
  body.ns-site .ns-profile-map-modal .uk-modal-dialog,
  body.ns-site .ns-profile-map-modal__dialog,
  body.ns-site .ns-folio-card-modal__dialog,
  body.ns-site .ns-folio-image-modal__dialog{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    margin:12px auto!important;
    height:calc(100vh - 24px)!important;
    border-radius:22px!important;
  }
}



/* Review blockquote cleanup v24.37 */
body.ns-site .ns-profile-reviews blockquote,
body.ns-site #tab_reviews blockquote{
  margin:0!important;
  padding:18px!important;
  border-left:0!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#34465d!important;
}
body.ns-site .ns-profile-reviews blockquote:before,
body.ns-site .ns-profile-reviews blockquote:after,
body.ns-site #tab_reviews blockquote:before,
body.ns-site #tab_reviews blockquote:after{
  display:none!important;
  content:none!important;
}



/* ==========================================================
   PROFILE/FOLIO LAYOUT FINAL TUNE v24.38
   ========================================================== */

/* 1. Модальные окна: высота всегда внутри экрана */
body.ns-site .ns-folio-card-modal__dialog{
  width:min(1120px, calc(100vw - 48px))!important;
  height:auto!important;
  max-height:calc(100vh - 56px)!important;
  margin:28px auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
body.ns-site .ns-folio-card-modal__dialog iframe{
  width:100%!important;
  height:calc(100vh - 56px)!important;
  max-height:calc(100vh - 56px)!important;
  border:0!important;
  display:block!important;
}
body.ns-site .ns-profile-map-modal__dialog{
  height:auto!important;
  max-height:calc(100vh - 56px)!important;
  margin:28px auto!important;
}
body.ns-site .ns-profile-map-modal__body{
  height:min(520px, calc(100vh - 150px))!important;
  max-height:calc(100vh - 150px)!important;
}
body.ns-site .ns-folio-image-modal__dialog{
  height:auto!important;
  max-height:calc(100vh - 56px)!important;
  margin:28px auto!important;
}
body.ns-site .ns-folio-image-modal__dialog img{
  max-height:calc(100vh - 56px)!important;
}

/* 2. Folio на странице пользователя снова ведёт на полноценную страницу услуги */
body.ns-site .ns-profile-folio-output .ns-profile-folio-main-image,
body.ns-site .ns-profile-folio-output .ns-profile-folio-service-card__body h3 a,
body.ns-site .ns-profile-folio-output .ns-profile-folio-service-card__button{
  cursor:pointer!important;
}

/* 3. Выравнивание рабочей сетки страницы пользователя */
body.ns-site .ns-profile-page--compact .ns-profile-main,
body.ns-site .ns-profile-page--compact .uk-container-large.ns-profile-main{
  width:min(1320px, calc(100vw - 80px))!important;
  max-width:min(1320px, calc(100vw - 80px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-layout{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:28px!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed){
  width:min(1320px, calc(100vw - 80px))!important;
  max-width:min(1320px, calc(100vw - 80px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
  width:min(1320px, calc(100vw - 80px))!important;
  max-width:min(1320px, calc(100vw - 80px))!important;
  left:50%!important;
  transform:translateX(-50%)!important;
}
body.ns-site .ns-profile-page--compact .ns-profile-content,
body.ns-site .ns-profile-page--compact .ns-profile-sidebar{
  min-width:0!important;
}

/* 4. Большие информационные блоки — мягкая премиальная подсветка */
body.ns-site .ns-profile-card,
body.ns-site .ns-profile-side-card,
body.ns-site #faq.ns-profile-card,
body.ns-site #amenities.ns-profile-card,
body.ns-site #rules.ns-profile-card{
  background:
    radial-gradient(circle at 100% 0%, rgba(184,134,11,.095), transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
}
body.ns-site .ns-profile-section-head h2{
  position:relative!important;
  display:inline-block!important;
}
body.ns-site .ns-profile-section-head h2:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:12%!important;
  bottom:5px!important;
  height:10px!important;
  border-radius:999px!important;
  background:rgba(184,134,11,.14)!important;
  z-index:-1!important;
}

/* 5. Услуги и удобства: разные варианты визуального выделения элементов */
body.ns-site .ns-profile-amenities-grid span{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
body.ns-site .ns-amenity-chip{
  min-height:30px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  background:#fff!important;
  border:1px solid #dbe7f7!important;
  color:#34465d!important;
  font-size:13px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:750!important;
}
body.ns-site .ns-amenity-chip i{
  font-size:11px!important;
}
body.ns-site .ns-amenity-chip--0 i{color:#16a34a!important;}
body.ns-site .ns-amenity-chip--1 i{color:#f59e0b!important;}
body.ns-site .ns-amenity-chip--2 i{color:#0f766e!important;}
body.ns-site .ns-amenity-chip--3 i{color:#003366!important;}
body.ns-site .ns-amenity-chip--4 i{color:#b8860b!important;}
body.ns-site .ns-profile-amenities-grid>div{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
body.ns-site .ns-profile-amenities-grid>div:nth-child(5n+1){
  border-left:4px solid #16a34a!important;
}
body.ns-site .ns-profile-amenities-grid>div:nth-child(5n+2){
  border-left:4px solid #f59e0b!important;
}
body.ns-site .ns-profile-amenities-grid>div:nth-child(5n+3){
  border-left:4px solid #0ea5e9!important;
}
body.ns-site .ns-profile-amenities-grid>div:nth-child(5n+4){
  border-left:4px solid #8b5cf6!important;
}
body.ns-site .ns-profile-amenities-grid>div:nth-child(5n+5){
  border-left:4px solid #b8860b!important;
}
body.ns-site .ns-profile-amenities-grid>div:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 38px rgba(18,34,61,.09)!important;
}

/* 6. Folio-карточки: не растягивать и не оставлять ступенчатость */
body.ns-site .ns-profile-folio-service-grid,
body.ns-site .ns-folio-related-grid{
  align-items:stretch!important;
}
body.ns-site .ns-profile-folio-service-card{
  height:100%!important;
}
body.ns-site .ns-profile-folio-service-card__body{
  min-height:190px!important;
  display:flex!important;
  flex-direction:column!important;
}
body.ns-site .ns-profile-folio-service-card__button{
  margin-top:auto!important;
}

/* 7. Мобильная адаптация */
@media(max-width:1180px){
  body.ns-site .ns-profile-page--compact .ns-profile-main,
  body.ns-site .ns-profile-page--compact .uk-container-large.ns-profile-main,
  body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed),
  body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
    width:min(100vw - 40px, 1320px)!important;
    max-width:min(100vw - 40px, 1320px)!important;
  }
}
@media(max-width:959px){
  body.ns-site .ns-profile-page--compact .ns-profile-layout{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:639px){
  body.ns-site .ns-profile-page--compact .ns-profile-main,
  body.ns-site .ns-profile-page--compact .uk-container-large.ns-profile-main,
  body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap:not(.is-fixed),
  body.ns-site .ns-profile-page--compact .ns-profile-nav-wrap.is-fixed{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
  }
  body.ns-site .ns-profile-section-head h2:after{
    bottom:2px!important;
  }
}



/* ==========================================================
   MAP CHIPS LISTPOINTS FIX v24.39
   ========================================================== */

/* Карта в модальном окне — на всю область, без маленького элемента в углу */
body.ns-site .ns-profile-map-modal__dialog{
  width:min(980px, calc(100vw - 48px))!important;
  height:min(620px, calc(100vh - 56px))!important;
  max-height:calc(100vh - 56px)!important;
}
body.ns-site .ns-profile-map-modal__body{
  position:relative!important;
  height:calc(100% - 82px)!important;
  min-height:360px!important;
  overflow:hidden!important;
}
body.ns-site .ns-profile-map-modal__body iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  border:0!important;
  display:block!important;
}
body.ns-site .ns-profile-map-modal__clone{
  display:none!important;
}

/* Элементы удобств — как отдельные pill-чипы с зелёной галочкой */
body.ns-site .ns-profile-amenities-grid span{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
body.ns-site .ns-amenity-chip{
  min-height:31px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  background:#f7fff9!important;
  border:1px solid #bfe7c8!important;
  color:#244331!important;
  font-size:13px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:850!important;
}
body.ns-site .ns-amenity-chip i{
  width:17px!important;
  height:17px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#16a34a!important;
  color:#fff!important;
  font-size:9px!important;
}

/* Блоки удобств — разные цветные обводки для визуального теста */
body.ns-site .ns-profile-amenities-grid>div{
  position:relative!important;
  border-left-width:5px!important;
  border-left-style:solid!important;
  box-shadow:0 14px 34px rgba(18,34,61,.06)!important;
}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+1){border-left-color:#16a34a!important;}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+2){border-left-color:#8b5cf6!important;}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+3){border-left-color:#0ea5e9!important;}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+4){border-left-color:#f59e0b!important;}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+5){border-left-color:#ef4444!important;}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+6){border-left-color:#14b8a6!important;}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+7){border-left-color:#6366f1!important;}
body.ns-site .ns-profile-amenities-grid>div:nth-child(8n+8){border-left-color:#b8860b!important;}

/* Страница listpoints */
.ns-listpoints-page-v2439{
  padding:42px 0 76px!important;
  background:linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
.ns-listpoints-page-v2439 .uk-container{
  max-width:1180px!important;
}
.ns-listpoints-hero-v2439{
  margin-bottom:24px!important;
  padding:32px!important;
  border-radius:32px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 90% 20%, rgba(255,255,255,.16), transparent 28%),
    linear-gradient(135deg,#003366,#0b578f)!important;
  box-shadow:0 24px 68px rgba(18,34,61,.16)!important;
}
.ns-listpoints-hero-v2439 span{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:32px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.16)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
.ns-listpoints-hero-v2439 h1{
  margin:16px 0 8px!important;
  color:#fff!important;
  font-size:clamp(38px,5vw,64px)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  font-weight:950!important;
}
.ns-listpoints-hero-v2439 p{
  margin:0!important;
  color:rgba(255,255,255,.80)!important;
  font-size:15px!important;
  line-height:1.65!important;
}
.ns-listpoints-card-v2439{
  padding:22px!important;
  border-radius:30px!important;
  background:#fff!important;
  border:1px solid #e5ebf3!important;
  box-shadow:0 22px 60px rgba(18,34,61,.09)!important;
}
.ns-listpoints-table-wrap-v2439{
  width:100%!important;
  overflow:auto!important;
}
.ns-listpoints-table-v2439{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0 10px!important;
}
.ns-listpoints-table-v2439 thead th{
  padding:12px 14px!important;
  color:#7a8797!important;
  background:#f4f8fc!important;
  border:0!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:950!important;
}
.ns-listpoints-table-v2439 tbody tr{
  background:#fff!important;
  box-shadow:0 10px 26px rgba(18,34,61,.06), inset 0 0 0 1px #e5ebf3!important;
}
.ns-listpoints-table-v2439 tbody td{
  padding:14px!important;
  border:0!important;
  color:#172033!important;
  font-size:14px!important;
  vertical-align:middle!important;
}
.ns-listpoints-table-v2439 tbody td:first-child{
  border-radius:16px 0 0 16px!important;
  color:#7a8797!important;
  font-weight:950!important;
}
.ns-listpoints-table-v2439 tbody td:last-child{
  border-radius:0 16px 16px 0!important;
}
.ns-listpoints-table-v2439 strong{
  color:#003366!important;
  font-weight:950!important;
}
.ns-listpoints-native-output-v2439{
  margin-top:10px!important;
}
.ns-listpoints-empty-v2439{
  display:none;
  padding:18px!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  border:1px solid #e5ebf3!important;
  color:#52667d!important;
  font-weight:850!important;
}



/* ==========================================================
   PLACEMARKS MAP MODAL FIX v24.40
   ========================================================== */

/* Модальное окно карты использует карту Placemarks с меткой, а не маленький скрин/виджет */
body.ns-site .ns-profile-map-modal__dialog{
  width:min(980px, calc(100vw - 48px))!important;
  height:min(620px, calc(100vh - 56px))!important;
  max-height:calc(100vh - 56px)!important;
  margin:28px auto!important;
}
body.ns-site .ns-profile-map-modal__body{
  position:relative!important;
  height:calc(100% - 82px)!important;
  min-height:360px!important;
  overflow:hidden!important;
  background:#eef3f8!important;
}
body.ns-site .ns-profile-map-modal__body iframe,
body.ns-site .ns-profile-map-modal__clone{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  border:0!important;
}
body.ns-site .ns-profile-map-modal__clone{
  display:none;
  overflow:hidden!important;
  background:#eef3f8!important;
}
body.ns-site .ns-profile-map.is-modal-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#eef3f8!important;
}
body.ns-site .ns-profile-map.is-modal-map > div,
body.ns-site .ns-profile-map.is-modal-map iframe,
body.ns-site .ns-profile-map.is-modal-map .ymaps,
body.ns-site .ns-profile-map.is-modal-map ymaps,
body.ns-site .ns-profile-map.is-modal-map [class*="ymaps"],
body.ns-site .ns-profile-map-modal__clone .ymaps,
body.ns-site .ns-profile-map-modal__clone ymaps,
body.ns-site .ns-profile-map-modal__clone [class*="ymaps"]{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
body.ns-site .ns-profile-map.is-modal-map [class*="controls"],
body.ns-site .ns-profile-map.is-modal-map [class*="copyright"],
body.ns-site .ns-profile-map.is-modal-map [class*="gototech"]{
  max-height:none!important;
}

/* Когда карта Placemarks временно перенесена в modal, в боковом блоке не остаётся пустых отступов */
body.ns-site .ns-profile-location-card .ns-profile-map[data-map-in-modal="1"]{
  min-height:0!important;
}



/* ==========================================================
   PLACEMARKS MODAL + LISTPOINTS HISTORY FINAL v24.41
   ========================================================== */

/* В modal сначала выводится отдельная карта Placemarks с меткой, fallback — Яндекс по адресу */
body.ns-site .ns-profile-map-modal__placemarks{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:none;
  overflow:hidden!important;
  background:#eef3f8!important;
}
body.ns-site .ns-profile-map-modal__placemarks.is-active{
  display:block!important;
}
body.ns-site .ns-profile-map-modal__placemarks > div,
body.ns-site .ns-profile-map-modal__placemarks iframe,
body.ns-site .ns-profile-map-modal__placemarks .ymaps,
body.ns-site .ns-profile-map-modal__placemarks ymaps,
body.ns-site .ns-profile-map-modal__placemarks [class*="ymaps"],
body.ns-site .ns-profile-map-modal__placemarks canvas{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
body.ns-site .ns-profile-map-modal__body iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  display:none;
}
body.ns-site .ns-profile-map-modal__fallback-note{
  position:absolute!important;
  left:18px!important;
  bottom:18px!important;
  z-index:5!important;
  min-height:36px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  display:none;
  align-items:center!important;
  gap:8px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid #dbe7f7!important;
  color:#52667d!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:0 10px 26px rgba(18,34,61,.12)!important;
}

/* Удобства: серый фон блока, только зелёные галочки возле элементов */
body.ns-site .ns-profile-amenities-grid>div{
  background:#f8fafc!important;
}
body.ns-site .ns-amenity-chip{
  padding:0!important;
  min-height:24px!important;
  background:transparent!important;
  border:0!important;
  color:#34465d!important;
  font-size:14px!important;
  font-style:normal!important;
  font-weight:750!important;
}
body.ns-site .ns-amenity-chip i{
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#16a34a!important;
  color:#fff!important;
  font-size:10px!important;
}

/* Listpoints v24.41 */
.ns-listpoints-page-v2441{
  padding:42px 0 76px!important;
  background:linear-gradient(180deg,#fbfaf7 0%,#f4f7fa 100%)!important;
}
.ns-listpoints-page-v2441 .uk-container{max-width:1180px!important;}
.ns-listpoints-hero-v2441{
  margin-bottom:24px!important;
  padding:32px!important;
  border-radius:32px!important;
  color:#fff!important;
  background:radial-gradient(circle at 90% 20%, rgba(255,255,255,.16), transparent 28%), linear-gradient(135deg,#003366,#0b578f)!important;
  box-shadow:0 24px 68px rgba(18,34,61,.16)!important;
}
.ns-listpoints-hero-v2441 span{
  display:inline-flex!important; align-items:center!important; gap:9px!important; min-height:32px!important; padding:0 12px!important; border-radius:999px!important;
  background:rgba(255,255,255,.16)!important; border:1px solid rgba(255,255,255,.22)!important; font-size:11px!important; text-transform:uppercase!important; letter-spacing:.08em!important; font-weight:950!important;
}
.ns-listpoints-hero-v2441 h1{
  margin:16px 0 8px!important; color:#fff!important; font-size:clamp(38px,5vw,64px)!important; line-height:1!important; letter-spacing:-.05em!important; font-weight:950!important;
}
.ns-listpoints-hero-v2441 p{margin:0!important; color:rgba(255,255,255,.80)!important; font-size:15px!important; line-height:1.65!important;}
.ns-listpoints-card-v2441{padding:22px!important; border-radius:30px!important; background:#fff!important; border:1px solid #e5ebf3!important; box-shadow:0 22px 60px rgba(18,34,61,.09)!important;}
.ns-listpoints-table-wrap-v2441{width:100%!important; overflow:auto!important;}
.ns-listpoints-table-v2441{width:100%!important; border-collapse:separate!important; border-spacing:0 10px!important;}
.ns-listpoints-table-v2441 thead th{
  padding:12px 14px!important; color:#7a8797!important; background:#f4f8fc!important; border:0!important; font-size:12px!important; text-transform:uppercase!important; letter-spacing:.08em!important; font-weight:950!important;
}
.ns-listpoints-table-v2441 tbody tr{background:#fff!important; box-shadow:0 10px 26px rgba(18,34,61,.06), inset 0 0 0 1px #e5ebf3!important;}
.ns-listpoints-table-v2441 tbody td{padding:14px!important; border:0!important; color:#172033!important; font-size:14px!important; vertical-align:middle!important;}
.ns-listpoints-table-v2441 tbody td:first-child{border-radius:16px 0 0 16px!important; color:#7a8797!important; font-weight:950!important;}
.ns-listpoints-table-v2441 tbody td:last-child{border-radius:0 16px 16px 0!important;}
.ns-listpoints-table-v2441 strong{color:#003366!important; font-weight:950!important;}
.ns-listpoints-native-output-v2441{margin-top:10px!important;}
.ns-listpoints-empty-v2441{display:none; padding:18px!important; border-radius:18px!important; background:#f8fafc!important; border:1px solid #e5ebf3!important; color:#52667d!important; font-weight:850!important;}



/* ==========================================================
   MOVE EXISTING PLACEMARKS MAP INTO MODAL v24.42
   ========================================================== */

/* Модальное окно теперь переносит уже отрисованную карту из блока "Расположение" */
body.ns-site .ns-profile-map-modal__clone{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  display:none;
  overflow:hidden!important;
  background:#eef3f8!important;
}

body.ns-site .ns-profile-map-modal__clone .ns-profile-map,
body.ns-site .ns-profile-map.is-modal-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#eef3f8!important;
}

body.ns-site .ns-profile-map.is-modal-map *,
body.ns-site .ns-profile-map-modal__clone *,
body.ns-site .ns-profile-map-modal__placemarks *,
body.ns-site .ns-profile-map-modal__body iframe{
  box-sizing:border-box!important;
}

body.ns-site .ns-profile-map.is-modal-map > div,
body.ns-site .ns-profile-map.is-modal-map iframe,
body.ns-site .ns-profile-map.is-modal-map .ymaps,
body.ns-site .ns-profile-map.is-modal-map ymaps,
body.ns-site .ns-profile-map.is-modal-map [class*="ymaps"],
body.ns-site .ns-profile-map.is-modal-map [id*="ymaps"],
body.ns-site .ns-profile-map.is-modal-map canvas,
body.ns-site .ns-profile-map-modal__clone > div,
body.ns-site .ns-profile-map-modal__clone iframe,
body.ns-site .ns-profile-map-modal__clone .ymaps,
body.ns-site .ns-profile-map-modal__clone ymaps,
body.ns-site .ns-profile-map-modal__clone [class*="ymaps"],
body.ns-site .ns-profile-map-modal__clone [id*="ymaps"],
body.ns-site .ns-profile-map-modal__clone canvas{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
}

body.ns-site .ns-profile-map-modal__fallback-note{
  z-index:20!important;
}



/* ==========================================================
   SINGLE EXISTING PLACEMARKS MAP MODAL FIX v24.43
   ========================================================== */

/* Убираем второй вывод Placemarks в модалке. В модальное окно переносится единственная карта из бокового блока. */
body.ns-site .ns-profile-map-modal__placemarks{
  display:none!important;
}

body.ns-site .ns-profile-map-modal__clone{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:#eef3f8!important;
}

body.ns-site .ns-profile-map-modal__clone:not(.is-active){
  display:none!important;
}

body.ns-site .ns-profile-map-modal__clone.is-active{
  display:block!important;
}

body.ns-site .ns-profile-map-modal__body iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
}

body.ns-site .ns-profile-map-modal__body iframe[style*="display: none"]{
  display:none!important;
}

body.ns-site .ns-profile-map.is-modal-map{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
  background:#eef3f8!important;
}

body.ns-site .ns-profile-map.is-modal-map > *,
body.ns-site .ns-profile-map.is-modal-map .ymaps,
body.ns-site .ns-profile-map.is-modal-map ymaps,
body.ns-site .ns-profile-map.is-modal-map [class*="ymaps"],
body.ns-site .ns-profile-map.is-modal-map [id*="ymaps"],
body.ns-site .ns-profile-map.is-modal-map canvas,
body.ns-site .ns-profile-map.is-modal-map iframe{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
}

body.ns-site .ns-profile-map-return-placeholder{
  min-height:220px!important;
  border-radius:22px!important;
  background:#f8fafc!important;
  border:1px solid #dbe7f7!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  color:#52667d!important;
  font-weight:850!important;
}

body.ns-site .ns-profile-map-return-placeholder i{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#eef4fb!important;
  color:#003366!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}



/* ==========================================================
   MAP IFRAME + USER NAV + LISTPOINTS + OBJECTS FINAL v24.44
   ========================================================== */

/* Карта: больше не переносим DOM-карту и не выводим второй Placemarks; modal показывает iframe по src/координатам/адресу */
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__body{
  position:relative!important;
  height:calc(100% - 82px)!important;
  min-height:420px!important;
  overflow:hidden!important;
  background:#eef3f8!important;
}
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__body iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  border:0!important;
  display:block!important;
  background:#eef3f8!important;
  z-index:2!important;
}
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__clone,
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__placemarks{
  display:none!important;
}
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__fallback-note{
  position:absolute!important;
  left:18px!important;
  bottom:18px!important;
  z-index:5!important;
  min-height:36px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  display:none!important;
  align-items:center!important;
  gap:8px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid #dbe7f7!important;
  color:#52667d!important;
  font-size:12px!important;
  font-weight:850!important;
  box-shadow:0 10px 26px rgba(18,34,61,.12)!important;
}

/* Пользовательское меню: убрать грубую серую рамку, сделать легче */
body.ns-site .ns-profile-nav-wrap{
  border:0!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 18px 42px rgba(18,34,61,.10)!important;
  backdrop-filter:saturate(180%) blur(14px)!important;
}
body.ns-site .ns-profile-nav-wrap:before,
body.ns-site .ns-profile-nav-wrap:after{
  display:none!important;
  content:none!important;
}
body.ns-site .ns-profile-nav{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.ns-site .ns-profile-nav a{
  border:1px solid #dbe7f7!important;
  background:#f8fafc!important;
  box-shadow:0 4px 12px rgba(18,34,61,.04)!important;
}
body.ns-site .ns-profile-nav a:hover,
body.ns-site .ns-profile-nav a.is-active{
  background:#003366!important;
  border-color:#003366!important;
  color:#fff!important;
}

/* Верхний пункт Объекты */
body.ns-site .ns-nav-objects-link i{
  color:#1e87f0!important;
}

/* Listpoints: чтобы таблица не схлопывалась */
body.ns-site .ns-listpoints-table-wrap-v2441,
body.ns-site .ns-listpoints-table-wrap-v2439{
  display:block;
}



/* ==========================================================
   MAP SOURCE STRICT + LISTPOINTS DETAILS v24.45
   ========================================================== */

/* Не даём карте брать случайные координаты из других модулей/скриптов */
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__body iframe{
  display:block!important;
  z-index:2!important;
}
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__clone,
body.ns-site #ns-profile-map-modal .ns-profile-map-modal__placemarks{
  display:none!important;
}
body.ns-site .ns-profile-listpoints-source{
  display:none!important;
}
body.ns-site .ns-listpoints-table-v2441 tbody td:nth-child(3){
  max-width:720px!important;
  white-space:normal!important;
}
body.ns-site .ns-listpoints-table-v2441 tbody td:last-child strong{
  display:inline-flex!important;
  min-height:34px!important;
  padding:0 12px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#fff7e6!important;
  border:1px solid #f2d394!important;
  color:#7c4f00!important;
}
