#serv-intro {
    padding-top: 2rem !important;
}

#serv-intro blockquote {
    position: relative;
    padding: 2rem !important;
    border: 0;
    border-left: 4px solid var(--blue-main);
    border-radius: 1rem;
    background-color: #ffffff;
    overflow: hidden;
}

#serv-intro blockquote::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0, 86, 179, 0.1) 0%, rgba(0, 86, 179, 0) 60%);
    pointer-events: none;
    z-index: 0;
}

#serv-intro blockquote > * {
    position: relative;
    z-index: 1;
}

#serv-intro p {
    margin-bottom: 0.4rem !important;
}

.servicio {
    padding-block: 1.5rem !important;
}

.servicio__titulo,
.servicio__modelo {
    margin-bottom: 0 !important;
    text-align: center !important;
}

.servicio__desc {
    margin-bottom: 0.1em !important;
}

.servicio__specs {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1rem;
}

.servicio__specs .servicio__desc {
    display: flex;
    gap: 0.5em;
    margin-bottom: 0.4rem;
}

.servicio__specs .servicio__desc::before {
    content: "[*]";
    flex-shrink: 0;
}

.servicio__imagen {
    border-radius: 1rem !important;
    border: 1px solid var(--blue-main) !important;
    overflow: hidden;
}

.servicio__desc--nota {
    color: red !important;
}

@media screen and (max-width: 991px) {
    .servicio__titulo,
    .servicio__modelo {
        text-align: left !important;
        margin-left: 1.5em;
    }
    .servicio__titulo {
        margin-top: 1em;
    }
}

#faqs {
    position: relative;
    isolation: isolate;
}

#faqs .container {
    max-width: 80% !important;
    padding: 0 0 1rem 0 !important;
}

@media screen and (min-width: 992px) {
    #faqs {
        padding-top: 1.5rem;
    }
}

#faqs::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/site/images/backgrounds/servicios_faqs.jpg") center / cover no-repeat fixed;
    z-index: -2;
}

#faqs::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        #fff 0%,
        #fff 10%,
        rgba(255, 255, 255, 0.8) 25%,
        rgba(255, 255, 255, 0.8) 75%,
        #fff 90%,
        #fff 100%
    );
    z-index: -1;
    pointer-events: none;
}

#faqs .faqs__title {
    margin-bottom: 2rem;
    color: #000;
}

/* Tema del acordeón Bootstrap 5.3 vía variables */
#faqs .faqs__list {
    --bs-accordion-border-width: 0;
    --bs-accordion-border-radius: 0.4rem;
    --bs-accordion-inner-border-radius: 0.4rem;
    --bs-accordion-btn-bg: transparent;
    --bs-accordion-active-bg: transparent;
    --bs-accordion-btn-color: var(--grey);
    --bs-accordion-active-color: var(--grey);
    --bs-accordion-btn-padding-x: 1.25rem;
    --bs-accordion-btn-padding-y: 1.25rem;
    --bs-accordion-body-padding-x: 1.25rem;
    --bs-accordion-body-padding-y: 0.5rem;
    --bs-accordion-btn-focus-box-shadow: none;
}

#faqs .faqs__item {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 0.4rem;
    margin-bottom: 0.5rem;
    overflow: hidden;
}

#faqs .faqs__question {
    /* font-weight: 600; */
    line-height: 1.2;
}

#faqs .faqs__answer {
    line-height: 1.5;
    letter-spacing: 0.015em;
}

.sep_srv {
    width: 80%;
    height: 1px;
    background-color: var(--grey);
    margin: 1rem auto;
}

.cta {
    padding: 1.5rem 0 3rem 0;
}

.cta__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.cta__text {
    margin: 0;
    color: #333;
    text-align: right;
}

.cta__btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 0.5rem;
    background-color: #25d366;
    color: #fff;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.cta__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4);
}

.cta__btn .icon {
    width: 2rem;
    height: 2rem;
    background-color: #fff;
}

@media (max-width: 575.98px) {
    .cta {
        flex-direction: column;
        text-align: center;
    }

    .cta__text {
        text-align: center;
    }
}
