/*-----------------------------------------------------------------------------------
    Project: CUMULO
-------------------------------------------------------------------------------------
    01. Family font principal
    02. Colors ID
    03. General
    04. Buttons
    05. Header
    06. Inicio
    07. Footer
    08. Servicios
    09. Blog
    10. Blog Detail
    11. Menu carrito de compras
    12. Términos & condiciones
    13. Menu Móvil
    14. Páginas de error (404 / 500)
-------------------------------------------------------------------------------------*/


*,
body {
    font-family: 'Cera Pro';
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

/* * * 01. Family font principal * * * * * * * * * * * * * */
@font-face {
    font-family: 'Cera Pro';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Light.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Medium.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Bold.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Bold.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Black.woff2') format('woff2');
}

/* Alias 'Cera-pro' */
@font-face {
    font-family: 'Cera-pro';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera-pro';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Regular.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera-pro';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Bold.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera-pro';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Bold.woff2') format('woff2');
}

/*ITALIC*/
@font-face {
    font-family: 'Cera Pro';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Light-Italic.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: italic;
    font-weight: 500;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Regular-Italic.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: italic;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Medium-Italic.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: italic;
    font-weight: 800;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Bold-Italic.woff2') format('woff2');
}

@font-face {
    font-family: 'Cera Pro';
    font-style: italic;
    font-weight: 900;
    font-display: swap;
    src: url('/fonts/Cerapro/Cera-Pro-Black-Italic.woff2') format('woff2');
}

/* * * 02. Colors ID * * * * * * * * * * * * * * * * * * */
:root {
    --cml-white: #FFFFFF;
    --cml-blue-light: #30C3EA;
    --cml-aqua: #56c2bb;
    --cml-green-light: #8BC97E;
    --cml-yellow: #FFD007;
    --cml-blue: #2B92D0;
    --cml-navy-blue: #20224A;
    --cml-gradient: linear-gradient(90deg, rgba(48, 195, 234, 1) 9%, rgba(253, 221, 9, 1) 100%);
}

/* * * 03. General * * * * * * * * * * * * * * * */
.mv-brand {
    display: none;
}

.ht-100 {
    height: 100%;
}

.cml_title_default h1 {
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--cml-navy-blue);
}

.cml_title_default p {
    color: rgb(32 34 74 / 50%);
}

.cml_tag_gral {
    color: var(--cml-aqua);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    display: inline-block;
}

.cml_title_default.italic_aqua h1 span {
    font-style: italic;
    color: var(--cml-aqua);
}

.cml_title_default.italic_green h1 span {
    font-style: italic;
    color: var(--cml-green-light);
}

.cml_tag_blog {
    color: var(--cml-white);
    text-transform: uppercase;
    padding: 6px 15px;
    font-size: 12px;
    border-radius: 50px;
    position: absolute;
    left: 24px;
    top: 24px;
    z-index: 1;
}

.cml_tag_blog.aqua {
    background-color: var(--cml-aqua);
    line-height: normal;
}

.cml_tag_blog.blue {
    background-color: var(--cml-blue);
    line-height: normal;
}

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

.cml_overflow {
    overflow: hidden;
}

.padd-h {
    padding: clamp(50px, 8vw, 100px) 0;
}

/* * * 04. Buttons * * * * * * * * * * * * * * * */
.cml_btn_default {
    color: var(--cml-white);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    font: inherit;
    cursor: pointer;
    text-align: inherit;
    border-radius: 50px;
    padding: 5px 7px 5px 26px;
    font-size: 14px;
    font-weight: 500;
    transition: all 450ms ease-in-out;
}

/* Conserva foco accesible sin el borde oscuro nativo del navegador. */
button.cml_btn_default:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.9);
    outline-offset: 3px;
}

.cml_btn_default .cml_btn_arrow_icon .icons_box {
    display: flex;
    align-items: center;
    transform: translate(calc(-110% + 24px), 0);
    -webkit-transform: translate(calc(-110% + 24px), 0);
    -moz-transform: translate(calc(-110% + 24px), 0);
    -ms-transform: translate(calc(-110% + 24px), 0);
    -o-transform: translate(calc(-110% + 24px), 0);
    transition: all 320ms ease-in-out;
    -webkit-transition: all 320ms ease-in-out;
    -moz-transition: all 320ms ease-in-out;
    -ms-transition: all 320ms ease-in-out;
    -o-transition: all 320ms ease-in-out;
}

.cml_btn_default:hover .cml_btn_arrow_icon .icons_box {
    transform: translate(0, calc(-110% + 0px));
    -webkit-transform: translate(0, calc(-110% + 0px));
    -moz-transform: translate(0, calc(-110% + 0px));
    -ms-transform: translate(0, calc(-110% + 0px));
    -o-transform: translate(0, calc(-110% + 0px));
}

.cml_btn_default .cml_btn_arrow_icon span {
    font-weight: 300;
    font-size: 22px;
}

.cml_btn_arrow_icon {
    background-color: var(--cml-white);
    position: relative;
    overflow: hidden;
    border-radius: 100px;
    height: 42px;
    width: 42px;
}

.cml_btn_default .cml_btn_arrow_icon .icons_box span:first-child {
    transform: rotate(45deg) translate(30px, -16px);
    -webkit-transform: rotate(45deg) translate(30px, -16px);
    -moz-transform: rotate(45deg) translate(30px, -16px);
    -ms-transform: rotate(45deg) translate(30px, -16px);
    -o-transform: rotate(45deg) translate(30px, -16px);
}

.cml_btn_default .cml_btn_arrow_icon .icons_box span:last-child {
    transform: rotate(45deg) translate(16px, 33px);
    -webkit-transform: rotate(45deg) translate(16px, 33px);
    -moz-transform: rotate(45deg) translate(16px, 33px);
    -ms-transform: rotate(45deg) translate(16px, 33px);
    -o-transform: rotate(45deg) translate(16px, 33px);
}

/*Colors*/
.cml_btn_default.blue {
    background-color: var(--cml-blue);
    font-weight: 700;
}

.cml_btn_default.blue:hover {
    background-color: var(--cml-blue-light);
}

.cml_btn_default.blue:hover .cml_btn_arrow_icon {
    color: var(--cml-blue-light);
}

.cml_btn_default.blue .cml_btn_arrow_icon {
    color: var(--cml-blue);
}

.cml_btn_default.aqua {
    background-color: var(--cml-aqua);
}

.cml_btn_default.aqua:hover {
    background: var(--cml-blue);
}

.cml_btn_default.aqua:hover .cml_btn_arrow_icon {
    color: var(--cml-blue);
}

.cml_btn_default.aqua .cml_btn_arrow_icon {
    color: var(--cml-aqua);
}

.cml_btn_default.navy {
    background-color: var(--cml-navy-blue);
}

.cml_btn_default.navy:hover {
    background: #111111;
}

.cml_btn_default.navy:hover .cml_btn_arrow_icon {
    color: #111111;
}

.cml_btn_default.navy .cml_btn_arrow_icon {
    color: var(--cml-navy-blue);
}

.cml_btn_default.low-blue {
    background-color: var(--cml-blue-light);
}

.cml_btn_default.low-blue .cml_btn_arrow_icon {
    color: var(--cml-blue-light);
}

.cml_btn_default.low-green {
    background-color: var(--cml-green-light);
}

.cml_btn_default.low-green:hover {
    background: var(--cml-aqua);
}

.cml_btn_default.low-green:hover .cml_btn_arrow_icon {
    color: var(--cml-aqua);
}

.cml_btn_default.low-green .cml_btn_arrow_icon {
    color: var(--cml-green-light);
}

/* * * 05. Header * * * * * * * * * * * * * * * */

.cml_header {
    position: fixed;
    top: 0;
    padding: 14px 0;
    width: 100%;
    z-index: 99;
    transition: background-color 300ms ease-in-out;
    -webkit-transition: background-color 300ms ease-in-out;
    -moz-transition: background-color 300ms ease-in-out;
    -ms-transition: background-color 300ms ease-in-out;
    -o-transition: background-color 300ms ease-in-out;
}

.cml_header.--solid {
    background-color: var(--cml-navy-blue);
}

.cml_header.h_fixed {
    background-color: var(--cml-white);
    box-shadow: 0px 4px 10px rgb(0 0 0 / 4%);
}

.cml_header .cml_brand .text path {
    transition: fill 300ms ease-in-out;
    -webkit-transition: fill 300ms ease-in-out;
    -moz-transition: fill 300ms ease-in-out;
    -ms-transition: fill 300ms ease-in-out;
    -o-transition: fill 300ms ease-in-out;
}

.cml_header.h_fixed .cml_brand .text path {
    fill: var(--cml-navy-blue);
}

.cml_header .cml_cont_header {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    gap: 10px;
}

.cml_header .cml_cont_header .cml_brand {
    width: fit-content;
    display: block;
}

.cml_header .cml_link_menu {
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
    margin: 0;
}

.cml_header .cml_link_menu .cml_link {
    font-size: 14px;
    text-transform: uppercase;
    line-height: 0.2px;
    color: var(--cml-white);
    transition: color 300ms ease-in-out;
    -webkit-transition: color 300ms ease-in-out;
    -moz-transition: color 300ms ease-in-out;
    -ms-transition: color 300ms ease-in-out;
    -o-transition: color 300ms ease-in-out;
}

.cml_header .cml_link_menu .cml_link.active,
.cml_header.h_fixed .cml_link_menu .cml_link.active {
    color: var(--cml-blue-light);
    font-weight: 600;
}

.cml_header.h_fixed .cml_link_menu .cml_link {
    color: var(--cml-navy-blue);
}

.cml_header .cml_cart_user .cml_cont_tab {
    width: fit-content;
    background-color: var(--cml-white);
    border-radius: 50px;
    display: flex;
    justify-content: space-between;
    padding: 12px 22px;
    gap: 12px;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out;
    -webkit-transition: background-color 0.3s ease-in-out;
    -moz-transition: background-color 0.3s ease-in-out;
    -ms-transition: background-color 0.3s ease-in-out;
    -o-transition: background-color 0.3s ease-in-out;
}

.cml_header .cml_cart_user .cml_cont_tab:hover {
    background-color: #eff5fe;
}

.cml_header.h_fixed .cml_cart_user .cml_cont_tab {
    background-color: var(--cml-navy-blue);
    transition: background-color 300ms ease-in-out;
    -webkit-transition: background-color 300ms ease-in-out;
    -moz-transition: background-color 300ms ease-in-out;
    -ms-transition: background-color 300ms ease-in-out;
    -o-transition: background-color 300ms ease-in-out;
}

.cml_header .cml_cart_user .cml_cont_tab svg path {
    transition: all 300ms ease-in-out;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
}

.cml_header.h_fixed .cml_cart_user .cml_cont_tab svg path {
    stroke: var(--cml-white);
}

.cml_header .cml_cart_user .cml_cont_tab .divisor {
    width: 1.5px;
    height: 24px;  /* Altura fija en lugar de auto */
    background-color: var(--cml-navy-blue);
    opacity: 0.4;
    transition: all 300ms ease-in-out;
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
    -ms-transition: all 300ms ease-in-out;
    -o-transition: all 300ms ease-in-out;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    align-self: center;  /* Centrar verticalmente */
}

.cml_header.h_fixed .cml_cart_user .cml_cont_tab .divisor {
    background-color: var(--cml-white);
}

.cml_header .cml_cart_user {
    margin-left: auto;
}

/* * * 06. Inicio * * * * * * * * * * * * * * * */
/* * Banner * */
.cml_banner {
    position: relative;
    overflow: hidden;
    height: 100vh;
}

.cml_banner .cml_img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    margin: 0;
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
}

.cml_banner.mask .cml_img::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 45%);
}

.cml_banner.mask_blog .cml_img::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(32 34 74 / 25%);
}

.cml_banner .cml_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.cml_banner .cml_img .simpleParallax {
    height: 100%;
}

.cml_banner .cml-title-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--cml-white);
    z-index: 2;
    position: relative;
    text-align: center;
    gap: 8px;
}

.cml_banner .cml-title-banner h1 {
    font-size: clamp(2rem, 5vw, 4.3rem);
    font-weight: 800;
}

.cml_banner .cml-title-banner h1 span {
    font-style: italic;
    background: var(--cml-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.cml_banner .cml-title-banner p {
    max-width: 500px;
    font-size: 14px;
    font-weight: 500;
}

.cml_banner .cml_btn_default {
    position: absolute;
    bottom: 70px;
    left: 0;
    right: 0;
    z-index: 3;
}

.cml_banner .cml_scroll {
    position: absolute;
    right: 23px;
    bottom: 100px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--cml-white);
    font-size: 14px;
    writing-mode: vertical-rl;
    font-weight: 500;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}

.cml_banner .cml_scroll span {
    font-weight: 300;
    font-size: 22px;
}

/* * Clientes * */
.cml_clients {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: 70px 0;
}

.cml_clients .cml_cont_client {
    margin-bottom: 50px;
}

.cml_timeline_brands {
    position: relative;
    overflow-x: clip;
}

.cml_timeline_brands .cml_timeline_cont {
    display: flex;
    gap: 22px;
    flex-shrink: 0;
    margin-right: 22px;
}

.cml_timeline_brands .cml_timeline_cont .cml_item_card {
    width: 160px;
    height: 160px;
    border-radius: 8px;
    background-color: #F8F9FA;
    display: grid;
    place-content: center;
    box-shadow: 0 0 16px rgb(0 0 0 / 10%);
}

.cml_timeline_brands .cml_timeline_cont .cml_item_card img {
    width: 80%;
    margin: 0 auto;
}

.cml_timeline_brands .cml_timeline_cont .cms_timeline_item {
    display: flex;
    gap: 22px;
    flex-direction: column;
    justify-content: center;
}

.cml_timeline_brands .autoplay_smooth {
    display: flex;
    animation: smoothScrollBrand 32s linear infinite;
    -webkit-animation: smoothScrollBrand 32s linear infinite;
    width: max-content;
}

@keyframes smoothScrollBrand {
    0% {
        transform: translateX(0);
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
    }
}

/* * Servicios * */
.cml_services {
    background-color: var(--cml-navy-blue);
    padding: 70px 0;
    color: var(--cml-white);
    background-image: url('/img/background/background-servicio.webp');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.cml_cont_services {
    position: relative;
    overflow: hidden;
}

.cml_services .cml_cont_client {
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    align-items: center;
    padding: 0 0 40px;
}

.cml_services .cml_cont_client .cml_title_default h1 {
    color: var(--cml-white);
}

.cml_cont_services .cml_item_service {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.cml_cont_services .cml_item_service .cml-img {
    height: 110dvh;
    position: relative;
    overflow: hidden;
    margin: 0;
}

.cml_cont_services .cml_item_service .cml-img>.simpleParallax {
    height: 100%;
}

.cml_cont_services .cml_item_service .cml-img img {
    height: 100%;
    width: 100%;
    object-position: center center;
    object-fit: cover;
    display: block;
}

.cml_cont_services .cml_item_service .cml_info_services {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: center;
    margin-right: auto;
    padding-left: 50px;
    position: relative;
    overflow: hidden;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4rem;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow .cml_text_title {
    position: relative;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow .cml_text_title h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--cml-navy-blue);
    font-weight: 900;
    font-style: italic;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow .cml_text_title h1 {
    font-size: clamp(6rem, 12vw, 10.6rem);
    font-weight: 900;
    color: rgb(86 194 187 / 20%);
    text-transform: uppercase;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    z-index: -1;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow .cml_arrow_card {
    display: flex;
    gap: 8px;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow .cml_arrow_card .cml_arrow_item {
    width: 48px;
    height: 48px;
    background-color: #262626;
    border-radius: 50px;
    color: var(--cml-white);
    display: grid;
    place-content: center;
    cursor: pointer;
    transition: background-color 300ms ease-in-out;
    -webkit-transition: background-color 300ms ease-in-out;
    -moz-transition: background-color 300ms ease-in-out;
    -ms-transition: background-color 300ms ease-in-out;
    -o-transition: background-color 300ms ease-in-out;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow .cml_arrow_card .cml_arrow_item:hover {
    background-color: rgb(38 38 38 / 90%);
}

.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow .cml_arrow_card .cml_arrow_item span {
    font-weight: 300;
}

.cml_card_service>.swiper {
    overflow: visible;
}

.cml_card_service .cml_item_card_service {
    height: calc(430px - 0px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: linear-gradient(0deg, rgba(43, 146, 208, 1) 0%, rgba(86, 194, 187, 1) 100%);
    position: relative;
    overflow: hidden;  /* Asegurar que el ::after no se salga */
    padding: 20px;
    color: var(--cml-white);
    border-radius: 14px;
    -webkit-border-radius: 14px;
    -moz-border-radius: 14px;
    -ms-border-radius: 14px;
    -o-border-radius: 14px;
}


.cml_cont_services .cml_item_service .cml_info_services .cml_card_service .cml_item_card_service::after {
    font-family: 'Material Symbols Rounded';
    position: absolute;
    font-size: 220px;
    line-height: 1;            /* evita el "renglón" azul largo */
    width: auto;
    height: auto;
    left: -60px;
    bottom: -60px;
    z-index: 0;                /* SIEMPRE detrás del contenido */
    color: var(--cml-navy-blue);
    opacity: 0.04;
    font-weight: 500;
    pointer-events: none;
    overflow: hidden;
    white-space: nowrap;
}

/* El contenido real de la card va SIEMPRE por encima del icono decorativo. */
.cml_card_service .cml_item_card_service > * {
    position: relative;
    z-index: 1;
}

.cml_cont_services .cml_item_service:nth-child(1) .cml_info_services .cml_card_service .cml_item_card_service::after {
    content: "database_upload";
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_card_service .cml_item_card_service::after {
    content: "cloud_lock";
}

.cml_cont_services .cml_item_service:nth-child(3) .cml_info_services .cml_card_service .cml_item_card_service::after {
    content: "shield_locked";
}

.cml_card_service .cml_item_card_service .cml_tag_sv .tag_service {
    font-size: 12px;
    background-color: var(--cml-navy-blue);
    color: var(--cml-white);
    text-transform: uppercase;
    width: fit-content;
    padding: 5px 18px;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
}

.cml_card_service .cml_item_card_service .cml_tag_sv {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cml_card_service .cml_item_card_service .cml_tag_sv .icon-service {
    width: 28px;
    height: 28px;
    display: grid;
    place-content: center;
    background-color: var(--cml-white);
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
}

.cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    font-family: 'Material Symbols Rounded';
    font-size: 20px;
    font-weight: 300;
}

.cml_cont_services .cml_item_service:nth-child(1) .cml_info_services .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    content: "database_upload";
    color: var(--cml-aqua);
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    content: "cloud_lock";
    color: var(--cml-blue-light);
}

.cml_cont_services .cml_item_service:nth-child(3) .cml_info_services .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    content: "shield_locked";
    color: var(--cml-green-light);
}

.cml_card_service .cml_item_card_service .cml_tag_sv .icon-service span {
    font-size: 20px;
}

.cml_card_service .cml_item_card_service .cml_name_service {
    text-transform: uppercase;
    font-weight: 800;
    margin: 18px 0 0;
}

.cml_card_service .cml_item_card_service .cml_list_price h2 {
    font-weight: 800;
    margin-bottom: 18px;
}

.cml_card_service .cml_item_card_service .cml_list_price h2 span {
    font-size: 16px;
    font-weight: 500;
}

.cml_card_service .cml_item_card_service .cml_list_price .list {
    padding: 0;
    list-style: none;
    margin: 0;
    display: grid;
    gap: 10px;
}

.cml_card_service .cml_item_card_service .cml_list_price .list .icon-check {
    width: 22px;
    height: 22px;
    border-radius: 50px;
    background-color: var(--cml-white);
    display: grid;
    place-content: center;
    color: var(--cml-aqua);
}

.cml_card_service .cml_item_card_service .cml_list_price .list .icon-check span {
    font-size: 20px;
}

.cml_card_service .cml_item_card_service .cml_list_price .list li {
    display: flex;
    gap: 10px;
    align-items: center;
}

.cml_card_service .cml_item_card_service .cml_list_price .list li p {
    margin: 0;
    font-size: 14px;
}

.cml_card_service .cml_item_card_service .cml_btn_default {
    width: 100%;
    justify-content: flex-end;
    gap: 30px;
}

.cml_card_service .cml_item_card_service .cml_btn_default span {
    flex: 1;
    text-align: center;
}

.cml_card_service .cml_item_card_service .cml_leyenda {
    font-size: 12px;
    display: block;
    line-height: normal;
    font-weight: 300;
}

.cml_card_service .cml_item_card_service .sv-bottom {
    display: grid;
    gap: 10px;
}

.cml_card_service .cml_item_card_service .sv-bottom,
.cml_card_service .cml_item_card_service .sv-top,
.cml_card_service .cml_item_card_service .cml_list_price {
    z-index: 1;
}

.cml_card_service .cml_item_card_service .back-icon {
    position: absolute;
    font-size: 390px;
    left: -120px;
    bottom: -80px;
    z-index: 0;
    color: var(--cml-navy-blue);
    opacity: 0.05;
    font-weight: 500;
    pointer-events: none;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_text_aviso {
    font-size: 13px;
    color: var(--cml-navy-blue);
    opacity: 0.7;
    line-height: normal;
    margin: 0;
    margin-top: 25px;
}

.cml_cont_services .cml_item_service .cml_info_services .cml_text_aviso,
.cml_cont_services .cml_item_service .cml_info_services .cml_title_arrow {
    width: calc(100% - 11%);
}

/* * Servicio Direction * */

.cml_cont_services .cml_item_service:nth-child(2) {
    direction: rtl;
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services {
    padding-left: 0;
    padding-right: 50px;
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_title_arrow {
    direction: ltr;
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_card_service .cml_item_card_service {
    direction: ltr;
    background: linear-gradient(0deg, rgba(139, 201, 126, 1) 0%, rgba(48, 195, 234, 1) 100%);
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_text_aviso {
    direction: ltr;
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_title_arrow .cml_text_title h1 {
    font-size: clamp(4.4rem, 9vw, 8rem);
    color: rgb(48 195 234 / 20%);
}

/* * End * */

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service span {
    color: var(--cml-blue-light);
}

.cml_cont_services .cml_item_service:nth-child(2) .cml_info_services .cml_card_service .cml_item_card_service .cml_list_price .list .icon-check {
    color: var(--cml-green-light);
}

.cml_cont_services .cml_item_service:nth-child(3) .cml_info_services .cml_title_arrow .cml_text_title h1 {
    color: rgb(139 201 126 / 20%);
}

.cml_cont_services .cml_item_service:nth-child(3) .cml_info_services .cml_card_service .cml_item_card_service {
    background: linear-gradient(0deg, rgba(239, 185, 3, 1) 0%, rgba(139, 201, 126, 1) 100%);
}

.cml_cont_services .cml_item_service:nth-child(3) .cml_info_services .cml_card_service .cml_item_card_service {
    height: auto;
    min-height: 430px;
}

.cml_cont_services .cml_item_service:nth-child(3) .cml_info_services .cml_card_service .cml_item_card_service .cml_list_price .list .icon-check {
    color: var(--cml-yellow);
}

.cml_cont_services .cml_item_service:nth-child(3) .cml_info_services .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service span {
    color: var(--cml-green-light);
}

/* * Promocional * */

.cml_promocional {
    background-image: url('/img/background/banner-promocinal-cumulo.webp');
    padding: 70px 0px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.cml_promocional .cml_title_promocional {
    text-align: center;
    font-size: clamp(1.5rem, 4vw, 3rem);
    font-weight: 800;
    color: var(--cml-white);
}

.cml_promocional .cml-cont-grid {
    display: grid;
    grid-template-columns: 90px 90px 1fr 90px 90px;
    padding: 50px 0 20px;
    gap: 15px 0;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(1) {
    grid-column: 1 / 4;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(2) {
    grid-column: 2 / 5;
    direction: rtl;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(3) {
    grid-column: 3 / 6;
}

.cml_promocional .cml-cont-grid .cml_cont_item {
    display: grid;
    grid-template-columns: 0.45fr 1fr;
    gap: 17px;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_number,
.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img {
    background-color: var(--cml-white);
    width: 100%;
    height: 100%;
    min-height: 260px;
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img {
    display: flex;
    align-items: center;
    gap: 55px;
    padding: 8px 8px 8px 34px;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(2) .cml_text_img {
    direction: ltr;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img .cml-img {
    min-width: calc(250px - 0px);
    width: 100%;
    height: 100%;
    border-radius: 4px;
    overflow: hidden;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img .cml-img img {
    width: 100%;
    height: 100%;
    object-position: center;
    object-fit: cover;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img .cml_text h4 {
    font-weight: 800;
    font-size: clamp(1.35rem, 2vw, 1.6rem);
    margin-bottom: 12px;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(1) .cml_text_img .cml_text h4 {
    color: #49C5CF;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(2) .cml_text_img .cml_text h4 {
    color: #37B9E0;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(3) .cml_text_img .cml_text h4 {
    color: #71C098;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(1) .cml_number h1 {
    color: #45BBD0;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(2) .cml_number h1 {
    color: #40AFE8;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(3) .cml_number h1 {
    color: #7EC48A;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(1) .cml_text_img .cml_btn_default {
    background-color: #49C5CF;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(2) .cml_text_img .cml_btn_default {
    background-color: #37B9E0;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(3) .cml_text_img .cml_btn_default {
    background-color: #71C098;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img .cml_btn_default {
    margin-left: 0;
    transition: all 350ms ease-in-out;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img .cml_btn_default:hover {
    opacity: 0.85;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(1) .cml_text_img .cml_btn_default .cml_btn_arrow_icon .icons_box span {
    color: #49C5CF;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(2) .cml_text_img .cml_btn_default .cml_btn_arrow_icon .icons_box span {
    color: #37B9E0;
}

.cml_promocional .cml-cont-grid .cml_cont_item:nth-child(3) .cml_text_img .cml_btn_default .cml_btn_arrow_icon .icons_box span {
    color: #71C098;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_text_img .cml_text p {
    font-size: 15px;
    line-height: 1.3;
    color: var(--cml-navy-blue);
    opacity: 0.8;
    font-weight: 500;
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_number h1 {
    position: absolute;
    left: -55px;
    bottom: -92px;
    font-weight: 600;
    font-size: clamp(3rem, 16vw, 13.8rem);
}

.cml_promocional .cml-cont-grid .cml_cont_item .cml_number img {
    position: absolute;
    top: -130px;
    right: -100px;
    opacity: 0.2;
    pointer-events: none;
}

/* * About Init * */

.cml_about_pm {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.cml_about_pm .cml_tag_gral {
    color: var(--cml-green-light);
}

.cml_about_pm .cml_cont_client {
    display: grid;
    grid-template-columns: 36% auto;
    gap: 130px;
    align-items: center;
}

.cml_about_pm .cml_about_img {
    height: calc(430px - 0px);
    margin-top: 50px;
    width: 100%;
    overflow: hidden;
    position: relative;
    border-radius: 25px;
    -webkit-border-radius: 25px;
    -moz-border-radius: 25px;
    -ms-border-radius: 25px;
    -o-border-radius: 25px;
}

.cml_about_pm .cml_about_img .simpleParallax {
    height: 100%;
}

.cml_about_pm .cml_about_img .cml_btn_default {
    position: absolute;
    bottom: 40px;
    right: 40px;
}

.cml_about_pm .cml_about_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.cml_about_pm .cml-shape>img {
    position: absolute;
    top: -30px;
    right: 50px;
    opacity: 0.2;
    z-index: 0;
    pointer-events: none;
}

.cml_about_pm .cml_cont_client,
.cml_about_pm .cml_about_img {
    z-index: 1;
    position: relative;
}

/* * Blog * */
.cml_promotional_blog {
    padding: 90px 0;
    background-image: url('/img/background/fondo-cumulo-blog-promocional.webp');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.cml_promotional_blog .cml_item_blog {
    display: block;
}

.cml_promotional_blog .cml_item_blog .cml-img {
    margin: 0;
    position: relative;
    overflow: hidden;
    height: calc(420px - 0px);
}

.cml_promotional_blog .cml_item_blog .cml-img img {
    object-position: center;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform 0.4s ease-in-out;
    -webkit-transition: transform 0.4s ease-in-out;
    -moz-transition: transform 0.4s ease-in-out;
    -ms-transition: transform 0.4s ease-in-out;
    -o-transition: transform 0.4s ease-in-out;
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}

.cml_promotional_blog .cml_item_blog:hover .cml-img img {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

.cml_promotional_blog .cml_item_blog .cml_card_info_blog {
    background-color: var(--cml-white);
    padding: 24px;
    color: var(--cml-navy-blue);
}

.cml_promotional_blog .cml_item_blog .cml_card_info_blog h5 {
    font-weight: 800;
    margin-bottom: 14px;
    transition: color 0.4s ease-in-out;
    -webkit-transition: color 0.4s ease-in-out;
    -moz-transition: color 0.4s ease-in-out;
    -ms-transition: color 0.4s ease-in-out;
    -o-transition: color 0.4s ease-in-out;
}

.cml_promotional_blog .cml_item_blog:hover .cml_card_info_blog h5 {
    color: var(--cml-aqua);
}

.cml_promotional_blog .cml_item_blog .cml_card_info_blog p {
    font-size: 14px;
    opacity: 0.9;
    line-height: normal;

}

.cml_promotional_blog .cml_item_blog .cml_card_info_blog .cml_date_cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    text-decoration: underline;
    opacity: 0.8;
    font-weight: 500;
}

.cml_promotional_blog .cml-grid {
    display: grid;
    grid-template-columns: 0.95fr 1fr;
    gap: 35px;
    align-items: center;
}

.cml_promotional_blog .cml_min_blog .cml_item_blog .cml-img {
    height: calc(180px - 0px);
}

.cml_promotional_blog .cml_min_blog .cml_item_blog .cml_card_info_blog h5 {
    font-size: 14px;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 20px;
}

.cml_promotional_blog .cml_min_blog .cml_item_blog .cml_card_info_blog p {
    display: none;
}

.cml_promotional_blog .cml_min_blog .cml_item_blog .cml_card_info_blog .cml_date_cta {
    font-size: 12px;
}

.cml_promotional_blog .cml_min_blog {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.cml_promotional_blog .cml-grid .cml_title_default {
    text-align: center;
    margin-bottom: 60px;
}

.cml_promotional_blog .cml-grid .cml_title_default h1 {
    color: var(--cml-white);
    font-size: clamp(2rem, 4.8vw, 3.8rem);
    font-style: italic;
}

.cml_promotional_blog .cml-grid .cml_title_default p {
    font-size: 14px;
    color: var(--cml-white);
    width: 55%;
    margin: 0 auto;
}

.cml_promotional_blog .cml_cont_promotional_blog {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.cml_promotional_blog .cml_cont_promotional_blog .cml_btn_default {
    grid-column: 2;
}

/* * Pregntas frecuentes * */
.cml_questions {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.cml_questions .cml_title_default {
    text-align: center;
    margin-bottom: 50px;
}

.cml_questions .cml-grid {
    display: grid;
    grid-template-columns: 1fr 0.6fr;
    gap: 100px;
}

.cml_questions .cml-grid .cml_cont_img {
    margin: 0;
    height: 604px;
    overflow: hidden;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.cml_questions .cml-grid .cml_cont_img img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}

.cml_questions .cml-grid .cml_cont_img .simpleParallax {
    height: 100%;
}

.cml_questions .cml_cont_questions .accordion {
    display: grid;
    gap: 10px;
}

.cml_questions .cml_cont_questions .accordion-item,
.cml_questions .cml_cont_questions .accordion-item .accordion-button {
    background-color: var(--cml-blue);
    color: var(--cml-white);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    font-size: 14px;

}

.cml_questions .cml_cont_questions .accordion-item .accordion-button:not(.collapsed),
.accordion-button:focus {
    box-shadow: none;
}

.cml_questions .cml_cont_questions .accordion-item .accordion-button {
    padding: 22px 24px;
}

.cml_questions .cml_cont_questions .accordion-item .accordion-body {
    opacity: 0.8;
    padding-top: 0;
}

.cml_questions .cml_cont_questions .accordion-item .accordion-button::after {
    width: 34px;
    height: 34px;
    background-color: var(--cml-navy-blue);
    border-radius: 50px;
    display: grid;
    place-content: center;
    content: "add";
    font-family: 'Material Symbols Rounded';
    font-size: 20px;
    color: var(--cml-white);
    background-image: unset;
    font-weight: 300;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.cml_questions .cml_cont_questions .accordion-item .accordion-button:not(.collapsed)::after {
    background-color: var(--cml-aqua);
    content: "remove";
}

.cml_questions .cml-shape img {
    position: absolute;
    top: -240px;
    left: 0;
    z-index: -1;
    opacity: 0.1;
    pointer-events: none;
}

/* * * 07. Footer * * * * * * * * * * * * * */
.cml_footer {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, rgba(32, 59, 138, 1) 0%, rgba(32, 34, 74, 1) 100%);
}

.cml_footer .wrapper {
    height: calc(650px - 0px);
    margin: 0;
}

.cml_footer .wrapper .simpleParallax {
    height: 100%;
}

.cml_footer .wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.cml_footer .cml_footer_wrapper {
    padding: 40px 0;
    display: grid;
    gap: 34px;
    position: relative;
    z-index: 1;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cont-ft p {
    font-size: 14px;
    color: var(--cml-blue);
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 14px;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cont-ft ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cont-ft .link {
    color: var(--cml-white);
    font-size: 14px;
    font-weight: 500;
    display: inline-block;
    transition: 0.35s ease-in-out;
    -webkit-transition: 0.35s ease-in-out;
    -moz-transition: 0.35s ease-in-out;
    -ms-transition: 0.35s ease-in-out;
    -o-transition: 0.35s ease-in-out;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cont-ft .link:hover {
    opacity: 0.5;
}

.cml_footer .cml_footer_wrapper .cml_links_footer {
    display: grid;
    grid-template-columns: 1fr 0.5fr 0.8fr;
    gap: 12px;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_ft_rrss {
    display: flex;
    gap: 8px;
    align-items: center;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_ft_rrss a {
    width: 36px;
    height: 36px;
    border-radius: 50px;
    background-color: var(--cml-white);
    display: grid;
    place-content: center;
    transition: background-color 0.35s ease-in-out;
    -webkit-transition: background-color 0.35s ease-in-out;
    -moz-transition: background-color 0.35s ease-in-out;
    -ms-transition: background-color 0.35s ease-in-out;
    -o-transition: background-color 0.35s ease-in-out;
    flex-shrink: 0;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cont-ft~.cont-ft {
    margin-top: 25px;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_ft_rrss a:hover {
    background-color: var(--cml-aqua);
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_ft_rrss a path {
    transition: fill 0.35s ease-in-out;
    -webkit-transition: fill 0.35s ease-in-out;
    -moz-transition: fill 0.35s ease-in-out;
    -ms-transition: fill 0.35s ease-in-out;
    -o-transition: fill 0.35s ease-in-out;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_ft_rrss a:hover path {
    fill: var(--cml-white);
}

.cml_footer .cml_footer_wrapper .cml_brand_location {
    display: grid;
    gap: 14px;
    margin-top: 30px;
}

.cml_footer .cml_footer_wrapper .cml_brand_location a {
    font-size: 14px;
    color: var(--cml-white);
    opacity: 0.6;
    text-decoration: underline;
    width: fit-content;
    transition: opacity 0.35s ease-in-out;
    -webkit-transition: opacity 0.35s ease-in-out;
    -moz-transition: opacity 0.35s ease-in-out;
    -ms-transition: opacity 0.35s ease-in-out;
    -o-transition: opacity 0.35s ease-in-out;
}

.cml_footer .cml_footer_wrapper .cml_brand_location a:hover {
    opacity: 1;
}

.cml_footer .cml_footer_wrapper .cml_footer_copyright {
    align-items: center;
    display: flex;
    justify-content: space-between;
    color: var(--cml-white);
    font-size: 12px;
    opacity: 0.8;
}

.cml_footer .cml_footer_wrapper .cml_footer_copyright .cml_copyright {
    margin: 0;
}

.cml_footer .cml_footer_wrapper .cml_footer_copyright ul {
    display: flex;
    gap: 22px;
    align-items: center;
}

.cml_footer .cml_footer_wrapper .cml_footer_copyright a {
    color: var(--cml-white);
    display: block;
    text-decoration: underline;
    opacity: 0.8;
    transition: opacity 0.35s ease-in-out;
    -webkit-transition: opacity 0.35s ease-in-out;
    -moz-transition: opacity 0.35s ease-in-out;
    -ms-transition: opacity 0.35s ease-in-out;
    -o-transition: opacity 0.35s ease-in-out;
}

.cml_footer .cml_footer_wrapper .cml_footer_copyright a:hover {
    opacity: 1;
}

.cml_footer .cml-shape img {
    position: absolute;
    right: -20px;
    bottom: -170px;
    z-index: 0;
    width: 910px;
    opacity: 0.02;
}

/* * Newsletter * */
.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter {
    background-color: var(--cml-blue);
    padding: 35px 30px;
    border-radius: 4px;
    overflow: hidden;
    text-align: center;
    background-image: url('/img/background/newsletter-cumulo.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: grid;
    gap: 40px;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_cont_newsletter {
    grid-column: 3;
    margin-top: -60%;
}

.cml_form_news .cml-submit {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: column;
}

.cml_form_news .cml-submit .cml_mail {
    font-size: 14px;
    background: var(--cml-white);
    position: relative;
    width: 100%;
    border: none;
    outline: none;
    color: var(--cml-navy-blue);
    height: 52px;
    padding: 10px 50px 10px 30px;
    border-radius: 50px;
}

.cml_icon_news {
    width: 42px;
    height: 42px;
    border-radius: 50px;
    background-color: var(--cml-green-light);
    display: grid;
    place-content: center;
    color: var(--cml-white);
    flex-shrink: 0;
    position: absolute;
    right: 6px;
    top: 5px;
}

.cml_icon_news span {
    font-size: 21px;
}

.cml_form_news .cml-submit .cml_mail::placeholder {
    color: var(--cml-navy-blue);
}

.cml_btn_news {
    padding: 15px 40px;
    background-color: var(--cml-green-light);
    border-radius: 50px;
    border: none;
    font-size: 14px;
    color: var(--cml-white);
    width: 100%;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cml_form_news {
    display: grid;
    gap: 18px;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cont-text h2 {
    color: var(--cml-white);
    font-weight: 800;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cont-text h2 span {
    color: var(--cml-green-light);
    font-style: italic;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cont-text p {
    font-size: 14px;
    color: var(--cml-white);
    width: 80%;
    margin: 0 auto;
    line-height: normal;
    font-weight: 300;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cml_terminos_bottom .line {
    border-top: 1px solid;
    color: var(--cml-white);
    opacity: 0.2;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cml_terminos_bottom p {
    font-size: 12px;
    color: var(--cml-white);
    font-weight: 300;
    margin: 0;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cml_terminos_bottom p a {
    color: var(--cml-white);
    text-decoration: underline;
    opacity: 0.8;
}

.cml_footer .cml_footer_wrapper .cml_links_footer .cml_newsletter .cml_terminos_bottom {
    display: grid;
    gap: 25px;
}

/* * * 08. Servicios * * * * * * * * * * * * * */
.cml_clients.background {
    background-image: url('/img/background/grandient-nuestros-clientes-cumulo.webp');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.cml_clients.background .cml_title_default h1 {
    color: var(--cml-white);
}

.cml_clients.bg-equipo {
    background: var(--cml-navy-blue);
}

.cml_clients.bg-equipo .cml_title_default h1 {
    color: var(--cml-white);
}

.cml_clients.bg-equipo .cml_tag_gral {
    color: var(--cml-white);
}

.cml_servicios {
    padding: 100px 0;
}

.cml_servicios .cml-grid {
    display: grid;
    grid-template-columns: 0.28fr 1fr;
    gap: 70px;
}

.cml_servicios .cml_sticky_info .cml_info {
    position: sticky;
    top: 100px;
}

.cml_servicios .cml_info>h6 {
    margin-bottom: 17px;
    text-transform: uppercase;
    font-size: 14px;
    color: var(--cml-navy-blue);
    opacity: 0.5;
}

.cml_servicios .cml_info .accordion .accordion-button {
    text-transform: uppercase;
    font-size: 14px;
    color: var(--cml-navy-blue);
    font-weight: 600;
    background-color: rgb(32 34 74 / 2%);
    box-shadow: none;
}

.cml_servicios .cml_info .accordion .accordion-button::after {
    content: "keyboard_arrow_down";
    color: var(--cml-navy-blue);
    font-family: 'Material Symbols Rounded';
    background-image: none;
    font-size: 26px;
    font-weight: 300;
}

.cml_servicios .cml_info .accordion .accordion-item {
    border: none
}

.cml_servicios .cml_info .accordion .accordion-item:nth-child(2),
.cml_servicios .cml_info .accordion .accordion-item:nth-child(3) {
    border-top: 1px solid rgb(0 0 0 / 20%);
}

.cml_servicios .cml_info .accordion .accordion-body {
    font-size: 14px;
    color: var(--cml-navy-blue);
    font-weight: 600;
    opacity: 0.6;
}

.cml_servicios .cml_cont_item {
    display: grid;
    gap: 70px;
}

.cml_servicios .cml_cont_item .cml_info_services .cml_card_service {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.cml_servicios .cml_title_info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 3rem;
    align-items: center;
}

.cml_servicios .cml_title_info .cml_text_title {
    position: relative;
}

.cml_servicios .cml_title_info .cml_text_title h1 {
    font-size: clamp(6rem, 12vw, 10.6rem);
    font-weight: 900;
    text-transform: uppercase;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    z-index: -1;
}

.cml_servicios .cml_title_info .cml_text_title h2 {
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--cml-navy-blue);
    font-weight: 900;
    font-style: italic;
}

.cml_servicios .cml_title_info .cml_text_info {
    font-size: 13px;
    color: var(--cml-navy-blue);
    line-height: 1.4;
    opacity: 0.7;
}


.cml_servicios .cml_cont_item .cml_info_services:nth-child(2) .cml_card_service .cml_item_card_service {
    direction: ltr;
    background: linear-gradient(0deg, rgba(139, 201, 126, 1) 0%, rgba(48, 195, 234, 1) 100%);
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(1) .cml_title_info .cml_text_title h1 {
    color: rgb(86 194 187 / 20%);
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(2) .cml_title_info .cml_text_title h1 {
    font-size: clamp(4.4rem, 9vw, 8rem);
    color: rgb(48 195 234 / 20%);
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(3) .cml_card_service .cml_item_card_service {
    background: linear-gradient(0deg, rgba(239, 185, 3, 1) 0%, rgba(139, 201, 126, 1) 100%);
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(3) .cml_card_service .cml_item_card_service {
    height: auto;
    min-height: 430px;
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(3) .cml_title_info .cml_text_title h1 {
    color: rgb(139 201 126 / 20%);
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(3) {
    margin-top: 30px;
}

.cml_servicios .cml_cont_item .cml_info_services .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    font-family: 'Material Symbols Rounded';
    font-size: 20px;
    font-weight: 300;
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(1) .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    content: "database_upload";
    color: var(--cml-aqua);
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(2) .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    content: "cloud_lock";
    color: var(--cml-blue-light);
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(3) .cml_card_service .cml_item_card_service .cml_tag_sv .icon-service::after {
    content: "shield_locked";
    color: var(--cml-green-light);
}


.cml_servicios .cml_cont_item .cml_info_services .cml_card_service .cml_item_card_service::after {
    font-family: 'Material Symbols Rounded';
    position: absolute;
    font-size: 390px;
    left: -120px;
    bottom: -178px;
    z-index: 0;
    color: var(--cml-navy-blue);
    opacity: 0.05;
    font-weight: 500;
    pointer-events: none;
}


.cml_servicios .cml_cont_item .cml_info_services:nth-child(1) .cml_card_service .cml_item_card_service::after {
    content: "database_upload";
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(2) .cml_card_service .cml_item_card_service::after {
    content: "cloud_lock";
}

.cml_servicios .cml_cont_item .cml_info_services:nth-child(3) .cml_card_service .cml_item_card_service::after {
    content: "shield_locked";
}


/* * Compromiso * */
.cml_compromiso {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.cml_compromiso::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgb(255 255 255 / 20%);
    position: absolute;
    left: 0;
    bottom: 0;
    backdrop-filter: blur(300px);
    z-index: -1;
}

.cml_compromiso .cml_cont_client {
    text-align: center;
    margin-bottom: 60px;
}

.cml_compromiso .cml_grid_icon .cml_icon_compomiso {
    width: 90px;
    height: 90px;
    border-radius: 50px;
    background-color: rgb(86 194 187 / 20%);
    display: grid;
    place-content: center;
    overflow: hidden;
    margin: 0 auto;
    margin-bottom: 20px;
}

.cml_compromiso .cml_grid_icon {
    display: grid;
    gap: 45px 45px;
    grid-template-columns: repeat(6, 1fr);

}

.cml_compromiso .cml_grid_icon .cml_item_compromiso h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--cml-navy-blue);
}

.cml_compromiso .cml_grid_icon .cml_item_compromiso p {
    font-size: 14px;
    opacity: 0.7;
    line-height: normal;
}

.cml_compromiso .cml_grid_icon .cml_item_compromiso {
    text-align: center;
    color: var(--cml-navy-blue);
}

.cml_compromiso .cml_grid_icon .cml_item_compromiso:nth-child(1),
.cml_compromiso .cml_grid_icon .cml_item_compromiso:nth-child(6) {
    grid-column: 2 / 4;
}

.cml_compromiso .cml_grid_icon .cml_item_compromiso:nth-child(2),
.cml_compromiso .cml_grid_icon .cml_item_compromiso:nth-child(7) {
    grid-column: 4 / 6;
}

.cml_compromiso .cml_grid_icon .cml_item_compromiso:nth-child(3) {
    grid-column: 1 / 3;
}

.cml_compromiso .cml_grid_icon .cml_item_compromiso:nth-child(4) {
    grid-column: 3 / 5;
}

.cml_compromiso .cml_grid_icon .cml_item_compromiso:nth-child(5) {
    grid-column: 5 / 7;
}

.cml_compromiso .cml-shape img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* * Misión & Visión * */

.cml_vision_mision {
    position: relative;
}

.cml_vision_mision .sticky-image {
    position: sticky;
    top: 0;
    height: 100vh;
    background-image: url('/img/resources/mision-y-vision-cumulo.webp');
    background-size: cover;
    background-position: center;
    z-index: 1;
    background-blend-mode: multiply;
    background-color: rgb(32 34 74 / 90%);
}

.cml_vision_mision .text-panels {
    position: relative;
    z-index: 2;
    margin-top: -160vh;
    padding: 100vh 100px 0;
    color: var(--cml-white);
}

.cml_vision_mision .panel {
    min-height: 100vh;
    display: flex;
    gap: 80px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cml_vision_mision .text-panels .cml_text_mv {
    position: relative;
}

.cml_vision_mision .text-panels .cml_text_mv h2 {
    font-size: clamp(2.4rem, 5vw, 3.8rem);
    font-weight: 900;
}

.cml_vision_mision .text-panels .cml_text_mv h1 {
    font-size: clamp(5rem, 14.5vw, 12.5rem);
    text-transform: uppercase;
    font-weight: 900;
    color: rgb(255 255 255 / 10%);
    position: absolute;
    display: grid;
    place-content: center;
    height: 100%;
    width: 100%;
    z-index: -1;
}

.cml_vision_mision .text-panels .cml_text_mv h2 span {
    color: var(--cml-aqua);
    font-style: italic;
}

.cml_vision_mision .text-panels p {
    font-size: 30px;
    text-align: center;
    opacity: 0.8;
    font-weight: 600;
}

/* * Historia * */

.cml_historia {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
}

.cml_historia .cml_grid_historia {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin-left: 30px;
}

.cml_historia .cml_grid_historia .cml_item_historia {
    background-color: var(--cml-green-light);
    border-radius: 20px;
    overflow: hidden;
    padding: 20px;
    display: grid;
    gap: 50px;
    place-content: center;
}

.cml_historia .cml_grid_historia .cml_item_historia .cml_number {
    width: 58px;
    height: 58px;
    border-radius: 50px;
    font-size: 26px;
    font-weight: 700;
    background-color: var(--cml-white);
    display: grid;
    place-content: center;
    color: var(--cml-navy-blue);
}

.cml_historia .cml_img {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    height: 100%;
}

.cml_historia .cml_img img {
    height: 100%;
    width: 100%;
    object-position: center center;
    object-fit: cover;
}

.cml_historia .cml_img .simpleParallax {
    height: 100%;
}

.cml_historia .cml_grid_historia .cml_item_historia .cml_info {
    color: var(--cml-navy-blue);
}

.cml_historia .cml_grid_historia .cml_item_historia .cml_info p {
    font-size: 14px;
    line-height: normal;
}

.cml_historia .cml_grid_historia .cml_item_historia .cml_info h5 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 12px;
}

.cml_historia .cml-shape img {
    position: absolute;
    right: -270px;
    top: 0;
    z-index: -1;
    opacity: 0.12;
}

.cml_historia .cml_cont_client {
    margin-bottom: 40px;
}

/* * * 09. Hero Banner Blog * * * * * * * * * * * * * * * */

.cml_blog_hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    background: linear-gradient(0deg, rgba(7, 8, 31, 0.65), rgba(7, 8, 31, 0.65)),
                url('/img/background/fondo-wavy-glass-blog.webp') no-repeat center center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: clamp(120px, 14vh, 160px);
    padding-bottom: clamp(60px, 8vh, 90px);
    overflow: hidden;
}

.cml_blog_hero .container {
    position: relative;
    z-index: 1;
}

.cml_blog_hero_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 1005px;
    margin: 0 auto;
    gap: clamp(32px, 5vw, 50px);
}

.cml_blog_hero_text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    max-width: 900px;
}

.cml_blog_hero_title {
    font-family: 'Cera Pro', sans-serif;
    font-weight: 700;
    font-size: clamp(2.2rem, 5vw, 4.375rem);
    line-height: 1.1;
    color: #FFFFFF;
    margin: 0;
    letter-spacing: -0.01em;
}

.cml_blog_hero_title .cml_gradient_text {
    display: inline-block;
    font-style: italic;
    font-weight: 700;
    background: linear-gradient(89.82deg, #30C3EA 9.26%, #FDDD09 90.89%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
}

.cml_blog_hero_desc {
    font-family: 'Cera Pro', sans-serif;
    font-size: clamp(14px, 1.6vw, 16px);
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.85);
    max-width: 560px;
    margin: 4px 0 0;
    font-weight: 400;
}

/* Buscador */
.cml_blog_hero_search_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    max-width: 700px;
}

.cml_blog_hero_form {
    width: 100%;
}

.cml_blog_hero_input_wrap {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: 55px;
    padding: 0 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(242, 242, 242, 0.2);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 60px;
    position: relative;
    transition: all 0.25s ease-in-out;
}

.cml_blog_hero_input_wrap:focus-within {
    background: rgba(255, 255, 255, 0.12);
    border-color: #30C3EA;
    box-shadow: 0 0 16px rgba(48, 195, 234, 0.25);
}

.cml_blog_hero_input_wrap .search-icon {
    font-size: 22px;
    color: #FFFFFF;
    opacity: 0.8;
    margin-right: 12px;
    flex-shrink: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, color 0.2s ease;
}

.cml_blog_hero_input_wrap:focus-within .search-icon {
    opacity: 1;
    color: #30C3EA;
}

.cml_blog_hero_input {
    flex: 1;
    height: 100%;
    background: transparent;
    border: none;
    outline: none;
    font-family: inherit;
    font-size: 15px;
    color: #FFFFFF;
    font-weight: 400;
}

.cml_blog_hero_input::placeholder {
    color: rgba(255, 255, 255, 0.7);
    font-size: 15px;
    font-weight: 300;
}

.cml_blog_hero_clear {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    margin-left: 8px;
    transition: all 0.2s ease;
}

.cml_blog_hero_clear:hover {
    color: #ff5e62;
    background: rgba(255, 255, 255, 0.12);
}

.cml_blog_hero_clear .material-symbols-rounded {
    font-size: 18px;
}

/* Píldoras de Categorías */
.cml_blog_hero_pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 10px;
    width: 100%;
}

.cml_hero_pill {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    height: 34px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-radius: 50px;
    font-size: 13px;
    line-height: 16px;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 400;
    transition: all 0.2s ease-in-out;
    white-space: nowrap;
}

.cml_hero_pill:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.35);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.cml_hero_pill.is-active {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid #30C3EA;
    box-shadow: 0px 0px 14px rgba(48, 195, 234, 0.22);
    backdrop-filter: blur(3.5px);
    -webkit-backdrop-filter: blur(3.5px);
    color: #FFFFFF;
    font-weight: 500;
}

.cml_blog_hero.cml_blog_hero--empty {
    background: linear-gradient(0deg, rgba(7, 8, 31, 0.65), rgba(7, 8, 31, 0.65)),
                url('/img/background/fondo-wavy-glass-blog-search.webp') no-repeat center center;
    background-size: cover;
}

.cml_blog_hero_empty_action {
    margin-top: 24px;
    display: flex;
    justify-content: center;
    width: 100%;
}

.cml_blog_hero_empty_action .cml_btn_default {
    margin: 0 auto;
}

/* Conexión con la sección de artículos */
.cml_blog_hero + .cml_blog {
    margin-top: 0;
    padding-top: 60px;
}

@media (max-width: 768px) {
    .cml_blog_hero {
        min-height: 100vh;
        min-height: 100dvh;
        padding-top: 110px;
        padding-bottom: 50px;
    }
    .cml_blog_hero_content {
        gap: 28px;
    }
    .cml_blog_hero_title {
        font-size: 32px;
    }
    .cml_blog_hero_title .cml_gradient_text {
        display: block;
    }
    .cml_blog_hero_desc {
        font-size: 14px;
        padding: 0 10px;
    }
    .cml_blog_hero_input_wrap {
        height: 50px;
        padding: 0 16px;
    }
    .cml_blog_hero_input {
        font-size: 14px;
    }
    .cml_blog_hero_input::placeholder {
        font-size: 13px;
    }
    .cml_hero_pill {
        padding: 6px 14px;
        font-size: 12px;
        height: 30px;
    }
}

/* * * 09. Blog * * * * * * * * * * * * * * * */

.cml_blog {
    padding: 100px 0;
    margin-top: 70px;
    position: relative;
    overflow: hidden;
}

.cml_blog::before {
    content: "";
    position: absolute;
    top: -15rem;
    right: -46rem;
    display: inline-block;
    width: 80rem;
    height: 85rem;
    background: url('/img/shape/shape-secondary-cumulo-c.svg') no-repeat center center;
    background-size: contain;
    z-index: -1;
    opacity: 0.07;
    pointer-events: none;
}

.cml_blog::after {
    content: "";
    position: absolute;
    bottom: 5rem;
    left: -53rem;
    display: inline-block;
    width: 100rem;
    height: 110rem;
    background: url('/img/shape/shape-secondary-cumulo-c.svg') no-repeat center center;
    background-size: contain;
    z-index: -1;
    opacity: 0.07;
    pointer-events: none;
    transform: scaleX(-1);
}

.cml_blog .cml_cont_client {
    text-align: center;
    margin-bottom: 60px;
}

.cml_blog .cml_content_blog .cml_item_blog_view {
    display: block;
}

.cml_blog .cml_content_blog .cml_item_blog_view .cml-img {
    margin: 0;
    position: relative;
    overflow: hidden;
    height: calc(400px - 0px);
}

.cml_blog .cml_content_blog .cml_item_blog_view .cml-img .simpleParallax {
    height: 100%;
}

.cml_blog .cml_content_blog .cml_item_blog_view .cml-img img {
    object-position: center;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.cml_blog .cml_content_blog .cml_item_blog_view:hover .cml-img img {
    transition: transform 0.4s ease-in-out !important;
    -webkit-transition: transform 0.4s ease-in-out !important;
    -moz-transition: transform 0.4s ease-in-out !important;
    -ms-transition: transform 0.4s ease-in-out !important;
    -o-transition: transform 0.4s ease-in-out !important;
    transform: scale(1) !important;
    -webkit-transform: scale(1) !important;
    -moz-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    -o-transform: scale(1) !important;
}

.cml_blog .cml_content_blog {
    display: grid;
    gap: 70px 20px;
    grid-template-columns: repeat(12, 1fr);
    /* grid-template-rows: repeat(2, auto) 20px auto; */
}

.cml_blog .cml_content_blog .cml_item_blog_view .cml_card_info_blog {
    padding: 24px;
    color: var(--cml-navy-blue);
    padding-left: 0;
}

.cml_blog .cml_content_blog .cml_item_blog_view .cml_card_info_blog h5 {
    font-weight: 800;
    color: var(--cml-blue);
    margin-bottom: 14px;
    transition: color 0.4s ease-in-out;
    -webkit-transition: color 0.4s ease-in-out;
    -moz-transition: color 0.4s ease-in-out;
    -ms-transition: color 0.4s ease-in-out;
    -o-transition: color 0.4s ease-in-out;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.cml_blog .cml_content_blog .cml_item_blog_view:hover .cml_card_info_blog h5 {
    color: var(--cml-navy-blue);
}

.cml_blog .cml_content_blog .cml_item_blog_view .cml_card_info_blog p {
    font-size: 14px;
    opacity: 0.7;
    line-height: normal;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.cml_blog .cml_content_blog .cml_item_blog_view .cml_card_info_blog .cml_date_cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    text-decoration: underline;
    opacity: 0.8;
    font-weight: 500;
}

.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+1) {
    grid-column: 1/7;
}

.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(2) {
    place-content: end;
}

.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+2),
.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+4) {
    grid-column: 8/13;
}

.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+2) .cml-img,
.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+3) .cml-img,
.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+4) .cml-img {
    height: 320px;
}

.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+2) h5,
.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+3) h5,
.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+4) h5 {
    font-size: 18px;
}

.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+3) {
    grid-column: 3/8;
}


.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+5) {
    grid-column: 1/7;
    margin-right: 45px;
    grid-row: 3 / 5;
}

.cml_blog .cml_content_blog .cml_item_blog_view:nth-child(6n+6) {
    grid-column: 7/13;
    grid-row: 4 / 5;
}

/* * Paginador Blog * */

.cml_blog .cml_blog_pagination {
    margin-top: 50px;
}

.cml_blog .cml_blog_pagination .pagination {
    gap: 10px;
    justify-content: center;
}

.cml_blog .cml_blog_pagination .pagination>li.active>span {
    color: var(--cml-blue);
    background-color: var(--cml-white);
}

.cml_blog .cml_blog_pagination .pagination>li>a:hover {
    background-color: rgb(32 34 74 / 20%);
    border: 1px solid rgb(32 34 74 / 10%);
}

.cml_blog .cml_blog_pagination .pagination>li>a,
.cml_blog .cml_blog_pagination .pagination>li>span {
    font-weight: 800;
    color: var(--cml-white);
    border-radius: 50px;
    width: 45px;
    height: 45px;
    display: grid;
    place-content: center;
    justify-content: center;
    background-color: var(--cml-blue);
    border: 1px solid var(--cml-blue);
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
}

.gs_main_blogs .gs_blog_pagination .pagination>li:first-child>a,
.gs_main_blogs .gs_blog_pagination .pagination>li:last-child>a,
.gs_main_blogs .gs_blog_pagination .pagination>li:first-child>span,
.gs_main_blogs .gs_blog_pagination .pagination>li:last-child>span {
    font-size: 18px;
}

.gs_main_blogs .gs_blog_pagination .pagination>li:first-child>a,
.gs_main_blogs .gs_blog_pagination .pagination>li:last-child>a,
.gs_main_blogs .gs_blog_pagination .pagination>li:first-child>span,
.gs_main_blogs .gs_blog_pagination .pagination>li:last-child>span {
    color: var(--gs-black);
    background-color: var(--gs-white-two);
    border: transparent;
    padding: 11px 21px;
}

/* * * 10. Blog Details * * * * * * * * * * * * * * * */

.cml_blog_detail {
    position: relative;
    overflow: hidden;
}

.cml_blog_detail .cml_information_blog {
    margin: 0 auto;
    width: 60%;
}

.cml_blog_detail .cml_article_header {
    background-image: url('/img/background/gradient-title-article.webp');
    background-position: center;
    background-size: cover;
    color: var(--cml-white);
    padding: 50px 70px;
    display: grid;
    gap: 30px;
    position: relative;
    margin-top: -20%;
    grid-column: 3 / 13;
    overflow: hidden;
}

.cml_blog_detail .cml_article_header::before {
    content: "";
    position: absolute;
    top: -17rem;
    left: 10rem;
    display: inline-block;
    width: 85rem;
    height: 80rem;
    background: url('/img/shape/shape-cumulo-nuestra-historia.svg') no-repeat center center;
    background-size: contain;
    z-index: 0;
    opacity: 0.05;
    pointer-events: none;
}

.cml_blog_detail .cml_article_header .cml_info_user {
    display: flex;
    gap: 40px;
    align-items: center;
}

.cml_blog_detail .cml_article_header .cml_info_user .cml_item {
    display: flex;
    align-items: center;
    gap: 6px;
    opacity: 0.9;
}

.cml_blog_detail .cml_article_header .cml_info_user .cml_item span {
    font-size: 18px;
    font-variation-settings: 'FILL'1;
}

.cml_blog_detail .cml_article_header .cml_info_user .cml_item h6 {
    margin: 0;
    font-size: 14px;
    text-decoration: underline;
}

.cml_blog_detail .cml_article_header .cml_article_title {
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2.5rem);
}

.cml_blog_detail .cml_article_header .cml_article_text {
    font-weight: 300;
}

.cml_blog_detail .cml_article_header .cml_article_share .cml_icon_share {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.cml_blog_detail .cml_article_header .cml_article_share .cml_icon_share h6 {
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: underline;
    margin: 0;
    font-weight: 300;
}

.cml_blog_detail .cml_article_header .cml_article_share .cml_icon_share span {
    font-variation-settings: 'FILL'1;
}

.cml_blog_detail .cml_article_header .cml_article_share .cml_rrss_article_share {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cml_blog_detail .cml_article_header .cml_article_share .cml_rrss_article_share .cml_btn_default {
    margin: 0;
}

.cml_blog_detail .cml_article_header .cml_article_share .cml_rrss_article_share .cml_btn_default .cml_btn_arrow_icon {
    display: grid;
    place-content: center;
}

.cml_blog_detail .cml_article_header .cml_article_share .cml_rrss_article_share .cml_btn_default .cml_btn_arrow_icon span {
    font-weight: 400;
}

.cml_blog_detail .cml_article_header .cml_article_share {
    display: grid;
    gap: 20px;
}

.cml_blog_detail .cml_wrapper_article {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
}

.cml_blog_detail .cml_article_header .cml_info_user,
.cml_blog_detail .cml_article_header .cml_article_title,
.cml_blog_detail .cml_article_header .cml_article_text,
.cml_blog_detail .cml_article_header .cml_article_share {
    max-width: calc(100% - 30%);
}

.cml_blog_detail .cml_information_blog .cml_article_content {
    padding: 50px 0;
}

.cml_blog_detail .cml_information_blog .cml_article_content p {
    color: var(--cml-navy-blue);
    line-height: 26px;
}

.cml_blog_detail .cml_information_blog .cml_article_content img {
    margin: 20px 0 40px;
}

.cml_blog_detail .cml_last_article {
    position: relative;
    overflow: hidden;
    padding: 80px 0;
    border-top: 1px solid rgb(32 34 74 / 10%);
}

.cml_blog_detail .cml_last_article .cml_cont_client {
    margin-top: 100px;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view {
    display: block;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view .cml-img {
    margin: 0;
    position: relative;
    overflow: hidden;
    height: calc(430px - 0px);
}

.cml_blog_detail .cml_last_article .cml_item_blog_view .cml-img .simpleParallax {
    height: 100%;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view .cml-img img {
    object-position: center;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view .cml_card_info_blog {
    padding: 24px;
    color: var(--cml-navy-blue);
    padding-left: 0;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view .cml_card_info_blog h5 {
    font-weight: 800;
    color: var(--cml-blue);
    margin-bottom: 14px;
    transition: color 0.4s ease-in-out;
    -webkit-transition: color 0.4s ease-in-out;
    -moz-transition: color 0.4s ease-in-out;
    -ms-transition: color 0.4s ease-in-out;
    -o-transition: color 0.4s ease-in-out;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view .cml_card_info_blog p {
    font-size: 14px;
    opacity: 0.7;
    line-height: normal;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view .cml_card_info_blog .cml_date_cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    text-decoration: underline;
    opacity: 0.8;
    font-weight: 500;
}

.cml_blog_detail .cml_last_article .cml_item_blog_view:hover .cml_card_info_blog h5 {
    color: var(--cml-navy-blue);
}

.cml_blog_detail .cml_last_article .cml_item_blog_view:hover .cml-img img {
    transition: transform 0.4s ease-in-out !important;
    -webkit-transition: transform 0.4s ease-in-out !important;
    -moz-transition: transform 0.4s ease-in-out !important;
    -ms-transition: transform 0.4s ease-in-out !important;
    -o-transition: transform 0.4s ease-in-out !important;
    transform: scale(1) !important;
    -webkit-transform: scale(1) !important;
    -moz-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    -o-transform: scale(1) !important;
}

.cml_blog_detail .cml_last_article::after {
    content: "";
    position: absolute;
    top: 20px;
    left: 60px;
    display: inline-block;
    width: 70rem;
    height: 55rem;
    background: url('/img/shape/shape-last-blog.svg') no-repeat center center;
    background-size: contain;
    z-index: -1;
    opacity: 0.1;
    pointer-events: none;
}


/* * * 11. Menu carrito de compras  * * * * * * * * * * * * * */

.cml_cart_shopping {
    width: 410px;
    position: fixed;
    display: flex;
    background-color: var(--cml-white);
    /* padding-bottom en 0: el drawer completo tenia 30px de aire abajo,
       separando el bloque de Subtotal/IVA/Total/boton/leyenda del borde
       real de la pantalla. Se quita aqui y se le da su propio padding
       (mas chico) directo a .cml_continue_shopping, para que ese bloque
       quede pegado al fondo de la pagina en vez de flotando con margen. */
    padding: 30px 20px 0;
    /* Altura del drawer:
       - 100dvh se recalculaba al ocultarse/mostrarse la barra de
         direcciones del navegador móvil (ej. al tocar "+"), haciendo
         "saltar" todo el drawer, incluido el subtotal.
       - top:0 + bottom:0 asumía que position:fixed siempre se ajusta al
         viewport visible real, pero en Chrome/Android con la barra de
         direcciones VISIBLE al abrir el carrito, el drawer terminaba más
         alto que lo visible en pantalla, dejando el botón "Continuar con
         el pago" fuera del área visible (como si todo se viera "subido").
       - 100svh (small viewport height) es la altura mínima garantizada
         del viewport (con la barra de direcciones siempre visible) y NO
         se recalcula al interactuar, así que el drawer nunca sobrepasa lo
         visible y tampoco salta. */
    top: 0;
    height: 100vh;
    height: 100svh;
    box-sizing: border-box;
    right: 0;
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
    -webkit-transition: transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out;
    -ms-transition: transform 0.3s ease-in-out;
    -o-transition: transform 0.3s ease-in-out;
}

.cml_cart_shopping.view {
    transform: translateX(0px);
    -webkit-transform: translateX(0px);
    -moz-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
}

.cml_cart_shopping > .container {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#overlay_bg {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 99;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
}

#overlay_bg.view {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.cml_cart_shopping .cml_header_shopping {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cml_cart_shopping .cml_header_shopping h4 {
    font-size: 26px;
    font-weight: 800;
    color: var(--cml-navy-blue);
    margin: 0;
    display: flex;
    align-items: start;
}

.cml_cart_shopping .cml_header_shopping h4>span {
    font-size: 20px;
}

.cml_cart_shopping .cml_header_shopping>span {
    font-size: 35px;
    cursor: pointer;
    color: var(--cml-navy-blue);
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
}

.cml_cart_shopping .cml_header_shopping>span:hover {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    color: rgb(32 34 74 / 80%);
}

.cml_cart_shopping .cml_cart_empty h2 {
    font-weight: 800;
    font-style: italic;
    width: calc(100% - 20%);
    text-align: center;
}

.cml_cart_shopping .cml_cart_empty {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px;
}

.cml_cart_shopping .cml_cart_empty .cml_btn_default {
    width: 100%;
    justify-content: end;
    gap: 50px;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding-bottom: 16px;
    color: var(--cml-navy-blue);
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_wrapper_img {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_wrapper_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_info_cart .cml_tag_cart {
    background-color: var(--cml-navy-blue);
    color: var(--cml-white);
    font-size: 11px;
    padding: 3px 12px;
    text-transform: uppercase;
    border-radius: 50px;
    width: fit-content;
    line-height: normal;
    margin-bottom: 4px;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_info_cart .cml_name_item_cart {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    font-size: 14px;
    font-weight: 600;
    margin: 8px 0 0;
    padding-bottom: 4px;
    cursor: default;
    user-select: none;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_info_cart .cml_price_item_cart {
    font-weight: 800;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_info_cart .cml_price_item_cart span {
    font-size: 14px;
    font-weight: 600;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_content_item_cart {
    display: flex;
    justify-content: space-between;
    width: 100%;
}


.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_item_actions_cart>span {
    font-size: 22px;
    color: #1C1B1F;
    font-weight: 300;
    cursor: pointer;
    transition: color 0.3s ease-in-out;
    -webkit-transition: color 0.3s ease-in-out;
    -moz-transition: color 0.3s ease-in-out;
    -ms-transition: color 0.3s ease-in-out;
    -o-transition: color 0.3s ease-in-out;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_item_actions_cart>span:hover {
    color: rgb(28 27 31 / 60%);
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_item_actions_cart {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: space-between;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_item_actions_cart .cml_counter_card_item {
    display: inline-flex;
    align-items: center;
    background-color: rgb(32 34 74 / 10%);
    border: 1px solid rgb(32 34 74 / 10%);
    border-radius: 50px;
    padding: 4px 10px;
    gap: 10px;
    width: 80px;
    justify-content: center;
    cursor: pointer;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_item_actions_cart .cml_counter_card_item button {
    background: none;
    border: none;
    cursor: pointer;
    display: grid;
    place-content: center;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_item_actions_cart .cml_counter_card_item #quantity {
    font-size: 12px;
    font-weight: bold;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_item_actions_cart .cml_counter_card_item button span {
    font-size: 15px;
    font-weight: 600;
}

.cml_cart_shopping .cml_body_shopping {
    display: grid;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
    gap: 16px;
}

.cml_cart_shopping .cml_body_shopping .cml_item_cart .cml_info_cart .cml_name_item_cart {
    position: relative;
    color: var(--cml-navy-blue);
    text-decoration: none;
    cursor: default;
    user-select: none;
}

.cml_cart_shopping .cml_continue_shopping .cml_subtotal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--cml-navy-blue);
}

/* Fila de IVA: mismo layout que Subtotal pero con menor peso visual
   (fuente más chica, sin negrita, gris) porque es informativo, no el
   monto que el usuario va a pagar. */
.cml_cart_shopping .cml_continue_shopping .cml_subtotal_secondary {
    margin-top: -8px;
}

.cml_cart_shopping .cml_continue_shopping .cml_subtotal_secondary>h5,
.cml_cart_shopping .cml_continue_shopping .cml_subtotal_secondary .cml_price_iva {
    font-size: 14px;
    font-weight: 400;
    color: #6b7280;
    margin: 0;
}

/* Fila de Total: mismo tamaño que Subtotal pero SIN underline (el
   underline queda reservado para Subtotal, que ya lo usaba) y con el
   monto en el azul oscuro de marca para que destaque como el monto
   final a pagar. */
.cml_cart_shopping .cml_continue_shopping .cml_subtotal_total {
    padding-top: 8px;
    border-top: 1px solid rgb(32 34 74 / 12%);
}

.cml_cart_shopping .cml_continue_shopping .cml_subtotal_total>h5,
.cml_cart_shopping .cml_continue_shopping .cml_subtotal_total .cml_price_grand_total {
    font-size: 18px;
    font-weight: 700;
    color: var(--cml-navy-blue);
    margin: 0;
}

.cml_cart_shopping .cml_continue_shopping .cml_subtotal>h5,
.cml_cart_shopping .cml_continue_shopping .cml_subtotal .cml_price_total {
    font-size: 18px;
    font-weight: 700;
    font-style: italic;
    margin: 0;
}

.cml_cart_shopping .cml_continue_shopping .cml_subtotal .cml_price_total {
    text-decoration: underline;
}

.cml_cart_shopping .cml_content_cart {
    margin-top: 50px;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.cml_cart_shopping .cml_continue_shopping .cml_leyenda_pay {
    font-size: 12px;
    text-align: center;
    display: block;
    line-height: normal;
    width: calc(100% - 10%);
}

.cml_cart_shopping .cml_continue_shopping {
    display: grid;
    flex: 0 0 auto;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    /* Padding propio (mas chico que los 30px que traia el drawer completo)
       para que quede pegado al fondo real de la pagina, con solo un poco
       de aire para que la leyenda no toque el borde de la pantalla. */
    padding-bottom: 20px;
    border-top: 1px solid rgb(32 34 74 / 12%);
    background-color: var(--cml-white);
}

.cml_cart_shopping .cml_continue_shopping .cml_btn_default {
    width: 100%;
    border: none;
    justify-content: end;
    gap: 55px;
}

/* * * 12. Términos & condiciones * * * * * * * * * * * * * * * */
.df_terminos {
    padding: 100px 0;
    margin-top: 75px;
}

.df_terminos .df_terminos_content {
    width: 80%;
    margin: 0 auto;
}

.df_terminos .df_terminos_content .text_title {
    text-align: center;
    font-size: clamp(2rem, 5vw, 3.2rem);
    color: var(--cml-navy-blue);
    font-weight: 900;
    padding-bottom: 4rem;
    margin: 0 auto;
}

.df_terminos .df_terminos_content .df_terminos_body {
    display: grid;
    gap: 30px;
}

.df_terminos .df_terminos_content .df_terminos_body p {
    font-weight: 400;
    color: var(--cml-navy-blue);
    font-size: clamp(0.9rem, 1.1vw, 1rem);
}

.df_terminos .df_terminos_content .df_terminos_body h4 {
    font-size: clamp(0.8rem, 4vw, 1.4rem);
    color: var(--cml-green-light);
    font-weight: bold;
}

@media (max-width: 1200px) {
    .df_terminos {
        padding: 80px 0;
    }
}

@media (max-width: 992px) {
    .df_terminos .df_terminos_content {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .df_terminos .df_terminos_content .text_title {
        width: 100%;
        padding-bottom: 50px;
    }

    .df_terminos {
        padding: 60px 0;
    }
}

/* * * 13. Menu Móvil * * * * * * * * * * * * * * * */

.cml_header .navbar-hamburger {
    display: none;
    cursor: pointer;
    width: fit-content;
}

.cml_header .navbar-hamburger .item-navbar {
    background: var(--cml-white);
    height: 1.8px;
    transition: transform .8s cubic-bezier(.18, .71, .11, 1), background 1s cubic-bezier(.18, .71, .11, 1);
    width: 34px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.cml_header .navbar-hamburger .item-navbar:first-child {
    margin-bottom: 5px;
}


.cml_navbar_menu {
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(239, 239, 239, 1) 100%);
    height: 100dvh;
    left: 0;
    padding: 15vh 15px 20vh;
    pointer-events: none;
    position: fixed;
    top: 0;
    transform: translate(-100%);
    transition: transform .8s cubic-bezier(.18, .71, .11, 1);
    width: 100%;
    z-index: 70;
}

.cml_navbar_menu.show {
    pointer-events: inherit;
    transform: translate(0);
}

.cml_navbar_menu .navbar_menu_list {
    flex-direction: column;
    gap: 1.2rem;
    display: flex;
}

.cml_navbar_menu .navbar_menu_list li .navbar_link {
    font-size: 28px;
    color: var(--cml-navy-blue);
    font-weight: 600;
}

.cml_header.menu .navbar-hamburger .item-navbar {
    background: var(--cml-navy-blue);
}

.cml_header.menu .navbar-hamburger .item-navbar:first-child {
    transform: translateY(0) scaleX(.8) rotate(40deg);
    margin-bottom: 0px;
}

.cml_header.menu .navbar-hamburger .item-navbar:last-child {
    transform: translateY(-2px) scaleX(.8) rotate(-40deg);
}

.cml_navbar_menu .cml_ft_rrss {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 1rem;
}

.cml_navbar_menu .cml_ft_rrss a {
    width: 42px;
    height: 42px;
    border-radius: 50px;
    background-color: var(--cml-blue);
    display: grid;
    place-content: center;
    transition: background-color 0.35s ease-in-out;
    -webkit-transition: background-color 0.35s ease-in-out;
    -moz-transition: background-color 0.35s ease-in-out;
    -ms-transition: background-color 0.35s ease-in-out;
    -o-transition: background-color 0.35s ease-in-out;
    flex-shrink: 0;
}

.cml_navbar_menu .cml_ft_rrss a svg {
    width: 20px;
}

.cml_navbar_menu .cml_ft_rrss a svg path {
    fill: var(--cml-white);
}

.cml_header.menu {
    background-color: transparent;
    box-shadow: none;
}

.cml_header.menu .cml_cart_user .cml_cont_tab svg path {
    stroke: var(--cml-navy-blue);
}

.cml_header.menu .cml_cart_user .cml_cont_tab .divisor {
    background: var(--cml-navy-blue);
}

.cml_navbar_menu .cont-ft-cta {
    margin-top: 1rem;
}

.cml_navbar_menu .cont-ft-cta p {
    font-size: 14px;
    color: var(--cml-blue);
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 14px;
}

.cml_navbar_menu .cont-ft-cta ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: grid;
    gap: 8px;
}

.cml_navbar_menu .cont-ft-cta .link {
    color: var(--cml-navy-blue);
    font-size: 16px;
    font-weight: 500;
    display: inline-block;
    transition: 0.35s ease-in-out;
    -webkit-transition: 0.35s ease-in-out;
    -moz-transition: 0.35s ease-in-out;
    -ms-transition: 0.35s ease-in-out;
    -o-transition: 0.35s ease-in-out;
}

.validation-message {
    color: var(--cml-white);
    padding-top: 0px;
}

.cml_equipo_team {
    position: relative;
    overflow: hidden;
}

.cml_equipo_team .cml_cont_client {
    text-align: center;
}

.cml_equipo {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.cml_equipo::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 230px;
    z-index: -1;
    pointer-events: none;
    background: var(--cml-navy-blue);
}

.cml_equipo.cml_equipo--partners::after {
    height: 100%;
}

.cml_equipo.cml_equipo--partners .cml_title_default h1 {
    color: var(--cml-white);
}

.cml_equipo.cml_equipo--partners .cml_title_default p {
    color: rgb(255 255 255 / 60%);
}

.cml_equipo .cml_cont_client {
    text-align: center;
}

.cml_equipo_cont {
    padding-top: clamp(20px, 4vw, 50px);
}

.cml_equipo_card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
}

.cml_equipo_img {
    width: 100%;
    height: 420px;
    display: block;
    margin: 0;
}

.cml_equipo_img img {
    transition: transform 0.3s ease;
}

.cml_equipo_img:hover img {
    transform: scale(1.05);
}

.img-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.cml_equipo_info {
    position: absolute;
    bottom: 17px;
    left: 17px;
    right: 17px;
    padding: 17px;
    border-radius: 10px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background: rgb(32 34 74 / 40%);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
}

.cml_equipo_name {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 6px;
}

.cml_equipo_role {
    font-size: 14px;
    opacity: 0.9;
    margin-bottom: 14px;
}

.cml_equipo_social {
    display: flex;
    gap: 10px;
}

.cml_equipo_social a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    color: #1f2340;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: 0.3s ease-in-out;
}

.cml_equipo_social a svg path {
    transition: 0.3s ease;
    fill: var(--cml-blue);
}

.cml_equipo_social a:hover {
    transform: translateY(-3px);
    background: var(--cml-blue);
}

.cml_equipo_social a:hover svg path {
    fill: white;
}

.cml_alianza {
    background: rgb(32 34 74 / 97%);
    color: var(--cml-white);
    position: relative;
    overflow: hidden;
}

.cml_alianza_brand {
    display: flex;
    align-items: center;
    gap: 140px;
    width: 100%;
    justify-content: center;
}

.cml_alianza_brand .cml_img_alianza {
    width: 280px;
}

.cml_alianza_brand .cml_img_alianza.atura img {
    width: 100%;
}

.cml_alianza_brand .cml_img_alianza.tulpa img {
    width: fit-content;
}

.cml_text_alianza {
    width: 55%;
    margin: 0 auto;
    text-align: center;
}

.cml_text_alianza h3 {
    font-size: clamp(18px, 1.8vw, 24px);
    margin-bottom: clamp(14px, 1.4vw, 20px);
    font-weight: 600;
}

.cml_text_alianza p {
    font-size: clamp(14px, 1.2vw, 18px);
    font-weight: 300;
    color: rgb(255 255 255 / 80%);
    ;
}

.cml_text_alianza p>b {
    font-weight: bold;
}

.cml_alianza_cont {
    display: grid;
    gap: clamp(2rem, 6vw, 85px);
    z-index: 1;
    position: relative;
}

.cml_alianza .img_shape .at_shape_at {
    position: absolute;
    left: -13rem;
    top: -4rem;
    pointer-events: none;
    z-index: 0;
}

.cml_alianza .img_shape .at_shape_tp {
    position: absolute;
    right: -19rem;
    top: 2rem;
    pointer-events: none;
    z-index: 0;
}


.cml_equipo_colaborator .cml_equipo_row {
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    gap: 20px;
    align-items: center;
    height: 100%;
}

.cml_equipo_colaborator .cml_text_colaborator .cml_title_default .cml_tag_gral {
    color: var(--cml-white);
}

.cml_equipo_colaborator .cml_text_colaborator .cml_title_default h1 {
    font-style: italic;
    background: var(--cml-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    width: fit-content;
    font-weight: 800;
}

.cml_banner.cml_equipo_colaborator .cml_btn_default {
    position: unset;
    margin-left: 0;
}

.cml_equipo_colaborator .cml_text_colaborator .cml_especialidad {
    font-size: clamp(22px, 4vw, 54px);
    font-weight: 800;
    margin-bottom: clamp(20px, 3vw, 30px);
}

.cml_equipo_colaborator .cml_text_colaborator {
    color: var(--cml-white);
    margin: 0 auto;
    width: 70%;
    display: grid;
    gap: 12px;
}

.cml_equipo_colaborator .cml_img_colaborator {
    width: 80%;
}

.cml_equipo_colaborator .cml_img_colaborator .cml_cont_img_colaborator {
    height: clamp(360px, 38vw, 550px);
    border-radius: 22px;
    overflow: hidden;
    margin: 0;
}

.cml_equipo_colaborator::after {
    content: "";
    position: absolute;
    top: -22rem;
    right: -12rem;
    display: inline-block;
    width: 91rem;
    height: 99rem;
    background: url('/img/shape/shape-equipo-cumulo.svg') no-repeat center center;
    background-size: contain;
    z-index: -1;
    opacity: 0.1;
    pointer-events: none;
}

.cml_experienced_contributor .cml_cont_client {
    width: 83%;
    margin: 0 auto;
    display: grid;
    gap: 20px;
}

.cml_experienced_contributor p {
    font-size: clamp(16px, 1.5vw, 20px);
    line-height: 1.6;
}

.cml_experienced_contributor .cml_btn_default {
    margin-left: 0;
}

.cml_experienced_contributor .cml_btn_default .cml_btn_arrow_icon .icons_box span:first-child {
    transform: rotate(0deg) translate(32px, 11px);
    -webkit-transform: rotate(0deg) translate(32px, 11px);
}

.cml_experienced_contributor .cml_btn_default .cml_btn_arrow_icon .icons_box span:last-child {
    transform: rotate(0deg) translate(-11px, 35px);
    -webkit-transform: rotate(0deg) translate(-11px, 35px);
}

.cml-social-section {
    margin-top: clamp(22px, 3vw, 40px)
}

.cml-social-section .cml-social-links .social-icon {
    width: 45px;
    height: 45px;
    background: var(--cml-blue);
    display: grid;
    place-content: center;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease-in;
}

.cml-social-section .cml-social-links .social-icon:hover {
    background: var(--cml-blue-light);
}

.cml-social-section .cml-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cml_equipo_card .cml_arrow_equipo {
    position: absolute;
    right: 14px;
    top: 12px;
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 50px;
    display: grid;
    place-content: center;
    color: var(--cml-blue);
    pointer-events: none;
    opacity: 0;
    transition: all 0.4s ease-in-out;
}

.cml_equipo_img:hover ~ .cml_arrow_equipo {
    opacity: 1;
}

.cml_equipo_img:hover ~ .cml_arrow_equipo span {
    transform: rotate(0deg);
}

.cml_equipo_card .cml_arrow_equipo span {
    font-weight: 300;
    font-size: 22px;
    transform: rotate(35deg);
    transition: all 0.4s ease-in-out;
}

/* Estilo de la barra de scroll del carrito. Antes esta regla venia junto
   con max-height:400px + scroll-behavior:smooth ("bug #5 revision ATURA"),
   que pisaba la regla mas nueva basada en flex (mas abajo en cascada =
   gana) y el scroll-behavior:smooth combinado con el handler manual de
   rueda en cart.js (scrollTop += deltaY en cada tick) causaba scroll con
   lag/entrecortado cuando el carrito tenia varios productos. Se deja solo
   el estilo visual de la barra, sin tocar el alto ni el comportamiento
   de scroll (eso ya lo controla .cml_body_shopping mas arriba). */
.cml_body_shopping::-webkit-scrollbar {
    width: 5px;
}
.cml_body_shopping::-webkit-scrollbar-track {
    background: #f1f1f1;
}
.cml_body_shopping::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}
.cml_body_shopping::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Cart Badge Indicator */
.cml_cart_icon_wrapper {
    position: relative;
    display: inline-block;
    cursor: pointer;
    user-select: none;
}

.cml_cart_badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: #FF4444;
    color: white;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    border: 2px solid white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    pointer-events: none;
}

.cml_cart_user {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cml_cont_tab {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* * * 14. Páginas de error (404 / 500) * * * * * * * * * * * * * */
/* Fondo: gradiente exacto exportado de Figma via "Copy as CSS". */
.cml_error_page {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    background: linear-gradient(292.55deg, #121538 0%, #173E75 100%);
    display: flex;
    align-items: center;
    color: var(--cml-white);
}

/* Fondo punteado: se repite el tile shape-error-dot-tile.svg (36x36, un solo
   punto) en vez de dibujar cada punto por separado. Solo detrás del número
   (dentro de .cml_error_number), no en toda la página. Se extiende un poco
   más allá del número (negativo en los 4 lados) para que el punteado no se
   corte justo en el borde del texto. */
.cml_error_page .cml_error_number .cml_error_bg_points {
    position: absolute;
    /* top: 0 (no negativo): en Figma el frame de puntos empieza justo
       debajo del texto "ERROR 404...", no debe superponerse a el. */
    top: 0;
    right: -60px;
    bottom: -60px;
    left: -60px;
    background-image: url('/img/shape/shape-error-dot-tile.svg');
    background-repeat: repeat;
    background-size: 36px 36px;
    pointer-events: none;
    z-index: -1;
}

.cml_error_page .cml_error_header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 24px 0;
    z-index: 2;
}

/* Fila del header sin depender de Bootstrap (las vistas de error no cargan
   build/css/main.02.css a propósito, para no arrastrar esa dependencia). */
.cml_error_page .cml_error_header .cml_error_header_row {
    display: flex;
    /* flex-start (no center): el logo tiene 2 lineas (marca + tagline) y el
       texto de la derecha es 1 sola linea; con center queda descolgado a
       media altura del logo. Con flex-start ambos arrancan a la misma
       altura, a nivel de "CUMULO". */
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.cml_error_page .cml_error_header .cml_error_kicker {
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    opacity: 0.7;
    margin: 0;
    /* Compensa el line-height del SVG del logo para que el texto quede a
       la altura visual de "CUMULO", no pegado al borde superior. */
    margin-top: 4px;
}

/* .container es una utilidad de Bootstrap; estas vistas no cargan Bootstrap
   a propósito, así que se define aquí (mismo criterio: centrado con
   max-width y padding lateral) para que no quede sin ancho ni centrado. */
.cml_error_page .container {
    position: relative;
    z-index: 2;
    text-align: center;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* Spec de Figma: Cera Pro Regular 16px, letter-spacing 4% (CSS no acepta %
   en letter-spacing, se convierte a 0.04em), fill Acua. */
.cml_error_page .cml_error_tag {
    font-size: 16px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cml-aqua);
    margin-bottom: 30px;
}

.cml_error_page .cml_error_number {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}

/* Glow detrás del número: shape-error-glow.svg (circulo con gradiente
   radial aqua), centrado y detrás del texto. */
.cml_error_page .cml_error_glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(320px, 45vw, 560px);
    height: auto;
    z-index: -1;
    pointer-events: none;
}

/* Spec de Figma: Cera Pro Black, 350px, caja 644x440, letter-spacing 0%.
   Stops exactos del panel Fill: 30C3EA en 6%, FDDD09 en 50%, 30C3EA en 94%
   (el verde que se ve entre el azul y el amarillo es la mezcla natural del
   degradado, no un color explícito). El gradiente va en las TRES cifras
   (no solo en una), por eso se aplica sobre el <h1> completo. */
.cml_error_page .cml_error_number h1 {
    font-size: clamp(4rem, 24vw, 350px);
    font-weight: 900;
    line-height: 1;
    margin: 0;
    letter-spacing: normal;
    background: linear-gradient(90deg,
            #30C3EA 6%,
            #FDDD09 50%,
            #30C3EA 94%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Estimacion visual (sin panel exacto de Figma para este texto): se ve
   notablemente mas grande que 2.6rem en la referencia. Ajustar si no
   coincide con el spec real. */
.cml_error_page h2 {
    font-size: clamp(1.8rem, 4.6vw, 3.4rem);
    font-weight: 800;
    margin: 0 0 14px;
}

.cml_error_page h2 span {
    font-style: italic;
    background: var(--cml-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Spec de Figma: Cera Pro Regular 16px, line-height 22px, letter-spacing 0%,
   fill blanco 100% (no opacity 0.75, que lo dejaba gris tenue). */
.cml_error_page p.cml_error_desc {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: normal;
    font-weight: 400;
    opacity: 1;
    max-width: 538px;
    margin: 0 auto 34px;
}

.cml_error_page .cml_btn_default {
    margin: 0 auto;
}

/* 500: fila de 2 botones (Intentar nuevamente + Volver al inicio). */
.cml_error_page .cml_error_actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.cml_error_page .cml_error_actions .cml_btn_default {
    margin: 0;
}

/* Variante outline (borde blanco, fondo transparente) para la accion
   secundaria. No existia en el sitio; se crea sobre la base de
   .cml_btn_default para heredar el layout/animacion del icono circular. */
/* Spec de Figma: stroke BG-Blue (#2B92D0), weight 1, inside. El icono de la
   flecha tambien va en ese mismo azul (no navy-blue, casi invisible contra
   el circulo blanco). */
.cml_error_page .cml_btn_default.cml_error_btn_outline {
    box-sizing: border-box;
    background-color: transparent;
    border: 1px solid var(--cml-blue);
}

.cml_error_page .cml_btn_default.cml_error_btn_outline:hover {
    border-color: var(--cml-blue-light);
}

.cml_error_page .cml_btn_default.cml_error_btn_outline .cml_btn_arrow_icon {
    color: var(--cml-blue);
}

.cml_error_page .cml_btn_default.cml_error_btn_outline:hover .cml_btn_arrow_icon {
    color: var(--cml-blue-light);
}

/* El icono "Intentar nuevamente" (refresh) no usa el patron de doble icono
   que se desliza en diagonal (icons_box + rotate 45deg), calibrado para la
   flecha arrow_warm_up. Se centra un solo icono y gira al hover, que es
   el gesto natural para un icono de "recargar". */
.cml_error_page .cml_btn_default .cml_btn_refresh_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    transition: transform 450ms ease-in-out;
}

.cml_error_page .cml_btn_default:hover .cml_btn_refresh_icon {
    transform: rotate(180deg);
}

.cml_error_page .cml_btn_default .cml_btn_refresh_icon span {
    font-weight: 300;
    font-size: 22px;
}

/* El botón usa .cml_btn_default.blue por defecto (--cml-blue, BG-Blue
   #2B92D0), que es el color real del panel Fill de Figma. No se necesita
   ningún override aquí. */

@media (width <=480px) {
    .cml_error_page .cml_error_header {
        padding: 16px 0;
    }

    .cml_error_page .cml_error_header svg {
        width: 130px;
    }

    .cml_error_page .cml_error_header .cml_error_kicker {
        display: none;
    }
}

/* ==========================================================================
   Validación de Formularios CÚMULO (Custom, sin tooltips nativos)
   ========================================================================== */
.cml_form_news .cml-submit input.is-invalid,
.cml_form_news input.cml_mail.is-invalid,
input.is-invalid,
textarea.is-invalid,
select.is-invalid {
    border: 1.5px solid #ff4d4f !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.25) !important;
}

.validation-message {
    color: #ff4d4f;
    font-size: 13px;
    font-weight: 500;
    margin-top: 6px;
    padding-left: 10px;
    text-align: left;
    width: 100%;
    display: block;
    animation: fadeIn 0.2s ease-in-out;
}

/* ==========================================================================
   Buscador y Categorías del Blog (CÚMULO)
   Tarjeta oscura inspirada en el buscador de blog de Atura, adaptada a la
   paleta de marca: azul marino en vez de negro, con el gradiente
   celeste-amarillo (--cml-gradient) como glow sutil de fondo. Título de la
   sección arriba centrado (ver .cml_blog_title_centered).
   ========================================================================== */
.cml_blog_title_centered {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 10px;
}

/* Botón simple en la página que abre el modal de búsqueda a pantalla
   completa (antes esto era una tarjeta fija con todo el buscador; el
   pedido real era solo un botón visible + modal, no la tarjeta). */
.cml_blog_search_trigger_wrap {
    display: flex;
    justify-content: center;
    margin: 30px 0 40px;
}

.cml_blog_search_trigger {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: var(--cml-navy-blue);
    color: var(--cml-white);
    border: none;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.cml_blog_search_trigger:hover {
    opacity: 0.9;
}

.cml_blog_search_trigger .material-symbols-rounded {
    font-size: 20px;
}

/* Modal de búsqueda a pantalla completa. Mismo lenguaje visual que la
   página de error 404 (.cml_error_page): gradiente exacto de Figma
   (292.55deg) + glow aqua (shape-error-glow.svg) detrás del contenido,
   SIN el patrón de puntos del 404 (a diferencia de esa página). El
   título usa el mismo tratamiento de palabra clave en gradiente itálico
   que "nube" en el 404. */
.cml_blog_search_modal {
    position: fixed;
    inset: 0;
    background: linear-gradient(292.55deg, #121538 0%, #173E75 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease;
    z-index: 200;
    overflow: hidden;
}

.cml_blog_search_modal.is-open {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

/* Mismo glow que .cml_error_glow del 404: círculo con gradiente radial
   aqua, centrado y detrás del contenido. */
.cml_blog_search_modal_glow {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: clamp(400px, 60vw, 720px);
    height: auto;
    z-index: 0;
    pointer-events: none;
}

.cml_blog_search_modal_close {
    position: absolute;
    top: 24px;
    right: 24px;
    display: grid;
    place-content: center;
    width: 44px;
    height: 44px;
    background: rgb(255 255 255 / 10%);
    border: 1px solid rgb(255 255 255 / 20%);
    border-radius: 50%;
    color: var(--cml-white);
    cursor: pointer;
    transition: background 0.2s ease;
    z-index: 2;
}

.cml_blog_search_modal_close:hover {
    background: rgb(255 255 255 / 20%);
}

.cml_blog_search_modal_content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 820px;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    text-align: center;
}

/* Mismo tratamiento que .cml_error_tag del 404: aqua, mayúsculas,
   letter-spacing amplio. */
.cml_blog_search_modal_tag {
    font-size: 16px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cml-aqua);
}

/* Título grande, igual escala que .cml_error_page h2 del 404. La palabra
   clave (span) lleva el mismo gradiente itálico que "nube" en el 404. */
.cml_blog_search_modal_content h2 {
    color: var(--cml-white);
    font-size: clamp(2rem, 5.5vw, 3.6rem);
    font-weight: 900;
    line-height: 1.15;
    margin: 0;
}

.cml_blog_search_modal_content h2 span {
    font-style: italic;
    background: var(--cml-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.cml_blog_search_modal_content p {
    font-size: 16px;
    line-height: 22px;
    color: rgb(255 255 255 / 75%);
    max-width: 520px;
    margin: 0;
}

.cml_blog_search_modal_content .cml_blog_search_form,
.cml_blog_search_modal_content .cml_blog_categories_pills {
    width: 100%;
}

.cml_blog_search_form {
    position: relative;
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
}

.cml_blog_search_input_wrap {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}

.cml_blog_search_input_wrap .search-icon {
    position: absolute;
    left: 20px;
    color: rgb(255 255 255 / 55%);
    font-size: 24px;
    pointer-events: none;
    z-index: 2;
    transition: color 0.25s ease;
}

.cml_blog_search_input {
    width: 100%;
    height: 60px;
    padding: 10px 54px;
    background: rgb(255 255 255 / 8%);
    border: 1.5px solid rgb(255 255 255 / 20%);
    border-radius: 30px;
    font-size: 16px;
    color: var(--cml-white);
    outline: none;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.cml_blog_search_input::placeholder {
    color: rgb(255 255 255 / 50%);
}

.cml_blog_search_form:focus-within .search-icon,
.cml_blog_search_form.has-value .search-icon {
    color: var(--cml-blue-light);
}

.cml_blog_search_input:focus {
    border-color: var(--cml-blue-light);
    background: rgb(255 255 255 / 12%);
    box-shadow: 0 0 0 4px rgb(48 195 234 / 20%), 0 8px 24px rgb(0 0 0 / 25%);
}

.cml_blog_search_clear {
    position: absolute;
    right: 18px;
    color: rgb(255 255 255 / 55%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    text-decoration: none;
    z-index: 3;
    transition: color 0.2s ease, background 0.2s ease;
}

.cml_blog_search_clear:hover {
    color: #ff5e62;
    background: rgb(255 255 255 / 12%);
}

/* Categorías rediseñadas como micro-chips ligeros (evita que se vea cargado) */
.cml_blog_categories_pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    align-items: center;
    margin-top: 4px;
    max-width: 720px;
}

.cml_cat_pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    background: rgb(255 255 255 / 6%);
    color: rgb(255 255 255 / 75%);
    border-radius: 100px;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid rgb(255 255 255 / 12%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.cml_cat_pill:hover {
    background: rgb(255 255 255 / 14%);
    color: var(--cml-white);
    border-color: rgb(255 255 255 / 25%);
    transform: translateY(-1px);
}

.cml_cat_pill.is-active {
    background: rgb(48 195 234 / 16%);
    color: var(--cml-white);
    border-color: var(--cml-blue-light);
    box-shadow: 0 0 14px rgb(48 195 234 / 22%);
    font-weight: 600;
}

@media (max-width: 640px) {
    .cml_blog_search_input {
        height: 54px;
        font-size: 14px;
        padding-left: 46px;
        padding-right: 46px;
    }

    .cml_blog_search_input_wrap .search-icon {
        left: 14px;
        font-size: 22px;
    }

    .cml_blog_search_clear {
        right: 14px;
    }

    .cml_cat_pill {
        padding: 6px 12px;
        font-size: 12px;
    }
}

.cml_blog_empty_state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    background: #ffffff;
    border-radius: 20px;
    border: 1px dashed #dce4ec;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.cml_blog_empty_state .empty-icon {
    font-size: 48px;
    color: #8fa0b3;
}

.cml_blog_empty_state h3 {
    font-size: 20px;
    color: #0d1b2a;
    margin: 0;
}

.cml_blog_empty_state p {
    font-size: 14px;
    color: #64748b;
    margin: 0 0 10px;
}

/* * * 15. Modal compartido de mensajes/confirmaciones CÚMULO * * * */
.cml_modal_overlay {
    position: fixed;
    inset: 0;
    background: rgba(32, 34, 74, 0.65);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3000;
    opacity: 0;
    transition: opacity 250ms ease;
}

.cml_modal_overlay.is-open {
    display: flex;
    opacity: 1;
}

.cml_modal {
    position: relative;
    width: min(515px, calc(100vw - 32px));
    min-height: 344px;
    background: var(--cml-white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    transform: scale(0.95);
    transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1);
}

.cml_modal_overlay.is-open .cml_modal {
    transform: scale(1);
}

.cml_modal.is-compact,
.cml_modal.is-compact .cml_modal_frame {
    min-height: 0;
}

.cml_modal .cml_modal_gradient {
    position: absolute;
    width: 100%;
    height: 5px;
    left: 0;
    top: 0;
    background: linear-gradient(89.82deg, #30C3EA 9.39%, #FDDD09 100.1%);
}

.cml_modal .cml_modal_frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    width: min(390px, calc(100% - 32px));
    min-height: 344px;
    margin: 0 auto;
    padding: 36px 0;
}

.cml_modal .cml_modal_icon {
    display: none;
    width: 115px;
    height: 115px;
    align-items: center;
    justify-content: center;
    flex: none;
}

.cml_modal .cml_modal_icon.is-active {
    display: flex;
}

.cml_modal .cml_modal_icon.icon-success .cml_modal_success_icon,
.cml_modal .cml_modal_icon .cml_modal_feedback_icon {
    width: 86.25px;
    height: 86.25px;
}

.cml_modal .cml_modal_icon.icon-success .cml_modal_success_icon { color: #96DF7B; }
.cml_modal .cml_modal_icon.icon-cancel .cml_modal_feedback_icon { color: #F27474; }
.cml_modal .cml_modal_icon.icon-error .cml_modal_feedback_icon { color: #F8BB86; }
.cml_modal .cml_modal_icon.icon-help .cml_modal_feedback_icon { color: #87ADBD; }

.cml_modal.is-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 48px 0;
}

.cml_modal.is-loading .cml_modal_frame {
    min-height: 0;
    padding: 0;
}

.cml_modal .cml_modal_icon.icon-loading {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(43, 146, 208, 0.08);
}

.cml_modal .cml_modal_spinner {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 5px solid rgba(43, 146, 208, 0.18);
    border-top-color: var(--cml-blue);
    animation: cml-modal-spin 800ms linear infinite;
}

@keyframes cml-modal-spin {
    to {
        transform: rotate(360deg);
    }
}

.cml_modal .cml_modal_actions.is-hidden {
    display: none;
}

.cml_modal .cml_modal_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 24px;
    width: 100%;
    max-width: 370px;
}

.cml_modal .cml_modal_text {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    gap: 12px;
    width: 100%;
    text-align: center;
}

.cml_modal,
.cml_modal * {
    font-family: 'Cera Pro', 'Cera-pro', sans-serif !important;
}

.cml_modal .cml_modal_title {
    width: 100%;
    font-family: 'Cera Pro', 'Cera-pro', sans-serif !important;
    font-weight: 800 !important;
    font-size: 24px;
    line-height: 30px;
    text-align: center;
    color: var(--cml-navy-blue);
    margin: 0;
}

.cml_modal .cml_modal_desc {
    width: 100%;
    font-family: 'Cera Pro', 'Cera-pro', sans-serif !important;
    font-weight: 500 !important;
    font-size: 15px;
    line-height: 22px;
    text-align: center;
    color: #595959;
    margin: 0;
}

.cml_modal .cml_modal_desc strong,
.cml_modal .cml_modal_desc b {
    display: block;
    font-family: 'Cera Pro', 'Cera-pro', sans-serif !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    line-height: 30px !important;
    color: var(--cml-navy-blue) !important;
    margin-bottom: 8px;
}

.cml_modal .cml_modal_desc span {
    font-family: 'Cera Pro', 'Cera-pro', sans-serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 22px !important;
    color: #595959 !important;
}

.cml_modal .cml_modal_actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0;
    gap: 12px;
    width: 100%;
}

.cml_modal .cml_modal_actions.is-single-action {
    justify-content: center !important;
}

.cml_modal .cml_modal_actions.is-single-action .cml_modal_btn:first-child {
    margin-inline: auto;
}

.cml_modal .cml_modal_btn {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 12px 30px;
    gap: 10px;
    min-width: 160px;
    height: 46px;
    border-radius: 30px;
    font-family: 'Cera Pro', 'Cera-pro', sans-serif !important;
    font-weight: 800 !important;
    font-size: 14px;
    line-height: 18px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: opacity 200ms ease-in-out, transform 150ms ease;
    text-decoration: none;
}

.cml_modal .cml_modal_btn:hover {
    opacity: 0.92;
    transform: translateY(-1px);
}

.cml_modal .cml_modal_btn.btn-primary {
    background: var(--cml-green-light);
    border: none;
    color: var(--cml-white);
}

.cml_modal .cml_modal_btn.btn-primary:hover {
    background: #7bb56f;
}

.cml_modal .cml_modal_btn.btn-outline {
    background: transparent;
    border: 1px solid var(--cml-navy-blue);
    color: var(--cml-navy-blue);
}

.cml_modal .cml_modal_btn.btn-warning {
    background: #E29900;
    border: none;
    color: var(--cml-white);
}

.cml_modal .cml_modal_btn.btn-danger {
    background: #F27474;
    border: none;
    color: var(--cml-white);
}

.cml_modal .cml_modal_btn.btn-neutral {
    background: #87ADBD;
    border: none;
    color: var(--cml-white);
}


