/**
 * Загальний дизайн сайту: шапка, сторінки, контент.
 */

/* ---------- Шапка ---------- */

/* логотип: круг у центрі зеленої смуги */

body #logo.menu__home {
    position: absolute !important;
    top: -9px !important;
    left: 0 !important;
    width: 96px !important;
    height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5;
}

body #logo.menu__home .logo-blue {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 96px !important;
    height: 96px !important;
    padding: 8px !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow:
        0 0 0 3px rgba(147, 214, 96, 0.55),
        0 14px 26px -16px rgba(0, 0, 0, 0.55) !important;
    overflow: hidden !important;
}

body #logo.menu__home .logo-blue span {
    display: none !important;
}

body #logo.menu__home .logo-blue svg {
    width: 80px !important;
    height: 80px !important;
    max-height: 80px !important;
    filter: none !important;
}

/* пошук: кругла кнопка-перемикач + кругла кнопка в панелі */

body .quick-search {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body .quick-search__toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex: 0 0 36px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #93d660 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

body .quick-search__toggle:hover {
    background: #a8e57a !important;
    transform: scale(1.05);
}

body .quick-search__toggle span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 50% !important;
}

body .quick-search__toggle svg {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
}

body .quick-search__toggle svg path,
body .quick-search__toggle svg circle,
body .quick-search__toggle svg polygon {
    fill: #0f2912 !important;
}

body .quick-search__controls {
    background: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 3px 3px 3px 16px !important;
    max-width: 300px !important;
    box-shadow: 0 14px 30px -18px rgba(0, 0, 0, 0.55) !important;
}

body .quick-search__input {
    background: transparent !important;
    border: 0 !important;
    color: #1d5233 !important;
    font-size: 13px !important;
    padding: 8px 6px !important;
}

body .quick-search__input::placeholder {
    color: #7c8b82 !important;
}

body .quick-search__submit {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    flex: 0 0 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background: #25603c !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
}

body .quick-search__submit span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    padding: 0 !important;
    background: transparent !important;
}

body .quick-search__submit svg {
    width: 16px !important;
    height: 16px !important;
}

body .quick-search__submit svg path,
body .quick-search__submit svg circle,
body .quick-search__submit svg polygon {
    fill: #fff !important;
}

/* ---------- Сторінки ---------- */

body.page,
body.single {
    background: #f7f9f5;
}

body.page main > .container,
body.single main > .container {
    max-width: 1180px;
}

body.page main .row > [class*="col-lg-8"],
body.page main .row > [class*="col-lg-9"],
body.single main .row > [class*="col-lg-8"],
body.single main .row > [class*="col-lg-9"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.page main .row > [class*="offset-"],
body.single main .row > [class*="offset-"] {
    margin-left: 0 !important;
}

body.page .single-post-content > .single-post-content__title,
body.single .single-post-content > .single-post-content__title {
    margin: 0 0 26px;
    padding: 42px 34px 36px;
    border-radius: 22px;
    background: linear-gradient(135deg, #0f2912 0%, #1d5233 58%, #2f7147 100%);
    color: #fff !important;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.02em;
    box-shadow: 0 24px 48px -34px rgba(15, 41, 18, 0.85);
}

body.page .single-post-content__full,
body.single .single-post-content__full {
    max-width: 900px;
    margin: 0 auto;
    font-size: 15.5px;
    line-height: 1.7;
    color: #2a3a30;
}

body.page .single-post-content__full h2,
body.single .single-post-content__full h2 {
    margin: 34px 0 14px;
    font-size: clamp(21px, 2.4vw, 27px);
    font-weight: 700;
    letter-spacing: -0.015em;
    color: #1d5233;
}

body.page .single-post-content__full h3,
body.single .single-post-content__full h3 {
    margin: 26px 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: #25603c;
}

body.page .single-post-content__full a,
body.single .single-post-content__full a {
    color: #25603c;
    text-decoration: none;
    border-bottom: 1px solid rgba(37, 96, 60, 0.28);
    transition: color 0.2s ease, border-color 0.2s ease;
}

body.page .single-post-content__full a:hover,
body.single .single-post-content__full a:hover {
    color: #478f29;
    border-color: #478f29;
}

body.page .single-post-content__full img,
body.single .single-post-content__full img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}

body.page .single-post-content__full ul,
body.page .single-post-content__full ol,
body.single .single-post-content__full ul,
body.single .single-post-content__full ol {
    padding-left: 22px;
}

body.page .single-post-content__full li,
body.single .single-post-content__full li {
    margin-bottom: 8px;
}

body.page .single-post-content__full table,
body.single .single-post-content__full table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 14px;
}

body.page .single-post-content__full th,
body.single .single-post-content__full th {
    background: #eef4ee;
    color: #1d5233;
    text-align: left;
    padding: 10px 12px;
    border: 1px solid rgba(15, 41, 18, 0.12);
}

body.page .single-post-content__full td,
body.single .single-post-content__full td {
    padding: 10px 12px;
    border: 1px solid rgba(15, 41, 18, 0.12);
}

/* хлібні крихти */

.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span {
    font-size: 12px;
    color: #7c8b82;
}

.breadcrumbs a:hover {
    color: #478f29;
}

/* ---------- Архіви ---------- */

body.archive main,
body.search main {
    background: #f7f9f5;
}


/* заголовки всередині контенту не мають ставати баннерами */

body.page .single-post-content__full .single-post-content__title,
body.single .single-post-content__full .single-post-content__title {
    background: none !important;
    padding: 0 !important;
    margin: 30px 0 12px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #1d5233 !important;
    font-size: clamp(20px, 2.3vw, 26px) !important;
    line-height: 1.3 !important;
    text-align: left !important;
}

/* ---------- Мобільна шапка ---------- */

@media (max-width: 991px) {
    body #logo.menu__home {
        width: 74px !important;
        height: 74px !important;
        top: 0 !important;
        left: 50% !important;
        margin: 0 !important;
        transform: translateX(-50%) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body #logo.menu__home .logo-blue {
        width: 74px !important;
        height: 74px !important;
        padding: 5px !important;
    }

    body #logo.menu__home .logo-blue svg {
        width: 62px !important;
        height: 62px !important;
        max-height: 62px !important;
    }
}

/* мобільна версія: логотип може бути клоном меню без id */

@media (max-width: 991px) {
    body .menu__home {
        width: 74px !important;
        height: 74px !important;
        top: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body .menu__home .logo-blue {
        width: 74px !important;
        height: 74px !important;
        padding: 5px !important;
        border-radius: 50% !important;
        background: #fff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 0 0 3px rgba(147, 214, 96, 0.5) !important;
    }

    body .menu__home .logo-blue svg {
        width: 62px !important;
        height: 62px !important;
        max-height: 62px !important;
    }

    body .menu__home .logo-blue span {
        display: none !important;
    }
}

/* сторінки з власним hero: без дублювання заголовка */

body.smm-has-hero .single-post-content > .single-post-content__title {
    display: none !important;
}

body.smm-has-hero .single-post-content__full {
    max-width: 1180px;
}
