.content-default h2 {
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 24px;
    font-weight: 500;
    line-height: 140%;
    color: #0A0A0A;
}

.content-default h3 {
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 140%;
    color: #0A0A0A;
}

.service-img-full-h .elementor-widget-html {
    height: 100%;
}

.service-img-full-h .elementor-widget-html img {
    height: 100%;
    object-fit: cover;
}

.single-post .post-content h2 {
    font-size: 1.5rem;
}

.single-post .post-content h3 {
    font-size: 1.25rem;
}

.single-post .post-content h4 {
    font-size: 1.1rem;
}

.single-post .post-content h5,
.single-post .post-content h6 {
    font-size: 1rem;
}

.seo-page .site-content .ast-container {
    max-width: 100%;
    padding: 0;
}

.elementor-button-icon svg {
    width: 24px;
}

.primary-color {
    color: #53C681;
}

.service-checklist ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.service-checklist ul li {
    padding: 5px 0;
    position: relative;
}

.service-checklist ul li {
    padding: 5px 0 5px 30px;
    position: relative;
}

.service-checklist ul li:before {
    content: '';
    display: block;
    width: 17px;
    height: 17px;
    background-image: url(/wp-content/uploads/2025/09/Component-check.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 7px;
    left: 0;
}

.service-checklist.color-black ul li:before {
    background-image: url(/wp-content/uploads/2025/12/Component-check-black.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.swiper-slide {
    height: auto;
}

.section-faqs .e-n-accordion {
    counter-reset: faq-counter;
}

.section-faqs .e-n-accordion-item:before {
    counter-increment: faq-counter;
    content: "("counter(faq-counter)")";
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 120%;
    position: absolute;
    top: 30px;
    left: 0;
}

.section-faqs .e-n-accordion-item:nth-child(-n+9):before {
    content: "(0" counter(faq-counter)")";
}

.section-faqs .e-n-accordion-item {
    display: none;
}

.section-faqs .e-n-accordion-item:nth-child(-n+8) {
    display: flex;
}

.section-faqs .e-n-accordion-item-title {
    padding-left: 200px !important;
}

.section-faqs .e-n-accordion-item-title + .e-child {
    padding-left: 200px !important;
    padding-right: 100px !important;
}

.section-faqs .e-n-accordion-item:last-child {
    border-bottom: 1px solid #d5d8dc;
}

.text-underline p:after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
}

.box-phone-number {
    width: 80px;
    height: 80px;
    background: linear-gradient(98.49deg, #22C55E 0%, #10B981 50%, #22C55E 100%);
    position: fixed;
    bottom: 170px;
    right: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    padding: 10px 22px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 9;
    transition: all .3s ease;
}

.box-phone-number .box-icon {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.box-phone-number .phone-num {
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 105%;
    color: #0A0A0A;
    opacity: 0;
    pointer-events: none;
    transition: all .3s ease;
}

.box-phone-number .dot {
    display: block;
    width: 20px;
    height: 20px;
    background: red;
    border-radius: 50%;
    position: absolute;
    top: 5px;
    right: 0px;
    border: 2px solid #fff;
}

.box-phone-number:hover {
    width: 198px;
    height: 62px;
    background: #fff;
    border-radius: 8px;
    padding: 10px 17px;
}

.box-phone-number:hover .phone-num {
    opacity: 1;
}

.box-phone-number:hover .dot {
    opacity: 0;
}

.box-phone-number:hover svg {
    width: 25px;
}

.box-phone-number:hover svg path {
    stroke: #22C55E;
}

.elementor-location-header .elementor-nav-menu--dropdown {
    position: absolute;
    top: 100%;
    right: -10px;
    width: 100vw;
    padding: 10px 0;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}

/* Contact Form */
.agapy-contact-form {
    font-family: "Neue Haas Grotesk Display Pro", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 140%;
    color: #1D1D1D80;
    margin: 0 !important;
}

.agapy-contact-form .form-row {
    margin-bottom: 32px;
}

.agapy-contact-form .form-row:last-child {
    margin-bottom: 0;
}

.agapy-contact-form .form-row.two-columns {
    display: flex;
    flex-wrap: wrap;
}

.agapy-contact-form .two-columns .form-group {
    flex: 1;
    min-width: 48%;
}

.agapy-contact-form .two-columns .form-group:first-child {
    margin-right: 10px;
}

.agapy-contact-form .form-row p {
    margin: 0;
}

.agapy-contact-form input,
.agapy-contact-form select,
.agapy-contact-form textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #ddd;
    padding: 8px 0;
    font-family: inherit;
    font-size: inherit;
    color: #1D1D1D;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.agapy-contact-form textarea {
    height: 40px !important;
    padding: 6px 10px !important;
}

.agapy-contact-form input::placeholder,
.agapy-contact-form select,
.agapy-contact-form textarea::placeholder {
    color: #1D1D1D80;
}

.agapy-contact-form .checkbox {
    font-size: 14px;
    line-height: 1.4;
    color: #1D1D1D80;
}

.agapy-contact-form button {
    width: 285px;
    background-color: transparent;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 140%;
    fill: #0A0A0A;
    color: #0A0A0A;
    background-image: linear-gradient(90deg, #10B981 50%, #22C55E 100%);
    border-radius: 8px 8px 8px 8px;
	padding: 12px 10px;
    transition: all .3s;
}

.agapy-contact-form .wpcf7-list-item {
    margin: 0;
}

.agapy-contact-form .wpcf7 input[type=checkbox] {
    margin: 0;
    width: 14px;
    height: 14px;
}

.agapy-contact-form .checkbox p {
    display: grid;
    grid-template-columns: auto auto;
    gap: 5px;
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: #1D1D1DCC;
}

/* Calculator Form */
.calculateur-form {
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    background: #fff;
    font-size: 15px;
    color: #000;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.calculateur-form .form-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.calculateur-form .form-row.vertical {
    flex-direction: column;
}

.calculateur-form .form-label {
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    color: #1D1D1D;
    display: block;
    max-width: 145px;
}

.calculateur-form .radio-group {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1;
}

.calculateur-form .radio-group label,
.calculateur-form input[type="number"] {
    position: relative;
    border: 1px solid #ccc;
    border-radius: 999px;
    padding: 10px 16px 10px 36px;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    color: #1D1D1DCC;
}

.calculateur-form input[type="number"] {
    padding-left: 16px;
    border-radius: 8px;
}

.calculateur-form .radio-group input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.calculateur-form .radio-dot {
    width: 16px;
    height: 16px;
    border: 1px solid #ccc;
    border-radius: 50%;
    display: inline-block;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    background-color: white;
}

.calculateur-form input[type="radio"]:checked + .radio-dot,
.calculateur-form .radio-group input[type="radio"]:checked ~ .radio-dot {
    border-color: #00cc66;
    background: radial-gradient(circle, #00cc66 40%, transparent 41%);
}

.calculateur-form .radio-group label:has(input[type="radio"]:checked) {
    border-color: #00cc66;
    color: #00cc66;
}

.calculateur-form input[type="text"] {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #ccc;
    border-radius: 12px;
    font-size: 15px;
}

.calculateur-form .note {
    margin-top: 6px;
    margin-bottom: 0;
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    color: #1D1D1D99;
}

.calculateur-form button {
    width: 245px;
    background-color: transparent;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 140%;
    fill: #0A0A0A;
    color: #0A0A0A;
    background-image: linear-gradient(90deg, #10B981 50%, #22C55E 100%);
    border-radius: 8px 8px 8px 8px;
    transition: all .3s;
}

.ul-service-list ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.ul-service-list ul li {
    position: relative;
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 100%;
    color: #1D1D1DCC;
    padding: 8px 20px;
}

.ul-service-list ul li:before {
    content: '';
    display: block;
    width: 13px;
    height: 13px;
    background: url(/wp-content/uploads/2025/09/Icon-arrow-right.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 9px;
    left: 0;
}

.single-post .site-content .ast-container {
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.single-post .site-content .ast-container .content-area.primary {
    margin: 0 !important;
    padding: 0 !important;
}

.single-post .site-content .ast-container .content-area.primary .ast-article-single {
    padding: 0 !important;
}

.single-post .post-content img {
    display: block;
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center center;
    border-radius: 8px;
}

.single-post .post-content blockquote {
    border-color: #53C681;
    margin: 1.25em 0;
}

.single-post .post-content blockquote p {
    margin: 0;
    font-size: 24px;
    line-height: 140%;
}

.single-post .post-content p {
    margin-bottom: 1.25em;
}

.single-post .post-content h1,
.single-post .post-content h2,
.single-post .post-content h3,
.single-post .post-content h4,
.single-post .post-content h5,
.single-post .post-content h6 {
    margin: 1.25em 0;
}

.post-tags .tag-item {
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 30px;
    color: #1D1D1DCC;
    display: inline-block;
    background: #FFFFFF;
    margin-right: 5px;
    padding: 0 20px;
    border-radius: 30px;
}

.post-share .share-btn {
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 100%;
    color: #1D1D1DCC;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.post-share .share-btn .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #FFFFFF;
    border-radius: 50%;
}

.blog-item {
    text-decoration: none !important;
}

.ast-separate-container .ast-article-single:not(.ast-related-post) {
    background-color: transparent;
}

.btn-filter-blog a {
    text-decoration: none !important;
}

.btn-filter-blog.active a {
    color: #0A0A0A !important;
}

.wp-chatbot-ball {
    width: 80px;
    height: 80px;
}

#wp-chatbot-ball .wp-chatbot-ball img {
    width: 100% !important;
    height: 100% !important;
    display: block;
    border-radius: 50%;
    margin: 0;
    padding: 5px;
}

.wp-chatbot-paragraph .btn.btn-primary {
    background-color: transparent;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 140%;
    fill: #0A0A0A;
    color: #0A0A0A;
    background-image: linear-gradient(90deg, #10B981 50%, #22C55E 100%);
    border-radius: 8px 8px 8px 8px;
    padding: 5px 10px;
}

ul.wp-chatbot-messages-container > li:first-child .wp-chatbot-avatar, ul.wp-chatbot-messages-container > li:first-child .wp-chatbot-agent {
    display: block !important;
}

.wpcf7 form.wpcf7-form .wpcf7-response-output {
    border-color: #46b450;
    border: none;
    padding: 0;
    margin: 20px 0 0 0;
    font-family: Neue Haas Grotesk Display Pro, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: #1D1D1DCC;
    text-align: center;
}

.blog-list-carousel .elementor-loop-container.elementor-grid style {
    display: none !important;
}

.blog-list-carousel .elementor-loop-container.elementor-grid .slick-slide {
    margin: 0 5px !important;
}

.section-filter-blog .elementor-widget-taxonomy-filter .e-filter {
    gap: 15px;
}

.section-filter-blog .elementor-widget-taxonomy-filter .e-filter-item {
    border: none;
    outline: none;
    box-shadow: none;
    padding: 0;
}

.blog-list-carousel .slick-arrow {
    background-color: #FFFFFF;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #00000033;
    border-radius: 50% 50% 50% 50%;
    padding: 10px 10px 10px 10px;
    z-index: 9;
    width: 48px;
    height: 48px;
}

.blog-list-carousel .slick-arrow:before {
    display: none !important;
}

.blog-list-carousel .slick-arrow svg {
    width: 20px;
}

.blog-list-carousel .slick-prev.slick-arrow {
    top: auto;
    bottom: -75px;
    left: auto;
    right: 60px;
    transform: translateY(0);
}

.blog-list-carousel .slick-next.slick-arrow {
    top: auto;
    bottom: -75px;
    left: auto;
    right: 0;
    transform: translateY(0);
}

.blog-list-carousel .elementor-loop-container.elementor-grid {
    opacity: 0;
    transition: opacity 0.4s ease;
}

.blog-list-carousel .elementor-loop-container.slick-initialized {
    opacity: 1;
}

.error-404.not-found .elementor-button.elementor-button-link {
    background-color: transparent;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 140%;
    fill: #0A0A0A;
    color: #0A0A0A;
    background-image: linear-gradient(90deg, #10B981 50%, #22C55E 100%);
    border-radius: 8px 8px 8px 8px;
}

.error404 #primary .site-main section.error-404.not-found {
    background: #EFFBF6;
}

.error404 .site-content {
    background: #EFFBF6;
    padding-top: 89px;
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mwai-chatbot-container .mwai-timeless-theme.mwai-bubble .mwai-trigger .mwai-icon-container {
	width: 80px !important;
    height: 80px !important;
	box-shadow: rgba(0, 77, 255, 0.5) 0px 4px 24px;
    background: #fff !important;
}

.mwai-chatbot-container .mwai-timeless-theme.mwai-bubble .mwai-trigger .mwai-icon-container .mwai-icon {
	max-width: 100% !important;
    max-height: 100% !important;
	width: 100% !important;
    height: 100% !important;
    display: block;
    border-radius: 50%;
    margin: 0;
    padding: 5px;
}

.mwai-chatbot-container .mwai-timeless-theme.mwai-window {
	right: 20px;
    bottom: 60px;
}

.mwai-chatbot-container .mwai-timeless-theme .mwai-text ul li,
.mwai-chatbot-container .mwai-timeless-theme .mwai-text ol li {
    margin-bottom: 1.75em;
}

.mwai-chatbot-container .mwai-timeless-theme .mwai-text h3 {
    margin-bottom: 1.75em;
}

#img-mascot {
    flex: 1;
    height: auto;
}

#img-mascot img {
    position: absolute;
    top: 0;
    right: 0;
}

@media (max-width: 1024px) {
    #img-mascot {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .section-faqs .e-n-accordion-item-title {
        padding-left: 50px !important;
    }

    .section-faqs .e-n-accordion-item-title + .e-child {
        padding-left: 50px !important;
        padding-right: 50px !important;
    }

    .box-phone-number {
        width: 50px;
        height: 50px;
        padding: 10px 14px;
        bottom: 140px;
    }

    .box-phone-number svg {
        width: 25px;
    }

    .box-phone-number .dot {
        width: 15px;
        height: 15px;
        top: 0px;
    }

    .agapy-contact-form .form-row.two-columns {
        display: block;
    }

    .agapy-contact-form .two-columns .form-group:first-child {
        margin-right: 0;
        margin-bottom: 32px;
    }

    .agapy-contact-form button {
        width: 100%;
    }

    .calculateur-form .form-row {
        display: block;
    }

    .calculateur-form .form-label {
        display: block;
        max-width: none;
        margin-bottom: 10px;
    }

    .wp-chatbot-ball {
        width: 50px;
        height: 50px;
    }
}