/* Submenu rounded corners (matches site button radius) */
:root {
    --submenu-radius: 8px;
}

/* Global start */
.cabb-btn-primary {
    background: #1D1D1D !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
}

main > figure.wp-block-image img {
    border-radius: 15px !important;
}
/* Global end */

/* Header start */
body:has(.cabb-block.hero) .header {
    position: absolute !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100%;
}

body:has(.cabb-block.hero) .header .header_right ul.navbar-nav a:hover {
    color: #fff !important;
}

.header.menu_opened,
.header.menu_opened .header_inner {
    background: #202020 !important;
}

.header .header_right .right_bottom .burger {
    background: transparent !important;
    border: none !important;
}

.header .header_right .right_bottom .burger .line,
.header.menu_opened .header_right .right_bottom .burger .line,
.header .header_right .right_bottom .burger.active .line {
    background: #fff !important;
}

body.tab_navigation .header .header_right .right_bottom .burger:focus-visible {
    outline-color: #fff !important;
}

.header .mobile_menu {
    background: #202020 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.header .mobile_menu ul li {
    border-bottom-color: rgba(255, 255, 255, 0.25) !important;
}

.header .mobile_menu ul + ul > li:first-child {
    border-top-color: rgba(255, 255, 255, 0.25) !important;
}

.header .mobile_menu ul li a {
    color: #fff !important;
}

.header .mobile_menu ul li a.active,
.header .mobile_menu ul li a:hover {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.header .mobile_menu .dropdown-menu li {
    border-bottom-color: rgba(255, 255, 255, 0.15) !important;
}

.header .mobile_menu .dropdown-menu li a {
    color: #fff !important;
}

.header .mobile_menu .dropdown-menu li a.active,
.header .mobile_menu .dropdown-menu li a:hover {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.header .mobile_menu li.dropdown > .submenu-toggle {
    color: #fff !important;
}

.header .mobile_menu_logo svg * {
    fill: #fff !important;
}

.header .header_inner {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.header .header_left .header_logo {
    transition: color ease-in-out 0.2s;
}

.header .header_left .header_logo svg,
.header .header_left .header_logo img {
    max-height: 66px !important;
}

@media (max-width: 480px) {
    .header .header_left .header_logo img {
        max-height: 38px !important;
    }
}

body:has(.cabb-block.hero) .header:not(.menu_opened) .header_left .header_logo {
    color: #fff !important;
}

.header .header_right ul.navbar-nav a.active,
.header .header_right ul.navbar-nav a:hover {
    color: #fff !important;
}
/* Header end */

/* Footer start */
.footer {
    background: #202020 !important;
}

.footer .footer_container {
    font-size: 16px !important;
}

.footer .footer_container p {
    margin-bottom: 8px !important;
}

.footer .footer_bottom {
    font-size: 16px !important;
}

@media (max-width: 800px) {
    .footer .footer_center {
        padding-top: 0 !important;
    }
}
/* Footer end */

/* Archive start */
.articles_list .article_card .card_image {
    border-radius: 15px !important;
    overflow: hidden !important;
}
/* Archive end */

/* Hero block start */
.cabb-block.hero {
    display: flex;
    align-items: center;
    min-height: 100dvh;
}

.cabb-block.hero .block_wrap {
    margin: 0 auto;
}

.cabb-block.hero .hero_title .title_top {
    font-size: 72px;
    line-height: 1;
    padding-bottom: 8px;
}

.cabb-block.hero .hero_title .title_bottom {
    font-size: 32px;
    line-height: 1;
}

.cabb-block.hero .hero_text {
    font-size: 20px !important;
    line-height: 1.4 !important;
}

.cabb-block.hero .cta_buttons .cta_button a {
    display: flex;
    align-items: center;
    background: #1D1D1D;
    color: #fff;
}

.cabb-block.hero .cta_buttons .cta_button a:hover {
    background: #fff !important;
    color: #1D1D1D;
}

.cabb-block.hero .cta_buttons .cta_button a svg {
    margin-right: 12px;
}

@media (max-width: 992px) {
    .cabb-block.hero .hero_title .title_top {
        font-size: 56px;
    }
}

@media (max-width: 600px) {
    .cabb-block.hero .hero_title .title_top {
        font-size: 36px;
    }

    .cabb-block.hero .hero_title .title_bottom {
        font-size: 26px;
    }

    .cabb-block.hero .image_wrap .qr_code {
        padding: 5px !important;
        width: 80px !important;
        height: 80px !important;
    }
}
/* Hero block end */

/* Image + Text block start */
.cabb-block.img-txt .block_title {
    font-size: 36px !important;
    font-weight: bold !important;
}

.cabb-block.img-txt .block_image img {
    border-radius: 10px;
}
/* Image + Text block end */

/* Q&A block start */
.cabb-block.qa {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

.cabb-block.qa .block_title {
    font-size: 36px !important;
    font-weight: bold !important;
}

.cabb-block.qa .block_title a {
    padding-right: 46px !important;
}

.cabb-block.qa .block_title a::after {
    width: 36px !important;
    height: 50px !important;
    margin-top: -25px !important;
}

.cabb-block.qa .qa_item .item_question .question_text {
    font-size: 18px !important;
    font-weight: bold !important;
}

@media (max-width: 600px) {
    .cabb-block.qa .block_title a::after {
        width: 20px !important;
        height: 28px !important;
        margin-top: -14px !important;
    }
}
/* Q&A block end */

/* Q&A Sectioned block start */
.cabb-block.qa-sectioned {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
}

.cabb-block.qa-sectioned .block_title {
    font-size: 36px !important;
    font-weight: bold !important;
}

.cabb-block.qa-sectioned .qa_item .item_question .question_text {
    font-size: 18px !important;
    font-weight: bold !important;
}
/* Q&A Sectioned block end */

/* Form block start */
.cabb-block.form .form_title {
    font-size: 36px !important;
    font-weight: bold !important;
}

.cabb-block.form .hubspot_form label {
    padding-bottom: 8px;
}

.cabb-block.form .hubspot_form input.hs-input[type="text"],
.cabb-block.form .hubspot_form input.hs-input[type="email"],
.cabb-block.form .hubspot_form input.hs-input[type="tel"],
.cabb-block.form .hubspot_form select.hs-input,
.cabb-block.form .hubspot_form textarea.hs-fieldtype-textarea {
    border-color: #D8D6E3 !important;
    border-radius: 10px;
    font-size: 14px;
}

.cabb-block.form .hubspot_form input.hs-input[type="file"]::file-selector-button {
    border-radius: 10px !important;
}

.cabb-block.form .hubspot_form input.hs-button {
    border-radius: 10px !important;
    font-size: 18px !important;
}
/* Form block end */

/* Testimonials block start */
.cabb-block.testimonials .block_title {
    font-size: 36px;
}

.cabb-block.testimonials .testimonial_item .item_inner {
    justify-content: normal !important;
    border-radius: 15px !important;
}

.cabb-block.testimonials .testimonial_item .quote {
    display: none;
}

.cabb-block.testimonials .testimonial_item .author {
    justify-content: center;
    order: 0;
    padding: 0 0 24px !important;
}

.cabb-block.testimonials .testimonial_item .quote_content {
    order: 1;
    text-align: center;
}
/* Testimonials block end */

/* Cards Grid block start */
.cabb-block.cards-grid .block_title {
    font-size: 36px !important;
    font-weight: bold !important;
}

.cabb-block.cards-grid .card_item .card_inner {
    border-radius: 15px !important;
    overflow: hidden !important;
}

body .cabb-block.cards-grid .card_item .card_title {
    line-height: 1.33 !important;
}
/* Cards Grid block end */

/* Related articles block start */
.cabb-block.related-articles .article_item .article_image img {
    border-radius: 15px;
}
/* Related articles block end */

/* Pricing table: tab and button colors */
.cabb-block.pricing-table {
    --tab-btn-bg-light: #F7F7F7;
    --tab-btn-bg-primary: #1D1D1D;
}

.cabb-block.pricing-table.tab-text-light {
    --tab-idle-text: #ffffff;
}

.cabb-block.pricing-table .tab-color-light-gray { --tab-color: #F7F7F7; }

.cabb-block.pricing-table .tab-btn-color-light-gray.active {
    --tab-btn-color: #F7F7F7;
    --tab-btn-text: #102D3A;
    --tab-btn-border: rgba(0, 0, 0, 0.08);
}
/* Pricing table tab colors end */
