﻿/*
Theme Name:  NTsolo Custom Theme
Theme URI:   http://ntsolo.local/
Author:      Antigravity
Description: Standalone optimized theme for NTsolo, Elementor-free.
Version:     1.0.0
Template:    listeo
*/

/* Custom Design Tokens matching color palete.png */
:root {
  --primary-color: #0c5ca8;     /* Brand Blue */
  --accent-color: #027a48;      /* Vibrant Green */
  --yellow-color: #fec84b;      /* Warning Gold */
  --bg-color: #f8faff;          /* Page background */
  --card-bg: #ffffff;
  --text-dark: #1d2939;         /* Dark Slate */
  --text-muted: #667085;
  --border-color: #eaecf0;
  --radius-lg: 12px;
  --radius-md: 8px;
  --shadow-sm: 0 1px 3px rgba(16, 24, 40, 0.1), 0 1px 2px rgba(16, 24, 40, 0.06);
  --shadow-md: 0 4px 8px -2px rgba(16, 24, 40, 0.1), 0 2px 4px -2px rgba(16, 24, 40, 0.06);
}

/* Unified real-estate and services homepage system */
.nt-home-premium {
  box-sizing: border-box;
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px 24px 72px;
  font-family: Inter, sans-serif;
}

/* Duplicate class in the selector intentionally wins over the utility
 * background declarations that the parent theme injects with !important. */
.nt-home-hero.nt-home-hero {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 0;
  display: block;
  padding: 0 24px 24px !important;
  color: #102a4c !important;
  background: #fff !important;
}
.nt-home-hero.nt-home-hero h1 { display: none !important; }

.ntsolo-search-mode { display:flex; align-items:center; gap:5px; margin:0 0 12px; padding:4px; border:1px solid #d0d5dd; border-radius:999px; background:#f8fafc; }
.ntsolo-search-mode button { flex:1; min-height:38px; padding:0 18px !important; border:0 !important; border-radius:999px !important; background:transparent !important; color:#475467 !important; font-weight:800; }
.ntsolo-search-mode a { display:inline-flex; flex:1; min-height:38px; align-items:center; justify-content:center; padding:0 18px; border-radius:999px; color:#475467; font-weight:800; text-decoration:none; }
.ntsolo-search-mode button.is-active { background:#0c5ca8 !important; color:#fff !important; box-shadow:0 3px 9px rgba(12,92,168,.2); }
.ntsolo-search-mode button[data-search-mode="services"].is-active { background:#027a48 !important; }
.ntsolo-search-mode__hint { margin:0 0 14px; color:#667085; font-size:12px; }

/* Homepage search: keep the mode choice and fields visually separate. The
 * old Tailwind flex rules stacked the fields and applied the submit-button
 * colour to every control, which made the hero feel like an unfinished form. */
#ntsolo-homepage-search-form.ntsolo-home-search-card {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  grid-auto-flow: initial !important;
  width: min(100%, 980px);
  box-sizing: border-box;
  margin: 0 auto;
  padding: 18px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 5px 18px rgba(16, 42, 76, .08) !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0c5ca8;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eaecf0;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced[hidden] { display: none; }
#ntsolo-homepage-search-form .ntsolo-home-advanced label { display: grid; gap: 5px; color: #475467; font-size: 11px; font-weight: 800; text-align: left; }
#ntsolo-homepage-search-form .ntsolo-home-advanced input,
#ntsolo-homepage-search-form .ntsolo-home-advanced select { height: 42px !important; padding: 0 10px !important; border: 1px solid #d0d5dd !important; border-radius: 9px !important; background: #fff !important; color: #344054 !important; font-size: 12px !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button .ntsolo-home-mode-service-hint { grid-column: 2 / -1; color: #027a48; font-size: 10px; line-height: 1.25; white-space: normal; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 9px;
  padding: 0;
  border: 0;
  background: transparent;
}
#ntsolo-homepage-search-form .ntsolo-home-search-mode button {
  display: grid;
  grid-template-columns: 36px minmax(0, auto) minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  gap: 8px;
  min-height: 58px;
  padding: 8px 13px !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
  color: #344054 !important;
  text-align: left;
  box-shadow: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-mode button > .material-symbols-outlined {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #e8f1ff;
  color: #0c5ca8;
  font-size: 20px;
}
#ntsolo-homepage-search-form .ntsolo-home-search-mode button > span:not(.material-symbols-outlined) { font-size: 15px; font-weight: 800; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button small { overflow: hidden; color: #667085; font-size: 11px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button.is-active { border-color: #0c5ca8 !important; background: #eef5ff !important; color: #0c5ca8 !important; box-shadow: 0 4px 12px rgba(12,92,168,.12) !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button[data-search-mode="services"] > .material-symbols-outlined { background: #e5f6ed; color: #027a48; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button[data-search-mode="services"].is-active { border-color: #027a48 !important; background: #effaf4 !important; color: #027a48 !important; }
#ntsolo-homepage-search-form .ntsolo-search-mode__hint { margin: 0 0 15px; text-align: left; }
#ntsolo-homepage-search-form .ntsolo-home-search-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(118px, .45fr); gap: 10px; align-items: end; }
#ntsolo-homepage-search-form .ntsolo-home-field { min-width: 0; display: block !important; height: auto !important; }
#ntsolo-homepage-search-form .ntsolo-home-field__label { display: flex; align-items: center; gap: 5px; min-height: 22px; margin: 0 0 6px; color: #475467; font-family: Inter, Arial, sans-serif; font-size: 11px; font-weight: 800; line-height: 1.3; letter-spacing: 0; text-align: left; }
#ntsolo-homepage-search-form .ntsolo-home-field__label #category-field-label { display: inline; color: inherit; font: inherit; line-height: inherit; letter-spacing: inherit; }
#ntsolo-homepage-search-form .ntsolo-home-field__label .material-symbols-outlined { color: #0c5ca8; font-size: 17px; }
#ntsolo-homepage-search-form #category-trigger,
#ntsolo-homepage-search-form #region-trigger { display: flex; width: 100%; height: 54px !important; box-sizing: border-box; align-items: center; justify-content: space-between; padding: 0 13px !important; border: 1px solid #d0d5dd !important; border-radius: 10px !important; background: #fff !important; color: #344054 !important; font-size: 13px; font-weight: 600; }
#ntsolo-homepage-search-form #category-trigger:hover,
#ntsolo-homepage-search-form #region-trigger:hover { border-color: #84adff !important; background: #f8faff !important; }
#ntsolo-homepage-search-form #category-dropdown,
#ntsolo-homepage-search-form #region-dropdown { top: calc(100% + 6px); max-height: 280px; padding: 5px; border: 1px solid #dbe4ef !important; border-radius: 10px; box-shadow: 0 14px 30px rgba(16,24,40,.18); }
#ntsolo-homepage-search-form .ntsolo-home-field--keyword > div { height: 54px !important; }
#ntsolo-homepage-search-form #keyword-input { height: 54px !important; padding: 0 52px 0 13px !important; border-radius: 10px !important; }
#ntsolo-homepage-search-form #keyword-input::placeholder { color: #98a2b3; opacity: 1; }
#ntsolo-homepage-search-form .ntsolo-home-submit { align-self: end; gap: 6px; min-height: 54px !important; padding: 0 15px !important; border-radius: 10px !important; background: #0c5ca8 !important; color: #fff !important; font-size: 13px; }
#ntsolo-homepage-search-form .ntsolo-home-submit:hover,
#ntsolo-homepage-search-form .ntsolo-home-submit:focus-visible { background: #084b8a !important; transform: translateY(-1px); }
#ntsolo-homepage-search-form .ntsolo-home-submit .material-symbols-outlined { font-size: 18px; }
@media (max-width: 880px) { #ntsolo-homepage-search-form .ntsolo-home-search-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } #ntsolo-homepage-search-form .ntsolo-home-submit { grid-column: span 2; } }
@media (max-width: 560px) { #ntsolo-homepage-search-form.ntsolo-home-search-card { padding: 13px !important; } #ntsolo-homepage-search-form .ntsolo-home-search-mode button { grid-template-columns: 32px 1fr; gap: 6px; min-height: 54px; padding: 7px 9px !important; } #ntsolo-homepage-search-form .ntsolo-home-search-mode button > .material-symbols-outlined { width: 30px; height: 30px; font-size: 18px; } #ntsolo-homepage-search-form .ntsolo-home-search-mode button small { grid-column: 2; font-size: 10px; } #ntsolo-homepage-search-form .ntsolo-home-search-fields { grid-template-columns: 1fr; } #ntsolo-homepage-search-form .ntsolo-home-submit { grid-column: auto; width: 100%; } }

.ntsolo-map-legend { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:8px 14px; border-bottom:1px solid #e4e7ec; color:#667085; font-size:11px; }
.ntsolo-map-legend span { display:inline-flex; align-items:center; gap:5px; }
.ntsolo-map-legend i { display:inline-block; width:9px; height:9px; border-radius:50%; }
.ntsolo-map-legend i[data-seller-marker="private"] { background:#1677ff; }
.ntsolo-map-legend i[data-seller-marker="broker"] { background:#f97316; }
.ntsolo-map-legend i[data-seller-marker="developer"] { background:#7c3aed; }
.ntsolo-map-legend i[data-seller-marker="service"] { background:#027a48; }
.ntsolo-map-info-window { display:grid; gap:5px; min-width:210px; max-width:270px; padding:3px 2px; color:#344054; font:400 12px/1.35 Inter,sans-serif; }
.ntsolo-map-info-window__image { display:block; width:100%; height:104px; object-fit:cover; border-radius:8px; background:#eef4fa; }
.ntsolo-map-info-window__title { color:#102a4c; font-size:14px; font-weight:800; line-height:1.25; text-decoration:none; }
.ntsolo-map-info-window__title:hover { color:#0c5ca8; text-decoration:underline; }
.ntsolo-map-info-window__location { color:#667085; }
.ntsolo-map-info-window__price { color:#067647; font-size:13px; }
.ntsolo-map-info-window__action { justify-self:start; margin-top:3px; color:#0c5ca8; font-size:12px; font-weight:800; text-decoration:none; }
.ntsolo-map-info-window__action:hover { text-decoration:underline; }
.is-map-active { border-color:#0c5ca8 !important; box-shadow:0 0 0 3px rgba(12,92,168,.18),0 8px 20px rgba(16,24,40,.12) !important; }
.ntsolo-service-map { margin:18px 0 24px; overflow:hidden; border:1px solid #dbe7f5; border-radius:14px; background:#f8fafc; }
.ntsolo-service-map #map { min-height:360px; width:100%; }
.nt-home-card--developer { border-color:#c4b5fd; box-shadow:0 8px 22px rgba(124,58,237,.12); }
.reklama-plans-grid .plan-vip { order:1; }
.reklama-plans-grid .plan-top { order:2; }
.reklama-plans-grid .plan-vip-service { order:3; }
.reklama-plans-grid .plan-pro { order:4; }
.reklama-plans-grid .plan-star { order:5; }

.nt-home-hero > div {
  width: 100%;
}

@media (max-width: 640px) {
  .nt-home-hero {
    min-height: 0;
    padding: 22px 12px 18px !important;
    background: #fff !important;
  }
  .nt-home-hero > div { padding-right: 12px !important; padding-left: 12px !important; }
}
@media (max-width: 880px) {
  #ntsolo-homepage-search-form .ntsolo-home-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  #ntsolo-homepage-search-form .ntsolo-home-advanced { grid-template-columns: 1fr; }
}

/* Aruodas-style homepage search: compact category rail, large location field
 * and a saved-search panel beside the form.  Use the same outer width and
 * horizontal gutters as the premium listing sections below, so the blue mode
 * strip and both search columns line up with the cards rather than spanning
 * the whole viewport. */
.nt-home-hero > div {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 24px !important;
  padding-left: 24px !important;
}
.ntsolo-home-search-layout { display:grid; grid-template-columns:minmax(0,1.38fr) minmax(300px,.92fr); gap:8px; align-items:stretch; text-align:left; }
#ntsolo-homepage-search-form.ntsolo-home-search-card { width:100%; margin:0; padding:20px 26px 22px !important; border:1px solid #e6e7ea !important; border-radius:12px !important; box-shadow:0 1px 4px rgba(16,24,40,.04) !important; }
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--category { display:none !important; }
#ntsolo-homepage-search-form[data-home-mode="nt"][data-home-show-category="1"] .ntsolo-home-field--category { display:block !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode { display:flex; justify-content:flex-start; gap:2px; margin:0 0 12px; padding:0 0 12px; border-bottom:1px solid #edf0f3; border-radius:0; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button { flex:0 0 auto; min-height:32px; padding:0 13px !important; border:1px solid transparent !important; border-radius:7px !important; background:transparent !important; color:#667085 !important; font-size:12px; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button > .material-symbols-outlined { display:none; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button > span:not(.material-symbols-outlined) { font-size:13px; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button small { display:none; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button.is-active { border-color:#dbe6f6 !important; background:#eef5ff !important; color:#0c5ca8 !important; box-shadow:none !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button[data-search-mode="services"].is-active { border-color:#cfe9d9 !important; background:#effaf4 !important; color:#027a48 !important; }
#ntsolo-homepage-search-form .ntsolo-search-mode__hint { margin:0 0 12px; color:#667085; font-size:12px; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)) repeat(2,minmax(90px,1.2fr)); gap:3px; margin:0 0 20px; padding:0 0 10px; border-bottom:1px solid #edf0f3; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav[hidden] { display:none; }
#ntsolo-homepage-search-form .ntsolo-home-more-wrap { position:relative; min-width:0; }
#ntsolo-homepage-search-form .ntsolo-home-more-menu { position:absolute; z-index:1000; top:calc(100% + 12px); left:50%; display:grid; width:292px; max-height:360px; padding:8px; overflow-y:auto; transform:translateX(-50%); border:1px solid #e4e7ec; border-radius:14px; background:#fff; box-shadow:0 16px 36px rgba(16,24,40,.18); }
#ntsolo-homepage-search-form .ntsolo-home-more-menu::before { content:""; position:absolute; top:-7px; left:50%; width:12px; height:12px; transform:translateX(-50%) rotate(45deg); border-top:1px solid #e4e7ec; border-left:1px solid #e4e7ec; background:#fff; }
#ntsolo-homepage-search-form .ntsolo-home-more-menu[hidden] { display:none; }
#ntsolo-homepage-search-form .ntsolo-home-more-menu button { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:12px; width:100%; min-height:42px; padding:8px 12px !important; border:0 !important; border-radius:9px !important; background:#fff !important; color:#344054 !important; font-size:13px; font-weight:600; text-align:left; }
#ntsolo-homepage-search-form .ntsolo-home-more-menu button:hover { background:#f5f8fc !important; color:#0c5ca8 !important; }
#ntsolo-homepage-search-form .ntsolo-home-more-menu button .material-symbols-outlined { width:20px; color:#98a2b3; font-size:21px; }
#ntsolo-homepage-search-form .ntsolo-home-more-menu button:hover .material-symbols-outlined { color:#0c5ca8; }
/* The category rail applies a grid layout to every nested button.  Override
 * that rule for the dropdown so its options remain compact horizontal rows. */
#ntsolo-homepage-search-form .ntsolo-home-category-nav .ntsolo-home-more-menu button {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  min-height:42px !important;
  height:42px !important;
  padding:8px 12px !important;
  border:0 !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#344054 !important;
  font-size:13px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  text-align:left !important;
}
#ntsolo-homepage-search-form .ntsolo-home-category-nav .ntsolo-home-more-menu button .material-symbols-outlined {
  display:inline-flex !important;
  place-items:center;
  flex:0 0 20px;
  width:20px !important;
  height:20px !important;
  color:#98a2b3 !important;
  font-size:21px !important;
}
@media (max-width:560px) { #ntsolo-homepage-search-form .ntsolo-home-more-menu { left:0; width:min(292px,calc(100vw - 42px)); transform:none; } #ntsolo-homepage-search-form .ntsolo-home-more-menu::before { left:36px; } }
#ntsolo-homepage-search-form .ntsolo-home-category-nav button { display:grid; place-items:center; gap:3px; min-height:62px; padding:4px 5px !important; border:0 !important; border-radius:7px !important; background:#fff !important; color:#667085 !important; font-size:11px; font-weight:600; cursor:pointer; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav button .material-symbols-outlined { color:#98a2b3; font-size:23px; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav button:hover,
#ntsolo-homepage-search-form .ntsolo-home-category-nav button.is-active { background:#eef5ff !important; color:#0c5ca8 !important; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav button:hover .material-symbols-outlined,
#ntsolo-homepage-search-form .ntsolo-home-category-nav button.is-active .material-symbols-outlined { color:#0c5ca8; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav .ntsolo-home-transaction-shortcut { display:flex; align-items:center; justify-content:center; min-height:36px; margin:auto 2px; border:1px solid #d0d5dd !important; border-radius:999px !important; color:#475467 !important; font-size:12px; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav .ntsolo-home-transaction-shortcut.is-active { border-color:#0c5ca8 !important; background:#fff !important; color:#0c5ca8 !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-fields { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(118px,.38fr); gap:10px; }
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--region { display:none !important; }
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword { display:block !important; grid-column:1 / -1; }
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-submit { grid-column:3; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-fields { grid-template-columns:repeat(3,minmax(0,1fr)) minmax(118px,.38fr); }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region { display:none !important; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword { display:block !important; grid-column:1 / -1; }
#ntsolo-homepage-search-form .ntsolo-home-field--region #region-trigger { height:54px !important; min-height:54px !important; padding:0 16px !important; border-radius:10px !important; }
#ntsolo-homepage-search-form .ntsolo-home-field--region #region-trigger:before { content:'location_on'; margin-right:8px; color:#0c5ca8; font-family:'Material Symbols Outlined'; font-size:20px; }
#ntsolo-homepage-search-form .ntsolo-home-field--keyword #keyword-input { height:54px !important; min-height:54px !important; border-radius:10px !important; }
#ntsolo-homepage-search-form .ntsolo-home-field--keyword > div { height:54px !important; min-height:54px !important; }
#ntsolo-homepage-search-form .ntsolo-home-submit { min-height:54px !important; border-radius:7px !important; background:#0c5ca8 !important; }
#ntsolo-homepage-search-form .ntsolo-home-submit:hover { background:#084b8a !important; }
#ntsolo-homepage-search-form .ntsolo-home-quick-filters { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:14px; align-items:end; margin-top:18px; padding-top:2px; }
#ntsolo-homepage-search-form .ntsolo-home-quick-filters[hidden] { display:none; }
#ntsolo-homepage-search-form .ntsolo-home-quick-pair { min-width:0; }
#ntsolo-homepage-search-form .ntsolo-home-quick-pair > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
#ntsolo-homepage-search-form .ntsolo-home-quick-pair input,
#ntsolo-homepage-search-form .ntsolo-home-house-filters input,
#ntsolo-homepage-search-form .ntsolo-home-house-filters select { box-sizing:border-box; width:100%; height:44px !important; min-height:44px !important; padding:0 10px !important; border:1px solid #d0d5dd !important; border-radius:7px !important; background:#fff !important; color:#344054 !important; font-size:12px !important; }
#ntsolo-homepage-search-form .ntsolo-home-house-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:13px; }
#ntsolo-homepage-search-form .ntsolo-home-house-filters[hidden] { display:none; }
#ntsolo-homepage-search-form .ntsolo-home-house-filters label { display:grid; gap:5px; color:#475467; font-size:12px; font-weight:700; }
#ntsolo-homepage-search-form .ntsolo-home-quick-label { display:block; margin:0 0 6px; color:#475467; font-size:12px; font-weight:600; }
#ntsolo-homepage-search-form .ntsolo-home-room-buttons { display:flex; gap:3px; }
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button { width:38px; height:44px; padding:0 !important; border:1px solid #d0d5dd !important; border-radius:6px !important; background:#fff !important; color:#667085 !important; font-size:14px; }
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button.is-active,
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button:hover { border-color:#0c5ca8 !important; background:#eef5ff !important; color:#0c5ca8 !important; }
#ntsolo-homepage-search-form .ntsolo-home-quick-input { display:block; }
#ntsolo-homepage-search-form .ntsolo-home-quick-input input { height:44px !important; font-style:italic; }
#ntsolo-homepage-search-form .ntsolo-home-search-fields #category-trigger,
#ntsolo-homepage-search-form .ntsolo-home-search-fields #region-trigger,
#ntsolo-homepage-search-form .ntsolo-home-search-fields #keyword-input,
#ntsolo-homepage-search-form .ntsolo-home-search-fields .ntsolo-home-submit { box-sizing:border-box !important; }
#ntsolo-homepage-search-form .ntsolo-home-advanced-toggle { margin-top:17px; color:#0c5ca8; }
.ntsolo-home-saved-search { display:flex; flex-direction:column; justify-content:center; min-height:100%; padding:38px 56px; border:1px solid #e6e7ea; border-radius:12px; background:#fff; color:#102a4c; text-align:left; }
.ntsolo-home-saved-search .material-symbols-outlined { color:#98a2b3; font-size:28px; }
.ntsolo-home-saved-search h2 { margin:18px 0 10px; font:700 20px/1.2 "Hanken Grotesk",sans-serif; }
.ntsolo-home-saved-search p { margin:0 0 22px; color:#667085; font-size:13px; line-height:1.5; }
.ntsolo-home-saved-search a { color:#0c5ca8; font-size:12px; font-weight:700; text-decoration:none; }
@media (max-width:900px) { .ntsolo-home-search-layout { grid-template-columns:1fr; } .ntsolo-home-saved-search { min-height:180px; padding:24px; } #ntsolo-homepage-search-form .ntsolo-home-search-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--region, #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword { grid-column:1 / -1; } #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-submit { grid-column:1 / -1; } }
@media (max-width:560px) { #ntsolo-homepage-search-form.ntsolo-home-search-card { padding:15px !important; } #ntsolo-homepage-search-form .ntsolo-home-category-nav { grid-template-columns:repeat(4,1fr); } #ntsolo-homepage-search-form .ntsolo-home-category-nav .ntsolo-home-transaction-shortcut { grid-column:span 2; } #ntsolo-homepage-search-form .ntsolo-home-search-fields, #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-fields, #ntsolo-homepage-search-form .ntsolo-home-quick-filters, #ntsolo-homepage-search-form .ntsolo-home-house-filters { grid-template-columns:1fr; } #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--region, #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword, #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-submit { grid-column:auto; } #ntsolo-homepage-search-form .ntsolo-home-submit { width:100%; } }

/* Final layout guard: parent Listeo/Tailwind rules must not turn the
 * homepage controls into twelve-column or full-width stacked fields. */
#ntsolo-homepage-search-form .ntsolo-home-search-fields { display:grid !important; grid-auto-flow:row; align-items:end; width:100% !important; }

/* Compact keyword control and a restrained NTsolo DI action.  The previous
 * gradient/expanding button made the search row visually noisy and could
 * make the keyword field feel oversized beside the other controls. */
#ntsolo-homepage-search-form .ntsolo-home-field--keyword,
#ntsolo-homepage-search-form .ntsolo-home-field--keyword > div,
#ntsolo-homepage-search-form .ntsolo-home-field--keyword #keyword-input {
  height: 44px !important;
  min-height: 44px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--keyword #keyword-input {
  padding: 0 48px 0 12px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-ai-button {
  top: 50% !important;
  right: 8px !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 !important;
  transform: translateY(-50%);
  border: 1px solid #0c5ca8 !important;
  border-radius: 50% !important;
  background: #0c5ca8 !important;
  color: #fff !important;
  box-shadow: 0 2px 6px rgba(12, 92, 168, .18) !important;
}
#ntsolo-homepage-search-form .ntsolo-home-ai-button:hover,
#ntsolo-homepage-search-form .ntsolo-home-ai-button:focus-visible {
  width: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
  justify-content: center !important;
  background: #084b8a !important;
  box-shadow: 0 3px 9px rgba(12, 92, 168, .28) !important;
}
#ntsolo-homepage-search-form .ntsolo-home-ai-button > .material-symbols-outlined {
  display: inline-flex !important;
  width: 18px !important;
  height: 18px !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-ai-button > .material-symbols-outlined::before {
  content: 'auto_awesome';
  font-family: 'Material Symbols Outlined';
  font-size: 16px;
  font-variation-settings: 'FILL' 1, 'wght' 600;
}
#ntsolo-homepage-search-form .ntsolo-home-ai-button > span:last-child {
  display: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-fields > .ntsolo-home-field,
#ntsolo-homepage-search-form .ntsolo-home-search-fields > .ntsolo-home-submit { min-width:0 !important; max-width:none !important; width:auto !important; float:none !important; flex:none !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode { display:flex !important; width:max-content; max-width:100%; align-items:center; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button { flex:0 0 150px !important; width:150px !important; min-width:0 !important; height:34px !important; min-height:34px !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button > span:not(.material-symbols-outlined) { white-space:nowrap; }
#ntsolo-homepage-search-form .ntsolo-home-field__label { height:auto !important; min-height:18px !important; padding:0 !important; }
#ntsolo-homepage-search-form .ntsolo-home-field--region,
#ntsolo-homepage-search-form .ntsolo-home-field--keyword { align-self:end !important; }
@media (max-width:560px) { #ntsolo-homepage-search-form .ntsolo-home-search-mode { display:grid !important; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); } #ntsolo-homepage-search-form .ntsolo-home-search-mode button { width:100% !important; flex:1 1 auto !important; } }

/* The NT / specialist switch is a single consistent segmented control. */
#ntsolo-homepage-search-form .ntsolo-home-search-mode { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; max-width:100%; gap:3px; margin:0 0 14px; padding:3px; border:1px solid #e1e7ef; border-radius:10px; background:#f5f7fa; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button { width:auto !important; min-width:0 !important; height:38px !important; min-height:38px !important; flex:1 1 auto !important; border:0 !important; border-radius:7px !important; background:transparent !important; color:#667085 !important; font-size:13px; }
#ntsolo-homepage-search-form .ntsolo-home-search-mode button.is-active,
#ntsolo-homepage-search-form .ntsolo-home-search-mode button[data-search-mode="services"].is-active { border:1px solid #c8dcf5 !important; background:#fff !important; color:#0c5ca8 !important; box-shadow:0 1px 4px rgba(12,92,168,.12) !important; }

.ntsolo-home-saved-search {
  align-self:start !important;
  justify-self:end;
  box-sizing:border-box !important;
  width:380px !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:180px !important;
  height:180px !important;
  padding:24px 28px !important;
}
@media (max-width:900px) {
  .ntsolo-home-saved-search { width:100% !important; justify-self:stretch; }
}
/* Category-specific compact filters.  Every panel uses the same control
 * height and a three-column grid so switching from flats to houses, land or
 * commercial property never stretches one field across the whole card. */
#ntsolo-homepage-search-form .ntsolo-home-category-filters {
  display:block;
  width:100%;
  margin-top:16px;
}
#ntsolo-homepage-search-form .ntsolo-home-category-filters[hidden] { display:none !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px 12px;
  width:100%;
  align-items:end;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[hidden] { display:none !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-field[hidden] { display:none !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-field,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > label {
  display:grid;
  min-width:0;
  gap:6px;
  margin:0;
  color:#475467;
  font-size:13px;
  font-weight:500;
  line-height:1.2;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > label { display:contents; }
#ntsolo-homepage-search-form .ntsolo-home-filter-field label,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > label:first-child { min-height:17px; }
#ntsolo-homepage-search-form .ntsolo-home-filter-field input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field select {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 12px !important;
  border:1px solid #d0d5dd !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#344054 !important;
  font-size:13px !important;
  font-weight:400 !important;
  box-shadow:none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field input::placeholder { color:#98a2b3; font-style:italic; }
#ntsolo-homepage-search-form .ntsolo-home-filter-field select { appearance:auto; cursor:pointer; }
#ntsolo-homepage-search-form .ntsolo-home-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; }
#ntsolo-homepage-search-form .ntsolo-home-filter-field--rooms,
#ntsolo-homepage-search-form .ntsolo-home-filter-field--floor { align-self:end; }
#ntsolo-homepage-search-form .ntsolo-home-room-buttons,
#ntsolo-homepage-search-form .ntsolo-home-choice-buttons { display:flex; gap:4px; min-width:0; }
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button,
#ntsolo-homepage-search-form .ntsolo-home-choice-buttons button {
  box-sizing:border-box;
  flex:1 1 0;
  min-width:0;
  height:44px !important;
  min-height:44px !important;
  padding:0 8px !important;
  border:1px solid #d0d5dd !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#667085 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button:hover,
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button.is-active,
#ntsolo-homepage-search-form .ntsolo-home-choice-buttons button:hover,
#ntsolo-homepage-search-form .ntsolo-home-choice-buttons button.is-active {
  border-color:#0c5ca8 !important;
  background:#eef5ff !important;
  color:#0c5ca8 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
/* Nuomos greitoje paieškoje rodoma viena aiški „iki“ kainos reikšmė,
 * kaip Aruodas variante. Minimali reikšmė išsaugoma suderinamumui, bet
 * neperkrauna pradinio bloko. */
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-range { display:block; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-range input[name$="_min_quick"] { display:none !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-range input[name$="_max_quick"] { width:100% !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-actions {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  width:100%;
  margin-top:16px;
  padding-top:2px;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-toggle {
  display:inline-flex;
  align-items:center;
  justify-self:start;
  gap:5px;
  min-height:34px;
  margin:0 !important;
  padding:0 2px !important;
  border:0 !important;
  background:transparent !important;
  color:#0c5ca8 !important;
  font-size:13px;
  font-weight:700;
}
#ntsolo-homepage-search-form .ntsolo-home-map-submit {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:126px;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 13px !important;
  border:0 !important;
  border-radius:9px !important;
  background:transparent !important;
  color:#0c5ca8 !important;
  font-size:13px !important;
  font-weight:700 !important;
  cursor:pointer;
}
#ntsolo-homepage-search-form .ntsolo-home-map-submit:hover { background:#eef5ff !important; }
#ntsolo-homepage-search-form .ntsolo-home-map-submit .material-symbols-outlined { font-size:19px; }
#ntsolo-homepage-search-form .ntsolo-home-search-actions .ntsolo-home-submit {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:132px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 16px !important;
  border-radius:9px !important;
}
@media (max-width:700px) {
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #ntsolo-homepage-search-form .ntsolo-home-search-actions { grid-template-columns:1fr 1fr; gap:8px; }
  #ntsolo-homepage-search-form .ntsolo-home-search-actions .ntsolo-home-advanced-toggle { grid-column:1 / -1; }
  #ntsolo-homepage-search-form .ntsolo-home-map-submit,
  #ntsolo-homepage-search-form .ntsolo-home-search-actions .ntsolo-home-submit { width:100% !important; min-width:0; }
}
@media (max-width:480px) {
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel { grid-template-columns:1fr; gap:11px; }
  #ntsolo-homepage-search-form .ntsolo-home-range { gap:6px; }
  #ntsolo-homepage-search-form .ntsolo-home-filter-field--rooms,
  #ntsolo-homepage-search-form .ntsolo-home-filter-field--floor { grid-column:auto; }
}

.nt-home-premium section {
  padding: 32px 0;
  border-bottom: 1px solid #eef1f5;
}

.nt-home-premium section > header,
.nt-home-section-actions {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.nt-home-premium section > header {
  margin-bottom: 18px;
}

.nt-home-premium header > div > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  color: #027a48;
}

.nt-home-premium h2 {
  margin: 3px 0;
  font: 700 26px/1.2 "Hanken Grotesk", sans-serif;
  color: #102a4c;
}

.nt-home-premium header p {
  margin: 0;
  color: #667085;
  font-size: 13px;
}

.nt-home-premium header > a,
.nt-home-section-actions > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 38px;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 8px;
  background: #006b52;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.nt-home-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.nt-home-carousel {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 3px 2px 14px;
}

.nt-home-carousel::-webkit-scrollbar {
  display: none;
}

.nt-home-carousel .nt-home-card,
.nt-home-carousel .nt-service-card {
  flex: 0 0 calc((100% - 36px) / 4);
  min-width: 0;
  scroll-snap-align: start;
}

.nt-home-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #e4e7ec;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 4px 10px rgba(16, 24, 40, .07);
  transition: transform .2s, box-shadow .2s;
}

.nt-home-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(16, 24, 40, .12);
}

.nt-home-card > a {
  display: block;
  color: inherit !important;
  text-decoration: none !important;
}

.nt-home-card__link { position: relative; }

.nt-home-card__image {
  position: relative;
  /* Keep the homepage gallery in the same landscape proportion as the
   * catalogue cards. This avoids the tall, squeezed cards on four-column
   * sections while still filling the image area with object-fit: cover. */
  height: auto;
  aspect-ratio: 3 / 2;
  min-height: 0;
  overflow: hidden;
  background: #e8f1ff;
}

.nt-home-card__image-link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block !important;
  overflow: hidden;
}

.nt-home-card__image-link img,
.nt-home-card__image-link .nt-home-card__placeholder {
  display: none;
}

.nt-home-card__image-link img.is-active,
.nt-home-card__image-link img:first-child:last-child,
.nt-home-card__image-link .nt-home-card__placeholder:only-child {
  display: grid;
}

.nt-home-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}

.nt-home-card:hover .nt-home-card__image img {
  transform: scale(1.025);
}

.nt-home-card__badge {
  position: absolute;
  left: 9px;
  top: 9px;
  padding: 4px 8px;
  border-radius: 14px;
  background: #006b52;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
}

.nt-home-card__emotion {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  max-width: calc(100% - 62px);
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid rgba(0,107,82,.22);
  background: rgba(245,255,252,.94);
  color: #006b52;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(16,24,40,.16);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nt-home-card__sale-status {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 10px;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 2px 7px rgba(16,24,40,.2);
}
.nt-home-card__sale-status--reserved { background: #b7791f; }
.nt-home-card__sale-status--sold { background: #475569; }
.nt-author-card__emotion { position:absolute; top:16px; left:16px; z-index:2; min-height:24px; padding:0 9px; display:inline-flex; align-items:center; border:1px solid rgba(0,107,82,.22); border-radius:999px; background:rgba(245,255,252,.94); color:#006b52; font-size:10px; font-weight:800; }

.nt-home-card__gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .94);
  color: #0c5ca8;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .2);
  font-size: 23px;
  line-height: 1;
  opacity: 0;
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity .15s ease, background .15s ease;
}
.nt-home-card__gallery-arrow.is-prev { left: 10px; }
.nt-home-card__gallery-arrow.is-next { right: 10px; }
.nt-home-card__image:hover .nt-home-card__gallery-arrow,
.nt-home-card__gallery-arrow:focus-visible { opacity: 1; }
.nt-home-card__gallery-arrow:hover { background: #fff; color: #084d8e; }
.nt-home-card__gallery-arrow:focus-visible { outline: 3px solid rgba(12, 92, 168, .3); outline-offset: 2px; }
@media (hover: none), (pointer: coarse) { .nt-home-card__gallery-arrow { opacity: .9; } }

.nt-home-card__favorite {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  display: grid;
  place-items: center;
  align-items: center;
  justify-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.96);
  color: #0c5ca8;
  box-shadow: 0 2px 8px rgba(16,24,40,.16);
  cursor: pointer;
  text-decoration: none;
  line-height: 1;
}
.nt-home-card__favorite:hover { background: #fff; color: #d92d20; transform: scale(1.04); }
.nt-home-card__favorite .material-symbols-outlined { display: block; width: 22px; height: 22px; font-size: 22px; line-height: 22px; }
.nt-home-card__favorite[href] { display: grid; align-items: center; justify-content: center; justify-items: center; text-align: center; }
.nt-home-card__favorite[href] .material-symbols-outlined { margin: 0; }

.nt-home-card__placeholder {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 18px;
  background: linear-gradient(145deg, #e7f1ff 0%, #f8fbff 52%, #e5f7f1 100%);
  color: #0c5ca8;
  font: 800 20px/1.1 "Hanken Grotesk", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nt-home-card__placeholder > .material-symbols-outlined {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(12, 92, 168, .18);
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  color: #0c5ca8;
  font-size: 32px;
  line-height: 1;
}

.nt-home-card__body {
  min-height: 145px;
  padding: 14px 16px 15px;
}

.nt-home-card__price-inline { margin: 0 0 7px; color: #102a4c; }
.nt-home-card__price-inline strong { font-size: 20px; line-height: 1.1; }
.nt-home-card__author { overflow: hidden; margin: 4px 0 0; color: #667085; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }

.nt-home-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 8px;
}

.nt-home-card__promotion {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 25px;
  margin-bottom: 10px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff4cc;
  color: #b54708;
  font-size: 11px;
  font-weight: 800;
}
.nt-home-card__promotion span { color: #eaaa08; font-size: 14px; }

.nt-home-card__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0c5ca8;
  font-size: 9px;
  font-weight: 800;
}

.nt-home-card__body h3 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 8px;
  color: #101828;
  font-size: 20px;
  line-height: 1.22;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.nt-home-card__location {
  overflow: hidden;
  margin: 0;
  color: #667085;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nt-home-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 0 0 7px;
}
.nt-home-card__facts > span {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0;
  color: #475467;
  font-size: 11px;
  font-weight: 500;
}
.nt-home-card__facts > span + span::before { content: '|'; margin: 0 6px; color: #98a2b3; }
.nt-home-card__facts .material-symbols-outlined {
  display: inline-block;
  flex: 0 0 auto;
  margin-right: 3px;
  color: #0c5ca8;
  font-size: 14px;
  line-height: 1;
  vertical-align: -2px;
}

/* Broker reputation is part of the listing context, not a paid badge. */
.nt-home-card__broker-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 20px;
  margin: 0 0 7px;
  color: #667085;
  font-size: 11px;
  line-height: 1.2;
}
.nt-home-card__broker-rating > .material-symbols-outlined { color: #f2a900; font-size: 16px; font-variation-settings: 'FILL' 1; }
.nt-home-card__broker-rating strong { color: #102a4c; font-size: 12px; }
.nt-home-card__broker-rating small { color: #667085; font-size: 11px; }
.nt-home-card__broker-rating em { display: inline-flex; align-items: center; min-height: 18px; padding: 0 6px; border: 1px solid #c4b5fd; border-radius: 999px; background: #f5f3ff; color: #6d28d9; font-size: 10px; font-style: normal; font-weight: 800; }
.ntsolo-card-fact-icon {
  display: inline-block;
  margin-right: 3px;
  color: #0c5ca8;
  font-size: 15px;
  line-height: 1;
  vertical-align: -3px;
}

.nt-carousel-controls {
  display: flex;
  gap: 8px;
}

.nt-carousel-controls button {
  width: 36px;
  height: 36px;
  border: 1px solid #a9d5ca;
  border-radius: 50%;
  background: #fff;
  color: #006b52;
  font-size: 20px;
  cursor: pointer;
}

.nt-carousel-controls button:hover,
.nt-carousel-controls button:focus-visible {
  outline: none;
  background: #006b52;
  color: #fff;
}

.nt-home-services {
  margin-top: 12px;
  border-radius: 18px;
  background: #f8faff;
  padding-inline: 20px !important;
}

@media (max-width: 900px) {
  .nt-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nt-home-carousel .nt-home-card,
  .nt-home-carousel .nt-service-card {
    flex-basis: calc((100% - 12px) / 2);
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  .nt-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nt-home-carousel .nt-home-card,
  .nt-home-carousel .nt-service-card { flex-basis: calc((100% - 24px) / 3); }
}

@media (max-width: 560px) {
  .nt-home-premium {
    padding-right: 16px;
    padding-left: 16px;
  }

  .nt-home-grid {
    grid-template-columns: 1fr;
  }

  .nt-home-premium section > header {
    align-items: flex-start;
  }

  .nt-home-carousel .nt-home-card,
  .nt-home-carousel .nt-service-card {
    flex-basis: 86%;
  }

  .nt-home-card__image {
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .nt-home-section-actions {
    align-items: flex-end;
    flex-direction: column-reverse;
    gap: 9px;
  }
}

@media (max-width: 700px) {
  .nt-home-grid { grid-template-columns: 1fr; }
  .nt-home-card__body { min-height: 0; }
  .nt-home-card__body h3 { font-size: 18px; }
}

/* Header & Navigation Overrides (Elementor-Free Layout) */
header.nt-header {
  background: #ffffff;
  border-bottom: 1px solid var(--border-color);
  padding: 16px 0;
  width: 100%;
  box-sizing: border-box;
  clear: both;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nt-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 24px;
  font-weight: 800;
  color: var(--text-dark);
}

.nt-logo__image {
  display: block;
  width: auto;
  height: 50px;
  max-width: 210px;
  object-fit: contain;
}

.nt-logo__wordmark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--primary-color) !important;
  letter-spacing: -.04em;
}

.nt-logo__wordmark strong {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--primary-color);
  color: #fff;
  font-size: 19px;
  line-height: 1;
  letter-spacing: -.12em;
}

.nt-logo__wordmark span {
  color: var(--primary-color) !important;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -.06em;
}

.nt-logo span {
  color: var(--primary-color);
}

.nt-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}

.nt-nav a {
  font-size: 14px;
  font-weight: 600;
  color: #344054;
  transition: color 0.15s;
}

.nt-nav a:hover {
  color: var(--primary-color);
}

/* Header Dropdowns */
.nt-nav-dropdown-wrapper {
  position: relative;
}

.dropdown-trigger {
  font-size: 14px;
  font-weight: 600;
  color: #344054;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  padding: 10px 14px;
  border-radius: 999px;
  transition: color .18s ease, background .18s ease;
}

.dropdown-arrow-icon {
  width: 7px;
  height: 7px;
  border-right: 1.75px solid currentColor;
  border-bottom: 1.75px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .18s ease;
}

.nt-nav-dropdown-wrapper:hover > .dropdown-trigger,
.nt-nav-dropdown-wrapper:focus-within > .dropdown-trigger,
.nt-nav-dropdown-wrapper.open > .dropdown-trigger {
  background: #eef4ff;
  color: #175cd3;
}

.nt-nav-dropdown-wrapper:hover .dropdown-arrow-icon,
.nt-nav-dropdown-wrapper:focus-within .dropdown-arrow-icon,
.nt-nav-dropdown-wrapper.open .dropdown-arrow-icon {
  transform: translateY(2px) rotate(225deg);
}

.nt-nav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  border: 1px solid var(--border-color);
  border-radius: 0 14px 14px 14px;
  box-shadow: 0 16px 36px rgba(16, 24, 40, .16);
  min-width: 220px;
  padding: 10px 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(7px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 100;
  margin-top: 8px;
}

.nt-nav-dropdown::before {
  content: '';
  position: absolute;
  top: -13px;
  left: 0;
  width: 100%;
  height: 14px;
  background: transparent;
}

.nt-nav-dropdown::after {
  content: '';
  position: absolute;
  top: 0;
  right: -11px;
  width: 22px;
  height: 22px;
  border-radius: 0 14px 0 14px;
  background: #fff;
  box-shadow: 6px 5px 12px rgba(16, 24, 40, .06);
  transform: rotate(45deg);
  z-index: -1;
}

.nt-nav-dropdown-wrapper:hover .nt-nav-dropdown,
.nt-nav-dropdown-wrapper:focus-within .nt-nav-dropdown,
.nt-nav-dropdown-wrapper.open .nt-nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nt-nav-dropdown ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nt-nav-dropdown li a {
  display: block;
  padding: 11px 14px;
  border-radius: 8px;
  font-size: 13.5px;
  color: var(--text-dark);
}

.nt-nav-dropdown li a:hover {
  background: #f9fafb;
  color: var(--primary-color);
}

/* Header Buttons styling */
.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.btn-account-link {
  font-size: 14px;
  font-weight: 600;
  color: #344054;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-account-link:hover {
  color: var(--primary-color);
}

.btn-register {
  background: #eff5fb;
  color: var(--primary-color);
  border: 1.5px solid var(--primary-color);
  padding: 8px 18px;
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 700;
  transition: all 0.2s;
}

.btn-register:hover {
  background: var(--primary-color);
  color: #ffffff;
}

.btn-skelbti {
  background: var(--accent-color);
  color: #ffffff;
  padding: 8px 20px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: background 0.2s;
}

.btn-skelbti:hover {
  background: #02633a;
}

/* Footer Styling overrides */
footer.nt-footer {
  background: #ffffff;
  border-top: 1px solid var(--border-color);
  width: 100%;
  box-sizing: border-box;
  clear: both;
  color: #475467;
}

.footer-inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 30px;
  /* Keep the brand mark visibly separated from the footer border. */
  padding: 64px 0 48px;
}

footer.nt-footer .nt-container {
  box-sizing: border-box;
  width: 100%;
}

.footer-brand,
.footer-col {
  min-width: 0;
}

.footer-brand .nt-logo {
  display: inline-flex;
  align-items: center;
  margin: 4px 0 15px;
  padding: 0;
  text-decoration: none;
}

.footer-brand .footer-tagline {
  max-width: 430px;
  margin: 0;
  color: #667085;
  font-size: 13px;
  line-height: 1.7;
}

.footer-social-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.footer-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  box-sizing: border-box;
  border: 1px solid #dfe5ec;
  border-radius: 50%;
  background: #f8fafc;
  color: #155ca8;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.footer-social-icons a:hover {
  border-color: #155ca8;
  background: #155ca8;
  color: #fff;
}

.footer-col h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 16px;
}

.footer-col > p {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0 0 11px;
  color: #667085;
  font-size: 13px;
  line-height: 1.55;
}

.footer-col > p a {
  display: inline;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
}

.footer-col > p a::before {
  content: none;
}

.footer-col a {
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 16px;
  font-size: 13.5px;
  color: var(--text-muted);
  text-decoration: none;
  margin-bottom: 10px;
  transition: color 0.2s;
}

.footer-col a:hover {
  color: var(--primary-color);
}

.footer-col a:before {
  content: "\f105"; /* Font Awesome angle-right code */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  color: var(--primary-color);
  font-size: 12px;
}

.footer-bottom {
  border-top: 1px solid #eef1f5;
  background: #f8fafc;
}

.footer-bottom p {
  margin: 0;
  padding: 15px 0;
  color: #667085;
  font-size: 12px;
}

/* Rest of theme component styles */
.nt-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (max-width: 900px) {
  .footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .footer-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
    padding: 48px 0 34px;
  }

  .footer-inner > *,
  .footer-col,
  .footer-contacts,
  .footer-contacts a {
    min-width: 0;
    max-width: 100%;
  }

  .footer-contacts a {
    overflow-wrap: anywhere;
  }
}

/* Homepage Listings Grid */
.home-section-title {
  text-align: left;
  margin-bottom: 24px;
}

.home-section-title h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 4px;
}

.home-section-title p {
  font-size: 14px;
  color: var(--text-muted);
}

.listings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
}

.nt-listing-card {
  background: var(--card-bg);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--border-color);
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}

.nt-listing-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.nt-listing-thumb {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}

.nt-listing-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.nt-listing-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 8px;
  z-index: 10;
}

.nt-badge {
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  color: #ffffff;
  text-transform: capitalize;
}

.nt-badge.sale {
  background: var(--accent-color);
}

.nt-badge.featured {
  background: #344054;
}

.nt-wishlist-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--text-dark);
  font-size: 14px;
  transition: background 0.2s;
  z-index: 10;
}

.nt-wishlist-btn:hover {
  background: #ffffff;
  color: #d92d20;
}

.nt-listing-body {
  padding: 16px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.nt-listing-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 8px;
  line-height: 1.4;
}

.nt-listing-address {
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 12px;
}

.nt-listing-features {
  display: flex;
  gap: 16px;
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 16px;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 12px;
}

.nt-listing-features span {
  display: flex;
  align-items: center;
  gap: 4px;
}

.nt-listing-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}

.nt-listing-price {
  font-size: 18px;
  font-weight: 700;
  color: var(--text-dark);
}

.nt-listing-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--primary-color);
}

/* Category Bubbles Section */
.categories-bubbles-section {
  background: #fcfcfd;
  padding: 48px 0;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  margin-bottom: 48px;
}

.categories-bubbles-section h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 24px;
}

.bubbles-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.category-bubble {
  background: #eff5fb;
  color: var(--primary-color);
  padding: 10px 24px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  transition: background 0.2s, transform 0.15s;
}

.category-bubble:hover {
  background: var(--primary-color);
  color: #ffffff;
  transform: translateY(-2px);
}

/* Brokers / Meistrai Cards Grid */
.brokers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
}

.nt-broker-card {
  background: var(--card-bg);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border-color);
  padding: 24px;
  text-align: center;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s, box-shadow 0.2s;
}

.nt-broker-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.nt-broker-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 12px;
  border: 2px solid var(--border-color);
}

.nt-broker-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 4px;
}

.nt-broker-cat {
  font-size: 13px;
  color: var(--text-muted);
  margin-bottom: 12px;
}

.nt-broker-rating {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--yellow-color);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 16px;
}

.nt-broker-rating span {
  color: var(--text-muted);
  font-weight: 400;
}

.nt-broker-bio {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin-bottom: 20px;
  height: 60px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.nt-broker-btn {
  width: 100%;
  background: var(--accent-color);
  color: #ffffff;
  padding: 10px 0;
  border-radius: var(--radius-md);
  font-size: 14px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}

.nt-broker-btn:hover {
  background: #02633a;
}

/* Prevent underlines on navigation links, dropdown lists, dashboard links, and buttons */
.nt-nav a,
.custom-header-user-menu a,
.btn-account-link,
.btn-register,
.btn-skelbti,
.user-dropdown-menu a,
.nt-register-prompt a,
.nt-register-link a,
.nt-nav-mobile-skelbti,
aside nav a {
  text-decoration: none !important;
}

.nt-nav a:hover,
.custom-header-user-menu a:hover,
.btn-account-link:hover,
.btn-register:hover,
.btn-skelbti:hover,
.user-dropdown-menu a:hover,
.nt-register-prompt a:hover,
.nt-register-link a:hover,
.nt-nav-mobile-skelbti:hover,
aside nav a:hover {
  text-decoration: none !important;
}

/* Subtle Scrollbar for Sidebar */
aside::-webkit-scrollbar {
  width: 4px !important;
}
aside::-webkit-scrollbar-track {
  background: transparent !important;
}
aside::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.1) !important;
  border-radius: 9999px !important;
}
aside::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.2) !important;
}

/* Account authentication */
.nt-login-page {
  display: grid;
  min-height: min(720px, calc(100vh - 80px));
  place-items: center;
  padding: clamp(42px, 7vw, 88px) 20px;
  background:
    radial-gradient(circle at 15% 18%, rgba(12, 92, 168, .12), transparent 32%),
    radial-gradient(circle at 86% 82%, rgba(2, 122, 72, .1), transparent 30%),
    #f8faff;
}

.nt-login-page__card {
  width: min(100%, 470px);
  padding: clamp(26px, 5vw, 42px);
  border: 1px solid #e4e7ec;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(16, 42, 76, .12);
  box-sizing: border-box;
}

.nt-login-page__heading {
  margin-bottom: 28px;
  text-align: center;
}

.nt-login-page__eyebrow {
  display: inline-flex;
  margin-bottom: 9px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0c5ca8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.nt-login-page__heading h1 {
  margin: 0;
  color: #102a4c;
  font: 750 clamp(28px, 6vw, 36px)/1.1 "Hanken Grotesk", Inter, sans-serif;
}

.nt-login-page__heading p {
  margin: 10px 0 0;
  color: #667085;
  font-size: 14px;
}

.nt-login-page .nt-login-wrap,
.nt-login-page .nt-login-wrap form,
.nt-login-page .nt-login-wrap .tabs-container {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}

@media (max-width: 540px) {
  .nt-login-page {
    min-height: 0;
    padding: 24px 14px 42px;
  }

  .nt-login-page__card {
    padding: 24px 18px;
    border-radius: 15px;
  }
}

/* NTsolo maps: a compact, unambiguous blue location pin. */
.map-marker-container,
.listeo-marker-icon {
  width: 24px !important;
  height: 31px !important;
}

.map-marker-container .marker-container,
.listeo-marker-icon .marker-container {
  top: 0 !important;
  width: 24px !important;
  height: 31px !important;
  margin: 0 !important;
  perspective: none !important;
}

.map-marker-container .marker-card,
.listeo-marker-icon .marker-card {
  top: 1px;
  left: 2px;
  width: 20px !important;
  height: 20px !important;
  border: 2px solid #fff;
  border-radius: 50% 50% 50% 0;
  background: #0c63b8;
  box-shadow: 0 3px 8px rgba(16, 42, 76, .3);
  transform: rotate(-45deg) !important;
  transform-style: flat !important;
  transition: transform .18s ease, background-color .18s ease !important;
}

.map-marker-container:hover .marker-card,
.map-marker-container.clicked .marker-card,
.listeo-marker-icon:hover .marker-card,
.listeo-marker-icon.clicked .marker-card {
  background: #084f95;
  transform: translateY(-2px) rotate(-45deg) !important;
}

.map-marker-container .marker-card::after,
.listeo-marker-icon .marker-card::after {
  position: absolute;
  top: 5px;
  left: 5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  content: "";
}

.map-marker-container .face,
.map-marker-container .marker-arrow,
.listeo-marker-icon .face,
.listeo-marker-icon .marker-arrow {
  display: none !important;
}

/* Listing archive: keep listing-type filters compact and readable. */
body.post-type-archive-listing.halfsidebar-archive-listings-layout .full-page-content-container .filters-container {
  padding: 14px 22px 12px !important;
  border-bottom: 1px solid #e6edf5;
  background: #fff;
  box-sizing: border-box;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container > .filter-button-container {
  min-width: 0;
  gap: 16px;
  align-items: center;
  justify-content: flex-start;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container > .filter-button-container > .enable-filters-button {
  flex: 0 0 auto;
  min-height: 40px;
  height: 40px;
  margin: 0 !important;
  border-radius: 999px;
  font-size: 12px;
  line-height: 40px;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .slider-container {
  flex: 1 1 auto !important;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  height: 44px;
  box-sizing: border-box;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-slider {
  align-items: center;
  gap: 8px;
  min-width: 100%;
  height: 44px;
  padding: 0 40px;
  box-sizing: border-box;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item {
  flex: 0 0 auto !important;
  flex-direction: row;
  gap: 7px;
  width: auto;
  max-width: 184px;
  min-height: 38px;
  height: 38px;
  margin: 0;
  padding: 0 13px;
  border: 1px solid #d9e2ec;
  border-radius: 999px;
  background: #fff;
  box-sizing: border-box;
  transform: none !important;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item:hover {
  border-color: #9fc1e4;
  background: #f3f8fe;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item.active {
  border-color: #0c5ca8 !important;
  background: #0c5ca8 !important;
  box-shadow: 0 3px 10px rgba(12, 92, 168, .18);
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .icon-container {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0 !important;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item .icon-container i,
body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item .icon-container i.fa,
body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item .icon-container i.sl {
  display: block;
  height: 18px;
  margin: 0;
  font-size: 16px;
  line-height: 18px;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .icon-container svg,
body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .icon-container img {
  width: 16px;
  height: 16px;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-name {
  min-width: 0;
  max-width: 140px;
  overflow: hidden;
  color: #475467;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item.active .category-name,
body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item.active .icon-container i {
  color: #fff !important;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item.active .icon-container svg {
  fill: #fff !important;
}

body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .nav-button::before {
  width: 30px;
  height: 30px;
}

@media (max-width: 768px) {
  body.post-type-archive-listing.halfsidebar-archive-listings-layout .full-page-content-container .filters-container {
    padding: 12px 14px 10px !important;
  }

  body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container > .filter-button-container {
    gap: 10px;
    align-items: stretch;
  }

  body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container > .filter-button-container > .enable-filters-button {
    align-self: flex-start;
  }

  body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .slider-container {
    width: 100% !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .slider-container::-webkit-scrollbar {
    display: none;
  }

  body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-slider {
    width: max-content;
    min-width: 0;
    padding: 0;
    transform: none !important;
  }

  body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .nav-button {
    display: none !important;
  }

  body.post-type-archive-listing.halfsidebar-archive-listings-layout .filters-container .category-item {
    min-height: 36px;
    height: 36px;
    padding: 0 12px;
  }
}
/* Unified service archive/search */
.nt-service-card__rating{display:flex;align-items:center;gap:5px;margin:0 0 8px;color:#667085;font-size:12px}.nt-service-card__rating>span{color:#f2a900;font-size:15px}.nt-service-card__rating strong{color:#102a4c;font-size:13px}.nt-service-card__rating small{font-size:11px}

/* Homepage service cards use the same geometry and metadata language as
 * the canonical /meistrai/ archive cards. */
.nt-home-service-grid { margin-top: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nt-service-card__chips .nt-service-card__chip--premium { background: #fff3c4; color: #a05a00; }
@media (max-width: 1100px) and (min-width: 901px) {
  .nt-home-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .nt-home-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .nt-home-service-grid { grid-template-columns: 1fr; }
}

/* Service archive actions keep the same compact NTsolo button language as the
 * rest of the public site. The legacy theme's generic button rule otherwise
 * paints native grey controls and lets global heading styles override white
 * hero text. */
.nt-service-archive__hero h1 { color: #fff; }
.nt-service-archive .ntsolo-button,
.nt-service-archive button.ntsolo-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border: 0; border-radius: 8px; padding: 0 18px; background: #087f4f; color: #fff; font: 700 14px/1 "Hanken Grotesk", sans-serif; cursor: pointer; text-decoration: none; }
.nt-service-archive .ntsolo-button:hover,
.nt-service-archive button.ntsolo-button:hover { background: #05643f; color: #fff; }
.nt-service-sort-field { min-width: 140px; }
.nt-service-sort-field select { box-sizing: border-box; width: 100%; min-height: 42px; margin-top: 5px; padding: 0 10px; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; color: #102a4c; font: 600 13px/1.2 Inter, sans-serif; }
.nt-service-card__footer [data-service-distance] { display: block; margin-top: 4px; color: #667085; font-size: 11px; font-weight: 600; }
.nt-home-card__location [data-service-distance] { margin-left: 2px; color: #667085; font-size: .85em; font-weight: 600; white-space: nowrap; }
.ntsolo-search-select-wrap { position: relative; }
.ntsolo-search-select-wrap > input { box-sizing: border-box; width: 100%; height: 42px; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; padding: 0 11px; color: #101828; }
.ntsolo-search-select__options { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; right: 0; max-height: 220px; overflow: auto; padding: 4px; background: #fff; border: 1px solid #d0d5dd; border-radius: 8px; box-shadow: 0 10px 24px rgba(16,24,40,.14); }
.ntsolo-search-select__options[hidden] { display: none; }
.ntsolo-search-select__options button { display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: 5px; background: transparent; color: #102a4c; text-align: left; cursor: pointer; }
.ntsolo-search-select__options button:hover { background: #eef5ff; color: #0c5ca8; }
.nt-listing-search-filters .ntsolo-search-select-wrap { margin: 0; }
.nt-listing-search-filters .ntsolo-search-select__options { max-height: 240px; }
.nt-listing-search-filters .btn { min-height: 42px; border: 0; border-radius: 8px; padding: 0 16px; background: #0c5ca8; color: #fff; cursor: pointer; }
.nt-listing-search-filters .btn:hover { background: #08457e; }

/* Listing archive/search layout: compact filters on the left, results in the
 * centre and the map on the right.  The map is the real Listeo Leaflet/Google
 * instance; this CSS only controls its column and responsive height. */
.nt-listings-page { box-sizing: border-box; width: 100%; max-width: 1680px; }
.nt-listings-page .listing-card-container-nl.nt-listing-card-shell { min-width: 0; width: 100%; height: 100%; margin: 0 !important; container-type: normal; transform: none; transition: none; }
.nt-listings-page .listing-card-container-nl.nt-listing-card-shell:hover { transform: none; }
.nt-listings-page .nt-home-card--archive { display: flex; flex-direction: column; height: 100%; min-width: 0; }
.nt-listings-page .nt-home-card--archive > .nt-home-card__body-link { display: block; flex: 1 1 auto; min-width: 0; }
.nt-listings-page .nt-home-card--archive .nt-home-card__body { min-height: 145px; }
.nt-home-card__author { display: none !important; }

/* Clearer card hierarchy: the homepage keeps only useful object facts and
 * location, while removing the redundant author name/surname line. */
.nt-home-premium .nt-home-card__body { padding: 13px 15px 14px; }
.nt-home-premium .nt-home-card__price-inline strong { font-size: 20px; }
.nt-home-premium .nt-home-card__facts > span { min-height: 20px; font-size: 12px; font-weight: 600; }
.nt-home-premium .nt-home-card__location { color: #475467; font-size: 14px; }
.nt-home-premium-row .nt-home-card__body { min-height: 132px; padding: 12px 13px 13px; }
.nt-home-premium-row .nt-home-card__facts > span { min-height: 19px; font-size: 11px; font-weight: 600; }
.nt-home-premium-row .nt-home-card__location { color: #475467; font-size: 13px; }

/* Archive cards stay compact enough to scan while retaining readable text. */
.nt-listings-page .nt-home-card--archive .nt-home-card__image { aspect-ratio: 16 / 10; }
.nt-listings-page .nt-home-card--archive .nt-home-card__body { min-height: 122px; padding: 11px 13px 12px; }
.nt-listings-page .nt-home-card--archive .nt-home-card__price-inline strong { font-size: 18px; }
.nt-listings-page .nt-home-card--archive .nt-home-card__facts > span { min-height: 19px; font-size: 11px; font-weight: 600; }
.nt-listings-page .nt-home-card--archive .nt-home-card__location { color: #475467; font-size: 13px; }
.listing-layout { display: grid; grid-template-areas: "filters results map"; grid-template-columns: 292px minmax(0, 1.8fr) minmax(250px, .9fr); gap: 24px; align-items: start; transition: grid-template-columns .22s ease; }
.listing-map-wrapper { grid-area: map; min-width: 0; position: sticky; top: 92px; align-self: start; }
.listings-grid-wrapper { grid-area: results; }
.listing-layout > .sidebar-wrapper { grid-area: filters; min-width: 0; position: sticky; top: 92px; align-self: start; }
.listing-map-card { box-sizing: border-box; overflow: hidden; border: 1px solid #e4e7ec; border-radius: 12px; background: #fff; box-shadow: 0 4px 16px rgba(16,24,40,.06); }
.listing-map-card__header { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 46px; padding: 0 14px; border-bottom: 1px solid #e4e7ec; color: #102a4c; }
.listing-map-card__header strong { font-size: 14px; }
.listing-map-card__header > div:first-child { display: inline-flex; align-items: baseline; gap: 5px; min-width: 0; }
.listing-map-card__header span { color: #667085; font-size: 12px; }
.listing-archive-map-container { position: relative; min-height: 0; height: 320px; background: #edf5fb; }
.listing-archive-map { width: 100%; height: 100%; min-height: inherit; }
.listing-map-card__fallback { margin: 0; padding: 20px; color: #475467; font-size: 13px; }
.ntsolo-map-subscription-prompt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px;
  padding: 13px 14px;
  border: 1px solid #dbe7f5;
  border-radius: 11px;
  background: #f4f8ff;
  color: #344054;
}

/* Dynamic "Daugiau filtrų" fields stay in their own flow. This prevents the
 * labels and controls below the main filter table from being squeezed into a
 * leftover grid column when a different property type is selected. */
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters:not(:empty) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  align-content: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters > * {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters label,
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters .ntsolo-home-quick-label {
  display: block !important;
  max-width: 100% !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters input,
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters select,
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters textarea {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters .ntsolo-home-filter-field {
  display: grid !important;
  align-content: start !important;
  gap: 5px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters .ntsolo-home-range,
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters .ntsolo-home-room-buttons,
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters .ntsolo-home-choice-buttons {
  min-width: 0 !important;
  width: 100% !important;
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form .ntsolo-home-secondary-filters:not(:empty) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Keep the first-step wizard selects visible when they are required and empty.
 * Listeo hides invalid native selects globally, but these controls are the
 * actual inputs used by the onboarding wizard (no custom replacement exists).
 */
.nt-form-shell .nt-form-field select:not(.dokan-form-control):invalid {
  display: block !important;
  position: static !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  opacity: 1 !important;
}

/* Legal pages: readable, print-friendly content that does not inherit the
 * oversized blog/article defaults from the parent Listeo theme. */
.ntsolo-legal-page {
  background: var(--bg-color);
  color: var(--text-dark);
  padding: 42px 0 76px;
}
.ntsolo-legal-page__inner { max-width: 1000px; }
.ntsolo-legal-page__header {
  padding: 34px 38px 30px;
  border: 1px solid #dbe4ef;
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.ntsolo-legal-page__header h1 {
  margin: 6px 0 14px;
  color: #102a4c;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.ntsolo-legal-page__lead { max-width: 780px; margin: 0; color: #475467; font-size: 17px; line-height: 1.65; }
.ntsolo-legal-page__meta { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid #eaecf0; color: #667085; font-size: 14px; line-height: 1.8; }
.ntsolo-legal-page a { color: var(--primary-color); text-decoration: underline; text-underline-offset: 2px; }
.ntsolo-legal-page__toc {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 18px 0;
  padding: 14px 18px;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: #f4f8fd;
  font-size: 13px;
}
.ntsolo-legal-page__toc strong { width: 100%; color: #102a4c; font-size: 14px; }
.ntsolo-legal-page__toc a { text-decoration: none; font-weight: 700; }
.ntsolo-legal-page__body { display: grid; gap: 16px; }
.ntsolo-legal-section {
  scroll-margin-top: 100px;
  padding: 28px 38px;
  border: 1px solid #e1e8f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(16, 42, 76, .04);
}
.ntsolo-legal-section h2 { margin: 0 0 14px; color: #102a4c; font-size: 24px; line-height: 1.25; }
.ntsolo-legal-section h3 { margin: 22px 0 8px; color: #173f6c; font-size: 17px; }
.ntsolo-legal-section p, .ntsolo-legal-section li { color: #475467; font-size: 15px; line-height: 1.72; }
.ntsolo-legal-section p { margin: 0 0 12px; }
.ntsolo-legal-section p:last-child { margin-bottom: 0; }
.ntsolo-legal-section ul { margin: 10px 0 16px 20px; padding: 0; }
.ntsolo-legal-section li { margin: 5px 0; padding-left: 3px; }
.ntsolo-legal-checklist { list-style: none; margin-left: 0 !important; }
.ntsolo-legal-checklist li { position: relative; padding-left: 25px; }
.ntsolo-legal-checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--accent-color); font-weight: 800; }
.ntsolo-legal-table-wrap { overflow-x: auto; margin: 12px 0 16px; }
.ntsolo-legal-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 14px; }
.ntsolo-legal-table th, .ntsolo-legal-table td { padding: 12px 14px; border: 1px solid #dbe4ef; text-align: left; vertical-align: top; line-height: 1.5; }
.ntsolo-legal-table th { background: #f4f8fd; color: #173f6c; font-weight: 800; }
.ntsolo-legal-table td { color: #475467; }
@media (max-width: 700px) {
  .ntsolo-legal-page { padding: 22px 0 44px; }
  .ntsolo-legal-page__header, .ntsolo-legal-section { padding: 22px 18px; border-radius: 12px; }
  .ntsolo-legal-page__lead { font-size: 15px; }
  .ntsolo-legal-section h2 { font-size: 21px; }
  .ntsolo-legal-section p, .ntsolo-legal-section li { font-size: 14px; line-height: 1.62; }
  .ntsolo-legal-page__toc { display: grid; gap: 8px; }
}
@media (max-width: 760px) {
  #ntsolo-homepage-search-form .ntsolo-home-secondary-filters:not(:empty) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
}

/* Final flow override: dynamic fields below the filter table must never
 * inherit a stale desktop placement from an earlier search layout rule. */
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters:not(:empty) {
  align-items: start !important;
  align-content: start !important;
}
#ntsolo-homepage-search-form .ntsolo-home-secondary-filters > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
@media (max-width: 760px) {
  #ntsolo-homepage-search-form .ntsolo-home-secondary-filters:not(:empty) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
}

/* The contact capture is deliberately shown only after a free result is
 * returned, never as a registration/payment gate for the calculator. */
.nt-valuation-contact {
  margin-top: 20px;
  padding: 16px;
  border: 1px solid #c8ddf4;
  border-radius: 12px;
  background: #fff;
}
.nt-valuation-contact[hidden] { display: none; }
.nt-valuation-contact h4 { margin: 0 0 5px; color: #102a4c; font-size: 16px; }
.nt-valuation-contact p { margin: 0 0 10px; color: #475467; font-size: 12px; line-height: 1.45; }
.nt-valuation-contact__row { display: flex; align-items: stretch; gap: 8px; }
.nt-valuation-contact__row input { flex: 1 1 auto; min-width: 0; min-height: 42px; padding: 9px 11px; border: 1px solid #d0d5dd; border-radius: 9px; color: #101828; font: inherit; }
.nt-valuation-contact__row button { flex: 0 0 auto; min-height: 42px; padding: 0 16px; }
.nt-valuation-contact__message { min-height: 16px; margin: 8px 0 0 !important; color: #b42318 !important; }
.nt-valuation-contact__message.is-success { color: #067647 !important; }
@media (max-width: 560px) {
  .nt-valuation-contact__row { flex-direction: column; }
  .nt-valuation-contact__row button { width: 100%; }
}

/* The archive width rules above are intentionally !important for the normal
 * three-column catalogue. They must not win over the full-map state: without
 * this final override the fixed workspace became full-width but the map stayed
 * in the first 270px grid track on the left. */
@media (min-width: 901px) {
  .nt-listings-page .listing-layout.ntsolo-map-expanded {
    position: fixed !important;
    z-index: 1200 !important;
    top: 72px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: grid !important;
    grid-template-areas: "map" !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100vw !important;
    height: calc(100vh - 72px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
  }

  .nt-listings-page .listing-layout.ntsolo-map-expanded > .listing-map-wrapper {
    grid-area: map !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
  }

  .nt-listings-page .listing-layout.ntsolo-map-expanded .listing-map-card,
  .nt-listings-page .listing-layout.ntsolo-map-expanded #map-container.listing-archive-map-container {
    width: 100% !important;
  }
}

/* Unified archive filter logic: the archive keeps its sidebar layout while
 * using the same compact controls and dynamic category panels as the home
 * search.  All rows are flow-based so they cannot overlap on narrow screens. */
.nt-listings-page .ntsolo-archive-field,
.nt-listings-page .ntsolo-archive-purpose,
.nt-listings-page .ntsolo-archive-dynamic-panels,
.nt-listings-page .ntsolo-archive-advanced-filters { width: 100%; min-width: 0; }
.nt-listings-page .ntsolo-archive-field { display: grid; gap: 6px; }
.nt-listings-page .ntsolo-archive-field > label,
.nt-listings-page .ntsolo-archive-panel label,
.nt-listings-page .ntsolo-archive-advanced-filters label { display: grid; gap: 6px; min-width: 0; }
.nt-listings-page .ntsolo-archive-purpose { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.nt-listings-page .ntsolo-archive-purpose button { min-height: 38px; border: 1px solid #d5e0ec; border-radius: 9px; background: #fff; color: #0c5ca8; font: 700 12px/1.15 Inter, sans-serif; cursor: pointer; }
.nt-listings-page .ntsolo-archive-purpose button:hover,
.nt-listings-page .ntsolo-archive-purpose button.is-active { border-color: #0c5ca8; background: #eaf3ff; color: #084b8a; }
.nt-listings-page .ntsolo-archive-dynamic-panels { display: grid; gap: 10px; }
.nt-listings-page .ntsolo-archive-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 10px; border: 1px solid #e8eef5; border-radius: 10px; background: #f8fbff; }
.nt-listings-page .ntsolo-archive-panel[hidden],
.nt-listings-page .ntsolo-archive-advanced-filters[hidden] { display: none !important; }
.nt-listings-page .nt-listing-search-filters [hidden] { display: none !important; }
.nt-listings-page .ntsolo-archive-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nt-listings-page .ntsolo-archive-room-buttons { display: flex; flex-wrap: nowrap; gap: 6px; white-space: nowrap; }
.nt-listings-page .ntsolo-archive-room-buttons label { display: inline-flex; position: relative; cursor: pointer; }
.nt-listings-page .ntsolo-archive-room-buttons input { position: absolute; opacity: 0; pointer-events: none; }
.nt-listings-page .ntsolo-archive-room-buttons span { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid #d5e0ec; border-radius: 8px; background: #fff; color: #344054; font-size: 12px; font-weight: 700; }
.nt-listings-page .ntsolo-archive-room-buttons input:checked + span { border-color: #0c5ca8; background: #eaf3ff; color: #0c5ca8; }
@media (max-width: 760px) { .nt-listings-page .ntsolo-archive-room-buttons { flex-wrap: wrap; white-space: normal; } }
.nt-listings-page .ntsolo-archive-advanced-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nt-listings-page .ntsolo-archive-checks { display: grid; grid-template-columns: 1fr; gap: 7px; }
.nt-listings-page .ntsolo-archive-checks label { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: #475467; }
.nt-listings-page .ntsolo-archive-checks input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px !important;
  min-width: 18px;
  height: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  accent-color: #0c5ca8;
  cursor: pointer;
}
.nt-listings-page .ntsolo-archive-checks label span { line-height: 1.35; }
.nt-listings-page .ntsolo-mobile-filter-close { display: none; }
.nt-listings-page .ntsolo-archive-location-field input { width: 100%; }
.nt-listings-page .nt-listing-search-filters > .nt-listing-filter-keyword { order: 1; }
.nt-listings-page .nt-listing-search-filters > .ntsolo-archive-location-field { order: 2; }
.nt-listings-page .nt-listing-search-filters > .ntsolo-archive-purpose { order: 3; }
.nt-listings-page .nt-listing-search-filters > .ntsolo-archive-category-field { order: 4; }
.nt-listings-page .nt-listing-search-filters > .ntsolo-archive-dynamic-panels { order: 5; }
.nt-listings-page .nt-listing-search-filters > .ntsolo-archive-advanced-toggle,
.nt-listings-page .nt-listing-search-filters > .ntsolo-archive-advanced-filters { order: 6; }
.nt-listings-page .nt-listing-search-filters > button.btn { order: 7; }
.nt-listings-page .ntsolo-archive-panel select,
.nt-listings-page .ntsolo-archive-advanced-filters select { min-width: 0; }
@media (max-width: 760px) {
  .nt-listings-page .ntsolo-mobile-filter-close { display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-height: 38px; margin: 0 0 10px; padding: 0 12px; border: 1px solid #d5e0ec; border-radius: 9px; background: #fff; color: #0c5ca8; font: 700 12px/1.2 Inter, sans-serif; }
  .nt-listings-page .ntsolo-mobile-filter-close:hover, .nt-listings-page .ntsolo-mobile-filter-close:focus-visible { border-color: #0c5ca8; background: #eaf3ff; outline: none; }
  .nt-listings-page .ntsolo-mobile-filter-close .material-symbols-outlined { font-size: 17px; }
  .nt-listings-page .ntsolo-archive-purpose { gap: 8px; }
  .nt-listings-page .ntsolo-archive-purpose button { min-height: 42px; }
  .nt-listings-page .ntsolo-archive-panel { padding: 9px; }
  .nt-listings-page .ntsolo-archive-advanced-grid { grid-template-columns: 1fr; }
  .nt-listings-page .ntsolo-archive-range { gap: 7px; }
  .nt-listings-page .ntsolo-archive-checks { grid-template-columns: 1fr; }
}

/* Archive proportions: keep the filter and map rails compact so the centre
 * catalogue gets the widest reading area. */
@media (min-width: 901px) {
  .nt-listings-page .listing-layout {
    grid-template-columns: 238px minmax(0, 1fr) 275px !important;
    gap: 12px !important;
  }
  .nt-listings-page .sidebar-card { padding: 14px !important; }
}
@media (min-width: 1360px) {
  .nt-listings-page .listing-layout {
    grid-template-columns: 250px minmax(0, 1fr) 300px !important;
    gap: 16px !important;
  }
}

/* Both archive actions use the NTsolo primary blue and a consistently white
 * label, including the expanded-map state where vendor CSS used to override
 * the text colour. */
.nt-listings-page .ntsolo-filter-toggle,
.nt-listings-page .ntsolo-filter-toggle:hover,
.nt-listings-page .ntsolo-filter-toggle:focus-visible,
.nt-listings-page .listing-map-card .ntsolo-map-expand-toggle,
.nt-listings-page .listing-map-card .ntsolo-map-expand-toggle:hover,
.nt-listings-page .listing-map-card .ntsolo-map-expand-toggle:focus-visible,
.nt-listings-page.ntsolo-map-expanded .listing-map-card .ntsolo-map-expand-toggle {
  border-color: #0c5ca8 !important;
  background: #0c5ca8 !important;
  color: #fff !important;
}
.nt-listings-page .ntsolo-filter-toggle .material-symbols-outlined,
.nt-listings-page .ntsolo-map-expand-toggle .material-symbols-outlined { color: #fff !important; }
.nt-listings-page .ntsolo-filter-toggle:hover,
.nt-listings-page .listing-map-card .ntsolo-map-expand-toggle:hover,
.nt-listings-page .listing-map-card .ntsolo-map-expand-toggle:focus-visible {
  background: #084b8a !important;
}
.ntsolo-map-subscription-prompt > .material-symbols-outlined { flex: 0 0 auto; color: #0c5ca8; font-size: 19px; }
.ntsolo-map-subscription-prompt strong { display: block; color: #102a4c; font-size: 12px; }
.ntsolo-map-subscription-prompt p { margin: 4px 0 8px; color: #667085; font-size: 11px; line-height: 1.4; }
.ntsolo-map-subscription-prompt a { color: #0c5ca8; font-size: 11px; font-weight: 800; text-decoration: none; }
.ntsolo-map-subscription-prompt a:hover { text-decoration: underline; }
@media (max-width: 760px) {
  .ntsolo-map-subscription-prompt { margin: 10px; padding: 11px 12px; }
}

/* Archive toolbar: keep every control compact, aligned and in the brand
 * palette instead of inheriting Listeo's oversized button rules. */
.nt-listing-results-toolbar {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 4px 0 10px;
}
.nt-listing-results-toolbar .nt-listing-results-heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: 34px;
  margin: 0;
}
.nt-listing-results-toolbar .nt-listing-results-heading strong { color: #102a4c; font-size: 14px; }
.nt-listing-layout-switcher { margin-left: 0; }
.nt-listing-sort-control { min-width: 156px; }
.nt-listing-sort-control select { height: 36px !important; }
.ntsolo-filter-toggle { min-height: 38px; padding: 0 14px; border-radius: 9px; box-shadow: 0 4px 12px rgba(12,92,168,.16); }

/* The map rail has one calm header row and a compact legend below it. */
.listing-map-card__header { min-height: 52px; padding: 0 12px; }
.listing-map-card__header strong { font-size: 15px; }
.ntsolo-map-card__actions { gap: 6px; }
.ntsolo-map-expand-toggle { min-height: 36px; padding: 0 11px; border-radius: 9px; background: #0c5ca8; color: #fff; }
.ntsolo-map-expand-toggle:hover,
.ntsolo-map-expand-toggle:focus-visible { background: #084b8a; color: #fff; }

@media (max-width: 900px) {
  .nt-listing-results-toolbar { grid-template-columns: auto minmax(0, 1fr) auto; }
  .nt-listing-sort-control { grid-column: 2 / -1; justify-self: end; }
}

@media (max-width: 600px) {
  .nt-listing-results-toolbar { grid-template-columns: 1fr auto; gap: 8px; }
  .nt-listing-results-toolbar .nt-listing-results-heading { grid-column: 1 / -1; }
  .nt-listing-layout-switcher { justify-self: start; }
  .nt-listing-sort-control { grid-column: auto; min-width: 0; width: 100%; }
  .ntsolo-filter-toggle { justify-self: end; }
}

/* The parent Listeo stylesheet applies a 520px height to every #map-container.
 * The archive uses a compact preview map beside the cards; only the explicit
 * expand action should make it full-height.  The ID-qualified rule wins that
 * vendor selector without changing the expanded overlay. */
.listing-layout:not(.ntsolo-map-expanded) #map-container.listing-archive-map-container {
  height: 320px !important;
  min-height: 0 !important;
}
.listing-layout:not(.ntsolo-map-expanded) #map-container.listing-archive-map-container #map {
  height: 100% !important;
  min-height: 0 !important;
}
.listing-layout:not(.ntsolo-map-expanded) .listing-map-card {
  height: auto !important;
}
.listing-layout:not(.ntsolo-map-expanded) .listing-map-wrapper {
  height: auto !important;
  min-height: 0 !important;
}
.listing-layout:not(.ntsolo-map-expanded) .listing-map-card #map-container.listing-archive-map-container {
  margin-bottom: 0 !important;
}
.listings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; }
.listings-grid > .nt-listing-results-heading,
.listings-grid > .pagination,
.listings-grid > p { grid-column: 1 / -1; }
.nt-listing-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 38px; margin-bottom: 2px; color: #344054; font-size: 13px; }
.nt-listing-results-heading a { color: #0c5ca8; font-weight: 700; text-decoration: none; }
.nt-listing-results-heading a:hover { text-decoration: underline; }
.nt-listing-clear-link { display: inline-flex; align-items: center; gap: 3px; }
.nt-listing-clear-link .material-symbols-outlined { font-size: 14px; line-height: 1; }
.nt-listing-results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; grid-column: 1 / -1; min-width: 0; }
.nt-listing-results-toolbar .nt-listing-results-heading { flex: 1 1 auto; min-width: 0; }
.nt-listing-sort-control { display: inline-flex !important; align-items: center; min-width: 132px; margin: 0 !important; }
.nt-listing-sort-control select { width: 100%; height: 38px !important; padding: 0 28px 0 10px !important; border: 1px solid #dbe4ef; border-radius: 8px; background: #fff; color: #344054; font-size: 11px !important; font-weight: 700 !important; }
.ntsolo-filter-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto; min-height: 42px; padding: 0 17px; border: 0; border-radius: 999px; background: #0c5ca8; color: #fff; cursor: pointer; font: 700 13px/1.2 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; box-shadow: 0 6px 16px rgba(12,92,168,.2); transition: background-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.ntsolo-filter-toggle:hover, .ntsolo-filter-toggle:focus-visible { background: #084b8a; box-shadow: 0 8px 18px rgba(12,92,168,.28); transform: translateY(-1px); outline: none; }
.ntsolo-filter-toggle .material-symbols-outlined { font-size: 19px; }
.ntsolo-filter-toggle__show[hidden], .ntsolo-filter-toggle__hide[hidden] { display: none; }
.listing-layout.ntsolo-filters-hidden { grid-template-areas: "results map"; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); }
.listing-layout.ntsolo-filters-hidden > .sidebar-wrapper { display: none; }
.listing-layout.ntsolo-filters-hidden .ntsolo-filter-toggle { background: #185abd; }

/* The split-map page supplied by Listeo uses flex widths. Convert it to a
 * predictable three-column grid so hiding the sidebar gives both results and
 * the map the reclaimed space immediately. */
@media (min-width: 993px) {
	.full-page-container.full-page-jobs.ntsolo-filters-visible { display: grid !important; grid-template-columns: minmax(280px, 300px) minmax(0, 1.5fr) minmax(280px, 1fr); width: 100%; }
	.full-page-container.full-page-jobs.ntsolo-filters-visible > .full-page-sidebar { grid-column: 1; width: auto !important; max-width: none !important; flex: none !important; visibility: visible !important; opacity: 1 !important; }
	.full-page-container.full-page-jobs.ntsolo-filters-visible > .full-page-content-container { grid-column: 2; width: auto !important; flex: none !important; min-width: 0; }
	.full-page-container.full-page-jobs.ntsolo-filters-visible > .full-page-map-container { grid-column: 3; width: auto !important; flex: none !important; min-width: 0; }
	.full-page-container.full-page-jobs.ntsolo-filters-hidden { display: grid !important; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); width: 100%; }
	.full-page-container.full-page-jobs.ntsolo-filters-hidden > .full-page-sidebar { display: none !important; width: 0 !important; max-width: 0 !important; flex: 0 0 0 !important; }
	.full-page-container.full-page-jobs.ntsolo-filters-hidden > .full-page-content-container { grid-column: 1; width: auto !important; flex: none !important; min-width: 0; }
	.full-page-container.full-page-jobs.ntsolo-filters-hidden > .full-page-map-container { grid-column: 2; width: auto !important; flex: none !important; min-width: 0; }
}
.sidebar-card { box-sizing: border-box; padding: 16px; border: 1px solid #e4e7ec; border-radius: 12px; background: #fff; box-shadow: 0 4px 16px rgba(16,24,40,.06); }
.ntsolo-filter-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 14px; }
.ntsolo-filter-title h3 { margin: 0; color: #102a4c; font-size: 18px; font-weight: 800; }
.ntsolo-filter-title a { color: #0c5ca8; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.ntsolo-filter-title a:hover { text-decoration: underline; }
.sidebar-card > .ntsolo-search-mode { margin: -4px -4px 16px; }
.sidebar-card > .ntsolo-filter-title { margin-bottom: 12px; }

/* Archive mode switch follows the compact catalogue tabs from the reference:
 * it belongs to the filter card header, not to the form as a large pill. */
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: -16px -16px 16px;
  padding: 0 8px;
  border: 0;
  border-bottom: 1px solid #eef2f6;
  border-radius: 12px 12px 0 0;
  background: #fff;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 40px;
  padding: 0 6px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #667085 !important;
  box-shadow: none !important;
  font-size: 11px;
  line-height: 1.1;
  white-space: nowrap;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button .material-symbols-outlined {
  color: currentColor;
  font-size: 16px;
  line-height: 1;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button.is-active,
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button[data-search-mode="services"].is-active {
  border-bottom-color: #0c5ca8 !important;
  background: #fff !important;
  color: #0c5ca8 !important;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-filter-title h3 { font-size: 17px; }
.nt-listing-search-filters { display: grid; gap: 10px; }
.nt-listing-search-filters > div { margin: 0 !important; }
.nt-listing-search-filters > .ntsolo-search-mode { margin-bottom: 2px !important; }
.nt-listing-search-filters > .nt-listing-filter-keyword { margin-bottom: 2px !important; }
.nt-listing-search-filters > div:not(.ntsolo-search-mode):not(.nt-listing-filter-keyword) { padding-top: 2px; }
.nt-listing-search-filters label { display: grid; gap: 6px; color: #475467; font-size: 12px; font-weight: 700; }
.nt-listing-filter-keyword { display: grid; gap: 6px; }
.nt-listing-filter-keyword > label { color: #475467; font-size: 12px; font-weight: 700; }
.nt-listing-keyword-shell { position: relative; display: flex; align-items: center; }
.nt-listing-keyword-shell input.search-field { padding-left: 36px !important; padding-right: 48px !important; }
.nt-listing-keyword-icon { position: absolute; top: 50%; left: 11px; z-index: 1; display: grid; place-items: center; color: #98a2b3; font-size: 18px; line-height: 1; transform: translateY(-50%); pointer-events: none; }
.nt-listing-ai-bubble { position: absolute; top: 50%; right: 7px; z-index: 2; display: inline-flex; align-items: center; justify-content: flex-start; gap: 3px; width: 32px; height: 32px; overflow: hidden; padding: 0; border: 0; border-radius: 999px; background: linear-gradient(110deg, #f59e0b, #ec4899 55%, #7c3aed); color: #fff; cursor: pointer; transform: translateY(-50%); transition: width .2s ease, padding .2s ease, box-shadow .2s ease, transform .2s ease; }
.nt-listing-ai-bubble:hover, .nt-listing-ai-bubble:focus-visible { width: 142px; padding: 0 9px; box-shadow: 0 3px 10px rgba(124,58,237,.25); transform: translateY(-50%); }
.nt-listing-ai-bubble .material-symbols-outlined { flex: 0 0 32px; font-size: 17px; text-align: center; }
.nt-listing-ai-bubble > span:last-child { overflow: hidden; width: 0; opacity: 0; white-space: nowrap; font-size: 10px; font-weight: 800; transition: width .2s ease, opacity .2s ease; }
.nt-listing-ai-bubble:hover > span:last-child, .nt-listing-ai-bubble:focus-visible > span:last-child { width: auto; opacity: 1; }

/* Shared quick-search panel opened by the lightning control on the homepage
 * and listing archive. The old control was only a visual icon with no action. */
.ntsolo-ai-quick-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 1000;
  display: grid;
  gap: 6px;
  width: 214px;
  padding: 12px;
  border: 1px solid #dbe4ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(16, 24, 40, .16);
  color: #344054;
  text-align: left;
}
.ntsolo-ai-quick-menu strong { color: #102a4c; font-size: 13px; }
.ntsolo-ai-quick-menu > span { color: #667085; font-size: 11px; }
.ntsolo-ai-quick-menu button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #e4e7ec;
  border-radius: 8px;
  background: #f8faff;
  color: #175cd3;
  cursor: pointer;
  font: 700 12px/1.2 Inter, sans-serif;
  text-align: left;
}
.ntsolo-ai-quick-menu button:hover,
.ntsolo-ai-quick-menu button:focus-visible { border-color: #84adff; background: #eef4ff; outline: none; }
.nt-listing-keyword-shell { position: relative; }
@media (max-width: 600px) {
  .ntsolo-ai-quick-menu { right: -8px; width: min(214px, calc(100vw - 42px)); }
}
.nt-listing-search-filters input.search-field,
.nt-listing-search-filters input[type="number"],
.nt-listing-search-filters select.search-field { box-sizing: border-box; width: 100%; height: 42px; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; padding: 0 11px; color: #101828; font: inherit; }
.nt-listing-search-filters input,
.nt-listing-search-filters select { margin: 0 !important; }
.nt-listing-search-filters input:focus,
.nt-listing-search-filters select:focus { border-color: #0c5ca8; outline: 3px solid rgba(12,92,168,.12); }
.nt-listing-filter-row { display: grid; gap: 8px; }
.nt-listing-price-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nt-listing-search-filters .btn { margin-top: 2px; }
.nt-listing-search-filters .btn { min-height: 42px; border-radius: 8px; background: #0c5ca8; font-weight: 800; }

/* DI search is a useful action, not a decorative gradient. Keep the same
 * NTsolo-blue accent on the homepage and in archive filters. */
#ntsolo-homepage-search-form .ntsolo-home-ai-button {
  border: 2px solid #fff !important;
  background: linear-gradient(135deg, #084b8a 0%, #0c5ca8 48%, #35a4ff 100%) !important;
  box-shadow: 0 0 0 3px #dbeafe, 0 4px 14px rgba(12, 92, 168, .34) !important;
}
#ntsolo-homepage-search-form .ntsolo-home-ai-button:hover,
#ntsolo-homepage-search-form .ntsolo-home-ai-button:focus-visible {
  background: linear-gradient(135deg, #063b70 0%, #0c5ca8 44%, #63c5ff 100%) !important;
  box-shadow: 0 0 0 3px #bfdbfe, 0 5px 16px rgba(12, 92, 168, .44) !important;
}
.nt-listing-ai-bubble {
  border: 2px solid #fff !important;
  background: linear-gradient(135deg, #084b8a 0%, #0c5ca8 48%, #35a4ff 100%) !important;
  box-shadow: 0 0 0 3px #dbeafe, 0 4px 14px rgba(12, 92, 168, .34) !important;
}
.nt-listing-ai-bubble:hover,
.nt-listing-ai-bubble:focus-visible {
  background: linear-gradient(135deg, #063b70 0%, #0c5ca8 44%, #63c5ff 100%) !important;
  box-shadow: 0 0 0 3px #bfdbfe, 0 5px 16px rgba(12, 92, 168, .44) !important;
}
.navigation.pagination { grid-column: 1 / -1; margin-top: 10px; }
.navigation.pagination { display: flex; justify-content: center; width: 100%; }
.navigation.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; width: 100%; margin: 0; padding: 0; list-style: none; }
.navigation.pagination li { display: flex; align-items: center; margin: 0; padding: 0; list-style: none; }
.navigation.pagination a,
.navigation.pagination span { display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; min-width: 38px; height: 38px !important; padding: 0 11px !important; border: 1px solid #d0d5dd; border-radius: 10px; color: #344054; text-decoration: none; font-size: 13px; font-weight: 700; line-height: 1 !important; white-space: nowrap; transition: border-color .15s ease, background-color .15s ease, color .15s ease, transform .15s ease; }
.navigation.pagination a:hover { transform: translateY(-1px); }
.navigation.pagination .current,
.navigation.pagination a:hover { border-color: #0c5ca8; background: #0c5ca8; color: #fff; }
.nt-listings-page .navigation.pagination ul li a,
.nt-listings-page .navigation.pagination ul li span {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  border-radius: 10px !important;
  line-height: 38px !important;
}
.nt-listings-page .navigation.pagination ul li .page-numbers.dots {
  width: auto !important;
  min-width: 20px !important;
  border-color: transparent !important;
  background: transparent !important;
  color: #667085 !important;
}

/* Map search view opened by the homepage "Å½emÄ—lapyje" action.  Keep the
 * map/results data source intact, but turn the archive into a focused map
 * workspace: a wide Google map on the left and a compact NTsolo filter drawer
 * on the right. */
.nt-listings-page.ntsolo-map-search-page {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}
.listing-layout.ntsolo-map-view {
  grid-template-areas: "filters map";
  grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  min-height: calc(100vh - 170px);
}
.ntsolo-map-view .listings-grid-wrapper { display: none !important; }
.ntsolo-map-view .listing-map-wrapper {
  position: sticky;
  top: 82px;
  align-self: start;
  height: calc(100vh - 122px);
  min-height: 560px;
  z-index: 1;
}
.ntsolo-map-view .listing-map-card {
  height: 100%;
  border-radius: 0 16px 16px 0;
  box-shadow: 0 8px 28px rgba(16,42,76,.12);
}
.ntsolo-map-view .listing-map-card__header {
  min-height: 60px;
  padding: 0 20px;
  background: #fff;
}
.ntsolo-map-view .listing-map-card__header > div {
  display: flex;
  align-items: baseline;
  gap: 12px;
  min-width: 0;
}
.ntsolo-map-view .listing-map-card__header strong { font-size: 17px; }
.ntsolo-map-view .listing-map-card__header span { font-size: 12px; }
.ntsolo-map-view .listing-archive-map-container {
  height: calc(100% - 92px);
  min-height: 500px;
}
.ntsolo-map-view > .sidebar-wrapper {
  position: sticky;
  top: 82px;
  align-self: start;
  height: calc(100vh - 122px);
  max-height: calc(100vh - 122px);
  overflow-y: auto;
  padding: 0;
  z-index: 2;
  background: #fff;
}
.ntsolo-map-view > .sidebar-wrapper .sidebar-card {
  min-height: 100%;
  padding: 28px 24px;
  border-right: 0;
  border-radius: 16px 0 0 16px;
  box-shadow: 0 8px 28px rgba(16,42,76,.1);
}
.ntsolo-map-view > .sidebar-wrapper .sidebar-card > h3 {
  margin: 0 0 22px !important;
  color: #102a4c;
  font-size: 24px !important;
  line-height: 1.15;
}
.ntsolo-map-view .nt-listing-search-filters { gap: 10px; }
.ntsolo-map-view .nt-listing-search-filters > .ntsolo-search-mode {
  margin: 0 0 4px !important;
  padding: 4px;
  border: 1px solid #dbe7f5;
  border-radius: 10px;
  background: #eef5ff;
}
.ntsolo-map-view .nt-listing-search-filters > .nt-listing-filter-keyword,
.ntsolo-map-view .nt-listing-search-filters > div:not(.ntsolo-search-mode),
.ntsolo-map-view .nt-listing-search-filters > .nt-listing-filter-row {
  box-sizing: border-box;
  padding: 12px;
  border: 1px solid #edf2f7;
  border-radius: 10px;
  background: #f8fbff;
}
.ntsolo-map-view .nt-listing-search-filters > .nt-listing-filter-row label { font-size: 12px; }
.ntsolo-map-view .nt-listing-search-filters > .btn { margin-top: 4px; }
.ntsolo-map-view .ntsolo-filter-toggle { display: none; }
.ntsolo-archive-advanced-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #dbe7f5;
  border-radius: 9px;
  background: #eef5ff;
  color: #0c5ca8;
  cursor: pointer;
  font: 700 12px/1.2 Inter, sans-serif;
  text-align: left;
}
.ntsolo-archive-advanced-toggle:hover,
.ntsolo-archive-advanced-toggle.is-open { border-color: #9fc3ed; background: #e4f0ff; }
.ntsolo-archive-advanced-toggle > .material-symbols-outlined:first-child { font-size: 18px; }
.ntsolo-archive-advanced-toggle__chevron { margin-left: auto; font-size: 19px; transition: transform .18s ease; }
.ntsolo-archive-advanced-toggle.is-open .ntsolo-archive-advanced-toggle__chevron { transform: rotate(180deg); }
.ntsolo-archive-advanced-toggle[hidden],
.ntsolo-archive-advanced-filters[hidden] { display: none !important; }
.ntsolo-archive-advanced-filters { display: grid; gap: 10px; }
.ntsolo-archive-advanced-filters .nt-listing-filter-row { margin: 0 !important; }
.ntsolo-map-view .ntsolo-map-view__list-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #0c5ca8;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.ntsolo-map-view .ntsolo-map-view__list-link:hover { color: #084b8a; }
.ntsolo-map-view .ntsolo-map-view__list-link .material-symbols-outlined { font-size: 18px; }
.ntsolo-map-card__actions { display: inline-flex; align-items: center; gap: 8px; }
.ntsolo-map-expand-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 0 10px;
  border: 1px solid #dbe7f5;
  border-radius: 8px;
  background: #eef5ff;
  color: #0c5ca8;
  cursor: pointer;
  font: 700 11px/1.2 Inter, sans-serif;
  white-space: nowrap;
}
.ntsolo-map-expand-toggle:hover,
.ntsolo-map-expand-toggle:focus-visible { border-color: #9fc3ed; background: #e4f0ff; outline: none; }
.ntsolo-map-expand-toggle__icon { font-size: 17px; }
.ntsolo-map-expand-toggle__close-label[hidden],
.ntsolo-map-expand-toggle__open-label[hidden] { display: none; }

/* Full-screen map mode is a reversible overlay, so users can explore the
 * markers without losing their current filters or listing position. */
body.ntsolo-map-overlay-open { overflow: hidden; }
.listing-layout.ntsolo-map-expanded {
  position: fixed;
  z-index: 1200;
  top: 72px;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-areas: "map";
  grid-template-columns: 1fr;
  width: 100vw;
  height: auto;
  min-height: 0;
  margin: 0;
  background: #fff;
}
.ntsolo-map-expanded .listing-map-wrapper {
  position: relative;
  top: auto;
  grid-area: map;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.ntsolo-map-expanded .listing-map-card {
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.ntsolo-map-expanded .listing-map-card__header { min-height: 58px; padding: 0 22px; }
.ntsolo-map-expanded .listing-archive-map-container { height: calc(100% - 90px); min-height: 0; }
.ntsolo-map-expanded .ntsolo-map-subscription-prompt { display: none; }
.ntsolo-map-expanded .listings-grid-wrapper,
.ntsolo-map-expanded > .sidebar-wrapper { display: none !important; }
.ntsolo-map-expanded .ntsolo-map-expand-toggle { background: #0c5ca8; border-color: #0c5ca8; color: #fff; }
.ntsolo-map-expanded .ntsolo-map-expand-toggle:hover,
.ntsolo-map-expanded .ntsolo-map-expand-toggle:focus-visible { background: #084b8a; border-color: #084b8a; }
.ntsolo-map-expanded .ntsolo-map-expand-toggle__icon { transform: rotate(180deg); }

/* Archive page heading: keep it readable when the parent Listeo theme adds
 * its own section-title utilities. */
.nt-listings-page > .section-title {
  margin: 0 0 24px !important;
  color: #102a4c !important;
  font-family: "Hanken Grotesk", Inter, sans-serif !important;
  font-size: clamp(26px, 3vw, 36px) !important;
  font-weight: 700 !important;
  letter-spacing: -.02em;
  line-height: 1.12 !important;
}

@media (max-width: 1050px) {
  .listing-layout.ntsolo-map-view {
    grid-template-areas: "filters" "map";
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ntsolo-map-view .listing-map-wrapper,
  .ntsolo-map-view > .sidebar-wrapper {
    position: relative;
    top: auto;
    height: auto;
    max-height: none;
  }
  .ntsolo-map-view .listing-map-wrapper { min-height: 480px; }
  .ntsolo-map-view .listing-archive-map-container { height: 480px; min-height: 480px; }
  .ntsolo-map-view > .sidebar-wrapper .sidebar-card { border-right: 1px solid #e4e7ec; border-radius: 16px; }
}
@media (max-width: 560px) {
  .nt-listings-page.ntsolo-map-search-page { padding-top: 14px !important; }
  .ntsolo-map-view .listing-map-wrapper { min-height: 390px; }
  .ntsolo-map-view .listing-archive-map-container { height: 390px; min-height: 390px; }
  .ntsolo-map-view .listing-map-card__header { padding: 0 14px; }
  .ntsolo-map-view .listing-map-card__header > div { gap: 7px; }
  .ntsolo-map-view .listing-map-card__header strong { font-size: 15px; }
  .ntsolo-map-view > .sidebar-wrapper .sidebar-card { padding: 20px 16px; }
  .ntsolo-map-card__actions { gap: 5px; }
  .ntsolo-map-expand-toggle { min-height: 32px; padding: 0 7px; font-size: 10px; }
  .ntsolo-map-expand-toggle__icon { font-size: 16px; }
  .listing-layout.ntsolo-map-expanded { top: 58px; }
  .ntsolo-map-expanded .listing-map-card__header { padding: 0 12px; }
}
/* The parent Listeo archive class locks the viewport for its split-map
 * template. This custom archive is a normal document, so restore page scroll. */
body.post-type-archive-listing.halfsidebar-archive-listings-layout { max-height: none; overflow: visible; }
@media (max-width: 1280px) { .nt-listings-page { max-width: 1240px; } .listing-layout { grid-template-columns: 270px minmax(0, 1.55fr) minmax(290px, .9fr); gap: 18px; } .listings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .listing-layout { grid-template-areas: "filters results" "map map"; grid-template-columns: 250px minmax(0, 1fr); } .listing-map-wrapper { position: relative; top: auto; } .listing-archive-map-container { height: 360px; min-height: 360px; } }
@media (max-width: 760px) { .nt-listings-page { padding-right: 14px !important; padding-left: 14px !important; } .listing-layout { grid-template-areas: "filters" "results" "map"; grid-template-columns: 1fr; gap: 16px; } .listing-layout.ntsolo-filters-hidden { grid-template-areas: "results" "map"; grid-template-columns: 1fr; } .listing-map-wrapper, .listing-layout > .sidebar-wrapper { position: static; } .listing-archive-map-container { height: 320px; min-height: 320px; } .listings-grid { grid-template-columns: 1fr; } .sidebar-card { padding: 16px; } .nt-listing-results-toolbar { flex-wrap: wrap; } .nt-listing-sort-control { flex: 1 1 150px; } }
@media (max-width: 520px) { .listings-grid { grid-template-columns: 1fr; } .nt-listing-price-row { grid-template-columns: 1fr; } }

/* Final homepage card typography override (kept after the legacy compact
 * premium-row rules so the important facts remain readable). */
.nt-home-premium .nt-home-card__author { display: none !important; }
.nt-home-premium .nt-home-card__price-inline strong { font-size: 19px !important; }
.nt-home-premium .nt-home-card__facts > span { font-size: 12px !important; font-weight: 600; }
.nt-home-premium .nt-home-card__location { color: #475467; font-size: 13px !important; }
.nt-home-premium-row .nt-home-card__body { min-height: 132px; padding: 12px 13px 13px; }
.nt-home-premium-row .nt-home-card__price-inline strong { font-size: 18px !important; }
.nt-home-premium-row .nt-home-card__facts > span { min-height: 19px; font-size: 11px !important; font-weight: 600; }
.nt-home-premium-row .nt-home-card__location { color: #475467; font-size: 13px !important; }

/* Shared icon font.  Several public templates use Material Symbols while the
 * footer/header still use WordPress Dashicons; keep both aligned and visible. */
.material-symbols-outlined {
  font-family: "Material Symbols Outlined";
  font-weight: 400;
  font-style: normal;
  font-size: 1.1em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "liga";
}

/* Compact shared top navigation.  Dropdown labels should not create a large
 * empty gap between the parent item and its neighbouring links. */
.nt-nav { gap: 12px; }
.nt-nav-dropdown-wrapper { display: flex; align-items: center; }
.nt-nav .dropdown-trigger { gap: 4px; padding: 0 8px; line-height: 22px; }
.nt-nav .dropdown-arrow-icon { width: 6px; height: 6px; }
.header-actions { gap: 10px; }
.header-actions .btn-skelbti { padding-right: 14px; padding-left: 14px; }

/* Stable NTsolo header contract. The public header is also used by the
 * unified dashboard; keep its layout independent of Tailwind CDN utilities
 * and Listeo's legacy Bootstrap rules. */
header.nt-header {
  position: relative;
  z-index: 1000;
  min-height: 72px;
  padding: 0 !important;
  background: #fff;
  border-bottom: 1px solid #e4e7ec;
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
header.nt-header .nt-container {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  min-height: 72px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 20px;
}
header.nt-header .header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px;
}
header.nt-header .nt-logo {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto;
  width: auto;
  min-width: 132px;
  line-height: 1;
  text-decoration: none;
}
header.nt-header .nt-logo__image {
  display: block;
  width: auto;
  height: 44px;
  max-width: 170px;
  object-fit: contain;
}
header.nt-header .nt-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center;
  flex: 1 1 auto;
  min-width: 0;
  gap: 2px;
  margin: 0;
}
header.nt-header .nt-nav > a,
header.nt-header .nt-nav > .nt-nav-dropdown-wrapper > .dropdown-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  box-sizing: border-box;
  padding: 0 10px;
  border-radius: 8px;
  color: #344054;
  font: 600 13px/1.2 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  white-space: nowrap;
  text-decoration: none;
}
header.nt-header .nt-nav > a:hover,
header.nt-header .nt-nav > .nt-nav-dropdown-wrapper > .dropdown-trigger:hover,
header.nt-header .nt-nav > .nt-nav-dropdown-wrapper:focus-within > .dropdown-trigger,
header.nt-header .nt-nav > .nt-nav-dropdown-wrapper.open > .dropdown-trigger {
  background: #eef4ff;
  color: #0c5ca8;
}
header.nt-header .nt-nav-dropdown-wrapper {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
header.nt-header .nt-nav .dropdown-trigger { gap: 5px; }
header.nt-header .nt-nav .dropdown-arrow-icon { flex: 0 0 auto; margin-top: -2px; }
header.nt-header .header-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 8px;
  margin-left: auto;
  white-space: nowrap;
}
header.nt-header .header-actions .btn-account-link,
header.nt-header .header-actions .btn-register,
header.nt-header .header-actions .btn-skelbti {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  box-sizing: border-box;
  padding: 0 13px;
  border-radius: 8px;
  font: 700 12px/1 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-decoration: none;
  white-space: nowrap;
}
header.nt-header .header-actions .btn-account-link { color: #344054; }
header.nt-header .header-actions .btn-register { color: #0c5ca8; border: 1px solid #d0d5dd; background: #fff; }
header.nt-header .header-actions .btn-skelbti { color: #fff; background: #0c5ca8; }
header.nt-header .header-actions .btn-register:hover { background: #f5f9ff; border-color: #98a2b3; }
header.nt-header .header-actions .btn-skelbti:hover { background: #084d8e; }
header.nt-header .custom-header-user-menu .user-menu-trigger { font-family: "Inter", sans-serif; }

/* Full-width Aruodas-style secondary navigation. The blue strip spans the
 * viewport while its links remain aligned to the same centered container as
 * the main header and homepage content. */
.nt-secondary-nav {
  position: relative;
  z-index: 900;
  width: 100%;
  background: #0c5ca8;
  border-bottom: 1px solid #084d8e;
  color: #fff;
}
.nt-secondary-nav__inner {
  display: flex;
  align-items: center;
  gap: 0;
  min-height: 42px;
  padding: 0 24px;
  overflow-x: auto;
  scrollbar-width: none;
}
.nt-secondary-nav__inner::-webkit-scrollbar { display: none; }
.nt-secondary-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border-right: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.96);
  font: 700 12px/1 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
.nt-secondary-nav a:first-child { padding-left: 0; }
.nt-secondary-nav a:hover,
.nt-secondary-nav a:focus-visible { background: rgba(255,255,255,.12); color: #fff; outline: none; }
.nt-secondary-nav__cta {
  margin-left: auto;
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 7px;
  background: var(--yellow-color, #fec84b) !important;
  color: #102a4c !important;
  box-shadow: 0 2px 7px rgba(4,35,72,.18);
}
.nt-secondary-nav__cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-right: 5px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}
.nt-secondary-nav__cta:hover,
.nt-secondary-nav__cta:focus-visible {
  min-height: 38px !important;
  background: #fdb022 !important;
  color: #102a4c !important;
}
/* Keep the CTA compact even though the generic secondary-nav link rule is
 * more specific because it also targets the anchor element. */
.nt-secondary-nav a.nt-secondary-nav__cta,
.nt-secondary-nav a.nt-secondary-nav__cta:hover,
.nt-secondary-nav a.nt-secondary-nav__cta:focus-visible {
  min-height: 38px !important;
}

/* Services is the single home for the public service/about links. Keep its
 * dropdown attached to the blue strip instead of duplicating it in the white
 * header navigation. */
.nt-secondary-nav__service-menu,
.nt-secondary-nav__about-menu {
  position: relative;
  flex: 0 0 auto;
}
.nt-secondary-nav__service-menu > .dropdown-trigger,
.nt-secondary-nav__about-menu > .dropdown-trigger {
  color: rgba(255,255,255,.96);
  min-height: 42px;
  border-right: 1px solid rgba(255,255,255,.2);
  border-radius: 0;
  padding: 0 14px;
  font: 700 12px/1 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.nt-secondary-nav__service-menu > .dropdown-trigger:hover,
.nt-secondary-nav__service-menu > .dropdown-trigger:focus-visible,
.nt-secondary-nav__service-menu.open > .dropdown-trigger,
.nt-secondary-nav__about-menu > .dropdown-trigger:hover,
.nt-secondary-nav__about-menu > .dropdown-trigger:focus-visible,
.nt-secondary-nav__about-menu.open > .dropdown-trigger {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.nt-secondary-nav__service-menu > .dropdown-trigger .dropdown-arrow-icon,
.nt-secondary-nav__about-menu > .dropdown-trigger .dropdown-arrow-icon {
  border-color: currentColor;
}
.nt-secondary-nav__service-menu > .nt-nav-dropdown,
.nt-secondary-nav__about-menu > .nt-nav-dropdown {
  top: 100%;
  left: 0;
  min-width: 238px;
  margin-top: 0;
  border-radius: 0 12px 12px 12px;
  z-index: 1005;
}
.nt-secondary-nav__service-menu .nt-nav-dropdown li a,
.nt-secondary-nav__service-menu .nt-nav-dropdown li a:hover,
.nt-secondary-nav__service-menu .nt-nav-dropdown li a:focus-visible,
.nt-secondary-nav__about-menu .nt-nav-dropdown li a,
.nt-secondary-nav__about-menu .nt-nav-dropdown li a:hover,
.nt-secondary-nav__about-menu .nt-nav-dropdown li a:focus-visible {
  min-height: 0;
  border: 0;
  color: var(--text-dark, #102a4c);
  background: transparent;
  font: 600 13.5px/1.35 "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.nt-secondary-nav__service-menu .nt-nav-dropdown li a:hover,
.nt-secondary-nav__service-menu .nt-nav-dropdown li a:focus-visible,
.nt-secondary-nav__about-menu .nt-nav-dropdown li a:hover,
.nt-secondary-nav__about-menu .nt-nav-dropdown li a:focus-visible {
  background: #f1f6fd;
  color: var(--primary-color, #0c5ca8);
}
@media (min-width: 761px) {
  .nt-secondary-nav__inner { overflow: visible; }
}

@media (max-width: 1180px) and (min-width: 992px) {
  header.nt-header .nt-container { padding-left: 16px; padding-right: 16px; }
  header.nt-header .nt-logo { min-width: 118px; }
  header.nt-header .nt-logo__image { max-width: 145px; height: 40px; }
  header.nt-header .nt-nav > a,
  header.nt-header .nt-nav > .nt-nav-dropdown-wrapper > .dropdown-trigger { padding-left: 7px; padding-right: 7px; font-size: 12px; }
  header.nt-header .header-actions .btn-account-link,
  header.nt-header .header-actions .btn-register,
  header.nt-header .header-actions .btn-skelbti { padding-left: 9px; padding-right: 9px; }
}

@media (max-width: 991px) {
  header.nt-header .nt-container { min-height: 70px; padding-left: 16px; padding-right: 16px; }
  header.nt-header .nt-nav { justify-content: flex-start; }
  .nt-secondary-nav__inner { min-height: 38px; padding: 0 16px; }
  .nt-secondary-nav a { min-height: 38px; padding: 0 11px; font-size: 11px; }
  .nt-secondary-nav a:first-child { padding-left: 0; }
  .nt-secondary-nav__cta { margin-left: 0; }
}

/* Advertising landing page */
.reklama-header-banner {
  position: relative;
  overflow: hidden;
  padding: 64px 0 74px;
  color: #fff;
  background: linear-gradient(125deg, #062f5b 0%, #0c5ca8 56%, #1681d2 100%);
}
.reklama-header-banner::after {
  position: absolute;
  top: -220px;
  right: -80px;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  background: rgba(255,255,255,.09);
  content: "";
}
.reklama-header-banner .nt-container { position: relative; z-index: 1; }
.reklama-meta-tag,
.contact-meta-tag {
  display: inline-flex;
  align-items: center;
  color: #b2ddff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.reklama-main-title {
  max-width: 760px;
  margin: 10px 0 12px;
  color: #fff;
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.08;
  letter-spacing: -.03em;
}
.reklama-lead-text {
  max-width: 700px;
  margin: 0;
  color: #d1e9ff;
  font-size: 17px;
  line-height: 1.6;
}
.reklama-plans-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  margin-top: 0;
  position: relative;
  z-index: 2;
}
.reklama-plan-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 22px;
  border: 1px solid #e4e7ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16,24,40,.09);
}
.reklama-plan-card.plan-vip { order: 1; }
.reklama-plan-card.plan-top { order: 2; }
.reklama-plan-card.plan-vip-service { order: 3; }
.reklama-plan-card.plan-pro { order: 4; }
.reklama-plan-card.plan-star { order: 5; }
.reklama-plan-card.featured-plan { border-color: #0c5ca8; box-shadow: 0 16px 36px rgba(12,92,168,.18); }
.plan-badge-wrapper { display: flex; align-items: center; gap: 8px; min-height: 28px; }
.reklama-plan-card .plan-badge { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: 30px; min-height: 30px; min-width: 58px; padding: 0 12px; border-radius: 999px; color: #fff; font-size: 11px; font-weight: 800; letter-spacing: .06em; line-height: 1; white-space: nowrap; }
.reklama-plan-card .badge-star { min-width: 30px; padding: 0; }
.badge-pro { background: #027a48; }
.badge-top { background: #0c5ca8; }
.badge-vip { background: #d99000; }
.badge-star { background: #d97706; }
.best-value-label { color: #0c5ca8; font-size: 10px; font-weight: 800; }
.plan-title { display: flex; align-items: flex-start; min-height: 52px; margin: 16px 0 8px; color: #102a4c; font-size: 22px; line-height: 1.25; }
.plan-desc { min-height: 92px; margin: 0; color: #667085; font-size: 13px; line-height: 1.55; }
.plan-price-box { display: flex; align-items: baseline; gap: 5px; box-sizing: border-box; min-height: 0; margin: 12px 0; padding: 10px 0; border-top: 1px solid #eef2f6; }
/* Listeo's pricing table also defines `.plan-price` with 45px padding and a
 * grey background.  The advertising cards use the same class name for the
 * amount, so explicitly reset those vendor styles here. */
.reklama-plan-card .plan-price { display: inline-flex; width: auto; margin: 0; padding: 0; background: transparent; color: #067647; font-size: 28px; font-weight: 800; line-height: 1.1; }
.plan-duration { color: #667085; font-size: 12px; }
.plan-features { display: grid; gap: 9px; margin: 0 0 22px; padding: 0; list-style: none; color: #475467; font-size: 12px; line-height: 1.4; }
.plan-features li { display: flex; align-items: flex-start; gap: 7px; }
.plan-features .dashicons { flex: 0 0 16px; width: 16px; height: 16px; color: #067647; font-size: 16px; }
.plan-action { margin-top: auto; }
.btn-order-plan { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 42px; padding: 0 14px; border: 1px solid #b2ddff; border-radius: 9px; background: #eef5ff; color: #0c5ca8; font-size: 13px; font-weight: 800; text-decoration: none; transition: .18s ease; }
.btn-order-plan:hover, .btn-order-plan.btn-primary { border-color: #0c5ca8; background: #0c5ca8; color: #fff; }
.reklama-split-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr); gap: 34px; align-items: start; margin-top: 56px; padding: 34px; border: 1px solid #e4e7ec; border-radius: 18px; background: #f8faff; }
.reklama-left-text h2 { display:block!important; visibility:visible!important; margin: 10px 0 12px; color: #102a4c; font-size: clamp(26px, 3vw, 36px); }
.reklama-left-text .contact-meta-tag { color: #0c5ca8; }
.contact-description { display:block!important; visibility:visible!important; max-width: 620px; margin: 0; color: #667085; font-size: 14px; line-height: 1.65; }
.contact-highlights { display: grid; gap: 16px; margin-top: 26px; }
.highlight-item { display: flex; gap: 12px; align-items: flex-start; }
.highlight-item .highlight-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #e8f1ff; color: #0c5ca8; font-size: 18px; }
.highlight-item strong, .highlight-item span:not(.highlight-icon) { display: block; }
.highlight-item strong { color: #102a4c; font-size: 13px; }
.highlight-item div span { margin-top: 3px; color: #667085; font-size: 12px; line-height: 1.45; }
.reklama-form-card { padding: 24px; border: 1px solid #e4e7ec; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(16,24,40,.06); }
.form-card-title { margin: 0 0 18px; color: #102a4c; font-size: 20px; }
.reklama-form-card form, .nt-form-card form { display: grid; gap: 9px; }
.reklama-form-card form label, .nt-form-card form label { color: #475467; font-size: 12px; font-weight: 700; }
.reklama-form-card form input:not([type="hidden"]), .reklama-form-card form select, .reklama-form-card form textarea, .nt-form-card form input:not([type="hidden"]), .nt-form-card form select, .nt-form-card form textarea { box-sizing: border-box; width: 100%; min-height: 42px; margin: 0 0 8px; padding: 10px 12px; border: 1px solid #d0d5dd; border-radius: 8px; background: #fff; color: #101828; font: inherit; }
.reklama-form-card form textarea, .nt-form-card form textarea { min-height: 110px; resize: vertical; }
.reklama-form-card form button, .nt-form-card form button { min-height: 43px; margin-top: 6px; padding: 0 18px; border: 0; border-radius: 9px; background: #0c5ca8; color: #fff; font-size: 13px; font-weight: 800; cursor: pointer; }
.reklama-form-card form button:hover, .nt-form-card form button:hover { background: #084c8b; }

/* Query-driven public forms */
.nt-form-page { min-height: 70vh; background: #f8faff; color: #1d2939; }
.nt-form-page__hero { padding: 52px 0 58px; background: linear-gradient(125deg, #062f5b, #0c5ca8 60%, #1681d2); color: #fff; }
.nt-form-page__eyebrow { color: #b2ddff; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nt-form-page__hero h1 { max-width: 760px; margin: 9px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 48px); line-height: 1.1; }
.nt-form-page__hero p { margin: 0; color: #d1e9ff; font-size: 16px; }
.nt-form-page__content { padding-top: 38px; padding-bottom: 70px; }
.nt-form-page__notice { width: min(100%, 760px); margin: 0 auto 22px; padding: 17px 20px; border: 1px solid #b8d4f2; border-left: 4px solid #0c5ca8; border-radius: 12px; background: #f2f8ff; color: #344054; font-size: 13px; line-height: 1.55; }
.nt-form-page__notice strong { display: block; margin-bottom: 5px; color: #102a4c; font-size: 14px; }
.nt-form-page__notice p { margin: 4px 0 0; }
.nt-valuation-page .nt-form-page__notice { width: auto; margin-bottom: 24px; }
.nt-form-card { width: min(100%, 760px); margin: 0 auto; padding: clamp(20px, 4vw, 34px); border: 1px solid #e4e7ec; border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(16,24,40,.08); }
.nt-form-card > header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 24px; }
.nt-form-card > header > .material-symbols-outlined { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: #e8f1ff; color: #0c5ca8; font-size: 22px; }
.nt-form-card h2 { margin: 2px 0 4px; color: #102a4c; font-size: 23px; }
.nt-form-card > header p { margin: 0; color: #667085; font-size: 13px; }
.nt-form-card form label.ff-el-form-check-label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.nt-form-card form input[type="checkbox"], .nt-form-card form input[type="radio"] { width: auto; min-height: 0; margin: 0; }
.nt-form-card form select { appearance: auto; }
.nt-form-card form .error { color: #b42318; font-size: 12px; }
.nt-buying-request-card { width: min(100%, 980px); }
.nt-buying-progress { margin: 0 0 26px; padding: 14px 16px; border: 1px solid #d9e7f7; border-radius: 12px; background: #f7fbff; }
.nt-buying-progress__track { height: 6px; overflow: hidden; border-radius: 999px; background: #dbeafe; }
.nt-buying-progress__track span { display: block; width: 10%; height: 100%; border-radius: inherit; background: #0c5ca8; transition: width .25s ease; }
.nt-buying-progress p { margin: 9px 0 0; color: #667085; font-size: 12px; }
.nt-buying-progress p strong { color: #0c5ca8; }
.nt-buying-step { display: none; }
.nt-buying-step.is-active { display: block; animation: ntsolo-buying-step-in .18s ease both; }
.nt-buying-step h3 { margin: 0 0 5px; color: #102a4c; font-size: 22px; }
.nt-buying-step__hint { margin: 0 0 20px; color: #667085; font-size: 13px; }
.nt-buying-grid { display: grid; gap: 16px; margin-bottom: 18px; }
.nt-buying-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nt-buying-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nt-buying-request-form label, .nt-buying-request-form legend { color: #344054; font-size: 13px; font-weight: 700; }
.nt-buying-request-form label { display: block; }
.nt-buying-request-form label > input:not([type="checkbox"]):not([type="radio"]), .nt-buying-request-form label > select, .nt-buying-request-form label > textarea { display: block; width: 100%; margin-top: 7px; }
.nt-buying-request-form fieldset { min-width: 0; margin: 0 0 18px; padding: 14px; border: 1px solid #e4e7ec; border-radius: 11px; }
.nt-buying-request-form fieldset legend { padding: 0 6px; }
.nt-buying-options { display: flex; flex-wrap: wrap; gap: 9px; }
.nt-buying-options--cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.nt-buying-option { display: inline-flex !important; align-items: center; gap: 8px; min-height: 42px; padding: 10px 12px; border: 1px solid #d0d5dd; border-radius: 9px; background: #fff; color: #344054 !important; cursor: pointer; font-size: 13px !important; font-weight: 600 !important; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.nt-buying-option:hover { border-color: #7aaee1; background: #f7fbff; }
.nt-buying-option input { flex: 0 0 auto; width: 17px !important; min-height: 17px !important; margin: 0 !important; padding: 0 !important; }
.nt-buying-option--card { justify-content: center; min-height: 58px; text-align: center; }
.nt-buying-option--card:has(input:checked), .nt-buying-option:has(input:checked) { border-color: #0c5ca8; background: #edf6ff; box-shadow: 0 0 0 2px rgba(12,92,168,.1); color: #0c5ca8 !important; }
.nt-buying-variant[hidden], .nt-buying-step[hidden] { display: none !important; }
.nt-buying-request-form__actions { display: flex; align-items: center; gap: 10px; margin-top: 26px; padding-top: 18px; border-top: 1px solid #eaecf0; }
.nt-buying-request-form__actions button[hidden] { display: none; }
.nt-buying-request-form__spacer { flex: 1; }
.nt-buying-consent { display: flex !important; align-items: flex-start; gap: 9px; margin-top: 20px; color: #475467 !important; font-weight: 500 !important; line-height: 1.45; }
.nt-buying-consent input { flex: 0 0 auto; width: 17px !important; min-height: 17px !important; margin-top: 2px !important; }
.nt-form-page__notice--success { border-left-color: #07883f; background: #effcf5; }
.nt-form-page__notice--success strong { color: #067a38; }
.nt-form-page__notice--error { border-left-color: #b42318; background: #fff5f4; }
@keyframes ntsolo-buying-step-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 700px) {
	.nt-buying-grid--two, .nt-buying-grid--three, .nt-buying-options--cards { grid-template-columns: 1fr; }
	.nt-buying-options--checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nt-buying-option--card { justify-content: flex-start; min-height: 48px; text-align: left; }
	.nt-buying-request-form__actions { position: sticky; bottom: 0; z-index: 4; margin-left: -20px; margin-right: -20px; padding: 12px 20px; background: rgba(255,255,255,.96); box-shadow: 0 -6px 18px rgba(16,24,40,.08); }
}

/* Public AI valuation form. The result is intentionally an interval: it is a
 * decision aid, not an official appraisal or a promise of a sale price. */
.nt-valuation-hero { background: linear-gradient(125deg, #062f5b, #0c5ca8 60%, #1681d2); }
.nt-valuation-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 24px; align-items: start; }
.nt-valuation-card { width: auto; margin: 0; }
.nt-valuation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nt-valuation-grid label { display: grid; gap: 6px; color: #344054; font-size: 12px; font-weight: 700; }
.nt-valuation-grid label.is-wide { grid-column: 1 / -1; }
.nt-valuation-size-row { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nt-valuation-grid input, .nt-valuation-grid select, .nt-valuation-grid textarea { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #d0d5dd; border-radius: 9px; background: #fff; color: #101828; font: inherit; }
.nt-valuation-grid [data-valuation-land-area][hidden] { display: none !important; }
.nt-valuation-grid textarea { min-height: 84px; resize: vertical; }
.nt-valuation-grid small { color: #667085; font-size: 11px; font-weight: 400; }
.nt-valuation-note { margin: 6px 0 0; color: #667085; font-size: 12px; line-height: 1.45; }
.nt-valuation-consent { display: flex; align-items: flex-start; gap: 8px; margin: 18px 0; color: #475467; font-size: 12px; font-weight: 500; line-height: 1.45; }
.nt-valuation-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; accent-color: #0c5ca8; }
.nt-valuation-form > button { width: 100%; gap: 7px; }
.nt-valuation-form > button.is-loading { opacity: .72; cursor: wait; }
.nt-valuation-form-message { min-height: 18px; margin: 10px 0 0; color: #b42318; font-size: 12px; }
.nt-valuation-explainer { padding: 26px; border: 1px solid #dbe7f5; border-radius: 16px; background: linear-gradient(145deg, #f5f9ff, #fff); }
.nt-valuation-explainer h2 { margin: 8px 0 10px; color: #102a4c; font-size: 24px; }
.nt-valuation-explainer p { margin: 0; color: #667085; font-size: 13px; line-height: 1.6; }
.nt-valuation-explainer ul { display: grid; gap: 13px; margin: 22px 0 0; padding: 0; list-style: none; color: #344054; font-size: 12px; line-height: 1.45; }
.nt-valuation-explainer li { display: flex; gap: 8px; align-items: flex-start; }
.nt-valuation-explainer li .material-symbols-outlined { flex: 0 0 auto; color: #067647; font-size: 18px; }
.nt-valuation-result { margin-top: 22px; padding: 24px; border: 1px solid #b7e4ca; border-radius: 16px; background: #f1fcf5; }
.nt-valuation-result[hidden] { display: none; }
.nt-valuation-result__eyebrow { color: #067647; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.nt-valuation-result h3 { margin: 7px 0 12px; color: #102a4c; font-size: 21px; }
.nt-valuation-result__range { display: flex; align-items: baseline; gap: 8px; color: #067647; font-size: 22px; }
.nt-valuation-result__range strong { font-size: clamp(24px, 4vw, 34px); }
.nt-valuation-result__recommended { margin: 12px 0; color: #344054; font-size: 14px; }
.nt-valuation-result__land { margin: 0 0 10px; color: #067647 !important; font-size: 13px !important; font-weight: 700; }
.nt-valuation-result > p:not(.nt-valuation-result__recommended) { margin: 0 0 10px; color: #475467; font-size: 13px; line-height: 1.5; }
.nt-valuation-result small { color: #667085; font-size: 11px; line-height: 1.45; }
@media (max-width: 820px) { .nt-valuation-layout { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .nt-valuation-grid { grid-template-columns: 1fr; } .nt-valuation-grid label.is-wide { grid-column: auto; } .nt-valuation-size-row { grid-template-columns: 1fr; } .nt-valuation-card, .nt-valuation-explainer { padding: 20px; } .nt-valuation-result__range { flex-wrap: wrap; } }

/* Footer icon alignment */
.footer-social-icons .dashicons, .footer-contacts .dashicons { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; font-size: 17px; line-height: 1; }
.footer-social-icons .material-symbols-outlined { font-size: 17px; }

/* Homepage service cards use the same gallery interaction as NT cards. */
.nt-home-services .nt-service-card__image { position: relative; }
.nt-home-services .nt-service-card__image > a { position: absolute; inset: 0; display: grid; place-items: center; overflow: hidden; }
.nt-home-services .nt-service-card__image img { display: none; }
.nt-home-services .nt-service-card__image img.is-active,
.nt-home-services .nt-service-card__image img:first-child:last-child { display: block; }
.nt-service-card__gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  color: #0c5ca8;
  box-shadow: 0 2px 8px rgba(16,24,40,.2);
  font-size: 23px;
  line-height: 1;
  opacity: 0;
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity .15s ease, background .15s ease;
}
.nt-service-card__gallery-arrow.is-prev { left: 10px; }
.nt-service-card__gallery-arrow.is-next { right: 10px; }
.nt-home-services .nt-service-card__image:hover .nt-service-card__gallery-arrow,
.nt-service-card__gallery-arrow:focus-visible { opacity: 1; }
.nt-service-card__gallery-arrow:hover { background: #fff; color: #084d8e; }
@media (hover: none), (pointer: coarse) { .nt-service-card__gallery-arrow { opacity: .9; } }

/* Compact homepage promotion rows. VIP, TOP and PRO use the same four-card
 * presentation without the large reference-only side labels. */
.nt-home-premium [hidden] { display: none !important; }
.nt-home-premium-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.nt-home-premium-row.nt-home-services--pro {
  margin-top: 12px;
  padding-right: 0 !important;
  padding-left: 0 !important;
  background: transparent;
}

/* Keep the homepage contract stable: projects, VIP, TOP, PRO and latest. */
.nt-home-premium {
  display: flex;
  flex-direction: column;
}
.nt-home-premium > section { order: 5; width: 100%; }
.nt-home-premium > .nt-home-projects { order: 1; }
.nt-home-premium > .nt-home-premium-row--vip { order: 2; }
.nt-home-premium > .nt-home-premium-row--top { order: 3; }
.nt-home-premium > .nt-home-premium-row--pro { order: 4; }
.nt-home-premium > .nt-home-latest,
.nt-home-premium > .nt-home-premium-row--services { order: 5; }

/* Carousel controls replace the archive CTA in promoted rows. */
.nt-home-premium-row--pro > .nt-home-premium-row__content > header > a {
  display: none;
}

.nt-home-premium-row .nt-home-service-grid.nt-home-carousel {
  display: flex;
  grid-template-columns: none;
}
.nt-home-premium-row__label {
  display: none;
  padding-top: 56px;
  color: #0c5ca8;
  font: 500 clamp(48px, 5.5vw, 78px)/.95 "Hanken Grotesk", Inter, sans-serif;
  letter-spacing: -.05em;
  text-align: center;
}
.nt-home-premium-row--pro .nt-home-premium-row__label { color: #027a48; }
.nt-home-premium-row__content { min-width: 0; }
.nt-home-premium-row__content > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.nt-home-premium-row .nt-home-grid,
.nt-home-premium-row .nt-home-service-grid { gap: 12px; }
.nt-home-premium-row .nt-home-card__image,
.nt-home-premium-row .nt-service-card__image { aspect-ratio: 4 / 3; }
.nt-home-premium-row .nt-home-card__emotion { top: 8px; left: 8px; min-height: 21px; padding: 0 7px; font-size: 9px; }
.nt-home-premium-row .nt-home-card__favorite { top: 8px; right: 8px; width: 30px; height: 30px; }
.nt-home-premium-row .nt-home-card__favorite .material-symbols-outlined { width: 18px; height: 18px; font-size: 18px; line-height: 18px; }
.nt-home-premium-row .nt-home-card__body { min-height: 128px; padding: 10px 11px 10px; }
.nt-home-premium-row .nt-home-card__price-inline strong { font-size: 16px; }
.nt-home-premium-row .nt-home-card__location { font-size: 11px; }
.nt-home-premium-row .nt-home-card__facts { gap: 0; margin: 0 0 5px; }
.nt-home-premium-row .nt-home-card__facts > span { min-height: 17px; padding: 0; font-size: 9px; }
.nt-home-premium-row .nt-home-card__facts .material-symbols-outlined { display: none; }
.nt-home-premium-row .nt-home-card__author { font-size: 9px; }
.nt-home-premium-row .nt-service-card__body { padding: 11px; }
.nt-home-premium-row .nt-service-card__chips { gap: 4px; }
.nt-home-premium-row .nt-service-card__chips span { padding: 3px 6px; font-size: 9px; }
.nt-home-premium-row .nt-service-card h3 { margin: 7px 0 5px; font-size: 15px; line-height: 1.18; }
.nt-home-premium-row .nt-service-card p { display: -webkit-box; overflow: hidden; margin-bottom: 8px; font-size: 11px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.nt-home-premium-row .nt-service-card__footer { padding-top: 8px; }
.nt-home-premium-row .nt-service-card__footer strong { color: #102a4c; font-size: 12px; }
.nt-home-premium-row .nt-service-card__footer a { font-size: 11px; }

@media (max-width: 900px) {
  .nt-home-premium-row { grid-template-columns: 1fr; gap: 8px; }
  .nt-home-premium-row__label { padding-top: 0; font-size: 46px; text-align: left; }
  .nt-home-premium-row__content > header { align-items: flex-start; }
}

@media (max-width: 560px) {
  .nt-home-premium-row { max-width: none; }
  .nt-home-premium-row__label { font-size: 38px; }
.nt-home-premium-row__content > header { flex-direction: column; gap: 10px; }
}

/* Keep the custom footer spacing stable even when the parent theme injects
 * its own footer paddings at a later point in the cascade. */
footer.nt-footer.nt-footer {
  box-sizing: border-box;
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

footer.nt-footer.nt-footer .footer-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* About page is seeded on clean installs and gets a light, native NTsolo
 * layout instead of falling back to the parent theme's unstyled page. */
.nt-about-page { padding-top: 34px; padding-bottom: 70px; }
.nt-about-hero { padding: clamp(26px, 5vw, 56px); border-radius: 18px; background: linear-gradient(125deg, #062f5b, #0c5ca8 60%, #1681d2); color: #fff; }
.nt-about-hero .ntsolo-eyebrow { color: #b2ddff; }
.nt-about-hero h1 { margin: 8px 0 10px; color: #fff; font-size: clamp(30px, 5vw, 48px); line-height: 1.08; }
.nt-about-hero p { max-width: 680px; margin: 0; color: #d1e9ff; font-size: 16px; line-height: 1.55; }
.nt-about-content { padding: 42px 0 0; }
.nt-about-content > h2 { margin: 0 0 12px; color: #102a4c; font-size: clamp(24px, 3vw, 32px); }
.nt-about-content > p { max-width: 780px; margin: 0; color: #475467; font-size: 16px; line-height: 1.7; }
.nt-about-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.nt-about-grid > div { padding: 22px; border: 1px solid #e4e7ec; border-radius: 14px; background: #fff; box-shadow: 0 5px 18px rgba(16,24,40,.05); }
.nt-about-grid .material-symbols-outlined { color: #0c5ca8; font-size: 27px; }
.nt-about-grid h3 { margin: 13px 0 6px; color: #102a4c; font-size: 18px; }
.nt-about-grid p { margin: 0; color: #667085; font-size: 13px; line-height: 1.55; }
.nt-about-grid a { color: #0c5ca8; font-weight: 700; }
@media (max-width: 720px) { .nt-about-grid { grid-template-columns: 1fr; } }

/* Expanded About page sections.  Keep the same card language as the rest of
 * NTsolo, while allowing the long-form content and contact form to breathe. */
.nt-about-intro { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 18px; margin-top: 26px; }
.nt-about-intro__block { padding: 28px; border: 1px solid #dce5ef; border-radius: 16px; background: #f7faff; }
.nt-about-intro__block--values { display: flex; flex-direction: column; justify-content: center; background: #fff; }
.nt-about-intro h2 { max-width: 640px; margin: 8px 0 10px; color: #102a4c; font-size: clamp(22px, 3vw, 30px); line-height: 1.2; }
.nt-about-intro p { margin: 0; color: #475467; font-size: 15px; line-height: 1.65; }
.nt-about-values-line { color: #0c5ca8 !important; font-size: 17px !important; font-weight: 700; line-height: 1.55 !important; }
.nt-about-section { padding-top: 48px; }
.nt-about-section__header { margin-bottom: 18px; }
.nt-about-section__header .ntsolo-eyebrow { display: block; margin-bottom: 6px; }
.nt-about-section__header h2 { margin: 0; color: #102a4c; font-size: clamp(24px, 3vw, 32px); line-height: 1.2; }
.nt-about-grid--feature, .nt-about-grid--steps { margin-top: 0; }
.nt-about-grid--feature > article, .nt-about-grid--steps > article { position: relative; min-height: 168px; padding: 24px; border: 1px solid #e1e8f0; border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(16,24,40,.055); }
.nt-about-grid--feature > article { border-top: 3px solid #0c5ca8; }
.nt-about-grid--feature > article:nth-child(2) { border-top-color: #16a36c; }
.nt-about-grid--feature > article:nth-child(3) { border-top-color: #f0a61a; }
.nt-about-grid--feature .material-symbols-outlined, .nt-about-grid--steps .material-symbols-outlined { color: #0c5ca8; font-size: 28px; }
.nt-about-grid--feature h3, .nt-about-grid--steps h3 { margin-top: 11px; }
.nt-about-grid--feature p, .nt-about-grid--steps p { font-size: 14px; line-height: 1.6; }
.nt-about-card-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 15px; font-size: 13px; text-decoration: none; }
.nt-about-card-link span { font-size: 18px; line-height: 1; transition: transform .15s ease; }
.nt-about-card-link:hover span { transform: translateX(3px); }
.nt-about-identity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nt-about-identity-grid article { padding: 24px; border: 1px solid #e1e8f0; border-radius: 16px; background: #fff; }
.nt-about-identity-grid h3 { margin: 0 0 10px; color: #102a4c; font-size: 18px; }
.nt-about-identity-grid p { margin: 0; color: #667085; font-size: 14px; line-height: 1.65; }
.nt-about-contact { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 22px; align-items: start; margin-top: 52px; padding: clamp(24px, 4vw, 38px); border: 1px solid #dce5ef; border-radius: 18px; background: #f7faff; }
.nt-about-contact__info h2 { margin: 8px 0 12px; color: #102a4c; font-size: clamp(25px, 3vw, 34px); line-height: 1.15; }
.nt-about-contact__info > p { margin: 0; color: #475467; font-size: 15px; line-height: 1.65; }
.nt-about-contact__details { display: grid; gap: 10px; margin-top: 22px; }
.nt-about-contact__details a { display: inline-flex; align-items: center; gap: 8px; width: fit-content; color: #0c5ca8; font-size: 15px; font-weight: 700; text-decoration: none; }
.nt-about-contact__details .material-symbols-outlined { font-size: 19px; }
.nt-about-form-card { padding: 24px; border: 1px solid #e1e8f0; border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(16,24,40,.055); }
.nt-about-form-card h3 { margin: 0 0 18px; color: #102a4c; font-size: 22px; }
.nt-about-form-card .ff-el-group { margin-bottom: 14px; }
.nt-about-form-card .ff-btn-submit { min-height: 44px; padding: 10px 22px; border: 0; border-radius: 9px; background: #0c5ca8; color: #fff; font-weight: 700; }
.nt-about-form-card .ff-btn-submit:hover { background: #084b8c; }
.nt-about-form-fallback { margin: 0; color: #667085; font-size: 14px; line-height: 1.6; }
.nt-about-form-fallback a { color: #0c5ca8; font-weight: 700; }
@media (max-width: 860px) {
  .nt-about-intro, .nt-about-contact { grid-template-columns: 1fr; }
  .nt-about-identity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .nt-about-intro__block, .nt-about-grid--feature > article, .nt-about-grid--steps > article, .nt-about-identity-grid article, .nt-about-form-card { padding: 20px; }
  .nt-about-identity-grid { grid-template-columns: 1fr; }
  .nt-about-contact { margin-top: 38px; padding: 18px; }
}

@media (max-width: 1000px) {
  .reklama-plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Listing submission sharing prompt. Facebook cannot publish directly to a
 * group without the user's explicit confirmation, so keep the share action
 * and the group destination as two clear, adjacent actions. */
.ntsolo-notice .ntsolo-facebook-share-hint {
  display: block;
  width: 100%;
  color: #526581;
  font-size: 13px;
  line-height: 1.45;
}
.ntsolo-notice .ntsolo-button--facebook-share,
.ntsolo-notice .ntsolo-button--facebook-group {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border-radius: 9px;
  padding: 0 15px;
  text-decoration: none;
  font-weight: 700;
  line-height: 1;
}
.ntsolo-notice .ntsolo-button--facebook-share {
  background: #1877f2;
  border: 1px solid #1877f2;
  color: #fff;
}
.ntsolo-notice .ntsolo-button--facebook-share:hover,
.ntsolo-notice .ntsolo-button--facebook-share:focus-visible {
  background: #0f62c9;
  border-color: #0f62c9;
  color: #fff;
}
.ntsolo-notice .ntsolo-button--facebook-group {
  background: #eef5ff;
  border: 1px solid #b7d2f5;
  color: #0c5ca8;
}
.ntsolo-notice .ntsolo-button--facebook-group:hover,
.ntsolo-notice .ntsolo-button--facebook-group:focus-visible {
  background: #dbeaff;
  border-color: #8fb9ed;
  color: #084b8a;
}
.reklama-scope-note{position:relative;z-index:3;margin:24px 0 18px;color:#667085;font-size:14px;line-height:1.55}
.reklama-main-title--nt{margin-bottom:10px}.reklama-lead-text--nt{margin-bottom:16px}.reklama-header-banner .reklama-main-title--nt ~ .reklama-main-title,.reklama-header-banner .reklama-lead-text--nt ~ .reklama-lead-text{display:none!important}
.nt-service-membership-cta{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:10px 14px;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:rgba(255,255,255,.12);color:#fff;font-size:13px;font-weight:800;text-decoration:none}.nt-service-membership-cta:hover{background:rgba(255,255,255,.2);color:#fff}
@media (max-width: 760px) {
  .reklama-header-banner { padding: 46px 0 64px; }
  .reklama-plans-grid { grid-template-columns: 1fr; margin-top: 0; }
  .reklama-split-container { grid-template-columns: 1fr; margin-top: 34px; padding: 22px; }
  .nt-form-page__hero { padding: 42px 0 46px; }
}

/* -------------------------------------------------------------------------
 * Final homepage search grid
 *
 * The search form is a 12-column CSS grid.  Older iterations of the form
 * added several competing desktop rules, so a mode-specific layout is kept
 * here as the single final source of truth.  The markup stays unchanged;
 * only the grid placement is defined in one place.
 * ------------------------------------------------------------------------- */
#ntsolo-homepage-search-form.ntsolo-home-search-card {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto !important;
  column-gap: 10px !important;
  row-gap: 12px !important;
  align-items: start !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-fields {
  display: contents !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--keyword {
  display: grid !important;
  grid-column: 1 / 4 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  height: 63px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category {
  display: grid !important;
  grid-column: 1 / 3 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--region {
  display: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row {
  display: flex !important;
  grid-column: 4 / 13 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-category-filters {
  display: block !important;
  grid-column: 3 / 10 !important;
  grid-row: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: start !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[hidden],
#ntsolo-homepage-search-form .ntsolo-home-category-filters[hidden] {
  display: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  transform: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-actions {
  display: flex !important;
  grid-column: 10 / 13 !important;
  grid-row: 2 !important;
  align-self: end !important;
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Services use the same stable grid, with location, category and keyword
 * visible together.  Both dropdowns are constrained to their own field so
 * the location list cannot cover the category field. */
#ntsolo-homepage-search-form[data-home-mode="services"].ntsolo-home-search-card {
  grid-template-rows: auto auto auto !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
  display: flex !important;
  grid-column: 1 / 13 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region {
  display: grid !important;
  grid-column: 1 / 5 !important;
  grid-row: 2 !important;
  width: auto !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  display: grid !important;
  grid-column: 5 / 9 !important;
  grid-row: 2 !important;
  width: auto !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  display: grid !important;
  grid-column: 9 / 13 !important;
  grid-row: 2 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 63px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-filters,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced-toggle,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-map-submit {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  display: flex !important;
  grid-column: 1 / 13 !important;
  grid-row: 3 !important;
  justify-content: flex-end !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  position: relative !important;
  z-index: 50 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region:focus-within,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category:focus-within {
  z-index: 100 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] #region-dropdown,
#ntsolo-homepage-search-form[data-home-mode="services"] #category-dropdown {
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  max-height: 300px !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  #ntsolo-homepage-search-form.ntsolo-home-search-card,
  #ntsolo-homepage-search-form[data-home-mode="services"].ntsolo-home-search-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form .ntsolo-home-field--category,
  #ntsolo-homepage-search-form .ntsolo-home-field--region,
  #ntsolo-homepage-search-form .ntsolo-home-category-filters,
  #ntsolo-homepage-search-form .ntsolo-home-search-actions,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel {
    grid-template-columns: 1fr !important;
  }
}


/* Final card readability pass.
 * These rules intentionally live at the end of the stylesheet so legacy
 * compact-card declarations cannot shrink the key homepage text again. */
.nt-home-premium .nt-home-card__author,
.nt-home-card--archive .nt-home-card__author { display: none !important; }
.nt-home-premium .nt-home-card__price-inline strong { font-size: 19px !important; line-height: 1.2 !important; }
.nt-home-premium .nt-home-card__facts > span { font-size: 12px !important; line-height: 1.35 !important; font-weight: 600 !important; }
.nt-home-premium .nt-home-card__location { color: #475467 !important; font-size: 14px !important; line-height: 1.35 !important; }
.nt-home-premium-row .nt-home-card__body { min-height: 132px !important; padding: 12px 13px 13px !important; }
.nt-home-premium-row .nt-home-card__price-inline strong { font-size: 18px !important; line-height: 1.2 !important; }
.nt-home-premium-row .nt-home-card__facts > span { min-height: 19px; font-size: 11px !important; line-height: 1.3 !important; font-weight: 600 !important; }
.nt-home-premium-row .nt-home-card__location { color: #475467 !important; font-size: 14px !important; line-height: 1.35 !important; }

/* Archive cards stay compact without making the listing text hard to scan. */
.nt-listings-page .nt-home-card--archive .nt-home-card__body { min-height: 116px !important; padding: 11px 13px 12px !important; }
.nt-listings-page .nt-home-card--archive .nt-home-card__price-inline strong { font-size: 18px !important; line-height: 1.2 !important; }
.nt-listings-page .nt-home-card--archive .nt-home-card__facts > span { min-height: 19px; font-size: 11px !important; line-height: 1.3 !important; font-weight: 600 !important; }
.nt-listings-page .nt-home-card--archive .nt-home-card__location { color: #475467 !important; font-size: 13px !important; line-height: 1.35 !important; }

/* Listing cards use the same clean, compact catalogue rhythm as the
 * reference: image first, then only the key type, title, location and price. */
.nt-listings-page .listings-grid { gap: 14px; }
.nt-listings-page .nt-home-card--archive .nt-home-card__image { aspect-ratio: 16 / 10; }
.nt-listings-page .nt-home-card--archive .nt-home-card__body { padding: 12px 13px 13px !important; }
.nt-listings-page .nt-home-card--archive .nt-home-card__eyebrow { margin-bottom: 5px; font-size: 10px; }
.nt-listings-page .nt-home-card--archive .nt-home-card__title { margin-bottom: 7px; font-size: 15px; line-height: 1.25; }
.nt-listings-page .nt-home-card--archive .nt-home-card__location { margin-bottom: 8px; font-size: 12px !important; }
.nt-listings-page .nt-home-card--archive .nt-home-card__price-inline strong { font-size: 18px !important; }
.nt-listings-page .nt-home-card--archive .nt-home-card__favorite { width: 32px; height: 32px; top: 9px; right: 9px; }

/* Keep the homepage card streams inside the same centered content container
 * as the rest of the site.  The shared archive-card class also adds
 * `nt-listings-page`, whose wide archive rules would otherwise let the
 * homepage rows stretch almost edge-to-edge. */
.nt-home-premium.nt-listings-page.nt-container {
  width: 100%;
  /* 1132px content + 20px side padding matches the homepage search and
   * secondary-navigation containers exactly. */
  max-width: 1172px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
  padding: 48px 20px 72px;
}

@media (max-width: 560px) {
  .nt-home-premium.nt-listings-page.nt-container {
    padding: 32px 16px 48px;
  }
}

/* Paslaugų rezultatų puslapyje nerodome NT žemėlapio stulpelio: paslaugų
 * teikėjų paieška vyksta pagal kategoriją ir Lietuvos miestą. */
.ntsolo-service-search .listing-layout {
  grid-template-areas: "filters results" !important;
  grid-template-columns: 292px minmax(0, 1fr) !important;
}
@media (max-width: 760px) {
  .ntsolo-service-search .listing-layout {
    grid-template-areas: "filters" "results" !important;
    grid-template-columns: 1fr !important;
  }
}

/* Keep only the global blue navigation strip. The search mode choice remains
 * inside the white search card, so there is no second full-width NT/Meistrai
 * bar below it. Align the strip's content with the homepage search width. */
#ntsolo-homepage-search-form .ntsolo-home-search-mode {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100% !important;
  max-width: 100%;
  margin: 0 0 14px;
  padding: 3px;
  border: 1px solid #e1e7ef;
  border-radius: 10px;
  background: #f5f7fa;
}
#ntsolo-homepage-search-form .ntsolo-home-search-mode button {
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #667085 !important;
  font-size: 13px;
}
#ntsolo-homepage-search-form .ntsolo-home-search-mode button.is-active,
#ntsolo-homepage-search-form .ntsolo-home-search-mode button[data-search-mode="services"].is-active {
  border: 1px solid #c8dcf5 !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  box-shadow: 0 1px 4px rgba(12,92,168,.12) !important;
}
.nt-secondary-nav__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 1132px;
  padding-right: 0;
  padding-left: 0;
}
@media (max-width: 700px) {
  .nt-secondary-nav__inner { max-width: none; padding-right: 16px; padding-left: 16px; }
}

/* Keep the first secondary-nav link visually inset even when the inner
 * container is aligned flush with the content column. */
.nt-secondary-nav a:first-child { padding-left: 14px; }
@media (max-width: 991px) {
  .nt-secondary-nav a:first-child { padding-left: 11px; }
}

/* NTsolo catalogue cards -------------------------------------------------- */
.nt-listing-layout-switcher {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  margin-left: auto;
  padding: 3px;
  border: 1px solid #dce5ef;
  border-radius: 9px;
  background: #f7faff;
  white-space: nowrap;
}
.nt-listing-layout-switcher__label {
  padding: 0 6px;
  color: #667085;
  font-size: 11px;
  font-weight: 700;
}
.nt-listing-layout-switcher button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #667085;
  font: 700 11px/1 "Hanken Grotesk", sans-serif;
  cursor: pointer;
}
.nt-listing-layout-switcher button .material-symbols-outlined { font-size: 16px; }
.nt-listing-layout-switcher button:hover,
.nt-listing-layout-switcher button:focus-visible { color: #0c5ca8; outline: none; }
.nt-listing-layout-switcher button.is-active {
  border-color: #c8dcf5;
  background: #fff;
  color: #0c5ca8;
  box-shadow: 0 1px 4px rgba(12,92,168,.12);
}

.nt-listings-page .nt-home-card--archive {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 13px rgba(16,24,40,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.nt-listings-page .nt-home-card--archive:hover {
  border-color: #b7d0eb;
  box-shadow: 0 10px 24px rgba(12,92,168,.13);
  transform: translateY(-2px);
}
.nt-listings-page .nt-home-card--archive .nt-home-card__image {
  aspect-ratio: 16 / 11;
  background: #edf5fb;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__body-link { color: inherit; }
.nt-listings-page .nt-home-card--archive .nt-home-card__body {
  display: flex;
  min-width: 0;
  min-height: 0 !important;
  flex-direction: column;
  gap: 0;
  padding: 14px 15px 15px !important;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__badge {
  top: 10px;
  left: 10px;
  min-height: 23px;
  padding: 0 9px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 7px;
  background: #0c5ca8;
  box-shadow: 0 2px 7px rgba(16,24,40,.22);
  font-size: 10px;
  letter-spacing: .02em;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__badge--top { background: #0b6fb8; }
.nt-listings-page .nt-home-card--archive .nt-home-card__badge--pro { background: #087f4f; }
.nt-listings-page .nt-home-card--archive .nt-home-card__badge--vip { background: #1958a6; }
.nt-listings-page .nt-home-card--archive .nt-home-card__emotion {
  top: 10px;
  left: 10px;
  min-height: 21px;
  padding: 0 7px;
  border-radius: 6px;
  background: rgba(255,255,255,.95);
  color: #0c5ca8;
  font-size: 9px;
}
.nt-home-card__eyebrow {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0 0 5px;
  color: #667085;
  font-size: 11px;
  line-height: 1.25;
}
.nt-home-card__eyebrow span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nt-home-card__eyebrow span + span::before { content: '·'; margin-right: 6px; color: #98a2b3; }
.nt-listings-page .nt-home-card--archive .nt-home-card__title {
  display: -webkit-box;
  overflow: hidden;
  min-height: 0;
  margin: 0 0 8px;
  color: #102a4c;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.23;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 8px;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__facts > span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-height: 23px;
  padding: 0 7px;
  border: 1px solid #e2ebf4;
  border-radius: 6px;
  background: #f7faff;
  color: #475467;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__facts > span + span::before { display: none; }
.nt-listings-page .nt-home-card--archive .nt-home-card__facts .material-symbols-outlined {
  display: inline-block;
  color: #0c5ca8;
  font-size: 15px;
  line-height: 1;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__location {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 4px;
  overflow: hidden;
  margin: auto 0 8px;
  color: #475467;
  font-size: 12px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__location .material-symbols-outlined { flex: 0 0 auto; color: #0c5ca8; font-size: 16px; }
.nt-listings-page .nt-home-card--archive .nt-home-card__price-inline {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 0;
  color: #0c5ca8;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__price-inline strong { color: #0c5ca8; font-size: 20px !important; line-height: 1.1 !important; }
.nt-listings-page .nt-home-card--archive .nt-home-card__price-per-area { color: #667085; font-size: 11px; white-space: nowrap; }

/* Horizontal catalogue mode: one roomy row per result, with the image as a
 * stable visual anchor and the essential details aligned in one column. */
.nt-listings-page--horizontal .listings-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
.nt-listings-page--horizontal .nt-home-card--archive {
  display: grid;
  grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
  min-height: 208px;
}
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__image { height: 100%; min-height: 208px; aspect-ratio: auto; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__body-link { display: flex; min-width: 0; grid-column: 2; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__body { width: 100%; padding: 18px 22px !important; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__location { order: -4; margin: 0 0 5px; font-size: 13px; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__title { order: -3; max-width: 68%; margin-bottom: 8px; font-size: 21px; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__eyebrow { order: -2; margin-bottom: 9px; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__facts { order: -1; gap: 8px 14px; margin-bottom: 0; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__facts > span { border: 0; border-radius: 0; background: transparent; padding: 0; font-size: 12px !important; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline { position: absolute; top: 19px; right: 22px; display: block; text-align: right; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline strong { display: block; font-size: 22px !important; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-per-area { display: block; margin-top: 3px; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__favorite { top: 14px; right: 14px; width: 34px; height: 34px; }
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline { padding-right: 40px; }

@media (max-width: 900px) {
  .nt-listing-layout-switcher__label { display: none; }
  .nt-listings-page--horizontal .nt-home-card--archive { grid-template-columns: minmax(170px, 36%) minmax(0, 1fr); }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__image { min-height: 180px; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__body { padding: 14px 16px !important; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__title { max-width: 58%; font-size: 18px; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline { top: 15px; right: 16px; }
}
@media (max-width: 620px) {
  .nt-listing-results-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .nt-listing-layout-switcher { margin-left: 0; }
  .nt-listings-page--horizontal .listings-grid { grid-template-columns: 1fr; }
  .nt-listings-page--horizontal .nt-home-card--archive { display: flex; min-height: 0; flex-direction: column; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__image { width: 100%; min-height: 0; aspect-ratio: 16 / 10; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__body-link { display: block; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__body { padding: 14px 15px 15px !important; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__location,
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__eyebrow,
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__facts,
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__title { order: initial; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__title { max-width: none; font-size: 17px; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline { position: static; display: flex; padding-right: 0; text-align: left; }
  .nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline strong { font-size: 20px !important; }
}

/* Locations stay readable: wrap long addresses instead of hiding them with
 * an ellipsis. The icon remains a separate, fixed-width visual anchor. */
.nt-home-card__location {
  display: flex !important;
  align-items: flex-start;
  gap: 5px;
  overflow: visible !important;
  min-width: 0;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere;
}
.nt-home-card__location .material-symbols-outlined {
  flex: 0 0 auto;
  color: #0c5ca8;
  font-size: 16px;
  line-height: 1.25;
}
.nt-home-card__location-text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.nt-listings-page .nt-home-card--archive .nt-home-card__location {
  margin-top: auto;
  white-space: normal !important;
}
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__location {
  margin-top: 0 !important;
}
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline {
  position: static !important;
  display: flex !important;
  align-items: baseline;
  gap: 7px;
  margin-top: auto !important;
  padding-right: 0 !important;
  text-align: left;
}
.nt-listings-page--horizontal .nt-home-card--archive .nt-home-card__price-inline strong {
  display: inline !important;
}
.nt-home-card__image .nt-home-card__location { display: none !important; }

/* Service mode is keyword/category/location based. Never expose NT-only
 * detailed criteria even if an old cached form or URL contains them. */
.ntsolo-service-search .ntsolo-archive-advanced-toggle,
.ntsolo-service-search .ntsolo-archive-advanced-filters { display: none !important; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced-toggle,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-filters { display: none !important; }

/* Homepage card orientation switch. The reference image's red annotations
 * are not part of the UI; these controls use the NTsolo blue interface. */
.nt-home-layout-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  width: 100%;
  margin: 0 0 16px;
  color: #667085;
  font-size: 12px;
}
.nt-home-layout-toolbar__label { margin-right: 4px; font-weight: 700; }
.nt-home-layout-toolbar__button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  background: #fff;
  color: #475467;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
.nt-home-layout-toolbar__button .material-symbols-outlined { font-size: 18px; }
.nt-home-layout-toolbar__button:hover,
.nt-home-layout-toolbar__button:focus-visible { border-color: #84adff; color: #0c5ca8; outline: none; }
.nt-home-layout-toolbar__button.is-active { border-color: #0c5ca8; background: #eef5ff; color: #0c5ca8; box-shadow: 0 2px 7px rgba(12,92,168,.12); }

/* On the homepage the layout switcher lives in the first visible section
 * header, so it must occupy only its intrinsic width and stay on the right. */
.nt-home-premium section > header > .nt-home-layout-toolbar {
  width: auto;
  flex: 0 0 auto;
  margin: 0;
  justify-content: flex-start;
}
.nt-home-premium .nt-home-latest__controls-only {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
}
.nt-home-premium .nt-home-latest__controls-only:not(.has-layout-controls) {
  justify-content: space-between;
}

.nt-home-premium .nt-home-latest__controls-only > div:first-of-type {
  margin-right: auto;
  text-align: left;
}
.nt-home-premium .nt-home-latest__controls-only > div:first-of-type h2 {
  margin-left: 0;
  text-align: left;
}

/* Vertical is the compact image-over-content card used by default. Horizontal
 * turns each card into a readable image-and-details row for larger screens. */
.nt-home-premium--horizontal .nt-home-grid,
.nt-home-premium--horizontal .nt-home-service-grid:not(.nt-home-carousel) { grid-template-columns: minmax(0, 1fr); }
.nt-home-premium--horizontal .nt-home-card,
.nt-home-premium--horizontal .nt-service-card { grid-template-columns: minmax(170px, 36%) minmax(0, 1fr); display: grid; min-width: 0; }
.nt-home-premium--horizontal .nt-home-card__image,
.nt-home-premium--horizontal .nt-service-card__image { height: 100%; min-height: 156px; aspect-ratio: auto; }
.nt-home-premium--horizontal .nt-home-card__body-link { display: flex; min-width: 0; }
.nt-home-premium--horizontal .nt-home-card__body { display: flex; min-width: 0; min-height: 0 !important; flex-direction: column; justify-content: center; padding: 15px !important; }
.nt-home-premium--horizontal .nt-service-card__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 15px !important; }
.nt-home-premium--horizontal .nt-home-card__favorite { top: 9px; right: 9px; }
.nt-home-premium--horizontal .nt-home-card__author { display: none !important; }

@media (max-width: 700px) {
  .nt-home-layout-toolbar { justify-content: flex-start; flex-wrap: wrap; margin-bottom: 13px; }
  .nt-home-premium section > header > .nt-home-layout-toolbar { margin-bottom: 0; }
  .nt-home-premium--horizontal .nt-home-grid,
  .nt-home-premium--horizontal .nt-home-service-grid:not(.nt-home-carousel) { grid-template-columns: 1fr; }
  .nt-home-premium--horizontal .nt-home-card,
  .nt-home-premium--horizontal .nt-service-card { grid-template-columns: minmax(120px, 36%) minmax(0, 1fr); }
  .nt-home-premium--horizontal .nt-home-card__image,
  .nt-home-premium--horizontal .nt-service-card__image { min-height: 132px; }
}

/* Vertical archive view: show three compact cards per row on desktop. The
 * horizontal view intentionally remains one result per row. */
.nt-listings-page:not(.nt-listings-page--horizontal) .listings-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1050px) and (min-width: 761px) {
  .nt-listings-page:not(.nt-listings-page--horizontal) .listings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .nt-listings-page:not(.nt-listings-page--horizontal) .listings-grid {
    grid-template-columns: 1fr;
  }
}

/* Homepage search card ----------------------------------------------------
 * Compact, Aruodas-inspired layout: location and purpose on the first row,
 * object-specific controls on the second row, and the category rail below. */
.ntsolo-home-search-layout {
  position: relative;
  display: block !important;
  width: 100%;
  max-width: 1132px;
  margin: 0 auto;
}
.ntsolo-home-search-surface {
  box-sizing: border-box;
  overflow: visible;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16,24,40,.08);
}
#ntsolo-homepage-search-form.ntsolo-home-search-card {
  display: grid !important;
  grid-template-columns: 1.05fr .86fr 1.04fr 1.04fr .9fr 1.06fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 12px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 22px 22px 18px !important;
  box-sizing: border-box;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
}
#ntsolo-homepage-search-form .ntsolo-search-mode__hint { display: none !important; }
#ntsolo-homepage-search-form .ntsolo-home-purpose-row {
  display: flex;
  grid-column: 5 / 7;
  grid-row: 1;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  padding-bottom: 1px;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row {
  position: relative;
  align-items: end;
  padding-top: 17px;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row__label {
  position: absolute;
  top: 0;
  right: 0;
}
.ntsolo-home-purpose-row__label {
  align-self: start;
  margin-top: 0;
  color: #475467;
  font-size: 11px;
  font-weight: 700;
}
.ntsolo-home-purpose-row__buttons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; width: 100%; min-width: 0; }
#ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 40px;
  width: 100%;
  min-width: 0;
  padding: 0 8px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut.is-active {
  border-color: #0c5ca8 !important;
  background: #0c5ca8 !important;
  color: #fff !important;
  box-shadow: 0 3px 8px rgba(12,92,168,.18);
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row .material-symbols-outlined { font-size: 16px; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav {
  grid-column: 1 / -1;
  grid-row: 3;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 2px 0 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid #eef2f6;
  border-bottom: 0;
}
#ntsolo-homepage-search-form .ntsolo-home-category-nav > button,
#ntsolo-homepage-search-form .ntsolo-home-category-nav > .ntsolo-home-more-wrap { min-width: 0; }
#ntsolo-homepage-search-form .ntsolo-home-category-nav > button,
#ntsolo-homepage-search-form .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  justify-items: start;
  column-gap: 9px;
  min-height: 58px !important;
  padding: 8px 12px !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  text-align: left;
}
#ntsolo-homepage-search-form .ntsolo-home-category-nav > button .material-symbols-outlined,
#ntsolo-homepage-search-form .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button .material-symbols-outlined {
  grid-row: 1 / 3;
  color: #0c5ca8;
  font-size: 23px;
}
#ntsolo-homepage-search-form .ntsolo-home-category-nav > button:hover,
#ntsolo-homepage-search-form .ntsolo-home-category-nav > button.is-active,
#ntsolo-homepage-search-form .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button:hover,
#ntsolo-homepage-search-form .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button.is-active {
  border-color: #b7d0eb !important;
  background: #f5f9ff !important;
}
#ntsolo-homepage-search-form .ntsolo-home-category-nav .ntsolo-home-more-wrap { position: relative; }
#ntsolo-homepage-search-form .ntsolo-home-search-fields { display: contents !important; }
#ntsolo-homepage-search-form .ntsolo-home-field--region {
  display: block !important;
  grid-column: 1 / 5;
  grid-row: 1;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category {
  display: block !important;
  grid-column: 1;
  grid-row: 2;
}
#ntsolo-homepage-search-form .ntsolo-home-field--keyword { display: none !important; }
#ntsolo-homepage-search-form .ntsolo-home-field__label {
  min-height: 17px !important;
  margin: 0 0 5px !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
#ntsolo-homepage-search-form #category-trigger,
#ntsolo-homepage-search-form #region-trigger {
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 11px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
#ntsolo-homepage-search-form #region-trigger { color: #667085 !important; }
#ntsolo-homepage-search-form .ntsolo-home-category-filters {
  display: block !important;
  grid-column: 2 / 5;
  grid-row: 2;
  width: auto !important;
  margin: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field { min-width: 0; }
#ntsolo-homepage-search-form .ntsolo-home-filter-field > label,
#ntsolo-homepage-search-form .ntsolo-home-quick-label {
  min-height: 17px;
  margin: 0 0 5px;
  color: #475467;
  font-size: 11px;
  font-weight: 700;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field select,
#ntsolo-homepage-search-form #ntsolo-beds-select {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #667085 !important;
  font-size: 12px !important;
  box-sizing: border-box;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="butas"] .ntsolo-home-filter-field:nth-child(2) { order: 3; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="butas"] .ntsolo-home-filter-field:nth-child(3) { order: 2; }
#ntsolo-homepage-search-form .ntsolo-home-search-actions {
  display: flex !important;
  grid-column: 5 / 7;
  grid-row: 2;
  align-items: end;
  justify-content: flex-end;
  gap: 8px;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-toggle {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-width: 108px;
  height: 40px;
  min-height: 40px;
  padding: 0 9px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  font-size: 11px;
  white-space: nowrap;
}
#ntsolo-homepage-search-form .ntsolo-home-map-submit { display: none !important; }
#ntsolo-homepage-search-form .ntsolo-home-search-actions .ntsolo-home-submit {
  display: inline-flex !important;
  width: auto !important;
  min-width: 140px;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 14px !important;
  border-radius: 7px !important;
  background: #0c5ca8 !important;
  font-size: 12px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced[hidden] { display: none !important; }
.ntsolo-home-saved-search {
  position: absolute;
  top: 23px;
  right: 24px;
  z-index: 40;
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: right;
}
.ntsolo-home-saved-search > .material-symbols-outlined,
.ntsolo-home-saved-search > h2,
.ntsolo-home-saved-search > p { display: none !important; }
.ntsolo-home-saved-search a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #0c5ca8 !important;
  font-size: 11px !important;
  font-weight: 700;
  text-decoration: none;
}
.ntsolo-home-saved-search a .material-symbols-outlined { font-size: 17px; }

/* Services retain a useful keyword + location search and do not inherit the
 * NT-specific room/price/area controls. */
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-nav,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-filters { display: none !important; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region { grid-column: 1 / 4; grid-row: 1; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category { grid-column: 4 / 7; grid-row: 1; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword { display: none !important; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions { grid-column: 1 / 7; grid-row: 2; justify-content: flex-end; }

@media (max-width: 760px) {
  #ntsolo-homepage-search-form.ntsolo-home-search-card { grid-template-columns: 1fr 1fr; padding: 16px !important; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form .ntsolo-home-field--region,
  #ntsolo-homepage-search-form .ntsolo-home-field--category,
  #ntsolo-homepage-search-form .ntsolo-home-category-filters,
  #ntsolo-homepage-search-form .ntsolo-home-search-actions,
  #ntsolo-homepage-search-form .ntsolo-home-category-nav { grid-column: 1 / -1; }
  #ntsolo-homepage-search-form .ntsolo-home-field--region { grid-row: 2; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row { grid-row: 1; justify-content: flex-start; }
  #ntsolo-homepage-search-form .ntsolo-home-field--category { grid-row: 3; }
  #ntsolo-homepage-search-form .ntsolo-home-category-filters { grid-row: 4; }
  #ntsolo-homepage-search-form .ntsolo-home-search-actions { grid-row: 5; }
  #ntsolo-homepage-search-form .ntsolo-home-category-nav { grid-row: 6; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ntsolo-home-saved-search { top: 16px; right: 16px; }
}

@media (max-width: 460px) {
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row { flex-direction: column; align-items: flex-start; gap: 5px; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons,
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons button { width: 100%; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons button { flex: 1 1 0; }
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel { grid-template-columns: 1fr; }
  #ntsolo-homepage-search-form .ntsolo-home-search-actions { flex-wrap: wrap; }
  #ntsolo-homepage-search-form .ntsolo-home-advanced-toggle,
  #ntsolo-homepage-search-form .ntsolo-home-search-actions .ntsolo-home-submit { flex: 1 1 100%; width: 100% !important; }
}

/* Homepage filter: keep the primary NT controls visible in the compact
 * reference layout. Older rules hide these fields until a secondary state is
 * selected, which is not appropriate for the default search form. */
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--region,
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--category {
  display: block !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword {
  display: none !important;
}

/* The saved-search link is a small utility in the card, not a second panel. */
#ntsolo-homepage-search-form .ntsolo-home-saved-search {
  position: absolute !important;
  top: 18px !important;
  right: 22px !important;
  bottom: auto !important;
  left: auto !important;
  inset-block-end: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: auto !important;
  justify-self: auto !important;
  padding: 0 !important;
}
.ntsolo-home-saved-search {
  top: 18px !important;
  right: 22px !important;
  bottom: auto !important;
  left: auto !important;
  inset-block-end: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 0 !important;
}

/* Keep the homepage hero as a lightweight wrapper for the filter only. */
.nt-home-hero.nt-home-hero {
  min-height: 0 !important;
  padding: 12px 24px 24px !important;
  color: #102a4c !important;
  background: #f7fbff !important;
  background-image: none !important;
}

/* Category tiles intentionally sit below the white filter card, matching the
 * supplied reference. They remain inside the same centered search layout. */
.ntsolo-home-search-layout > .ntsolo-home-category-nav {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav[hidden] { display: none !important; }
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  min-width: 0;
  min-height: 60px !important;
  padding: 10px 12px !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  text-align: left;
  box-shadow: 0 1px 3px rgba(16,24,40,.03);
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button .material-symbols-outlined,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button .material-symbols-outlined {
  grid-row: 1 / 3;
  color: #0c5ca8;
  font-size: 23px;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button > span:not(.material-symbols-outlined),
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button > span:not(.material-symbols-outlined) {
  overflow: hidden;
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav small {
  color: #667085;
  font-size: 10px;
  line-height: 1.2;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button:hover,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button.is-active,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button:hover,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button.is-active {
  border-color: #b7d0eb !important;
  background: #f5f9ff !important;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav .ntsolo-home-more-wrap { position: relative; min-width: 0; }
.ntsolo-home-search-layout > .ntsolo-home-category-nav .ntsolo-home-more-menu {
  position: absolute;
  z-index: 1000;
  top: calc(100% + 10px);
  right: 0;
  left: auto;
  display: grid;
  width: 292px;
  max-height: 360px;
  padding: 8px;
  overflow-y: auto;
  border: 1px solid #e4e7ec;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(16,24,40,.18);
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav .ntsolo-home-more-menu[hidden] { display: none !important; }
.ntsolo-home-search-layout > .ntsolo-home-category-nav .ntsolo-home-more-menu button {
  display: flex !important;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #344054 !important;
  text-align: left;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav .ntsolo-home-more-menu button:hover { background: #f5f8fc !important; color: #0c5ca8 !important; }
.nt-home-hero .ntsolo-home-hero-copy {
  position: relative;
  z-index: 1;
  width: min(100%, 1132px);
  margin: 0 auto 16px;
  text-align: left;
}
.nt-home-hero .ntsolo-home-hero-copy h1 {
  display: block !important;
  max-width: 350px;
  margin: 0 0 7px !important;
  color: #172b4d !important;
  font-size: clamp(27px, 3vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em;
}
.nt-home-hero .ntsolo-home-hero-copy h1 span,
.nt-home-hero .ntsolo-home-hero-copy h1 strong {
  display: block;
}
.nt-home-hero .ntsolo-home-hero-copy h1 span { color: #172b4d !important; }
.nt-home-hero .ntsolo-home-hero-copy h1 strong { color: #1769b0 !important; }
.nt-home-hero .ntsolo-home-hero-copy p {
  max-width: 410px;
  margin: 0 !important;
  color: #64748b !important;
  font-size: 13px !important;
  line-height: 1.5;
}
#ntsolo-homepage-search-form .ntsolo-home-category-nav {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
@media (max-width: 760px) {
  .nt-home-hero.nt-home-hero {
    padding: 22px 12px 24px !important;
    background-position: 170px 6px !important;
    background-size: 560px auto !important;
  }
  .nt-home-hero .ntsolo-home-hero-copy { margin-bottom: 12px; }
  .nt-home-hero .ntsolo-home-hero-copy h1 { max-width: 280px; font-size: 28px !important; }
  #ntsolo-homepage-search-form .ntsolo-home-category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* The final homepage variant keeps the filter surface compact: no hero copy
 * or artwork, only the search controls and category tiles. */
.nt-home-hero.nt-home-hero {
  padding: 12px 24px 24px !important;
  background-color: #f7fbff !important;
  background-image: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
  display: flex !important;
  grid-column: 1 / -1;
  grid-row: 1;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row__label { display: none; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  display: block !important;
  grid-row: 2;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region { grid-column: 1 / 4; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category { grid-column: 4 / 7; }
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  grid-column: 1 / -1;
  grid-row: 3;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-card,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-fields { min-height: 0; }

@media (max-width: 760px) {
  .nt-home-hero.nt-home-hero { padding: 12px 12px 22px !important; }
  .ntsolo-home-search-layout > .ntsolo-home-category-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Final alignment pass for the compact homepage search. Keep the first row
 * on one baseline and keep the location placeholder left aligned. The
 * category rail is a sibling of the white filter surface (see the rules
 * above), so it never becomes part of the filter card. */
#ntsolo-homepage-search-form.ntsolo-home-search-card {
  /* Use an explicit 12-column grid so the two visual rows have a stable
   * structure instead of letting the contents wrap unpredictably. */
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 12px;
}
#ntsolo-homepage-search-form .ntsolo-home-field--region {
  /* Keep the location control compact so the purpose buttons can start
   * much closer to the left side of the first row. */
  grid-column: 1 / 4;
  grid-row: 1;
  justify-self: start !important;
  width: 317px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--region > .ntsolo-home-field__label,
#ntsolo-homepage-search-form .ntsolo-home-field--region #region-trigger,
#ntsolo-homepage-search-form .ntsolo-home-field--region #region-dropdown {
  width: 317px !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row {
  grid-column: 4 / 13;
  grid-row: 1;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 5px;
  padding: 0 !important;
  padding-left: 6.6667% !important;
  box-sizing: border-box !important;
  min-width: 0;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row__label {
  position: static !important;
  display: block;
  min-height: 17px;
  margin: 0 !important;
  text-align: left;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons {
  flex: 0 0 40px;
  min-height: 40px;
  grid-template-columns: repeat(3, minmax(100px, 150px));
  justify-content: start;
  gap: 8px;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category {
  display: grid !important;
  grid-template-rows: 17px 40px;
  row-gap: 6px;
  align-content: start;
  grid-column: 1 / 3;
  grid-row: 2;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--category {
  display: grid !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category .ntsolo-home-field__label {
  display: block !important;
  height: 17px;
  min-height: 17px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category #category-trigger {
  grid-row: 2;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category #category-dropdown {
  top: 63px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field {
  display: grid !important;
  grid-template-rows: 17px 40px;
  row-gap: 6px;
  align-content: start;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > label,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-quick-label {
  display: block !important;
  grid-row: 1;
  height: 17px;
  min-height: 17px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > select,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-range,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-choice-buttons,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-room-buttons {
  grid-row: 2;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-range {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  height: 40px;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-range input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > select,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > input {
  height: 40px !important;
  min-height: 40px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button,
#ntsolo-homepage-search-form .ntsolo-home-choice-buttons button {
  height: 40px !important;
  min-height: 40px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field--floor {
  align-self: start !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field--floor .ntsolo-home-choice-buttons button:nth-child(1),
#ntsolo-homepage-search-form .ntsolo-home-filter-field--floor .ntsolo-home-choice-buttons button:nth-child(2) {
  flex: 0 0 42px;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field--floor .ntsolo-home-choice-buttons button:nth-child(3),
#ntsolo-homepage-search-form .ntsolo-home-filter-field--floor .ntsolo-home-choice-buttons button:nth-child(4) {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid #eef2f6;
  box-sizing: border-box;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) > label {
  display: grid !important;
  grid-template-rows: 17px 40px;
  gap: 6px;
  min-width: 0;
  margin: 0 !important;
  color: #475467;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) input {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  color: #344054 !important;
  font-size: 12px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-category-filters {
  /* Give dynamic category panels enough room for their own controls,
   * especially the long "Daugiau nei 2" floor option. */
  grid-column: 3 / 10;
  grid-row: 2;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] {
  /* Houses use a fixed two-row, three-column matrix.  Explicit placement
   * keeps the second row (Įrengimas / Aukštai / Metai) in the same columns as
   * the first row and avoids inherited transforms or auto-placement gaps. */
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto !important;
  gap: 10px !important;
  align-items: start !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field {
  grid-column: auto !important;
  grid-row: auto !important;
  transform: none !important;
  margin: 0 !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(3) { grid-column: 3 !important; grid-row: 1 !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(4) { grid-column: 1 !important; grid-row: 2 !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(5) { grid-column: 2 !important; grid-row: 2 !important; }
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(6) { grid-column: 3 !important; grid-row: 2 !important; }
@media (max-width: 760px) {
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}
#ntsolo-homepage-search-form .ntsolo-home-search-actions {
  grid-column: 10 / 13;
  grid-row: 2;
}
#ntsolo-homepage-search-form #region-trigger {
  justify-content: flex-start !important;
  gap: 8px;
  text-align: left !important;
}
#ntsolo-homepage-search-form #region-trigger > #region-selected-label {
  overflow: hidden;
  min-width: 0;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#ntsolo-homepage-search-form #region-trigger > .material-symbols-outlined:last-child {
  margin-left: auto;
}
#ntsolo-homepage-search-form .ntsolo-home-field--region #region-trigger {
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 11px !important;
  border-radius: 7px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--region #region-trigger::before {
  content: none !important;
  margin: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-region-icon {
  flex: 0 0 auto;
  color: #0c5ca8;
  font-size: 19px;
  line-height: 1;
}

/* Services use the same two-row shell, without inheriting NT-only controls. */
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region {
  grid-column: 1 / 7;
  grid-row: 1;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  grid-column: 7 / 13;
  grid-row: 1;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  grid-column: 1 / 13;
  grid-row: 2;
}

@media (max-width: 760px) {
  #ntsolo-homepage-search-form.ntsolo-home-search-card { grid-template-columns: 1fr 1fr; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form .ntsolo-home-field--region,
  #ntsolo-homepage-search-form .ntsolo-home-field--category,
  #ntsolo-homepage-search-form .ntsolo-home-category-filters,
  #ntsolo-homepage-search-form .ntsolo-home-search-actions { grid-column: 1 / -1; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row { grid-row: 1; }
  #ntsolo-homepage-search-form .ntsolo-home-field--region { grid-row: 2; }
  #ntsolo-homepage-search-form .ntsolo-home-field--region,
  #ntsolo-homepage-search-form .ntsolo-home-field--region > .ntsolo-home-field__label,
  #ntsolo-homepage-search-form .ntsolo-home-field--region #region-trigger,
  #ntsolo-homepage-search-form .ntsolo-home-field--region #region-dropdown {
    width: 100% !important;
    min-width: 0;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row { padding-left: 0 !important; }
  #ntsolo-homepage-search-form .ntsolo-home-field--category { grid-row: 3; }
  #ntsolo-homepage-search-form .ntsolo-home-category-filters { grid-row: 4; }
  #ntsolo-homepage-search-form .ntsolo-home-search-actions { grid-row: 5; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
  }
}

/* Category tiles fill the same container edge-to-edge. The final tile must
 * stretch too; otherwise the "Daugiau" button ends noticeably early. */
.ntsolo-home-search-layout > .ntsolo-home-category-nav {
  justify-content: space-between;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
  width: 100% !important;
  min-width: 0;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
  grid-template-columns: 30px minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 1px;
}

/* Paslaugos mode has its own compact search: category, location and a
 * keyword field stay visible, while NT-only filters remain hidden. */
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region {
  grid-column: 1 / 5;
  grid-row: 1;
  width: 100% !important;
  justify-self: stretch !important;
  align-self: start !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region > .ntsolo-home-field__label,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region #region-trigger,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region #region-dropdown {
  width: 100% !important;
  max-width: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  display: grid !important;
  grid-template-rows: 17px 40px;
  row-gap: 6px;
  align-content: start;
  grid-column: 5 / 9;
  grid-row: 1;
  width: auto !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category .ntsolo-home-field__label {
  display: block !important;
  height: 17px;
  min-height: 17px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category #category-trigger {
  grid-row: 2;
  width: 100% !important;
  max-width: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  display: grid !important;
  grid-template-rows: 17px 40px;
  row-gap: 6px;
  align-content: start;
  grid-column: 9 / 13;
  grid-row: 1;
  height: 63px !important;
  width: auto !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword .ntsolo-home-field__label {
  display: block !important;
  grid-row: 1;
  height: 17px;
  min-height: 17px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword > div {
  grid-row: 2;
  height: 40px !important;
  min-height: 40px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword input {
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 11px !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  grid-column: 1 / 13;
  grid-row: 2;
}

@media (max-width: 760px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
    grid-column: 1 / -1;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region { grid-row: 2; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category { grid-row: 3; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword { grid-row: 4; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions { grid-row: 5; }
}

/* NT kambarių filtras palaiko kelis pasirinkimus (pvz., 2 ir 3 kambarius).
 * Mygtukai turi išlaikyti vienodą, kompaktišką dydį kaip kiti greitieji laukai. */
#ntsolo-homepage-search-form .ntsolo-home-filter-field--rooms [data-flat-room-buttons] {
  display: flex !important;
  gap: 6px;
  min-width: 0;
  height: 40px;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field--rooms [data-flat-room-buttons] button {
  flex: 1 1 0;
  min-width: 0;
  width: auto !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 7px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #667085 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field--rooms [data-flat-room-buttons] button:hover,
#ntsolo-homepage-search-form .ntsolo-home-filter-field--rooms [data-flat-room-buttons] button.is-active {
  border-color: #0c5ca8 !important;
  background: #eef5ff !important;
  color: #0c5ca8 !important;
}

/* Keep the NT / Paslaugos switch visible after entering Paslaugos mode. This
 * prevents the search from becoming a dead-end and lets users move between
 * the two catalogues without reloading the page. */
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
  display: flex !important;
  grid-column: 1 / 13 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region {
  grid-column: 1 / 5 !important;
  grid-row: 2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  grid-column: 5 / 9 !important;
  grid-row: 2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  grid-column: 9 / 13 !important;
  grid-row: 2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  grid-column: 1 / 13 !important;
  grid-row: 3 !important;
}
@media (max-width: 760px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row { grid-row: 1 !important; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region { grid-row: 2 !important; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category { grid-row: 3 !important; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword { grid-row: 4 !important; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions { grid-row: 5 !important; }
}

/* Final Paslaugos search layout. Services are searched by a category and one
 * natural-language query (Aruodas-style), so the NT location control and all
 * NT-only quick filters stay out of this mode. Keep the purpose switch and
 * action buttons visible so the search never turns into a dead end. */
#ntsolo-homepage-search-form[data-home-mode="services"] {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto auto !important;
  row-gap: 12px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
  display: flex !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  align-items: center !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row__label,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  display: grid !important;
  grid-column: 1 / 5 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  display: grid !important;
  grid-column: 5 / -1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  display: flex !important;
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced-toggle {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-map-submit {
  display: inline-flex !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category #category-trigger,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword input {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
    justify-content: stretch !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions > * {
    flex: 1 1 0;
    min-width: 0;
  }
}

/* Nuomos filtre turi rodyti visą kainos intervalą (nuo / iki), kaip ir
 * pardavimo paieškoje. Ankstesnė taisyklė slėpė minimalią kainą ir palikdavo
 * tik vieną lauką. */
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-range {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-range input[name$="_min_quick"],
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-range input[name$="_max_quick"] {
  display: block !important;
  width: 100% !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-room-buttons {
  display: flex !important;
  gap: 6px !important;
  min-width: 0 !important;
  height: 40px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[data-filter-panel="nuoma"] .ntsolo-home-room-buttons button {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 7px !important;
}

/* Use the same natural-language query for every search mode. Sale and rent
 * should not switch to a separate location-only control: users can type
 * “butas Vilniuje”, “namas Kaune” or any other phrase and the existing
 * natural-search parser will map it to category and location filters. */
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--region {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  row-gap: 6px !important;
  align-content: start !important;
  align-self: start !important;
  grid-column: 1 / 4 !important;
  grid-row: 1 !important;
  width: 317px !important;
  max-width: none !important;
  height: 63px !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword .ntsolo-home-field__label {
  display: block !important;
  grid-row: 1 !important;
  height: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword > div {
  grid-row: 2 !important;
  height: 40px !important;
  min-height: 40px !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword input {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
}
@media (max-width: 760px) {
  #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-purpose-row {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--category {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-category-filters {
    grid-column: 1 / -1 !important;
    grid-row: 4 !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-search-actions {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
  }
}

/* Keep the first listing row close to the search surface. The previous
 * container + section padding stacked to an oversized blank band above the
 * cards, which became especially noticeable when the service form shortened. */
.nt-home-premium.nt-listings-page.nt-container {
  padding-top: 20px !important;
}
.nt-home-premium .nt-home-latest {
  padding-top: 12px !important;
}
@media (max-width: 560px) {
  .nt-home-premium.nt-listings-page.nt-container {
    padding-top: 20px !important;
  }
  .nt-home-premium .nt-home-latest {
    padding-top: 12px !important;
  }
}

/* Paslaugos mode mirrors the NT first row: only the left field changes from
 * location to the natural-language service query. The purpose buttons keep
 * their exact NT position on the right. */
#ntsolo-homepage-search-form[data-home-mode="services"] {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto !important;
  padding-top: 22px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
  display: flex !important;
  grid-column: 4 / 13 !important;
  grid-row: 1 !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  /* Keep service mode on the same first-row baseline as NT mode. The
   * previous top padding made the whole service field cluster appear to
   * drop down when switching modes. */
  padding: 0 0 0 6.6667% !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row__label {
  display: block !important;
  position: static !important;
  min-height: 17px !important;
  margin: 0 !important;
  text-align: left !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-filters {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  row-gap: 6px !important;
  align-content: start !important;
  grid-column: 1 / 4 !important;
  grid-row: 1 !important;
  width: 317px !important;
  max-width: none !important;
  height: 63px !important;
  min-width: 0 !important;
  align-self: start !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword .ntsolo-home-field__label {
  display: block !important;
  grid-row: 1 !important;
  height: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword > div {
  grid-row: 2 !important;
  height: 40px !important;
  min-height: 40px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword input {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  display: flex !important;
  grid-column: 10 / 13 !important;
  grid-row: 2 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced-toggle {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-map-submit {
  display: inline-flex !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 0 7px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions .ntsolo-home-submit {
  min-width: 0 !important;
  width: auto !important;
  padding: 0 10px !important;
}
@media (max-width: 760px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
    grid-column: 1 / -1 !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row { grid-row: 1 !important; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
    grid-row: 2 !important;
    width: 100% !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
    grid-row: 3 !important;
    justify-content: stretch !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions > * {
    flex: 1 1 0;
  }
}

/* Paslaugų paieškai reikia dviejų tikrų kriterijų šalia raktažodžio:
 * kategorijos ir Lietuvos vietos. Žemėlapio veiksmas paslaugoms nerodomas,
 * nes specialistų paieška vyksta pagal kategoriją ir miestą, o ne pagal NT
 * objekto koordinatę. */
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  row-gap: 6px !important;
  align-content: start !important;
  align-self: start !important;
  grid-column: 1 / 4 !important;
  grid-row: 2 !important;
  width: 317px !important;
  max-width: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region > .ntsolo-home-field__label,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region #region-trigger,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region #region-dropdown {
  width: 317px !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  row-gap: 6px !important;
  align-content: start !important;
  align-self: start !important;
  grid-column: 4 / 7 !important;
  grid-row: 2 !important;
  width: 317px !important;
  max-width: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category .ntsolo-home-field__label {
  display: block !important;
  height: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category #category-trigger {
  grid-row: 2 !important;
  width: 317px !important;
  max-width: none !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-map-submit {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
  grid-column: 10 / 13 !important;
  grid-row: 2 !important;
}

/* Paslaugų pasirinkimai: Lietuvos šaknis atsidaro žemiau savo lauko ir
 * kategorijų sąrašas turi pakankamai vietos, kad neuždengtų kito inputo. */
#ntsolo-homepage-search-form[data-home-mode="services"] #region-dropdown,
#ntsolo-homepage-search-form[data-home-mode="services"] #category-dropdown {
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  max-height: 300px !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  position: relative !important;
  z-index: 50 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region:focus-within,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category:focus-within {
  z-index: 100 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] #region-dropdown .options-container,
#ntsolo-homepage-search-form[data-home-mode="services"] #category-dropdown .options-container {
  max-height: 230px;
  overflow-y: auto;
}
@media (max-width: 760px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region { grid-row: 3 !important; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category { grid-row: 4 !important; }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region > .ntsolo-home-field__label,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region #region-trigger,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region #region-dropdown,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category #category-trigger {
    width: 100% !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
  }
}

/* HOMEPAGE SEARCH — authoritative four-row layout (kept last) */
/* -------------------------------------------------------------------------
 * CLEAN ROW LAYOUT (authoritative)
 * The form is intentionally not a grid anymore. Four explicit rows are used
 * so switching a category can only hide/show a row, never auto-place a field
 * in a neighbouring column.
 * ------------------------------------------------------------------------- */
#ntsolo-homepage-search-form.ntsolo-home-search-card {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 18px 22px !important;
  overflow: visible !important;
}
#ntsolo-homepage-search-form > .ntsolo-search-mode__hint { display: none !important; }
#ntsolo-homepage-search-form > .ntsolo-home-search-row {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 12px !important;
  box-sizing: border-box !important;
  position: relative !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 {
  grid-template-columns: minmax(0, 1.2fr) minmax(430px, 1fr) !important;
  align-items: end !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
  grid-template-columns: minmax(190px, 1fr) minmax(0, 3fr) !important;
  align-items: start !important;
  margin-top: 12px !important;
  padding-right: 255px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 {
  display: flex !important;
  position: absolute !important;
  top: 93px !important;
  right: 22px !important;
  width: 235px !important;
  height: 40px !important;
  align-items: end !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  z-index: 5 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--4 {
  display: none !important;
  margin-top: 12px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--4:has(.ntsolo-home-advanced:not([hidden])) {
  display: block !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row__label {
  display: block !important;
  min-height: 17px !important;
  margin: 0 !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(100px, 150px)) !important;
  justify-content: start !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 10px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-fields {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--keyword {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  gap: 6px !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--region {
  display: none !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field__label,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > label,
#ntsolo-homepage-search-form .ntsolo-home-quick-label {
  display: block !important;
  min-height: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
#ntsolo-homepage-search-form #keyword-input,
#ntsolo-homepage-search-form #region-trigger,
#ntsolo-homepage-search-form #category-trigger,
#ntsolo-homepage-search-form .ntsolo-home-filter-field input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field select {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
  border-radius: 7px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-category-filters {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: start !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  align-self: start !important;
}
#ntsolo-homepage-search-form[data-home-mode] .ntsolo-home-search-fields > .ntsolo-home-field--keyword {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}
#ntsolo-homepage-search-form[data-home-mode] .ntsolo-home-search-fields > .ntsolo-home-field--keyword > div,
#ntsolo-homepage-search-form[data-home-mode] .ntsolo-home-search-fields > .ntsolo-home-field--keyword #keyword-input {
  width: 100% !important;
  max-width: none !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-category-filters[hidden],
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[hidden] {
  display: none !important;
  visibility: hidden !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: start !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel.is-active {
  display: grid !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  transform: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-range,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-room-buttons,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-choice-buttons,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > select {
  grid-row: 2 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-actions > * {
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Paslaugos: row 1 keeps the purpose buttons; row 2 contains location,
 * category and keyword. NT-only quick filters are hidden as a whole. */
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 {
  grid-template-columns: minmax(0, 1fr) minmax(400px, 1fr) !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--region {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword > div,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword #keyword-input {
  width: 100% !important;
  max-width: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 {
  grid-template-columns: minmax(0, 1fr) !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--category {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-filters,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-map-submit,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced-toggle {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] #region-dropdown,
#ntsolo-homepage-search-form[data-home-mode="services"] #category-dropdown {
  top: calc(100% + 8px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-height: 300px !important;
  overflow-y: auto !important;
}

@media (max-width: 760px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
    padding-right: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
    padding-right: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
    margin-top: 12px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 { gap: 10px !important; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form .ntsolo-home-field--region,
  #ntsolo-homepage-search-form .ntsolo-home-field--category,
  #ntsolo-homepage-search-form .ntsolo-home-category-filters {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel { grid-template-columns: 1fr !important; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Mobile row guard: every field belongs to one explicit row and never gets
 * auto-placed beside a neighbouring control. */
@media (max-width: 760px) {
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form .ntsolo-home-field--category,
  #ntsolo-homepage-search-form .ntsolo-home-category-filters,
  #ntsolo-homepage-search-form .ntsolo-home-search-actions {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row { grid-row: 1 !important; }
  #ntsolo-homepage-search-form .ntsolo-home-field--keyword { grid-row: 1 !important; }
  #ntsolo-homepage-search-form .ntsolo-home-field--category { grid-row: 1 !important; }
  #ntsolo-homepage-search-form .ntsolo-home-category-filters { grid-row: 1 !important; }
  #ntsolo-homepage-search-form .ntsolo-home-search-actions { grid-row: auto !important; }
}

/* Hard visibility guard: the native hidden attribute must win over any
 * legacy display:grid rule that appears earlier in this stylesheet. */
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[hidden],
#ntsolo-homepage-search-form .ntsolo-home-category-filters[hidden] {
  display: none !important;
  visibility: hidden !important;
}

/* Final alignment pass: the second row is one four-column track. The active
 * panel is transparent to that track, so a house's second-line fields start
 * at the left edge instead of being indented inside a nested three-column
 * grid. Actions stay pinned to the right of the same row. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 {
  /* The query field is intentionally about 15% narrower on desktop. The
   * freed space belongs to the purpose buttons, so this remains fluid and
   * never depends on a brittle 317px/357px value. */
  grid-template-columns: minmax(0, .65fr) minmax(430px, 1fr) !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
  padding-right: 150px !important;
  box-sizing: border-box !important;
}
@media (min-width: 761px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 {
    /* Match the NT first row exactly: the service query must not become a
     * wider field just because the mode changed. */
    grid-template-columns: minmax(0, .65fr) minmax(430px, 1fr) !important;
  }
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
    padding-right: 150px !important;
    box-sizing: border-box !important;
  }
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
  grid-template-columns: 240px repeat(3, minmax(0, 1fr)) !important;
  column-gap: 14px !important;
  row-gap: 10px !important;
  padding-right: 300px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 {
  /* Row 2 starts with a 17px label + 6px gap; align actions with the
   * actual 40px controls, not with their labels. */
  top: 116px !important;
  right: 22px !important;
  width: 280px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
  display: contents !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 / -1 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active {
  display: contents !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel[hidden] {
  display: none !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-field {
  align-self: start !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="butas"] > .ntsolo-home-filter-field:nth-child(1),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(1),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="sklypas"] > .ntsolo-home-filter-field:nth-child(1),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="komercinis"] > .ntsolo-home-filter-field:nth-child(1),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="garazai-parkingas"] > .ntsolo-home-filter-field:nth-child(1),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="nuoma"] > .ntsolo-home-filter-field:nth-child(1) { grid-column: 2 !important; grid-row: 1 !important; }
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="butas"] > .ntsolo-home-filter-field:nth-child(2),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(2),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="sklypas"] > .ntsolo-home-filter-field:nth-child(2),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="komercinis"] > .ntsolo-home-filter-field:nth-child(2),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="garazai-parkingas"] > .ntsolo-home-filter-field:nth-child(2),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="nuoma"] > .ntsolo-home-filter-field:nth-child(2) { grid-column: 3 !important; grid-row: 1 !important; }
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="butas"] > .ntsolo-home-filter-field:nth-child(3),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(3),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="sklypas"] > .ntsolo-home-filter-field:nth-child(3),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="komercinis"] > .ntsolo-home-filter-field:nth-child(3),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="garazai-parkingas"] > .ntsolo-home-filter-field:nth-child(3),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="nuoma"] > .ntsolo-home-filter-field:nth-child(3) { grid-column: 4 !important; grid-row: 1 !important; }
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(4),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="komercinis"] > .ntsolo-home-filter-field:nth-child(4) { grid-column: 1 !important; grid-row: 2 !important; }
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(5),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="komercinis"] > .ntsolo-home-filter-field:nth-child(5) { grid-column: 2 !important; grid-row: 2 !important; }
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="namas"] > .ntsolo-home-filter-field:nth-child(6),
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-panel[data-filter-panel="komercinis"] > .ntsolo-home-filter-field:nth-child(6) { grid-column: 3 !important; grid-row: 2 !important; }

@media (max-width: 760px) {
  .nt-home-hero {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .nt-home-hero > .max-w-4xl {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .ntsolo-home-search-layout {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .ntsolo-home-search-surface {
    width: 100% !important;
    border-radius: 10px !important;
  }
  #ntsolo-homepage-search-form.ntsolo-home-search-card {
    width: 100% !important;
    max-width: none !important;
    padding: 12px !important;
    margin: 0 !important;
    border-radius: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-search-fields,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-search-fields {
    grid-row: 1 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
    grid-row: 2 !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut {
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 6px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 {
    width: 100% !important;
    padding: 0 !important;
  }
  .ntsolo-home-saved-search,
  #ntsolo-homepage-search-form .ntsolo-home-saved-search {
    position: static !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100% !important;
    padding: 8px 12px 0 !important;
    box-sizing: border-box !important;
  }
  .ntsolo-home-saved-search a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    padding: 0 12px !important;
    border: 1px solid #c7d5e6 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0c5ca8 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }
  .ntsolo-home-saved-search a:hover,
  .ntsolo-home-saved-search a:focus-visible {
    border-color: #0c5ca8 !important;
    background: #f5f9ff !important;
    color: #0c5ca8 !important;
  }
  .ntsolo-home-saved-search a .material-symbols-outlined {
    font-size: 17px !important;
    line-height: 1 !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
    grid-template-columns: 1fr !important;
    padding-right: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active > .ntsolo-home-filter-field {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel[hidden] {
    display: none !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-field {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-field > .ntsolo-home-range {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-field > .ntsolo-home-range input,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-filter-field > select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-room-buttons,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-choice-buttons {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 6px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-room-buttons button,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 .ntsolo-home-choice-buttons button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}

/* Front page finishing pass: the service query uses the exact same fluid
 * control width as the NT query.  Keeping one rule for both modes prevents
 * the field from growing when the user switches to Paslaugos. */
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword > div,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword > div,
#ntsolo-homepage-search-form[data-home-mode="nt"] .ntsolo-home-field--keyword #keyword-input,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-field--keyword #keyword-input {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Category shortcuts are intentionally label-only on the front page.  The
 * previous numeric badges made the tiles look like a second results list;
 * centre the icon and label so every tile has the same visual weight. */
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-align: left !important;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button .material-symbols-outlined,
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button .material-symbols-outlined {
  flex: 0 0 auto !important;
  width: 24px !important;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button > span:not(.material-symbols-outlined),
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button > span:not(.material-symbols-outlined) {
  width: auto !important;
  text-align: left !important;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > button > small {
  display: none !important;
}
.ntsolo-home-search-layout > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button > small {
  grid-row: 3 !important;
  grid-column: 1 !important;
  width: 100% !important;
  text-align: center !important;
}

/* When the front page exposes the layout switcher for VIP/TOP/project rows,
 * keep it in its own line above the section copy.  The switcher must never sit
 * beside “Rekomenduojame” and push that heading into a cramped column. */
.nt-home-premium-row__content > header.has-layout-controls,
.nt-home-premium > section > header.has-layout-controls {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: end !important;
  row-gap: 10px !important;
}
.nt-home-premium-row__content > header.has-layout-controls > .nt-home-layout-toolbar,
.nt-home-premium > section > header.has-layout-controls > .nt-home-layout-toolbar {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}
.nt-home-premium-row__content > header.has-layout-controls > div:not(.nt-home-layout-toolbar),
.nt-home-premium > section > header.has-layout-controls > div:not(.nt-home-layout-toolbar) {
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
}
.nt-home-premium-row__content > header.has-layout-controls > a,
.nt-home-premium > section > header.has-layout-controls > a {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
@media (max-width: 560px) {
  .nt-home-premium-row__content > header.has-layout-controls,
  .nt-home-premium > section > header.has-layout-controls {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    align-items: start !important;
  }
  .nt-home-premium-row__content > header.has-layout-controls > div:not(.nt-home-layout-toolbar),
  .nt-home-premium > section > header.has-layout-controls > div:not(.nt-home-layout-toolbar),
  .nt-home-premium-row__content > header.has-layout-controls > a,
  .nt-home-premium > section > header.has-layout-controls > a {
    grid-column: 1 !important;
  }
  .nt-home-premium-row__content > header.has-layout-controls > div:not(.nt-home-layout-toolbar),
  .nt-home-premium > section > header.has-layout-controls > div:not(.nt-home-layout-toolbar) {
    grid-row: 2 !important;
  }
  .nt-home-premium-row__content > header.has-layout-controls > a,
  .nt-home-premium > section > header.has-layout-controls > a {
    grid-row: 3 !important;
  }
}

/* Service mode: keep the purpose controls immediately beside the query field.
 * The old percentage left padding created a visibly oversized desktop gap. */
@media (min-width: 761px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
    padding-left: 0 !important;
    column-gap: 8px !important;
  }
}
/* Listing prices use the same success green as the primary action button. */
.nt-home-card__price-inline,
.nt-home-card__price-inline strong,
.nt-listing-price,
.nt-listing-price strong {
  color: #087f4f !important;
}
.nt-home-card__price-per-area {
  color: #667085 !important;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

/* Final archive workspace polish: compact, predictable controls across the
 * filter rail, result toolbar and map rail. */
@media (min-width: 901px) {
  .nt-listings-page .listing-layout {
    grid-template-columns: minmax(250px, 270px) minmax(0, 1fr) minmax(330px, 370px) !important;
    gap: 14px !important;
  }
}
@media (min-width: 1360px) {
  .nt-listings-page .listing-layout {
    grid-template-columns: 270px minmax(0, 1fr) 360px !important;
    gap: 18px !important;
  }
}

#ntsolo-listing-filters > .sidebar-card {
  padding: 0 14px 14px !important;
  border-radius: 12px;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode {
  grid-template-columns: 1.45fr 1fr !important;
  margin: 0 -14px 14px !important;
  padding: 0 10px !important;
  border-bottom: 1px solid #e4eaf2 !important;
  border-radius: 12px 12px 0 0 !important;
  background: #fff !important;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button {
  min-height: 48px !important;
  color: #667085 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button.is-active,
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button[data-search-mode="services"].is-active {
  border-bottom-color: #0c5ca8 !important;
  color: #0c5ca8 !important;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button:hover,
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button:focus-visible {
  color: #0c5ca8 !important;
  background: #f7faff !important;
  outline: none;
}
#ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode button .material-symbols-outlined {
  font-size: 16px !important;
}

.nt-listing-results-toolbar {
  grid-template-columns: auto minmax(0, 1fr) auto auto !important;
  gap: 10px !important;
  padding: 0 0 12px !important;
}
.nt-listing-results-toolbar .ntsolo-filter-toggle {
  min-height: 40px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  white-space: nowrap;
}
.nt-listing-results-heading {
  min-width: 0;
  gap: 9px !important;
}
.nt-listing-results-heading strong { white-space: nowrap; }
.nt-listing-clear-link { white-space: nowrap; }
.nt-listing-layout-switcher {
  margin: 0 !important;
  min-height: 38px;
  padding: 3px !important;
}
.nt-listing-layout-switcher button {
  min-height: 30px !important;
  padding: 0 10px !important;
}
.nt-listing-sort-control { min-width: 154px !important; }
.nt-listing-sort-control select { height: 38px !important; }

.listing-map-card {
  border-radius: 12px !important;
}
.listing-map-card__header {
  min-height: 54px !important;
  padding: 0 12px !important;
  gap: 12px !important;
}
.listing-map-card__header > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
  gap: 7px !important;
  white-space: nowrap;
}
.listing-map-card__header strong { font-size: 16px !important; }
.listing-map-card__header > div:first-child span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: #f2f6fb;
  color: #667085;
  font-size: 11px !important;
  white-space: nowrap;
}
.ntsolo-map-card__actions { flex: 0 0 auto; }
.ntsolo-map-expand-toggle {
  min-height: 36px !important;
  padding: 0 11px !important;
  border-color: #0c5ca8 !important;
  background: #0c5ca8 !important;
  color: #fff !important;
}
.ntsolo-map-expand-toggle .material-symbols-outlined { color: #fff !important; }
.ntsolo-map-legend {
  min-height: 34px;
  padding: 6px 12px !important;
  gap: 10px !important;
  background: #fbfdff;
  font-size: 10px !important;
}
.ntsolo-map-legend i { width: 8px !important; height: 8px !important; }

@media (max-width: 900px) {
  .nt-listing-results-toolbar { grid-template-columns: auto minmax(0, 1fr) auto !important; }
  .nt-listing-sort-control { grid-column: 2 / -1; justify-self: end; }
}
@media (max-width: 600px) {
  #ntsolo-listing-filters > .sidebar-card { padding: 0 12px 12px !important; }
  #ntsolo-listing-filters > .sidebar-card > .ntsolo-search-mode { margin-left: -12px !important; margin-right: -12px !important; }
  .nt-listing-results-toolbar { grid-template-columns: 1fr auto !important; }
  .nt-listing-results-toolbar .nt-listing-results-heading { grid-column: 1 / -1; }
  .nt-listing-layout-switcher { justify-self: start; }
  .nt-listing-sort-control { grid-column: auto; min-width: 0 !important; width: 100%; }
  .ntsolo-filter-toggle { justify-self: end; }
  .listing-map-card__header { padding: 0 10px !important; }
  .ntsolo-map-expand-toggle { padding: 0 8px !important; font-size: 10px !important; }
}

/* Archive toolbar and filter controls: keep this scoped to the results page so
 * the homepage search remains unchanged. */
.nt-listings-page .ntsolo-filter-toggle {
  min-height: 40px !important;
  padding: 0 13px !important;
  border: 1px solid #0c5ca8 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  box-shadow: none !important;
  transform: none !important;
}
.nt-listings-page .ntsolo-filter-toggle:hover,
.nt-listings-page .ntsolo-filter-toggle:focus-visible {
  background: #f2f7fd !important;
  color: #084b8a !important;
  box-shadow: 0 3px 10px rgba(12, 92, 168, .14) !important;
}
.nt-listings-page .ntsolo-filter-toggle .material-symbols-outlined,
.nt-listings-page .ntsolo-filter-toggle__icon { color: currentColor !important; }
.nt-listings-page .listing-layout.ntsolo-filters-hidden .ntsolo-filter-toggle {
  border-color: #0c5ca8 !important;
  background: #0c5ca8 !important;
  color: #fff !important;
}
.nt-listings-page .listing-layout.ntsolo-filters-hidden .ntsolo-filter-toggle:hover,
.nt-listings-page .listing-layout.ntsolo-filters-hidden .ntsolo-filter-toggle:focus-visible {
  background: #084b8a !important;
  color: #fff !important;
}

.nt-listings-page .nt-listing-layout-switcher {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  min-height: 38px !important;
  padding: 3px !important;
  border: 1px solid #d5e0ec !important;
  border-radius: 9px !important;
  background: #fff !important;
}
.nt-listings-page .nt-listing-layout-switcher button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #667085 !important;
}
.nt-listings-page .nt-listing-layout-switcher button.is-active {
  background: #eef5ff !important;
  color: #0c5ca8 !important;
}
.nt-listings-page .nt-listing-layout-switcher button .material-symbols-outlined {
  margin: 0 !important;
  font-size: 18px !important;
}

.nt-listings-page .nt-listing-sort-control {
  align-self: center !important;
  min-width: 154px !important;
  height: 38px !important;
  margin: 0 !important;
}
.nt-listings-page .nt-listing-sort-control select {
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  border: 1px solid #d5e0ec !important;
  border-radius: 9px !important;
  background-color: #fff !important;
  color: #344054 !important;
  font-size: 12px !important;
  line-height: 38px !important;
}

/* The map action is blue with a readable white label in every state. */
.nt-listings-page .listing-map-card button.ntsolo-map-expand-toggle,
.nt-listings-page .listing-map-card button.ntsolo-map-expand-toggle span,
.nt-listings-page .listing-map-card button.ntsolo-map-expand-toggle .material-symbols-outlined {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.nt-listings-page .listing-map-card button.ntsolo-map-expand-toggle {
  border-color: #0c5ca8 !important;
  background: #0c5ca8 !important;
}
.nt-listings-page .listing-map-card button.ntsolo-map-expand-toggle:hover,
.nt-listings-page .listing-map-card button.ntsolo-map-expand-toggle:focus-visible {
  border-color: #084b8a !important;
  background: #084b8a !important;
}

/* Archive controls use the same quiet border, radius and focus treatment as
 * the front-page controls without changing the front-page stylesheet. */
.nt-listings-page .nt-listing-search-filters input.search-field,
.nt-listings-page .nt-listing-search-filters input[type="number"],
.nt-listings-page .nt-listing-search-filters select.search-field,
.nt-listings-page .nt-listing-search-filters .ntsolo-search-select-wrap > input {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #d5e0ec !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #102a4c !important;
  font: 600 13px/1.2 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  box-shadow: none !important;
}
.nt-listings-page .nt-listing-search-filters input.search-field::placeholder,
.nt-listings-page .nt-listing-search-filters input[type="number"]::placeholder,
.nt-listings-page .nt-listing-search-filters .ntsolo-search-select-wrap > input::placeholder {
  color: #98a2b3 !important;
  opacity: 1;
}
.nt-listings-page .nt-listing-search-filters input.search-field:focus,
.nt-listings-page .nt-listing-search-filters input[type="number"]:focus,
.nt-listings-page .nt-listing-search-filters select.search-field:focus,
.nt-listings-page .nt-listing-search-filters .ntsolo-search-select-wrap > input:focus {
  border-color: #0c5ca8 !important;
  outline: 3px solid rgba(12, 92, 168, .12) !important;
  box-shadow: none !important;
}
.nt-listings-page .nt-listing-search-filters label,
.nt-listings-page .nt-listing-filter-keyword > label {
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Match the front-page AI control: blue circular auto-awesome button. */
.nt-listings-page .nt-listing-ai-bubble {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #084b8a 0%, #0c5ca8 48%, #35a4ff 100%) !important;
  color: #fff !important;
  box-shadow: 0 0 0 3px #dbeafe, 0 4px 10px rgba(12, 92, 168, .24) !important;
}
.nt-listings-page .nt-listing-ai-bubble:hover,
.nt-listings-page .nt-listing-ai-bubble:focus-visible {
  width: 28px !important;
  padding: 0 !important;
  background: linear-gradient(135deg, #063b70 0%, #0c5ca8 44%, #63c5ff 100%) !important;
  box-shadow: 0 0 0 3px #bfdbfe, 0 5px 13px rgba(12, 92, 168, .32) !important;
}
.nt-listings-page .nt-listing-ai-bubble .material-symbols-outlined {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  font-variation-settings: 'FILL' 1, 'wght' 600 !important;
}
.nt-listings-page .nt-listing-ai-bubble .material-symbols-outlined::before {
  content: 'auto_awesome';
  font-family: 'Material Symbols Outlined';
  font-size: 16px;
}
.nt-listings-page .nt-listing-ai-bubble > span:last-child { display: none !important; }

/* Keep the filter submit action compact and consistent with the archive
 * toolbar; the result count already appears above the cards. */
.nt-listings-page .nt-listing-search-filters > button[type="submit"].btn {
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  margin-top: 4px !important;
  padding: 0 14px !important;
  border: 1px solid #0c5ca8 !important;
  border-radius: 9px !important;
  background: #0c5ca8 !important;
  color: #fff !important;
  font: 700 13px/1.2 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 0 3px 9px rgba(12, 92, 168, .16) !important;
}
.nt-listings-page .nt-listing-search-filters > button[type="submit"].btn:hover,
.nt-listings-page .nt-listing-search-filters > button[type="submit"].btn:focus-visible {
  border-color: #084b8a !important;
  background: #084b8a !important;
  color: #fff !important;
}

/* When the filter rail is closed, reclaim that column completely.  This
 * override follows the desktop width rules so the results area cannot keep a
 * hidden third column and squeeze the listing cards. */
@media (min-width: 901px) {
  .nt-listings-page .listing-layout.ntsolo-filters-hidden {
    grid-template-areas: "results map" !important;
    /* With filters closed the catalogue and the map are equal workspaces.
     * The old fixed 320–360px map column made only the cards grow while the
     * map stayed narrow. */
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 18px !important;
  }
  .nt-listings-page .listing-layout.ntsolo-filters-hidden > .listings-grid-wrapper {
    width: 100% !important;
    min-width: 0 !important;
  }
  .nt-listings-page .listing-layout.ntsolo-filters-hidden .listings-grid {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Homepage search: one predictable four-row grid.  The controls stay in
 * normal document flow; only the dropdown menus themselves may float over
 * the form while open. */
#ntsolo-homepage-search-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row {
  position: static !important;
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  inset: auto !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(300px, 1.25fr) !important;
  align-items: end !important;
  gap: 12px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields {
  position: static !important;
  display: grid !important;
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: end !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword {
  grid-column: 1 !important;
  grid-row: 1 !important;
  order: 1 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--region {
  grid-column: 2 !important;
  grid-row: 1 !important;
  order: 2 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
  position: static !important;
  display: grid !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  grid-template-rows: auto 40px !important;
  align-items: end !important;
  justify-content: stretch !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-right: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row__label,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row__buttons {
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
  grid-template-columns: minmax(180px, .9fr) minmax(0, 2.8fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category {
  position: static !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
  position: static !important;
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel.is-active {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-panel[hidden],
#ntsolo-homepage-search-form .ntsolo-home-category-filters[hidden] {
  display: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field {
  position: static !important;
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  align-content: start !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > label,
#ntsolo-homepage-search-form .ntsolo-home-quick-label,
#ntsolo-homepage-search-form .ntsolo-home-field__label,
#ntsolo-homepage-search-form .ntsolo-home-purpose-row__label {
  display: block !important;
  height: 17px !important;
  min-height: 17px !important;
  margin: 0 !important;
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 17px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field > select,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-range,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-room-buttons,
#ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-choice-buttons,
#ntsolo-homepage-search-form .ntsolo-home-field--category > #category-trigger,
#ntsolo-homepage-search-form .ntsolo-home-field--region > #region-trigger,
#ntsolo-homepage-search-form .ntsolo-home-field--keyword > div,
#ntsolo-homepage-search-form #keyword-input {
  box-sizing: border-box !important;
  height: 40px !important;
  min-height: 40px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-range {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-filter-field input,
#ntsolo-homepage-search-form .ntsolo-home-filter-field select {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-room-buttons,
#ntsolo-homepage-search-form .ntsolo-home-choice-buttons {
  display: flex !important;
  align-items: stretch !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-room-buttons button,
#ntsolo-homepage-search-form .ntsolo-home-choice-buttons button {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 6px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-search-actions,
#ntsolo-homepage-search-form .ntsolo-home-search-actions {
  position: static !important;
  display: flex !important;
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-items: end !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 63px !important;
  margin: 0 !important;
  padding: 23px 0 0 !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-actions > button {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}
#ntsolo-homepage-search-form .ntsolo-home-map-submit {
  display: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-toggle {
  width: 132px !important;
  min-width: 132px !important;
  padding: 0 10px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-submit {
  width: 100px !important;
  min-width: 100px !important;
  padding: 0 12px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 { display: none !important; }
#ntsolo-homepage-search-form > .ntsolo-home-search-row--4 {
  display: grid !important;
  position: static !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced[hidden] { display: none !important; }
#ntsolo-homepage-search-form .ntsolo-home-advanced > label {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  gap: 6px !important;
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced input {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  #ntsolo-homepage-search-form { padding: 12px !important; gap: 10px !important; }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-search-actions {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--region {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row { grid-template-rows: auto 40px !important; }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters { display: block !important; }
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel.is-active {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-search-actions,
  #ntsolo-homepage-search-form .ntsolo-home-search-actions {
    align-items: stretch !important;
    justify-content: stretch !important;
    height: 40px !important;
    padding: 0 !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-search-actions > button { flex: 1 1 0 !important; width: auto !important; min-width: 0 !important; }
  #ntsolo-homepage-search-form .ntsolo-home-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-search-actions > .ntsolo-home-map-submit,
#ntsolo-homepage-search-form .ntsolo-home-search-actions > .ntsolo-home-map-submit {
  display: none !important;
}
@media (max-width: 560px) {
  #ntsolo-homepage-search-form .ntsolo-home-filter-panel.is-active,
  #ntsolo-homepage-search-form .ntsolo-home-advanced { grid-template-columns: minmax(0, 1fr) !important; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px !important; }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut { padding: 0 6px !important; font-size: 12px !important; }
}

/* Beat the older mode-specific rules above without reintroducing absolute
 * positioning. */
#ntsolo-homepage-search-form.ntsolo-home-search-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-flow: row !important;
}
#ntsolo-homepage-search-form[data-home-mode="nt"] > .ntsolo-home-search-row--1 .ntsolo-home-field--region,
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-field--region {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: none !important;
  height: 63px !important;
  grid-template-rows: 17px 40px !important;
  gap: 6px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword {
  width: 100% !important;
  max-width: none !important;
  height: 63px !important;
  grid-template-rows: 17px 40px !important;
  gap: 6px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--region > #region-trigger,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword > div,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword #keyword-input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
  display: block !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active > .ntsolo-home-filter-field {
  grid-column: auto !important;
  grid-row: auto !important;
  order: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel[hidden] {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-field--region {
  display: grid !important;
  grid-template-rows: 17px 40px !important;
  gap: 6px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 {
  grid-template-columns: minmax(180px, .9fr) minmax(0, 2.8fr) minmax(110px, auto) !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
  display: block !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-filter-panel[data-filter-panel="services"] {
  grid-template-columns: minmax(0, 1fr) !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active {
  grid-template-columns: minmax(0, 1fr) !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-filter-panel[data-filter-panel="services"] > .ntsolo-home-filter-field {
  grid-column: 1 / -1 !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 > .ntsolo-home-search-actions {
  min-width: 110px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-search-actions > .ntsolo-home-submit {
  flex: 0 0 100px !important;
  width: 100px !important;
  min-width: 100px !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(300px, 1.25fr) !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields {
  display: grid !important;
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
  grid-column: 3 !important;
  grid-row: 1 !important;
  width: 100% !important;
  padding: 0 !important;
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
    grid-column: 1 !important;
  }
}

/* Paslaugų paieška neturi NT režimo „Daugiau filtrų“ valdiklio telefone. */
@media (max-width: 760px) {
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced-toggle,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-advanced {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Give the two text fields a little less weight so the three purpose actions
 * have one calm, aligned group beside them.  These are fluid fractions, not
 * fixed desktop widths. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1,
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 {
  grid-template-columns: minmax(0, .72fr) minmax(0, .72fr) minmax(0, 1.56fr) !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields,
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Keep actions in their own third row.  The second row is reserved for the
 * category selector and the currently active dynamic filter panel. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
  grid-template-columns: minmax(0, .9fr) minmax(0, 2.1fr) !important;
  align-items: start !important;
  gap: 12px !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  inset: auto !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-search-actions {
  position: static !important;
  display: flex !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 .ntsolo-home-search-actions > button {
  flex: 0 0 auto !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 .ntsolo-home-map-submit {
  display: none !important;
}
#ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 {
  grid-template-columns: minmax(0, .9fr) minmax(0, 2.1fr) !important;
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-search-actions {
    justify-content: stretch !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 .ntsolo-home-search-actions > button {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

/* Keep the saved-search link in its own visual pocket at the top-right of
 * the search card.  The link is positioned beside the form, so reserve its
 * width inside the purpose column instead of letting it cover the buttons. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
  padding-right: clamp(144px, 14%, 172px) !important;
  box-sizing: border-box !important;
}

/* The map action belongs with the other search actions in row three. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 .ntsolo-home-map-submit {
  display: inline-flex !important;
  width: auto !important;
  min-width: 132px !important;
  flex: 0 1 auto !important;
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 .ntsolo-home-map-submit {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    width: auto !important;
  }
}

/* House/commercial secondary filters share row three with the action buttons.
 * Row two therefore contains only the category and the first three primary
 * filters (price/type/area), with no empty second line. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  column-gap: 12px !important;
  row-gap: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-secondary-filters {
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-secondary-filters:empty {
  display: none !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-search-actions {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 63px !important;
  align-items: end !important;
  padding: 23px 0 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3:has(> .ntsolo-home-secondary-filters:empty) {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-secondary-filters:empty + .ntsolo-home-search-actions {
  height: 40px !important;
  padding: 0 !important;
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-secondary-filters {
    grid-column: 1 !important;
    grid-row: 1 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-search-actions {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    height: 40px !important;
    padding: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3:has(> .ntsolo-home-secondary-filters:empty) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-secondary-filters:empty + .ntsolo-home-search-actions {
    grid-row: 1 !important;
  }
}

/* Results-page mode layouts -------------------------------------------------
 * The archive keeps one shared grid for NT, map and services. In services
 * mode there is intentionally no map column, while the map view intentionally
 * has no results column. Keep those two states explicit so the generic
 * three-column desktop rule cannot squeeze either view. */
@media (min-width: 901px) {
  .nt-listings-page.ntsolo-map-search-page .listing-layout.ntsolo-map-view:not(.ntsolo-map-expanded) {
    grid-template-areas: "filters map" !important;
    grid-template-columns: minmax(250px, 270px) minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
  }

  .nt-listings-page.ntsolo-map-search-page .listing-layout.ntsolo-map-view:not(.ntsolo-map-expanded) > .listing-map-wrapper {
    grid-area: map !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .nt-listings-page.ntsolo-map-search-page .listing-layout.ntsolo-map-view:not(.ntsolo-map-expanded) .listing-map-card,
  .nt-listings-page.ntsolo-map-search-page .listing-layout.ntsolo-map-view:not(.ntsolo-map-expanded) #map-container.listing-archive-map-container {
    width: 100% !important;
  }

  .nt-listings-page.ntsolo-service-search .listing-layout {
    grid-template-areas: "filters results" !important;
    grid-template-columns: minmax(250px, 270px) minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
  }

  .nt-listings-page.ntsolo-service-search .listing-layout > .sidebar-wrapper {
    grid-area: filters !important;
    min-width: 0 !important;
  }

  .nt-listings-page.ntsolo-service-search .listing-layout > .listings-grid-wrapper {
    grid-area: results !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .nt-listings-page.ntsolo-service-search .listings-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* Give the normal map workspace enough vertical room to be useful. The
 * expanded-map overlay has its own full-height rule and is left untouched. */
@media (min-width: 901px) {
  .nt-listings-page.ntsolo-map-search-page .listing-layout.ntsolo-map-view:not(.ntsolo-map-expanded) .listing-map-wrapper {
    height: clamp(480px, calc(100vh - 180px), 680px) !important;
    min-height: 480px !important;
  }

  .nt-listings-page.ntsolo-map-search-page .listing-layout.ntsolo-map-view:not(.ntsolo-map-expanded) .listing-map-card {
    height: 100% !important;
  }

  .nt-listings-page.ntsolo-map-search-page .listing-layout.ntsolo-map-view:not(.ntsolo-map-expanded) #map-container.listing-archive-map-container {
    height: calc(100% - 92px) !important;
    min-height: 390px !important;
  }
}

@media (max-width: 900px) {
  .nt-listings-page.ntsolo-service-search .listing-layout {
    grid-template-areas: "filters" "results" !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .nt-listings-page.ntsolo-service-search .listings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
}

@media (max-width: 560px) {
  .nt-listings-page.ntsolo-service-search .listings-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Homepage picker polish: the category menu must be anchored to its field,
 * while the location control is an immediately editable input. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category {
  position: relative !important;
  z-index: 40 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--region {
  position: relative !important;
  z-index: 41 !important;
}
#ntsolo-homepage-search-form #category-dropdown,
#ntsolo-homepage-search-form #region-dropdown {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  z-index: 2000 !important;
  overflow-x: hidden !important;
}
#ntsolo-homepage-search-form .ntsolo-home-field--category #category-dropdown,
#ntsolo-homepage-search-form .ntsolo-home-field--region #region-dropdown {
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}
#ntsolo-homepage-search-form #region-trigger {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 !important;
  overflow: hidden !important;
}
#ntsolo-homepage-search-form #region-trigger > .ntsolo-home-region-icon {
  flex: 0 0 20px !important;
  width: 20px !important;
  margin: 0 2px 0 0 !important;
  color: #0c5ca8 !important;
  text-align: center !important;
}
#ntsolo-homepage-search-form #region-search-input {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 38px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #344054 !important;
  font: 600 13px/1.2 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
#ntsolo-homepage-search-form #region-trigger > #region-search-input {
  padding-right: 0 !important;
}
#ntsolo-homepage-search-form #region-search-input::placeholder { color: #98a2b3 !important; opacity: 1; }
#ntsolo-homepage-search-form #region-trigger:focus-within {
  border-color: #0c5ca8 !important;
  box-shadow: 0 0 0 3px rgba(12, 92, 168, .12) !important;
}
#ntsolo-homepage-search-form #region-dropdown > .options-container {
  display: block !important;
  width: 100% !important;
  max-height: 280px !important;
  overflow-y: auto !important;
}
#ntsolo-homepage-search-form #region-dropdown .ntsolo-location-option {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  color: #344054 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}
#ntsolo-homepage-search-form #region-dropdown .ntsolo-location-option:hover,
#ntsolo-homepage-search-form #region-dropdown .ntsolo-location-option:focus-visible {
  background: #edf5ff !important;
  color: #0c5ca8 !important;
}
#ntsolo-homepage-search-form #region-dropdown .ntsolo-location-option .material-symbols-outlined {
  flex: 0 0 auto !important;
  font-size: 18px !important;
  color: #98a2b3 !important;
}
#ntsolo-homepage-search-form #region-dropdown .ntsolo-location-empty {
  display: block !important;
  padding: 10px !important;
  color: #667085 !important;
  font-size: 13px !important;
}
#ntsolo-homepage-search-form #region-dropdown .ntsolo-location-option--free-text > span:first-child {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
}
#ntsolo-homepage-search-form #region-dropdown .ntsolo-location-option--free-text small {
  color: #667085 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

/* Google Places is appended to <body>; keep it above the form and visually
 * aligned with the local location suggestions. The local dropdown is hidden
 * while Places is active, so the two suggestion layers cannot overlap. */
.pac-container {
  z-index: 100000 !important;
  margin-top: 6px !important;
  border: 1px solid #dbe5f2 !important;
  border-radius: 10px !important;
  box-shadow: 0 12px 28px rgba(16, 24, 40, .14) !important;
  overflow: hidden !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.pac-item {
  min-height: 38px !important;
  padding: 9px 12px !important;
  border-top: 1px solid #eef2f7 !important;
  color: #344054 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.pac-item:first-child { border-top: 0 !important; }
.pac-item:hover { background: #edf5ff !important; }

/* Mobile homepage search: keep every control readable instead of letting the
 * late desktop grid rules squeeze three filters into tiny columns.  This is
 * intentionally scoped to the phone breakpoint; desktop/tablet layouts are
 * unchanged. */
@media (max-width: 640px) {
  #ntsolo-homepage-search-form.ntsolo-home-search-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 14px !important;
    gap: 12px !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 > .ntsolo-home-search-fields {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    gap: 10px !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-field--region,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-field--keyword,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-field--region {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
  }

  /* The saved-search reservation is useful on desktop but steals almost half
   * of the phone width from the purpose buttons. */
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--1 .ntsolo-home-purpose-row {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    padding-right: 0 !important;
  }

  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 7px !important;
    font-size: 12px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-field--category,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 > .ntsolo-home-field--category,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active,
  #ntsolo-homepage-search-form[data-home-mode="services"] > .ntsolo-home-search-row--2 > .ntsolo-home-category-filters > .ntsolo-home-filter-panel.is-active {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-filter-field {
    grid-template-rows: 17px 42px !important;
    gap: 6px !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-filter-field > select,
  #ntsolo-homepage-search-form .ntsolo-home-filter-field > input,
  #ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-range,
  #ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-room-buttons,
  #ntsolo-homepage-search-form .ntsolo-home-filter-field > .ntsolo-home-choice-buttons,
  #ntsolo-homepage-search-form .ntsolo-home-field--category > #category-trigger {
    height: 42px !important;
    min-height: 42px !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-search-actions {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-search-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
    gap: 8px !important;
    height: auto !important;
    padding: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 .ntsolo-home-search-actions > button {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 9px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 .ntsolo-home-search-actions > .ntsolo-home-advanced-toggle {
    grid-column: auto !important;
  }
  /* This more-specific selector overrides the empty-secondary-filters rule
   * used by the desktop layout, which otherwise locks the action row to 40px
   * and makes the third button overflow on phones. */
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-secondary-filters:empty + .ntsolo-home-search-actions {
    height: auto !important;
    min-height: 0 !important;
  }

  #ntsolo-homepage-search-form > .ntsolo-home-search-row--4,
  #ntsolo-homepage-search-form .ntsolo-home-advanced,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--3 > .ntsolo-home-secondary-filters {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
}

/* The expanded archive map is fixed to the viewport. Keep the complete
 * public header (main row + blue secondary navigation) visible above it; the
 * archive-map script updates this variable for the current responsive height.
 * This final rule intentionally comes after the legacy 72px/58px overrides. */
:root { --ntsolo-map-header-offset: 114px; }
@media (max-width: 991px) {
  :root { --ntsolo-map-header-offset: 108px; }
}
@media (min-width: 901px) {
  .nt-listings-page .listing-layout.ntsolo-map-expanded {
    top: var(--ntsolo-map-header-offset) !important;
    bottom: auto !important;
    height: calc(100vh - var(--ntsolo-map-header-offset)) !important;
    height: calc(100dvh - var(--ntsolo-map-header-offset)) !important;
    min-height: 0 !important;
  }
}
@media (max-width: 900px) {
  .nt-listings-page .listing-layout.ntsolo-map-expanded {
    top: var(--ntsolo-map-header-offset) !important;
    bottom: auto !important;
    height: calc(100vh - var(--ntsolo-map-header-offset)) !important;
    height: calc(100dvh - var(--ntsolo-map-header-offset)) !important;
    min-height: 0 !important;
  }
}

/* Promotion plans are activated and explained outside the card image. Never
 * overlay VIP/TOP/PRO badges while browsing or changing card photos. */
.nt-home-card .nt-home-card__badge {
  display: none !important;
}

/* Homepage search: category shortcuts and actions share one clean bottom
 * row. The category rail is moved into row three by front-page.php so it no
 * longer sits as a separate, oversized strip below the search card. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: clamp(12px, 1.2vw, 18px) 0 0 !important;
  padding: 0 !important;
  position: static !important;
  height: auto !important;
  inset: auto !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav {
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > [data-category-shortcut="projektai"],
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > [data-category-shortcut="uzsienis"] {
  display: none !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > button,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 10px !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > button.is-active,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > button:hover,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button.is-active,
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button:hover {
  border-color: #0c5ca8 !important;
  background: #f5f9ff !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav .ntsolo-home-more-wrap {
  position: relative !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav .ntsolo-home-more-menu {
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  z-index: 1000 !important;
}
/* The overflow item is a single control: keep the wrapper borderless so it
 * does not create a second box around the bordered button. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap {
  border: 0 !important;
  background: transparent !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-secondary-filters {
  display: grid !important;
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-secondary-filters:empty {
  display: none !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions {
  display: flex !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  width: auto !important;
  min-width: max-content !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions > button {
  min-height: 40px !important;
  height: 40px !important;
  white-space: nowrap !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions .ntsolo-home-map-submit {
  display: inline-flex !important;
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    margin-top: 12px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-secondary-filters {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    min-width: 0 !important;
    justify-content: stretch !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions > button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
}

/* Expanded NT filters: keep select fields and independent status/features
 * controls in the same compact grid. The services mode hides the advanced
 * toggle in JavaScript, so these controls never leak into service search. */
#ntsolo-homepage-search-form .ntsolo-home-advanced-checks {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px 12px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #e4e7ec !important;
  border-radius: 10px !important;
  text-align: left !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-checks legend {
  padding: 0 4px !important;
  color: #344054 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-checks label {
  display: flex !important;
  grid-template-rows: none !important;
  align-items: center !important;
  gap: 7px !important;
  color: #475467 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-checks input[type="checkbox"] {
  width: 16px !important;
  min-width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  accent-color: #0c5ca8;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced > label > select {
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  box-sizing: border-box !important;
}
@media (max-width: 560px) {
  #ntsolo-homepage-search-form .ntsolo-home-advanced-checks {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Final advanced-filter layout.  Keep the expandable panel in its own full
 * row so opening it cannot squeeze the quick filters or make inputs collapse
 * into the action buttons. */
#ntsolo-homepage-search-form > .ntsolo-home-search-row--4 {
  display: none !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form > .ntsolo-home-search-row--4:has(.ntsolo-home-advanced:not([hidden])) {
  display: block !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced {
  display: none !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid #eef2f6 !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 14px 12px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced > label {
  display: grid !important;
  grid-template-rows: auto 40px !important;
  align-content: start !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  color: #475467 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: left !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced > label > input,
#ntsolo-homepage-search-form .ntsolo-home-advanced > label > select {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #d0d5dd !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #344054 !important;
  font-size: 12px !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced > .ntsolo-home-advanced-checks {
  grid-column: span 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  #ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 10px !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-advanced > .ntsolo-home-advanced-checks {
    grid-column: span 2 !important;
  }
}
@media (max-width: 560px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--4 {
    margin-top: 12px !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-advanced > .ntsolo-home-advanced-checks {
    grid-column: 1 !important;
  }
}

/* Keep advanced checkbox groups self-contained. Native fieldset/legend
 * sizing otherwise lets the legend participate in the parent grid and makes
 * the labels appear detached from their own checkboxes. */
#ntsolo-homepage-search-form .ntsolo-home-advanced > .ntsolo-home-advanced-checks {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto auto !important;
  grid-auto-flow: row !important;
  align-content: start !important;
  align-items: start !important;
  justify-items: stretch !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-checks > legend {
  display: block !important;
  position: static !important;
  float: none !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 0 2px !important;
  padding: 0 4px !important;
  transform: none !important;
  line-height: 1.25 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced-checks > label {
  display: flex !important;
  position: static !important;
  grid-row: auto !important;
  grid-column: auto !important;
  align-items: center !important;
  align-self: start !important;
  justify-self: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  transform: none !important;
  line-height: 1.3 !important;
  white-space: normal !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) .ntsolo-home-advanced-checks > label > input[type="checkbox"] {
	/* The broad advanced-input rule above has two class selectors and would
	 * otherwise stretch this native control to a full form-field height. */
	position: static !important;
	display: inline-grid !important;
	place-content: center !important;
	flex: 0 0 18px !important;
	width: 18px !important;
	min-width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	margin: 0 8px 0 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	border: 1px solid #b8c7d9 !important;
	border-radius: 5px !important;
	background: #fff !important;
	color: #fff !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	transform: none !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) .ntsolo-home-advanced-checks > label > input[type="checkbox"]:checked {
	border-color: #0c5ca8 !important;
	background: #0c5ca8 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) .ntsolo-home-advanced-checks > label > input[type="checkbox"]:checked::after {
	content: "";
	display: block;
	width: 8px;
	height: 4px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-1px) rotate(-45deg);
}

/* Tailwind's generic form reset targets every homepage input with two ID
 * exclusions, giving it more specificity than the scoped rules above. Match
 * that specificity explicitly so these checkboxes cannot be stretched back
 * to a 40px text field. */
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) .ntsolo-home-advanced-checks > label > input[type="checkbox"]:not(#dropdown-search-input):not(#region-search-input) {
	width: 18px !important;
	min-width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	padding: 0 !important;
	margin: 0 8px 0 0 !important;
	border: 1px solid #b8c7d9 !important;
	border-radius: 5px !important;
	background: #fff !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) .ntsolo-home-advanced-checks > label {
	cursor: pointer !important;
	user-select: none;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) .ntsolo-home-advanced-checks > label > input[type="checkbox"]:not(#dropdown-search-input):not(#region-search-input):checked {
	border-color: #0c5ca8 !important;
	background: #0c5ca8 !important;
}
#ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) .ntsolo-home-advanced-checks > label > input[type="checkbox"]:not(#dropdown-search-input):not(#region-search-input):checked::after {
	content: "";
	display: block;
	width: 8px;
	height: 4px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translateY(-1px) rotate(-45deg);
}
@media (max-width: 560px) {
  #ntsolo-homepage-search-form .ntsolo-home-advanced > .ntsolo-home-advanced-checks {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Keep the date selector on the left side of the final advanced-filter row.
 * An explicit row and column prevent grid auto-placement from leaving this
 * field detached on the right beneath the additional-options fieldset. */
@media (min-width: 901px) {
  #ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) > .ntsolo-home-listing-date {
    grid-column: 1 / span 2 !important;
    grid-row: 4 !important;
    align-self: start !important;
    justify-self: stretch !important;
    margin: 0 !important;
  }
}
@media (max-width: 900px) {
  #ntsolo-homepage-search-form .ntsolo-home-advanced:not([hidden]) > .ntsolo-home-listing-date {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    align-self: start !important;
    justify-self: stretch !important;
    margin: 0 !important;
  }
}

/* Services search has its own category selector. Never show the NT shortcut
 * rail (Butai / Namai / Sklypai / Daugiau) in that mode; this comes last so
 * it cannot be overridden by the desktop action-row grid rules above. */
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-nav,
#ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-category-nav[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Mobile action controls: two secondary actions share the first line and the
 * primary search action gets a full-width line below. This prevents the
 * labels from being squeezed into tiny buttons at the bottom of the card. */
@media (max-width: 760px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions > button {
    display: inline-flex !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    white-space: normal !important;
    line-height: 1.15 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions > .ntsolo-home-submit {
    grid-column: 1 / -1 !important;
  }
}

/* Final mobile secondary navigation overrides. */
@media (max-width:700px){
  .nt-secondary-nav{box-shadow:0 2px 7px rgba(4,35,72,.16)}
  .nt-secondary-nav__inner{
    box-sizing:border-box;
    width:100%;
    max-width:none;
    min-height:40px;
    padding:0 12px;
    gap:0;
    overflow-x:auto;
    scrollbar-width:none;
  }
  .nt-secondary-nav__inner::-webkit-scrollbar{display:none}
  .nt-secondary-nav a,
  .nt-secondary-nav a:first-child{
    flex:0 0 auto;
    min-height:40px;
    padding:0 11px;
    font-size:11px;
  }
  .nt-secondary-nav a.nt-secondary-nav__cta,
  .nt-secondary-nav a.nt-secondary-nav__cta:hover,
  .nt-secondary-nav a.nt-secondary-nav__cta:focus-visible{
    flex:0 0 auto;
    min-height:34px!important;
    margin-left:8px;
    padding:0 13px;
    border-radius:8px;
  }
}

/* Keep every field added by "Daugiau filtrų" readable after the mobile flow
 * rules above. Each label and control gets its own full-width line instead of
 * sharing a stale column with the next field. */
@media (max-width: 760px) {
  #ntsolo-homepage-search-form .ntsolo-home-secondary-filters:not(:empty) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-secondary-filters > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-secondary-filters label,
  #ntsolo-homepage-search-form .ntsolo-home-secondary-filters .ntsolo-home-quick-label {
    display: block !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 560px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > button,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }
}

/* Mobile: remove the legacy grid row placement completely. The category rail,
 * saved-filter area and action buttons must flow one after another; otherwise
 * old grid-row declarations can make the category buttons overlap the actions. */
@media (max-width: 760px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 12px !important;
    position: static !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav {
    display: grid !important;
    position: static !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(42px, auto) !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    order: 1 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > button,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap,
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap > button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 7px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.2 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap {
    display: block !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-secondary-filters {
    order: 2 !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions {
    order: 3 !important;
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions > button {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-search-actions > .ntsolo-home-submit {
    grid-column: 1 / -1 !important;
  }
}
.ntsolo-home-service-request-shortcut,.ntsolo-service-request-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid #0c5ca8;border-radius:9px;background:#fff;color:#0c5ca8;font:inherit;font-weight:800;cursor:pointer}.ntsolo-home-service-request-shortcut[hidden],.ntsolo-service-request-trigger[hidden]{display:none!important}.ntsolo-home-service-request-shortcut:hover,.ntsolo-home-service-request-shortcut:focus-visible,.ntsolo-service-request-trigger:hover,.ntsolo-service-request-trigger:focus-visible{background:#eaf3ff;color:#084c8b;outline:2px solid rgba(12,92,168,.2);outline-offset:2px}.ntsolo-home-service-request-shortcut .material-symbols-outlined,.ntsolo-service-request-trigger .material-symbols-outlined{font-size:18px}

/* On narrow phones the overflow category menu must be able to escape its
 * compact two-column rail.  Older rules gave the wrapper overflow:hidden and
 * right-anchored a menu wider than the remaining viewport, making Daugiau
 * appear to do nothing or clipping its options off-screen. */
@media (max-width: 760px) {
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav > .ntsolo-home-more-wrap {
    position: relative !important;
    overflow: visible !important;
    z-index: 1005 !important;
  }
  #ntsolo-homepage-search-form > .ntsolo-home-search-row--with-categories > .ntsolo-home-category-nav .ntsolo-home-more-menu {
    max-width: calc(100vw - 24px) !important;
    max-height: min(60vh, 360px) !important;
    z-index: 1100 !important;
  }
}

/* Keep footer contact details comfortably inset on phones.  The footer's
 * desktop container intentionally has no horizontal padding; on a phone that
 * made the telephone, email and address touch the viewport edges. */
@media (max-width: 560px) {
  footer.nt-footer > .footer-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* Paslaugų režime „Mano paslaugos“ yra žemėlapio veiksmo pakaitalas, o ne
 * dar vienas paskirties pasirinkimas.  Saugome tą pačią vietą ir dydį kaip
 * „Žemėlapyje“, kad Pirkti / Nuomotis / Paslaugos niekada nešokinėtų. */
#ntsolo-homepage-search-form .ntsolo-home-search-actions > .ntsolo-home-service-request-shortcut {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 128px !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid #0c5ca8 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #0c5ca8 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
#ntsolo-homepage-search-form .ntsolo-home-search-actions > .ntsolo-home-service-request-shortcut:hover,
#ntsolo-homepage-search-form .ntsolo-home-search-actions > .ntsolo-home-service-request-shortcut:focus-visible {
  background: #eef6ff !important;
  color: #084b8a !important;
  border-color: #0c5ca8 !important;
  outline: 2px solid rgba(12,92,168,.18) !important;
  outline-offset: 2px;
}
#ntsolo-homepage-search-form .ntsolo-home-search-actions > [data-home-map-search][hidden],
#ntsolo-homepage-search-form .ntsolo-home-search-actions > [data-service-request-open][hidden],
#ntsolo-homepage-search-form .ntsolo-home-purpose-row [data-service-request-open][hidden] {
  display: none !important;
}

/* Archive/service search uses the same compact action treatment. */
.ntsolo-service-request-toolbar-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid #0c5ca8;
  border-radius: 9px;
  background: #fff;
  color: #0c5ca8;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.ntsolo-service-request-toolbar-action:hover,
.ntsolo-service-request-toolbar-action:focus-visible {
  background: #eef6ff;
  border-color: #0c5ca8;
  color: #084b8a;
  outline: 2px solid rgba(12,92,168,.18);
  outline-offset: 2px;
}
.ntsolo-service-request-toolbar-action .material-symbols-outlined { font-size: 17px; }
.nt-service-archive__actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.nt-service-archive__actions .nt-service-membership-cta { margin-top:18px; }
.nt-service-archive__actions .ntsolo-service-request-toolbar-action { margin-top:18px; }
.nt-listing-results-toolbar--services { grid-template-columns: auto minmax(0,1fr) auto auto auto !important; }
.nt-listing-results-toolbar--services .ntsolo-service-request-toolbar-action { min-width: 126px; }

@media (max-width: 600px) {
  #ntsolo-homepage-search-form .ntsolo-home-search-actions > .ntsolo-home-service-request-shortcut,
  .ntsolo-service-request-toolbar-action { min-width: 0 !important; width: 100%; }
  .nt-listing-results-toolbar .ntsolo-service-request-toolbar-action { grid-column: 1 / -1; width:100%; }
  .nt-service-archive__actions { align-items: stretch; }
  .nt-service-archive__actions > * { width:100%; justify-content:center; }
}

/* Keep the purpose switch visually identical in every mode.  Older service
 * rules widened the whole third grid column, which made Pirkti / Nuomotis /
 * Paslaugos look like three oversized bars after switching to Paslaugos. */
@media (min-width: 901px) {
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__label,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row__label {
    position: static !important;
    display: block !important;
    min-height: 17px !important;
    margin: 0 !important;
    text-align: left !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row__buttons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(96px, 120px)) !important;
    justify-content: start !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: max-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut {
    width: 100% !important;
    min-width: 96px !important;
    max-width: 120px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 900px) {
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row__buttons,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row__buttons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
  }
  #ntsolo-homepage-search-form .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut,
  #ntsolo-homepage-search-form[data-home-mode="services"] .ntsolo-home-purpose-row .ntsolo-home-transaction-shortcut {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}
