/**************************************
 * STELL-HOLDING — Cassiopeia polish
 * Авторский файл кастомизации
 **************************************/

/* ===== 1) Цвета и базовая типографика ===== */
:root{
  /* Основной бордовый + оттенки */
  --brand-primary: #8e2f3a;
  --brand-primary-700: #7d2933;
  --brand-primary-50: #f6ecee;

  /* Акцент/золото для подзаголовков */
  --brand-accent: #c9a46a;

  /* Тени/скругления */
  --brand-radius: 14px;
  --brand-shadow: 0 8px 20px rgba(0,0,0,.08);
}

body{
  font-size: 16px;
  line-height: 1.6;
  color: #2a2a2a;
}

h1,h2,h3{
  letter-spacing: .2px;
}
h1{ font-weight: 800; }
h2,h3{ font-weight: 700; }

/* ===== 2) Шапка/меню ===== */
.container-header{
  background: linear-gradient(180deg, var(--brand-primary) 0%, #7a2630 100%);
  border-bottom: 0;
  box-shadow: 0 2px 10px rgba(0,0,0,.08);
}
.container-header .grid-child{
  align-items: center;
}
.brand-logo img{
  max-height: 82px; /* логотип заметнее */
}

/* Меню — чуть крупнее, больше расстояния между пунктами */
.container-header .mod-menu .nav-link{
  padding: .75rem 1rem;
  font-weight: 600;
}
.container-header .mod-menu .nav-link:hover,
.container-header .mod-menu .nav-link:focus,
.container-header .mod-menu .nav-item.active > .nav-link{
  color: #fff;
  background: rgba(255,255,255,.1);
  border-radius: 10px;
}


/* ===== 3) Кнопки/ССЫЛКИ ===== */
.btn, .button, button{
  border-radius: 999px;
  padding: .65rem 1.15rem;
  font-weight: 600;
  border: none;
}
.btn-primary, .button-primary{
  background: var(--brand-primary);
}
.btn-primary:hover, .button-primary:hover{
  background: var(--brand-primary-700);
}
a{
  color: var(--brand-primary);
  text-decoration: none;
}
a:hover{ text-decoration: underline; }

/* ===== 4) Hero/баннер на главной ===== */
/* Если баннер вставлен модулем в позицию main-top/featured */
.moduletable.hero,
.moduletable.banner{
  margin-bottom: 1rem;
}
.moduletable.hero img,
.moduletable.banner img{
  width: 100%;
  height: clamp(260px, 42vw, 440px);
  object-fit: cover;
  border-radius: var(--brand-radius);
  box-shadow: var(--brand-shadow);
}

/* Текст под надписью на баннере — золотистый акцент */
.hero-subtitle,
.banner-subtitle{
  color: var(--brand-accent);
  font-weight: 700;
  letter-spacing: .3px;
}

/* ===== 5) Контентные блоки (модули/тексты) ===== */
.container-component{
  margin-top: 1rem;
}
p + p{ margin-top: .6rem; }

/* Вставные «карточки» для модулей справа/слева */
.sidebar-right .moduletable,
.sidebar-left .moduletable{
  background: #fff;
  border: 1px solid #eee;
  border-radius: var(--brand-radius);
  box-shadow: var(--brand-shadow);
  padding: 1rem 1.1rem;
  margin-bottom: 1rem;
}
.sidebar-right .moduletable h3,
.sidebar-left .moduletable h3{
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: .75rem;
}

/* Список ссылок категорий в правой колонке */
.sidebar-right .moduletable ul{
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.sidebar-right .moduletable ul li{
  margin: .4rem 0;
}
.sidebar-right .moduletable ul a{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.sidebar-right .moduletable ul a::before{
  content: "›";
  font-weight: 800;
  opacity: .6;
}

/* Карточка контактного блока (фото + кнопки) */
.sidebar-right .moduletable .contact-actions a{
  display: inline-block;
  margin: .25rem .25rem 0 0;
}

/* ===== 6) SP Property — карточки и списки ===== */
/* Универсальные улучшения под Bootstrap 5 */
.spproperty .property-item,
.spproperty .sp-property{
  background: #fff;
  border: 1px solid #eee;
  border-radius: var(--brand-radius);
  box-shadow: var(--brand-shadow);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.spproperty .property-item:hover,
.spproperty .sp-property:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(0,0,0,.12);
}

/* Изображение — стабильная пропорция */
.spproperty .property-item img,
.spproperty .sp-property img{
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* Заголовок/адрес/цена */
.spproperty .sp-property-title,
.spproperty .property-title{
  font-weight: 800;
  font-size: 1.05rem;
}
.spproperty .sp-property-price,
.spproperty .property-price{
  color: var(--brand-primary);
  font-weight: 800;
  font-size: 1.05rem;
}

/* Бейджи (статусы/метки) */
.spproperty .badge,
.spproperty .label{
  background: var(--brand-primary);
  border-radius: 999px;
  padding: .25rem .6rem;
  font-weight: 700;
}

/* Кнопка «Подробнее» */
.spproperty .btn, .spproperty .button{
  border-radius: 999px;
}

/* ===== 7) Таблицы/формы ===== */
.table{
  border-radius: var(--brand-radius);
  overflow: hidden;
}
.table thead th{
  background: var(--brand-primary-50);
  border-bottom: 1px solid #e8dfe1;
  font-weight: 700;
}

/* ===== 8) Футер ===== */
.container-footer{
  background: linear-gradient(180deg, #7a2630 0%, #651e26 100%);
  color: #fff;
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
}
.container-footer a{ color: #fff; opacity: .9; }
.container-footer a:hover{ opacity: 1; }

/* ===== 9) Адаптив ===== */
@media (max-width: 991.98px){
  .brand-logo img{ max-height: 80px; }
  .container-header .mod-menu .nav-link{ padding: .6rem .85rem; }
  .sidebar-right{ margin-top: 1rem; }
}
@media (max-width: 575.98px){
  h1{ font-size: clamp(26px, 7vw, 34px); }
  .moduletable.hero img,
  .moduletable.banner img{ height: clamp(200px, 48vw, 300px); }
}

/* ===== 10) Мелкие штрихи ===== */
img{ border-radius: 8px; }
figure img{ border-radius: var(--brand-radius); }
hr{ border-top: 1px solid #eee; }



/* === Cassiopeia user.css для сайта недвижимости === */
/* Тест подключения: раскомментируй строку ниже для проверки.
   Если файл подключен, по краю страницы появится красная рамка. */

/* body { outline: 6px solid #e53935 !important; }*/

:root {
  --color-scarlet: #921d28;      /* основной акцент, кнопки, акценты */
  --color-gold: #C9A66B;         /* премиум-акцент, логотип, наведение */
  --color-bg-main: #F5F5F5;      /* общий фон сайта */
  --color-bg-section: #E3E0DC;   /* фон блоков недвижимости */
  --color-graphite: #2E2E2E;     /* заголовки объектов */
  --color-grey-green: #4C5350;   /* описания, второстепенный текст */
  --color-divider: #DADADA;      /* границы разделов */
}

/* Кнопки (например, "More Info" в SP Property) */
.btn-scarlet,
a.btn-scarlet,
.sp-pagebuilder .sppb-btn.btn-scarlet {
  background: var(--color-scarlet);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-weight: 600;
  text-transform: uppercase;
  transition: all 0.25s ease;
}
.btn-scarlet:hover,
a.btn-scarlet:hover,
.sp-pagebuilder .sppb-btn.btn-scarlet:hover {
  background: var(--color-gold);
  color: #fff;
}

/* Текст для объектов недвижимости */
.text-scarlet { color: var(--color-scarlet); } /* Акцентные элементы */
.text-gold    { color: var(--color-gold); }    /* Цены, премиум-объекты */
.text-graphite{ color: var(--color-graphite); } /* Названия объектов */
.text-grey-green { color: var(--color-grey-green); } /* Адреса, доп. информация */

/* Фоны для секций */
.bg-scarlet   { background: var(--color-scarlet); color: #fff; }
.bg-gold      { background: var(--color-gold); color: #fff; }
.bg-light     { background: var(--color-bg-main); }
.bg-section   { background: var(--color-bg-section); }

/* Разделители между объектами */
.divider { border-bottom: 1px solid var(--color-divider); margin: 15px 0; }

/* Стили для заголовков и карточек недвижимости */
h1, h2, h3, .page-header h1, .sppb-property-title {
  color: var(--color-graphite);
  font-weight: 700;
  line-height: 1.2;
}
.sp-pagebuilder .sppb-property-item {
  background: var(--color-bg-section);
  padding: 15px;
  border-radius: 6px;
  margin-bottom: 20px;
}
.sp-pagebuilder .sppb-property-price {
  color: var(--color-gold);
  font-size: 1.2em;
  font-weight: 600;
}

/* Навигационное меню */
.navbar .nav-link {
  color: #fff;
  padding: 10px 15px;
}
.navbar .nav-link:hover {
  background: var(--color-gold);
  color: #fff;
  border-radius: 4px;
}

/* Адаптивность */
@media (max-width: 768px) {
  .sp-pagebuilder .sppb-property-item {
    padding: 10px;
  }
  .btn-scarlet, .sp-pagebuilder .sppb-btn.btn-scarlet {
    padding: 8px 15px;
    font-size: 0.9em;
  }
}
/* === SP Property → Scarlet + Gold === */

/* Палитра */
:root {
  --scarlet: #921d28;   /* основной акцент */
  --gold:    #C9A66B;   /* премиум-акцент, логотип, цены */
  --bg:      #F5F5F5;   /* общий фон */
  --graphite:#2E2E2E;
}

/* 1) Общий фон листинга и блоков */
.com-spproperty.view-properties #sp-main-body { background: var(--bg) !important; } /* было #f2f4f7 */

/* 2) Карточка объекта: признаки «зелёного» → scarlet/gold */
.spproperty .sp-properties-wrapper .property-details .property-image { 
  background-color: var(--scarlet) !important; border-color:#fff !important;
}
/* Заголовок при ховере */
.spproperty .sp-properties-wrapper .property-details .property-title a:hover { 
  color: var(--scarlet) !important; 
}
/* Цена на карточке */
.spproperty .sp-properties-wrapper .property-details .property-price { 
  color: var(--gold) !important; 
}

/* 3) Блоки с иконками/кружками, бейджи, точки навигации */
.spproperty-details-title .spproperty-details-icon,
.spproperty-short-overview .spproperty-overview-list .spproperty-single-list span,
.sp-module.property-search:before {
  background-color: var(--scarlet) !important; 
  border-color:#fff !important;
  color:#fff !important;
}
.spproperty-view-gallery .badge.badge-primary { background-color: var(--scarlet) !important; }
.badge.is-featured { background-color: var(--graphite) !important; }

/* 4) Цветовые акценты ссылок и иконок в поиске/фильтрах */
.sp-module.property-search .property-advance-search a i,
.sp-module.property-search .property-advance-search a:hover span {
  color: var(--scarlet) !important;
}

/* 5) Кнопки внутри SP Property (бутстрап-стили в spproperty-structure.css) */
.spproperty .btn,
.spproperty a.btn { border-radius:4px; }

.spproperty .btn-primary,
.spproperty a.btn.btn-primary,
.spproperty .spproperty-call-us-widget a.btn.btn-primary {
  background-color: var(--scarlet) !important;
  border-color: var(--scarlet) !important;
  color:#fff !important;
}
.spproperty .btn-primary:hover,
.spproperty a.btn.btn-primary:hover {
  background-color: var(--gold) !important;
  border-color: var(--gold) !important;
}

/* Зеленые success/метки → в золотой, чтобы уйти от брендинга темы */
.spproperty .btn-success { 
  background-color: var(--gold) !important; border-color: var(--gold) !important; color:#fff !important;
}

/* Warning/Info можно поддержать золотом/графитом при желании */
.spproperty .btn-warning { background-color: var(--gold) !important; border-color: var(--gold) !important; }
.spproperty .btn-info    { background-color: var(--graphite) !important; border-color: var(--graphite) !important; }

/* 6) Элементы вкладок, навигации пола/планов */
.spproperty-floor-plan .spproperty-floor-plan-tab .spproperty-floor-tab-nav li a:after {
  background: var(--scarlet) !important;
}

/* 7) Соц-иконки виджетов при hover (раньше уходили в #8cc641) */
.spproperty-agent-widget ul.spproperty-agent-social li a:hover{
  background: var(--scarlet) !important;
}

/* 8) Точки слайдера и стрелки (ч/б оставляем, но можно подкрасить) */
/* Пример: активные точки делаем золотыми */
.com-spproperty.view-property .property-dots-container .owl-dot.active button {
  opacity: 1; background-color: var(--gold) !important;
}

/* 9) Внутренние уведомления (alert-success и т.п.) — мягче и нейтральнее */
.spproperty .spproperty-alert-success { color:#2e7d32; background:#eaf5ea; border-color:#d9edd9; }
.spproperty .spproperty-alert-info    { color:#1e5880; background:#e8f3fb; border-color:#d6e9f7; }
.spproperty .spproperty-alert-warning { color:#6f582d; background:#fbf5e6; border-color:#f3e7c9; }
.spproperty .spproperty-alert-danger  { color:#842029; background:#f8d7da; border-color:#f5c2c7; }

/* ===== Pallette (на всякий случай) ===== */
:root{
  --scarlet:#921d28;
  --gold:#C9A66B;
  --graphite:#2E2E2E;
}

/* ====== ТОЛЬКО SP Property (чтобы не задеть остальное) ====== */

/* 1) Шапка детальной: круглая иконка + цена под заголовком */
body.com-spproperty.view-property .spproperty-details-title .spproperty-details-icon{
  background:var(--scarlet) !important;  /* было #8dc63f */
  border-color:#fff !important; color:#fff !important;
}
body.com-spproperty.view-property .spproperty-details-title h2 .spproperty-price{
  color:var(--gold) !important;          /* было #8dc63f */
}

/* 2) Блок «Property Price / Call Us» справа */
body.com-spproperty.view-property .spproperty-call-us-widget h3 span{
  color:var(--scarlet) !important;       /* было #8dc63f */
}
body.com-spproperty.view-property .spproperty-call-us-widget a.btn.btn-primary{
  background:var(--scarlet) !important; border-color:var(--scarlet) !important;
}
body.com-spproperty.view-property .spproperty-call-us-widget a.btn.btn-primary:hover{
  background:var(--gold) !important; border-color:var(--gold) !important;
}

/* 3) Карта и адрес: зелёный кружок + зелёные подписи */
body.com-spproperty.view-property .spproperty-map-widget .spproperty-map p{
  background:var(--scarlet) !important;  /* было #8cc641 */
  border-color:#fff !important; color:#fff !important;
}
body.com-spproperty.view-property .spproperty-map-widget .spproperty-map-widget-content span{
  color:var(--scarlet) !important;       /* было #8dc63f (Project Address) */
}
body.com-spproperty.view-property .spproperty-map-widget .spproperty-map-widget-content .spproperty-project-address-text{
  color:var(--graphite) !important;
}

/* 4) Заголовки/подписи в виджете агента (зелёный подзаголовок) */
body.com-spproperty.view-property .spproperty-agent-widget h3 a span{
  color:var(--scarlet) !important;       /* было #8dc63f */
}

/* 5) Листинг (страница со списком): цена, hover заголовка, зелёные точки/фильтры */
body.com-spproperty.view-properties .spproperty .sp-properties-wrapper .property-details .property-price{
  color:var(--gold) !important;          /* было #8dc63f */
}
body.com-spproperty.view-properties .spproperty .sp-properties-wrapper .property-details .property-title a:hover{
  color:var(--scarlet) !important;       /* было #8dc63f */
}
body.com-spproperty.view-properties .spproperty .spproperty-listing-url li a:hover,
body.com-spproperty.view-properties .spproperty .spproperty-listing-url li.active a{
  color:var(--scarlet) !important;       /* было #8dc63f */
}
body.com-spproperty.view-properties .spproperty .spproperty-listing-url li a:hover:before,
body.com-spproperty.view-properties .spproperty .spproperty-listing-url li.active a:before{
  background:var(--scarlet) !important;  /* было #8dc63f */
}

/* 6) Поиск (лупа и hover подписей) */
.sp-module.property-search:before{
  background:var(--scarlet) !important;  /* было #8cc641 */
  border-color:#fff !important; color:#fff !important;
}
.sp-module.property-search .property-advance-search a i{
  color:var(--scarlet) !important;       /* было #8dc63f */
}
.sp-module.property-search .property-advance-search a:hover span{
  color:var(--scarlet) !important;       /* было #8dc63f */
}

/* 7) Кнопки SP Property (перекрываем структуру) */
body.com-spproperty .spproperty .btn-primary,
body.com-spproperty .spproperty a.btn.btn-primary{
  background:var(--scarlet) !important; border-color:var(--scarlet) !important; color:#fff !important;
}
body.com-spproperty .spproperty .btn-primary:hover,
body.com-spproperty .spproperty a.btn.btn-primary:hover{
  background:var(--gold) !important; border-color:var(--gold) !important;
}
/* если попадаются «success» */
body.com-spproperty .spproperty .btn-success{
  background:var(--gold) !important; border-color:var(--gold) !important; color:#fff !important;
}

/* 8) Иконки в Short Overview (зелёные кружки) */
body.com-spproperty.view-property .spproperty-short-overview .spproperty-overview-list .spproperty-single-list span{
  background:var(--scarlet) !important;  /* было #8dc63f */
  color:#fff !important;
}



/* Карточка контактов */
.contact-card{
  background:#fff;
  border:1px solid #eee;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  padding:1rem 1.1rem;
}

.contact-card__header{
  display:flex;
  align-items:center;
  gap:.8rem;
  margin-bottom:.5rem;
}
.contact-card__photo{
  width:64px; height:64px; object-fit:cover;
  border-radius:12px;
}
.contact-card__title{
  font-weight:800; font-size:1.05rem;
}

/* Список контактов */
.contact-card__list{ margin:.25rem 0 .75rem; }
.contact-card__item{
  display:flex; align-items:center; gap:.6rem;
  padding:.35rem 0;
  color:#2a2a2a; text-decoration:none;
}
.contact-card__item:hover{ color:#8e2f3a; }
.contact-card__item svg{
  width:18px; height:18px; flex:0 0 18px;
  fill:#8e2f3a;
  opacity:.9;
}

/* Кнопки действий */
.contact-card__actions{ display:flex; flex-wrap:wrap; gap:.4rem; }
.contact-card .btn{
  border-radius:999px; padding:.5rem 1rem; font-weight:700;
  border:1px solid transparent; line-height:1;
}
.contact-card .btn-primary{
  background:#8e2f3a; color:#fff;
}
.contact-card .btn-primary:hover{ background:#7d2933; }
.contact-card .btn-outline{
  background:#fff; color:#8e2f3a; border-color:#e5cfd3;
}
.contact-card .btn-outline:hover{
  border-color:#8e2f3a; color:#7d2933;
}

/* На узких экранах */
@media (max-width: 575.98px){
  .contact-card{ padding: .9rem; }
  .contact-card__photo{ width:56px; height:56px; }
}







/* Устранение зелёного в SP Property */
body.com-spproperty .sp-properties-wrapper .property-details .property-image,
body.com-spproperty .sp-properties-wrapper.property-status-sold .spproperty-badge-sold,
body.com-spproperty .sp-module.property-search:before,
body.com-spproperty.view-property .spproperty-short-overview .spproperty-overview-list .spproperty-single-list span {
  background-color: var(--brand-primary) !important; /* #8e2f3a вместо #8dc63f */
  color: #fff !important;
  border-color: #fff !important;
}
body.com-spproperty .sp-properties-wrapper .property-details .property-price,
body.com-spproperty .infowindow .info-wrapper .price-text,
body.com-spproperty .infowindow .info-wrapper .prize-wrap {
  color: var(--brand-accent) !important; /* #c9a46a для цен */
}
body.com-spproperty .sp-properties-wrapper .property-details .property-title a:hover {
  color: var(--brand-primary-700) !important; /* #7d2933 при наведении */
}
/* Если зелёный в inline — глушим */
body.com-spproperty [style*="8dc63f"], body.com-spproperty [style*="8cc641"] {
  background-color: var(--brand-primary) !important;
  color: var(--brand-accent) !important;
  border-color: var(--brand-primary-50) !important; /* Светлый бордовый для границ */
}

/* Улучшение шапки */
.container-header {
  padding: 1rem 0; /* Больше воздуха */
}
.brand-logo img {
  max-height: 90px; /* Чуть крупнее, чтобы логотип доминировал */
  transition: transform 0.2s ease; /* Анимация при наведении */
}
.brand-logo:hover img {
  transform: scale(1.05);
}
.container-header .mod-menu .nav-link {
  padding: 0.8rem 1.2rem; /* Больше пространства между пунктами */
  border-radius: var(--brand-radius); /* 14px скругление */
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
.container-header .mod-menu .nav-link:hover,
.container-header .mod-menu .nav-item.active > .nav-link {
  background: rgba(255,255,255,0.15); /* Лёгкий оверлей */
  box-shadow: inset 0 0 5px rgba(0,0,0,0.2); /* Внутренняя тень для глубины */
}

/* Баннер на главной */
.moduletable.hero, .moduletable.banner {
  position: relative; /* Для оверлея */
  overflow: hidden;
  border-radius: var(--brand-radius); /* 14px скругление */
  box-shadow: var(--brand-shadow); /* Тень для выделения */
  margin-bottom: 2rem; /* Больше отступа снизу */
}
.moduletable.hero img, .moduletable.banner img {
  height: clamp(300px, 50vw, 500px); /* Адаптивная высота, выше для десктопа */
  object-fit: cover;
  filter: brightness(0.9); /* Лёгкое затемнение для текста */
}
.moduletable.hero::before, .moduletable.banner::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(142,47,58,0.4) 100%); /* Бордовый градиент оверлей */
  z-index: 1;
}
.hero-subtitle, .banner-subtitle {
  color: var(--brand-accent); /* Золотой, как в user.css */
  font-size: 1.2rem;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3); /* Тень для читаемости на фото */
}
@media (max-width: 768px) {
  .moduletable.hero img, .moduletable.banner img {
    height: 250px; /* Меньше на мобильных */
  }
}

/* Сайдбар модули */
.sidebar-right .moduletable, .sidebar-left .moduletable {
  border-radius: var(--brand-radius); /* 14px */
  box-shadow: var(--brand-shadow);
  padding: 1.2rem;
  margin-bottom: 1.5rem;
}
.sidebar-right .moduletable h3, .sidebar-left .moduletable h3 {
  color: var(--brand-primary);
  font-size: 1.1rem;
  margin-bottom: 0.8rem;
}
.sidebar-right .moduletable ul a {
  color: #2a2a2a;
  transition: color 0.2s ease;
}
.sidebar-right .moduletable ul a:hover {
  color: var(--brand-primary);
  text-decoration: none; /* Подчёркивание только при hover, если нужно */
}

/* Футер */
.container-footer {
  background: var(--brand-primary);
  color: #fff;
  padding: 1.5rem 0;
  margin-top: 2rem;
  border-top-left-radius: var(--brand-radius);
  border-top-right-radius: var(--brand-radius);
}
.container-footer a {
  color: var(--brand-accent);
}
.container-footer a:hover {
  color: #fff;
}

img {
  loading: lazy; /* Оптимизация загрузки */
}

@media (max-width: 576px) {
  body {
    font-size: 15px; /* Читаемость */
  }
  h1 { font-size: 1.8rem; }
  h2, h3 { font-size: 1.3rem; }
}

.spproperty-view-properties.spproperty {
    padding: 0px 0 70px;
}