/* ============================================================
   Стилі інформаційних сторінок.
   Наразі: сторінка «Програма лояльності» (figma 2128:35462).
   HTML верстки віддається з контролю information/information
   (див. блок з class="loyalty-page"). Файл підключається лише
   на цій сторінці через $this->document->addStyle(...).
   ============================================================ */
.description .loyalty-page {
  font-family: 'Fixel Text', sans-serif;
  color: #141414;
}

/* Інфосторінки (за макетом): коротка лінія під основним заголовком H1
   + секційні заголовки h2 по центру. Підзаголовки — h3 (лишаються зліва). */
#information-information #content h1::after {
  content: '';
  display: block;
  width: 64px;
  height: 1px;
  margin: 16px auto 40px;
  background: #141414;
}

/* Абзаци інфосторінок — 14px / 1.4 за макетом (у темі це правило закоментоване) */
#information-information #content p {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.4;
}

/* Центрування заголовків — ЛИШЕ на сторінці «Догляд за речами» (info-17).
   На інших сторінках (напр. «Оплата і доставка») h2 лишається зліва,
   як спроєктовано в темі. Клас info-{id} додається у шаблоні. */
#information-information.info-17 #content h2 {
  text-align: center;
}

/* Пояснення (підзаголовок) одразу під секційним заголовком — по центру.
   Покриває два випадки структури контенту з адмінки:
   1) h2 + p        — коректна структура (напр. секція «Трикотаж»);
   2) h2 > p:first-child — коли редактор вклав абзац усередину <h2>
      (напр. «Основи правильного догляду», «Таблиця символів»). */
#information-information.info-17 #content h2 + p,
#information-information.info-17 #content h2 > p:first-child {
  text-align: center !important;
}

/* Пояснення відділяється від блоку порад на 40px (за макетом). Далі абзаци
   всередині обгортки-h2 йдуть з кроком 12px (див. правило .info-17 h2 p нижче),
   тож збільшений інтервал тут — єдиний. Специфічність :first-child вища за
   шорткат margin у тому правилі, тому 40px не перебиваються. */
#information-information.info-17 #content h2 + p,
#information-information.info-17 #content h2 > p:first-child {
  margin-bottom: 40px;
}

/* Таблиці інфосторінок (напр. таблиця символів догляду, 2-колонкові блоки) */
#information-information #content table {
  width: 100%;
  border-collapse: collapse;
  margin: 24px 0;
}

#information-information #content table td,
#information-information #content table th {
  padding: 32px 24px;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.4;
  border: 0;
}

/* Заголовок усередині комірки (ПРАННЯ, ВІДЖИМ…) — відступ до тексту нижче */
#information-information #content table td h3 {
  margin: 0 0 12px;
}

#information-information #content table td p {
  margin: 0;
}

/* Лише внутрішні розділювачі (як у макеті), без зовнішньої рамки */
#information-information #content table td + td,
#information-information #content table th + th {
  border-left: 1px solid #E3E3E3;
}

#information-information #content table tr + tr > td {
  border-top: 1px solid #E3E3E3;
}

/* Списки (способи отримання, «як це працює») */
#information-information #content ol,
#information-information #content ul {
  margin: 0 0 14px;
  padding-left: 20px;
}

#information-information #content li {
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 6px;
}

/* Дрібний сірий підпис із посиланнями (тарифи, калькулятор) */
#information-information #content small {
  display: block;
  font-size: 12px;
  line-height: 1.6;
  color: #757575;
}

#information-information #content small a {
  color: #141414;
  text-decoration: underline;
}

/* Картинки не виходять за межі контейнера */
#information-information #content img {
  max-width: 100%;
  height: auto;
}

/* Іконки символів догляду в таблиці — фіксований невеликий розмір */
#information-information #content table img {
  width: 48px;
  height: auto;
  vertical-align: middle;
}

/* ------------------------------------------------------------
   Фікс редактора: Summernote інколи вкладає абзаци/цитати/фото
   ВСЕРЕДИНУ <h2>. Через це вони успадковують від заголовка
   верхній регістр, великий шрифт, центрування й великий інтервал.
   Тут повертаємо їм вигляд звичайного тексту (зліва, 14px, нормальні
   відступи). Контент лишається з адмінки — лише виправляємо стилі.
   Прив'язано до info-17, щоб не зачепити логотипи/зображення в <h2>
   на інших сторінках (напр. лого Нової Пошти на «Оплата і доставка»). */
#information-information.info-17 #content h2 p,
#information-information.info-17 #content h2 blockquote,
#information-information.info-17 #content h2 li {
  font-family: 'Fixel Text', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  text-align: left;
  margin: 0 0 12px;
}

/* Нумерація/жирні маркери всередині таких абзаців — теж звичайний текст */
#information-information.info-17 #content h2 p b,
#information-information.info-17 #content h2 p strong {
  font-weight: 700;
  text-transform: none;
}

/* Фото, помилково загорнуте в <h2>, — залишити зліва, без відступів заголовка */
#information-information.info-17 #content h2 > img {
  display: block;
  margin: 8px 0;
}

/* Порожні заголовки (сміття від редактора) не займають місце */
#information-information #content h2:empty {
  display: none;
}

/* Великий проміжок між секційним заголовком і підзаголовком виникає тому,
   що редактор вклав абзаци у ДРУГИЙ <h2> (обгортку), і той додає власні
   відступи заголовка. Прибираємо їх, щоб підзаголовок стояв близько.
   Правила через :has() спрацьовують лише на сторінці «Догляд» (info-17). */
#information-information.info-17 #content h2:has(> p),
#information-information.info-17 #content h2:has(> blockquote),
#information-information.info-17 #content h2:has(> img) {
  margin-top: 0;
  font-weight: 400;
  text-transform: none;
}

/* Секційний заголовок, за яким одразу йде обгортка-h2 з абзацами —
   зменшуємо нижній відступ, щоб підзаголовок був одразу під ним */
#information-information.info-17 #content h2:has(+ h2 > p),
#information-information.info-17 #content h2:has(+ h2 > blockquote) {
  margin-bottom: 16px;
}


.description .loyalty-page p {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.4;
}

.description .loyalty-page__title {
  margin: 40px 0 20px;
  font-family: 'Fixel Text', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: .04em;
}

.description .loyalty-page__list {
  margin: 0 0 14px;
  padding: 0;
  list-style: none !important;
}

.description .loyalty-page__list li {
  position: relative;
  padding-left: 20px !important;
  margin: 0 0 6px !important;
  font-size: 14px;
  line-height: 1.4;
  list-style: none !important;
}

.description .loyalty-page__list li::before {
  content: '·';
  position: absolute;
  left: 6px;
}

.description .loyalty-page__list--num {
  counter-reset: li;
}

.description .loyalty-page__list--num li::before {
  content: counter(li) '.';
  counter-increment: li;
  left: 0;
}

.description .loyalty-page__highlight {
  margin: 20px 0;
  padding: 16px 20px;
  background: #FAFAFA;
  font-weight: 700;
  font-size: 14px;
}

.description .loyalty-page__cta {
  margin-top: 40px;
  padding: 24px;
  background: #FAFAFA;
  text-align: center;
}

.description .loyalty-page__cta .loyalty-page__title {
  margin: 0 0 32px;
}

.description .loyalty-page__cta p {
  max-width: 560px;
  margin: 0 auto 32px;
  text-align: center !important;
}

.description .loyalty-page__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 530px;
  min-height: 44px;
  padding: 10px 16px;
  background: #000000;
  border: 1px solid #141414;
  color: #FFFFFF !important;
  font-family: 'Fixel Text', sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none !important;
  letter-spacing: .02em;
}

.description .loyalty-page__btn:hover {
  background: #141414;
  color: #FFFFFF !important;
}

.description .loyalty-page__btn::after {
  content: '';
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.78 18.65l.28-4.23 7.68-6.92c.34-.31-.07-.46-.52-.19L7.74 13.3 3.64 12c-.88-.25-.89-.86.2-1.3l15.97-6.16c.73-.33 1.43.18 1.15 1.3l-2.72 12.81c-.19.91-.74 1.13-1.5.71L12.6 16.3l-1.99 1.93c-.23.23-.42.42-.83.42z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ============================================================
   Інформаційна сторінка: Оплата і доставка (figma 2128:35713)
   ============================================================ */
.description .pd-page {
  font-family: 'Fixel Text', sans-serif;
  color: #141414;
}

.description .pd-page p {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.4;
}

.description .pd-page__section-title {
  margin: 48px 0 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: .04em;
}

.description .pd-page > .pd-page__section-title:first-child {
  margin-top: 0;
}

.description .pd-page__subtitle {
  margin: 32px 0 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.description .pd-page__method {
  margin: 24px 0 12px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.description .pd-page__strong {
  margin: 0 0 8px;
  font-weight: 500;
}

.description .pd-page__list {
  margin: 0 0 14px;
  padding: 0;
  list-style: none !important;
}

.description .pd-page__list li {
  position: relative;
  padding-left: 20px !important;
  margin: 0 0 6px !important;
  font-size: 14px;
  line-height: 1.4;
  list-style: none !important;
}

.description .pd-page__list li::before {
  content: '·';
  position: absolute;
  left: 6px;
}

.description .pd-page__highlight {
  margin: 24px 0;
  padding: 16px;
  background: #FAFAFA;
  font-size: 14px;
  line-height: 1.4;
}

.description .pd-page__divider {
  width: 64px;
  height: 1px;
  margin: 8px auto 32px;
  background: #141414;
}

.description .pd-page__np-logo {
  display: inline-block;
  width: 43px;
  height: auto;
  margin-left: 8px;
  vertical-align: middle;
}
