/* LynxHarbor — только инжектируемые элементы. Донорский CSS не переопределяем (§8.1).
   px only, без all:initial, без wildcard-ресетов. */

.lx-age-gate,
.lx-cookie-banner,
.lx-modal,
.lx-badge,
.lx-footer-legal,
.lx-enquiry,
.lx-stats,
.lx-amenities {
    font-family: "greycliff-cf", sans-serif;
    box-sizing: border-box;
}
.lx-age-gate *,
.lx-cookie-banner *,
.lx-modal *,
.lx-enquiry *,
.lx-stats *,
.lx-amenities * { box-sizing: border-box; }

/* ─── Age gate ─── */
.lx-age-gate {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    background: rgba(22, 20, 18, 0.94);
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.lx-age-box {
    background: #fff;
    max-width: 460px;
    width: 100%;
    padding: 36px 32px;
    text-align: center;
    border-radius: 2px;
}
.lx-age-logo { width: 56px; height: 56px; margin-bottom: 18px; }
.lx-age-box h2 { font-size: 24px; line-height: 30px; margin: 0 0 14px; color: #1d1d1b; }
.lx-age-box p { font-size: 15px; line-height: 23px; margin: 0 0 12px; color: #55504b; }
.lx-age-q { margin-top: 18px !important; color: #1d1d1b !important; }
.lx-age-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.lx-age-note { margin-top: 16px !important; font-size: 13px !important; line-height: 20px !important; }

/* ─── Кнопки (только внутри наших блоков) ─── */
.lx-btn {
    display: inline-block;
    padding: 13px 22px;
    font-size: 14px;
    line-height: 18px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border: 1px solid #1d1d1b;
    background: transparent;
    color: #1d1d1b;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.lx-btn:hover { background: #1d1d1b; color: #fff; }
.lx-btn-primary { background: #bd5828; border-color: #bd5828; color: #fff; }
.lx-btn-primary:hover { background: #a04a20; border-color: #a04a20; color: #fff; }

/* ─── Compliance badge в хедере (§5.1) ─── */
/* Бейдж — наш новый элемент во флекс-строке .ohm-right. Он отнимает место, из-за чего
   донорская кнопка сжималась и текст в ней переносился на две строки, ломая пилюлю.
   Поэтому бейдж уступает место первым, а кнопка и телефон не сжимаются вовсе. */
.lx-badge {
    display: inline-block;
    font-size: 11px;
    line-height: 14px;
    letter-spacing: 0.05em;
    color: #fff;
    opacity: 0.85;
    white-space: nowrap;
    margin-right: 14px;
    flex: 0 1 auto;
    min-width: 0;
}
.ohm-component-mainHeader .ohm-right .ohm-cta-btn,
.ohm-component-mainHeader .ohm-right .ohm-phone-icon { flex-shrink: 0; }
.ohm-component-mainHeader .ohm-right .ohm-cta-btn .ohm-btn { white-space: nowrap; }

/* Ниже 1100px места на бейдж уже нет — он уходит, кнопка остаётся целой.
   Возрастное ограничение при этом никуда не девается: оно в футере и на casino page. */
@media (max-width: 1100px) { .lx-badge { display: none; } }

/* ─── Cookie banner: НЕ блокирует скролл и контент (§7.2) ─── */
.lx-cookie-banner {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2147482000;
    background: #fff;
    border-top: 1px solid #ddd7d0;
    box-shadow: 0 -2px 18px rgba(0, 0, 0, 0.12);
    padding: 18px 20px;
}
.lx-cookie-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
}
.lx-cookie-text {
    flex: 1 1 380px;
    font-size: 13px;
    line-height: 20px;
    color: #55504b;
    margin: 0;
}
.lx-cookie-text a { color: #bd5828; text-decoration: underline; }
.lx-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; }
/* Три кнопки визуально равнозначные (§7.2) */
.lx-btn-cookie {
    min-width: 132px;
    padding: 11px 16px;
    font-size: 12px;
}
@media (max-width: 640px) {
    .lx-cookie-actions { width: 100%; }
    .lx-btn-cookie { flex: 1 1 100%; }
}

/* ─── Модал настроек ─── */
.lx-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2147483500;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.lx-modal-overlay { position: absolute; inset: 0; background: rgba(22, 20, 18, 0.6); }
.lx-modal-box {
    position: relative;
    background: #fff;
    max-width: 560px;
    width: 100%;
    max-height: 86vh;
    overflow-y: auto;
    border-radius: 2px;
}
.lx-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 22px 26px 14px;
    border-bottom: 1px solid #eee9e3;
}
.lx-modal-head h2 { font-size: 20px; line-height: 26px; margin: 0; color: #1d1d1b; }
.lx-modal-close {
    background: none;
    border: 0;
    font-size: 28px;
    line-height: 28px;
    cursor: pointer;
    color: #55504b;
    padding: 0 4px;
}
.lx-modal-body { padding: 20px 26px; }
.lx-modal-foot { padding: 0 26px 24px; }
.lx-toggle-row { padding: 14px 0; border-bottom: 1px solid #f2ede7; }
.lx-toggle-row:last-child { border-bottom: 0; }
.lx-toggle-row label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.lx-toggle-name { font-size: 15px; font-weight: 600; color: #1d1d1b; }
.lx-toggle-row p { margin: 8px 0 0 28px; font-size: 13px; line-height: 20px; color: #6b645d; }

/* ─── Дисклеймер в футере ─── */
.lx-footer-legal { padding: 22px 0 6px; }
.lx-footer-legal p { font-size: 12px; line-height: 19px; color: #6b645d; margin: 0 0 9px; }
.lx-footer-legal a { color: inherit; text-decoration: underline; }

/* ─── Блок статистики (§7.6) ─── */
.lx-stats { padding: 10px 0 30px; }
.lx-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
}
.lx-stat-num { font-size: 40px; line-height: 46px; color: #bd5828; margin: 0 0 6px; }
.lx-stat-label { font-size: 13px; line-height: 19px; color: #6b645d; margin: 0; letter-spacing: 0.03em; }
@media (max-width: 760px) { .lx-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 26px; } }

/* ─── Amenities (§7.7) ─── */
.lx-amenities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.lx-amenity { border-top: 1px solid #ddd7d0; padding-top: 16px; }
.lx-amenity h3 { font-size: 17px; line-height: 23px; margin: 0 0 8px; color: #1d1d1b; }
.lx-amenity p { font-size: 14px; line-height: 22px; color: #6b645d; margin: 0; }
@media (max-width: 900px) { .lx-amenities-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lx-amenities-grid { grid-template-columns: 1fr; } }

/* ─── Форма заявки (§7.5) ─── */
/* Донор переводит .ohm-inner в flex-direction:column, когда справа нет картинки, —
   колонка растягивается на всю ширину. Без margin:auto форма прилипает к левому краю,
   а донорский text-align:center центрирует подписи полей. Лечим оба симптома здесь,
   донорский CSS не трогаем. */
.lx-enquiry-form {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    width: 100%;
}
.lx-field { margin-bottom: 16px; }
.lx-field label { display: block; font-size: 13px; line-height: 18px; color: #55504b; margin-bottom: 6px; }
.lx-field input[type="text"],
.lx-field input[type="email"],
.lx-field input[type="tel"],
.lx-field input[type="date"],
.lx-field select,
.lx-field textarea {
    width: 100%;
    padding: 12px 14px;
    font-family: inherit;
    font-size: 15px;
    line-height: 21px;
    color: #1d1d1b;
    background: #fff;
    border: 1px solid #ddd7d0;
    border-radius: 0;
}
.lx-field textarea { min-height: 120px; resize: vertical; }
.lx-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 620px) { .lx-field-row { grid-template-columns: 1fr; } }
.lx-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 20px;
    color: #55504b;
    margin-bottom: 12px;
    cursor: pointer;
}
.lx-consent input { margin-top: 3px; flex: 0 0 auto; }
.lx-consent a { color: #bd5828; text-decoration: underline; }
.lx-error {
    display: none;
    font-size: 12px;
    line-height: 17px;
    color: #c0392b;
    margin: 5px 0 0;
}
.lx-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ─── Логотип в хедере ─── */
.lx-logo-white { filter: brightness(0) invert(1); }
.lx-logo-black { filter: brightness(0); }

/* ─── Контент legal-страниц ─── */
.lx-legal { padding: 40px 0 60px; }
.lx-legal h2 { font-size: 24px; line-height: 31px; margin: 34px 0 12px; color: #1d1d1b; }
.lx-legal h3 { font-size: 18px; line-height: 25px; margin: 24px 0 10px; color: #1d1d1b; }
.lx-legal p,
.lx-legal li { font-size: 15px; line-height: 24px; color: #55504b; }
.lx-legal p { margin: 0 0 14px; }
.lx-legal ul { margin: 0 0 16px; padding-left: 20px; }
.lx-legal li { margin-bottom: 7px; }
.lx-legal a { color: #bd5828; text-decoration: underline; }
.lx-legal-updated { font-size: 13px; color: #8a827a; margin-bottom: 26px; }
.lx-legal table { width: 100%; border-collapse: collapse; margin: 0 0 20px; }
.lx-legal th,
.lx-legal td {
    border: 1px solid #e6e0d9;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 20px;
    text-align: left;
    vertical-align: top;
    color: #55504b;
}
.lx-legal th { background: #faf8f5; color: #1d1d1b; font-weight: 600; }
.lx-table-scroll { overflow-x: auto; }
