/* Pinty cookie consent banner. Кастомная стилизация — не зависит от Tilda. */

.pinty-cc {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 999999;
    background: #fff;
    color: #333;
    border: 1px solid #d7388b;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    font-family: 'FuturaPT', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    max-width: 760px;
    margin: 0 auto;
}

.pinty-cc__bar,
.pinty-cc__panel {
    padding: 16px 20px;
}

.pinty-cc__text {
    margin-bottom: 12px;
}

.pinty-cc__text a {
    color: #d7388b;
    text-decoration: underline;
}

.pinty-cc__btns {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.pinty-cc__btn {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #d7388b;
    background: #fff;
    color: #d7388b;
    border-radius: 24px;
    padding: 8px 16px;
    font: inherit;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.pinty-cc__btn:hover,
.pinty-cc__btn:focus-visible {
    background: #ffeef7;
    outline: none;
}

.pinty-cc__btn--primary {
    background: #d7388b;
    color: #fff;
}

.pinty-cc__btn--primary:hover,
.pinty-cc__btn--primary:focus-visible {
    background: #b92873;
    color: #fff;
}

/* --- Settings panel --- */
.pinty-cc__panel-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 4px;
}

.pinty-cc__panel-desc {
    margin-bottom: 14px;
    color: #555;
}

.pinty-cc__cat {
    padding: 10px 0;
    border-top: 1px solid #f0e0ea;
}

.pinty-cc__cat:first-of-type {
    border-top: 0;
}

.pinty-cc__label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
}

.pinty-cc__label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #d7388b;
    margin: 0;
}

.pinty-cc__cat-name {
    font-weight: 600;
}

.pinty-cc__cat-desc {
    margin-left: 24px;
    margin-top: 4px;
    color: #666;
    font-size: 13px;
}

@media (max-width: 600px) {
    .pinty-cc {
        left: 8px;
        right: 8px;
        bottom: 8px;
    }
    .pinty-cc__btns {
        justify-content: stretch;
    }
    .pinty-cc__btn {
        flex: 1 1 auto;
    }
}

/* Скрытие старого Tilda-баннера t886, чтобы не дублировать */
.t886 {
    display: none !important;
}

/* Чекбоксы согласия рядом с формой Tilda Zero-block.
 * Размещаются как sibling после .tn-elem[data-elem-type="form"], чтобы
 * не накладываться на абсолютно позиционированные элементы Zero-формы. */
.pinty-form-consent-box {
  display: block;
  max-width: 560px;
  margin: 12px auto 8px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 8px;
  font-family: 'FuturaPT', 'Comfortaa', system-ui, -apple-system, sans-serif;
  font-size: 13px;
  line-height: 1.4;
  color: #2b2b2b;
  text-align: left;
  position: relative;
  z-index: 5;
}

.pinty-form-consent-box .pfc-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  margin: 0 0 8px;
}

.pinty-form-consent-box .pfc-row:last-child {
  margin-bottom: 0;
}

.pinty-form-consent-box .pfc-cb {
  margin: 3px 0 0;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  accent-color: #d7388b;
}

.pinty-form-consent-box .pfc-text {
  flex: 1;
}

.pinty-form-consent-box .pfc-text a {
  color: #d7388b;
  text-decoration: underline;
}

.pinty-form-consent-box.pfc-error {
  background: #fff0f0;
  outline: 1px solid #d7388b;
}

/* Старая статическая разметка чекбокса больше не используется
   (теперь чекбокс вставляется через form-consent.js sibling-методом).
   Скрываем её, чтобы не было дубликата на главной. */
.pinty-form-consent {
  display: none !important;
}

/* ===== Точечные фиксы верстки после правок контента ===== */

/* 1. Disclaimer Tilda «Нажимая на кнопку...» дублирует наш чекбокс. Скрываем. */
.tn-elem__6372387811694012624251 {
    display: none !important;
}

/* 2. Бокс чекбоксов: зазор сверху и снизу, чтобы не лип к submit и низу формы. */
.pinty-form-consent-box {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    background: rgba(255, 255, 255, 0.96) !important;
}

/* 3. Контактная страница: после правок контента (длинный текст времени работы,
 *    handle Телеграм @pinty_ru_bot, дополнения адреса) тексты в карточках
 *    наезжают на соседей. Tilda Zero-block задаёт фиксированную высоту через
 *    data-field-height-value, что не учитывает выросший контент.
 *
 *    Снимаем height для текстовых элементов на /contacts на ВСЕХ экранах. */
body[data-page="contacts"] .t396__elem[data-elem-type="text"] {
    height: auto !important;
}
body[data-page="contacts"] .t396__elem .tn-atom {
    white-space: normal !important;
    word-break: break-word;
}

/* На мобильном Tilda Zero-block использует абсолютное позиционирование с
 * жёстко зашитыми top/height per breakpoint, и наши CSS-правила сверху
 * (которые работают на десктопе) ломают мобильный layout.
 *
 * Простое решение для мобильного: скрываем избыточные «серые подтексты»
 * («(ориентир для навигатора)», «Пожалуйста, о приезде сообщайте…»),
 * которые наезжают на основной контент. На мобильном экране важнее, чтобы
 * карточки читались, а пояснения можно посмотреть на десктопе. */
@media (max-width: 640px) {
    body[data-page="contacts"] .tn-elem__6368630831694016195610,
    body[data-page="contacts"] .tn-elem__6368630831694016195636 {
        display: none !important;
    }
    /* Восстанавливаем нормальную высоту artboard на мобильном */
    body[data-page="contacts"] #rec637238781 .t396__artboard,
    body[data-page="contacts"] #rec637238781 .t396__filter,
    body[data-page="contacts"] #rec637238781 .t396__carrier {
        min-height: unset !important;
    }
}

/* Серые подтексты в карточках Адрес и Время работы на ДЕСКТОПЕ — сдвигаем
 * их вниз, потому что основной текст вырос и они наезжали. Только desktop. */
@media (min-width: 641px) {
    body[data-page="contacts"] .tn-elem__6368630831694016195610 {
        top: 440px !important;
    }
    body[data-page="contacts"] .tn-elem__6368630831694016195636 {
        top: 470px !important;
    }
}

/* Контейнеры-shape (фон карточек "Адрес", "Связаться", "Время работы",
 * "Соц. сети") должны быть выше на десктопе, чтобы вместить выросший
 * контент и серые подтексты. На мобильном — Tilda сама раскладывает
 * карточки в столбик, и наша принудительная высота их наезжала бы. */
@media (min-width: 641px) {
    body[data-page="contacts"] .tn-elem__6368630831694016195561,
    body[data-page="contacts"] .tn-elem__6368630831694016195587,
    body[data-page="contacts"] .tn-elem__6368630831694016195603,
    body[data-page="contacts"] .tn-elem__6368630831694016195630 {
        height: 380px !important;
    }
}

/* 4. Блок «Мы принимаем» с иконками карт (Mastercard / VISA / Maestro / МИР...)
 *    в футере — больше неактуален. Скрываем для всех breakpoint'ов:
 *    у Tilda для desktop и mobile разные tn-elem ID. */
.tn-elem__637214842169402319973,
.tn-elem__637214842169402319974,
.tn-elem__637214842169402319975,
/* Mobile-варианты тех же атомов в footer (page39391285) */
.tn-elem__6372148421694023199737,
.tn-elem__6372148421694023199739,
.tn-elem__6372148421694023199745,
.tn-elem__6372148421694023199750,
.tn-elem__6372148421694023199755,
.tn-elem__6372148421694023199758 {
    display: none !important;
}

/* 5. Секция «Подписывайтесь на нас в социальных сетях» на /contacts —
 *    после удаления Instagram-кнопок осталась пустая бледно-розовая полоса
 *    с почти невидимым текстом. Скрываем всю секцию (Telegram-handle уже
 *    есть в карточке КОНТАКТЫ выше). */
body[data-page="contacts"] #rec637389438 {
    display: none !important;
}

/* 6. Форма «Остались вопросы?» на /contacts:
 *    Чекбокс согласия теперь вставляется внутрь <form> после t-form__inputsbox.
 *    Это значит элемент идёт в normal flow, и сам <form> вырос на ~150px вниз.
 *    Tilda при этом держит host (data-elem-type=form) с фиксированной высотой,
 *    и <form> "выходит" за неё. Это допустимо — overflow visible по дефолту.
 *    Главное — белая плашка должна быть высокой чтобы накрыть и форму,
 *    и наш чекбокс. Расширяем shape-плашку через CSS на ВСЕХ ширинах. */
body[data-page="contacts"] .tn-elem__6372387811694012624215 {
    /* Базовая высота 665 + 200 для чекбоксов */
    height: 865px !important;
}
@media (max-width: 640px) {
    body[data-page="contacts"] .tn-elem__6372387811694012624215 {
        /* На мобильном чекбокс занимает больше высоты (3 строки + 3 строки) */
        height: 800px !important;
    }
}
@media (max-width: 480px) {
    body[data-page="contacts"] .tn-elem__6372387811694012624215 {
        height: 880px !important;
    }
}
