
/* Порожня рекламна зона (без ad-коду в налаштуваннях домену) не повинна займати місця —
   інакше margin шаблонного .wrap-обгортки лишається порожньою смугою (видно фон сторінки
   між банером і меню шапки, напр.) навіть коли рендерити нічого. */
.ad-slot-header-top:empty,.ad-slot-header:empty,.ad-slot-sidebar:empty,.ad-slot-footer:empty,.ad-slot-footer-inside:empty{display:none;margin:0;padding:0}
/* Заглушка YouTube-відео замість одразу вбудованого iframe — thumbnail + кнопка плей по центру */
.yt-lite{position:relative;display:block;width:100%;max-width:100%;cursor:pointer;background-size:cover;background-position:center;background-color:#000;border-radius:8px;overflow:hidden;margin:1rem auto}
.yt-lite-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;background:rgba(0,0,0,.75);border:none;border-radius:14px;cursor:pointer;transition:background .15s}
.yt-lite:hover .yt-lite-play,.yt-lite:focus-visible .yt-lite-play{background:#ff0000}
.yt-lite-play::after{content:"";position:absolute;top:50%;left:55%;transform:translate(-50%,-50%);border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}
/* EEAT-байлайн автора (AUTHOR_BIO) — класична картка "Автор: фото + ім'я/посада + біо" */
.author-bio{display:flex;gap:1rem;align-items:flex-start;margin:1.4rem 0;padding:1rem 1.1rem;border:1px solid var(--line,#e5e9f0);border-radius:12px;background:var(--card,#fff)}
.author-bio-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-bio-avatar--placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent,var(--p,#4a90d9));color:#fff;font-size:1.6rem;font-weight:700}
.author-bio-label{margin:0 0 .2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#8a8f98)}
.author-bio-name{margin:0 0 .4rem;font-weight:700;font-size:1.02rem}
.author-bio-title{font-weight:400;color:var(--muted,#8a8f98)}
.author-bio-text{margin:0;font-size:.92rem;line-height:1.5;color:var(--text,#1a1c1e)}
.author-bio-social{display:flex;gap:.6rem;margin-top:.5rem;flex-wrap:wrap}
.author-bio-social a{font-size:.82rem;color:var(--accent,var(--p,#4a90d9));text-decoration:none}
.author-bio-social a:hover{text-decoration:underline}
figure{margin:1rem auto;max-width:100%}
figure img{max-width:100%;height:auto}
figure.img--inline{max-width:760px}
figure.img--inline img,figure.img--wide img{width:100%;border-radius:12px}
figure.img--wide{max-width:1160px}
figure.img--full{width:100vw;position:relative;left:50%;transform:translateX(-50%);max-width:100vw;margin:1rem 0}
figure.img--full img{width:100%;max-width:100vw;border-radius:0}
figure.img--hero{max-width:1160px}
figure.img--hero img{width:100%;max-height:72vh;object-fit:cover;border-radius:16px}
/* Слайдер — справжня карусель (трек із перемиканням через JS, не просто ряд картинок) */
figure.img--slider{position:relative;overflow:hidden;border-radius:14px;max-width:1160px;margin:1rem auto}
figure.img--slider .slider-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1)}
figure.img--slider .slider-slide{flex:0 0 100%;min-width:0}
figure.img--slider .slider-slide img{width:100%;display:block}
figure.img--slider .slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:0;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}
figure.img--slider .slider-btn:hover{background:rgba(0,0,0,.7)}
figure.img--slider .slider-prev{left:12px}
figure.img--slider .slider-next{right:12px}
figure.img--slider .slider-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:7px}
figure.img--slider .slider-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);border:0;cursor:pointer;padding:0;transition:background .15s,transform .15s}
figure.img--slider .slider-dot.active{background:#fff;transform:scale(1.25)}
@media(max-width:560px){figure.img--slider .slider-btn{width:32px;height:32px;font-size:1.2rem}}
.comments-wrap{max-width:960px;margin:0 auto}
.comments-title{font-size:1.4rem;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}
/* адаптивні таблиці */
.block--table{overflow-x:auto;-webkit-overflow-scrolling:touch}
.block--table table{min-width:520px}
/* доступність: фокус */
a:focus-visible,button:focus-visible{outline:2px solid var(--p,#4a90d9);outline-offset:2px;border-radius:4px}
/* кнопка «вгору» */
.a7-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;border:0;background:var(--p,#333);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:60;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.a7-top.show{opacity:.92;pointer-events:auto}.a7-top:hover{opacity:1;transform:translateY(-2px)}
/* гамбургер + мобільна навігація (шухляда) */
.a7-burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;color:inherit;z-index:50}
.a7-burger span{display:block;width:24px;height:2px;background:currentColor;transition:.3s;border-radius:2px}
.a7-nav-open .a7-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.a7-nav-open .a7-burger span:nth-child(2){opacity:0}
.a7-nav-open .a7-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
.a7-burger{display:flex}
header nav,.site-header nav{position:fixed!important;top:0;right:0;bottom:0;width:min(82vw,340px);background:var(--card,#fff)!important;color:var(--ink,#111);transform:translateX(100%);transition:transform .3s ease;display:block!important;padding:78px 26px 26px!important;box-shadow:-10px 0 34px rgba(0,0,0,.18);z-index:45;overflow-y:auto}
header.a7-nav-open nav,.site-header.a7-nav-open nav{transform:none}
header nav ul,.site-header nav ul{flex-direction:column!important;gap:4px!important;align-items:stretch!important}
header nav ul a,.site-header nav ul a{display:block;padding:.6rem 0;border-bottom:1px solid var(--line,#eee)}
header nav ul ul,.site-header nav ul ul{position:static!important;display:block!important;box-shadow:none!important;border:0!important;padding:0 0 0 14px!important;min-width:0!important}
}
/* FAQ-акордеон (details/summary, без JS) */
.block--faq{max-width:900px;margin:0 auto;padding-inline:22px}
.faq-item{border:1px solid var(--line,#e2e4e2);border-radius:12px;margin:0 0 .7rem;overflow:hidden;background:var(--card,#fff)}
.faq-item summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.3rem;line-height:1;color:var(--p,#333);transition:transform .2s;flex-shrink:0}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 1.2rem 1.1rem;color:var(--muted,#666)}
/* картки списку у стилі афіліат-рейтингів: бейдж місця + рейтинг */
.block--list li{position:relative}
.block--list ol{list-style:none;counter-reset:rank;padding:0;margin:0 auto;max-width:1160px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.block--list ol li{counter-increment:rank}
.block--list ol li::before{content:"#"counter(rank);position:absolute;top:-10px;left:14px;background:var(--p,#333);color:#fff;font-weight:800;font-size:.78rem;padding:.15rem .55rem;border-radius:999px;box-shadow:0 4px 10px rgba(0,0,0,.18)}
/* Портальний лейаут: контент + сайдбар, розташування задається body-класом (налаштування домену) */
.portal-layout{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start;max-width:1240px;margin:0 auto;padding:0 22px}
.portal-layout>.portal-main{min-width:0}
.portal-layout>.portal-aside{min-width:0;position:sticky;top:88px;display:flex;flex-direction:column;gap:18px}
body.a7-sidebar-left .portal-layout{grid-template-columns:300px 1fr}
body.a7-sidebar-left .portal-layout>.portal-aside{order:-1}
body.a7-sidebar-right .portal-layout{grid-template-columns:1fr 300px}
body.a7-sidebar-none .portal-layout{grid-template-columns:1fr}
body.a7-sidebar-none .portal-layout>.portal-aside{display:none}
@media(max-width:960px){.portal-layout{grid-template-columns:1fr!important}.portal-layout>.portal-aside{order:2!important;position:static}}
/* Рекламні блоки в сайдбарі — плейсхолдер під вставку коду реклами */
.ad-slot{border:1px dashed var(--line,#d7dae0);border-radius:10px;padding:1.4rem 1rem;text-align:center;color:var(--muted,#8a8f9a);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;background:var(--card,#fff)}
.sidebar-widget{background:var(--card,#fff);border:1px solid var(--line,#e5e9f0);border-radius:12px;padding:1.1rem}
.sidebar-widget h3{margin:0 0 .7rem;font-size:1rem}
.sidebar-widget nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
/* Перемикач мов */
.lang-switch{display:flex;gap:.3rem;align-items:center;flex-shrink:0}
/* Автовставлений у шапку (шаблони без {{langSwitcher}}) — не даємо йому розтягуватись */
header .wrap>.lang-switch,.site-header .wrap>.lang-switch{margin-left:.6rem}
@media(max-width:820px){header .wrap>.lang-switch,.site-header .wrap>.lang-switch{margin-left:auto;margin-right:3rem}}
/* У футері (langSwitcherPosition footer/both) — темне тло портальних шаблонів, тож рамка/колір мають лишатись видимими */
footer .lang-switch{margin-top:10px}
footer .lang-switch a{border-color:rgba(255,255,255,.25)}
footer .lang-switch-select{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06);color:inherit}
.lang-switch a{padding:.3rem .6rem;border-radius:6px;font-size:.78rem;font-weight:700;border:1px solid var(--line,#e5e9f0);color:inherit;display:inline-flex;align-items:center;gap:.3rem}
.lang-switch a.active{background:var(--p,#333);color:#fff!important;border-color:var(--p,#333)}
.lang-switch-flags a{padding:.25rem;border:none;background:none;font-size:1.05rem}
.lang-switch-flags a.active{background:none;border:none;box-shadow:0 0 0 2px var(--p,#333) inset;border-radius:6px}
.lang-flag{font-size:1.05rem;line-height:1}
.lang-switch-select{padding:.3rem .5rem;border-radius:6px;border:1px solid var(--line,#e5e9f0);background:var(--card,#fff);color:inherit;font-size:.78rem;font-weight:700}
/* Категорійний блок: авто-прев'ю дочірніх сторінок (slug починається з "{page.slug}/") */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:1.2rem}
.category-grid--3{grid-template-columns:repeat(3,1fr)}
.category-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:820px){.category-grid--3,.category-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.category-grid--3,.category-grid--4{grid-template-columns:1fr}}
/* Фейкова форма коментаря під блоком COMMENTS — жодного бекенду, лише повідомлення про успіх */
.comment-form{max-width:560px;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:.7rem}
.comment-form .field{display:flex;flex-direction:column;gap:.3rem}
.comment-form label{font-size:.85rem;font-weight:700;color:var(--muted,#666)}
.comment-form input,.comment-form textarea{font:inherit;padding:.6rem .75rem;border:1px solid var(--line,#dcdfe4);border-radius:10px;background:var(--card,#fff);color:inherit}
.comment-form button{align-self:flex-start;background:var(--p,#333);color:#fff;border:0;padding:.6rem 1.4rem;border-radius:999px;font-weight:800;cursor:pointer}
.comment-form button:hover{background:var(--a,#555)}
.comment-form-status{margin:0;font-size:.85rem;color:var(--muted,#666);min-height:1.2em}
.category-card{display:block;background:var(--card,#fff);border:1px solid var(--line,#e5e9f0);border-radius:12px;padding:1rem 1.1rem;color:inherit;transition:transform .15s,box-shadow .15s}
.category-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08);color:inherit}
.category-card h3{margin:0 0 .4rem;font-size:1rem;color:var(--p,#333)}
.category-card p{margin:0;font-size:.85rem;color:var(--muted,#777)}
.category-card .category-thumb{display:block;margin:-1rem -1.1rem .8rem;aspect-ratio:16/9;overflow:hidden;border-radius:12px 12px 0 0}
.category-card .category-thumb img{width:100%;height:100%;object-fit:cover}
/* Бейдж платно просунутого об'єкта (Page.isPromoted) — картка в категорії/каталозі */
.category-card-promoted{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#fff;background:var(--accent,#e0872a);border-radius:6px;padding:.2rem .5rem;margin-bottom:.5rem}
/* Картка характеристик об'єкта нерухомості (BlockType.LISTING_DETAILS) */
.listing-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem 1.4rem;margin:0 0 1.4rem;padding:1rem 1.2rem;background:var(--card,#fff);border:1px solid var(--line,#e5e9f0);border-radius:12px}
.listing-fact{margin:0}
.listing-fact dt{font-size:.75rem;color:var(--muted,#777);margin:0 0 .2rem}
.listing-fact dd{margin:0;font-size:1rem;font-weight:600;color:var(--p,#333)}
/* Картка МФО (BlockType.LENDER_CARD) */
.lender-card{margin:0 0 1.4rem;padding:1.3rem 1.4rem;background:var(--card,#fff);border:1px solid var(--line,#e5e9f0);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.lender-card>*+*{margin-top:1rem}
.lender-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.lender-rating{display:flex;align-items:baseline;gap:.5rem}
.lender-stars{color:#f0a83c;font-size:1.3rem;letter-spacing:.05em}
.lender-rating-num{font-weight:700;color:var(--p,#333)}
.lender-logo{max-height:72px;max-width:240px;object-fit:contain}
.lender-logo--lg{max-height:110px;max-width:320px}
/* Кнопка заявки — колір з --accent/--p (Domain.themeOverride), той самий принцип,
   що й решта акцентних елементів сайту (промо-бейджі, auth-кнопки) */
.lender-cta{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1.6rem;border-radius:999px;background:var(--accent,var(--p,#e0872a));color:#fff;font-weight:700;font-size:1rem;text-decoration:none;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s,opacity .15s}
.lender-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.16);opacity:.94}
.lender-cta:active{transform:translateY(0)}
.lender-pros-cons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.lender-pros,.lender-cons{margin:0;padding:0;list-style:none}
.lender-pros li,.lender-cons li{padding:.15rem 0 .15rem 1.3rem;position:relative;font-size:.92rem}
.lender-pros-title,.lender-cons-title{font-weight:700;padding-left:0!important;margin-bottom:.2rem}
.lender-pros li:not(.lender-pros-title)::before{content:"+";position:absolute;left:0;color:#2e9e5b;font-weight:700}
.lender-cons li:not(.lender-cons-title)::before{content:"–";position:absolute;left:0;color:#d1493f;font-weight:700}
.lender-disclaimer{font-size:.78rem;line-height:1.5;color:var(--muted,#777);background:var(--bg-soft,#f6f7f9);border-radius:8px;padding:.7rem .9rem}
@media (max-width:520px){.lender-cta{width:100%}}
/* Способи отримання (chips) на картці МФО */
.lender-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.lender-tag{display:inline-block;font-size:.78rem;padding:.25rem .6rem;border-radius:999px;background:var(--bg-soft,#f6f7f9);border:1px solid var(--line,#e5e9f0);color:var(--muted,#555)}
/* Вимоги до позичальника — акордеон, без JS */
.lender-requirements{margin:0}
.lender-requirements summary{cursor:pointer;font-weight:700;padding:.4rem 0}
.lender-requirements .listing-details{margin-top:.6rem}
/* Лістинг МФО (BlockType.TOP_LISTINGS) — компактні картки, morningcredit.com-стиль */
.lender-listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:1rem 0}
/* Сайдбар-віджет "Пропозиції": один рядок на бренд (лого+назва), без факт-рядка/CTA —
   картки-в-повний-зріст (як в основному лістингу) у вузькій колонці займали б екран. */
.sidebar-lender-list{display:flex;flex-direction:column;gap:.4rem}
.sidebar-lender-row{display:flex;align-items:center;gap:.6rem;padding:.4rem;border-radius:9px;text-decoration:none;color:inherit;transition:background .15s}
.sidebar-lender-row:hover{background:var(--bg-soft,#f6f7f9)}
.sidebar-lender-row .lender-logo,.sidebar-lender-row .lender-avatar{width:32px;height:32px;max-width:32px;max-height:32px;flex-shrink:0;font-size:.85rem}
.sidebar-lender-row span{font-size:.86rem;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Компактна картка лістингу: фіксована структура (лого-бокс/заголовок/факти/CTA),
   щоб не "розповзалась" по висоті через довгі заголовки/ставки — картки без лого
   й з логотипом мають виглядати однаково акуратно, у сітці рівними рядами. */
.lender-compact-card{position:relative;padding:1.1rem;background:var(--card,#fff);border:1px solid var(--line,#e5e9f0);border-radius:14px;display:flex;flex-direction:column;gap:.7rem;height:100%;transition:box-shadow .15s,border-color .15s}
.lender-compact-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.08);border-color:var(--accent,var(--p,#e0872a))}
.lender-compact-link{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit}
/* Фіксований квадрат під лого — і коли картинка є, і коли нема (тоді туди йде
   .lender-avatar), щоб шапка картки завжди мала однакову висоту. */
.lender-compact-link .lender-logo{width:44px;height:44px;max-height:44px;max-width:44px;flex-shrink:0;object-fit:contain;border-radius:9px;background:var(--bg-soft,#f6f7f9);border:1px solid var(--line,#e5e9f0);padding:4px}
.lender-avatar{width:44px;height:44px;flex-shrink:0;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:#fff}
.lender-compact-link h3{margin:0;font-size:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.lender-compact-facts{display:flex;justify-content:space-between;gap:.5rem;margin:0;flex:1}
.lender-compact-facts>div{text-align:center;flex:1;min-width:0}
.lender-compact-facts dt{font-size:.68rem;color:var(--muted,#777);margin:0}
.lender-compact-facts dd{margin:.15rem 0 0;font-size:.85rem;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}
.lender-cta--sm{padding:.6rem 1rem;font-size:.88rem;width:100%}
.lender-filters{display:flex;flex-wrap:wrap;gap:.6rem 1rem;margin:0 0 1rem;padding:.8rem 1rem;background:var(--bg-soft,#f6f7f9);border-radius:10px}
.lender-filter{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}
/* Калькулятор переплати (BlockType.CALCULATOR) */
.calculator{padding:1.2rem 1.3rem;background:var(--card,#fff);border:1px solid var(--line,#e5e9f0);border-radius:14px;margin:0 0 1.4rem}
.calculator-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}
.calculator-row label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--muted,#666)}
.calculator-row input{padding:.5rem .6rem;border:1px solid var(--line,#dcdfe4);border-radius:8px;font:inherit}
.calculator-result{display:flex;gap:1.5rem;flex-wrap:wrap;padding-top:.8rem;border-top:1px solid var(--line,#e5e9f0)}
.calculator-result strong{display:block;font-size:1.3rem;margin-top:.2rem}
/* SILO-лінк (дочірня сторінка → категорія, категорія → головна) — компактний рядок, не заголовок */
.silo-link{font-size:.85rem;font-weight:700;margin-top:1rem!important}
/* Розташування лого в шапці (налаштування домену) */
body.a7-logo-center header .brand,body.a7-logo-center .site-header .brand,body.a7-logo-center .header-banner .brand{margin-inline:auto}
body.a7-logo-right header .brand,body.a7-logo-right .site-header .brand,body.a7-logo-right .header-banner .brand{margin-inline-start:auto}
body.a7-logo-center .header-banner .wrap,body.a7-logo-right .header-banner .wrap{justify-content:center}
body.a7-logo-right .header-banner .wrap{justify-content:flex-end}
/* Cookie/GDPR-банер, закріплений унизу */
.a7-cookie{position:fixed;left:50%;bottom:16px;transform:translate(-50%,140%);width:min(920px,calc(100vw - 24px));z-index:80;background:var(--card,#fff);color:var(--ink,#111);border:1px solid var(--line,#e3e6ea);border-radius:16px;box-shadow:0 18px 46px rgba(0,0,0,.24);padding:1rem 1.2rem;display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s;opacity:0}
.a7-cookie.show{transform:translate(-50%,0);opacity:1}
.a7-cookie p{margin:0;flex:1 1 320px;font-size:.85rem;line-height:1.55;color:var(--muted,#6a7280)}
.a7-cookie p a{text-decoration:underline}
.a7-cookie-btns{display:flex;gap:.5rem;flex-shrink:0}
.a7-cookie button{font:inherit;font-size:.83rem;font-weight:700;cursor:pointer;padding:.55rem 1.15rem;border-radius:999px;border:1px solid var(--line,#dcdfe4);background:transparent;color:inherit;transition:background .15s,color .15s}
.a7-cookie button:hover{background:rgba(127,127,127,.12)}
.a7-cookie button.primary{background:var(--p,#333);border-color:var(--p,#333);color:#fff}
.a7-cookie button.primary:hover{background:var(--a,#555);border-color:var(--a,#555)}
@media(max-width:560px){.a7-cookie{bottom:8px;padding:.9rem 1rem;gap:.75rem}.a7-cookie-btns{width:100%}.a7-cookie button{flex:1}}
/* Захист лейауту від «широкого» імпортованого контенту */
.block img,.block table,.block pre,.block iframe{max-width:100%}
.block h1,.block h2,.block h3{overflow-wrap:break-word}
/* ── Вбудовані фрейми (демо слота, відео) ──────────────────────────────
   Розтягуємо на всю ширину контентної колонки. Без цього фрейм лишався
   дефолтним 300×150: у слот-віджетів розміри зазвичай задані атрибутами
   width/height, які нормалізатор контенту раніше вирізав.
   height:auto + aspect-ratio тримають пропорцію на всіх ширинах, тож на
   мобільному фрейм не вилазить за екран і не лишає порожніх смуг. */
.block iframe{display:block;width:100%;margin:1.2rem auto;border:0;border-radius:14px;background:#000}
/* Висоту веде aspect-ratio, який проставляє enhanceIframes() інлайново з атрибутів
   width/height (800x600 = 4:3, 1280x720 = 16:9). Робимо це в рендерері, бо браузери
   НЕ виводять пропорцію з цих атрибутів для фреймів (на відміну від картинок):
   з height:auto фрейм схлопується до дефолтних 150px. Правило нижче — фолбек для
   контенту, що обійшов enhanceIframes (напр. власний layoutHtml шаблону). */
.block iframe{height:auto}
.block iframe:not([style*="aspect-ratio"]){aspect-ratio:16/9}
/* Обгортка слот-демо, якщо фрейм загорнуто в контейнер. */
.slot-frame,.game-frame{position:relative;width:100%;margin:1.2rem auto;border-radius:14px;overflow:hidden}
.slot-frame iframe,.game-frame iframe{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0}
@media(max-width:560px){.block iframe{border-radius:10px;margin:.9rem auto}}
/* Форма зворотного зв'язку (→ Telegram) */
.contact-form{max-width:560px;margin:1.2rem auto 0;display:flex;flex-direction:column;gap:.9rem}
.contact-form .field{display:flex;flex-direction:column;gap:.3rem}
.contact-form label{font-size:.85rem;font-weight:700;color:var(--muted,#666)}
.contact-form input,.contact-form textarea{font:inherit;padding:.65rem .8rem;border:1px solid var(--line,#dcdfe4);border-radius:10px;background:var(--card,#fff);color:inherit}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--p,#4a90d9);outline-offset:1px}
/* По центру й крупніше — раніше тулилась ліворуч (align-self:flex-start) і губилась
   поруч із повнорозмірними полями форми, особливо на мобільному. */
.contact-form button{align-self:center;background:var(--p,#333);color:#fff;border:0;padding:.85rem 2.4rem;font-size:1rem;border-radius:999px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18);transition:filter .15s,transform .15s}
.contact-form button:hover{filter:brightness(1.1);transform:translateY(-1px)}
.contact-form .contact-status{margin:0;font-size:.85rem;color:var(--muted,#666);min-height:1.2em}
.contact-form .a7-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* Блок OWNERS: звернення до власника закладу + посилання на форму зв'язку (прив'язане до сторінки) */
.block--owners{max-width:760px;margin:1.2rem auto;padding:1rem 1.2rem;background:var(--card,#f7f7f7);border:1px dashed var(--line,#d7dae0);border-radius:12px;font-size:.92rem}
.block--owners p{margin:0 0 .5rem}
.block--owners p:last-child{margin-bottom:0}
.owners-cta a{font-weight:700}
/* Блок SLOTS: сітка карток слотів (референс 777.ua/games/all-slots), кожна веде на /play/{slug}.
   Картка ЗАВЖДИ чорна і з кнопкою плей на мініатюрі — незалежно від теми сайту (не var(--card)),
   бо це впізнаваний казино-патерн сам по собі, а не елемент, що має підлаштовуватись під тему. */
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;margin:1.2rem auto;max-width:1160px}
.slot-grid--3{grid-template-columns:repeat(3,1fr)}
.slot-grid--4{grid-template-columns:repeat(4,1fr)}
.slot-grid--5{grid-template-columns:repeat(5,1fr)}
@media(max-width:820px){.slot-grid--3,.slot-grid--4,.slot-grid--5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.slot-grid--3,.slot-grid--4,.slot-grid--5{grid-template-columns:1fr 1fr}}
.slot-card{display:flex;flex-direction:column;color:#fff;border-radius:14px;overflow:hidden;background:#0b0b0f;border:1px solid rgba(255,255,255,.09);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}
.slot-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.45);color:#fff}
.slot-thumb{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:#000}
.slot-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.slot-card:hover .slot-thumb img{transform:scale(1.06)}
.slot-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 55%)}
.slot-thumb::before{content:"▶";position:absolute;left:50%;top:50%;z-index:1;width:44px;height:44px;line-height:44px;
  text-align:center;padding-left:3px;border-radius:50%;background:rgba(0,0,0,.55);border:2px solid rgba(255,255,255,.85);
  color:#fff;font-size:1.05rem;transform:translate(-50%,-50%);transition:background .2s,border-color .2s,transform .2s}
.slot-card:hover .slot-thumb::before{background:var(--p,#e63946);border-color:#fff;transform:translate(-50%,-50%) scale(1.1)}
.slot-name{padding:.6rem .7rem 0;font-weight:700;font-size:.92rem;line-height:1.25;color:#fff}
.slot-provider{padding:.15rem .7rem .7rem;font-size:.78rem;color:#9a9fab}
@media(prefers-reduced-motion:reduce){.slot-card,.slot-thumb img,.slot-thumb::before{transition:none}}
/* Заголовки блоків — по центру, узгоджено з центрованим HERO-заголовком:
   .page-h1 — синтетичний H1 (коли на сторінці немає HERO-блоку);
   main .block>h1/h2/h3 — заголовок ПРЯМО всередині блоку (селектор ">" — лише перший
   рівень, не заголовки глибоко в тексті статті) — саме так усі наявні шаблони позначають
   заголовок секції, і в жодному з них не було свого text-align, тож він «прилипав» ліворуч
   замість того, щоб бути по центру як задумано дизайном (узгоджено з HERO/CTA-блоками). */
.page-h1,main .block>h1,main .block>h2,main .block>h3{text-align:center}
/* Кнопки «Увійти»/«Реєстрація» (вмикається на домені, стиль/розмір/розташування —
   auth-style-solid|outline, auth-size-sm|md|lg, у шапці або над сайдбаром). */
.auth-buttons{display:flex;gap:.5rem;align-items:center;flex-shrink:0}
.auth-buttons a{border-radius:999px;font-weight:700;transition:filter .15s,transform .15s,background .15s,color .15s}
.auth-buttons a:hover{transform:translateY(-1px)}
.auth-style-solid a{border:0;background:var(--auth-c,var(--p,#333));color:#fff!important}
.auth-style-solid a:hover{filter:brightness(1.15)}
.auth-style-solid .auth-login{opacity:.9}
.auth-style-outline a{border:2px solid var(--auth-c,var(--p,#333));background:transparent;color:var(--auth-c,var(--p,#333))!important}
.auth-style-outline a:hover{background:var(--auth-c,var(--p,#333));color:#fff!important}
.auth-size-sm a{padding:.32rem .75rem;font-size:.74rem}
.auth-size-md a{padding:.45rem 1rem;font-size:.82rem}
.auth-size-lg a{padding:.62rem 1.4rem;font-size:.94rem}
/* Над сайдбаром: блок над меню (вертикально), не рядком як у шапці */
.sidebar-widget .auth-buttons,aside .auth-buttons{flex-direction:column;align-items:stretch;margin:0 0 1rem}
.sidebar-widget .auth-buttons a,aside .auth-buttons a{text-align:center}
/* Мобільна версія: закріпити Увійти/Реєстрація знизу екрана під час скролу — гортанню
   заважати не повинні, тому тут-таки на body резервуємо місце знизу (padding). */
@media(max-width:820px){
  body.a7-has-auth .auth-buttons{position:fixed;left:0;right:0;bottom:0;z-index:70;margin:0;background:var(--card,#fff);padding:.6rem .8rem;box-shadow:0 -6px 20px rgba(0,0,0,.16);border-top:1px solid var(--line,#e5e9f0);justify-content:center}
  body.a7-has-auth .auth-buttons a{flex:1;text-align:center}
  body.a7-has-auth{padding-bottom:60px}
}
/* Ширина контентної колонки (налаштування домену: «Шаблон і оформлення»):
   CENTERED (за замовч.) — лишає власну ширину шаблону (~1200px, як задумано в дизайні);
   WIDE — розтягує основні контейнери контенту до ~1640px. */
body.a7-width-wide .page-h1,
body.a7-width-wide main .block>h1,
body.a7-width-wide main .block>h2,
body.a7-width-wide main .block>h3,
body.a7-width-wide main .block>p,
body.a7-width-wide main .block>ul,
body.a7-width-wide main .block>ol,
body.a7-width-wide main .block>table,
body.a7-width-wide main .block>figure,
body.a7-width-wide .comments-wrap,
body.a7-width-wide .toc,
body.a7-width-wide .category-grid,
body.a7-width-wide .slot-grid,
body.a7-width-wide .block--faq,
body.a7-width-wide .contact-form,
body.a7-width-wide .block--list ol,
body.a7-width-wide .portal-layout{max-width:1640px}
body.a7-width-wide figure.img--wide,
body.a7-width-wide figure.img--hero,
body.a7-width-wide figure.img--slider{max-width:1560px}
/* Банер шапки з накладеним лого */
.header-banner{position:relative;overflow:hidden;min-height:var(--header-h,auto)}
.header-banner-img{width:100%;height:100%;object-fit:var(--header-fit,cover);position:absolute;inset:0;z-index:0}
/* Тінь під sticky-шапкою при скролі (SCROLL_ANIMATIONS_JS у enhance.ts) — універсально
   для будь-якого шаблону, header не мусить бути sticky, щоб тінь виглядала коректно. */
header{transition:box-shadow .25s}
header.is-scrolled{box-shadow:0 6px 18px rgba(0,0,0,.08)}

/* ── BlockType.COUPON_CARD — купонник: "відривний талон" (perforation між офером і
   кнопкою), два підтипи: купон (код прихований до кліку) і акція (пряме посилання).
   Кольори стану (active/expiring/expired) фіксовані — не з теми домену, це семантика
   дійсності купона, а не бренд-акцент. */
.store-head{padding:1.1rem 0 1.4rem;display:flex;align-items:center;gap:.9rem;border-bottom:1px solid var(--line,#e5e9f0);margin-bottom:1.2rem}
.store-mark,.store-mark-img{width:56px;height:56px;border-radius:14px;flex-shrink:0;object-fit:contain}
.store-mark{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;color:#fff;background:var(--accent,var(--p,#e0872a))}
.store-name{margin:0;font-weight:700;font-size:1.3rem;letter-spacing:-.01em}
.coupon-grid{display:grid;grid-template-columns:1fr;gap:.9rem;margin:0 0 1rem}
@media (min-width:640px){.coupon-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}
/* COUPON_ARCHIVE ("усі купони"/"усі акції" домену) — кожна картка своя, з міні-шапкою
   лого+назва магазину зверху (на відміну від store-head — тут магазинів багато на одній сітці). */
.archive-entry{display:flex;flex-direction:column;gap:.5rem}
.archive-store-link{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.92rem;color:inherit}
.archive-store-link:hover{color:var(--accent,var(--p,#e0872a))}
.archive-store-link img{width:32px;height:32px;border-radius:8px;object-fit:contain;flex-shrink:0}
.coupon{background:var(--card,#fff);border:1px solid var(--line,#e5e9f0);border-radius:14px;box-shadow:0 10px 26px -14px rgba(20,21,26,.22);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}
.coupon:hover{transform:translateY(-2px)}
.coupon .offer{padding:1.05rem 1.1rem .9rem}
.type-tag{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;font-size:.68rem;letter-spacing:.02em;color:var(--muted,#777);margin-bottom:.4rem}
.type-tag svg{width:12px;height:12px}
.type-tag.coupon-type{color:var(--accent,var(--p,#e0872a))}
.offer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:.5rem}
.coupon .discount{font-weight:700;font-size:1.6rem;color:var(--accent,var(--p,#e0872a));line-height:1;font-variant-numeric:tabular-nums}
.coupon .state-badge{font-size:.7rem;font-weight:700;padding:.28rem .55rem;border-radius:999px;white-space:nowrap}
.coupon .state-badge.active{background:rgba(28,138,92,.12);color:#1c8a5c}
.coupon .state-badge.expiring{background:rgba(184,134,11,.14);color:#9a6b06}
.coupon .state-badge.expired{background:var(--bg-soft,#f0ede6);color:var(--muted,#9b968a)}
.coupon .terms{color:var(--muted,#777);font-size:.86rem;margin:0}
.coupon .expiry{font-size:.78rem;color:var(--muted,#777);margin:.5rem 0 0}
.coupon .expiry strong{color:inherit;font-weight:600}
.coupon .perf{position:relative;height:0;border-top:2px dashed var(--line,#e5e9f0);margin:0 1.1rem}
.coupon .perf::before,.coupon .perf::after{content:"";position:absolute;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--bg,var(--card,#fff))}
.coupon .perf::before{left:calc(-1.1rem - 7px)} .coupon .perf::after{right:calc(-1.1rem - 7px)}
.coupon .cta-zone{padding:.9rem 1.1rem 1.1rem;background:var(--card,#fff)}
.code-pill{display:flex;width:100%;border-radius:12px;overflow:hidden;border:2px dashed var(--line,#e5e9f0);min-height:52px}
.code-pill .code-half{flex:1 1 40%;display:flex;align-items:center;justify-content:center;gap:.4rem;font-weight:600;font-size:1rem;letter-spacing:.03em;padding:.5rem .6rem;min-width:0;font-variant-numeric:tabular-nums}
.code-pill .code-half .masked{filter:blur(5px);user-select:none;transition:filter .18s ease}
.code-pill.is-revealed .code-half .masked{filter:blur(0)}
.code-pill .reveal-btn{flex:1 1 60%;border:none;cursor:pointer;appearance:none;display:flex;align-items:center;justify-content:center;gap:.45rem;font-weight:700;font-size:.92rem;background:var(--accent,var(--p,#e0872a));color:#fff;padding:.6rem 1rem;min-height:48px;transition:background .15s ease,transform .1s ease}
.code-pill .reveal-btn:hover{filter:brightness(.92)}
.code-pill .reveal-btn:active{transform:scale(.98)}
.code-pill .reveal-btn svg{width:16px;height:16px;flex-shrink:0}
.code-pill.is-revealed .reveal-btn{background:#1c8a5c}
.code-pill.is-revealed .reveal-btn .label-default{display:none}
.code-pill.is-revealed .reveal-btn .label-copied{display:inline}
.reveal-btn .label-copied{display:none}
.deal-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;font-weight:700;font-size:.95rem;color:#fff;background:var(--accent,var(--p,#e0872a));border:none;border-radius:12px;padding:.85rem 1rem;min-height:52px;text-decoration:none;transition:filter .15s ease,transform .1s ease}
.deal-cta svg{width:16px;height:16px;flex-shrink:0}
.deal-cta:hover{color:#fff;filter:brightness(.92)}
.deal-cta:active{transform:scale(.98)}
.coupon.is-expired{opacity:1}
.coupon.is-expired .offer,.coupon.is-expired .cta-zone{background:var(--bg-soft,#f0ede6)}
.coupon.is-expired .discount{color:var(--muted,#9b968a)}
.coupon.is-expired .deal-cta,.coupon.is-expired .code-pill .reveal-btn{background:var(--muted,#9b968a);cursor:default;pointer-events:none}
.coupon.is-expired .code-pill{border-color:var(--line,#e5e9f0)}
.coupon.is-expired .perf{border-color:var(--line,#e5e9f0)}
.disclosure{margin:.4rem 0 1.4rem}
.disclosure summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--muted,#777);font-weight:600;padding:.4rem 0}
.disclosure summary::-webkit-details-marker{display:none}
.disclosure summary svg{width:14px;height:14px;transition:transform .15s ease}
.disclosure[open] summary svg{transform:rotate(90deg)}
.disclosure .coupon-grid{margin-top:.8rem}
@media (prefers-reduced-motion:reduce){.coupon,.reveal-btn,.deal-cta,.masked{transition:none}}

/* Правова відмазка проєкту (ProjectSettings.mfoDisclaimerHtml) — в футері */
/* Попередження про наслідки користування послугою (Постанова НБУ №130 від 18.10.2023) —
   рамка + напівжирний шрифт, розмір/гарнітура ІДЕНТИЧНІ решті тексту умов послуги
   (НЕ дрібніше і НЕ приглушеним кольором, як був footer-стиль раніше — той не проходив
   вимогу постанови). Рендериться одразу під LENDER_CARD/COUPON_CARD, не у футері. */
.mfo-disclaimer{font-size:1em;font-weight:700;line-height:1.6;color:inherit;max-width:960px;margin:1.2rem 0;padding:1rem 1.2rem;border:2px solid var(--ink,#14151a);border-radius:8px}
.mfo-disclaimer p{margin:0 0 .6rem}
.mfo-disclaimer p:last-child{margin-bottom:0}
