/* ============================================================
   ELEMENTARNO Kataloh — Регіональний каталог [svoi_catalog]
   assets/catalog.css
   ============================================================ */

.ek-catalog-wrapper * { box-sizing: border-box; }

/* Категорії */
.ek-svoi-cat-block { margin-top: 32px; }
.ek-svoi-cat-block.ek-hidden { display: none; }
.ek-svoi-cat-title {
    background: #005bbb; color: #fff;
    padding: 10px 16px; border-radius: 6px;
    font-size: 17px; font-weight: 700; margin-bottom: 0;
}

/* Картки */
.ek-svoi-item { padding: 14px 0; border-bottom: 1px dashed #ddd; }
.ek-svoi-item:last-child { border-bottom: none; }
.ek-svoi-item h4 { margin: 0 0 6px; font-size: 16px; color: #000; }
.ek-svoi-item p  { margin: 3px 0; font-size: 14px; line-height: 1.5; color: #444; }
.ek-svoi-item a  { color: #005bbb; text-decoration: none; }
.ek-svoi-item a:hover { text-decoration: underline; }
.ek-svoi-desc { font-style: italic; color: #666; margin-bottom: 6px !important; }

/* Посилання на картку */
.ek-place-link { color: inherit; text-decoration: none; }
.ek-place-link:hover { color: #005bbb; }
.ek-place-link-icon { font-size: 12px; color: #005bbb; margin-left: 2px; }

/* Контакти — flex row з переносом */
.ek-svoi-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
    align-items: center;
}

/* Бейджі — всі контакти в єдиному стилі */
.ek-svoi-badge {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 4px 10px; border-radius: 20px;
    font-size: 13px; font-weight: 500; line-height: 1.4;
    text-decoration: none !important; transition: opacity .2s;
    white-space: nowrap;
}
.ek-svoi-badge:hover { opacity: .82; text-decoration: none !important; }

.ek-svoi-badge--addr  { background: #f0f0f0; color: #555; }
.ek-svoi-badge--phone { background: #e6f0ff; color: #005bbb; }
.ek-svoi-badge--wa    { background: #e8faf0; color: #1a9a4a; }
.ek-svoi-badge--tg    { background: #e6f0ff; color: #005bbb; }
.ek-svoi-badge--ig    { background: #fdf0f5; color: #c0355a; }
.ek-svoi-badge--site  { background: #f0f4ff; color: #004a99; }

/* SVG іконки */
.ek-badge-icon {
    width: 14px; height: 14px;
    display: inline-block; vertical-align: middle;
    flex-shrink: 0; fill: currentColor;
}
.ek-svoi-badge--addr  .ek-badge-icon { fill: #888; }
.ek-svoi-badge--phone .ek-badge-icon { fill: #005bbb; }
.ek-svoi-badge--wa    .ek-badge-icon { fill: #1a9a4a; }
.ek-svoi-badge--tg    .ek-badge-icon { fill: #005bbb; }
.ek-svoi-badge--ig    .ek-badge-icon { fill: #c0355a; }
.ek-svoi-badge--site  .ek-badge-icon { fill: #004a99; }

/* Перевірено */
.ek-svoi-verified {
    display: inline-block; font-size: 11px;
    background: #e8f5e9; color: #2e7d32;
    border-radius: 10px; padding: 2px 8px;
    margin-left: 6px; vertical-align: middle;
}

/* Кнопка ℹ️ */
.ek-info-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 50%;
    background: #e6f0ff; color: #005bbb; font-size: 12px;
    border: none; cursor: pointer; margin-left: 6px;
    font-weight: 700; vertical-align: middle; flex-shrink: 0;
    transition: background .2s;
	padding: 6px;
}
.ek-info-btn:hover { background: #005bbb; color: #fff; }

/* Попап */
.ek-popup-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.5); z-index: 9998;
}
.ek-popup-overlay.open { display: block; }
.ek-popup-box {
    position: fixed; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: #fff; border-radius: 12px;
    padding: 24px; max-width: 480px; width: 90%;
    max-height: 80vh; overflow-y: auto;
    z-index: 9999; box-shadow: 0 8px 32px rgba(0,0,0,.2);
}
.ek-popup-title {
    font-size: 17px; font-weight: 700; color: #222;
    margin: 0 0 14px; padding-right: 32px;
}
.ek-popup-content { font-size: 14px; line-height: 1.7; color: #444; }
.ek-popup-content b,
.ek-popup-content strong { font-weight: 700; color: #222; }
.ek-popup-content em,
.ek-popup-content i { font-style: italic; }
.ek-popup-content p  { margin: 0 0 10px; }
.ek-popup-content ul,
.ek-popup-content ol { padding-left: 20px; margin: 0 0 10px; }
.ek-popup-close {
    position: absolute; top: 14px; right: 16px;
    background: none; border: none; font-size: 22px;
    cursor: pointer; color: #999; line-height: 1;
}
.ek-popup-close:hover { color: #333; }

/* Кнопка фільтру */
.ek-filter-toggle-btn {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 18px; border-radius: 8px; font-size: 14px; font-weight: 600;
    border: 2px solid #005bbb; background: #fff; color: #005bbb;
    cursor: pointer; margin-bottom: 16px; transition: all .2s;
}
.ek-filter-toggle-btn:hover,
.ek-filter-toggle-btn.has-active { background: #005bbb; color: #fff; }

/* Drawer overlay */
.ek-filter-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.4); z-index: 999;
}
.ek-filter-overlay.open { display: block; }

/* Drawer */
.ek-filter-drawer {
    position: fixed; top: 0; left: -320px; bottom: 0;
    width: 300px; background: #fff; z-index: 1000;
    box-shadow: 4px 0 20px rgba(0,0,0,.15);
    transition: left .3s ease; overflow-y: auto;
    display: flex; flex-direction: column;
}
.ek-filter-drawer.open { left: 0; }
.ek-drawer-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 16px 20px; border-bottom: 1px solid #eee;
    font-size: 16px; font-weight: 700; color: #333;
    position: sticky; top: 0; background: #fff; z-index: 1;
}
.ek-drawer-close {
    background: none; border: none; font-size: 22px;
    cursor: pointer; color: #999; line-height: 1; padding: 0 4px;
}
.ek-drawer-close:hover { color: #333; }
.ek-drawer-list { padding: 12px 0; flex: 1; }
.ek-drawer-item {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 20px; cursor: pointer; font-size: 14px; color: #333;
    border: none; background: none; width: 100%; text-align: left;
    transition: background .15s;
}
.ek-drawer-item:hover { background: #f0f6ff; color: #005bbb; }
.ek-drawer-item.active { background: #e6f0ff; color: #005bbb; font-weight: 600; }
.ek-drawer-item .ek-di-icon  { font-size: 20px; width: 28px; text-align: center; }
.ek-drawer-item .ek-di-label { flex: 1; }
.ek-drawer-item .ek-di-check { color: #005bbb; font-size: 16px; opacity: 0; }
.ek-drawer-item.active .ek-di-check { opacity: 1; }
.ek-drawer-footer { padding: 16px 20px; border-top: 1px solid #eee; }
.ek-drawer-reset {
    width: 100%; padding: 10px; border-radius: 8px;
    background: #f5f5f5; border: 1px solid #ddd; color: #555;
    font-size: 14px; cursor: pointer; transition: all .2s;
}
.ek-drawer-reset:hover { background: #eee; }

/* Інтро і футер */
.ek-svoi-intro {
    margin-bottom: 25px; font-size: 15px;
    color: #444; line-height: 1.6; text-align: center;
}
.ek-svoi-footer-info {
    margin-top: 40px; padding-top: 25px;
    border-top: 1px solid #eee; font-size: 13px;
    color: #666; line-height: 1.6; font-style: italic; text-align: center;
}