/* ==========================================================
   kk-pages.css — Отзывы, Статьи, Контакты, подвал внутренних страниц
   ========================================================== */

/* ---------- Общая «шапка» для страниц без заголовка в тексте ---------- */
#phocaguestbook::before,
.com-content-category-blog::before {
  grid-column: 1 / -1;
  display: block;
  margin: 0 calc(50% - 50vw) 48px;
  padding: 72px 20px 84px;
  text-align: center;
  color: #fff;
  font-size: clamp(26px, 3.6vw, 44px);
  font-weight: 800;
  line-height: 1.2;
  background: radial-gradient(900px 300px at 85% -20%, rgba(255, 104, 3, .25), transparent 60%),
              linear-gradient(135deg, var(--kk-navy) 0%, var(--kk-navy-2) 100%);
}
#phocaguestbook::before { content: "Отзывы клиентов"; }
.com-content-category-blog::before { content: "Полезные статьи"; }

/* ---------- ОТЗЫВЫ (Phoca Guestbook) ---------- */
#phocaguestbook {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
#phocaguestbook > * { grid-column: 1 / -1; }
#phocaguestbook > .well.well-small { grid-column: auto; order: 1; }
#phocaguestbook > .well:not(.well-small) { order: 5; }
#phocaguestbook > div:not(.well) { order: 4; }
#phocaguestbook > div[style*="text-align: right"] { order: 6; font-size: 12px; color: #9aa3b2; text-align: center !important; }
#phocaguestbook > div[style*="text-align: right"] a { color: inherit; }
#phocaguestbook > div:empty { display: none; }

/* карточка отзыва */
#phocaguestbook .well-small {
  position: relative;
  margin: 0;
  padding: 28px 28px 22px 28px;
  background: #fff;
  border: 1px solid var(--kk-line);
  border-radius: var(--kk-r);
  box-shadow: var(--kk-sh-sm);
  transition: box-shadow .3s, transform .3s var(--kk-ease);
}
#phocaguestbook .well-small:hover { box-shadow: var(--kk-sh); transform: translateY(-3px); }
#phocaguestbook .well-small::before {
  content: "“";
  position: absolute; right: 22px; top: 6px;
  font-size: 72px; line-height: 1; font-family: Georgia, serif;
  color: var(--kk-orange); opacity: .25;
}
#phocaguestbook .pgtitle {
  font-size: 16px; font-weight: 700; line-height: 1.45;
  color: var(--kk-ink); margin: 0 40px 14px 0;
}
#phocaguestbook .pgtitle joomla-hidden-mail,
#phocaguestbook .pgtitle a[href^="mailto"] { display: none !important; }
#phocaguestbook .pgblockquote {
  margin: 0; padding: 0; border: 0; background: none;
  font-size: 15px; line-height: 1.7; color: #3a4252;
}
#phocaguestbook .pgb-content-inside ul { list-style: none; padding: 0; margin: 0; }
#phocaguestbook .pgb-content-inside p { margin: 0 0 8px; }
#phocaguestbook .pgblockquote hr { border-color: var(--kk-line); margin: 16px 0 10px; opacity: 1; }
#phocaguestbook .pgblockquote small {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 13px; color: #8a93a3;
}
#phocaguestbook .pgblockquote small::before { content: "★★★★★"; color: #ffb400; letter-spacing: 2px; margin-right: auto; order: -1; }
#phocaguestbook .pgblockquote small { gap: 12px; }
#phocaguestbook .pull-right .btn { padding: 2px 8px; font-size: 12px; }

/* форма «Оставить отзыв» */
#phocaguestbook > .well:not(.well-small) {
  margin: 24px 0 0;
  padding: 36px 40px;
  background: var(--kk-soft);
  border: 0;
  border-radius: 20px;
}
#phocaguestbook > .well:not(.well-small) > h4 { font-size: 0; margin: 0 0 24px; text-align: center; }
#phocaguestbook > .well:not(.well-small) > h4::before { content: "Оставить отзыв"; font-size: 26px; font-weight: 800; color: var(--kk-ink); }
#phocaguestbook form.form-horizontal { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px 20px; }
#phocaguestbook form.form-horizontal > * { grid-column: 1 / -1; }
#phocaguestbook form.form-horizontal > .control-group:nth-of-type(-n+3) { grid-column: auto; }
#phocaguestbook .control-group { margin: 0; }
#phocaguestbook .control-label { width: auto; float: none; text-align: left; padding: 0 0 6px; }
#phocaguestbook .controls { margin: 0; }
#phocaguestbook .control-label label { font-size: 0; font-weight: 600; }
#phocaguestbook .control-label label .star { font-size: 14px; color: var(--kk-orange); }
#jform_guestbook_title-lbl::before { content: "Услуга / тема"; font-size: 14px; color: var(--kk-ink); }
#jform_guestbook_username-lbl::before { content: "Ваше имя"; font-size: 14px; color: var(--kk-ink); }
#jform_guestbook_email-lbl::before { content: "Email (не публикуется)"; font-size: 14px; color: var(--kk-ink); }
#jform_guestbook_content-lbl::before { content: "Ваш отзыв"; font-size: 14px; color: var(--kk-ink); }
#phocaguestbook .form-control {
  width: 100%; max-width: none; padding: 12px 16px;
  border: 1px solid var(--kk-line); border-radius: 12px; background: #fff;
  font-size: 15px; transition: border-color .2s, box-shadow .2s;
}
#phocaguestbook .form-control:focus { border-color: var(--kk-orange); box-shadow: 0 0 0 4px rgba(255, 104, 3, .12); outline: 0; }
#phocaguestbook textarea.form-control { min-height: 140px; }
#phocaguestbook form hr { display: none; }
#phocaguestbook .btn-toolbar { justify-content: center; }
#phocaguestbook .pgb-btn-danger { display: none; }
#phocaguestbook .pgb-btn-primary {
  font-size: 0; border: 0; border-radius: 12px; padding: 0 36px; height: 56px;
  background: linear-gradient(135deg, var(--kk-orange) 0%, var(--kk-orange-2) 100%);
  box-shadow: 0 12px 26px rgba(255, 104, 3, .35);
  transition: transform .2s, box-shadow .2s;
}
#phocaguestbook .pgb-btn-primary::before { content: "Отправить отзыв"; font-size: 16px; font-weight: 700; color: #fff; letter-spacing: .03em; }
#phocaguestbook .pgb-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(255, 104, 3, .45); }

/* ---------- СТАТЬИ (блог категории) ---------- */
.com-content-category-blog { max-width: 1100px; margin: 0 auto; }
.com-content-category-blog .article-list .row { row-gap: 0; }
.com-content-category-blog .article-list .row > [class*="col-"] { display: flex; }
.com-content-category-blog .article {
  flex: 1;
  position: relative;
  display: flex; flex-direction: column;
  border-top: 4px solid var(--kk-orange) !important;
  padding: 28px 28px 24px !important;
}
.com-content-category-blog .article-body,
.com-content-category-blog .article-introtext { display: flex; flex-direction: column; flex: 1; }
.com-content-category-blog .article-introtext h1,
.com-content-category-blog .article-introtext > p:first-child {
  font-size: 19px !important; font-weight: 800; line-height: 1.35;
  color: var(--kk-ink); text-align: left !important; margin: 0 0 12px;
  letter-spacing: 0;
}
.com-content-category-blog .article-introtext > p:first-child {
  font-weight: 500; font-size: 15px !important; color: #4a5263;
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.com-content-category-blog .article-introtext > p,
.com-content-category-blog .article-introtext > div { font-size: 15px; line-height: 1.65; color: #5b6475; text-align: left !important; }
.com-content-category-blog .article-introtext > p:empty,
.com-content-category-blog .article-introtext > p:only-child:empty { display: none; }
.com-content-category-blog .readmore { margin-top: auto; padding-top: 16px; }
.com-content-category-blog .readmore a {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 20px; border-radius: 10px;
  background: var(--kk-orange-soft); color: var(--kk-orange) !important;
  font-weight: 700; font-size: 14px; text-decoration: none;
  transition: background .2s, color .2s;
}
.com-content-category-blog .readmore a::after { content: "→"; }
.com-content-category-blog .readmore a:hover { background: var(--kk-orange); color: #fff !important; }
.com-content-category-blog .items-leading .article::before {
  content: "Новое";
  position: absolute; top: -14px; left: 24px;
  padding: 4px 12px; border-radius: 999px;
  background: var(--kk-orange); color: #fff;
  font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
}
.com-content-category-blog .items-leading .article-introtext h1 { font-size: 24px !important; }

/* ---------- КОНТАКТЫ ---------- */
.article-details:not(.phm-full-width-article) [itemprop="articleBody"] > div[class^="kk-"],
.article-details:not(.phm-full-width-article) [itemprop="articleBody"] > div[class^="kk-"] + div[class^="kk-"] {
  max-width: 1040px !important;
  background: none;
  padding: 0;
  border-radius: 0;
  margin-top: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.article-details:not(.phm-full-width-article) [itemprop="articleBody"] > div.kk-map { border-radius: 20px; }
.article-details:not(.phm-full-width-article) [itemprop="articleBody"] > h2.kk-section-title::after { margin-left: auto !important; margin-right: auto !important; }
.kk-contacts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0 auto 40px; }
.kk-c-card {
  display: flex; flex-direction: column; gap: 6px;
  padding: 24px 22px; background: #fff;
  border: 1px solid var(--kk-line); border-radius: var(--kk-r);
  box-shadow: var(--kk-sh-sm); text-decoration: none !important; color: var(--kk-ink) !important;
  transition: box-shadow .3s, transform .3s var(--kk-ease), border-color .3s;
}
a.kk-c-card:hover { box-shadow: var(--kk-sh); transform: translateY(-3px); border-color: rgba(255, 104, 3, .4); }
.kk-c-ico {
  width: 48px; height: 48px; border-radius: 14px; margin-bottom: 8px;
  background: var(--kk-orange-soft) center / 24px no-repeat;
}
.kk-c-ico.__phone { background-image: url(/images/phone-icon.png); }
.kk-c-ico.__adress { background-image: url(/images/adress-icon.png); }
.kk-c-ico.__email { background-image: url(/images/mail-icon.png); }
.kk-c-ico.__max { background-image: url(/images/phone-icon.png); background-color: #eef3ff; }
.kk-c-label { font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #8a93a3; }
.kk-c-value { font-size: 17px; font-weight: 700; line-height: 1.45; word-break: break-word; }
.kk-c-value a { color: inherit !important; text-decoration: none; }
.kk-c-value a:hover { color: var(--kk-orange) !important; }
.kk-section-title { text-align: center; font-size: clamp(20px, 2.2vw, 26px); font-weight: 800; color: var(--kk-ink); margin: 48px auto 20px !important; }
.kk-map { margin: 0 auto; border-radius: 20px; overflow: hidden; box-shadow: var(--kk-sh); }
.kk-map iframe { display: block; width: 100% !important; height: 440px !important; border: 0; }
.kk-social { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 0 auto; }
.kk-social a {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 22px; border-radius: 12px;
  background: #fff; border: 1px solid var(--kk-line);
  color: var(--kk-ink) !important; font-weight: 700; text-decoration: none !important;
  transition: box-shadow .2s, transform .2s;
}
.kk-social a:hover { box-shadow: var(--kk-sh); transform: translateY(-2px); }
.kk-social img { width: 28px; height: 28px; object-fit: contain; border-radius: 0 !important; }
.kk-form { margin: 0 auto; }
.kk-form .phm-second-screen__form-wrap { max-width: 760px; margin: 0 auto; }

/* ---------- Подвал внутренних страниц: форма Битрикс24 отдельной полосой ---------- */
#sp-footer1 .sp-column > .sp-module:not(.ya-map-box):not(.phm-calls-top) {
  grid-column: 1 / -1;
  padding: 72px 20px;
  background: var(--kk-soft);
}
#sp-footer1 .sp-column > .sp-module:not(.ya-map-box):not(.phm-calls-top)::before {
  content: "Остались вопросы? Оставьте заявку — перезвоним";
  display: block; text-align: center; margin: 0 auto 28px; max-width: 760px;
  font-size: clamp(22px, 2.6vw, 32px); font-weight: 800; line-height: 1.3; color: var(--kk-ink);
}
#sp-footer1 .sp-column > .sp-module:not(.ya-map-box):not(.phm-calls-top) .b24-form {
  max-width: 760px; margin: 0 auto;
}
#sp-footer1 .sp-column > .sp-module:not(.ya-map-box):not(.phm-calls-top) .b24-form-wrapper {
  border-radius: 20px !important; overflow: hidden; box-shadow: var(--kk-sh) !important;
}

/* ---------- Адаптив ---------- */
@media (max-width: 991px) {
  .kk-contacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  #phocaguestbook { grid-template-columns: 1fr; gap: 16px; }
  #phocaguestbook > .well:not(.well-small) { padding: 24px 18px; }
  #phocaguestbook form.form-horizontal { grid-template-columns: 1fr; }
  #phocaguestbook form.form-horizontal > .control-group:nth-of-type(-n+3) { grid-column: 1 / -1; }
  #phocaguestbook::before, .com-content-category-blog::before { padding: 48px 16px 60px; margin-bottom: 28px; }
  .kk-contacts { grid-template-columns: 1fr; }
  .kk-map iframe { height: 320px !important; }
  #sp-footer1 .sp-column > .sp-module:not(.ya-map-box):not(.phm-calls-top) { padding: 48px 12px; }
}
.kk-c-card[href^="mailto"] .kk-c-value { font-size: 15px; }
