/* =========================================================
   WOOW — user.css (CLEAN)
   Joomla 5 + Cassiopeia
   ========================================================= */

/* --------- 0) Переменные фирменных цветов --------- */
:root{
  --woow-ink:   #083B3D;   /* основной текст/ссылки */
  --woow-brand: #0E5355;   /* основной фирменный */
  --woow-hover: #157A7D;   /* hover/акцент */

  /* Cassiopeia */
  --cassiopeia-color-primary: var(--woow-brand);
  --cassiopeia-color-link:    var(--woow-ink);
  --cassiopeia-color-hover:   var(--woow-brand);

  /* Bootstrap 5 */
  --bs-primary:          var(--woow-brand);
  --bs-link-color:       var(--woow-ink);
  --bs-link-hover-color: var(--woow-brand);
}

/* --------- 1) Глобально: ссылки без "синевы" --------- */
a, a:visited{
  color: var(--woow-ink);
  text-decoration-color: rgba(8,59,61,.35);
}
a:hover, a:focus{
  color: var(--woow-brand);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Часто "синий" прилетает как text-primary/link-primary */
.text-primary, .link-primary{ color: var(--woow-ink) !important; }
.bg-primary{ background-color: var(--woow-brand) !important; }
.border-primary{ border-color: var(--woow-brand) !important; }

/* Фокус/обводки */
.form-control:focus, .form-select:focus, .btn:focus{
  border-color: var(--woow-brand) !important;
  box-shadow: 0 0 0 .2rem rgba(14,83,85,.25) !important;
}

/* Кнопки primary */
.btn-primary{
  background-color: var(--woow-brand) !important;
  border-color: var(--woow-brand) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus{
  background-color: var(--woow-hover) !important;
  border-color: var(--woow-hover) !important;
  color: #fff !important;
}

/* --------- 2) Шапка Cassiopeia --------- */
.container-topbar,
.container-header,
.container-header .navbar{
  background-color: var(--woow-brand) !important;
}
.container-header .site-title,
.container-header .site-title a,
.container-header .navbar-brand,
.container-header .navbar-brand a{
  color: #fff !important;
  text-decoration: none !important;
}
.container-topbar a,
.container-topbar .nav-link{
  color: #fff !important;
  text-decoration: none !important;
}
.container-topbar a:hover,
.container-topbar .nav-link:hover,
.container-topbar .nav-link:focus,
.container-topbar .nav-link.active{
  opacity: .9 !important;
}
.container-header .navbar-toggler{
  border-color: rgba(255,255,255,.35) !important;
}
.container-header .navbar-toggler-icon{
  filter: invert(1);
}

/* (Опционально) скрыть поиск в шапке */
.container-header form.mod-finder,
.container-header .mod-search{
  display:none !important;
}

/* --------- 3) HERO-блок (ГЛАВНАЯ) --------- */
.woow-hero{
  position: relative;
  padding: 84px 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  color: #fff;

  background-image:
    radial-gradient(1200px 600px at 20% 20%, rgba(0,0,0,.25) 0%, rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.40) 45%, rgba(0,0,0,.62) 100%),
    url("/images/hero/nero-interior.png");
  background-position: center, center, center;
  background-size: cover, cover, cover;
  background-repeat: no-repeat;
}
.woow-hero__content{
  padding-left: 32px;
  padding-right: 24px;
  max-width: 680px;
}
.woow-hero a,
.woow-hero a:visited{
  color: #EAF6F6 !important;
  background: rgba(0,0,0,.55);
  padding: 6px 10px;
  border-radius: 8px;
  text-decoration: none !important;
  display: inline-block;
  transition: all .2s ease;
}
.woow-hero a:hover,
.woow-hero a:focus{
  color: #ffffff !important;
  background: rgba(14,83,85,.85);
  text-decoration: none !important;
}

/* SEO: скрываем H1 на главной */
.home h1.page-title{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* --------- 4) Прайс-таблицы --------- */
.table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
table.price-table{
  width:100% !important;
  border-collapse:collapse !important;
  min-width:720px;
}
table.price-table th, table.price-table td{
  border:1px solid rgba(0,0,0,.2) !important;
  padding:10px 12px !important;
  vertical-align:top;
}
table.price-table thead th{
  font-weight:700;
  background:rgba(0,0,0,.06);
}
table.price-table tbody tr:nth-child(even){
  background:rgba(0,0,0,.04);
}
table.price-table th:nth-child(2),
table.price-table td:nth-child(2){
  width:90px !important;
  text-align:center !important;
  white-space:nowrap !important;
}
table.price-table th:nth-child(3),
table.price-table td:nth-child(3){
  width:120px !important;
  text-align:right !important;
  white-space:nowrap !important;
}

/* =========================================================
   WOOW SECTIONS: О нас / Наши услуги
   Работают ТОЛЬКО в модулях с классом woow-about и woow-services
   ========================================================= */

/* 1) Убираем Cassiopeia "card" только внутри этих модулей */
.moduletable.woow-about,
.moduletable.woow-services{
  padding: 0 !important;
}
.moduletable.woow-about .card,
.moduletable.woow-about .card-header,
.moduletable.woow-about .card-body,
.moduletable.woow-services .card,
.moduletable.woow-services .card-header,
.moduletable.woow-services .card-body{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* 2) Общая секция с фоном-картинкой (без затемнений и подложек) */
.woow-section{
  position: relative;
  padding: 56px 0;
  background-image: var(--woow-bg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* 3) Текстовый блок без подложки */
.woow-about__inner,
.woow-services__inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0;              /* подложки нет */
  background: transparent; /* подложки нет */
}

/* 4) Типографика (фирменный тёмный) */
.woow-title{ margin: 0 0 10px 0; font-weight: 800; }
.woow-hr{ margin: 18px 0; opacity: .25; }

.woow-section,
.woow-section h1,
.woow-section h2,
.woow-section h3,
.woow-section p,
.woow-section li,
.woow-section span,
.woow-section strong,
.woow-section a,
.woow-section a:visited{
  color: var(--woow-ink) !important;
}

/* 5) Кнопки одинаковые (чуть прозрачные) */
.woow-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 16px;
}
.woow-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 10px;
  font-weight: 700;
  text-decoration: none !important;

  background: rgba(14,83,85,.70);
  color: #fff !important;
}
.woow-btn:hover,
.woow-btn:focus{
  background: rgba(14,83,85,.92);
  color: #fff !important;
}

/* 6) Нота */
.woow-note{
  margin-top: 14px;
  padding: 12px 14px;
  border-left: 4px solid rgba(14,83,85,.65);
  background: rgba(255,255,255,.10);
  border-radius: 10px;
}

/* Мобилка */
@media (max-width: 576px){
  .woow-section{ padding: 28px 0; }
  .woow-btn{ width: 100%; }
}
/* SERVICES: фикс "наезда" текста на край */
.moduletable.woow-services .woow-services__inner{
  display: block !important;
  width: min(980px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 24px 24px !important;
  box-sizing: border-box !important;
}
/* =========================
   SERVICES (НАШИ УСЛУГИ) — финал
   Модуль Класс: woow-services
   ========================= */

.moduletable.woow-services{
  padding: 56px 0 !important;
  background: url("/images/3.webp") center/cover no-repeat !important;
}

/* убрать “карточки” Cassiopeia */
.moduletable.woow-services,
.moduletable.woow-services .card,
.moduletable.woow-services .card-header,
.moduletable.woow-services .card-body,
.moduletable.woow-services .module-content,
.moduletable.woow-services .mod-custom{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* контейнер и отступы текста */
.moduletable.woow-services .card-body,
.moduletable.woow-services .module-content,
.moduletable.woow-services .mod-custom{
  width: min(980px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 24px 24px !important;
  box-sizing: border-box !important;
  color: #083B3D !important; /* нужный темный */
}

/* =========================================================
   WOOW — HARD OVERRIDE (ставить В САМЫЙ КОНЕЦ user.css)
   ========================================================= */

/* ---------- ABOUT (О НАС) ---------- */
.woow-hero.woow-hero--about{
  background: url("/images/1.webp") center/cover no-repeat !important;
  padding: 56px 0 !important;
  min-height: 80vh !important;
}

/* убрать любые “листы/подложки/карточки” в About */
.woow-hero--about .woow-sheet,
.woow-hero--about .card,
.woow-hero--about .card-header,
.woow-hero--about .card-body,
.woow-hero--about .module-content,
.woow-hero--about .mod-custom{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* текст About — тёмный (как фирменный) */
.woow-hero--about,
.woow-hero--about *{
  color: #083B3D !important;
}

/* кнопки About — одинаковые */
.woow-hero--about .woow-btn{
  background: rgba(0,0,0,.55) !important;
  color: #EAF6F6 !important;
  border-radius: 8px !important;
}
.woow-hero--about .woow-btn:hover,
.woow-hero--about .woow-btn:focus{
  background: rgba(14,83,85,.85) !important;
  color: #fff !important;
}

/* ---------- SERVICES (НАШИ УСЛУГИ) ---------- */
/* Работает и если класс повесился на modulestable, и если Joomla повесила просто на wrapper */
.moduletable.woow-services,
.woow-services{
  padding: 56px 0 !important;
  background: url("/images/3.webp") center/cover no-repeat !important;
}

/* убираем все “белые карточки/шапки” в модуле */
.moduletable.woow-services .card,
.moduletable.woow-services .card-header,
.moduletable.woow-services .card-body,
.moduletable.woow-services .module-content,
.moduletable.woow-services .mod-custom,
.woow-services .card,
.woow-services .card-header,
.woow-services .card-body,
.woow-services .module-content,
.woow-services .mod-custom{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* нормальная ширина и “чтобы текст не вылезал” */
.moduletable.woow-services .card-body,
.moduletable.woow-services .module-content,
.moduletable.woow-services .mod-custom,
.woow-services .card-body,
.woow-services .module-content,
.woow-services .mod-custom{
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 24px 24px !important;
  box-sizing: border-box !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* ВСЁ внутри услуг — тёмным цветом */
.moduletable.woow-services .card-body *,
.moduletable.woow-services .module-content *,
.moduletable.woow-services .mod-custom *,
.woow-services .card-body *,
.woow-services .module-content *,
.woow-services .mod-custom *{
  color: #083B3D !important;
}

/* мобилка */
@media (max-width: 576px){
  .moduletable.woow-services,
  .woow-services{
    padding: 28px 0 !important;
  }
  .moduletable.woow-services .card-body,
  .moduletable.woow-services .module-content,
  .moduletable.woow-services .mod-custom,
  .woow-services .card-body,
  .woow-services .module-content,
  .woow-services .mod-custom{
    padding: 18px 16px !important;
  }
}
/* ===============================
   CONTACTS (itemid-140): фон + убрать белые "окна"
   =============================== */

/* 1) Фон только на странице Контакты */
body.itemid-140 .site-grid{
  background: url("/images/4.webp") center / cover no-repeat !important;
}

/* 2) Контентный слой — прозрачный, чтобы был виден фон */
body.itemid-140 main,
body.itemid-140 .container-component,
body.itemid-140 .com-contact{
  background: transparent !important;
}

/* 3) Убираем ВСЕ карточки/панели (это и есть “два белых окна”) */
body.itemid-140 .com-contact .card,
body.itemid-140 .com-contact .card-header,
body.itemid-140 .com-contact .card-body,
body.itemid-140 .com-contact .contact,
body.itemid-140 .com-contact .contact-form,
body.itemid-140 .com-contact .contact-address,
body.itemid-140 .com-contact .contact-miscinfo{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* 4) Чтобы форма читалась: поля оставляем светлыми (иначе будет “прозрачная каша”) */
body.itemid-140 .com-contact input,
body.itemid-140 .com-contact textarea,
body.itemid-140 .com-contact select{
  background: rgba(255,255,255,.92) !important;
}

/* 5) (Опционально) ограничим ширину и дадим отступы */
body.itemid-140 .com-contact .contact{
  max-width: 980px;
  margin: 0 auto;
  padding: 28px 20px;
}
/* ===============================
   CONTACTS (itemid-140): фон + убрать белые "окна"
   =============================== */

/* 1) Фон только на странице Контакты */
body.itemid-140 .site-grid{
  background: url("/images/4.webp") center / cover no-repeat !important;
}

/* 2) Контентный слой — прозрачный, чтобы был виден фон */
body.itemid-140 main,
body.itemid-140 .container-component,
body.itemid-140 .com-contact{
  background: transparent !important;
}

/* 3) Убираем ВСЕ карточки/панели */
body.itemid-140 .com-contact .card,
body.itemid-140 .com-contact .card-header,
body.itemid-140 .com-contact .card-body,
body.itemid-140 .com-contact .contact,
body.itemid-140 .com-contact .contact-form,
body.itemid-140 .com-contact .contact-address,
body.itemid-140 .com-contact .contact-miscinfo{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* 4) Чтобы форма читалась: поля оставляем светлыми */
body.itemid-140 .com-contact input,
body.itemid-140 .com-contact textarea,
body.itemid-140 .com-contact select{
  background: rgba(255,255,255,.92) !important;
}

/* ===============================
   CONTACTS (itemid-140): "бумага" под контент
   =============================== */

body.itemid-140 .com-contact .contact{
  max-width: 980px;
  margin: 0 auto;
  padding: 28px 26px;
  border-radius: 18px;

  background: rgba(255,255,255,.78) !important;
  backdrop-filter: blur(2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.12) !important;
}

/* Текст темнее и читабельнее */
body.itemid-140 .com-contact .contact,
body.itemid-140 .com-contact .contact h1,
body.itemid-140 .com-contact .contact h2,
body.itemid-140 .com-contact .contact h3,
body.itemid-140 .com-contact .contact p,
body.itemid-140 .com-contact .contact li,
body.itemid-140 .com-contact .contact dt,
body.itemid-140 .com-contact .contact dd,
body.itemid-140 .com-contact .contact label{
  color: #083B3D !important;
}

/* Поля формы — белые и аккуратные */
body.itemid-140 .com-contact input,
body.itemid-140 .com-contact textarea,
body.itemid-140 .com-contact select{
  background: rgba(255,255,255,.95) !important;
}

/* Мобилка: меньше отступы */
@media (max-width: 576px){
  body.itemid-140 .com-contact .contact{
    padding: 18px 14px;
    border-radius: 16px;
  }
}

/* На Android не даём “самостоятельно” менять размер текста */
html { -webkit-text-size-adjust: 100% !important; }

/* ===============================
   CONTACTS: телефон/моб. крупнее
   =============================== */
.com-contact__address dd,
.com-contact__address dd a,
.com-contact__address .contact-telephone,
.com-contact__address .contact-mobile,
.com-contact__address .contact-telephone a,
.com-contact__address .contact-mobile a {
  font-size: 1.7rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}

/* зона клика пальцем */
.com-contact__address dd a{
  display: inline-block !important;
  padding: 10px 0 !important;
}

/* ===============================
   CONTACTS: убрать иконки возле адреса/телефона
   =============================== */
.com-contact__address dt .icon-address,
.com-contact__address dt .icon-envelope,
.com-contact__address dt .icon-phone,
.com-contact__address dt .icon-fax,
.com-contact__address dt .icon-mobile,
.com-contact__address dt .icon-home,
.com-contact__address dt .jicons-image,
.com-contact__address dt .jicons-icon{
  display: none !important;
}

/* ===============================
   CONTACTS: кнопки мессенджеров — одна шеренга
   =============================== */
.messenger-buttons{
  display: flex;
  flex-wrap: nowrap;              /* одна линия */
  gap: 10px;
  margin-top: 12px;
  align-items: center;
}

/* На узких экранах — горизонтальная прокрутка, чтобы всегда была одна линия */
@media (max-width: 768px){
  .messenger-buttons{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }
}

.messenger-buttons a{
  display: inline-block;
  padding: 10px 12px;
  border-radius: 12px;
  text-decoration: none !important;
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1;
  border: 2px solid rgba(0,0,0,.25);
  white-space: nowrap;
}
/* Контакты: выравнивание блока адреса влево */
body.itemid-140 .com-contact__container,
body.itemid-140 .com-contact__info,
body.itemid-140 .com-contact__address{
  text-align: left !important;
  margin-left: 0 !important;
}

/* Делает dt/dd не “двухколоночными”, чтобы всё шло ровным столбцом */
body.itemid-140 .com-contact__address{
  display: block !important;
}
body.itemid-140 .com-contact__address dt{
  float: none !important;
  width: auto !important;
  margin: 10px 0 4px !important;
}
body.itemid-140 .com-contact__address dd{
  margin-left: 0 !important;
}
/* Единый стиль кнопок калькулятора */
.calc .calc-btn{
  background-color: #114B2E;
  border-color: #114B2E;
  color: #fff;
  transition: all .2s ease;
}

.calc .calc-btn:hover{
  background-color: #0e3f27;
  border-color: #0e3f27;
  color: #fff;
}

.calc .calc-btn:active{
  background-color: #0b321f;
  border-color: #0b321f;
  color: #fff;
}

.calc .calc-btn:focus{
  box-shadow: 0 0 0 .2rem rgba(17, 75, 46, .3);
}
/* CAPREM module landing */
.woow-caprem-landing{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background-image: url("/images/2.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* подложка */
.woow-caprem-landing::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.50);
  z-index:0;
}

.woow-caprem-landing > *{
  position: relative;
  z-index:1;
}

.woow-caprem-inner{
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
  padding: 28px 28px;
  box-sizing: border-box;
}

.woow-caprem-lead{ margin: 10px 0 0; font-size: 16px; line-height: 1.55; max-width: 850px; }

.woow-caprem-trust{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px 18px;
  margin: 14px 0 18px;
  padding-left: 18px;
}
.woow-caprem-trust li{ margin:0; }

.woow-caprem-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin-top: 12px;
}

/* карточка без белой подложки */
.woow-caprem-card{
  background: transparent !important;      /* важно */
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.woow-caprem-img{ display:block; width:100%; height: 180px; object-fit: cover; }

.woow-caprem-body{ padding: 12px 12px 14px; }

.woow-caprem-addr{ font-weight: 800; margin: 0 0 6px; }

.woow-caprem-bullets{ margin: 0; padding-left: 18px; }
.woow-caprem-bullets li{ margin: 0 0 4px; }

@media (max-width: 900px){
  .woow-caprem-grid{ grid-template-columns: 1fr; }
  .woow-caprem-img{ height: 220px; }
  .woow-caprem-trust{ grid-template-columns: 1fr; }
  .woow-caprem-inner{ padding: 20px 16px; }
}
/* CAPREM: весь текст жирным внутри модуля */
.woow-caprem-landing,
.woow-caprem-landing *{
  font-weight: 700;
}
.woow-caprem-landing h1,
.woow-caprem-landing h2{
  font-weight: 800;
}
th.list-author,
td.list-author {
    display: none !important;
}
/* Документы: убрать 2-ю колонку (Автор) в таблице */
.com-content-category__table thead th:nth-child(2),
.com-content-category__table tbody td:nth-child(2){
  display: none !important;
}