/* =============================================================
   Blackberry Hotel — подгонка виджетов TravelLine под тему сайта.
   Файл подключается после style.css. Модуль отдаёт свою вёрстку,
   поэтому правила намеренно широкие и с !important.
   ============================================================= */

/* --- Контейнеры --- */
#tl-booking-form,
#tl-search-form,
[id^="tl-search-form"],
.tl-container {
    color: var(--ink-2);
    font-family: var(--font-body);
    background: transparent;
}


/* --- Любой текст внутри виджета: тёмный, а не белый.
       Кнопки и ссылки-кнопки не трогаем — у них свой цвет. --- */
#tl-booking-form :is(h1, h2, h3, h4, h5, h6, p, span, div, label, legend, li, td, th, strong, b, small),
[id^="tl-search-form"] :is(h1, h2, h3, h4, h5, h6, p, span, div, label, legend, li, td, th, strong, b, small),
.tl-container :is(h1, h2, h3, h4, h5, h6, p, span, div, label, legend, li, td, th, strong, b, small) {
    color: var(--ink-2) !important;
}

#tl-booking-form :is(h1, h2, h3, h4, h5, h6),
[id^="tl-search-form"] :is(h1, h2, h3, h4, h5, h6),
.tl-container :is(h1, h2, h3, h4, h5, h6) {
    color: var(--ink) !important;
    font-family: var(--font-display);
    font-weight: 500;
}

/* Внутри кнопок цвет оставляем родной (белый на заливке) */
#tl-booking-form :is(button, [class*="button"], [class*="Button"], [role="button"]) *,
[id^="tl-search-form"] :is(button, [class*="button"], [class*="Button"], [role="button"]) *,
.tl-container :is(button, [class*="button"], [class*="Button"], [role="button"]) * {
    color: inherit !important;
}

/* --- Поля ввода: видимая рамка в цвет темы --- */
#tl-booking-form :is(input, select, textarea),
[id^="tl-search-form"] :is(input, select, textarea),
.tl-container :is(input, select, textarea) {
    background: #fff !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: none !important;
}

#tl-booking-form :is(input, select, textarea):focus,
[id^="tl-search-form"] :is(input, select, textarea):focus,
.tl-container :is(input, select, textarea):focus {
    border-color: var(--accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(185, 120, 74, .14) !important;
}

#tl-booking-form :is(input, textarea)::placeholder,
[id^="tl-search-form"] :is(input, textarea)::placeholder,
.tl-container :is(input, textarea)::placeholder {
    color: var(--ink-3) !important;
}

/* Чекбоксы и радио — акцент темы */
#tl-booking-form :is(input[type="checkbox"], input[type="radio"]),
[id^="tl-search-form"] :is(input[type="checkbox"], input[type="radio"]),
.tl-container :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--accent);
    border-radius: 3px !important;
}

/* --- Обёртки полей дат и выпадающих списков (у TL это обычно div-ы) --- */
#tl-booking-form :is([class*="date"], [class*="Date"], [class*="calendar"], [class*="Calendar"], [class*="field"], [class*="Field"], [class*="input"], [class*="Input"], [class*="select"], [class*="Select"]),
[id^="tl-search-form"] :is([class*="date"], [class*="Date"], [class*="calendar"], [class*="Calendar"], [class*="field"], [class*="Field"], [class*="input"], [class*="Input"], [class*="select"], [class*="Select"]),
.tl-container :is([class*="date"], [class*="Date"], [class*="calendar"], [class*="Calendar"], [class*="field"], [class*="Field"], [class*="input"], [class*="Input"], [class*="select"], [class*="Select"]) {
    border-color: var(--line) !important;
}

/* Выпадающий календарь — на белом фоне и с рамкой */
#tl-booking-form :is([class*="popup"], [class*="Popup"], [class*="dropdown"], [class*="Dropdown"]),
[id^="tl-search-form"] :is([class*="popup"], [class*="Popup"], [class*="dropdown"], [class*="Dropdown"]),
.tl-container :is([class*="popup"], [class*="Popup"], [class*="dropdown"], [class*="Dropdown"]) {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-md) !important;
}

/* --- Ссылка-заглушка, пока модуль не загрузился --- */
.tl-container > noindex a { color: var(--ink-3); font-size: .82rem; }

/* --- Отступы контейнеров --- */
#tl-booking-form { min-height: 420px; }
#tl-booking-form iframe,
[id^="tl-search-form"] iframe { width: 100%; border: 0; }
