/*
Theme Name: Sensum Theme
Author: Krot Agency
Description: Later...
Tags:
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.0
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sensum-theme
*/

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
    margin: 0.67em 0;
    font-size: 2em;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
    border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
    margin: 0; /* 2 */
    font-family: inherit; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
    display: table; /* 1 */
    box-sizing: border-box; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    color: inherit; /* 2 */
    white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
    outline-offset: -2px; /* 2 */
    -webkit-appearance: textfield; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
    font: inherit; /* 2 */
    -webkit-appearance: button; /* 1 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
    display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
    display: none;
}

/*! END normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/*
 *
 *
 *
 *
 */

/* Theme Styles
   ========================================================================== */

:root {
    --content-width: 90rem;
    --wide-width: 100rem;

    --brand-color-01: var(--wp--preset--color--brand-01, #6780B2);
    --brand-color-02: var(--wp--preset--color--brand-02, #C8D7E9);
    --brand-color-03: var(--wp--preset--color--brand-03, #BCD6BE);
    --brand-color-04: var(--wp--preset--color--brand-04, #F6F5F1);
    --brand-color-01--hover: var(--wp--preset--color--accent-01, #4D6698);
    --brand-color-02--hover: var(--wp--preset--color--accent-02, #A4BDDB);
    --brand-color-03--hover: var(--wp--preset--color--accent-03, #9DC3A0);
    --white: var(--wp--preset--color--white, #ffffff);
    --dark: var(--wp--preset--color--dark, #03112D);

    --radius-xl: var(--wp--custom--radius--xl, 2rem);
    --radius-lg: var(--wp--custom--radius--lg, 1.5rem);
    --radius-md: var(--wp--custom--radius--md, 1rem);
    --radius-sm: var(--wp--custom--radius--sm, .5rem);

    --border-width: 2px;

    --container-padding: 1rem;
}

* {
    box-sizing: border-box;
}

html {
    font-size: 16px;
}

body,
.editor-styles-wrapper {
    background: var(--brand-color-04);
    font-family: var(--wp--preset--font-family--nunito);
    font-size: var(--wp--preset--font-size--md);
    font-weight: 400;
    font-style: normal;
    line-height: 1.5em;
    font-optical-sizing: auto;
}

a, button, input {
    transition: all .3s ease;
}

.container {
    max-width: calc(1440px + 2 * var(--container-padding));
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: calc(1rem - (var(--border-width) / 2)) calc(2rem - (var(--border-width) / 2));
    color: var(--white);
    background-color: var(--brand-color-01);
    border: 2px solid var(--brand-color-01);
    border-radius: var(--radius-xl);
    outline: none;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1em;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.button:hover,
.button:focus {
    background-color: var(--brand-color-01--hover);
    border-color: var(--brand-color-01--hover);
}

.button:disabled,
.button[disabled="disabled"],
.button.disabled {
    opacity: .5;
    pointer-events: none;
}

.button.outlined {
    color: var(--brand-color-01);
    background-color: transparent;
    border-color: var(--brand-color-01);
}

.button.outlined:hover,
.button.outlined:focus {
    color: var(--white);
    background-color: var(--brand-color-01--hover);
    border-color: var(--brand-color-01--hover);
}

.button.secondary {
    color: var(--brand-color-01);
    background-color: var(--brand-color-02);
    border-color: var(--brand-color-02);
}

.button.secondary:hover,
.button.secondary:focus {
    background-color: var(--brand-color-02--hover);
    border-color: var(--brand-color-02--hover);
}

.button.secondary.outlined {
    color: var(--brand-color-02);
    background-color: transparent;
    border-color: var(--brand-color-02);
}

.button.secondary.outlined:hover,
.button.secondary.outlined:focus {
    color: var(--brand-color-01);
    background-color: var(--brand-color-02--hover);
    border-color: var(--brand-color-02--hover);
}

.button.tertiary {
    color: var(--white);
    background-color: var(--brand-color-03);
    border-color: var(--brand-color-03);
}

.button.tertiary:hover,
.button.tertiary:focus {
    background-color: var(--brand-color-03--hover);
    border-color: var(--brand-color-03--hover);
}

.button.tertiary.outlined {
    color: var(--brand-color-03);
    background-color: transparent;
    border-color: var(--brand-color-03);
}

.button.tertiary.outlined:hover,
.button.tertiary.outlined:focus {
    color: var(--white);
    background-color: var(--brand-color-03--hover);
    border-color: var(--brand-color-03--hover);
}

.button.lg {
    padding: calc(1.25rem - (var(--border-width) / 2)) calc(3rem - (var(--border-width) / 2));
    font-size: 1.125rem;
}

.button.md {
    padding: calc(1rem - (var(--border-width) / 2)) calc(2rem - (var(--border-width) / 2));
}

.button.sm {
    padding: calc(.75rem - (var(--border-width) / 2)) calc(1.5rem - (var(--border-width) / 2));
    font-size: .875rem;
    letter-spacing: .002em;
}

.button.xs {
    padding: calc(.5rem - (var(--border-width) / 2)) calc(1rem - (var(--border-width) / 2));
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .003em;
}

.site-header {
    margin-bottom: 1.25rem;
    background: var(--white);

    .header-top {
        padding: 1.5rem 0 0;

        .__inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid rgba(0, 0, 0, .03);
            gap: 2rem;
        }

        .header-top--content {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 2rem;
        }

        .dropdown {
            position: relative;

            .dropdown__trigger {
                display: flex;
                flex-direction: column;
                color: var(--wp--preset--color--dark);
                font-size: var(--wp--preset--font-size--sm);
                font-weight: 700;
                line-height: 1em;
                list-style: none;
                cursor: pointer;
                gap: 0;

                div:first-child {
                    display: inline-flex;
                    align-items: center;
                    justify-content: space-between;
                    gap: .25rem;

                    svg {
                        color: var(--wp--preset--color--brand-02);
                    }
                }

                div + div {
                    opacity: .5;
                    font-size: var(--wp--preset--font-size--xs);
                    font-weight: 500;
                }

                a {
                    color: var(--wp--preset--color--dark);
                    text-decoration: none;

                    &:hover {
                        color: var(--wp--preset--color--brand-01);
                    }
                }
            }

            ul {
                position: absolute;
                display: none;
                right: 0;
                flex-direction: column;
                margin: 0;
                padding: 0;
                background: var(--wp--preset--color--white);
                border-radius: var(--wp--custom--radius--sm);
                box-shadow: 0 4px 25px rgba(0, 0, 0, .05);
                list-style: none;
                overflow: hidden;
                z-index: 2;
                gap: 0;

                li {
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-start;
                    color: var(--wp--preset--color--dark);
                    border-bottom: 1px solid var(--wp--preset--color--brand-04);
                    font-size: var(--wp--preset--font-size--sm);
                    font-weight: 700;
                    line-height: 1em;
                    white-space: nowrap;
                    gap: .25rem;

                    &:last-child {
                        border-bottom: none;
                    }

                    a {
                        display: flex;
                        flex-direction: column;
                        justify-content: flex-start;
                        padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
                        text-decoration: none;

                        &:hover {
                            color: var(--wp--preset--color--dark);
                            background: var(--wp--preset--color--brand-02);
                        }
                    }

                    span:first-child {
                        margin-bottom: .25rem;
                    }

                    span + span {
                        opacity: .5;
                        font-size: var(--wp--preset--font-size--xs);
                        font-weight: 500;
                    }

                    a {
                        color: var(--wp--preset--color--dark);
                        white-space: nowrap;
                        text-decoration: none;

                        &:hover{
                            color: var(--wp--preset--color--brand-dark);
                        }
                    }
                }
            }

            &:hover {
                ul {
                    display: flex;
                }
            }
        }

        .__cta {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 1rem;
        }
    }

    .header-bottom {
        height: 3.75rem;
        padding: .5rem 0;

        .__inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 2rem;
        }

        a {
            color: var(--dark);
            font-size: 1rem;
            font-weight: 700;
            line-height: 1em;
            text-decoration: none;

            &:hover {
                color: var(--wp--preset--color--brand-01);
            }
        }

        .header-bottom--declaration {
            padding: .5rem 3rem .5rem 0;
            border-right: 1px solid rgba(0, 0, 0, .03);
        }

        .header-bottom--menu {
            display: flex;
            flex: 1;
            align-items: center;
            justify-content: space-between;
            margin: 0;
            padding: 0 0 0 1rem;
            list-style: none;
            gap: 2rem;

            li {
                position: relative;

                &:last-child {
                    border-bottom: none;
                }

                a {
                    display: flex;
                    align-items: center;
                    justify-content: flex-start;
                    padding: calc(var(--wp--preset--spacing--16) / 2) 0;
                    white-space: nowrap;
                }

                &.current-menu-item,
                &.current-menu-ancestor,
                &.current-menu-parent,
                &.current-post-ancestor{
                    & > a {
                        color: var(--wp--preset--color--brand-01);
                    }
                }

                &.menu-item-has-children {
                    & > a {
                        padding-right: calc(var(--wp--preset--spacing--24) - .25rem);

                        &::after {
                            position: absolute;
                            content: "";
                            right: -6px;
                            width: var(--wp--preset--spacing--24);
                            height: var(--wp--preset--spacing--24);
                            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' stroke='%23C8D7E9' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
                            background-repeat: no-repeat;
                            background-position: center;
                            background-size: contain;
                        }
                    }

                    &:hover {
                        & > a {
                            color: var(--wp--preset--color--brand-01);
                        }

                        .sub-menu {
                            display: block;
                        }
                    }
                }
            }
        }

        .sub-menu {
            position: absolute;
            display: none;
            left: 0;
            flex-direction: column;
            margin: 0;
            padding: 0;
            background: var(--wp--preset--color--white);
            border-radius: var(--wp--custom--radius--sm);
            box-shadow: 0 4px 25px rgba(0, 0, 0, .05);
            list-style: none;
            overflow: hidden;
            z-index: 2;
            gap: 0;

            li {
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
                padding: calc(var(--wp--preset--spacing--16) / 2) var(--wp--preset--spacing--24);
                color: var(--wp--preset--color--dark);
                border-bottom: 1px solid var(--wp--preset--color--brand-04);
                font-size: var(--wp--preset--font-size--sm);
                font-weight: 700;
                line-height: 1em;
                white-space: nowrap;
                transition: all .3s ease;
                gap: .25rem;

                &:hover,
                &.current-menu-item {
                    background: var(--wp--preset--color--brand-02);

                    a {
                        color: var(--wp--preset--color--dark);
                    }
                }
            }
        }
    }
}

.page-template-page-about .site-header {
    margin-bottom: 0;
    border-bottom: 1px solid rgba(0, 0, 0, .03);
}

.block-title__wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 3rem;
}

.block-title__wrap .block-title {
    margin: 0;
    font-size: var(--wp--preset--font-size--xxl);
    font-weight: 700;
    line-height: 1em;
}

.swiper-navigation {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    gap: 0;
}

.swiper-navigation .swiper-button-prev,
.swiper-navigation .swiper-button-next {
    position: relative;
    top: unset !important;
    right: unset !important;
    bottom: unset !important;
    left: unset !important;
    width: auto;
    height: auto;
    margin: 0 !important;
    color: var(--wp--preset--color--brand-01);
    background: var(--wp--preset--color--white);
    transform: unset !important;
}

.swiper-navigation .swiper-button-prev svg,
.swiper-navigation .swiper-button-next svg {
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    fill: none;
}

.swiper-navigation .swiper-button-prev:hover,
.swiper-navigation .swiper-button-next:hover {
    color: var(--wp--preset--color--brand-01);
    background: var(--wp--preset--color--brand-02);
}

.swiper-navigation .swiper-button-prev {
    padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--16) var(--wp--preset--spacing--16) var(--wp--preset--spacing--24);
    border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.swiper-navigation .swiper-button-next {
    padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--24) var(--wp--preset--spacing--16) var(--wp--preset--spacing--16);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.declaration-box {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    order: 4;
    height: 100%;
    padding: var(--wp--preset--spacing--24);
    background: var(--brand-color-02);
    border-radius: var(--radius-lg);
    gap: 1rem;
}

.declaration-box__content {
    padding-right: var(--wp--preset--spacing--16);
    color: var(--wp--preset--color--dark);
    font-size: var(--wp--preset--font-size--sm);
    font-weight: 500;
    line-height: 1.25em;
}

.declaration-box__content h3 {
    margin: 0 0 var(--wp--preset--spacing--24);
    color: var(--wp--preset--color--brand-01);
    font-size: var(--wp--preset--font-size--xl);
    font-weight: 900;
    line-height: 1em;
    text-wrap: balance;
}

.declaration-box__content ul,
.declaration-box__content p {
    margin: 0 0 calc(var(--wp--preset--spacing--16) / 2);
}

.declaration-box__content ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0;
    list-style: none;
    gap: .5rem;
}

.declaration-box__content ul li {
    position: relative;
    padding-left: var(--wp--preset--spacing--24);
}

.declaration-box__content ul li:before {
    position: absolute;
    content: '';
    top: 11px;
    left: 0;
    width: 1rem;
    height: 1px;
    background: var(--wp--preset--color--brand-01);
}

.declaration-box .button {
    width: 100%;
    margin: 0;
}

.site-footer {
    margin: 0;
    color: var(--wp--preset--color--white);
    background: var(--wp--preset--color--brand-01);

    .footer-top {
        padding: var(--wp--preset--spacing--60) 0;

        .__inner {
            display: grid;
            grid-template-columns: auto 300px 210px 210px;
            gap: var(--wp--preset--spacing--120);
        }
    }

    a {
        color: var(--wp--preset--color--white);
        text-decoration: none;

        &:hover {
            color: var(--wp--preset--color--brand-02);
        }
    }

    .footer-column {
        h3 {
            margin: 0 0 var(--wp--preset--spacing--24);
            color: var(--wp--preset--color--brand-02);
            font-size: var(--wp--preset--font-size--sm);
            font-weight: 700;
            line-height: 1em;
        }

        ul {
            display: flex;
            flex-direction: column;
            margin: 0;
            padding: 0;
            list-style: none;
            gap: calc(var(--wp--preset--spacing--16) / 2);

            li {
                a {
                    display: block;
                    font-size: var(--wp--preset--font-size--sm);
                    font-weight: 500;
                    line-height: 1.5em;
                }
            }
        }

        p {
            margin: 0 0 var(--wp--preset--spacing--16);
            line-height: 1.25em;

            &.footer-text-1 {
                color: var(--wp--preset--color--brand-02);
                font-size: var(--wp--preset--font-size--sm);
            }

            &.footer-text-2 {
                color: var(--wp--preset--color--brand-02);
                font-size: var(--wp--preset--font-size--xs);
            }
        }
    }

    .logo {
        display: block;
        margin-bottom: var(--wp--preset--spacing--24);

        img {
            display: block;
            width: auto;
            max-width: 100%;
            height: var(--wp--preset--spacing--24);
        }
    }

    .footer-contacts {
        display: flex;
        flex-direction: column;
        gap: calc(var(--wp--preset--spacing--16) / 2);

        &.footer-phones {
            margin-top: var(--wp--preset--spacing--44);
            margin-bottom: var(--wp--preset--spacing--24);

            a {
                font-size: var(--wp--preset--font-size--lg);
                font-weight: 700;
                line-height: 1em;
            }
        }

        &.footer-emails {
            dl {
                display: flex;
                flex-direction: column;
                margin: 0 0 var(--wp--preset--spacing--16) 0;
                gap: calc(var(--wp--preset--spacing--16) / 4);

                dt {
                    margin: 0;
                    font-size: var(--wp--preset--font-size--sm);
                    line-height: 1em;
                }

                dd {
                    margin: 0;
                    padding: 0;
                    opacity: .7;
                    font-size: var(--wp--preset--font-size--xs);
                    line-height: 1em;
                }
            }

            a {
                font-weight: 500;
                line-height: 1em;
            }
        }
    }

    .footer-departments {
        ul {
            display: flex;
            flex-direction: column;
            margin: 0;
            padding: 0;
            font-size: var(--wp--preset--font-size--sm);
            font-weight: 500;
            line-height: 1.5em;
            list-style: none;
            gap: calc(var(--wp--preset--spacing--16) / 2);
        }
    }

    .copyright {
        padding: var(--wp--preset--spacing--16) 0;
        color: var(--wp--preset--color--brand-02);
        background: var(--wp--preset--color--dark);
        font-size: var(--wp--preset--font-size--xs);
        font-weight: 500;
        line-height: 1em;
        text-align: center;

        p {
            margin: 0;
        }
    }
}


.wp-block-sensum-posts {
    padding: 0 0 var(--wp--preset--spacing--60) 0;

    .__inner {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
        gap: var(--wp--preset--spacing--44) var(--wp--preset--spacing--24);
    }

    article {
        display: flex;
        flex-direction: column;
        gap: var(--wp--preset--spacing--24);

        figure {
            margin: 0;
            background: var(--wp--preset--color--brand-02);
            border-radius: var(--wp--custom--radius--lg);
            overflow: hidden;
            aspect-ratio: var(--wp--preset--aspect-ratio--square);

            a {
                display: block;
                height: 100%;

                &:hover {
                    opacity: .7;
                }
            }

            img {
                display: block;
                width: 100%;
                height: 100%;
                object-fit: cover;
                border-radius: var(--wp--custom--radius--lg);
            }
        }

        .card-article__content {
            display: flex;
            flex-direction: column;
            gap: var(--wp--preset--spacing--16);
        }

        .card-article__meta {
            display: flex;
            flex-direction: row;
            font-size: var(--wp--preset--font-size--xs);
            font-weight: 700;
            line-height: 1em;
            gap: calc(var(--wp--preset--spacing--16) * 2);

            a {
                color: var(--wp--preset--color--dark);
                text-decoration: none;

                &:hover {
                    color: var(--wp--preset--color--brand-01);
                }
            }

            time {
                opacity: .7;
            }
        }

        h2 {
            margin: 0;
            font-size: var(--wp--preset--font-size--md);
            font-weight: 700;
            line-height: 1.25em;

            a {
                color: var(--wp--preset--color--brand-01);
                text-decoration: none;

                &:hover {
                    color: var(--wp--preset--color--accent-01);
                }
            }
        }
    }
}

.wp-block-sensum-pagination {
    padding: 0 0 var(--wp--preset--spacing--60) 0;

    .__inner {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--wp--preset--spacing--24);

        a, span {
            font-size: var(--wp--preset--font-size--sm);
            font-weight: 700;
            line-height: 1em;
            text-decoration: none;
        }
    }
}

.single-content {
    width: 100%;
    max-width: 60rem;
    margin: 0 auto;
    padding: 0 0 var(--wp--preset--spacing--60) 0;
    font-size: var(--wp--preset--font-size--md);
    line-height: 1.5em;

    .container .container {
        padding: 0;
    }

    p {
        margin: 0 0 var(--wp--preset--spacing--24);
    }

    .wp-block-heading {
        margin: var(--wp--preset--spacing--44) 0 var(--wp--preset--spacing--24);
    }

    .wp-block-list {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin: 0 0 var(--wp--preset--spacing--24) 0;
        padding: 0;
        list-style: none;
        gap: .5rem;


        li {
            position: relative;
            padding-left: var(--wp--preset--spacing--24);


            &:before {
                position: absolute;
                content: '';
                top: 14px;
                left: 0;
                width: 1rem;
                height: 1px;
                background: var(--wp--preset--color--brand-01);
            }
        }
    }
}

.modal {
    display: none;
    width: 100%;
    max-width: 40rem;
    border-radius: var(--radius-lg);

    &.map-modal {
        width: 95%;
        max-width: 95%;
        height: 95%;
        padding: 0;

        iframe {
            width: 100%;
            height: 100%;
            border: none;
            border-radius: var(--radius-lg);
        }
    }

    .f-button.is-close-button {
        right: calc(var(--f-button-height) * -1);
    }

    &#orderForm,
    &#jobForm {
        max-width: 35rem;
        padding: 0;

        .form-inner {
            width: 100%;
            padding: 0;

            h2 {
                margin: 0;
                padding: var(--f-html-padding, 2rem);
                color: var(--wp--preset--color--brand-01);
                background: var(--wp--preset--color--brand-04);
                border-radius: var(--radius-lg) var(--radius-lg) 0 0;
                text-align: center;
            }

            .ff-default {
                padding: var(--f-html-padding, 2rem) var(--f-html-padding, 2rem) 0;

                .ff-el-form-control {
                    padding: .75rem 1.5rem;
                    border-radius: var(--radius-lg);
                }
            }
        }

        .ff-message-success {
            margin: 0;
            padding: 0 0 2rem 0;
            border: none;
            box-shadow: none;
            text-align: center;

            p {
                margin: 0;
            }
        }
    }
}

@media (max-width: 1280px) {
    .site-header {
        .logo {
            img {
                max-width: 250px;
            }
        }

        .header-bottom {
            .__inner {
                gap: 1rem
            }

            .header-bottom--declaration {
                padding: .5rem 1rem .5rem 0;
            }

            .header-bottom--menu {
                padding: 0;
            }
        }
    }

    .site-footer {
        .footer-top {
            .__inner {
                gap: var(--wp--preset--spacing--60);
            }
        }
    }
}

@media (max-width: 1200px) {
    .site-header {
        .header-top {
            .__address {
                display: none;
            }
        }

        .header-bottom {
            .__inner {
                gap: 2rem
            }

            .header-bottom--declaration {
                padding: .5rem 2rem .5rem 0;

                span {
                    display: none;
                }
            }
        }
    }

    .declaration-box__content {
        padding-right: 0;
    }
}

@media (max-width: 1100px) {
    .site-header {
        .header-bottom {
            .header-bottom--menu {
                gap: 1rem;
            }
        }
    }

    .site-footer {
        .footer-top {
            .__inner {
                grid-template-columns: 300px auto auto auto;
                gap: var(--wp--preset--spacing--24);
            }
        }
    }
}

@media (min-width: 1024px) {
    .site-header {
        .mobile-menu-button {
            display: none;
        }
    }
}

@media (max-width: 1024px) {
    .site-header {
        .logo {
            img {
                max-width: 200px;
            }
        }

        .mobile-menu-button {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: .5rem 1rem;
            color: var(--wp--preset--color--dark);
            background: none;
            border: none;
            box-shadow: none;
            text-align: center;
        }

        .header-top {
            .dropdown {
                .dropdown__trigger {
                    font-size: 14px;
                }
            }
        }

        .header-bottom {
            display: none;
        }
    }

    .site-footer {
        .footer-top {
            .__inner {
                grid-template-columns: 100%;

                .footer-column {
                    display: none;
                }

                & > .footer-column:first-child {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    text-align: center;
                    gap: 0;

                    img {
                        margin-inline: auto;
                    }
                }
            }
        }
    }

    .fancybox__slide.has-html {
        padding: 0 !important;
    }

    .modal {
        &.f-html,
        &#mobileMenu {
            flex-direction: column;
            height: 100%;
            padding: 1rem !important;
            border-radius: 0;
            overflow-y: scroll;
            gap: .5rem;

            .f-button.is-close-button {
                top: 0;
                right: 0;
                padding: .25rem .25rem .75rem .75rem;
                background: var(--wp--preset--color--brand-01);
                border-radius: 0 0 0 var(--radius-lg);
            }

            iframe {
                width: 100%;
                height: 100%;
            }

            .form-inner {
                h2 {
                    margin: -1rem -1rem 0;
                    border-radius: 0;
                }

                .ff-default {
                    padding: var(--f-html-padding, 2rem) 0 0;
                }

                .button {
                    width: 100%;
                }
            }
        }

        &.map-modal {
            width: 100%;
            max-width: 100%;
            height: 100%;
            padding: 0 !important;
            border-radius: 0;

            iframe {
                border-radius: 0;
            }
        }
    }

    .has-iframe .f-html,
    .has-pdf .f-html,
    .has-gmap .f-html {
        .f-button.is-close-button {
            top: 0;
            right: 0;
            padding: .25rem .25rem .75rem .75rem;
            background: var(--wp--preset--color--brand-01);
            border-radius: 0 0 0 var(--radius-lg);
        }
    }

    .mobile-menu {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        padding-bottom: 2rem;

        .header-bottom--declaration {
            a {
                display: block;
                padding: var(--wp--preset--spacing--16) 0;
                color: var(--wp--preset--color--dark);
                border-bottom: 1px solid var(--wp--preset--color--brand-04);
                font-size: var(--wp--preset--font-size--sm);
                font-weight: 700;
                line-height: 1em;
                text-decoration: none;
            }
        }

        .menu {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: space-between;
            margin: 0;
            padding: 0;
            list-style: none;
            gap: 0;

            li {
                position: relative;
                width: 100%;

                &:last-child {
                    border-bottom: none;
                }

                a {
                    display: flex;
                    align-items: center;
                    justify-content: flex-start;
                    padding: var(--wp--preset--spacing--16) 0;
                    color: var(--wp--preset--color--dark);
                    border-bottom: 1px solid var(--wp--preset--color--brand-04);
                    font-size: var(--wp--preset--font-size--sm);
                    font-weight: 700;
                    line-height: 1em;
                    white-space: nowrap;
                    text-decoration: none;
                }

                &.current-menu-item,
                &.current-menu-ancestor,
                &.current-menu-parent {
                    & > a {
                        color: var(--wp--preset--color--brand-01);
                    }
                }

                &.menu-item-has-children {
                    & > a {
                        padding-right: calc(var(--wp--preset--spacing--24) - .25rem);

                        &::after {
                            position: absolute;
                            content: "";
                            right: -6px;
                            width: var(--wp--preset--spacing--24);
                            height: var(--wp--preset--spacing--24);
                            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24' stroke='%23C8D7E9' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
                            background-repeat: no-repeat;
                            background-position: center;
                            background-size: contain;
                        }
                    }

                    &.active {
                        .sub-menu {
                            display: flex;
                        }
                    }
                }
            }
        }

        .sub-menu {
            position: relative;
            display: none;
            flex-direction: column;
            margin: 0;
            padding: 0;
            list-style: none;
            overflow: hidden;
            gap: 0;

            li {
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
                font-size: var(--wp--preset--font-size--sm);
                font-weight: 700;
                line-height: 1em;
                white-space: nowrap;
                transition: all .3s ease;
                gap: .25rem;

                a {
                    padding: calc(var(--wp--preset--spacing--16) / 2) var(--wp--preset--spacing--16);
                    color: var(--wp--preset--color--dark);
                    border-bottom: none;
                    border-bottom: 1px solid var(--wp--preset--color--brand-04);
                    font-weight: 500;
                }

                &:hover,
                &.current-menu-item {
                    background: var(--wp--preset--color--brand-02);

                    a {
                        color: var(--wp--preset--color--dark);
                    }
                }
            }
        }
    }
}

@media (max-width: 900px) {
    .site-header {
        .header-top {
            .__phones {
                display: none;
            }
        }
    }
}

@media (max-width: 768px) {
    .site-header {
        .header-top {
            .__cta {
                .button {
                    display: none;
                }
            }
        }
    }
}
header.site-header .header-socials a {
    text-decoration: none !important; /* прибираємо підкреслення */
    display: flex;
    align-items: center;
}