/* ==========================================================================
   custom.css - МИНИМАЛНИ добавки върху оригиналния TownHub дизайн.
   Не пренаписва темата: само стил за текстовото лого, дребни корекции за
   българския текст и премахване на празни/премахнати елементи.
   ========================================================================== */

/* Темата има `section { display:block }` и отменя вградения `[hidden]` стил
   на браузъра — елементи с атрибут hidden (напр. празна галерия) излизат
   видими с празно място. Принудително ги скриваме. */
[hidden] { display: none !important; }

/* --- Лого: снимка (logo.png) вместо текст --- */
/* Темата: `.logo-holder img { height: 100% }` -> 100% върху <a> без височина
   (т.е. auto); затова даваме по-висока специфичност + фиксирана височина. */
/* Хедърът е 80px на всички екрани; темата мести логото с top:20/24/26px */
.logo-holder {
    height: 74px;
    top: 3px;   /* (80 - 74) / 2 -> вертикално центрирано */
}

.logo-holder .brand-logo-img {
    display: block;
    height: 74px;   /* 74 * (2172/724) = 222px широчина */
    width: auto;
}

/* Футър: логото в същия размер като в хедъра.
   Темата дава height:30px !important на `.footer-logo-link img` -> презаписваме. */
.footer-logo-link {
    margin-bottom: 0;   /* текстът плътно до логото */
}

.footer-logo-link img {
    height: 74px !important;
    width: auto;
}

/* Контактите във футъра: малко по-надолу от описанието */
.footer-contacts {
    margin-top: 36px;   /* темата дава 15px */
}

.custom-logo-link {
    display: inline-flex;
    align-items: center;
}

.custom-logo-link:hover .brand-logo-img,
.custom-logo-link:focus .brand-logo-img { opacity: .85; }

/* --- Плавно зареждане на хедър-аутентикацията (без мигане „Вход" -> име) ---
   Хедърът идва от HTML с твърдо „Вход". Докато сесията (Supabase) се
   възстанови, бутонът е скрит (opacity:0, но запазва мястото си -> без
   layout shift). Щом custom.js разбере състоянието, слага body.bc-auth-ready
   и бутонът плавно излиза с вече правилния текст.
   Ако JS не тръгне, анимацията го показва сама след 4s (fallback). */
.main-header .show-reg-form {
    opacity: 0;
    transition: opacity .28s ease;
    animation: bcAuthFallback .28s ease 4s forwards;
}
body.bc-auth-ready .main-header .show-reg-form {
    opacity: 1;
    animation: none;
}
@keyframes bcAuthFallback { to { opacity: 1; } }

/* --- Hero: остана само „Бизнеси" — центрирано --- */
/* Темата: .tabs-menu { justify-content: space-between } + li { flex: 0 13% }
   -> с един таб залепва вляво; центрираме и махаме фиксираната ширина. */
.main-search-input-tabs .tabs-menu {
    display: flex;
    justify-content: center;
}
.main-search-input-tabs .tabs-menu li {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
}

/* --- Кирилица: Raleway/Roboto са self-hosted с cyrillic subset --- */
body,
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.listing-item h4,
.section-title {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Българският текст е по-дълъг -> малко повече водещи интервали при заглавия */
h1, h2, h3, .elementor-heading-title {
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

/* --- Премахнати плъгини: прикриване на остатъци, за да няма празни блокове --- */
.cart-modal,
.cart-overlay,
.show-cart,
.currency-wrap,
.lang-wrap,
.townhub_twitter_embed,
#ctb-resetpsw-modal { display: none !important; }

/* Няма backend -> блокираме изпращането на всяка форма */
.demo-form input[type="submit"],
.demo-form button[type="submit"],
.newsletter-form input[type="submit"] {
    cursor: not-allowed;
}

/* --- Търсене: визуална обратна връзка при въвеждане --- */
.filter-item-inner.is-active {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .18) inset;
}

.no-match-note {
    display: none;
    margin: 18px 0 0;
    padding: 14px 18px;
    border-radius: 4px;
    background: rgba(0, 0, 0, .04);
    font-size: 15px;
    line-height: 1.5;
}

.no-match-note.is-visible { display: block; }

/* --- Достъпност: видим фокус за клавиатурна навигация --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 2px solid #ffb400;
    outline-offset: 2px;
}

.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --- Контакти: ясно маркирани като неактивни --- */
.demo-contact {
    font-style: normal;
    opacity: .85;
}

/* ==========================================================================
   Вход / Регистрация
   ========================================================================== */

/* --- Иконката с човече в хедъра: по-малка + hover попъп --- */
.user-popup-wrap {
    position: relative;
    float: right;
    top: 26px;
    margin-right: 30px;
}

.user-popup-wrap .show-reg-form {
    top: auto !important;
    float: none;
    margin-right: 0 !important;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.92em;
    height: 34px;
    padding: 0 4px;
}

.user-popup-wrap .show-reg-form:before { display: none; }

.user-popup-wrap .show-reg-form i {
    width: 31px;
    height: 31px;
    line-height: 31px;
    text-align: center;
    margin: 0;
    font-size: 15px;
    background: rgba(255, 255, 255, .16);
    border-radius: 50%;
    color: #fff;
}

.ctb-modal-title {
    display: flex;
    align-items: center;
}

.ctb-modal-title .auth-brand {
    text-transform: none;
    font-weight: 800;
    color: #fff;
    font-size: 1em;
    letter-spacing: 0.3px;
    margin-left: 5px;
}

.ctb-modal-title .auth-cat {
    text-transform: none;
    color: #7FD4FF;
    font-size: 1em;
    margin: 0 1px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .25);
}

/* --- Модал Вход/Регистрация: центрирани табове, хавъри, бутони --- */
#ctb-logreg-modal .ctb-modal-title {
    justify-content: center;
    text-align: center;
    padding: 4px 36px 12px;
}
#ctb-logreg-modal .main-register .tabs-menu {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 0 0 12px;
    border-bottom: 1px solid #EDF1F5;
    list-style: none;
}
#ctb-logreg-modal .tabs-menu li {
    flex: 0 0 auto;
    width: auto;
    margin: 0;
}
#ctb-logreg-modal .tabs-menu a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 20px;
    border-radius: 30px;
    background: #F1F5F9;
    color: #566985;
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: .2px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#ctb-logreg-modal .tabs-menu a:hover,
#ctb-logreg-modal .tabs-menu a:focus-visible {
    background: #E8F3FC;
    color: #0056C8;
    transform: translateY(-1px);
}
#ctb-logreg-modal .tabs-menu li.current a {
    background: linear-gradient(135deg, #0078F0, #0056C8);
    color: #fff;
    box-shadow: 0 6px 16px rgba(0, 120, 240, .35);
}
/* Иконите да следват цвета на текста (темата ги прави светло сини #0078f0,
   които изчезват върху синия градиент на активния таб). */
#ctb-logreg-modal .tabs-menu a i { color: inherit; }

#ctb-logreg-modal .custom-form input {
    transition: border-color .15s ease, box-shadow .15s ease;
}
#ctb-logreg-modal .custom-form input:hover { border-color: #C4D8EA; }
#ctb-logreg-modal .custom-form input:focus {
    border-color: #0078F0;
    box-shadow: 0 0 0 3px rgba(0, 120, 240, .18);
    outline: none;
}

#ctb-logreg-modal .log-submit-btn {
    width: 100%;
    height: 46px;
    border-radius: 46px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .3px;
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#ctb-logreg-modal .log-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0, 120, 240, .32);
    filter: brightness(1.05);
}
#ctb-logreg-modal .log-submit-btn:active { transform: translateY(0); }

#ctb-logreg-modal .filter-tags input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #0078F0;
}
#ctb-logreg-modal .lost-password {
    color: #566985;
    transition: color .15s ease;
}
#ctb-logreg-modal .lost-password:hover { color: #0078F0; }

#ctb-logreg-modal .bc-reset-box { margin-top: 6px; }
#ctb-logreg-modal .bc-reset-box .reset-message { margin-top: 4px; }
#ctb-logreg-modal .bc-reset-box .bc-reset-back {
    color: #566985;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color .15s ease;
}
#ctb-logreg-modal .bc-reset-box .bc-reset-back:hover { color: #0078F0; }

#ctb-logreg-modal .close-reg {
    cursor: pointer;
    transition: transform .2s ease, color .2s ease;
}
#ctb-logreg-modal .close-reg:hover {
    transform: rotate(90deg) scale(1.1);
    color: #D93025;
}

/* Без черти/подчертаване под бутоните Вход/Регистрация */
#ctb-logreg-modal .tabs-menu {
    border-bottom: none;
    padding-bottom: 0;
}
#ctb-logreg-modal .tabs-menu::before { display: none !important; }
#ctb-logreg-modal .tabs-menu li {
    border-bottom: none !important;
}
#ctb-logreg-modal .tabs-menu a {
    text-decoration: none;
    border-bottom: none;
}
#ctb-logreg-modal .tabs-menu a:hover {
    text-decoration: none;
    border-bottom: none;
    transform: none;
}
.user-popup-link,
.user-popup-link:hover { text-decoration: none; }
.user-popup-wrap .show-reg-form { text-decoration: none; }
.user-popup-wrap .show-reg-form:hover { text-decoration: none; }

.geodir-js-favorite_btn i { width: 43px; height: 43px; line-height: 43px; }

.geodir-js-favorite_btn span {
    left: -43px;
    height: 43px;
    line-height: 43px;
    padding: 0 20px 0 56px;
}

.user-popup {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    width: 200px;
    padding: 10px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 12px 34px rgba(37, 44, 65, .18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 900;
    text-align: left;
}

.user-popup-wrap:hover .user-popup,
.user-popup-wrap:focus-within .user-popup,
.user-popup.is-open { opacity: 1; visibility: visible; transform: none; }

.user-popup:after {
    content: "";
    position: absolute;
    top: -6px;
    right: 18px;
    width: 12px;
    height: 12px;
    background: #fff;
    transform: rotate(45deg);
    border-radius: 2px;
}

.user-popup-title {
    display: block;
    padding: 8px 10px 6px;
    font-size: .72em;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #B9C1CD;
}

.user-popup-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 6px;
    color: #566985;
    font-size: 15px;
    text-decoration: none;
    cursor: pointer;
}

.user-popup-link:hover,
.user-popup-link:focus { background: #F3F7FB; color: #0078F0; }

/* Съобщения за успех/грешка в модала */
.log-message,
.reg-message {
    padding: 10px 14px;
    margin: 0 0 14px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.55;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

.log-message.is-success,
.reg-message.is-success { background: #E7F8EC; color: #1E8E3E; }

.log-message.is-error,
.reg-message.is-error { background: #FDECEA; color: #D93025; }

/* Бутон „Изпрати отново имейла за потвърждение“ (модал + add-business) */
.bc-resend {
    display: block;
    width: 100%;
    margin: 8px 0 0;
    padding: 9px 14px;
    border: 1px solid #cfd9e2;
    border-radius: 5px;
    background: #fff;
    color: #253141;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.5;
}
.bc-resend:hover { background: #F3F7FB; border-color: #0078F0; color: #0078F0; }
.bc-resend:disabled { opacity: .6; cursor: default; }

/* --- Toast --- */
#demo-auth-toast,
.bc-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    transform: translate(-50%, 20px);
    background: rgba(37, 49, 65, 0.97);
    color: #fff;
    padding: 12px 22px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.6;
    box-shadow: 0 14px 40px rgba(15, 30, 50, 0.28);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
    z-index: 2000;
    max-width: min(92vw, 560px);
    width: auto;
    text-align: center;
    word-break: break-word;
}
.bc-toast {
    background: linear-gradient(135deg, rgba(0, 120, 240, 0.98) 0%, rgba(37, 49, 65, 0.98) 100%);
}

#demo-auth-toast.is-show,
.bc-toast.is-show {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

/* --- Pop-up „Проверете пощата“ (успешна регистрация с потвърждение) --- */
.bc-mailpop-overlay {
    position: fixed;
    inset: 0;
    background: rgba(16, 26, 38, 0.55);
    backdrop-filter: blur(2px);
    z-index: 100001;
    opacity: 0;
    transition: opacity .2s ease;
}
.bc-mailpop-overlay.is-show { opacity: 1; }

.bc-mailpop {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -46%) scale(.97);
    width: min(430px, calc(100vw - 24px));
    background: #fff;
    border-radius: 20px;
    border: 1px solid #ecf2f8;
    box-shadow: 0 40px 90px rgba(16, 26, 38, 0.4);
    z-index: 100002;
    overflow: hidden;
    opacity: 0;
    transition: transform .22s cubic-bezier(.34, 1.4, .64, 1), opacity .2s ease;
    text-align: center;
    font-family: inherit;
}
.bc-mailpop.is-show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.bc-mailpop-top {
    padding: 30px 26px 6px;
    background: linear-gradient(180deg, #F0F8FF 0%, #fff 100%);
}
.bc-mailpop-ico {
    width: 76px;
    height: 76px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0078F0 0%, #0056C8 100%);
    color: #fff;
    font-size: 32px;
    box-shadow: 0 14px 30px rgba(0, 120, 240, 0.35);
    animation: bcMailFloat 2.6s ease-in-out infinite;
}
@keyframes bcMailFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}
.bc-mailpop-ico .bc-mailpop-check {
    position: absolute;
    right: -4px;
    bottom: -2px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #22a35e;
    color: #fff;
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #fff;
    box-shadow: 0 4px 10px rgba(34, 163, 94, 0.35);
}
.bc-mailpop-ico-wrap { position: relative; width: 76px; margin: 0 auto 16px; }

.bc-mailpop h3 {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 700;
    color: #253141;
}
.bc-mailpop-text {
    margin: 0 auto;
    max-width: 330px;
    font-size: 14.5px;
    line-height: 1.6;
    color: #5c6b7d;
}
.bc-mailpop-mail {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 14px auto 0;
    padding: 8px 16px;
    border-radius: 999px;
    background: #EAF6FF;
    border: 1px solid #cfe8fb;
    color: #0056C8;
    font-size: 14px;
    font-weight: 600;
    word-break: break-all;
}
.bc-mailpop-mail i { font-size: 13px; opacity: .85; }
.bc-mailpop-hint {
    margin: 12px auto 0;
    max-width: 320px;
    font-size: 12.5px;
    line-height: 1.55;
    color: #8a94a6;
}
.bc-mailpop-hint b { color: #5c6b7d; }

.bc-mailpop-foot {
    margin-top: 22px;
    padding: 16px 22px 22px;
    border-top: 1px solid #ecf2f8;
    background: linear-gradient(180deg, #fbfdff 0%, #fff 100%);
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
.bc-mailpop-btn {
    appearance: none;
    font: inherit;
    font-weight: 700;
    font-size: 14.5px;
    border-radius: 11px;
    padding: 11px 20px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.bc-mailpop-btn--home {
    color: #fff;
    background: linear-gradient(135deg, #0078F0 0%, #0056C8 100%);
    border: 1px solid #0056C8;
    box-shadow: 0 8px 18px rgba(0, 120, 240, 0.25);
}
.bc-mailpop-btn--home:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0, 120, 240, 0.32);
    color: #fff;
}
.bc-mailpop-btn--resend {
    color: #253141;
    background: #fff;
    border: 1px solid #d8e2ec;
}
.bc-mailpop-btn--resend:hover {
    border-color: #0078F0;
    color: #0078F0;
    background: #F7FBFF;
}
.bc-mailpop-btn--resend:disabled { opacity: .55; cursor: default; transform: none; }
.bc-mailpop-done {
    margin: 12px auto 0;
    font-size: 13px;
    font-weight: 600;
    color: #1E8E3E;
    display: none;
}
.bc-mailpop-done.is-show { display: block; }

@media (max-width: 480px) {
    .bc-mailpop-ico { width: 64px; height: 64px; font-size: 27px; }
    .bc-mailpop-ico-wrap { width: 64px; }
    .bc-mailpop h3 { font-size: 18px; }
    .bc-mailpop-foot { flex-direction: column; }
    .bc-mailpop-btn { justify-content: center; width: 100%; }
}

/* Око до полетата за парола — показва/скрива въведеното */
.bc-pw-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.bc-pw-wrap input[type="password"],
.bc-pw-wrap input[type="text"] {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding-right: 44px;
}
/* запазваме оригиналното разстояние под полето (темата дава 20px) */
#ctb-logreg-modal .bc-pw-wrap {
    margin-bottom: 20px;
}
.bc-pw-wrap .bc-pw-eye {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    z-index: 2;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #8a97a5;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    border-radius: 8px;
    transition: color .18s ease, background .18s ease;
}
.bc-pw-wrap .bc-pw-eye:hover {
    color: #0078F0;
    background: rgba(0, 120, 240, .08);
}


/* Центрирано меню в хедъра — вертикално и хоризонтално по средата. */
.main-header .nav-holder {
    position: absolute;
    left: 50%;
    right: auto;
    top: 0;
    height: 80px;
    width: auto;
    display: flex;
    align-items: center;
    transform: translateX(-50%);
    float: none;
    margin-left: 0;
}

/* --- Основна навигация: изчистени текстови връзки с тънка линия под
   активната страница. Само за десктоп — мобилното меню (≤1064px) си остава
   както е. --- */
@media only screen and (min-width: 1065px) {
    .main-header .nav-holder nav,
    .main-header .nav-holder nav > ul.menu {
        display: flex;
        align-items: center;
        float: none;
        height: 100%;
    }
    .main-header .nav-holder nav > ul.menu {
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .main-header .nav-holder nav > ul.menu > li {
        float: none;
        height: auto;
        margin: 0;
        padding: 0;
    }
    .main-header .nav-holder nav > ul.menu > li.mob-menu-only {
        display: none;
    }
    .main-header .nav-holder nav > ul.menu > li > a {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        float: none;
        height: 44px;
        padding: 0 16px;
        border-radius: 0;
        background: none !important;
        font-size: 14.5px;
        font-weight: 600;
        letter-spacing: .2px;
        line-height: 1;
        color: rgba(255, 255, 255, .72) !important;
        box-shadow: none !important;
        transition: color .18s ease;
    }
    .main-header .nav-holder nav > ul.menu > li > a::after {
        content: "";
        position: absolute;
        left: 16px;
        right: 16px;
        bottom: 2px;
        height: 2px;
        border-radius: 2px;
        background: #3D9BFF;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform .22s ease;
    }
    .main-header .nav-holder nav > ul.menu > li > a:hover,
    .main-header .nav-holder nav > ul.menu > li > a:focus-visible {
        color: #fff !important;
        transform: none;
    }
    .main-header .nav-holder nav > ul.menu > li.current-menu-item > a,
    .main-header .nav-holder nav > ul.menu > li.current-menu-ancestor > a,
    .main-header .nav-holder nav > ul.menu > li.current_page_item > a {
        color: #fff !important;
    }
    .main-header .nav-holder nav > ul.menu > li.current-menu-item > a::after,
    .main-header .nav-holder nav > ul.menu > li.current-menu-ancestor > a::after,
    .main-header .nav-holder nav > ul.menu > li.current_page_item > a::after {
        transform: scaleX(1);
    }
}

/* Търсенето в хедъра: текстът „Търсене“ се скрива (кръгче) само когато
   наистина няма място. Старата граница беше 1410px, но реално кръгчето
   пасва безопасно чак от ~1185px надолу, затова под 1185 е кръгче, а в
   диапазона 1185–1290 (където темата по подразбиране го свива) връщаме
   пълния бутон, за да се използва максимално мястото. */
@media only screen and (max-width: 1184px) {
    .header-search_btn {
        width: 40px;
        height: 40px;
        line-height: 40px;
        padding: 0;
        border-radius: 100%;
        text-align: center;
    }
    .header-search_btn span {
        display: none;
    }
    .header-search_btn i {
        margin-right: 0;
    }
}
@media only screen and (min-width: 1185px) and (max-width: 1290px) {
    .header-search_btn {
        width: 180px;
        height: auto;
        padding: 14px 0;
        border-radius: 30px;
        line-height: 1.1;
        top: 18px;
    }
    .header-search_btn span {
        display: inline;
    }
    .header-search_btn i {
        margin-right: 30px;
    }
}
/* --- Светлосинята секция отдясно (зоната на иконите) се свива точно до
   ширината на групата икони. Стойността идва от custom.js чрез променливата
   --hd-icons-sec (по подразбиране 480px от темата). --- */
.townhub-has-addons .main-header:before {
    width: var(--hd-icons-sec, 480px) !important;
    /* Ширината скача мигновено (без 0.3s transition на темата), за да не
       „навлиза“ в логото при зареждане/завъртане. Опаситетът остава плавен. */
    transition-property: opacity;
}


/* =========================================================
   Начална страница — секция „Категории“ (5 карти с иконки)
   ========================================================= */
.home-cats-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    margin-top: 6px;
}

.home-cat-card {
    display: flex;
}

.home-cat-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    height: 100%;
    padding: 26px 22px 50px;
    background: #fff;
    border: 1px solid #e8ecf5;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(31, 45, 86, .05);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-cat-link:hover,
.home-cat-link:focus {
    transform: translateY(-4px);
    border-color: #d9e0f2;
    box-shadow: 0 16px 34px rgba(31, 45, 86, .12);
    text-decoration: none;
}

.home-cat-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 4px;
}

.home-cat-ico img {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.home-cat-name {
    font-size: 1.02em;
    font-weight: 600;
    line-height: 1.35;
    color: #26314c;
}

.home-cat-meta {
    font-size: .8em;
    color: #8b93ab;
}

.home-cat-go {
    position: absolute;
    right: 20px;
    bottom: 18px;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    border-radius: 100%;
    background: #f2f4fa;
    color: #00206e;
    transition: background .25s ease, color .25s ease, transform .25s ease;
}

.home-cat-link:hover .home-cat-go {
    background: #00206e;
    color: #fff;
    transform: translateX(3px);
}

@media only screen and (max-width: 1270px) {
    .home-cats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media only screen and (max-width: 768px) {
    .home-cats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

@media only screen and (max-width: 460px) {
    .home-cats-grid { grid-template-columns: minmax(0, 1fr); }
}

/* =========================================================
   Слайдер „Препоръчани бизнеси“ — карти без снимки,
   с цветна плочка и монограм (както картичките в каталога)
   ========================================================= */
.listing_carditem .geodir-category-img {
    width: 100%;
    min-height: 215px;
}

.listing_carditem .geodir-category-img-wrap {
    position: relative;
}

.listing_carditem .home-card-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 215px;
    height: 100%;
    transition: filter .25s ease;
}

.listing_carditem .home-card-media:hover {
    filter: brightness(1.06);
}

.home-card-logo {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #26314c;
    font-size: 1.55em;
    font-weight: 700;
    letter-spacing: .5px;
    box-shadow: 0 10px 24px rgba(6, 27, 65, .25);
}


/* --- Профилна снимка в хедъра (логнат потребител) --- */
.user-popup-wrap .show-reg-form i { margin-right: 0; }
.user-popup-wrap .show-reg-form .header-avatar-img {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
    margin-right: 0;
    border: 2px solid rgba(255, 255, 255, .6);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
    background: #e9f2fa;
}
.user-popup-wrap .show-reg-form:has(.header-avatar-img) {
    top: 19px;
    line-height: 42px;
}

/* --- Custom избор на час (bcTimePicker) — 24ч, български стандарт --- */
.ab-time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 84px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #DEE5EC;
    border-radius: 6px;
    background: #fff;
    color: #253141;
    font-size: 13.5px;
    font-family: inherit;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.ab-time:hover { border-color: #0078F0; }
.ab-time.is-empty { color: #9AA3B5; }
.ab-time:focus-visible { outline: none; border-color: #0078F0; box-shadow: 0 0 0 3px rgba(0, 120, 240, .15); }

.bc-tp {
    position: fixed;
    z-index: 100000;
    width: 184px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #E6EDF4;
    box-shadow: 0 18px 50px rgba(37, 44, 65, .22);
    overflow: hidden;
    animation: bcTpIn .12s ease;
}
@keyframes bcTpIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.bc-tp-head {
    padding: 9px 12px;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #8794A6;
    border-bottom: 1px solid #EDF1F5;
}
.bc-tp-grid { display: flex; }
.bc-tp-col {
    flex: 1;
    max-height: 200px;
    overflow-y: auto;
    padding: 6px;
    scrollbar-width: thin;
}
.bc-tp-col + .bc-tp-col { border-left: 1px solid #EDF1F5; }
.bc-tp-opt {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    border-radius: 7px;
    padding: 7px 0;
    text-align: center;
    font-size: 13.5px;
    font-family: inherit;
    color: #46566B;
    cursor: pointer;
}
.bc-tp-opt:hover { background: #EFF6FD; color: #0078F0; }
.bc-tp-opt.is-on { background: #0078F0; color: #fff; font-weight: 700; }
.bc-tp-foot { display: flex; border-top: 1px solid #EDF1F5; }
.bc-tp-btn {
    flex: 1;
    border: 0;
    background: #fff;
    padding: 10px 0;
    font-size: 12.5px;
    font-weight: 600;
    font-family: inherit;
    color: #4A5B70;
    cursor: pointer;
}
.bc-tp-btn:hover { background: #F5F8FB; }
.bc-tp-done { color: #0078F0; }
.bc-tp-done:hover { background: #EFF6FD; }

/* поле за цена в евро: суфикс € се вижда винаги, за да е ясно в коя
   валута се попълва цената (скриваше се докато не се въведе число). */
.cur-field { position: relative; display: inline-flex; align-items: center; }
.cur-field input { width: 100%; }
.cur-field .cur-unit {
    position: absolute;
    right: 12px;
    color: #6B7280;
    font-size: 14px;
    font-weight: 600;
    pointer-events: none;
    opacity: 1;
}

/* --- Заглавия на секции: декоративният избледнял текст (section-subtitle,
   position:absolute, 64px) се препокриваше със заглавието h2.
   Показваме го като нормална подзаглавия под заглавието, без наслагване. --- */
.section-subtitle {
    position: static;
    width: auto;
    left: auto;
    top: auto;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 600;
    opacity: 1;
    color: #0078F0;
    margin: 2px 0 0;
}
.section-subtitle:before { display: none; }

/* --- „Най-нови бизнеси“: карти по дизайна на каталога (.biz-card) ---
   Cover снимката на бизнеса е фон, логото е центриран оверлей, любимите
   бутон и следната информация са подравнени. Контейнерите са по-големи. */
#sec2 .listing-slider .swiper-slide {
    height: auto;
    display: flex;
}
#sec2[hidden] { display: none !important; }
#sec2 .listing-slider .swiper-slide > * { width: 100%; }

.bc-feat .biz-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    width: 100%;
    height: 100%;
    margin: 0;
    background: #fff;
    border: 1px solid #E9EEF4;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(37, 44, 65, .07);
    cursor: pointer;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.bc-feat .biz-card:hover,
.bc-feat .biz-card:focus-visible {
    transform: translateY(-6px);
    border-color: #0078F0;
    box-shadow: 0 26px 60px rgba(37, 44, 65, .18);
}
.bc-feat .biz-card:focus-visible { outline: 3px solid rgba(0, 120, 240, .35); outline-offset: 2px; }

.bc-feat .biz-media {
    position: relative;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #253141;
}
.bc-feat .biz-media-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}
.bc-feat .biz-media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(18, 26, 42, .05) 30%, rgba(18, 26, 42, .55));
    pointer-events: none;
}
.bc-feat .biz-card:hover .biz-media-bg { transform: scale(1.1); }

@media only screen and (max-width: 640px) {
    .bc-feat .biz-media { min-height: 210px; }
}
@media only screen and (max-width: 380px) {
    .bc-feat .biz-media { min-height: 170px; }
}

.bc-feat .biz-titleRow {
    display: flex;
    align-items: center;
    gap: 14px;
}
.bc-feat .biz-mark {
    flex: none;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff center/cover no-repeat;
    border: 3px solid #fff;
    box-shadow: 0 8px 22px rgba(37, 44, 65, .18);
}
.bc-feat .biz-fav {
    position: absolute;
    z-index: 2;
    top: 14px;
    right: 14px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #878C9F;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .15s ease, transform .15s ease;
}
.bc-feat .biz-fav:hover { transform: scale(1.08); color: #E14D2A; }
.bc-feat .biz-fav.is-saved { color: #E14D2A; }

.bc-feat .biz-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 12px;
    padding: 22px 24px 24px;
    min-width: 0;
}
.bc-feat .biz-name {
    margin: 0;
    font-family: Raleway, sans-serif;
    font-size: 21px;
    font-weight: 800;
    color: #253141;
    line-height: 1.25;
    min-width: 0;
    transition: color .2s ease;
}
.bc-feat .biz-card:hover .biz-name { color: #0078F0; }

.bc-feat .biz-rating { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.bc-feat .biz-score {
    background: #00206e;
    color: #fff;
    font-weight: 700;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 15px;
    line-height: 1.5;
}
.bc-feat .biz-stars { color: #FFB627; font-size: 15px; letter-spacing: 1px; }
.bc-feat .biz-reviews { color: #8a97ab; font-size: 13px; }
.bc-feat .biz-noscore {
    color: #8a97ab;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.bc-feat .biz-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bc-feat .biz-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 600;
    background: #EFF4FA;
    color: #3b4a63;
}
.bc-feat .biz-chip--loc { background: #EAF6FF; color: #0078F0; }

.bc-feat .biz-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #5b6a7e;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bc-feat .biz-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: auto;
    padding-top: 6px;
}
.bc-feat .biz-phone {
    color: #253141;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.bc-feat .biz-phone:hover { color: #0078F0; }
.bc-feat .biz-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 10px;
    background: linear-gradient(135deg, #0078F0, #0056c8);
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(0, 120, 240, .3);
    transition: all .2s ease;
    white-space: nowrap;
}
.bc-feat .biz-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(0, 120, 240, .4);
}

/* --- Търсимо меню за населени места (bc-city combobox) ---
   Ползва същия дизайн като филтъра в каталога (.city-dd*). */
.bc-city { position: relative; }
.bc-city-input { width: 100%; cursor: text; }
.bc-city .city-dd {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 120;
    margin: 0;
    padding: 6px;
    list-style: none;
    background: #fff;
    border: 1px solid #E4EAF1;
    border-radius: 10px;
    box-shadow: 0 18px 44px rgba(37, 44, 65, .16);
    max-height: 268px;
    overflow: auto;
}
.bc-city .city-dd-i {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 400;
    color: #253141;
    cursor: pointer;
}
.bc-city .city-dd-i span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc-city .city-dd-t {
    flex: none;
    font-size: 10.5px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.bc-city .city-dd-t--gr { background: #EAF6FF; color: #0078F0; }
.bc-city .city-dd-t--sl { background: #EEF3F8; color: #7A8499; }
.bc-city .city-dd-t--ot { background: #F1EAFD; color: #8B5CF6; }
.bc-city .city-dd-i.is-sel,
.bc-city .city-dd-i:hover { background: #F0F7FF; color: #0078F0; }
.bc-city .city-dd-empty {
    padding: 12px;
    font-size: 13.5px;
    color: #9AA3B5;
    text-align: center;
}

/* ==========================================================================
   Начална страница — responsive корекции (телефон / таблет)
   Засягат САМО началната страница (body.home), за да не пипаме вътрешните.
   ========================================================================== */

/* --- „Как работи“: до 1024px трите картона се подреждат един под друг,
   но хоризонталните конектори (.pr-dec) и крайният чек (.process-end)
   оставаха видими и излизаха като отрязани линии по ръба на секцията. --- */
@media only screen and (max-width: 1024px) {
    body.home .process-item-wrap .pr-dec,
    body.home .process-item-wrap .process-end {
        display: none;
    }
    /* Кръгчетата с номера са position:absolute bottom:-25px — при подредени
       картони им трябва повече място, за да не се допират/застъпват. */
    body.home .process-item-wrap {
        margin-bottom: 56px;
    }
}

/* --- Hero заглавие: течен размер, за да не е прекалено едро на тесни екрани --- */
@media only screen and (max-width: 1064px) {
    body.home #sec1 .intro-item h1 {
        font-size: clamp(24px, 6.6vw, 32px);
        line-height: 1.28;
    }
    body.home #sec1 .intro-item h3 {
        font-size: clamp(14px, 3.6vw, 16px);
        line-height: 1.5;
    }
}

/* --- Hero търсене на телефон: полетата са подредени (block); изравняваме
   разстоянията и правим бутона на цялата ширина. --- */
@media only screen and (max-width: 767px) {
    body.home #sec1 .hero-inputs-wrap .filter-gid-item {
        margin-bottom: 12px;
    }
    body.home #sec1 .hero-inputs-wrap .main-search-button {
        width: 100%;
    }
    /* Декоративната чертичка под формата на мобилен изглежда като откъснат
       фрагмент под стека — скриваме я. */
    body.home #sec1 .hero-inputs-wrap:after {
        display: none;
    }
    /* Дребният текст (мета на категориите) — по-четим на мобилен. */
    body.home .home-cat-meta {
        font-size: 12px;
    }
}

/* --- Бутон „използвай текущото ми местоположение“ беше едва 10x17px —
   твърде малък за докосване. Даваме му достъпен tap target на всички
   докосващи устройства (телефон и таблет). --- */
@media only screen and (max-width: 1024px) {
    body.home .nearby-input-wrap .get-current-city {
        top: 10px;
        right: 12px;
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 14px;
        text-align: center;
        border-radius: 100%;
        background: rgba(0, 0, 0, .04);
    }
}

/* --- Хедър на много тесен екран: логото е твърде високо и залепва за
   иконите — смаляваме го. --- */
@media only screen and (max-width: 460px) {
    body.home .logo-holder,
    body.home .logo-holder .brand-logo-img {
        height: 54px;
    }
}

.menu-search-form {
    padding: 14px 18px;
    border-bottom: 1px solid #eee;
}
.menu-search-form form {
    display: flex;
    align-items: center;
    gap: 10px;
}
.menu-search-form i {
    font-size: 16px;
    color: #50649b;
}
.menu-search-form input {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
    color: #333;
    padding: 0;
}
.menu-search-form input::placeholder {
    color: #999;
}
.menu-search-form button {
    border: none;
    background: #123177;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    padding: 8px 14px;
    cursor: pointer;
    flex: 0 0 auto;
}
/* --- Хедър, докато се показва мобилното меню (хамбургер, ≤1064px):
   дясната група икони е подредена [профил] [любими] [хамбургер] най-вдясно
   (търсенето от хедъра е преместено като поле в самото хамбургер меню). --- */
@media only screen and (max-width: 1064px) {
    body.home .main-header {
        display: flex;
        align-items: center;
        padding-right: 0;
    }
    body.home .main-header .logo-holder {
        float: none;
        position: relative;
        top: auto;
        order: 1;
        margin-right: 16px;
        display: flex;
        align-items: center;
        flex-shrink: 1;
        min-width: 44px;
    }
    body.home .main-header .logo-holder img {
        width: auto;
        max-width: 100%;
        max-height: 54px;
        height: auto;
    }
    /* Търсенето в хедъра е скрито на мобилно — живее в хамбургер менюто. */
    body.home .main-header .header-search_btn {
        display: none;
    }
    /* Глифът на търсенето да стои точно в центъра на кръгчето. */
    body.home .main-header .header-search_btn i {
        display: block;
        width: 100%;
        height: 40px;
        line-height: 40px;
        text-align: center;
    }
    /* „Добави бизнес“ се крие на мобилно/таблет; показва се от 803px
       (виж блока по-долу). */
    body.home .main-header .add-list {
        display: none;
        float: none;
        position: relative;
        top: auto;
        order: 2;
    }
    /* Три еднакви квадратни бутона с центрирана иконка и равни
       разстояния между тях. Профилът бута групата надясно. */
    body.home .main-header .user-popup-wrap .show-reg-form,
    body.home .main-header .cart-btn.bookmark-header-btn,
    body.home .main-header .nav-button-wrap {
        box-sizing: border-box;
        width: 40px;
        height: 40px;
        padding: 0;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    body.home .main-header .user-popup-wrap {
        float: none;
        position: relative;
        top: auto;
        order: 3;
        margin-left: auto;
        margin-right: 0;
    }
    /* На мобилни/таблет ширини профилът остава само с икона. */
    body.home .main-header .user-popup-wrap .show-reg-form .user-popup-name {
        display: none;
    }
    body.home .main-header .cart-btn.bookmark-header-btn {
        float: none;
        position: relative;
        top: auto;
        order: 4;
        display: block;
        margin-left: 12px;
        margin-right: 0;
    }
    /* Броячът на любими да стои върху горния десен ъгъл на сърцето. */
    body.home .main-header .cart-btn.bookmark-header-btn .cart-counter {
        left: auto;
        right: 2px;
        top: 2px;
        bottom: auto;
    }
    /* По-голямо сърце, центрирано в бутона. */
    body.home .main-header .cart-btn.bookmark-header-btn i {
        display: block;
        width: auto;
        height: 40px;
        margin: 0;
        text-align: center;
        line-height: 40px;
        font-size: 20px;
    }
    body.home .main-header .nav-button-wrap {
        float: none;
        position: relative;
        top: auto;
        order: 5;
        margin-left: 12px;
        margin-right: 8px;
    }
    body.home .main-header .nav-button-wrap .nav-button {
        top: 50%;
        left: 50%;
        margin: 0;
        width: 22px;
        height: 14px;
        transform: translate(-50%, -50%);
    }
    body.home .main-header .nav-button-wrap .nav-button span {
        float: none;
        display: block;
        width: 100%;
        height: 2px;
        background: #fff;
        margin-bottom: 4px;
        border-radius: 4px;
    }
    body.home .main-header .nav-button-wrap .nav-button span:last-child {
        margin-bottom: 0;
    }
}

/* --- Десктоп (>1064px): темата подрежда иконите в хедъра с float и различни
   отстъпи (сърцето 34px, профилът 30px) — затова стоят неравномерно и на
   различна височина. Тук ги изравняваме: еднакво разстояние помежду им и
   вертикално центриране спрямо лентата. --- */
@media only screen and (min-width: 1065px) {
    body.home .main-header .user-popup-wrap {
        top: 20px;
        height: 40px;
        display: flex;
        align-items: center;
        margin-right: 34px;
    }
    body.home .main-header .user-popup-wrap .show-reg-form { height: 40px; }
    body.home .main-header .cart-btn.bookmark-header-btn {
        top: 20px;
        height: 40px;
        width: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 34px;
        font-size: 19px;
    }
    body.home .main-header .cart-btn.bookmark-header-btn i { width: auto; }
}

/* --- На много тесни екрани темата скрива любимите (≤370px) — за домашната
   страница ги задържаме, за да стои дясната група с иконите навсякъде. --- */
@media only screen and (max-width: 370px) {
    body.home .main-header .cart-btn.bookmark-header-btn {
        display: block;
    }
}
/* На тесни екрани (≤425px) логото остава най-вляво, а иконната група се
   подравнява надясно (търсенето е първо в групата). */
@media only screen and (max-width: 425px) {
    body.home .main-header .logo-holder {
        margin-right: 0;
    }
    body.home .main-header .nav-button-wrap {
        margin-right: 8px;
    }
}
/* Под 480px търсачката се маха от хедъра (остава в хамбургер менюто), за да
   има място логото да се покаже по-голямо. */
@media only screen and (max-width: 480px) {
    body.home .main-header .header-search_btn {
        display: none !important;
    }
}
/* При 320px лявото поле на хедъра се намалява, за да стъпи логото
   по-наляво. */
@media only screen and (max-width: 320px) {
    body.home .main-header {
        padding-left: 0;
    }
}
/* Под 320px иконите и разстоянията се смаляват (правилното правило е в
   края на файла, където побеждава по-късните блокове). */
/* Търсенето-ред в началото на мобилното меню (хамбургер). */
.main-menu .menusb .menu-search-form-wrap {
    list-style: none;
    padding: 0 !important;
}
/* Красивият X (затваряне) на хамбургера — центриран в контейнера. */
body.home .main-header .nav-button-wrap.vismobmenu_btn:before {
    top: 50%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%);
}
/* --- Мобилно/таблет (≤1064px): щом има място, показваме иконката за
   търсене и името на профила (включително под 641px), а менюто (хамбургер)
   остава. „Добави бизнес“ се показва едва от 803px (отделния блок по-долу). --- */
@media only screen and (max-width: 1064px) {
    /* Търсенето отново се появява като кръгче, центрирано по височина. */
    body.home .main-header .header-search_btn {
        display: flex;
        box-sizing: border-box;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
        order: 3;
        margin-left: auto;
        position: relative;
        top: auto;
        border-radius: 100%;
    }
    body.home .main-header .header-search_btn i {
        display: block;
        font-size: 18px;
        color: #fff;
    }
    body.home .main-header .user-popup-wrap {
        order: 4;
        margin-left: 16px;
    }
    /* Името на профила се показва, когато има достатъчно място. */
    body.home .main-header .user-popup-wrap .show-reg-form {
        width: auto;
        height: 40px;
        padding: 0 12px 0 6px;
    }
    body.home .main-header .user-popup-wrap .show-reg-form .user-popup-name {
        display: inline;
        margin-left: 8px;
        color: #fff;
        font-size: 14px;
        font-weight: 600;
    }
    body.home .main-header .cart-btn.bookmark-header-btn {
        order: 5;
        margin-left: 16px;
    }
    body.home .main-header .nav-button-wrap {
        order: 6;
        margin-left: 16px;
        margin-right: 8px;
    }
}
/* --- Твърде дълго име на акаунта би свило логото драстично. custom.js слага
   .bc-hide-uname върху .main-header и профилът остава само с иконката (както
   при тесните ширини), за да не се мачка логото. --- */
@media only screen and (max-width: 1064px) {
    body.home .main-header.bc-hide-uname .user-popup-wrap .show-reg-form {
        width: 40px;
        height: 40px;
        padding: 0;
    }
    body.home .main-header.bc-hide-uname .user-popup-wrap .show-reg-form .user-popup-name {
        display: none;
    }
}
/* --- Иконите (профил, добавяне в любими, хамбургер меню) стоят ВИНАГИ
   най-вдясно. Под 480px търсачката е скрита, така че няма какво да ги
   избута надясно — и профилът поема margin-left:auto (поредността е
   лого → профил → любими → хамбургер). --- */
@media only screen and (max-width: 480px) {
    body.home .main-header .user-popup-wrap {
        margin-left: auto;
    }
}
/* --- От 803px (табпет/лаптоп) в хедъра се връща и „Добави бизнес“ —
   най-вдясно, след 4-те икони (под 803px остава скрит). --- */
@media only screen and (min-width: 803px) and (max-width: 1064px) {
    body.home .main-header .nav-button-wrap {
        margin-right: 0;
    }
    body.home .main-header .add-list {
        display: block;
        order: 7;
        margin-left: 16px;
        margin-right: 8px;
    }
}
/* --- 803–964px: „Добави бизнес“ заема място, затова профилът остава само
   с иконка. От 965px нагоре има място за името, а под 803px (когато
   „Добави бизнес“ изчезне) името се появява отново. --- */
@media only screen and (min-width: 803px) and (max-width: 964px) {
    body.home .main-header .user-popup-wrap .show-reg-form {
        width: 40px;
        height: 40px;
        padding: 0;
    }
    body.home .main-header .user-popup-wrap .show-reg-form .user-popup-name {
        display: none;
    }
}
/* --- Под 425px името на профила се маха (остава само иконката), за да има
   място логото да е по-голямо и дясната секция с иконите да се свие. --- */
@media only screen and (max-width: 425px) and (min-width: 320px) {
    body.home .main-header .user-popup-wrap .show-reg-form {
        width: 40px;
        height: 40px;
        padding: 0;
    }
    body.home .main-header .user-popup-wrap .show-reg-form .user-popup-name {
        display: none;
    }
}
@media only screen and (max-width: 319px) {
    body.home .main-header .user-popup-wrap .show-reg-form .user-popup-name {
        display: none;
    }
}
/* --- Под 320px иконите стават по-малки (32px), за да може логото да е
   по-голямо. Този блок е в края на файла, за да надделее над по-късно
   зададените ширини на бутоните. --- */
@media only screen and (max-width: 319px) {
    body.home .main-header .header-search_btn,
    body.home .main-header .user-popup-wrap .show-reg-form,
    body.home .main-header .cart-btn.bookmark-header-btn,
    body.home .main-header .nav-button-wrap {
        box-sizing: border-box;
        width: 32px;
        height: 32px;
        padding: 0;
    }
    body.home .main-header .header-search_btn,
    body.home .main-header .cart-btn.bookmark-header-btn,
    body.home .main-header .nav-button-wrap {
        margin-left: 8px;
    }
    body.home .main-header .user-popup-wrap .show-reg-form .user-popup-name {
        display: none;
    }
    body.home .main-header .cart-btn.bookmark-header-btn i {
        height: 32px;
        line-height: 32px;
        font-size: 16px;
        margin: 0;
    }
    body.home .main-header .header-search_btn i {
        height: 32px;
        line-height: 32px;
        font-size: 16px;
    }
    body.home .main-header .nav-button-wrap .nav-button {
        width: 18px;
        height: 12px;
    }
    body.home .main-header .nav-button-wrap .nav-button span {
        height: 2px;
        margin-bottom: 3px;
    }
}
/* --- Футър: на по-малките екрани логото в footer-а се показва с основното
   изображение... на малки екрани copyright-ът и менюто (Условия/Политика)
   в sub-footer-а се центрират. --- */
@media only screen and (max-width: 768px) {
    .main-footer .subfooter-info-wrap {
        display: block;
    }
    .main-footer .subfooter-info-wrap .copyright {
        width: 100%;
        text-align: center;
    }
    .main-footer .subfooter-menu-wrap {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .main-footer .subfooter-menu-wrap ul.menu {
        text-align: center;
    }
    .main-footer .subfooter-menu-wrap .widget_nav_menu {
        margin-right: 0;
    }
    .main-footer .subfooter-menu-wrap .widget_nav_menu:after {
        display: none;
    }
}
/* --- Над 768px copyright-ът („Бизнес Каталог 2026") и менюто
   („Условия/Политика") да са едно срещу друго и изравнени
   (темата ги слага едно под друго до 1064px). --- */
@media only screen and (min-width: 769px) {
    .main-footer .subfooter-info-wrap,
    .main-footer .subfooter-menu-wrap {
        width: 50%;
    }
}
/* --- „Условия за ползване" и „Политика за поверителност" винаги на един
   ред (на 769px дясната колона е тясна и темата ги пренася на два реда). --- */
@media only screen and (max-width: 1064px) {
    .main-footer .subfooter-menu-wrap .widget_nav_menu {
        margin-right: 0;
    }
    .main-footer .subfooter-menu-wrap ul.menu li {
        white-space: nowrap;
        margin-left: 10px;
    }
}
@media only screen and (max-width: 340px) {
    .main-footer .subfooter-menu-wrap ul.menu li a {
        font-size: 11.5px;
    }
}
/* --- Под 321px контактните редове (имейл/адрес/телефон) да се събират
   на един ред с иконите си (намален шрифт/подложка, без пренасяне). --- */
@media only screen and (max-width: 320px) {
    .main-footer .footer-contacts li {
        min-width: 0;
        width: auto;
        max-width: 100%;
        padding: 5px 10px;
        font-size: 11.5px;
    }
    .main-footer .footer-contacts li a {
        white-space: nowrap;
    }
}
@media only screen and (max-width: 270px) {
    .main-footer .footer-contacts li {
        padding: 4px 8px;
        font-size: 10px;
    }
}
/* --- Мобилни устройства (до 768px): категориите се центрират. Под 321px
   изображението на бизнеса в „Най-нови бизнеси“ се показва изцяло
   (cover режеше картинката по ръбовете). --- */
@media only screen and (max-width: 768px) {
    .home-cat-link {
        align-items: center;
        text-align: center;
    }
}
@media only screen and (max-width: 320px) {
    .bc-feat .biz-media-bg {
        background-size: contain;
        background-position: center;
    }
}

/* --- Wishlist панел в хедъра: миниатюри, букви, премахване --- */
.wishlist-items-wrap .wishlist-item {
    position: relative;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
}
.wishlist-items-wrap .wl-item-link {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}
.wishlist-items-wrap .widget-posts-img {
    -ms-flex: 0 0 84px;
    flex: 0 0 84px;
    width: 84px;
    height: 62px;
    border-radius: 8px;
    overflow: hidden;
    background: #eef3f9;
}
.wishlist-items-wrap .widget-posts-img + .widget-posts-descr {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: auto;
    padding: 0 26px 0 0;
}
.wishlist-items-wrap .widget-posts-img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}
.wishlist-items-wrap .widget-posts-descr h4 {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 600;
    color: #253141;
    line-height: 1.3;
}
.wishlist-items-wrap .wl-item-link:hover .widget-posts-descr h4 { color: #E14D2A; }
.wishlist-items-wrap .geodir-category-location {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4px;
    color: #8794a6;
    font-size: 12.5px;
}
.wl-letter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(135deg, #0078F0, #1d84c8);
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: .02em;
}
.wishlist-items-wrap .wishlist-item p {
    margin: 0;
    color: #7d93b2;
    font-size: 14px;
}
.wishlist-items-wrap .wl-item-category { font-size: 11px; line-height: 1.35; color: #748093; }
.wishlist-items-wrap .no-bookmark-wrap { border-bottom: 0; }
.wishlist-items-wrap .bc-wl-remove {
    position: absolute;
    right: 0;
    top: 50%;
    z-index: 2;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 8px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #a7b2c0;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}
.wishlist-items-wrap .bc-wl-remove:hover {
    background: #fdecec;
    color: #E14D2A;
    -webkit-transform: translateY(-50%) scale(1.1);
    transform: translateY(-50%) scale(1.1);
}

/* ============================================================
   Любими: визуална обратна връзка (toast, поп на сърцето, пулс)
   ============================================================ */
.bc-wl-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 3000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    -webkit-transform: translate(-50%, 22px);
    transform: translate(-50%, 22px);
    opacity: 0;
    visibility: hidden;
    background: #253141;
    color: #fff;
    padding: 12px 20px;
    border-radius: 12px;
    font-size: 14px;
    box-shadow: 0 16px 40px rgba(16, 26, 38, .35);
    max-width: 90vw;
    transition: opacity .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1), visibility .28s;
}
.bc-wl-toast.is-show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}
.bc-wl-toast-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    -ms-flex: none;
    flex: none;
    border-radius: 50%;
    background: linear-gradient(135deg, #ff7a59, #E14D2A);
    color: #fff;
    font-size: 12px;
    box-shadow: 0 4px 12px rgba(225, 77, 42, .5);
}
.bc-wl-toast-text { min-width: 0; }
.bc-wl-toast b { font-weight: 700; }
.bc-wl-toast.is-remove .bc-wl-toast-icon { background: #5c6b7d; box-shadow: none; }

/* сърцата: записано състояние + поп ефект (по-висока специфичност от темата) */
body .biz-fav,
body .bp-fav,
body .bc-feat .biz-fav {
    transition: color .15s ease, transform .18s cubic-bezier(.22, 1, .36, 1), background .2s ease, box-shadow .2s ease;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}
body .biz-fav.is-saved,
body .bp-fav.is-saved,
body .bc-feat .biz-fav.is-saved {
    color: #fff;
    background: linear-gradient(135deg, #ff7a59, #E14D2A);
    box-shadow: 0 8px 20px rgba(225, 77, 42, .45);
}
body .biz-fav.is-saved:hover,
body .bp-fav.is-saved:hover,
body .bc-feat .biz-fav.is-saved:hover {
    color: #fff;
    transform: scale(1.1);
}
body .save-btn.is-saved { color: #E14D2A; }
body .save-btn.is-saved span { color: #E14D2A; }

@keyframes bcHeartPop {
    0% { transform: scale(.72); }
    45% { transform: scale(1.22); }
    72% { transform: scale(.94); }
    100% { transform: scale(1); }
}
@keyframes bcHeartRing {
    0% { box-shadow: 0 0 0 0 rgba(225, 77, 42, .55), 0 8px 20px rgba(225, 77, 42, .45); }
    100% { box-shadow: 0 0 0 16px rgba(225, 77, 42, 0), 0 8px 20px rgba(225, 77, 42, .45); }
}
body .biz-fav.is-burst,
body .bp-fav.is-burst,
body .bc-feat .biz-fav.is-burst {
    animation: bcHeartPop .5s cubic-bezier(.22, 1, .36, 1), bcHeartRing .6s ease-out;
}

@keyframes bcHeaderPulse {
    0% { transform: scale(1); }
    30% { transform: scale(1.2); }
    62% { transform: scale(.92); }
    100% { transform: scale(1); }
}
.bookmark-header-btn { transform-origin: center; }
.bookmark-header-btn.bc-pulse { animation: bcHeaderPulse .6s cubic-bezier(.22, 1, .36, 1); }

@keyframes bcBadgePop {
    0% { transform: scale(.5); }
    60% { transform: scale(1.28); }
    100% { transform: scale(1); }
}
body .bmcounter-head.bc-pop {
    display: inline-block;
    animation: bcBadgePop .5s cubic-bezier(.22, 1, .36, 1);
}

/* поява на елементите в панела */
@keyframes bcItemIn {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}
.wishlist-items-wrap .wishlist-item { animation: bcItemIn .25s ease both; }

/* ==========================================================================
   ХАМБУРГЕР МЕНЮ — подобрен вид и поведение (ВСИЧКИ страници).
   Обхват: само ≤1064px (където се показва хамбургерът). Закача се за
   споделения хедър, затова важи за всяка текуща и бъдеща страница.
   ========================================================================== */
@media only screen and (max-width: 1064px) {
    /* Панел: на цялата ширина, плътно под хедъра, с права (квадратна) форма. */
    .main-header .main-menu {
        position: fixed;
        top: 80px;
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
        max-height: calc(100vh - 80px);
        padding: 0;
        background-color: #fff;
        background-image: linear-gradient(90deg, #253141 0%, #0078F0 62%, #6FC3FF 100%);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 100% 3px;
        border: 0;
        border-bottom: 1px solid #E4E9F0;
        border-radius: 0;
        box-shadow: 0 18px 36px rgba(20, 30, 55, .12);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transform: translateY(-8px);
        transition: opacity .22s ease, transform .22s ease, visibility .22s;
    }
    .main-header .main-menu.vismobmenu {
        transform: translateY(0);
    }

    /* Вътрешен контейнер — центриран, за да е подредено и на таблет. */
    .main-header .main-menu .menusb {
        max-width: 1040px;
        margin: 0 auto;
    }

    /* Търсене. */
    .main-header .main-menu .menu-search-form {
        padding: 20px 24px;
        border-bottom: 1px solid #EEF1F5;
        background: #fff;
    }
    .main-header .main-menu .menu-search-form form {
        display: flex;
        align-items: center;
        gap: 12px;
        border: 1px solid #DCE3EC;
        border-radius: 4px;
        padding: 11px 14px;
        background: #F8FAFC;
        transition: border-color .18s ease, background .18s ease;
    }
    .main-header .main-menu .menu-search-form form:focus-within {
        border-color: #0078F0;
        background: #fff;
    }
    .main-header .main-menu .menu-search-form i {
        display: none;   /* лупата е излишна — има бутон „Търсене“ */
    }
    .main-header .main-menu .menu-search-form input {
        font-size: 15px;
    }
    /* Бутонът „Търсене“ в цвета на сайта (акцентния син). */
    .main-header .main-menu .menu-search-form button {
        background: var(--bc-accent, #0078F0);
        color: #fff;
        border-radius: 4px;
        padding: 9px 16px;
        font-weight: 600;
        transition: background .18s ease;
    }
    .main-header .main-menu .menu-search-form button:hover {
        background: var(--bc-accent-dark, #0056C8);
    }

    /* Редове на менюто — на цялата ширина, с тънки разделители. */
    .main-header .main-menu .menusb li {
        position: relative;
        padding: 0;
        overflow: visible;
        border-bottom: 1px solid #EEF1F5;
    }
    .main-header .main-menu .menusb li:last-child {
        border-bottom: 0;
    }
    .main-header .main-menu .menusb li.mob-menu-only {
        padding: 0;
        border-bottom: 1px solid #EEF1F5;
    }
    .main-header .main-menu .menusb a {
        display: flex;
        align-items: center;
        gap: 14px;
        width: 100%;
        padding: 15px 24px;
        font-size: 15.5px;
        font-weight: 600;
        color: #26313F;
        line-height: 1.2;
        text-align: left;
        transition: background .18s ease, color .18s ease, box-shadow .18s ease;
    }
    /* Икона вляво (Font Awesome). */
    .main-header .main-menu .menusb a::before {
        content: "\f0da";
        flex: 0 0 auto;
        width: 20px;
        font-family: "Font Awesome 5 Pro";
        font-style: normal;
        font-weight: 900;
        font-size: 15px;
        text-align: center;
        color: #9AA6B8;
        transition: color .18s ease;
    }
    .main-header .main-menu .menusb a[href*="index.htm"]::before { content: "\f015"; }
    .main-header .main-menu .menusb a[href*="catalog.htm"]::before { content: "\f009"; }
    .main-header .main-menu .menusb a[href*="blog.htm"]::before { content: "\f1ea"; }
    .main-header .main-menu .menusb a[href*="add-business.htm"]::before { content: "\f055"; }
    /* Стрелка вдясно. */
    .main-header .main-menu .menusb a::after {
        content: "";
        flex: 0 0 auto;
        margin-left: auto;
        width: 7px;
        height: 7px;
        border-top: 2px solid #C3CDDB;
        border-right: 2px solid #C3CDDB;
        transform: rotate(45deg);
        transition: transform .18s ease, border-color .18s ease;
    }
    .main-header .main-menu .menusb a:hover,
    .main-header .main-menu .menusb a:focus-visible {
        background: #F5F8FC;
        color: #0078F0;
        box-shadow: inset 3px 0 0 #0078F0;
    }
    .main-header .main-menu .menusb a:hover::before,
    .main-header .main-menu .menusb a:focus-visible::before {
        color: #0078F0;
    }
    .main-header .main-menu .menusb a:hover::after {
        border-color: #0078F0;
        transform: rotate(45deg) translate(1px, -1px);
    }
    /* Активната страница. */
    .main-header .main-menu .menusb li.current-menu-item a {
        background: #EDF5FD;
        color: #0078F0;
        box-shadow: inset 3px 0 0 #0078F0;
    }
    .main-header .main-menu .menusb li.current-menu-item a::before {
        color: #0078F0;
    }

    /* Поетапна поява на редовете при всяко отваряне. */
    .main-header .main-menu.vismobmenu .menu-search-form,
    .main-header .main-menu.vismobmenu .menusb a {
        animation: bcMenuRowIn .3s ease both;
    }
    .main-header .main-menu.vismobmenu .menusb li:nth-child(2) a { animation-delay: .05s; }
    .main-header .main-menu.vismobmenu .menusb li:nth-child(3) a { animation-delay: .1s; }
    .main-header .main-menu.vismobmenu .menusb li:nth-child(4) a { animation-delay: .15s; }
    .main-header .main-menu.vismobmenu .menusb li:nth-child(5) a { animation-delay: .2s; }
}

/* На таблети (600–1064px) панелът се прилепва вдясно и е широк колкото
   съдържанието си — няма смисъл да заема цялата ширина. На телефони
   (≤599px) остава на цялата ширина. */
@media only screen and (min-width: 600px) and (max-width: 1064px) {
    .main-header .main-menu {
        left: auto;
        right: 0;
        width: auto;
        min-width: 360px;
        max-width: 440px;
    }
    .main-header .main-menu .menusb {
        max-width: none;
    }
}

@keyframes bcMenuRowIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: none; }
}


/* ==========================================================================
   Правни страници (Поверителност / Бисквитки / Условия за ползване)
   ========================================================================== */
.legal-main { padding: 112px 24px 56px; background: #F5F8FB; }
.legal-wrap { width: 100%; max-width: 900px; margin: 0 auto; }
.legal-head { margin-bottom: 22px; }
.legal-head h1 { margin: 0 0 10px; font-family: "Raleway", "Roboto", sans-serif; font-size: 32px; line-height: 1.2; font-weight: 700; color: #253141; }
.legal-head p { margin: 0; max-width: 700px; color: #646E7D; font-size: 15px; line-height: 1.6; }
.legal-updated { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; padding: 6px 12px; border-radius: 20px; background: #EEF4FB; color: #566985; font-size: 12.5px; }
.legal-updated i { color: #0078F0; }
.legal-card { background: #fff; border-radius: 12px; box-shadow: 0 14px 40px rgba(37,44,65,.08); padding: 30px 34px; }
.legal-card h2 { margin: 34px 0 12px; font-family: "Raleway", "Roboto", sans-serif; font-size: 20px; line-height: 1.35; font-weight: 700; color: #253141; scroll-margin-top: 104px; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card h3 { margin: 22px 0 8px; font-family: "Raleway", "Roboto", sans-serif; font-size: 16px; font-weight: 700; color: #253141; }
.legal-card p { margin: 0 0 14px; font-size: 15px; line-height: 1.75; color: #566985; }
.legal-card ul, .legal-card ol { margin: 0 0 16px; padding-left: 22px; }
.legal-card li { margin: 0 0 8px; font-size: 15px; line-height: 1.7; color: #566985; }
.legal-card a { color: #0056C8; text-decoration: none; }
.legal-card a:hover { text-decoration: underline; }
.legal-card strong { color: #253141; }
.legal-card .legal-toc { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 30px; margin: 0 0 28px; padding: 18px 20px 16px; background: #F7FAFD; border: 1px solid #EAF1F8; border-radius: 10px; list-style: none; }
.legal-card .legal-toc::before { content: "Съдържание"; grid-column: 1 / -1; margin: 0 0 4px; font-family: "Raleway", "Roboto", sans-serif; font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #8794A6; }
.legal-card .legal-toc li { margin: 0; }
.legal-card .legal-toc a { display: inline-flex; align-items: center; gap: 8px; color: #0056C8; font-size: 14.5px; line-height: 1.5; text-decoration: none; }
.legal-card .legal-toc a:hover { text-decoration: underline; }
.legal-card .legal-toc a::before { content: "\f105"; flex: 0 0 auto; font-family: "Font Awesome 5 Pro"; font-weight: 400; color: #B9CBE0; }
.legal-note { margin: 0 0 16px; padding: 14px 16px; border-radius: 8px; background: #F0F7FF; border-left: 3px solid #0056C8; color: #3B556F; font-size: 14px; line-height: 1.65; }
.legal-contact { display: grid; gap: 10px; margin: 0 0 20px; }
.legal-contact-row { display: flex; align-items: center; gap: 10px; font-size: 14.5px; color: #566985; }
.legal-contact-row i { flex: 0 0 auto; width: 18px; text-align: center; color: #0078F0; }
.legal-contact-row a { color: #0056C8; text-decoration: none; }
.legal-contact-row a:hover { text-decoration: underline; }
.legal-ph { display: inline-block; padding: 1px 7px; border-radius: 5px; background: #FFF7E6; color: #8A6D1A; font-size: .94em; font-weight: 600; }
.legal-table-wrap { overflow-x: auto; margin: 0 0 16px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 460px; }
.legal-table th, .legal-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid #EDF1F5; vertical-align: top; }
.legal-table th { color: #253141; font-weight: 700; background: #FAFCFE; white-space: nowrap; }
.legal-table td { color: #566985; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.legal-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.legal-main .legal-back { display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; border: 1px solid transparent; border-radius: 8px; background: #0056C8; color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; line-height: 1.2; cursor: pointer; box-shadow: 0 6px 16px rgba(0,86,200,.28); transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.legal-main .legal-back:hover { background: #1664A8; border-color: #1664A8; color: #fff; text-decoration: none; box-shadow: 0 12px 26px rgba(22,100,168,.42); transform: translateY(-2px); }
.legal-main .legal-back:active { transform: translateY(0); box-shadow: 0 6px 14px rgba(22,100,168,.35); }
.legal-main .legal-back.alt { background: #fff; border-color: #D7E3EE; color: #253141; box-shadow: none; }
.legal-main .legal-back.alt:hover { background: #253141; border-color: #253141; color: #fff; text-decoration: none; box-shadow: 0 12px 26px rgba(37,49,65,.28); transform: translateY(-2px); }
.legal-main .legal-back.alt:active { transform: translateY(0); box-shadow: 0 6px 14px rgba(37,49,65,.22); }
.legal-main .legal-btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border: 1px solid #D7E3EE; border-radius: 8px; background: #fff; color: #253141; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease; }
.legal-main .legal-btn:hover { border-color: #0078F0; background: #EEF4FB; box-shadow: 0 10px 22px rgba(44,158,232,.22); transform: translateY(-2px); }
.legal-main .legal-btn:active { transform: translateY(0); box-shadow: none; }
.legal-main .legal-btn i { color: #0078F0; }
@media (max-width: 640px) {
    .legal-main { padding: 96px 16px 44px; }
    .legal-card { padding: 22px 18px; }
    .legal-head h1 { font-size: 25px; }
    .legal-card .legal-toc { grid-template-columns: 1fr; gap: 9px; padding: 16px 16px 14px; margin-bottom: 24px; }
    .legal-card h2 { margin-top: 28px; scroll-margin-top: 92px; }
}
@media (max-width: 380px) {
    .legal-main { padding: 88px 12px 36px; }
    .legal-card { padding: 16px 14px; }
    .legal-head h1 { font-size: 21px; }
    .legal-card h2 { font-size: 17px; }
    .legal-card p, .legal-card li { font-size: 14px; }
}

/* ==========================================================================
   GDPR банер за бисквитки — собствен, лек, в стила на сайта.
   Всички селектори са scoped под .cc-root, за да надвият theme правила
   като „.body-townhub button { border:0 }“, които иначе чупят бутоните.
   ========================================================================== */
.cc-root { position: fixed; left: 20px; bottom: 20px; z-index: 99998; width: min(440px, calc(100vw - 32px)); font-family: Raleway, "Segoe UI", Arial, sans-serif; line-height: 1.5; }
.cc-root *, .cc-root *::before, .cc-root *::after { box-sizing: border-box; }

.cc-root .cc-card { position: relative; overflow: hidden; background: #fff; border: 1px solid #E3EBF3; border-radius: 16px; box-shadow: 0 20px 55px rgba(37,44,65,.20); padding: 22px 22px 18px; color: #253141; animation: ccIn .34s cubic-bezier(.22,.61,.36,1) both; }
.cc-root .cc-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #0078F0, #8ED0FF); }

.cc-root .cc-head { display: flex; align-items: center; gap: 12px; margin: 2px 0 10px; }
.cc-root .cc-head > i { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; background: #EAF5FF; color: #0078F0; display: inline-flex; align-items: center; justify-content: center; font-size: 19px; font-style: normal; line-height: 1; }
.cc-root .cc-title { margin: 0; padding: 0; font-family: inherit; font-size: 17px; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; color: #253141; }

.cc-root .cc-text { margin: 0 0 16px; padding: 0; font-size: 13.5px; line-height: 1.6; color: #566985; }
.cc-root .cc-text a { color: #0078F0; text-decoration: underline; text-underline-offset: 2px; }
.cc-root .cc-text a:hover { color: #1E86C9; }

.cc-root .cc-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.cc-root .cc-btn { all: unset; box-sizing: border-box; -webkit-appearance: none; appearance: none; flex: 1 1 150px; display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin: 0; padding: 10px 16px; border: 1px solid transparent; border-radius: 10px; font-family: inherit; font-size: 13.5px; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none; text-align: center; text-decoration: none; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease; }
.cc-root .cc-btn--primary { background: #0078F0; border-color: #0078F0; color: #fff; box-shadow: 0 8px 20px rgba(77,183,254,.30); }
.cc-root .cc-btn--primary:hover { background: #1A8CF5; border-color: #1A8CF5; color: #fff; }
.cc-root .cc-btn--primary:active { background: #37A0E6; border-color: #37A0E6; }
.cc-root .cc-btn--ghost { background: #fff; border-color: #D7E3EE; color: #253141; }
.cc-root .cc-btn--ghost:hover { background: #F7FAFD; border-color: #B9CBE0; color: #253141; }

.cc-root .cc-linkbtn { all: unset; box-sizing: border-box; -webkit-appearance: none; appearance: none; display: block; width: auto; margin: 14px auto 0; padding: 3px 4px; border: 0; background: none; color: #6B7B92; font-family: inherit; font-size: 12.5px; font-weight: 600; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.cc-root .cc-linkbtn:hover { color: #253141; }

.cc-root .cc-prefs { display: none; margin-top: 16px; padding-top: 4px; border-top: 1px solid #EDF1F5; }
.cc-root.is-prefs .cc-prefs { display: block; }
.cc-root .cc-pref { display: flex; align-items: flex-start; gap: 14px; padding: 11px 0; border-bottom: 1px solid #F2F6FA; }
.cc-root .cc-pref:last-of-type { border-bottom: 0; }
.cc-root .cc-pref-txt { flex: 1; min-width: 0; }
.cc-root .cc-pref-txt b { display: block; font-size: 13.5px; font-weight: 700; color: #253141; }
.cc-root .cc-pref-txt span { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.5; color: #7A879B; }

.cc-root .cc-switch { position: relative; flex: 0 0 auto; width: 44px; height: 25px; margin-top: 1px; cursor: pointer; }
.cc-root .cc-switch input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cc-root .cc-switch span { position: absolute; inset: 0; display: block; border-radius: 999px; background: #D7E3EE; transition: background .18s ease; }
.cc-root .cc-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 19px; height: 19px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(37,44,65,.25); transition: transform .18s ease; }
.cc-root .cc-switch input:checked + span { background: #0078F0; }
.cc-root .cc-switch input:checked + span::after { transform: translateX(19px); }
.cc-root .cc-switch input:focus-visible + span { outline: 2px solid #0078F0; outline-offset: 2px; }
.cc-root .cc-switch input:disabled { cursor: not-allowed; }
.cc-root .cc-switch input:disabled + span { background: #C7DDF0; }
.cc-root .cc-switch input:disabled + span::after { box-shadow: none; }

.cc-root .cc-save { flex-basis: 100%; width: 100%; margin-top: 16px; }

@keyframes ccIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (max-width: 560px) {
    .cc-root { left: 0; right: 0; bottom: 0; width: 100%; }
    .cc-root .cc-card { border-radius: 16px 16px 0 0; border-left: 0; border-right: 0; border-bottom: 0; padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -12px 40px rgba(37,44,65,.20); }
    .cc-root .cc-actions { gap: 8px; }
    .cc-root .cc-btn { flex-basis: 120px; }
}
@media (prefers-reduced-motion: reduce) {
    .cc-root .cc-card { animation: none; }
    .cc-root .cc-switch span, .cc-root .cc-switch span::after { transition: none; }
}

/* На телефон тема мести стрелките на listing-slider към долния край.
   В тази секция ги държим на същата централна позиция като в „Отзиви“. */
@media only screen and (max-width: 767px) {
    #sec2 .listing-carousel-button.listing-carousel-button-prev2,
    #sec2 .listing-carousel-button.listing-carousel-button-next2 {
        top: 50%;
        margin-top: -25px;
    }
}

/* ==========================================================================
   A11Y — WCAG AA контраст (4.5:1) + touch targets + семантика на заглавията.
   Всички стойности са проверени спрямо действителния фон на елемента.
   ========================================================================== */

/* --- Hero търсене: текст и placeholder на полетата --- */
.hero-inputs-wrap .filter-gid-item input[type="text"],
.hero-inputs-wrap .filter-gid-item .location-input {
    color: #4A5A73;
}
.hero-inputs-wrap .filter-gid-item input[type="text"]::placeholder,
.hero-inputs-wrap .filter-gid-item .location-input::placeholder {
    color: #5A6F8E;
    opacity: 1;
}
.hero-inputs-wrap .filter-gid-item .nice-select,
.hero-inputs-wrap .filter-gid-item .nice-select .current {
    color: #4A5A73;
}
.nice-select .current { color: #4A5A73; }

/* --- Подзаглавия на секции --- */
.section-subtitle { color: #0056C8; }
.section-title p { color: #5A6F8E; }

/* --- Мета данни на категориите --- */
.home-cat-meta { color: #606B82; }

/* --- „Как работи“ --- */
.process-count { color: #0056C8; }
.process-item > p { color: #666666; }
/* заглавията са h3 (серийна: h1 -> h2 -> h3), стилът остава като стария h4 */
.process-item > h3 {
    width: 100%;
    margin-bottom: 20px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: #566985;
}

/* --- Подзаглавието на hero-търсенето е <p>, не <h3> --- */
.hero-subtitle {
    margin: 0;
    color: #FFFFFF;
    font-weight: 400;
    font-size: 1.077em;
    line-height: 1.5;
}

/* --- Отзиви (страничните слайдове имат opacity ~0.9, затова базовите
   цветове са по-тъмни, за да мине ефективният контраст 4.5:1) --- */
.testimonilas-text p { color: #5B6272; }
.testi-link { color: #0056C8; }
.testimonilas-avatar h3,
.testimonilas-avatar h4 { color: #50637E; }
.promo-link { color: #5A6F8E; }

/* CTA „Добави бизнес“ на началната страница — акцентен бутон от текущата
   синя тема, със стабилен hover и видим фокус за клавиатурна навигация. */
.bc-home-cta-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    padding: 12px 24px !important;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 14px !important;
    background: linear-gradient(135deg, #1E90FF 0%, #0056C8 100%) !important;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .2px;
    line-height: 1.25;
    text-decoration: none !important;
    box-shadow: 0 12px 26px rgba(0, 86, 200, .32);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.bc-home-cta-button i {
    position: static !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 18px;
    line-height: 1;
    transition: transform .18s ease;
}
.bc-home-cta-button:hover,
.bc-home-cta-button:focus-visible {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #258FFF 0%, #004BAF 100%) !important;
    color: #fff !important;
    box-shadow: 0 16px 32px rgba(0, 86, 200, .42);
    filter: brightness(1.04);
}
.bc-home-cta-button:hover i,
.bc-home-cta-button:focus-visible i { transform: translateX(2px); }
.bc-home-cta-button:focus-visible {
    outline: 3px solid rgba(255, 255, 255, .9);
    outline-offset: 4px;
}

/* --- Футър: затъмняваме фона до #0A1E52 (тъмния цвят на лявата част на
   хедъра = .main-header). Горната лента (.gradient-dark) се изравнява също,
   за да няма светло петно. Нищо друго не се пипа. --- */
.main-footer,
.dark-footer,
.main-footer .footer-header.gradient-dark,
.main-footer .footer-header.grad.ient-dark {
    background: #0A1E52;
    background-image: none;
}

/* --- Футър: фон #0A1E52 (вж. затъмняването по-горе). Всички цветове по-долу
   са проверени >=4.5:1 върху #0A1E52 и върху "хапчето" на контактните
   редове (#45547e). --- */
.subscribe-header h3 span { color: #EDF1FA; }
.subscribe-header > p { color: #EDF1FA; }
.subscribe-agree-label { color: #EDF1FA; }
.subscribe-agree-label a { color: #FFFFFF; margin-left: 4px; }
.subscribe-message { color: #fff; margin-top: 6px; font-size: 13px; }
.subscribe-form-wrap .enteremail { color: #253141; }
.subscribe-form-wrap .enteremail::placeholder { color: #5A6F8E; opacity: 1; }
/* Контактните редове са в светла "хапче" (li background rgba(255,255,255,.11)
   върху #325096) => ефективен фон ~#4963A2. Затова и двата цвята трябва да са
   светли (>=4.5:1 върху хапчето, не върху тъмния футър). */
.footer-contacts li span { color: #EDF1FA; }
.footer-contacts li a { color: #FFFFFF; }
.footer-widget .widget-posts-date,
.footer-widget .widget-posts-date .post-date { color: #C9D4EA; }
.footer-widget .widget-posts-descr a { color: #FFFFFF; }
.footer-widget .widget-posts-descr { color: #C9D4EA; }
.footer-social li a { color: #FFFFFF; }

/* --- „Нагоре" бутон: беше <a class="to-top"> без href (un-crawlable линк).
   Сега е <button> — нулираме браузърните стилове, за да изглежда същото. --- */
button.to-top {
    border: none;
    padding: 0;
    font: inherit;
    color: #fff;
}
button.to-top i { line-height: inherit; }

/* --- Cookie бутони: бяло върху #0078F0 не минава AA --- */
.cc-root .cc-btn--primary { background: #0056C8; border-color: #0056C8; box-shadow: 0 8px 20px rgba(0,86,200,.30); }
.cc-root .cc-btn--primary:hover { background: #00459F; border-color: #00459F; }
.cc-root .cc-btn--primary:active { background: #145D99; border-color: #145D99; }

/* --- Touch targets: pagination точките са 10px — увеличаваме зоната до 24px --- */
.tc-pagination .swiper-pagination-bullet,
.tc-pagination2 .swiper-pagination-bullet {
    position: relative;
    width: 24px;
    height: 24px;
    margin: 0 4px;
    padding: 0;
    background: transparent;
    opacity: 1;
}
.tc-pagination .swiper-pagination-bullet::after,
.tc-pagination2 .swiper-pagination-bullet::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    background: #CCCCCC;
    transition: background 300ms ease-out;
}
.tc-pagination .swiper-pagination-bullet-active::after,
.tc-pagination2 .swiper-pagination-bullet-active::after { background: #0056C8; }

/* --- Inline връзки в текст: подчертаване, за да са различими без цвят (link-in-text-block) --- */
.legal-card p a,
.legal-note a,
.legal-contact-row a,
.legal-list a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
.bp-empty p a,
.bp-notfound p a {
    text-decoration: underline;
    text-underline-offset: 2px;
    color: #0056C8;
}

/* --- Начална страница: темата позиционира #main-theme като absolute с
   height:100% (fullscreen hero). При дълго съдържание това изважда wrapper-а
   от потока и футърът (z-index:25) застава най-отгоре, върху херото, а
   страницата не се скролва. Връщаме потока само за началната страница. --- */
body.home #main-theme {
    position: relative;
    height: auto;
    min-height: 100%;
}

/* ==========================================================================
   Акцентна палитра — цветовете на логото (#0078F0 / флот #00206E).
   Темата TownHub е с hard-coded #4DB7FE/#384F95/#2e3f6e в кеширания бандъл;
   тези override-и се зареждат последни (custom.css) и ги презаписват на едно
   място. Променливите се ползват и от по-горните правила в този файл.
   ========================================================================== */
:root {
    --bc-accent: #0078F0;
    --bc-accent-dark: #0056C8;
    --bc-navy: #00206E;
    --bc-header: #0A1E52;
    --bc-header-soft: #123177;
    --bc-surface: #16408C;
}

/* --- Тъмни повърхности: хедър, лоадър, зоната на иконите, търсене --- */
.main-header { background: var(--bc-header) !important; }
.main-header:before { background: var(--bc-header-soft) !important; }
.loader-wrap { background: var(--bc-header) !important; }
.header-search_btn,
.header-search_container,
.dark-blue-bg { background: var(--bc-header-soft) !important; }

/* --- Средно тъмни плочи: „Нагоре“, модал, любими, сподели, чат --- */
.header-modal-top,
.to-top,
.location-btn,
.show-hidden-sb,
.toggle-filter-btn.tsb_act,
.geodir-js-favorite_btn i,
.geodir-js-favorite_btn span,
.scroll-nav-wrapper-opt a.scroll-nav-wrapper-opt-btn,
.lshare-shortcode .showshare,
.scroll-nav-bookmark-btn,
.chat-widget-button { background: var(--bc-surface) !important; }

/* --- Utility цветове (хедър бутони, „Вижте всички…“, затваряне на търсене) --- */
.color-bg { background-color: var(--bc-accent) !important; }
.color2-bg { background-color: var(--bc-navy) !important; }

/* --- Навигация --- */
.nav-holder nav li a:hover,
.nav-holder nav li.current-menu-item > a,
.nav-holder nav li.current-menu-ancestor > a,
.menusb a.act-link { color: var(--bc-accent) !important; }

/* --- Бутони --- */
.main-search-button { background: var(--bc-navy) !important; }
.btn.border-btn { border-color: var(--bc-accent) !important; }
.btn.border-btn:hover {
    background: var(--bc-accent) !important;
    border-color: var(--bc-accent) !important;
    color: #fff !important;
}
.pagination .page-numbers.current,
input.button-primary,
.btn-unlock-month,
.price-head,
.lstatus-started,
.mb-btns-wrap { background: var(--bc-accent) !important; }

/* --- Карти, оценки, бейджове --- */
.sticky-post-badge,
.listing-item-category { background-color: var(--bc-accent) !important; }
.listing-rating-count-wrap .review-score,
.review-score-total span.review-score-total-item,
.reviews-comments-item-text .review-score-user span.review-score-user_item,
.btn-book-now,
.listing-carousel-button { background: var(--bc-navy) !important; }
.label {
    background: var(--bc-accent) !important;
    box-shadow: 0 0 0 7px rgba(0, 120, 240, .2) !important;
}
.litem-ad { color: var(--bc-accent) !important; border-color: var(--bc-accent) !important; }

/* --- Форми и дребни елементи --- */
.loader-inner:after { background: var(--bc-accent) !important; }
.header-search-input input:focus,
.listsearch-input-wrap .tabs-menu li.current { border-color: var(--bc-accent) !important; }
.header-search-input-wrap input[name="search_term"],
.header-search-input-wrap input[name="location_search"] {
    color: #fff !important;
    caret-color: #fff;
}
.header-search-input-wrap input[name="search_term"]::placeholder,
.header-search-input-wrap input[name="location_search"]::placeholder {
    color: rgba(255, 255, 255, .72) !important;
    opacity: 1;
}
.header-search-input-wrap .nice-select,
.header-search-input-wrap .nice-select .current {
    color: #fff !important;
}
.onoffswitch-inner:before,
.onoffswitch-inner:after { background-color: var(--bc-accent) !important; }
.available-cal-months .cal-date-checked,
.available-cal-months .cal-date-checked:hover { background: var(--bc-accent) !important; }
.notifyjs-bootstrap-cth-success { background: var(--bc-accent) !important; }
.sticky .list-single-main-item-title h3 a,
.post-article > .list-single-main-item.block_box a { color: var(--bc-accent) !important; }
.repeater-fields + .addfield { background: var(--bc-accent) !important; }
.csl-wrapper.csl-open { border-color: var(--bc-accent) !important; }

/* ==========================================================================
   Хедър — издигнати бутони (Добави бизнес / Вход / Любими).
   Само визуални промени: маркирането, линковете, popup-ите и броячът на
   любими не се пипат. Селекторите с body.home дубликати са заради
   по-специфичните layout правила на темата (някои от тях са body.home.*).
   ========================================================================== */

/* --- „Регистрирай бизнес“: градиентна плоча с вътрешен блясък и светкавица
   при ховър (без шаблонната иконка, само текст). --- */
.main-header .add-list,
body.home .main-header .add-list {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(135deg, #1E90FF 0%, #0056C8 100%) !important;
    border: 1px solid rgba(255, 255, 255, .18);
    box-shadow: 0 4px 14px rgba(0, 70, 190, .35), inset 0 1px 0 rgba(255, 255, 255, .25);
    padding: 0 22px;
    font-weight: 700;
    letter-spacing: .2px;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.main-header .add-list:hover,
.main-header .add-list:focus,
body.home .main-header .add-list:hover,
body.home .main-header .add-list:focus {
    background: linear-gradient(135deg, #1E90FF 0%, #0056C8 100%) !important;
    border-color: rgba(255, 255, 255, .3);
    box-shadow: 0 10px 24px rgba(0, 86, 200, .45), inset 0 1px 0 rgba(255, 255, 255, .3);
    filter: brightness(1.06);
    color: #fff;
    transform: translateY(-1px);
}
/* Светкавицата, която минава отляво надясно при ховър */
.main-header .add-list::after {
    content: "";
    position: absolute;
    top: 0;
    left: -160%;
    width: 60%;
    height: 100%;
    background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, .38) 50%, transparent 100%);
    transform: skewX(-20deg);
    transition: left .55s ease;
    pointer-events: none;
}
.main-header .add-list:hover::after,
.main-header .add-list:focus::after { left: 140%; }
/* Шаблонната иконка (слоеве +) се маха — бутонът е само текст */
.main-header .add-list span { display: none; }

/* --- Вход: кръгъл ghost бутон; на ховър се пълни с акцента.
   .header-avatar-img (логнат профил) не се засяга — целта е само <i>. --- */
.main-header .user-popup-wrap .show-reg-form { gap: 8px; }
.main-header .user-popup-wrap .show-reg-form i {
    width: 36px;
    height: 36px;
    line-height: 36px;
    margin: 0;
    font-size: 16px;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    transition: background .18s ease, border-color .18s ease;
}
.main-header .user-popup-wrap .show-reg-form:hover i,
.main-header .user-popup-wrap .show-reg-form:focus i {
    background: var(--bc-accent);
    border-color: var(--bc-accent);
    color: #fff;
}

/* --- Любими: същият кръгъл ghost стил; на ховър сърцето почервенява
   (цвета на „запазено“ в картите). Бейджът (.cart-counter) не се пипа. --- */
.main-header .cart-btn.bookmark-header-btn i,
body.home .main-header .cart-btn.bookmark-header-btn i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    line-height: 36px;
    font-size: 17px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .18);
    transition: background .18s ease, border-color .18s ease;
}
.main-header .cart-btn.bookmark-header-btn:hover i,
.main-header .cart-btn.bookmark-header-btn:focus i,
body.home .main-header .cart-btn.bookmark-header-btn:hover i,
body.home .main-header .cart-btn.bookmark-header-btn:focus i {
    background: #E14D2A;
    border-color: #E14D2A;
}

/* ==========================================================================
   HERO — нов облик: лява текстова колона + дясна бяла карта с търсене.
   Секцията е само на началната страница (#sec1). Всичко е fluid/грид,
   за да няма застъпвания от 320px до 1920px.
   ========================================================================== */

body.home #sec1 .hero-section {
    padding: clamp(40px, 4.6vw, 60px) 0 clamp(76px, 7vw, 88px) !important;
}

/* Фон: снимката се вижда повече — по-светъл, симетричен градиент + ореол. */
body.home #sec1 .overlay {
    opacity: 1 !important;
    background:
        radial-gradient(1100px 520px at 78% 6%, rgba(0, 120, 240, .24), transparent 62%),
        linear-gradient(180deg, rgba(6, 18, 48, .82) 0%, rgba(6, 20, 52, .7) 46%, rgba(8, 26, 66, .58) 100%) !important;
}

/* Едноколонна, центрирана композиция: заглавие → карта с търсене → категории. */
body.home #sec1 .container.small-container {
    max-width: 1240px;
    padding-left: 24px;
    padding-right: 24px;
}
.bc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 30px;
    max-width: 860px;
    margin: 0 auto;
}

/* --- Текстова част --- */
body.home #sec1 .intro-item {
    width: 100%;
    text-align: center;
    display: block;
    padding: 0;
}
body.home #sec1 .intro-item .bubbles {
    display: block;
    padding: 0;
    margin: 0;
}
body.home #sec1 .intro-item h1 {
    margin: 0 auto 16px;
    max-width: 22ch;
    font-size: clamp(34px, 4.2vw, 56px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -.6px;
    color: #fff;
    text-align: center;
    text-wrap: balance;
}
body.home #sec1 .hero-subtitle {
    margin: 0 auto;
    max-width: 62ch;
    font-size: clamp(15px, 1.25vw, 17.5px);
    line-height: 1.65;
    color: rgba(232, 242, 255, .9);
}

/* --- Стъклена карта с търсене: без плътно бяло, лека и професионална --- */
body.home #sec1 .main-search-form-wrap {
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
    background: linear-gradient(180deg, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .05) 100%);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 18px;
    padding: 20px 22px;
    box-shadow: 0 24px 64px rgba(2, 10, 32, .34), inset 0 1px 0 rgba(255, 255, 255, .16);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
    backdrop-filter: blur(18px) saturate(130%);
}
.bc-search-head {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.bc-search-title {
    font-family: "Raleway", sans-serif;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.2px;
    line-height: 1.25;
    color: #fff;
}
.bc-search-sub {
    margin-top: 3px;
    font-size: 12.5px;
    color: rgba(226, 238, 255, .62);
}
body.home #sec1 .main-search-input-tabs {
    margin: 0 !important;
}
body.home #sec1 .main-search-input-tabs .tabs-menu {
    display: none !important;
}
body.home #sec1 .main-search-input-tabs .tabs-container {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
body.home #sec1 .tab-content,
body.home #sec1 .tab-content.first-tab {
    padding: 0 !important;
}
body.home #sec1 .main-search-input-wrap {
    padding: 0 !important;
}
body.home #sec1 .hero-inputs-wrap {
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap !important;
    gap: 12px;
    padding: 0 !important;
}
body.home #sec1 .hero-inputs-wrap:after {
    display: none !important;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item {
    float: none;
    width: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.home #sec1 .filter-item-inner {
    position: relative;
    height: 100%;
}

/* Полета: прозрачни върху стъклото, с ясен фокус. */
body.home #sec1 .hero-inputs-wrap .filter-gid-item input[type="text"],
body.home #sec1 .hero-inputs-wrap .filter-gid-item .location-input {
    height: 52px !important;
    padding: 0 44px 0 46px !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .07) !important;
    color: #fff !important;
    font-size: 15px !important;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item input[type="text"]::placeholder,
body.home #sec1 .hero-inputs-wrap .filter-gid-item .location-input::placeholder {
    color: rgba(219, 233, 255, .58) !important;
    opacity: 1;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item input[type="text"]:focus,
body.home #sec1 .hero-inputs-wrap .filter-gid-item .location-input:focus {
    outline: none;
    border-color: #6FB4FF !important;
    background: rgba(255, 255, 255, .12) !important;
    box-shadow: 0 0 0 3px rgba(78, 168, 255, .18);
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .flabel-icon {
    left: 16px;
    top: 0;
    height: 52px;
    display: flex;
    align-items: center;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .flabel-icon i {
    color: #9CC8FF !important;
    font-size: 15px;
}
body.home #sec1 .nearby-input-wrap .get-current-city {
    top: 11px;
    right: 12px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .08) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    color: #9CC8FF !important;
}

/* Категория (nice-select): същата стъклена повърхност. */
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select {
    float: none;
    width: 100%;
    height: 52px;
    line-height: 50px;
    padding-left: 46px !important;
    padding-right: 38px !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, .07) !important;
    color: #fff !important;
    font-size: 15px !important;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select:before {
    left: 18px;
    line-height: 50px;
    font-size: 14px;
    color: #9CC8FF !important;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .current {
    color: rgba(255, 255, 255, .92);
    font-size: 15px;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select:after {
    right: 20px;
    border-bottom-color: rgba(255, 255, 255, .55);
    border-right-color: rgba(255, 255, 255, .55);
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select.open,
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select:focus {
    border-color: #6FB4FF !important;
    background: rgba(255, 255, 255, .12) !important;
    box-shadow: 0 0 0 3px rgba(78, 168, 255, .18);
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .list {
    margin-top: 6px;
    padding: 8px 0;
    max-height: 240px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: #0B2350;
    box-shadow: 0 20px 48px rgba(2, 10, 32, .5);
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .option {
    color: rgba(232, 242, 255, .82);
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .option:hover,
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .option.focus,
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .option.selected.focus {
    background: rgba(61, 155, 255, .22);
    color: #fff;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .option.selected {
    background: rgba(61, 155, 255, .32);
    color: #fff;
}
body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select .nice-select-search-box {
    display: none;
}

/* Бутон: градиент, сянка, микро-движение. */
body.home #sec1 .hero-inputs-wrap .main-search-button {
    position: relative !important;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100% !important;
    height: 52px !important;
    line-height: 52px !important;
    margin-top: 4px;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #1E90FF 0%, #0056C8 100%) !important;
    box-shadow: 0 12px 26px rgba(0, 86, 200, .32) !important;
    font-size: 15px !important;
    font-weight: 700;
    letter-spacing: .2px;
    cursor: pointer !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
body.home #sec1 .hero-inputs-wrap .main-search-button:hover,
body.home #sec1 .hero-inputs-wrap .main-search-button:focus-visible {
    cursor: pointer !important;
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(0, 86, 200, .42) !important;
    filter: brightness(1.06);
}
body.home #sec1 .hero-inputs-wrap .main-search-button i {
    color: #fff !important;
}

/* По-широка карта на десктоп/таблет: трите полета са в един ред, бутонът
   отдолу — така херо секцията става значително по-ниска. */
@media only screen and (min-width: 768px) {
    body.home #sec1 .main-search-form-wrap {
        max-width: 860px;
        padding: 20px;
    }
    body.home #sec1 .bc-search-head {
        margin-bottom: 14px;
    }
    body.home #sec1 .hero-inputs-wrap {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    body.home #sec1 .hero-inputs-wrap .main-search-button {
        grid-column: 1 / -1;
        margin-top: 2px;
    }
}

/* Стрелката „надолу“ — бял кръг, който стърчи наполовина под hero секцията
   и леко я подрязва (долната половина е върху следващата секция). */
body.home #sec1 .header-sec-link {
    z-index: 60;
}
/* Изрязваме полукръг в долния ръб на фона/овърлея, за да „седне“ кръгът
   в отвор, вместо просто да лежи отгоре. */
body.home #sec1 .hero-section > .hero-bg-wrap,
body.home #sec1 .hero-section > .overlay {
    -webkit-mask-image: radial-gradient(circle 32px at 50% 100%, transparent calc(100% - 1.5px), #000 100%);
    mask-image: radial-gradient(circle 32px at 50% 100%, transparent calc(100% - 1.5px), #000 100%);
}
body.home #sec1 .header-sec-link a {
    width: 44px;
    height: 44px;
    line-height: 44px;
    margin-left: -22px;
    bottom: -22px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid rgba(0, 86, 200, .32);
    box-shadow: 0 10px 24px rgba(2, 10, 32, .3);
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
body.home #sec1 .header-sec-link a:after {
    display: none;
}
body.home #sec1 .header-sec-link a i {
    font-size: 16px;
    color: #0056C8;
}
body.home #sec1 .header-sec-link a:hover {
    background: #0078F0;
    border-color: #0078F0;
    box-shadow: 0 12px 28px rgba(0, 86, 200, .4);
}
body.home #sec1 .header-sec-link a:hover i {
    color: #fff;
}

/* --- Адаптив --- */
@media only screen and (max-width: 1199px) {
    body.home #sec1 .intro-item h1 {
        max-width: 24ch;
    }
}
@media only screen and (max-width: 1064px) {
    .bc-hero-grid {
        gap: 28px;
    }
    body.home #sec1 .intro-item h1 {
        font-size: clamp(32px, 5.2vw, 46px);
        max-width: 24ch;
    }
}
@media only screen and (max-width: 767px) {
    body.home #sec1 .hero-section {
        padding: 32px 0 76px !important;
    }
    body.home #sec1 .container.small-container {
        padding-left: 18px;
        padding-right: 18px;
    }
    .bc-hero-grid {
        gap: 24px;
    }
    body.home #sec1 .intro-item h1 {
        margin-bottom: 12px;
        font-size: clamp(28px, 7.4vw, 36px);
        line-height: 1.12;
        letter-spacing: -.4px;
        max-width: none;
    }
    body.home #sec1 .hero-subtitle {
        font-size: 15px;
        line-height: 1.6;
        max-width: none;
    }
    body.home #sec1 .main-search-form-wrap {
        padding: 18px;
        border-radius: 16px;
    }
    body.home #sec1 .hero-inputs-wrap .filter-gid-item,
    body.home #sec1 .hero-inputs-wrap .filter-gid-item input[type="text"],
    body.home #sec1 .hero-inputs-wrap .filter-gid-item .location-input,
    body.home #sec1 .hero-inputs-wrap .filter-gid-item .nice-select {
        height: 50px !important;
        line-height: 48px;
    }
    body.home #sec1 .hero-inputs-wrap .filter-gid-item .flabel-icon {
        height: 50px;
    }
    body.home #sec1 .nearby-input-wrap .get-current-city {
        top: 10px;
    }
    body.home #sec1 .hero-inputs-wrap .main-search-button {
        height: 50px !important;
        line-height: 50px !important;
    }
}

/* --- CTA секция („Добавете своя бизнес“): ново фоново изображение.
   Секцията е .elementor-element-27c6955; фонът идва от Elementor CSS и се
   презаписва тук, за да не се пипат vendor файловете. --- */
body.home .elementor-element-27c6955:not(.elementor-motion-effects-element-type-background),
body.home .elementor-element-27c6955 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: url("../img/home-cta.webp") !important;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* ==========================================================================
   Вариант A „Сляв ритъм“ — визуално от differentiating от сайтовете на
   конкурентите (същият темплейт): заглавията на секциите вече са вляво
   подравнени с вертикална акцентна лента (вместо центрирани + линия),
   иконите на категориите са в плочки, картите са по-плоски, а в hero-то
   има eyebrow и лента с числа.
   ========================================================================== */

/* --- Заглавия на секциите: вляво + вертикална акцентна лента --- */
.section-title {
    max-width: 760px;
    margin: 0 auto 4px;
    padding-bottom: 34px;
    text-align: left;
}
.section-title h1,
.section-title h2 {
    text-align: left;
    border-left: 4px solid #0078F0;
    padding-left: 18px;
}
.section-subtitle {
    text-align: left;
    margin: 10px 0 0 22px;
}
.section-title p {
    text-align: left;
    margin: 8px 0 0 22px;
    max-width: 640px;
}
.section-separator {
    display: none !important;
}

/* --- Категории: икони в плочки, по-плоски карти, друг hover --- */
.home-cat-link {
    border-radius: 12px;
    box-shadow: 0 2px 6px rgba(31, 45, 86, .04);
}
.home-cat-ico {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #F1F6FF;
}
.home-cat-ico img {
    width: 34px;
    height: 34px;
}
.home-cat-link:hover,
.home-cat-link:focus {
    transform: translateX(4px);
    border-color: #BFD9F7;
    box-shadow: inset 3px 0 0 #0078F0, 0 12px 28px rgba(31, 45, 86, .10);
}

/* --- Hero: търсенето с по-остри ъгли + eyebrow над H1 --- */
body.home #sec1 .main-search-form-wrap {
    border-radius: 14px;
}
.bc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 auto 16px;
    padding: 8px 16px;
    width: fit-content;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    background: rgba(255, 255, 255, .10);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
}
.bc-eyebrow i {
    color: #7FB4FF;
}

/* --- Лента с числа (между hero и категории) — премахната по заявка --- */

@media only screen and (max-width: 600px) {
    .section-title h1,
    .section-title h2 {
        padding-left: 14px;
    }
    .section-subtitle,
    .section-title p {
        margin-left: 18px;
    }
}

/* ==========================================================================
   „По-подредена“ секция: заглавията стават вляво, цвят и ясна йерархия,
   тънка линия под заглавието и еднакви, подредени карти в „Категории“.
   ========================================================================== */
.section-title {
    max-width: none;
    margin: 0 0 4px;
    padding-bottom: 22px;
    border-bottom: 1px solid #E9EEF6;
    text-align: left;
}
.section-title h1,
.section-title h2 {
    color: #0A1E52;
    font-size: 30px;
    font-weight: 800;
}
.section-subtitle {
    margin: 12px 0 0 22px;
}
.section-title p {
    margin: 8px 0 0 22px;
    max-width: 640px;
}

/* --- „Категории“: подредени карти (еднаква височина, ясна йерархия) --- */
#categories .home-cat-link {
    padding: 24px 22px 50px;
}
#categories .home-cat-ico {
    margin-bottom: 8px;
    background: none;
    border-radius: 0;
}
#categories .home-cat-ico img {
    width: 56px;
    height: 56px;
}
#categories .home-cat-name {
    font-size: 1.04em;
    font-weight: 700;
    line-height: 1.3;
    color: #0A1E52;
}
#categories .home-cat-meta {
    font-size: .78em;
    color: #8A97AB;
}
#categories .home-cat-go {
    width: 32px;
    height: 32px;
    line-height: 32px;
    background: #F1F6FF;
    color: #0078F0;
}
#categories .home-cat-link:hover .home-cat-go {
    background: #0078F0;
    color: #fff;
}

/* ==========================================================================
   Центрирани заглавия под „Категории“ (класически изглед: заглавие + текст)
   ========================================================================== */
#categories .section-title,
#sec2 .section-title,
#cities .section-title,
#reviews .section-title {
    max-width: 780px;
    margin: 0 auto 26px;
    padding-bottom: 0;
    border-bottom: 0;
    text-align: center;
}
#categories .section-title h2,
#sec2 .section-title h2,
#cities .section-title h2,
#reviews .section-title h2 {
    padding-left: 0;
    border-left: 0;
    font-size: 30px;
    font-weight: 800;
    color: #0A1E52;
    text-align: center;
}
#categories .section-title h2::after,
#sec2 .section-title h2::after,
#cities .section-title h2::after,
#reviews .section-title h2::after {
    content: '';
    display: block;
    width: 46px;
    height: 3px;
    margin: 12px auto 0;
    background: #0078F0;
    border-radius: 2px;
}
#categories .section-subtitle,
#sec2 .section-subtitle,
#cities .section-subtitle,
#reviews .section-subtitle {
    margin: 14px 0 0;
    text-align: center;
}
#categories .section-title p,
#sec2 .section-title p,
#cities .section-title p,
#reviews .section-title p {
    margin: 10px auto 0;
    max-width: 680px;
    text-align: center;
}

/* --- Плавно прескачане (бутонът под hero-а вече води към футъра) --- */
html {
    scroll-behavior: smooth;
}

/* ==========================================================================
   Модал „Вход / Регистрация“ — нов вид
   (бренд лента, сегментирани табове, по-чисти полета, по-ясна йерархия)
   ========================================================================== */
#ctb-logreg-modal.ctb-modal-wrap {
    background: rgba(8, 22, 56, .74);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}
#ctb-logreg-modal .ctb-modal-holder {
    max-width: 440px;
    margin: 60px auto 40px;
}
#ctb-logreg-modal .ctb-modal-inner {
    padding: 0;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(6, 20, 50, .45);
    overflow: hidden;
}

/* --- Горна лента с бренда: „Влезте“ + логото, центрирано --- */
#ctb-logreg-modal .ctb-modal-title {
    position: relative;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    display: block;
    width: 100%;
    height: auto;
    line-height: 1.3;
    padding: 18px 26px 16px;
    background: linear-gradient(135deg, #15479B 0%, #0C2C70 52%, #071539 100%);
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
}
#ctb-logreg-modal .ctb-modal-head {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    vertical-align: middle;
}
#ctb-logreg-modal .ctb-modal-lead {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: #fff;
    opacity: .95;
}
/* Логото — без фон, само логото, точно центрирано до „Влезте“ */
#ctb-logreg-modal .ctb-modal-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: none;
    box-shadow: none;
    position: relative;
    left: -12px;
}
#ctb-logreg-modal .ctb-modal-logo img {
    display: block;
    height: 50px;
    width: auto;
    max-width: 250px;
    object-fit: contain;
}
#ctb-logreg-modal .ctb-modal-title .auth-brand {
    color: #fff;
    text-transform: none;
    font-weight: 800;
}
#ctb-logreg-modal .ctb-modal-title .auth-cat {
    color: #8FD0FF;
    text-transform: none;
}
#ctb-logreg-modal .ctb-modal-title::after {
    content: 'Влезте в профила си и управлявайте бизнеса си в каталога.';
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 400;
    color: rgba(255, 255, 255, .82);
    text-align: center;
}

/* --- Затваряне --- */
#ctb-logreg-modal .ctb-modal-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 34px;
    height: 34px;
    line-height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    text-align: center;
    transition: background .18s ease, transform .18s ease;
}
#ctb-logreg-modal .ctb-modal-close:hover {
    background: rgba(255, 255, 255, .28);
    color: #fff;
    transform: rotate(90deg);
}

/* --- Табове (сегментиран контрол) --- */
#ctb-logreg-modal .ctb-modal-inner .tabs-wrapper {
    margin-top: 0;
    padding: 0;
}
#ctb-logreg-modal .main-register .tabs-menu {
    display: flex;
    gap: 8px;
    margin: 0 0 18px;
    padding: 20px 26px 0;
    border-bottom: 0;
}
#ctb-logreg-modal .tabs-menu li {
    flex: 1 1 0;
    width: auto;
    margin: 0;
    border-bottom: 0 !important;
}
#ctb-logreg-modal .tabs-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 10px;
    border-radius: 12px;
    background: #F1F5FB;
    border: 1px solid #E6EDF6;
    color: #5A6F8E;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .1px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#ctb-logreg-modal .tabs-menu a:hover,
#ctb-logreg-modal .tabs-menu a:focus-visible {
    background: #E6F1FD;
    border-color: #C9DDF7;
    color: #0056C8;
    transform: none;
}
#ctb-logreg-modal .tabs-menu li.current a {
    background: linear-gradient(135deg, #0078F0, #0056C8);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 8px 18px rgba(0, 120, 240, .30);
}
#ctb-logreg-modal .tabs-menu a i { color: inherit; }

/* --- Формуляр --- */
#ctb-logreg-modal .ctb-modal-inner .tabs-container {
    padding: 20px 26px 26px;
}
#ctb-logreg-modal .custom-form label {
    position: static;
    display: block;
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 600;
    color: #3D5273;
}
#ctb-logreg-modal .custom-form input[type="text"],
#ctb-logreg-modal .custom-form input[type="email"],
#ctb-logreg-modal .custom-form input[type="password"] {
    display: block;
    width: 100%;
    height: 48px;
    padding: 0 16px;
    margin: 0 0 12px;
    border: 1px solid #E1E8F2;
    border-radius: 12px;
    background: #F7FAFD;
    color: #0A1E52;
    font-size: 15px;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
#ctb-logreg-modal .custom-form input[type="text"]:hover,
#ctb-logreg-modal .custom-form input[type="email"]:hover,
#ctb-logreg-modal .custom-form input[type="password"]:hover {
    border-color: #C4D8EA;
}
#ctb-logreg-modal .custom-form input[type="text"]:focus,
#ctb-logreg-modal .custom-form input[type="email"]:focus,
#ctb-logreg-modal .custom-form input[type="password"]:focus {
    background: #fff;
    border-color: #0078F0;
    box-shadow: 0 0 0 4px rgba(0, 120, 240, .12);
    outline: none;
}
#ctb-logreg-modal .reg-intro {
    margin: 0 0 18px;
    font-size: 13.5px;
    color: #5A6F8E;
}

/* --- „Забравена парола?“ --- */
#ctb-logreg-modal .lost_password {
    margin: -4px 0 16px;
    float: none;
    text-align: right;
}
#ctb-logreg-modal .lost_password a {
    float: none;
    display: inline-block;
}
#ctb-logreg-modal .lost-password {
    color: #0078F0;
    font-size: 13.5px;
    font-weight: 600;
}
#ctb-logreg-modal .lost-password:hover { color: #0056C8; }

/* --- Бутон за вход/регистрация --- */
#ctb-logreg-modal .log-submit-btn {
    width: 100%;
    height: 52px;
    margin-top: 2px;
    padding: 0;
    border-radius: 12px;
    background: linear-gradient(135deg, #0078F0, #0056C8);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .2px;
    box-shadow: 0 12px 24px rgba(0, 120, 240, .26);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
#ctb-logreg-modal .log-submit-btn:hover {
    background: linear-gradient(135deg, #0A86F7, #0056C8);
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(0, 120, 240, .32);
    filter: none;
}
#ctb-logreg-modal .log-submit-btn:active { transform: translateY(0); }

/* --- „Запомни ме“ --- */
#ctb-logreg-modal .ctb-modal-inner .filter-tags {
    margin-top: 16px;
    font-size: 13.5px;
    color: #5A6F8E;
}
#ctb-logreg-modal .filter-tags input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 8px 0 0;
    accent-color: #0078F0;
}
#ctb-logreg-modal .bc-reset-back { color: #566985; }
#ctb-logreg-modal .bc-reset-back:hover { color: #0078F0; }

@media only screen and (max-width: 480px) {
    #ctb-logreg-modal .ctb-modal-holder { margin: 30px auto 30px; }
    #ctb-logreg-modal .ctb-modal-title { padding: 16px 16px 14px; font-size: 16px; }
    #ctb-logreg-modal .ctb-modal-head { gap: 7px; }
    #ctb-logreg-modal .ctb-modal-lead { font-size: 15px; letter-spacing: .4px; }
    #ctb-logreg-modal .ctb-modal-logo { padding: 0; }
    #ctb-logreg-modal .ctb-modal-logo img { height: 38px; max-width: 190px; }
    #ctb-logreg-modal .tabs-menu { padding: 16px 20px 0; }
    #ctb-logreg-modal .ctb-modal-inner .tabs-container { padding: 16px 20px 22px; }
}

/* ==========================================================================
   ТЯЛО НА СТРАНИЦИТЕ: бяло вместо тъмносиньото
   Темата дава body { background:#2e3f6e } (и предишният override беше
   #0A1E52 за цялото тяло) — вътрешните страници изглеждаха сини.
   Началната страница има собствен фон на всяка секция, затова за нея няма
   разлика. html остава тъмносин, за да не остава бяла ивица под футъра
   на страници, по-ниски от екрана.
   ========================================================================== */
html { background: var(--bc-header); }
body {
    background: #FFFFFF !important;
    height: auto;   /* темата: height:100% -> тялото беше само един екран */
}