/*
 * Global readability overrides for frontend body copy.
 */

/* Mobile off-canvas sidebar: remove search gap and tighten top spacing */
@media (max-width: 1024px) {
    #elementor-header-top-mobile .tm-header-menu .tm-header-menu-scroll {
        padding-top: 44px;
        padding-bottom: 24px;
    }

    #elementor-header-top-mobile .tm-header-menu .elementor-3003 .e-con-inner {
        padding-top: 0;
        padding-bottom: 0;
    }

    #elementor-header-top-mobile .tm-header-menu .elementor-3003 .elementor-element-3f39caf {
        --gap: 0px 0px;
        --row-gap: 0px;
        --column-gap: 0px;
    }

    #elementor-header-top-mobile .tm-header-menu .elementor-3003 .elementor-element-b3d4797 > .elementor-widget-container {
        margin-bottom: 8px !important;
    }

    #elementor-header-top-mobile .tm-header-menu .elementor-element-b42157a > .elementor-widget-container {
        margin-top: 0;
        padding-top: 0;
    }
}

/* Services nav dropdown: center under parent; override menuzord fixSubmenuRight() inline positioning */
@media (min-width: 1025px) {
    .menuzord-primary-nav .menuzord-menu > li.menu-item-65 > ul.dropdown {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        margin-left: 0;
        margin-right: 0;
    }

    .menuzord-primary-nav .menuzord-menu > li.menu-item-65 > ul.dropdown li:hover > a,
    .menuzord-primary-nav .menuzord-menu > li.menu-item-65 > ul.dropdown li a:hover {
        padding-left: 25px;
        padding-right: 25px;
    }
}

.entry-content p,
.page-content p,
.main-content-area p,
.elementor .tm-text-editor,
.elementor .tm-text-editor p,
.elementor .tm-text-editor span,
.elementor .working-details,
.elementor .tm-sc-icon-box .content,
.elementor .tm-accordion .card-body,
.elementor .tm-accordion .card-body p {
    font-size: 18px;
    line-height: 1.75;
}

/* Keep the service details sidebar visible while reading on desktop. */
@media (min-width: 1025px) {
    .elementor-2576 [data-id="41dd3b4"] {
        position: sticky;
        top: 110px;
        align-self: flex-start;
        height: fit-content;
    }
}

.page-id-60 .elementor-60 {
    display: flex;
    flex-direction: column;
}

.page-id-60 .elementor-60 .elementor-element.elementor-element-162c61e {
    order: 1;
}

.page-id-60 .elementor-60 .elementor-element.elementor-element-d4353ec {
    order: 2;
}

.page-id-60 .elementor-60 .elementor-element.elementor-element-f90ea80 {
    order: 1;
}

.page-id-60 .elementor-60 .elementor-element.elementor-element-e1eebd2 {
    order: 2;
}

.page-id-60 .elementor-60 .elementor-element.elementor-element-162c61e {
    --padding-bottom: 40px !important;
}

.page-id-60 .elementor-60 .elementor-element.elementor-element-d4353ec {
    --padding-top: 50px !important;
}

.elementor-2576 .elementor-element.elementor-element-7987991 {
    display: none !important;
}

.elementor-2319 .elementor-element.elementor-element-8e0913b,
.elementor-3370 .elementor-element.elementor-element-3d062f3,
.elementor-3372 .elementor-element.elementor-element-275de38,
.elementor-5507 .elementor-element.elementor-element-140673b,
.elementor-5507 .elementor-element.elementor-element-274d30a,
.elementor-5507 .elementor-element.elementor-element-6b4c562,
.elementor-5507 .elementor-element.elementor-element-e07c1c7,
.elementor-56 .elementor-element.elementor-element-8e0913b,
.elementor-60 .elementor-element.elementor-element-d4353ec {
    --padding-top: 50px !important;
}

.elementor-5507 .elementor-element.elementor-element-2b73216 .swiper-wrapper {
    transition-timing-function: linear !important;
}

.elementor-5507 .elementor-element.elementor-element-2b73216 .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementor-5507 .elementor-element.elementor-element-2b73216 .each-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementor-5507 .elementor-element.elementor-element-2b73216 .each-logo img {
    max-width: 170px;
    max-height: 62px;
    object-fit: contain;
}

.mobile-sticky-actions {
    position: fixed;
    right: 24px;
    bottom: 120px;
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.mobile-sticky-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 999px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.2);
    text-decoration: none !important;
    font-family: "Outfit", "DM Sans", sans-serif;
    font-weight: 700;
    line-height: 1;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mobile-sticky-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.24);
}

.mobile-sticky-talk {
    gap: 8px;
    width: auto;
    min-width: 56px;
    padding: 0 18px;
    background: #ffaa17;
    color: #130d1a !important;
    font-size: 15px;
}

.mobile-sticky-whatsapp {
    background: #25d366;
    color: #ffffff !important;
}

.mobile-sticky-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mobile-sticky-icon svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

.mobile-sticky-whatsapp .mobile-sticky-icon svg {
    width: 30px;
    height: 30px;
}

.contact-lead-form .contact-field-label {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.contact-lead-form .contact-service-multiselect {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    pointer-events: none;
}

.contact-lead-form .contact-service-multiselect ~ .nice-select {
    display: none !important;
}

.contact-multiselect {
    position: relative;
    width: 100%;
}

.contact-multiselect__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: calc(1.8rem + 32px);
    min-height: calc(1.8rem + 32px);
    padding: 14px 46px 14px 20px;
    border: 1px solid var(--form_control_common_border);
    border-radius: .25rem;
    background-color: var(--form_control_common_bg);
    color: var(--text-color) !important;
    font: inherit;
    font-size: 1rem;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.contact-multiselect__trigger::after {
    position: absolute;
    top: 50%;
    right: 19px;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    transform: translateY(-70%) rotate(45deg);
    transition: transform .2s ease;
}

.contact-multiselect.is-open .contact-multiselect__trigger::after {
    transform: translateY(-25%) rotate(225deg);
}

.contact-multiselect__trigger:focus-visible,
.contact-multiselect.is-open .contact-multiselect__trigger {
    border-color: var(--theme-color1);
    background-color: var(--form_control_common_bg);
    box-shadow: 0 0 0 1px var(--theme-color1);
    outline: 0;
}

.contact-multiselect.is-invalid .contact-multiselect__trigger {
    border-color: #dc3545;
}

.contact-multiselect__value {
    display: block;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.contact-multiselect__selection-text {
    display: block;
    overflow: hidden;
    color: var(--text-color) !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contact-multiselect__placeholder {
    color: #686a6f !important;
}

.contact-multiselect__menu {
    position: absolute;
    z-index: 50;
    top: calc(100% + 7px);
    right: 0;
    left: 0;
    display: none;
    max-height: 260px;
    overflow-y: auto;
    padding: 7px;
    border: 1px solid #e6e2dc;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(25, 18, 35, .14);
}

.contact-multiselect.is-open .contact-multiselect__menu {
    display: block;
}

.contact-multiselect__option {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0;
    padding: 10px 11px;
    border-radius: 6px;
    color: #241b2f !important;
    font-size: 15px;
    line-height: 1.35;
    cursor: pointer;
}

.contact-multiselect__option:hover {
    background: rgba(255, 170, 23, .1);
}

.contact-multiselect__option span {
    color: #241b2f !important;
}

.contact-multiselect__option:has(input:checked) {
    background: rgba(255, 170, 23, .14);
    font-weight: 600;
}

.contact-multiselect__option input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: #ffaa17;
}

.contact-lead-form .contact-service-help {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 575px) {
    .contact-multiselect__trigger {
        height: calc(1.8rem + 32px);
        min-height: calc(1.8rem + 32px);
        padding: 14px 46px 14px 20px;
    }

    .contact-multiselect__menu {
        max-height: 230px;
    }
}

@media (max-width: 768px) {
    body {
        padding-bottom: calc(82px + env(safe-area-inset-bottom));
    }

    .mobile-sticky-actions {
        left: 0;
        right: 0;
        bottom: 0;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 14px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        pointer-events: none;
    }

    .mobile-sticky-action {
        min-height: 52px;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
        pointer-events: auto;
        touch-action: manipulation;
        transition: none;
    }

    .mobile-sticky-action:hover {
        transform: none;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
    }

    .mobile-sticky-talk {
        width: auto;
        padding: 0 18px;
    }

    body.page-id-60 .mobile-sticky-talk {
        display: none;
    }

    body.page-id-60 .mobile-sticky-actions {
        justify-content: flex-end;
    }

    .mobile-sticky-whatsapp {
        width: 54px;
        height: 54px;
        flex: 0 0 54px;
        background: #25d366;
        color: #ffffff !important;
    }

    .mobile-sticky-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .mobile-sticky-icon svg {
        width: 22px;
        height: 22px;
        fill: currentColor;
    }

    .mobile-sticky-whatsapp .mobile-sticky-icon svg {
        width: 29px;
        height: 29px;
    }

    .scroll-to-top,
    .scroll-to-top .scroll-link {
        display: none !important;
    }

    .elementor-56 .elementor-element.elementor-element-50feccd,
    .elementor-2319 .elementor-element.elementor-element-50feccd {
        display: none !important;
    }

    .entry-content p,
    .page-content p,
    .main-content-area p,
    .elementor .tm-text-editor,
    .elementor .tm-text-editor p,
    .elementor .tm-text-editor span,
    .elementor .working-details,
    .elementor .tm-sc-icon-box .content,
    .elementor .tm-accordion .card-body,
    .elementor .tm-accordion .card-body p {
        font-size: 17px;
        line-height: 1.72;
    }

    .tm-page-title-elementor .elementor-3701 .elementor-element.elementor-element-98c2a46 {
        --padding-top: 30px !important;
        --padding-bottom: 32px !important;
        --padding-left: 16px !important;
        --padding-right: 16px !important;
        min-height: auto;
    }

    body:not(.home) .tm-page-title-elementor {
        display: none !important;
    }

    .tm-page-title-elementor .elementor-3701 .elementor-element.elementor-element-957daad .title {
        font-size: clamp(34px, 10vw, 46px);
        line-height: 1.08;
    }

    body .tm-page-title-elementor .elementor-3701 .elementor-element.elementor-element-67f4652,
    body .tm-page-title-elementor .elementor-widget-tm-ele-page-title:has(.breadcrumb-trail),
    .tm-page-title-elementor .breadcrumb-trail,
    .tm-page-title-elementor .breadcrumbs-nav,
    .tm-page-title-elementor .breadcrumbs,
    .tm-page-title-elementor [aria-label="Breadcrumbs"],
    body .legal-page-title .breadcrumb-trail,
    .legal-page-title .breadcrumb-trail,
    .legal-page-title .breadcrumbs-nav,
    .legal-page-title .breadcrumbs,
    .legal-page-title [aria-label="Breadcrumbs"] {
        display: none !important;
    }

    .page-id-60 .elementor-60 .elementor-element.elementor-element-162c61e {
        --padding-bottom: 24px !important;
    }

    .page-id-60 .elementor-60 .elementor-element.elementor-element-d4353ec {
        --padding-top: 24px !important;
        --padding-bottom: 48px !important;
    }

    .page-id-60 .elementor-60 .elementor-element.elementor-element-9a6d52c {
        --padding-bottom: 36px !important;
    }

    .elementor-2319 .elementor-element.elementor-element-8e0913b {
        --padding-top: 25px !important;
        --padding-bottom: 55px !important;
    }

    .elementor-2319 .elementor-element.elementor-element-f390b57 {
        --justify-content: flex-start !important;
    }
}
