﻿        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 400;
            src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/K88pR3goAWT7BTt32Z01mxJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
            unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 400;
            src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/RjgO7rYTmqiVp7vzi-Q5URJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
            unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 400;
            src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/LWCjsQkB6EMdfHrEVqA1KRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
            unicode-range: U+1F00-1FFF
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 400;
            src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/xozscpT2726on7jbcb_pAhJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
            unicode-range: U+0370-03FF
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 400;
            src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/59ZRklaO5bWGqF5A9baEERJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
            unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 400;
            src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/u-WUoqrET9fUeobQW7jkRRJtnKITppOI_IvcXXDNrsc.woff2) format('woff2');
            unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 400;
            src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3VtXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 700;
            src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzK-j2U0lmluP9RWlSytm3ho.woff2) format('woff2');
            unicode-range: U+0460-052F, U+20B4, U+2DE0-2DFF, U+A640-A69F
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 700;
            src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzJX5f-9o1vgP2EXwfjgl7AY.woff2) format('woff2');
            unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 700;
            src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzBWV49_lSm1NYrwo-zkhivY.woff2) format('woff2');
            unicode-range: U+1F00-1FFF
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 700;
            src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzKaRobkAwv3vxw3jMhVENGA.woff2) format('woff2');
            unicode-range: U+0370-03FF
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 700;
            src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzP8zf_FOSsgRmwsS7Aa9k2w.woff2) format('woff2');
            unicode-range: U+0102-0103, U+1EA0-1EF9, U+20AB
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 700;
            src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzD0LW-43aMEzIO6XUTLjad8.woff2) format('woff2');
            unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF
        }

        @font-face {
            font-family: 'Open Sans';
            font-style: normal;
            font-weight: 700;
            src: local('Open Sans Bold'), local('OpenSans-Bold'), url(https://fonts.gstatic.com/s/opensans/v13/k3k702ZOKiLJc3WVjuplzOgdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215
        }

        body {
            margin: 0;
            color: #333 !important;
            font-family: 'Open Sans', sans-serif;
            font-size: 16px;
        }

        .titulo{
          color: var(--naranja-marca, #ff9b00);
          background: transparent;
          padding: 8px 15px 12px;
          margin: 16px 0 12px;
        }

        .site-top {
            margin: 0 -15px 0;
            background: #fff;
        }

        .site-top__header {
            padding: 20px 15px 18px;
        }

        .site-top__inner {
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 16px 24px;
        }

        .site-top__inner-row {
            display: contents;
        }

        .site-top__brand {
            display: flex;
            align-items: center;
            gap: 14px;
            flex: 1 1 280px;
            min-width: 0;
        }

        .site-top__tagline--mobile {
            display: none;
        }

        .site-top__tagline--desktop {
            display: block;
        }

        .site-top__logo-link {
            flex-shrink: 0;
            display: block;
            line-height: 0;
        }

        .site-top__logo-link img {
            max-width: 130px;
            width: 100%;
            height: auto;
            margin: 0;
        }

        .site-top__tagline {
            margin: 0;
            min-width: 0;
        }

        .site-top__tagline-line {
            margin: 0;
            font-family: 'Open Sans', sans-serif;
            font-style: italic;
            font-weight: 400;
            font-size: 15px;
            line-height: 1.35;
            color: #757575;
        }

        .site-top__tagline-line + .site-top__tagline-line {
            margin-top: 1px;
        }

        .site-top__tagline-line--years {
            font-weight: 600;
            color: #666;
        }

        .site-top__tagline-line--years strong {
            font-weight: 700;
            color: #555;
        }

        .site-top__actions {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: flex-end;
            gap: 10px 12px;
            flex: 0 1 auto;
        }

        .site-top__btn-acceso {
            display: inline-block;
            padding: 10px 22px;
            border-radius: 36px;
            font-family: 'Open Sans', sans-serif;
            font-size: 16px;
            font-weight: 600;
            line-height: 1.2;
            text-align: center;
            text-decoration: none;
            white-space: nowrap;
            background: #fff;
            color: #ff9b00;
            border: 2px solid #ff9b00;
            box-shadow: none;
            transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, border-color 0.2s ease;
        }

        .site-top__btn-acceso:hover,
        .site-top__btn-acceso:focus,
        .site-top__btn-acceso:active,
        .site-top__btn-acceso:focus-visible {
            color: #ff8a00;
            border: 2px solid #ff8a00;
            background: #fff;
            text-decoration: none;
            transform: translateY(-1px);
            box-shadow: 0 4px 10px rgba(255, 155, 0, 0.2);
            outline: none;
        }

        .site-top__btn-acceso:active {
            transform: translateY(0);
            box-shadow: 0 2px 6px rgba(255, 155, 0, 0.15);
        }

        .site-top__bar {
            background: #f5f5f5;
            border: none;
            padding: 10px 15px;
            margin-bottom: 0;
        }

        .site-top__bar-inner {
            max-width: 1100px;
            margin: 0 auto;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 10px 20px;
        }

        .site-top__contact-email,
        .site-top__contact-wa {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            font-size: 15px;
            font-weight: 700;
            text-decoration: none;
            line-height: 1.3;
        }

        .site-top__contact-email {
            color: #ff9b00;
        }

        .site-top__contact-email:hover,
        .site-top__contact-email:focus {
            color: #ff8a00;
            text-decoration: underline;
        }

        .site-top__contact-email .glyphicon,
        .site-top__contact-email .fa-solid {
            font-size: 16px;
            color: #ff9b00;
        }

        .site-top__contact-wa {
            color: #389c63;
        }

        .site-top__contact-wa:hover,
        .site-top__contact-wa:focus {
            color: #2d7d4f;
            text-decoration: underline;
        }

        .site-top__wa-icon {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
        }

        img, legend {
            border: 0;
        }        

        a, a:hover {
            color: var(--naranja-marca, #ff9b00);
        }

        a {
            background: 0 0;
        }    

        .boton-consulta {
            background: var(--cta-gradient, linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%));
            color: white;
            text-align: center;
            padding: 20px;
            border-radius: 20px;
            font-size: 32px;
            width: 86%;
            margin: 0 auto;
        }

        .carousel-indicators {
            left: 50%;
            bottom: -20px;
        }

        .carousel-control.left {
            background-image: none;
        }
        .carousel-control.right {
            background-image: none;
        }

        .carousel-inner a {
            text-decoration: none;
        }

        .carousel-inner .item {
            height: 100%;
        }

        .carousel-inner .item .inside {
            display: inline-flex;
            align-items: center;
            height: 100%;
        }

        .carousel-inner .item .inside .contenido {
            background: white !important;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            padding: 40px;
            width: 380px;
            height: 380px;
            margin: 0px auto;
        }

        .carousel-inner .item .inside .contenido * {
            text-align: center;
        }

        .carousel-inner .item .inside .contenido hr {
            text-align: center;
            height: 2px;
            width: 70%;
            background-color: #f0eeef;
            margin: 23px 0px;
            border: none;
        }

        .carousel-inner .item .inside .img-container-1 {
            /* height: 100%;
            width: 850px; */
            border-radius: 122px 0px 0px 84px / 238px 0px 0px 238px;
            padding-left: 20px;
            background:#ffb284;
        }

        .carousel-inner .item .inside .img-container-2 {
            height: 100%;
            border-radius: 107px 0px 0px 218px / 233px 0px 0px 319px;
            padding-left: 20px;
            background: white;
        }

        .carousel-inner .item .inside .img-container-1 .img-container-2 img {
            border-radius:47px 0px 0px 287px / 148px 0px 0px 295px;
            height: 100%;
            width: 100%
        }

        .carousel-indicators li {
            display: inline-block;
            margin: 1px;
            background-color: var(--naranja-marca, #ff9b00);
            border: 1px solid var(--naranja-marca, #ff9b00);
        }

        .textos {
            font-size: revert;
        }

        .fotos {
            float: right;
            width: 104px;
            height: auto;
        }

        .boton {
            font-size: 16px;
            width: 50%;
        }
        .navbar {
            display:none; 
        }
        .div1 {
            background-color: #E5F3EA; margin-top: 6px; margin-left: 42px; height: 266px;
        }
        .div2 {
            background-color: white; margin: 20px 5px 20px 5px; padding: 12px 10px 6px 10px; height: 226px;
        }
        .div3 {
            background-color: #fff4ed; margin-top: 6px; margin-left: 15px;
        }
        .div4 {
            background-color: white; margin: 20px 5px 20px 5px; padding: 12px 10px 6px 10px;
        }
        .div5 {
            color:green; font-size: 16px; padding: 27px;
        }
        @media screen and (max-width: 500px) {
            .navbar { 
                display:block;
            }
             /*error IA si se activa en mobile no se ve nda */
           /* .desktop { 
                display:none; 
            } */
            .boton {
                width: auto;
            }
            .div1 { 
                margin-left: 0px;
            }
            .div3 {
                margin-left: 0px;
            }
            .div5 {
                padding: 8px;
            }
            .carousel-inner .item .inside div:not(.profile-card):not(.profile-body):not(.profile-image-container):not(.profile-actions):not(.profile-description):not(.carousel-profile-col) {
                padding: 2px;
            }
            .fotos {
                float: none;
                display: unset;
                width: 165px;
                height: auto;
            }
        }

        .top-spacer {
            height: 32px;
        }
        
        /* Hero principal (carrusel) */
        .section-video-hero {
            margin: 0 0 var(--espacio-seccion, 32px);
            padding: 0 15px;
        }

        .video-hero {
            max-width: 920px;
            margin: 0 auto;
        }

        @media (min-width: 769px) {
            .row.section-video-hero {
                display: block !important;
                float: none !important;
                margin-left: -15px !important;
                margin-right: -15px !important;
                padding: 0 !important;
                width: auto;
                max-width: none;
            }

            .section-video-hero > [class*="col-"] {
                display: block !important;
                float: none !important;
                width: 100% !important;
                max-width: none !important;
                padding: 0 !important;
                margin: 0 !important;
            }

            .section-video-hero .video-hero {
                display: block;
                max-width: none !important;
                width: 100% !important;
                margin: 0 !important;
            }

            .section-video-hero .video-hero__inner {
                display: block;
                width: 100%;
            }
        }

        .video-hero__inner {
            position: relative;
            width: 100%;
            aspect-ratio: 16 / 9;
            background: #2a2a2a;
            overflow: hidden;
        }

        /* Hero carousel (reemplaza el video principal) */
        .hero-carousel {
            cursor: default;
        }

        .hero-carousel__track {
            position: absolute;
            inset: 0;
        }

        .hero-carousel__slide {
            position: absolute;
            inset: 0;
            margin: 0;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.6s ease;
            will-change: opacity;
        }

        .hero-carousel__slide.is-active {
            opacity: 1;
            visibility: visible;
        }

        .hero-carousel__img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .hero-carousel__nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 4;
            width: 48px;
            height: 48px;
            padding: 0;
            border: none;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.55);
            color: #2c7a4b;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.2s ease, transform 0.2s ease;
        }

        .hero-carousel__nav:hover {
            background: rgba(255, 255, 255, 0.8);
        }

        .hero-carousel__nav:focus-visible {
            outline: none;
        }

        .hero-carousel__nav svg {
            width: 22px;
            height: 22px;
        }

        .hero-carousel__nav--prev {
            left: 14px;
        }

        .hero-carousel__nav--next {
            right: 14px;
        }

        .hero-carousel__dots {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 16px;
            z-index: 4;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;
            padding: 0 16px;
        }

        .hero-carousel__dot {
            width: 11px;
            height: 11px;
            padding: 0;
            border: none;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.55);
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
            cursor: pointer;
            transition: background 0.2s ease, transform 0.2s ease;
        }

        .hero-carousel__dot:hover {
            background: rgba(255, 255, 255, 0.85);
        }

        .hero-carousel__dot.is-active {
            background: #3d9b5c;
            transform: scale(1.25);
        }

        .hero-carousel__dot:focus-visible {
            outline: none;
        }

        @media (prefers-reduced-motion: reduce) {
            .hero-carousel__slide {
                transition: none;
            }
        }

        .column {
          float: left;
          width: 48%;
          margin-right: 4%; 
        }

        .column:last-child {
          margin-right: 0; 
        }

        ul {
          list-style: none;
          line-height: 2;
        }

        .formu {
            width: 100%;
            margin: 10px auto;
            background: #f9f9f8;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        form[name="formCont"]:not(.formulario-contacto-form) {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 15px;
            align-items: center;
        }

        form[name="formCont"]:not(.formulario-contacto-form) label {
            margin: 0;
            font-weight: bold;
            text-align: left;
            padding-right: 10px;
        }

        form[name="formCont"]:not(.formulario-contacto-form) input,
        form[name="formCont"]:not(.formulario-contacto-form) textarea,
        form[name="formCont"]:not(.formulario-contacto-form) button {
            width: 100%;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            font-size: 16px;
        }

        form[name="formCont"]:not(.formulario-contacto-form) textarea {
            resize: vertical;
            height: 100px;
        }

        form[name="formCont"]:not(.formulario-contacto-form) button {
            grid-column: span 2;
            background-color: #30884b;
            color: white;
            border: none;
            cursor: pointer;
            font-size: 18px;
        }

        form[name="formCont"]:not(.formulario-contacto-form) button:hover {
            background-color: #276c3a;
        }
        
        .nav-footer,
        .nav-footer-content {
            border-top: 1px solid #296733;
            color: #FFF
        }

        .opiniones {
            font-family: Allura, cursive
        }

        .nav-footer {
            height: 40px;
            background-color: #296733;
            padding: 3px 10px 0 8px;
        }

        .nav-footer-content {
            background-color: #30884b;
            padding-bottom: 10px
        }

        .footer-link {
            color: #FFF;
            font-weight: 700;
            text-decoration: underline
        }

        .footer-link:hover {
            color: #FFF;
            opacity: .7
        }

        .img-redes {
            filter: grayscale(0);
            -webkit-filter: grayscale(0)
        }

        .img-redes:hover {
            filter: grayscale(100%);
            -webkit-filter: grayscale(100%)
        }

        button.disabled {
            pointer-events: none; /* Desactiva la capacidad de hacer clic */
            opacity: 0.6; /* Reduce la opacidad para indicar que está deshabilitado */
            cursor: not-allowed; /* Cambia el cursor para indicar que no es clickeable */
        }

        img {
          max-width: 100%;
          height: auto;
        }

        /* Flexbox for footer and buttons */
        .footer-link {
          display: inline-block;
          margin-right: 10px;
        }

        .equipo {
            padding: 24px 8px 124px 38px;
            border: 2px solid orange;
            color:var(--naranja-marca);
        }

        .mobile-break {
            display: none;
        }

        .spacing {
            word-spacing: 8px;
        }

        .social-icon {
            width: 35px;
        }

        .linkedin {
            width: 38px;
        }

        .margenes {
            padding: 24px 16px 30px 30px;
            border: 2px solid orange;
        }

        .video {
            width:640px;
            height:360px;
        }

        @media (min-width: 768px) {
            .fixed-button-container {
                display: none !important;
            }
        }

      .fixed-button-anchor {
            height: 0;
            margin: 0;
            padding: 0;
            overflow: visible;
        }

      .fixed-button-container {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 1040;
            width: 100%;
            background: #fff;
            padding: 12px 12px calc(16px + env(safe-area-inset-bottom, 0px));
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.1);
            transform: translateY(100%);
            visibility: hidden;
            pointer-events: none;
            transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s;
      }

      .fixed-button-container.is-visible {
            transform: translateY(0);
            visibility: visible;
            pointer-events: auto;
      }

      .fixed-button-container__handle {
            display: block;
            width: 36px;
            height: 4px;
            margin: 0 auto 10px;
            background: #c8c8c8;
            border-radius: 999px;
            flex-shrink: 0;
      }

      .fixed-button-container__buttons {
            display: flex;
            gap: 10px;
            width: 100%;
            max-width: 420px;
            justify-content: center;
      }

      .fixed-button-container__btn {
            flex: 1 1 0;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            padding: 14px 20px;
            border-radius: 50px;
            font-size: 16px;
            font-weight: bold;
            text-decoration: none !important;
            color: #fff !important;
            line-height: 1;
            white-space: nowrap;
            position: relative;
            z-index: 2;
            pointer-events: auto;
            -webkit-tap-highlight-color: transparent;
            transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
      }

      .fixed-button-container__btn:hover,
      .fixed-button-container__btn:focus,
      .fixed-button-container__btn:focus-visible {
            color: #fff !important;
            text-decoration: none !important;
      }

      .fixed-button-container__btn--agendar:hover,
      .fixed-button-container__btn--agendar:focus-visible {
            background: linear-gradient(180deg, #ff8a00 0%, #e67d00 100%);
            transform: translateY(-1px);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
      }

      .fixed-button-container__btn--whatsapp:hover,
      .fixed-button-container__btn--whatsapp:focus-visible {
            background: #4cae4c;
            transform: translateY(-1px);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
      }

      .fixed-button-container__btn--agendar {
            background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%);
      }

      .fixed-button-container__btn--whatsapp {
            background: #5cb85c;
      }

      .fixed-button-container__btn-icon {
            font-size: 22px;
            line-height: 1;
            width: 22px;
            flex-shrink: 0;
            color: #fff;
            text-align: center;
      }

      .fixed-button-container__btn-icon img {
            width: 22px;
            height: 22px;
            display: block;
            filter: brightness(0) invert(1);
      }

      @media (max-width: 767px) {
            :root {
                --sticky-agendar-height: 90px;
            }

            .fixed-button-container.is-visible {
                display: flex !important;
            }

            body.has-sticky-agendar .site-footer {
                padding-bottom: calc(var(--sticky-agendar-height) + env(safe-area-inset-bottom, 0px));
            }
      }

      @media (min-width: 768px) {
            .tol-landing-cl .whatsapp-float,
            .tol-landing-mx .whatsapp-float {
                display: none !important;
            }

            .tol-landing-cl .fixed-button-container,
            .tol-landing-mx .fixed-button-container {
                display: flex !important;
                position: fixed;
                left: auto;
                right: 17px;
                bottom: 24px;
                z-index: 1040;
                width: auto;
                background: transparent;
                padding: 0;
                box-shadow: none;
                transform: none !important;
                visibility: visible !important;
                pointer-events: auto !important;
            }

            .tol-landing-cl .fixed-button-container__handle,
            .tol-landing-mx .fixed-button-container__handle {
                display: none;
            }

            .tol-landing-cl .fixed-button-container__buttons,
            .tol-landing-mx .fixed-button-container__buttons {
                flex-direction: column;
                align-items: stretch;
                width: max-content;
                max-width: none;
                gap: 10px;
            }

            .tol-landing-cl .fixed-button-container__btn,
            .tol-landing-mx .fixed-button-container__btn {
                flex: 0 0 auto;
                width: 100%;
                min-width: 168px;
                padding: 12px 20px;
                box-sizing: border-box;
            }

            .tol-landing-cl .fixed-button-container__btn--agendar,
            .tol-landing-mx .fixed-button-container__btn--agendar {
                order: 1;
            }

            .tol-landing-cl .fixed-button-container__btn--whatsapp,
            .tol-landing-mx .fixed-button-container__btn--whatsapp {
                order: 2;
            }
      }

      .btnForm {
        padding: 10px 20px;
        background-color: #389c63;
        color: white;
        border: none;
        cursor: pointer;
        width: 20%;
        font-size: larger;
        font-weight: bold;
      }

      .italica {
        color: #389c63;
        text-align: center;
        font-size: 24px;
      }

      /* Header mobile: logo + 3 líneas | botones arriba a la derecha */
      @media (max-width: 767px) {
        .site-top {
            margin: 0 -15px;
        }

        .site-top__header {
            padding: 10px 22px 8px;
        }

        .site-top__inner {
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 6px;
            max-width: none;
        }

        .site-top__inner-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
            gap: 10px;
        }

        .site-top__brand {
            display: flex;
            align-items: center;
            min-width: 0;
        }

        .site-top__logo-link img {
            display: block;
            width: 68px;
            max-width: 68px;
            height: auto;
        }

        .site-top__tagline--desktop {
            display: none !important;
        }

        .site-top__tagline--mobile {
            display: block !important;
            margin: 0;
            text-align: center;
            width: 100%;
            padding: 0 15px;
        }

        .site-top__tagline-line {
            margin: 0;
            padding: 0;
            font-size: 11px;
            line-height: 1.3;
            font-style: italic;
            font-weight: 400;
            color: #757575;
            display: block;
        }

        .site-top__tagline-line + .site-top__tagline-line {
            margin-top: 1px;
        }

        .site-top__tagline-line--years {
            font-weight: 700;
            color: #666;
        }

        .site-top__actions {
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: flex-end;
            gap: 8px;
            flex-shrink: 0;
        }

        .site-top__btn-acceso,
        .site-top__actions .boton-consulta.site-top__btn-registrate {
            box-sizing: border-box;
            width: auto !important;
            max-width: none !important;
            margin: 0 !important;
            padding: 8px 14px !important;
            font-size: 11px !important;
            font-weight: 600 !important;
            line-height: 1.1 !important;
            border-radius: 20px !important;
            display: inline-block !important;
            box-shadow: none !important;
            text-align: center;
            vertical-align: middle;
            flex-shrink: 0;
        }

        .site-top__btn-acceso {
            white-space: nowrap !important;
            background: #fff !important;
            color: #ff9b00 !important;
            border: 1.5px solid #ff9b00 !important;
        }

        .site-top__btn-acceso:hover,
        .site-top__btn-acceso:focus,
        .site-top__btn-acceso:active,
        .site-top__btn-acceso:focus-visible {
            background: #fff !important;
            color: #ff8a00 !important;
            border: 1.5px solid #ff8a00 !important;
            text-decoration: none !important;
            outline: none !important;
            box-shadow: 0 4px 10px rgba(255, 155, 0, 0.2) !important;
        }

        .site-top__btn-acceso:active {
            transform: translateY(0);
            box-shadow: 0 2px 6px rgba(255, 155, 0, 0.15) !important;
        }

        .site-top__actions .boton-consulta.site-top__btn-registrate {
            padding-left: 16px !important;
            padding-right: 16px !important;
            font-size: 11.5px !important;
            white-space: nowrap !important;
            background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%) !important;
            color: #fff !important;
            border: none !important;
            text-decoration: none !important;
        }

        .site-top__actions .boton-consulta.site-top__btn-registrate:hover,
        .site-top__actions .boton-consulta.site-top__btn-registrate:focus,
        .site-top__actions .boton-consulta.site-top__btn-registrate:visited,
        .site-top__actions .boton-consulta.site-top__btn-registrate:active {
            text-decoration: none !important;
        }

        .row.section-video-hero {
            padding-left: 0 !important;
            padding-right: 0 !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
            width: 100vw !important;
            max-width: 100vw !important;
        }

        .section-video-hero > [class*="col-"] {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .section-video-hero .video-hero {
            max-width: none !important;
            width: 100% !important;
            margin: 0 !important;
        }

        .section-video-hero .video-hero__inner {
            aspect-ratio: 16 / 10;
            border-radius: 0;
        }

        .site-top__bar {
            padding: 8px 22px;
            background: #f5f5f5;
        }

        .site-top__bar-inner {
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            max-width: none;
        }

        .site-top__contact-email {
            justify-content: flex-start;
            flex: 1 1 auto;
            min-width: 0;
            font-size: 12px;
            font-weight: 700;
            color: #ff9b00;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .site-top__contact-email .glyphicon,
        .site-top__contact-email .fa-solid {
            flex-shrink: 0;
            font-size: 14px;
        }

        .site-top__contact-wa {
            justify-content: flex-end;
            flex: 0 0 auto;
            font-size: 12px;
            font-weight: 700;
            color: #389c63;
            text-align: right;
            white-space: nowrap;
        }

        .site-top__contact-wa .site-top__wa-icon {
            width: 18px;
            height: 18px;
            flex-shrink: 0;
        }

        .format-subtitulos,
        .banner-precio-sesion,
        .enfoque-integral-header,
        .cobertura-mx__franja {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: calc(50% - 50vw) !important;
            box-sizing: border-box;
            border-radius: 0 !important;
        }

        .section-subtitulo-plataforma,
        .section-precio-sesion {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .titulo {
            margin-top: 12px !important;
            margin-bottom: 8px !important;
            padding: 6px 12px 8px;
            text-align: center;
        }

        .format-subtitulos {
            padding: 14px 12px;
        }

        .section-subtitulo-plataforma > [class*="col-"],
        .section-precio-sesion > [class*="col-"],
        .section-enfoque-banner > [class*="col-"],
        .section-enfoque-beneficios-banner > [class*="col-"] {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .section-enfoque-beneficios-banner {
            margin-top: var(--espacio-seccion, 24px) !important;
            margin-bottom: 22px !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            width: auto !important;
            max-width: none !important;
        }

        .titulo .page-h1 {
            font-size: 20px;
            line-height: 1.25;
        }
      }

      @media (max-width: 380px) {
        .site-top__brand {
            min-width: 0;
        }

        .site-top__logo-link img {
            width: 36px;
            max-width: 36px;
        }

        .site-top__tagline-line {
            font-size: 8px;
        }

        .site-top__btn-acceso,
        .site-top__actions .boton-consulta.site-top__btn-registrate {
            font-size: 10px !important;
            padding: 7px 10px !important;
        }

        .site-top__actions .boton-consulta.site-top__btn-registrate {
            font-size: 10px !important;
        }

        .site-top__contact-email {
            font-size: 12px;
        }

        .site-top__contact-email .glyphicon,
        .site-top__contact-email .fa-solid {
            font-size: 15px;
        }

        .site-top__contact-wa {
            font-size: 12px;
        }

        .site-top__contact-wa .site-top__wa-icon {
            width: 20px;
            height: 20px;
        }
      }

      /* Responsive Adjustments */
      @media (max-width: 768px) {
        .section-video-hero {
            padding: 0;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            width: 100vw;
            max-width: 100vw;
        }

        .section-video-hero > [class*="col-"] {
            padding-left: 0;
            padding-right: 0;
        }

        .video-hero {
            max-width: none;
            width: 100%;
            margin: 0;
        }

        .video-hero__inner {
            aspect-ratio: 16 / 10;
            border-radius: 0;
        }

        .hero-carousel__nav {
            width: 40px;
            height: 40px;
        }

        .hero-carousel__nav svg {
            width: 18px;
            height: 18px;
        }

        .hero-carousel__nav--prev {
            left: 8px;
        }

        .hero-carousel__nav--next {
            right: 8px;
        }

        .hero-carousel__dots {
            bottom: 12px;
            gap: 8px;
        }

        .hero-carousel__dot {
            width: 9px;
            height: 9px;
        }

        .formu {
          padding: 15px;
        }

        .boton-consulta {
          font-size: 20px;
          padding: 12px;
           width: 70% !important; /* IA width: 100% !important;*/
        }

        .site-top__logo-link img {
          max-width: 120px;
        }
        
        .container {
            padding-right: 10px;
            padding-left: 10px;
        }
        
        .mobile-break {
            display: inline;
        }

        .lazy {
            display: block;
            margin: auto;
        }

        .spacing {
            word-spacing: normal !important;
        }

        .equipo {
          padding: 18px 8px 125px 10px;
        }

        .social-icon {
            width: 28px;
        }

        .linkedin {
            width: 31px;
        }

        .centrado {
            text-align: center !important;
        }

        .margenes {
            padding: 24px 10px 30px 10px;
        }

        ul {
            padding: 2px;
            font-size: 16px;
            line-height: 1.5;
        }

        .video {
            width:370px;
            height:200px;
        }

        .footer {
            position: relative;
            margin-bottom: 80px;
        }

        .btnForm {
          padding: 10px 20px;
          background-color: #389c63;
          color: white;
          border: none;
          cursor: pointer;
          width: 40%;
          font-size: larger;
          font-weight: bold;
        }

        .carousel-inner .item .inside {
            width: 100%
        }

        .italica {
          font-size: 18px;
        }
      }

      @media (max-width: 500px) {
        .div1,
        .div3 {
          margin-left: 0;
        }

        .formu {
          padding: 10px;
        }

        .boton-consulta {
          font-size: 18px;
          border-radius: 50px;
          padding: 14px 30px;
          display: inline-block;
        }

        .login-logo img {
          max-width: 120px;
        }
      }

      /* Footer */
      .nav-footer {
        background-color: #296733;
        color: white;
        padding: 6px;
        text-align: center;
      }

      .nav-footer-content {
        background-color: #30884b;
        color: white;
        padding: 10px;
      }

    .whatsapp-float {
        position: fixed;
        bottom: 83px;
        right: 17px;
        background-color: #25d366;
        color: white;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
        cursor: pointer;
        z-index: 1000;
    }
    .whatsapp-float i {
        font-size: 30px;
    }

    @media (max-width: 767px) {
        .whatsapp-float {
            display: none !important;
        }
    }

    .grecaptcha-badge {
        bottom: -10px !important;
    }


        /* Tarjeta de perfil: nombre arriba, foto + descripción al medio, botones abajo */
        .profile-card {
            background-color: #ffffff;
            border-radius: 12px;
            padding: 18px;
            margin: 10px 8px;
            display: flex;
            flex-direction: column;
            align-items: stretch;
            gap: 12px;
            box-shadow: 0 8px 18px rgba(0,0,0,0.08);
            overflow: hidden;
        }

        /* Nombre del perfil (cabecera de la tarjeta) */
        .profile-name {
            display: block;
            text-align: left;
            font-size: 21px;
            color: #222;
            font-weight: 700;
            line-height: 1.3;
        }

        /* Fila central: imagen a la izquierda, descripción a la derecha */
        .profile-body {
            display: flex;
            align-items: flex-start;
            gap: 16px;
        }

        /* Contenedor de la imagen: cuadrado para no deformar fotos rectangulares */
        .profile-image-container {
            position: relative;
            flex-shrink: 0;
            width: 120px;
            height: 120px;
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            border-radius: 8px;
        }

        .profile-fonasa-badge {
            position: absolute;
            right: 2px;
            bottom: 2px;
            width: 42px;
            height: 42px;
            object-fit: contain;
            border-radius: 50%;
            z-index: 2;
            pointer-events: none;
            background: #fff;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
        }

        .profile-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center center;
            border-radius: 8px !important;
            box-shadow: 0 4px 10px rgba(0,0,0,0.06);
        }

    /* Descripción */
    .profile-description {
      flex: 1;
      min-width: 0;
      text-align: left;
      font-size: 16px;
      color: #555;
      line-height: 1.45;
      margin: 0;
    }

        /* Botones abajo, repartidos a lo ancho de la tarjeta */
        .profile-actions {
            margin-top: auto;
            display: flex;
        }

        .profile-actions form {
            display: flex !important;
            width: 100%;
            gap: 14px;
            align-items: center;
            margin: 0;
        }

        .profile-actions .btn-profile {
            flex: 1 1 0;
            margin-right: 0;
        }

    /* Estilos base para ambos botones */
        .btn-profile {
            border: none;
            border-radius: 16px;
            padding: 6px 12px;
            font-weight: 600;
            margin-right: 8px;
            cursor: pointer;
            transition: background-color 0.15s ease, transform 0.12s ease;
            color: white;
            font-size: 13px;
            box-shadow: 0 2px 6px rgba(0,0,0,0.06);
        }

    /* Botón "Ver más" específico */
    .btn-ver-mas { background-color: #5cb85c; }
    .btn-ver-mas:hover { background-color: #4cae4c; color: white; }

    /* Botón "Reservar" específico */
    .btn-reservar { background-color: #ff9b00; }
    .btn-reservar:hover { background-color: #ff8a00; color: white; transform: translateY(-1px); }

    /* Estilos para los controles del carrusel */
        .custom-carousel-control {
            position: absolute;
            width: 44px;
            height: 44px;
            top: 50%;
            transform: translateY(-50%);
            background-image: none !important;
            background-color: #777777;
            opacity: 1;
            border-radius: 50%;
      text-shadow: none;
      color: #fff;
      transition: background-color 0.12s ease, transform 0.12s ease;
      z-index: 6;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 4px 10px rgba(0,0,0,0.12);
      border: 1px solid rgba(0,0,0,0.08);
    }

     .custom-carousel-control::before,
     .custom-carousel-control::after {
         display: none !important;
         content: none !important;
     }
 
     .custom-carousel-control.left { left: 12px; }
     .custom-carousel-control.right { right: 12px; }
 
     .custom-carousel-control:hover { background-color: #666666; }
 
     /* Flechas finas (mismo trazo que FAQ, orientación horizontal) */
     .carousel-arrow-icon {
         display: block;
         width: 8px;
         height: 8px;
         border-right: 2px solid #fff;
         border-bottom: 2px solid #fff;
         flex-shrink: 0;
     }

     .carousel-arrow-icon--prev {
         transform: rotate(135deg);
         margin-left: 3px;
     }

     .carousel-arrow-icon--next {
         transform: rotate(-45deg);
         margin-right: 3px;
     }

    .carousel-bg-section {
        background-color: #e6e6e6;
        padding: 20px 16px 16px;
        margin: 30px 0 0;
        border-radius: 16px;
    }

    .carousel-bg-section .carousel {
        position: relative;
        overflow: visible;
    }

    #carousel-example-generic {
        overflow: visible;
    }

    /* Stage: solo tarjetas + flechas; los dots quedan fuera */
    .carousel-bg-section .pc-carousel-stage {
        position: relative;
    }

    .carousel-bg-section .carousel-inner {
        padding: 0 48px;
        box-sizing: border-box;
    }

    /* Indicadores de paginación (mockup: punto verde activo, blancos inactivos) */
    .carousel-bg-section .pc-carousel-dots {
        display: flex !important;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin: 0;
        padding: 12px 0 0;
        min-height: 21px;
        visibility: visible;
        opacity: 1;
    }

    .carousel-bg-section .pc-carousel-dot {
        display: inline-block;
        width: 9px;
        height: 9px;
        padding: 0;
        border: 1px solid #c5c5c5;
        border-radius: 50%;
        background: #ffffff;
        cursor: pointer;
        flex-shrink: 0;
        appearance: none;
        -webkit-appearance: none;
        transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    }

    .carousel-bg-section .pc-carousel-dot.is-active {
        background: #389c63;
        border-color: #389c63;
        transform: scale(1.2);
    }

    .carousel-bg-section .pc-carousel-dot:focus-visible {
        outline: 2px solid #389c63;
        outline-offset: 2px;
    }

    /* Deslizamiento horizontal real (anula Bootstrap .item display/left) */
    #carousel-example-generic.pc-slider,
    #carousel-example-generic.pc-slider .carousel-inner {
        overflow: visible;
    }

    #carousel-example-generic .pc-viewport {
        overflow: hidden !important;
        position: relative !important;
        width: 100% !important;
    }

    #carousel-example-generic .pc-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        width: 100% !important;
        transform: translate3d(0, 0, 0);
        transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
        transition-duration: 0.55s !important;
        will-change: transform;
        backface-visibility: hidden;
    }

    #carousel-example-generic .pc-track.pc-track--no-anim {
        transition: none !important;
        transition-duration: 0s !important;
    }

    #carousel-example-generic .pc-track > .item,
    #carousel-example-generic.pc-slider .pc-track > .item,
    #carousel-example-generic.pc-slider .pc-track > .item.active,
    #carousel-example-generic.pc-slider .pc-track > .item.next,
    #carousel-example-generic.pc-slider .pc-track > .item.prev,
    #carousel-example-generic.pc-slider .pc-track > .item.left,
    #carousel-example-generic.pc-slider .pc-track > .item.right {
        display: block !important;
        position: relative !important;
        float: none !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        left: auto !important;
        right: auto !important;
        opacity: 1 !important;
        transition: none !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    /* No anular la animación por prefers-reduced-motion: este carrusel
       debe desplazarse siempre (el SO/Windows a menudo tiene "reducir movimiento"). */

    .carousel-bg-section .custom-carousel-control {
        top: 50%;
        width: 36px;
        height: 36px;
        box-shadow: none;
    }

    /* Asegura que las tarjetas del carousel se dispongan en dos columnas
       con la misma altura y que las flechas queden centradas verticalmente */
    .carousel-bg-section .carousel-inner .item .inside {
        display: flex;
        gap: 16px;
        align-items: stretch;
        justify-content: center;
        flex-wrap: nowrap;
    }

    .carousel-bg-section .carousel-inner .item .inside .col-md-6 {
        display: flex;
        align-items: stretch;
        padding: 0 8px;
        box-sizing: border-box;
    }

    .carousel-bg-section .profile-card {
        margin: 0;
        flex: 1 1 100%;
        min-height: 230px;
        padding: 16px 18px;
        gap: 16px;
        border-radius: 12px;
        overflow: visible;
        box-shadow: none;
    }

    .carousel-bg-section .profile-body {
        gap: 14px;
    }

    .carousel-bg-section .profile-actions {
        margin-top: 0;
    }

    .carousel-bg-section .profile-name {
        font-size: 21px;
        line-height: 1.3;
        margin: 0;
    }

    .carousel-bg-section .profile-description {
        font-size: 16px;
        line-height: 1.45;
        color: #555;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 6;
        overflow: hidden;
        text-overflow: ellipsis;
        overflow-wrap: break-word;
        max-height: calc(1.45em * 6);
    }

    .carousel-bg-section .profile-image-container {
        position: relative;
        width: 142px;
        height: 142px;
        overflow: hidden;
        border-radius: 8px;
        flex-shrink: 0;
    }

    .carousel-bg-section .profile-fonasa-badge {
        width: 46px;
        height: 46px;
        right: 2px;
        bottom: 2px;
    }

    .carousel-bg-section .profile-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
        display: block;
        margin: 0;
        box-shadow: none;
    }

    /* Botones: mismo ancho que la foto del terapeuta, iguales entre sí */
    .carousel-bg-section .profile-card {
        container-type: inline-size;
    }

    .carousel-bg-section .profile-actions,
    .carousel-bg-section .profile-actions form {
        display: flex !important;
        flex-wrap: nowrap;
        width: 100%;
        margin: 0;
        justify-content: center;
        align-items: center;
        gap: 24px;
    }

    .carousel-bg-section .profile-actions form input[type="hidden"] {
        display: none;
    }

    .carousel-bg-section .profile-actions .btn-profile {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        margin: 0;
        padding: 7px 12px;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.15;
        text-align: center;
        border-radius: 999px;
        box-shadow: none;
        white-space: nowrap;
        box-sizing: border-box;
        transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    }

    /* Anula padding legacy de .carousel-inner .item .inside div en móvil estrecho */
    .carousel-bg-section .carousel-inner .item .inside .carousel-profile-col,
    .carousel-bg-section .carousel-inner .item .inside .profile-body,
    .carousel-bg-section .carousel-inner .item .inside .profile-image-container,
    .carousel-bg-section .carousel-inner .item .inside .profile-actions,
    .carousel-bg-section .carousel-inner .item .inside .profile-description {
        padding: 0;
    }

    .carousel-bg-section .carousel-inner .item .inside .carousel-profile-col {
        overflow: visible;
    }

    .carousel-bg-section .carousel-inner .item .inside .profile-card {
        padding: 16px 18px;
        box-sizing: border-box;
        overflow: visible;
    }

    .carousel-bg-section .btn-ver-mas {
        background-color: #5cb85c;
    }

    .carousel-bg-section .btn-reservar {
        background-color: #ff9b00;
    }

    @media (hover: hover) and (min-width: 769px) {
        .carousel-bg-section .btn-ver-mas:hover,
        .carousel-bg-section .btn-ver-mas:focus-visible {
            background-color: #4cae4c !important;
            color: #fff !important;
            transform: translateY(-1px);
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
        }

        .carousel-bg-section .btn-reservar:hover,
        .carousel-bg-section .btn-reservar:focus-visible {
            background-color: #ff8a00 !important;
            color: #fff !important;
            transform: translateY(-1px);
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
        }
    }

     /* Flechas justo fuera de las tarjetas */
     .carousel-bg-section .custom-carousel-control.left { left: 8px; }
     .carousel-bg-section .custom-carousel-control.right { right: 8px; }

     .carousel-bg-section .carousel-arrow-icon {
         width: 7px;
         height: 7px;
     }

     /* Mobile: dos tarjetas apiladas; flechas centradas entre cards, dots abajo */
     @media (max-width: 768px) {
          .carousel-bg-section {
                padding: 16px 0 14px;
                margin-left: calc(50% - 50vw);
                margin-right: calc(50% - 50vw);
                width: 100vw;
                max-width: 100vw;
                border-radius: 0;
                box-sizing: border-box;
          }

          .carousel-bg-section .carousel-inner {
                padding: 0 28px;
          }

          .carousel-bg-section .pc-carousel-dots {
                padding: 12px 0 0;
                gap: 8px;
          }

          .carousel-bg-section .pc-carousel-dot {
                width: 8px;
                height: 8px;
          }

          .carousel-bg-section .carousel-inner .item .inside {
                display: flex;
                flex-direction: column;
                flex-wrap: nowrap;
                align-items: stretch;
                justify-content: flex-start;
                gap: 14px;
                width: 100%;
                height: auto;
          }

          .carousel-bg-section .carousel-inner .item .inside .carousel-profile-col {
                width: 100%;
                max-width: 100%;
                flex: 0 0 auto;
                padding: 0;
                float: none;
          }

          .carousel-bg-section .carousel-inner .item .inside .profile-card {
                margin: 0;
                width: 100%;
                min-height: 0;
                padding: 18px 16px;
                gap: 16px;
                border-radius: 12px;
                box-sizing: border-box;
                overflow: visible;
                box-shadow: none;
          }

          .carousel-bg-section .carousel-inner .item .inside .carousel-profile-col,
          .carousel-bg-section .carousel-inner .item .inside .profile-body,
          .carousel-bg-section .carousel-inner .item .inside .profile-image-container,
          .carousel-bg-section .carousel-inner .item .inside .profile-actions {
                padding: 0;
          }

          .carousel-bg-section .profile-body {
                gap: 12px;
          }

          .carousel-bg-section .profile-image-container {
                width: min(46cqw, 142px);
                max-width: none;
                height: auto;
                aspect-ratio: 1;
                margin: 0;
                flex-shrink: 0;
                position: relative;
          }

          .carousel-bg-section .profile-fonasa-badge {
                width: 38px;
                height: 38px;
                right: 2px;
                bottom: 2px;
          }

          .carousel-bg-section .profile-image {
                width: 100%;
                height: 100%;
                max-width: none;
                object-fit: cover;
                object-position: center center;
                border-radius: 8px !important;
                display: block;
                margin: 0;
          }

          .carousel-bg-section .profile-image.img-circle {
                border-radius: 8px !important;
          }

          .carousel-bg-section .profile-name {
                font-size: 19px;
                line-height: 1.3;
          }

          .carousel-bg-section .profile-description {
                font-size: 15px;
                line-height: 1.45;
                color: #555;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 5;
                overflow: hidden;
                text-overflow: ellipsis;
                overflow-wrap: break-word;
                max-height: calc(1.45em * 5);
          }

          .carousel-bg-section .profile-actions,
          .carousel-bg-section .profile-actions form {
                justify-content: center;
                gap: 16px;
          }

          .carousel-bg-section .profile-actions .btn-profile {
                flex: 1 1 0;
                width: auto;
                min-width: 0;
                padding: 7px 5px;
                font-size: 14px;
                font-weight: 700;
                border-radius: 999px;
                line-height: 1.15;
          }

          .carousel-bg-section .custom-carousel-control {
                width: 26px;
                height: 26px;
          }

          .carousel-bg-section .custom-carousel-control.left { left: 5px; }
          .carousel-bg-section .custom-carousel-control.right { right: 5px; }

          .carousel-bg-section .carousel-arrow-icon {
                width: 6px;
                height: 6px;
                border-width: 1.5px;
          }
     }

    .slide3 {
        display: none;
        width: 100%;
    }

    .slide3.active {
        display: block;
    }

    /* Testimonios legacy (landing psiquiatría y similares) */
    .testimonios {
        background-color: #8ac5a3;
        padding: 10px 0 30px;
        border-radius: 15px;
        width: 97%;
        margin: 0 20px auto;
    }

    .testi-nombre {
        text-align: right;
        padding-right: 130px;
    }

    @media (max-width: 768px) {
        .testimonios {
            margin: 0 10px auto;
            width: 95%;
        }

        .testi-nombre {
            padding-right: 15px;
        }
    }
    /** IACEVEDO CSS CREADOS PARA QUITAR ETIQUETA POR ESPECIFICACIONES SEO */
    :root {
        --naranja-marca: #ff9b00;
        --naranja-cta: #ff9b00;
        --naranja-cta-dark: #ff8a00;
        --cta-gradient: linear-gradient(180deg, var(--naranja-cta) 0%, var(--naranja-cta-dark) 100%);
        --espacio-seccion: 32px;
        /* Jerarquía tipográfica: solo H1, H2 y H3 */
        --font-h1: 34px;
        --font-h2-seccion: 28px;
        --font-h2-card: 24px;
        --font-h3: 22px;
    }

    @media (max-width: 767px) {
        :root {
            --espacio-seccion: 24px;
            --font-h1: 28px;
            --font-h2-seccion: 22px;
            --font-h2-card: 20px;
            --font-h3: 20px;
        }
    }

    .titulo h1,
    h1.page-h1 {
        margin: 0;
        padding-top: 0;
        font-size: var(--font-h1);
        text-align: center;
        line-height: 1.25;
        font-weight: bold;
    }

    /* H2 — títulos de sección */
    .titulo-psicologos-carousel,
    .carrusel-ver-todos__titulo,
    .apoyo-card__titulo,
    .banner-precio-sesion,
    .faq-section-titulo,
    .enfoque-integral-header h2,
    .enfoque-integral-header h3,
    .cobertura-mx__titulo {
        font-size: var(--font-h2-seccion);
    }

    /* H2 — títulos en barra de tarjeta (verde/naranja) */
    .porque-card__header h2,
    .formulario-contacto-card__header .formulario-contacto-card__titulo,
    .desafios-card__header h2 {
        font-size: var(--font-h2-card);
    }

    /* H3 — subtítulos de bloque */
    .contacto-faq-titulo,
    .enfoque-integral-card__titulo,
    .enfoque-integral-card__titulo b,
    .enfoque-integral-card__titulo i {
        font-size: var(--font-h3);
    }

    /* H3 SEO en línea: aporta semántica de encabezado sin alterar el diseño.
       Hereda 100% del contenedor para que el tamaño/peso/color sea idéntico al
       texto original; !important evita que reglas de h3 (Bootstrap, etc.) lo agranden. */
    .seo-h3-inline {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        font-style: inherit !important;
        font-family: inherit !important;
        line-height: inherit !important;
        letter-spacing: inherit !important;
        color: inherit !important;
    }

    /* Etiquetas SEO: neutraliza estilos por defecto de h2/h3 sin cambiar el diseño */
    h2.apoyo-card__titulo {
        margin: 0 0 16px;
        font-size: var(--font-h2-seccion);
    }

    h3.banner-precio-sesion {
        margin: 0;
        font-size: var(--font-h2-seccion);
    }

    h3.porque-card__frase,
    p.porque-card__frase {
        margin: 0 0 14px;
        font-size: 22px;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    h3.testimonios-cl__titulo {
        margin: 0 0 32px;
        font-size: 28px;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    h3.cobertura-mx__cierre {
        margin: 0;
        font-size: var(--font-h3, 22px);
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    .servicio-tag__label {
        display: inline;
        margin: 0;
        padding: 0;
        font: inherit;
        color: inherit;
        line-height: inherit;
    }

    /* Encabezado que envuelve el botón del acordeón de FAQ (sin alterar el diseño) */
    .faq-question-heading {
        margin: 0 !important;
        padding: 0 !important;
        font: inherit !important;
        line-height: inherit !important;
    }

    /* H3 — cierre sección cobertura */
    .cobertura-mx__cierre {
        font-size: var(--font-h3);
    }

    .mensaje-importante {
        margin-top: 5px;
        color: var(--naranja-marca);
        text-align: center;
        font-size: 24px;
        font-style: normal;
        font-weight: bold;
         line-height: 1.1;
    }

    .mensaje-importante--dos-lineas {
        line-height: 1.35;
    }

    .mensaje-importante-linea1,
    .mensaje-importante-linea1 b {
        color: var(--naranja-marca);
    }

    .mensaje-importante-linea2,
    .mensaje-importante-linea2 b {
        color: var(--naranja-marca);
    }

    .section-landing-banner {
        margin: 36px 0;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .section-landing-banner--pre-testimonios {
        margin-top: 0;
        margin-bottom: 36px;
    }

    .section-landing-banner--post-testimonios {
        margin-top: 0;
        margin-bottom: 48px;
    }

    .landing-banner {
        max-width: 920px;
        margin: 0 auto;
        border-radius: 12px;
        overflow: hidden;
        background: #2a2a2a;
    }

    .landing-banner__img {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 2.8 / 1;
        max-height: 280px;
        object-fit: cover;
        object-position: center;
    }

    /* Baja el encuadre para centrar el rostro de la terapeuta en la laptop */
    .landing-banner__img--terapeutas {
        object-position: center 28%;
    }

    /* Sube el encuadre para centrar las manos en el contenedor */
    .landing-banner__img--salud {
        object-position: center 68%;
    }

    /* Infantil: solo banner superior (terapeuta) — bajar la imagen en el contenedor */
    .landing-banner__img--infantil-pre {
        object-position: center 38%;
    }

    .landing-banner__img--infantil-post {
        object-position: center 22%;
    }

    @media (max-width: 767px) {
        .landing-banner__img {
            aspect-ratio: 2.2 / 1;
            max-height: 160px;
        }

        .landing-banner__img--terapeutas {
            object-position: center 30%;
        }

        .landing-banner__img--salud {
            object-position: center 65%;
        }

        .landing-banner__img--infantil-pre {
            object-position: center 35%;
        }
    }

    @media (min-width: 769px) {
        .section-landing-banner {
            margin-left: -15px;
            margin-right: -15px;
            padding: 0 15px;
        }

        .section-landing-banner .landing-banner {
            max-width: none;
            width: 100%;
            border-radius: 12px;
        }
    }

    .format-subtitulos {
        background-color: #ebf4ef;
        color: green;
        padding: 16px 20px;
        margin: 0;
     } 
     .texto-subtitulos {
        text-align: center;
        font-size: 26px;
        line-height: 1.35;
        margin: 0;
     }
    .banner-precio-sesion {
        margin: 0;
        padding: 28px 24px;
        background: var(--naranja-marca);
        color: #fff;
        text-align: center;
        font-style: normal;
        font-weight: bold;
        line-height: 1.35;
    }

    .banner-precio-sesion b {
        color: #fff;
    }

    .section-video-hero {
        margin-top: 0;
        margin-bottom: var(--espacio-seccion, 32px);
    }

    .section-agendar-cita {
        margin-top: var(--espacio-seccion, 32px);
        margin-bottom: 48px;
        padding: 0 15px;
    }

    .section-agendar-cita .enlace-sin-decoracion {
        display: block;
        text-align: center;
    }

    .section-subtitulo-plataforma {
        margin-bottom: 44px;
        padding: 0 15px;
    }

    .section-titulo-psicologos {
        margin-bottom: 28px;
        padding: 0 15px;
    }

    .section-carrusel-psicologos {
        margin-bottom: 36px;
    }

    .section-carrusel-ver-todos {
        margin: 0 auto;
        padding: 0 15px;
        max-width: 820px;
        text-align: center;
    }

    .carrusel-ver-todos__titulo {
        margin: 0 0 20px;
        text-align: center;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    .carrusel-ver-todos__cta {
        margin: 0;
    }

    .section-apoyo-card {
        margin-bottom: 48px;
        padding: 0 15px;
    }

    .apoyo-card {
        max-width: 880px;
        margin: 0 auto;
        background: #fff;
        border-radius: 24px;
        overflow: hidden;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
        border: 1px solid #eee;
    }

    .apoyo-card--como-funciona {
        max-width: 660px;
    }

    .apoyo-card--como-funciona .apoyo-card__content {
        padding-left: 32px;
        padding-right: 32px;
    }

    @media (min-width: 768px) {
        .apoyo-card--como-funciona .porque-card__lista li,
        .apoyo-card--como-funciona .apoyo-card__texto {
            white-space: nowrap;
        }
    }

    @media (max-width: 767px) {
        .apoyo-card--como-funciona .porque-card__lista li,
        .apoyo-card--como-funciona .apoyo-card__texto {
            white-space: normal;
        }
    }

    .apoyo-card__content {
        padding: 28px 28px 24px;
    }

    .apoyo-card__titulo {
        margin: 0 0 16px;
        line-height: 1.35;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        text-align: center;
    }

    .apoyo-card__titulo + .apoyo-card__subtitulo {
        margin-top: -8px;
    }

    .apoyo-card__subtitulo {
        margin: 0 0 16px;
        line-height: 1.35;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        text-align: center;
    }

    .apoyo-card__texto {
        margin: 0;
        color: #444;
        font-size: 16px;
        line-height: 1.65;
        text-align: justify;
    }

    .apoyo-card__texto + .apoyo-card__texto {
        margin-top: 16px;
    }

    .apoyo-card__texto + .porque-card__lista {
        margin-top: 16px;
    }

    .apoyo-card__imagen {
        display: block;
        width: 100%;
        height: auto;
        max-height: 360px;
        object-fit: cover;
        object-position: center;
        vertical-align: middle;
        background: #e8ece9;
    }

    .section-precio-sesion {
        margin-top: 12px;
        margin-bottom: 48px;
        padding: 0;
    }

    .section-precio-sesion__fonasa {
        max-width: 880px;
        margin: 0 auto;
        padding: 24px 28px 8px;
        text-align: center;
        color: #444;
        font-size: 18px;
        line-height: 1.5;
    }

    .section-precio-sesion__fonasa b {
        font-weight: bold;
        color: #333;
    }

    .section-precio-sesion__fonasa .isapres {
        display: block;
        margin: 16px auto 0;
    }

    .titulo-psicologos-carousel {
        margin: 0;
        padding: 0 20px;
        text-align: center;
        line-height: 1.35;
        font-weight: bold;
    }

    .titulo-psicologos-carousel h2,
    .titulo-psicologos-carousel h3 {
        margin: 0;
        padding: 0;
        font-size: inherit;
        font-weight: bold;
        line-height: inherit;
        text-align: center;
    }

    .titulo-psicologos-linea1,
    .titulo-psicologos-linea1 b,
    .titulo-psicologos-linea1 i {
        color: #000;
        font-style: italic;
        font-weight: bold;
    }

    .titulo-psicologos-linea2,
    .titulo-psicologos-linea2 b,
    .titulo-psicologos-linea2 i {
        color: var(--naranja-marca);
        font-style: italic;
        font-weight: bold;
    }

    @media (max-width: 767px) {
        .section-agendar-cita {
            margin-top: var(--espacio-seccion, 24px);
            margin-bottom: 36px;
        }

        .section-subtitulo-plataforma {
            margin-bottom: 32px;
        }

        .section-titulo-psicologos {
            margin-bottom: 16px;
        }

        .titulo-psicologos-carousel {
            font-size: var(--font-h2-seccion);
            line-height: 1.25;
            padding: 0 12px;
            text-align: center !important;
            white-space: normal;
            overflow-wrap: break-word;
            word-wrap: break-word;
        }

        .titulo-psicologos-carousel br {
            display: none;
        }

        .titulo-psicologos-carousel h2,
        .titulo-psicologos-carousel h3 {
            display: block;
            font-size: inherit;
            white-space: normal;
        }

        .titulo-psicologos-linea1,
        .titulo-psicologos-linea2 {
            display: block;
            white-space: normal;
            line-height: 1.25;
        }

        .titulo-psicologos-linea2 {
            margin-top: 2px;
        }

        .mensaje-importante--dos-lineas br {
            display: none;
        }

        .mensaje-importante-linea1,
        .mensaje-importante-linea2 {
            display: inline;
            white-space: normal;
        }

        .mensaje-importante--dos-lineas {
            font-size: 18px;
            line-height: 1.35;
            padding: 0 12px;
            overflow-wrap: anywhere;
            word-wrap: break-word;
        }

        .section-landing-banner {
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            width: 100vw;
            max-width: 100vw;
            padding: 0;
        }

        .section-landing-banner .landing-banner {
            max-width: none;
            border-radius: 0;
        }

        .texto-subtitulos {
            font-size: 22px;
        }

        .banner-precio-sesion {
            padding: 22px 16px;
        }

        .apoyo-card__content {
            padding: 22px 20px 20px;
        }

        .apoyo-card__texto {
            font-size: 15px;
        }
    }

    .section-faq {
        margin: 36px auto 48px;
        padding: 0 15px;
        max-width: 820px;
    }

    .faq-section-titulo {
        margin: 0 0 16px;
        text-align: center;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    .faq-section-bajada {
        margin: 0 0 32px;
        text-align: justify;
        text-justify: inter-word;
        color: #555;
        font-size: 16px;
        line-height: 1.65;
    }

    .faq-accordion {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .faq-item {
        background: #fff;
        border: 1px solid #e3e3e3;
        border-radius: 14px;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
        overflow: hidden;
        transition: box-shadow 0.3s ease;
    }

    .faq-item.is-open {
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.09);
    }

    .faq-question {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 18px 20px;
        border: none;
        background: transparent;
        text-align: left;
        cursor: pointer;
    }

    .faq-question-text {
        font-size: 17px;
        font-weight: bold;
        color: #111;
        line-height: 1.35;
    }

    .faq-toggle {
        flex-shrink: 0;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: var(--naranja-marca);
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.35s ease;
    }

    .faq-item.is-open .faq-toggle {
        transform: rotate(180deg);
    }

    .faq-icon {
        display: block;
        width: 8px;
        height: 8px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: rotate(45deg);
        margin-top: -3px;
    }

    .faq-answer {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s ease;
    }

    .faq-item.is-open .faq-answer {
        opacity: 1;
    }

    .faq-answer-inner {
        margin: 0 20px 20px 24px;
        padding-left: 16px;
        border-left: 3px solid var(--naranja-marca);
        color: #666;
        font-size: 15px;
        line-height: 1.65;
        text-align: justify !important;
        text-justify: inter-word;
    }

    .faq-answer-inner :is(p, li, div, span) {
        text-align: justify !important;
        text-justify: inter-word;
    }

    .faq-answer-inner p {
        margin: 0 0 10px;
    }

    .faq-answer-inner p:last-child {
        margin-bottom: 0;
    }

    .faq-answer-inner ul,
    .faq-answer-inner ol {
        margin: 0;
        padding-left: 22px;
    }

    .faq-answer-inner li {
        margin-bottom: 8px;
    }

    .faq-answer-inner .lista-check-naranja,
    .faq-answer-inner .lista-check-verde {
        list-style: none;
        padding-left: 0;
    }

    .faq-answer-inner .lista-check-naranja li,
    .faq-answer-inner .lista-check-verde li {
        display: flex;
        align-items: flex-start;
        gap: 8px;
    }

    .faq-answer-inner .lista-check-naranja .glyphicon,
    .faq-answer-inner .lista-check-naranja .icon-ok,
    .faq-answer-inner .lista-check-verde .glyphicon,
    .faq-answer-inner .lista-check-verde .icon-ok {
        flex-shrink: 0;
        margin-top: 2px;
    }

    @media (max-width: 767px) {
        .faq-section-bajada {
            font-size: 15px;
        }

        .faq-question-text {
            font-size: 15px;
        }
    }

    .section-contacto-faq {
        margin: 12px auto 32px;
        padding: 0 15px;
        max-width: 820px;
        text-align: center;
    }

    .contacto-faq-titulo {
        margin: 0 0 10px;
        text-align: center;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    .contacto-faq-texto {
        margin: 0;
        text-align: center;
        font-size: 16px;
        color: #666;
        line-height: 1.5;
    }

    .contacto-faq-texto a {
        color: inherit;
        text-decoration: none;
    }

    .section-enfoque-banner {
        margin: 0 0 0;
        padding: 0;
    }

    .enfoque-integral-header {
        margin: 0;
        padding: 28px 24px;
        background: #ebf4ef;
        text-align: center;
        width: 100%;
        border-radius: 0;
    }

    .enfoque-integral-header h2,
    .enfoque-integral-header h3 {
        margin: 0;
        font-weight: bold;
        color: #2e7d32;
        line-height: 1.35;
    }

    .section-enfoque-integral {
        display: block;
        width: 100%;
        max-width: 820px;
        margin: 0 auto 40px;
        padding: 32px 15px 0;
        box-sizing: border-box;
    }

    .section-enfoque-beneficios-banner {
        margin: 48px 0 28px;
        padding: 0;
    }

    .section-enfoque-beneficios {
        display: block;
        width: 100%;
        max-width: 820px;
        margin: 0 auto;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .beneficios-integral-card {
        background: #f5f6f6;
        border: 1px solid #e0e0e0;
        border-radius: 16px;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    }

    .beneficios-integral-card__body {
        padding: 32px 36px 36px;
    }

    .beneficios-integral-card__layout {
        display: flex;
        align-items: center;
        gap: 32px;
    }

    .beneficios-integral-card__lista {
        flex: 1;
        min-width: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .beneficios-integral-card__lista li {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 16px;
        font-size: 16px;
        line-height: 1.55;
        color: #444;
        text-align: left;
    }

    .beneficios-integral-card__lista li:last-child {
        margin-bottom: 0;
    }

    .beneficios-integral-card__icon-wrap {
        flex-shrink: 0;
        width: 28px;
        height: 1.55em;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding-top: 2px;
    }

    .beneficios-integral-card__icon {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: #389c63;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        line-height: 1;
    }

    .beneficios-integral-card__icon .glyphicon {
        top: 0;
        line-height: 1;
    }

    .beneficios-integral-card__item-text {
        flex: 1;
        min-width: 0;
        text-align: left;
    }

    .beneficios-integral-card__lista b {
        color: #333;
        font-weight: bold;
    }

    .beneficios-integral-card__imagen {
        flex: 0 0 42%;
        width: 42%;
        max-width: 480px;
        min-width: 280px;
        aspect-ratio: 4 / 3;
        height: auto;
        align-self: center;
        background: transparent;
        border-radius: 16px;
        overflow: hidden;
    }

    .beneficios-integral-card__imagen img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center top;
        border-radius: 16px;
        image-rendering: auto;
        -ms-interpolation-mode: bicubic;
        filter: contrast(0.96) saturate(0.97);
    }

    .beneficios-integral-card__nota {
        margin: 36px 0 48px;
        padding: 0 12px;
        text-align: center;
        font-size: 18px;
        font-style: italic;
        color: #389c63;
        line-height: 1.5;
    }

    .enfoque-integral-intro {
        margin: 0 0 28px;
        padding: 0 8px;
        text-align: left;
        color: #444;
        font-size: 16px;
        line-height: 1.65;
    }

    .enfoque-integral-intro.text-justify {
        text-align: justify;
        text-justify: inter-word;
    }

    .enfoque-integral-intro--center {
        text-align: center;
    }

    .enfoque-integral-card {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 14px;
        padding: 28px 24px 32px;
        box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    }

    .enfoque-integral-card__titulo {
        margin: 0 0 26px;
        text-align: center;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    .enfoque-integral-card__titulo b,
    .enfoque-integral-card__titulo i {
        color: var(--naranja-marca);
        font-style: italic;
        font-weight: bold;
    }

    .servicios-grid {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 14px;
        max-width: 640px;
        margin: 0 auto;
    }

    .servicio-tag {
        grid-column: span 2;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 16px;
        background: #ebf4ef;
        border-radius: 12px;
        font-size: 15px;
        font-weight: normal;
        color: #333;
        line-height: 1.3;
    }

    .servicio-tag:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .servicio-tag:nth-child(5) {
        grid-column: 4 / span 2;
    }

    .servicios-grid--6 .servicio-tag:nth-child(4),
    .servicios-grid--6 .servicio-tag:nth-child(5),
    .servicios-grid--6 .servicio-tag:nth-child(6) {
        grid-column: span 2;
    }

    .servicio-tag__icon {
        flex-shrink: 0;
        width: 44px;
        height: 44px;
        border-radius: 8px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    .servicio-tag__icon img {
        width: 44px;
        height: 44px;
        border-radius: 8px;
        object-fit: contain;
        display: block;
    }

    .servicio-tag__icon .icono {
        width: 36px;
        height: 36px;
        display: block;
    }

    .separador-naranja {
        margin: 36px auto;
        border: none;
        border-top: 1px solid var(--naranja-marca);
        max-width: 820px;
    }

    .section-porque-servicio {
        margin: 36px auto 48px;
        padding: 0 15px;
        max-width: 920px;
    }

    .porque-card {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    }

    .porque-card__header {
        margin: 0;
        padding: 22px 24px;
        background: #389c63;
        text-align: center;
    }

    .porque-card__header h2 {
        margin: 0;
        font-weight: bold;
        font-style: italic;
        color: #fff;
        line-height: 1.35;
    }

    .porque-card__header h2 b,
    .porque-card__header h2 i {
        color: #fff;
        font-style: italic;
        font-weight: bold;
    }

    .porque-card__body {
        padding: 28px 28px 28px;
    }

    .porque-card__intro {
        margin: 0 0 24px;
        text-align: justify;
        text-justify: inter-word;
        color: #444;
        font-size: 16px;
        line-height: 1.65;
    }

    .porque-card__lista {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .porque-card__lista li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 16px;
        text-align: left;
        color: #555;
        font-size: 16px;
        line-height: 1.55;
    }

    .porque-card__lista li:last-child {
        margin-bottom: 0;
    }

    .porque-card__icon-wrap {
        flex-shrink: 0;
        width: 28px;
        height: 1.55em;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .porque-card__icon {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: #389c63;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        line-height: 1;
    }

    .porque-card__icon .glyphicon {
        top: 0;
        line-height: 1;
    }

    .porque-card__item-text {
        flex: 1;
        min-width: 0;
        text-align: left;
    }

    .porque-card__lista b {
        color: #389c63;
        font-weight: bold;
    }

    .porque-card__imagen {
        display: block;
        width: 100%;
        height: 360px;
        max-height: 360px;
        object-fit: cover;
        object-position: center;
        margin: 0;
        border-radius: 0;
        background: #e8ece9;
        vertical-align: top;
    }

    @media (max-width: 767px) {
        /* Mobile: el notebook/rostro quedan a la derecha; anclar a la derecha
           equivale a “correr” la imagen hacia la izquierda sin mover el contenedor. */
        .porque-card__imagen--face-right {
            object-position: 88% center;
        }
    }

    .porque-card__cta {
        text-align: center;
        padding: 32px 15px 0;
        margin: 0 auto;
    }

    .porque-card__frase {
        margin: 0 0 14px;
        font-size: 22px;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    .porque-card__frase b,
    .porque-card__frase i {
        color: var(--naranja-marca);
        font-style: italic;
        font-weight: bold;
    }

    .porque-card__texto {
        margin: 0 0 24px;
        color: #555;
        font-size: 16px;
        line-height: 1.6;
    }

    .porque-card__btn {
        display: inline-block;
        background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%);
        color: #fff !important;
        border-radius: 36px;
        padding: 12px 28px;
        font-size: 20px;
        font-weight: 600;
        line-height: 1;
        text-decoration: none !important;
        box-shadow: 0 3px 0 rgba(0, 0, 0, 0.08);
    }

    .porque-card__btn:hover {
        color: #fff !important;
        transform: translateY(-1px);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
    }

    @media (max-width: 767px) {
        .enfoque-integral-header {
            padding: 22px 16px;
        }

        .section-enfoque-integral {
            padding-top: 24px;
        }

        .enfoque-integral-card {
            padding: 22px 16px 26px;
        }

        .enfoque-integral-card__titulo {
            font-size: 20px;
            margin-bottom: 20px;
        }

        .servicios-grid,
        .servicios-grid--6 {
            display: grid;
            grid-template-columns: 1fr;
            gap: 10px;
            max-width: 100%;
        }

        .servicio-tag,
        .servicio-tag:nth-child(4),
        .servicio-tag:nth-child(5),
        .servicios-grid--6 .servicio-tag,
        .servicios-grid--6 .servicio-tag:nth-child(4),
        .servicios-grid--6 .servicio-tag:nth-child(5),
        .servicios-grid--6 .servicio-tag:nth-child(6),
        .servicios-grid--6 .servicio-tag:nth-child(n+4) {
            grid-column: 1 / -1;
            width: 100%;
            padding: 14px 16px;
            font-size: 15px;
        }

        .section-enfoque-beneficios-banner {
            margin: var(--espacio-seccion, 24px) 0 22px;
        }

        .section-enfoque-beneficios-banner .enfoque-integral-header {
            padding: 22px 16px;
        }

        .section-enfoque-beneficios {
            margin: 0 auto;
            padding: 0 15px;
        }

        .beneficios-integral-card__body {
            padding: 24px 22px 28px;
        }

        .beneficios-integral-card__layout {
            flex-direction: column;
            align-items: stretch;
            gap: 24px;
        }

        .beneficios-integral-card__nota {
            margin: 28px 0 36px;
        }

        .beneficios-integral-card__imagen {
            flex: none;
            width: 100%;
            min-width: 0;
            max-width: none;
            aspect-ratio: 4 / 3;
        }

        .porque-card__body {
            padding: 22px 18px 26px;
        }

        .porque-card__frase {
            font-size: 19px;
        }

        .porque-card__btn {
            padding: 12px 24px;
            font-size: 18px;
        }

        .carrusel-ver-todos__titulo {
            margin-bottom: 16px;
        }
    }

    .section-formulario-contacto {
        --fondo-carrusel: #e6e6e6;
        background-color: var(--fondo-carrusel);
        margin: 48px calc(50% - 50vw);
        padding: 50px calc(50vw - 50%);
    }

    .formulario-contacto-wrap {
        max-width: 820px;
        margin: 0 auto;
    }

    .section-desafios {
        display: block;
        width: 100%;
        max-width: 920px;
        margin: 48px auto 48px;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .desafios-card {
        background: #fff;
        border: 1px solid #e0e0e0;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    }

    .desafios-card__header {
        margin: 0;
        padding: 22px 24px;
        background: var(--naranja-marca);
        text-align: center;
    }

    .desafios-card__header h2 {
        margin: 0;
        font-weight: bold;
        font-style: italic;
        color: #fff;
        line-height: 1.35;
        text-wrap: balance;
    }

    .desafios-card__header-line {
        white-space: nowrap;
    }

    .desafios-card__header h2 b,
    .desafios-card__header h2 i {
        color: #fff;
        font-style: italic;
        font-weight: bold;
    }

    .desafios-card__body {
        padding: 28px 28px 32px;
    }

    .desafios-card__intro {
        margin: 0 0 24px;
        color: #444;
        font-size: 16px;
        line-height: 1.65;
        text-align: justify;
        text-justify: inter-word;
    }

    .desafios-card__lista {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .desafios-card__lista li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 16px;
        font-size: 16px;
        line-height: 1.55;
        color: #444;
        text-align: left;
    }

    .desafios-card__lista li:last-child {
        margin-bottom: 0;
    }

    .desafios-card__icon-wrap {
        flex-shrink: 0;
        width: 28px;
        height: 1.55em;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding-top: 2px;
    }

    .desafios-card__icon {
        width: 26px;
        height: 26px;
        border-radius: 50%;
        background: var(--naranja-marca);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        line-height: 1;
    }

    .desafios-card__icon .glyphicon {
        top: 0;
        line-height: 1;
    }

    .desafios-card__item-text {
        flex: 1;
        min-width: 0;
        text-align: left;
    }

    .desafios-card__lista b {
        color: var(--naranja-marca);
        font-weight: bold;
    }

    .formulario-contacto-card {
        background: #fff;
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    }

    .formulario-contacto-card__header {
        margin: 0;
        padding: 18px 24px;
        background: #389c63;
        text-align: center;
        border-radius: 20px 20px 0 0;
    }

    .formulario-contacto-card__header .formulario-contacto-card__titulo {
        margin: 0;
        color: #fff;
        font-weight: bold;
        font-style: italic;
        line-height: 1.35;
    }

    .formulario-contacto-card__body {
        padding: 28px 32px 32px;
    }

    .formulario-contacto-card__intro {
        margin: 0 0 24px;
        color: #333;
        font-size: 16px;
        line-height: 1.5;
        text-align: left;
    }

    form.formulario-contacto-form[name="formCont"] {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
        align-items: stretch;
    }

    .formulario-contacto-form__field--full {
        grid-column: 1 / -1;
    }

    form.formulario-contacto-form[name="formCont"] input,
    form.formulario-contacto-form[name="formCont"] textarea {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 12px 14px;
        border: 1px solid #d0d0d0;
        border-radius: 8px;
        font-size: 16px;
        color: #333;
        box-sizing: border-box;
        background: #fff;
        outline: none;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    form.formulario-contacto-form[name="formCont"] input:focus,
    form.formulario-contacto-form[name="formCont"] input:active,
    form.formulario-contacto-form[name="formCont"] textarea:focus,
    form.formulario-contacto-form[name="formCont"] textarea:active {
        border-color: #ff9b00;
        box-shadow: 0 0 0 2px rgba(255, 155, 0, 0.28);
    }

    .formulario-contacto-card__humano-check:focus-within {
        border-color: #ff9b00;
        box-shadow: 0 0 0 2px rgba(255, 155, 0, 0.28);
    }

    .formulario-contacto-card__humano-check input[type="checkbox"]:focus {
        outline: none;
    }

    form.formulario-contacto-form[name="formCont"] input::placeholder,
    form.formulario-contacto-form[name="formCont"] textarea::placeholder {
        color: #999;
    }

    form.formulario-contacto-form[name="formCont"] textarea {
        min-height: 120px;
        resize: vertical;
    }

    .formulario-contacto-card__footer {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 16px;
        margin-top: 20px;
    }

    .formulario-contacto-card__recaptcha-slot {
        flex: 1 1 auto;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    .formulario-contacto-card__humano-check {
        display: inline-flex;
        align-items: center;
        gap: 12px;
        min-height: 74px;
        min-width: 220px;
        max-width: 300px;
        padding: 12px 14px 12px 12px;
        margin: 0;
        border: 1px solid #d3d3d3;
        border-radius: 3px;
        background: #f9f9f9;
        box-shadow: 0 0 4px rgba(0, 0, 0, 0.08);
        cursor: pointer;
        user-select: none;
    }

    .formulario-contacto-card__humano-check input[type="checkbox"] {
        width: 28px;
        height: 28px;
        margin: 0;
        flex-shrink: 0;
        cursor: pointer;
        accent-color: #4285f4;
    }

    .formulario-contacto-card__humano-check-text {
        font-size: 14px;
        line-height: 1.3;
        color: #404040;
    }

    .formulario-contacto-card__btn {
        flex-shrink: 0;
        background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%);
        color: #fff !important;
        border: none;
        border-radius: 36px;
        padding: 12px 28px;
        font-size: 20px;
        font-weight: 600;
        cursor: pointer;
        box-shadow: 0 3px 0 rgba(0, 0, 0, 0.08);
        transition: transform 0.12s ease, box-shadow 0.12s ease;
    }

    .formulario-contacto-card__btn:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
    }

    .formulario-contacto-card__btn:focus,
    .formulario-contacto-card__btn:active,
    .formulario-contacto-card__btn:focus-visible {
        outline: none !important;
        border: none;
        box-shadow: 0 3px 0 rgba(0, 0, 0, 0.08);
    }

    .formulario-contacto-card__btn:disabled,
    .formulario-contacto-card__btn.disabled {
        opacity: 0.7;
        cursor: not-allowed;
    }

    @media (max-width: 768px) {
        .section-formulario-contacto {
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            padding: 36px calc(50vw - 50%);
        }

        .formulario-contacto-card__body {
            padding: 22px 18px 24px;
        }

        .formulario-contacto-card__header .formulario-contacto-card__titulo {
            text-align: center !important;
        }

        form.formulario-contacto-form[name="formCont"] {
            grid-template-columns: 1fr;
        }

        .section-desafios {
            margin-top: 36px;
            padding: 0 15px;
        }

        .desafios-card__header {
            padding: 18px 16px;
        }

        .desafios-card__body {
            padding: 22px 18px 26px;
        }

        .formulario-contacto-card__footer {
            flex-wrap: wrap;
            justify-content: flex-end;
        }

        .formulario-contacto-card__recaptcha-slot {
            flex: 1 1 100%;
            min-height: 0;
        }

        .formulario-contacto-card__btn {
            width: auto;
        }
    }

    .section-cobertura-mx {
        margin: 0;
        padding: 36px 0 0;
    }

    .section-testimonios-cl {
        margin: 0;
        padding: 36px 15px 44px;
        background: #fff;
    }

    .testimonios-cl__inner {
        max-width: 1140px;
        margin: 0 auto;
    }

    .testimonios-cl__titulo {
        margin: 0 0 32px;
        text-align: center;
        font-size: 28px;
        font-weight: bold;
        font-style: italic;
        color: var(--naranja-marca);
        line-height: 1.35;
    }

    .testimonios-cl__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px;
        align-items: stretch;
    }

    .testimonial-card-cl {
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 6px 22px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.08);
        padding: 28px 24px 24px;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        min-height: 100%;
    }

    .testimonial-card-cl__stars {
        color: #fabb05;
        font-size: 18px;
        letter-spacing: 2px;
        line-height: 1;
        margin-bottom: 16px;
    }

    .testimonial-card-cl__text {
        margin: 0 0 12px;
        font-size: 15px;
        line-height: 1.55;
        color: #555;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
        overflow: hidden;
        width: 100%;
    }

    .testimonial-card-cl__more {
        margin: 0 0 18px;
        padding: 0;
        border: 0;
        background: none;
        color: #a0522d;
        font-size: 15px;
        text-decoration: underline;
        cursor: pointer;
    }

    .testimonial-card-cl__more:hover,
    .testimonial-card-cl__more:focus {
        color: var(--naranja-marca);
        text-decoration: underline;
        outline: none;
    }

    .testimonial-card-cl__sep {
        width: 100%;
        margin: 0 0 16px;
        border: 0;
        border-top: 1px solid #e0e0e0;
    }

    .testimonial-card-cl__author {
        margin: 0;
        font-size: 16px;
        color: #333;
    }

    .testimonial-overlay-cl {
        position: fixed;
        inset: 0;
        z-index: 10050;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
        font-family: sans-serif;
    }

    .testimonial-overlay-cl[hidden] {
        display: none !important;
    }

    body.testimonial-overlay-cl-open {
        overflow: hidden;
    }

    .testimonial-overlay-cl__backdrop {
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
    }

    .testimonial-overlay-cl__dialog {
        position: relative;
        z-index: 1;
        width: min(100%, 560px);
        background: #fff;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 10px 36px rgba(0, 0, 0, 0.2);
        padding: 0;
        font-family: sans-serif;
    }

    .testimonial-overlay-cl__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 14px 18px;
        background: var(--naranja-marca, #f68b33);
    }

    .testimonial-overlay-cl__close {
        flex-shrink: 0;
        border: 0;
        background: none;
        color: #fff;
        font-size: 26px;
        line-height: 1;
        cursor: pointer;
        padding: 0 2px;
        opacity: 0.95;
    }

    .testimonial-overlay-cl__close:hover,
    .testimonial-overlay-cl__close:focus {
        color: #fff;
        opacity: 1;
        outline: none;
    }

    .testimonial-overlay-cl__body {
        padding: 24px 32px 28px;
        background: #fff;
    }

    .testimonial-overlay-cl__stars {
        margin: 0 0 18px;
        text-align: center;
        color: #fabb05;
        font-size: 18px;
        letter-spacing: 2px;
        line-height: 1;
    }

    .testimonial-overlay-cl__author {
        margin: 0;
        font-size: 17px;
        color: #fff;
        font-family: sans-serif;
        text-align: left;
        flex: 1 1 auto;
        min-width: 0;
    }

    .testimonial-overlay-cl__author strong {
        font-weight: bold;
    }

    .testimonial-overlay-cl__text {
        margin: 0;
        font-size: 16px;
        line-height: 1.65;
        color: #444;
        font-family: sans-serif;
        text-align: left;
    }

    @media (max-width: 575px) {
        .testimonial-overlay-cl__body {
            padding: 20px 22px 24px;
        }

        .testimonial-overlay-cl__header {
            padding: 12px 14px;
        }

        .testimonial-overlay-cl__author {
            font-size: 16px;
        }
    }

    @media (max-width: 991px) {
        .testimonios-cl__grid {
            grid-template-columns: 1fr;
            max-width: 420px;
            margin: 0 auto;
        }

        .testimonios-cl__titulo {
            font-size: 24px;
        }
    }

    .cobertura-mx__franja {
        background: #ebf4ef;
        padding: 28px 24px;
        text-align: center;
    }

    .cobertura-mx__titulo {
        margin: 0;
        color: #2e7d32;
        font-weight: bold;
        line-height: 1.35;
        text-align: center;
    }

    .cobertura-mx__contenido {
        max-width: 900px;
        margin: 0 auto;
        padding: 36px 15px 48px;
        text-align: center;
    }

    .cobertura-mx__ciudades {
        margin: 0;
        color: #333;
        font-size: 15px;
        line-height: 1.75;
        text-align: justify;
        text-justify: inter-word;
    }

    .cobertura-mx__cierre-wrap {
        margin-top: 28px;
        padding-top: 24px;
        border-top: 1px solid #e0e0e0;
    }

    .cobertura-mx__cierre {
        margin: 0;
        text-align: center;
        color: var(--naranja-marca);
        font-family: 'Open Sans', sans-serif;
        font-size: var(--font-h3, 22px);
        font-weight: bold;
        font-style: italic;
        line-height: 1.35;
    }

    .cobertura-mx__cierre b,
    .cobertura-mx__cierre i {
        color: inherit;
        font-weight: bold;
        font-style: italic;
    }

    .site-footer {
        margin-bottom: 0;
        padding: 0;
    }

    .site-footer__main {
        background-color: #30884b;
        background-image: repeating-linear-gradient(
            -52deg,
            transparent,
            transparent 9px,
            rgba(255, 255, 255, 0.09) 9px,
            rgba(255, 255, 255, 0.09) 11.5px
        );
        color: #fff;
        padding: 40px 15px 32px;
    }

    .site-footer__grid {
        max-width: 1100px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: auto auto;
        gap: 16px 40px;
    }

    .site-footer__col {
        text-align: left;
    }

    .site-footer__col--menu {
        grid-column: 1;
        grid-row: 1 / 3;
    }
    .site-footer__col--contacto {
        grid-column: 2;
        grid-row: 1 / 3;
    }
    .site-footer__col--redes {
        grid-column: 3;
        grid-row: 1;
        text-align: right;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }
    .site-footer__col--redes .site-footer__col-title {
        margin-bottom: 12px;
        text-transform: none;
        font-size: 13px;
        line-height: 1.45;
        letter-spacing: 0;
    }
    .site-footer__col--horario {
        grid-column: 3;
        grid-row: 2;
        text-align: right;
        align-self: start;
    }

    .site-footer__col-title {
        margin: 0 0 18px;
        font-size: 15px;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #fff;
    }

    .site-footer__menu {
        margin: 0;
        padding: 0;
        list-style: none;
        text-align: left;
    }

    .site-footer__menu li {
        margin-bottom: 8px;
    }

    .site-footer__menu a {
        color: #fff;
        font-size: 15px;
        line-height: 1.5;
        text-decoration: none;
    }

    .site-footer__menu a:hover {
        opacity: 0.85;
        text-decoration: underline;
    }

    .site-footer__contact-items {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .site-footer__contact-item {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 0;
        font-size: 15px;
        line-height: 1.45;
    }

    .site-footer__contact-item .glyphicon {
        flex-shrink: 0;
        font-size: 18px;
    }

    .site-footer__contact-icon {
        flex-shrink: 0;
        width: 20px;
        height: 20px;
        object-fit: contain;
        display: block;
    }

    .site-footer__contact-icon--wa {
        color: #fff;
        font-size: 26px;
        line-height: 1;
        width: 26px;
        height: auto;
        text-align: center;
        flex-shrink: 0;
        display: inline-block;
    }

    .site-footer__contact-icon--wa img {
        filter: brightness(0) invert(1);
    }

    .site-footer__contact-item a {
        color: #fff;
        text-decoration: underline;
    }

    .site-footer__contact-item a:hover {
        opacity: 0.85;
    }

    .site-footer__contact-wa-number {
        display: inline;
    }

    .site-footer__contact-wa-text {
        display: none;
    }

    .site-footer__social {
        display: flex;
        justify-content: flex-end;
        gap: 12px;
        margin-top: 12px;
    }

    .site-footer__social a {
        display: inline-block;
        transition: opacity 0.15s ease, transform 0.12s ease;
    }

    .site-footer__social a:hover {
        opacity: 0.85;
        transform: translateY(-1px);
    }

    .site-footer__social img,
    .site-footer__social .social-icon {
        width: 36px;
        height: 36px;
        object-fit: contain;
        filter: brightness(0) invert(1);
    }

    .site-footer__horario-list {
        margin: 0;
        padding: 0;
        list-style: none;
        text-align: inherit;
    }

    .site-footer__horario-list li {
        margin-bottom: 6px;
        font-size: 15px;
        line-height: 1.45;
    }

    .site-footer__copy {
        background: #296733;
        color: #fff;
        text-align: center;
        padding: 14px 15px 18px;
        font-size: 14px;
        line-height: 1.4;
    }

    .site-footer--cl .site-footer__grid--cl {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1.1fr);
        gap: 32px 40px;
        align-items: start;
        max-width: 1140px;
        margin: 0 auto;
        padding: 0 8px;
    }

    .site-footer--cl .site-footer__col--brand-cl {
        text-align: left;
    }

    .site-footer__tol-logo {
        width: 240px;
        height: auto;
        max-height: 72px;
        display: block;
    }

    .site-footer__cetec-texto {
        margin: 14px 0 12px;
        font-size: 15px;
        line-height: 1.55;
        color: #fff;
        max-width: 320px;
    }

    .site-footer--cl .site-footer__col--redes-cl {
        text-align: left;
        padding: 0 4px;
    }

    .site-footer__socials-title {
        margin: 0 0 14px;
        color: #fff;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.5;
        letter-spacing: 0;
        text-transform: none;
    }

    .site-footer__social-icons {
        display: flex;
        gap: 12px;
        align-items: center;
        flex-wrap: wrap;
    }

    .site-footer__social-icons a {
        display: inline-flex;
        line-height: 0;
        transition: opacity 0.15s ease, transform 0.12s ease;
    }

    .site-footer__social-icons a:hover {
        opacity: 0.85;
        transform: translateY(-1px);
    }

    .site-footer--cl .site-footer__col--contacto-cl {
        text-align: left;
        padding-left: 8px;
    }

    .site-footer--cl .site-footer__contact-items {
        gap: 10px;
        width: 100%;
    }

    .site-footer--cl .site-footer__contact-item {
        font-size: 15px;
        line-height: 1.5;
        color: #fff;
    }

    .site-footer__contact-wa-group {
        margin: 2px 0 4px;
    }

    .site-footer__contact-wa-label {
        margin: 0 0 6px;
        font-size: 15px;
        line-height: 1.5;
        color: #fff;
    }

    .site-footer--cl .site-footer__contact-item--wa a {
        display: inline;
        text-decoration: underline;
    }

    .site-footer__cetec-direccion {
        margin: 0;
        font-size: 15px;
        line-height: 1.55;
        color: #fff;
        max-width: 340px;
        display: flex;
        align-items: flex-start;
        gap: 6px;
    }

    .site-footer__cetec-direccion .glyphicon {
        margin-right: 4px;
    }

    .site-footer__fa-icon {
        flex-shrink: 0;
        width: 18px;
        font-size: 16px;
        line-height: 1.35;
        text-align: center;
        color: #fff;
    }

    .site-footer__cetec-direccion .site-footer__fa-icon {
        margin-top: 2px;
    }

    .site-footer--cl .site-footer__contact-wa-number {
        display: none !important;
    }

    .site-footer--cl .site-footer__contact-wa-text {
        display: inline !important;
        color: #ffcc4d;
        font-size: 15px;
        font-weight: 600;
        text-decoration: underline;
    }

    .site-footer--cl .site-footer__contact-item a {
        color: #ffcc4d;
        text-decoration: none;
    }

    .site-footer--cl .site-footer__contact-item--email a {
        color: #fff;
        text-decoration: none;
    }

    .site-footer--cl .site-footer__contact-item a:hover,
    .site-footer--cl .site-footer__contact-item--wa a:hover .site-footer__contact-wa-text {
        color: #ffe08a;
        text-decoration: underline;
    }

    .site-footer--cl .site-footer__contact-item--email a:hover {
        color: #fff;
        opacity: 0.85;
    }

    .site-footer--cl .site-footer__contact-item--horario {
        align-items: flex-start;
    }

    .site-footer--cl .site-footer__contact-item--horario .glyphicon {
        margin-top: 4px;
        flex-shrink: 0;
    }

    .site-footer--cl .site-footer__sucursales {
        margin-top: 36px;
        padding-top: 28px;
        border-top: 1px solid rgba(255, 255, 255, 0.25);
        max-width: 1140px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 8px;
        padding-right: 8px;
    }

    .site-footer--cl .site-footer__sucursales-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 24px 28px;
    }

    .site-footer__sucursal-titulo {
        margin: 0 0 10px;
        font-size: 15px;
        font-weight: 700;
        color: #fff;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .site-footer__sucursal-datos {
        margin: 0;
        font-size: 14px;
        line-height: 1.55;
        color: #fff;
    }

    .site-footer__sucursal-datos a {
        color: #ffcc4d;
        text-decoration: none;
    }

    .site-footer__sucursal-datos a:hover {
        color: #ffe08a;
        text-decoration: underline;
    }

    @media (max-width: 991px) {
        .site-footer--cl .site-footer__sucursales-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }


    @media (max-width: 767px) {
        .cobertura-mx__franja {
            padding: 22px 16px;
            text-align: center !important;
        }

        .cobertura-mx__titulo {
            display: block;
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            text-align: center !important;
        }

        .cobertura-mx__contenido {
            padding: 28px 15px 36px;
            text-align: center !important;
        }

        .cobertura-mx__ciudades {
            font-size: 14px;
            text-align: center !important;
        }

        .site-footer__main {
            padding: 32px 15px 28px;
        }

        .site-footer__grid {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 28px;
        }

        .site-footer__col {
            flex: 0 0 auto;
            width: 100%;
            max-width: 320px;
            text-align: center;
        }

        .site-footer__col--redes {
            order: 1;
            padding-bottom: 24px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.25);
            display: block;
            text-align: center;
            align-items: center;
        }

        .site-footer__col--menu {
            order: 2;
        }

        .site-footer__col--contacto {
            order: 3;
        }

        .site-footer__col--horario {
            order: 4;
            text-align: center !important;
            display: flex;
            flex-direction: column;
            align-items: center;
            align-self: center !important;
        }

        .site-footer__col--horario .site-footer__col-title,
        .site-footer__col--horario .site-footer__horario-list,
        .site-footer__col--horario .site-footer__horario-list li {
            text-align: center !important;
        }

        .site-footer__col--horario .site-footer__horario-list {
            width: 100%;
        }

        .site-footer__menu {
            text-align: center;
        }

        .site-footer__contact-items {
            flex-direction: row;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 8px 28px;
        }

        .site-footer__contact-item {
            justify-content: center;
            text-align: left;
        }

        .site-footer__social {
            justify-content: center;
        }

        .site-footer--cl .site-footer__grid--cl {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 28px;
        }

        .site-footer--cl .site-footer__col--brand-cl,
        .site-footer--cl .site-footer__col--redes-cl,
        .site-footer--cl .site-footer__col--contacto-cl {
            width: 100%;
            max-width: 360px;
            text-align: center;
            padding: 0;
        }

        .site-footer--cl .site-footer__tol-logo {
            margin-left: auto;
            margin-right: auto;
        }

        .site-footer--cl .site-footer__cetec-texto,
        .site-footer--cl .site-footer__cetec-direccion {
            max-width: none;
            margin-left: auto;
            margin-right: auto;
        }

        .site-footer--cl .site-footer__social-icons {
            justify-content: center;
        }

        .site-footer--cl .site-footer__contact-items {
            flex-direction: column;
            align-items: center;
            width: 100%;
            margin: 0 auto;
        }

        .site-footer--cl .site-footer__contact-item {
            justify-content: center;
            text-align: center;
            width: 100%;
        }

        .site-footer--cl .site-footer__contact-item--wa {
            flex-wrap: wrap;
        }

        .site-footer--cl .site-footer__contact-wa-label {
            text-align: center;
            width: 100%;
        }

        .site-footer--cl .site-footer__sucursales {
            margin-top: 28px;
            padding-top: 24px;
            width: 100%;
            max-width: 360px;
            padding-left: 0;
            padding-right: 0;
            margin-left: auto;
            margin-right: auto;
            text-align: center;
        }

        .site-footer--cl .site-footer__sucursales-grid {
            grid-template-columns: 1fr;
            gap: 20px;
        }

        .site-footer--cl .site-footer__sucursal-titulo {
            justify-content: center;
        }

        .site-footer--cl .site-footer__sucursal-datos {
            text-align: center;
        }

        .site-footer__contact-wa-number {
            display: none;
        }

        .site-footer__contact-wa-text {
            display: inline;
        }

    }

    .texto-formulario-contacto{
      text-align: center;
      font-size: 22px;
      margin-top: 10px;
      margin-bottom: 10px;
    }
    .mensaje-secundario {
        margin: 0px;
        text-align: center;
       color: var(--naranja-marca);
        font-size: 20px;
    }

      .boton-consulta {
        width: 40%;
    }
     .texto-footer{
        font-size: 14px;
    }
     .texto-footer_redes{
        font-size: 15px;
        margin: 0;
        padding-bottom: 5px;
    }
    .boton-fijo-mobil{
        margin-top: 0px;
        margin-bottom: 0px;
    }
    .titulo-item {
    font-size: inherit;   /* mantiene el tamaño que ya venía */
    font-weight: inherit; /* si quieres que herede también */
     margin: 0 0 10px 0; /* agrega 10px abajo */
    }

    /**FIN IACEVEDO */
    
/* Uniform style: CTAs del body = mismo padding compacto que #boton-reserva
   (no incluir #btnReservaFinal: ese ID vive en el flotante sticky) */
.boton-consulta#boton-reserva,
.boton-consulta.site-top__btn-registrate,
.porque-card__btn,
.carrusel-ver-todos__btn,
.formulario-contacto-card__btn,
#boton-enviar-form.formulario-contacto-card__btn {
    background: var(--cta-gradient, linear-gradient(180deg,#ff9b00 0%,#ff8a00 100%)) !important;
    color: #fff !important;
    border-radius: 36px !important;
    padding: 12px 28px !important;
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center !important;
    margin: 0 auto !important;
    box-shadow: 0 3px 0 rgba(0,0,0,0.08) !important;
    border: none !important;
    text-decoration: none !important;
}

@media (max-width: 767px) {
    .boton-consulta#boton-reserva,
    .porque-card__btn,
    .carrusel-ver-todos__btn,
    .formulario-contacto-card__btn,
    #boton-enviar-form.formulario-contacto-card__btn {
        padding: 12px 24px !important;
        font-size: 18px !important;
    }
}

.boton-consulta#boton-reserva b {
    color: #fff !important;
    font-weight: 600 !important;
}

/* Conversión GTM/Ads: TODOS los descendientes (icono FA, span, label)
   no deben capturar el clic; debe caer en el elemento con el ID. */
#boton-reserva,
#btnReservaFinal,
#boton-reserva-terapeuta,
a.boton-reserva,
a.btnReservaFinal,
button.boton-reserva-terapeuta,
a.boton-reserva-terapeuta,
a.porque-card__btn,
a.carrusel-ver-todos__btn,
a.fixed-button-container__btn--agendar,
button.btn-reservar,
a.btn-reservar {
    position: relative;
    cursor: pointer;
}

#boton-reserva *,
#btnReservaFinal *,
#boton-reserva-terapeuta *,
a.boton-reserva *,
a.btnReservaFinal *,
button.boton-reserva-terapeuta *,
a.boton-reserva-terapeuta *,
a.porque-card__btn *,
a.carrusel-ver-todos__btn *,
a.fixed-button-container__btn--agendar *,
button.btn-reservar *,
a.btn-reservar *,
.tol-cta-label,
#boton-reserva *::before,
#boton-reserva *::after,
#btnReservaFinal *::before,
#btnReservaFinal *::after,
#boton-reserva-terapeuta *::before,
#boton-reserva-terapeuta *::after,
a.boton-reserva *::before,
a.boton-reserva *::after,
a.btnReservaFinal *::before,
a.btnReservaFinal *::after,
a.boton-reserva-terapeuta *::before,
a.boton-reserva-terapeuta *::after,
a.porque-card__btn *::before,
a.porque-card__btn *::after,
a.carrusel-ver-todos__btn *::before,
a.carrusel-ver-todos__btn *::after,
a.fixed-button-container__btn--agendar *::before,
a.fixed-button-container__btn--agendar *::after,
button.btn-reservar *::before,
button.btn-reservar *::after,
a.btn-reservar *::before,
a.btn-reservar *::after,
.fixed-button-container__btn--agendar .fixed-button-container__btn-icon,
.fixed-button-container__btn--agendar > span {
    pointer-events: none !important;
}

#boton-reserva-terapeuta,
a.boton-reserva-terapeuta,
button.btn-reservar,
a.btn-reservar {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

#boton-reserva-terapeuta .tol-cta-label,
a.boton-reserva-terapeuta .tol-cta-label,
.btn-reservar .tol-cta-label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

a.boton-consulta#boton-reserva.enlace-sin-decoracion,
a.boton-consulta.boton-reserva {
    display: inline-block !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer;
}

/* Flotante: #btnReservaFinal = mismo tamaño que Hablemos */
.fixed-button-container__btn#btnReservaFinal,
a#btnReservaFinal.fixed-button-container__btn {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-shadow: none !important;
    font-size: inherit !important;
    font-weight: bold !important;
    line-height: 1 !important;
    padding: 14px 20px !important;
    border-radius: 50px !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .tol-landing-cl .fixed-button-container__btn#btnReservaFinal,
    .tol-landing-mx .fixed-button-container__btn#btnReservaFinal,
    .tol-landing-cl a#btnReservaFinal.fixed-button-container__btn,
    .tol-landing-mx a#btnReservaFinal.fixed-button-container__btn {
        padding: 12px 20px !important;
        min-width: 168px !important;
    }
}

.formulario-contacto-card__btn,
#boton-enviar-form.formulario-contacto-card__btn {
    margin: 0 !important;
    cursor: pointer;
}

.boton-consulta#boton-reserva:hover,
.boton-consulta.site-top__btn-registrate:hover,
.porque-card__btn:hover,
.carrusel-ver-todos__btn:hover,
.formulario-contacto-card__btn:hover:not(:disabled),
#boton-enviar-form.formulario-contacto-card__btn:hover:not(:disabled) {
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.08) !important;
    text-decoration: none !important;
    color: #fff !important;
}

.boton-consulta.site-top__btn-registrate:focus,
.boton-consulta.site-top__btn-registrate:visited,
.boton-consulta.site-top__btn-registrate:active {
    text-decoration: none !important;
}

.site-top__actions .boton-consulta.site-top__btn-registrate {
    padding: 10px 28px !important;
    font-size: 16px !important;
    margin: 0 !important;
    font-family: 'Open Sans', sans-serif !important;
    text-decoration: none !important;
}

@media (max-width: 767px) {
    .site-top__actions .boton-consulta.site-top__btn-registrate {
        width: auto !important;
        min-width: 52px !important;
        max-width: none !important;
        padding: 8px 14px !important;
        font-size: 11px !important;
    }

    .site-top__btn-acceso {
        width: auto !important;
        max-width: none !important;
        white-space: nowrap !important;
        padding: 8px 14px !important;
        font-size: 11px !important;
    }

    .container {
        overflow-x: visible !important;
    }

    .container > .desktop {
        overflow-x: visible;
    }

    .container > .desktop > .row:not(.section-video-hero) {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .row.section-video-hero {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .section-video-hero > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .carousel-bg-section.section-carrusel-psicologos {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        border-radius: 0 !important;
        box-sizing: border-box;
    }

    .section-formulario-contacto {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        margin-top: 48px !important;
        margin-bottom: 0 !important;
        padding: 36px calc(50vw - 50%) !important;
        box-sizing: border-box;
        border-radius: 0 !important;
    }

    .format-subtitulos,
    .banner-precio-sesion,
    .enfoque-integral-header,
    .cobertura-mx__franja {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        box-sizing: border-box;
        border-radius: 0 !important;
    }

    .section-subtitulo-plataforma,
    .section-precio-sesion {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .section-subtitulo-plataforma > [class*="col-"],
    .section-precio-sesion > [class*="col-"],
    .section-enfoque-banner > [class*="col-"],
    .section-enfoque-beneficios-banner > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Justificación global (como .apoyo-card__texto); no altera textos centrados por diseño */
    .desktop section p:not(
        .contacto-faq-texto,
        .contacto-faq-titulo,
        .porque-card__texto,
        .beneficios-integral-card__nota,
        .porque-card__frase,
        .formulario-contacto-card__titulo,
        .cobertura-mx__titulo,
        .cobertura-mx__ciudades,
        .cobertura-mx__cierre
    ),
    .desktop .faq-section-bajada,
    .desktop section li {
        text-align: left !important;
    }

    .desktop section .faq-answer-inner,
    .desktop section .profile-description {
        text-align: justify !important;
        text-justify: inter-word;
    }

    /* Cobertura: título y ciudades centrados en mobile */
    .desktop .cobertura-mx__franja,
    .desktop .cobertura-mx__titulo,
    .desktop .cobertura-mx__contenido,
    .desktop .cobertura-mx__ciudades {
        text-align: center !important;
    }
}
/* Nota bajo tarjeta de beneficios + aire antes de cobertura MX (todas las vistas) */
.beneficios-integral-card__nota {
    margin: 28px 0 36px;
    padding: 0 12px;
    text-align: center;
    font-size: 17px;
    font-style: italic;
    color: #389c63;
    line-height: 1.5;
}

.section-enfoque-beneficios {
    padding-bottom: 4px;
}

.section-cobertura-mx {
    padding-top: 28px;
}

@media (min-width: 769px) {
    .beneficios-integral-card__nota {
        margin: 36px 0 48px;
        font-size: 18px;
    }

    .section-cobertura-mx {
        padding-top: 40px;
    }
}
/* FAQ — título centrado (MX y CL) */
.faq-section-titulo {
    text-align: center;
}

/* Contacto FAQ — título y texto centrados (MX y CL) */
.section-contacto-faq {
    text-align: center;
}

.contacto-faq-titulo {
    text-align: center !important;
}

.contacto-faq-texto {
    text-align: center !important;
}

#boton-enviar-form.formulario-contacto-card__btn {
    background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%) !important;
}

/* SweetAlert2 — botón "Entendido" igual que CTAs primarios */
.swal2-popup.tol-swal-popup {
    font-family: 'Open Sans', sans-serif;
    border-radius: 24px !important;
    padding: 2em 2em 1.75em !important;
}

.swal2-popup.tol-swal-popup .swal2-html-container,
.swal2-popup.tol-swal-popup #swal2-html-container {
    font-size: 18px !important;
    line-height: 1.55 !important;
    color: #444 !important;
    margin-top: 0.6em;
}

body .swal2-container .swal2-popup .swal2-actions button.swal2-styled.swal2-confirm.tol-swal-btn,
body .swal2-container .swal2-popup .swal2-actions button.swal2-confirm.tol-swal-btn {
    background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%) !important;
    background-color: #ff9b00 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 12px 48px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    font-family: 'Open Sans', sans-serif !important;
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.08) !important;
    min-width: 140px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    line-height: 1.2 !important;
}

body .swal2-container .swal2-popup .swal2-actions button.swal2-styled.swal2-confirm.tol-swal-btn:hover,
body .swal2-container .swal2-popup .swal2-actions button.swal2-confirm.tol-swal-btn:hover {
    background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%) !important;
    background-color: #ff9b00 !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08) !important;
}

body .swal2-container .swal2-popup .swal2-actions button.swal2-styled.swal2-confirm.tol-swal-btn:focus,
body .swal2-container .swal2-popup .swal2-actions button.swal2-styled.swal2-confirm.tol-swal-btn:focus-visible,
body .swal2-container .swal2-popup .swal2-actions button.swal2-confirm.tol-swal-btn:focus,
body .swal2-container .swal2-popup .swal2-actions button.swal2-confirm.tol-swal-btn:focus-visible {
    outline: none !important;
    border: none !important;
    box-shadow: 0 3px 0 rgba(0, 0, 0, 0.08) !important;
}

/* Modales: backdrop debajo del contenido (Bootstrap usa 1040 / 1050) */
body.modal-open .modal-backdrop {
    z-index: 1040 !important;
}

#modalAcceso.modal,
#minicv.modal {
    z-index: 1050 !important;
}

#modalAcceso .modal-dialog,
#minicv .modal-dialog {
    z-index: 1051;
}

/* Mini CV: centrado vertical/horizontal + animación abrir/cerrar */
#minicv.modal {
    padding: 16px !important;
    overflow-x: hidden;
    overflow-y: auto;
}

#minicv.modal.in {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

#minicv .modal-dialog {
    margin: 0 auto;
    width: 920px;
    max-width: calc(100vw - 32px);
    transform: translateY(22px) scale(0.94);
    opacity: 0;
    transition:
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.28s ease;
}

#minicv.modal.fade .modal-dialog {
    transition:
        transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.28s ease;
}

#minicv.modal.in .modal-dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#minicv.modal.fade:not(.in) .modal-dialog {
    transform: translateY(14px) scale(0.96);
    opacity: 0;
}

.profile-modal-content {
    background: #fff;
    min-height: 120px;
    border-radius: 16px;
}

.tol-minicv-loading {
    padding: 48px 24px;
    color: #555;
    font-size: 18px;
}

/*
 * Mini CV v2 — diseño desktop/mobile (mockup).
 * El HTML viene por AJAX; JS añade .tol-minicv-v2 y reordena secciones.
 */
#minicv .modal-dialog.modal-lg {
    width: 920px;
    max-width: calc(100vw - 32px);
}

#minicv #miniCVData.tol-minicv-v2,
#minicv #miniCVData.tol-minicv-v2.profile-modal-content {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
    overflow: visible;
    position: relative;
}

#minicv #miniCVData.tol-minicv-v2 .profile-modal-close {
    position: absolute;
    top: 12px;
    right: 16px;
    z-index: 20;
    font-size: 28px;
    opacity: 0.55;
    background: none !important;
    border: none !important;
    color: #111;
    line-height: 1;
    padding: 0 !important;
}

#minicv #miniCVData.tol-minicv-v2 .profile-modal-body {
    padding: 28px 28px 24px;
    font-size: 16px;
}

#minicv #miniCVData.tol-minicv-v2 .profile-modal-body > .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    margin-left: -12px;
    margin-right: -12px;
}

#minicv #miniCVData.tol-minicv-v2 .profile-modal-left-col,
#minicv #miniCVData.tol-minicv-v2 .profile-modal-right-col {
    float: none;
    background: transparent;
    padding: 0 12px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
}

#minicv #miniCVData.tol-minicv-v2 .profile-modal-left-col {
    order: 1;
    width: 34%;
}

#minicv #miniCVData.tol-minicv-v2 .profile-modal-right-col {
    order: 2;
    width: 66%;
    padding-left: 8px;
    min-height: 0;
}

#minicv #miniCVData.tol-minicv-v2 .left-top-content,
#minicv #miniCVData.tol-minicv-v2 .left-bottom-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: transparent;
    padding: 0;
    border-radius: 0;
}

#minicv #miniCVData.tol-minicv-v2 .left-bottom-content {
    flex: 1 1 auto;
    min-height: 0;
}

#minicv #miniCVData.tol-minicv-v2 .profile-image-wrapper {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 22px;
    overflow: visible;
}

#minicv #miniCVData.tol-minicv-v2 .profile-image-modal {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    object-position: center center;
    border-radius: 16px !important;
    border: none;
    box-shadow: none;
    image-rendering: auto;
    -ms-interpolation-mode: bicubic;
    transform: translateZ(0);
}

#minicv #miniCVData.tol-minicv-v2 .fonasa-badge-modal {
    position: absolute;
    right: -10px;
    bottom: -10px;
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 50%;
    background: transparent;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    z-index: 3;
    pointer-events: none;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-atiende {
    margin: 0 0 14px;
    text-align: left;
    font-size: 15px;
    line-height: 1.4;
    color: #333;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-atiende__label {
    color: #fd8a17;
    font-weight: 700;
}

#minicv #miniCVData.tol-minicv-v2 form[name="formtera"] {
    display: block !important;
    width: 100%;
    margin: 0 0 14px;
    text-align: center;
}

#minicv #miniCVData.tol-minicv-v2 .btn-reserva-modal {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    background: #5cb85c !important;
    border: none !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 9px 18px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    box-shadow: none;
}

#minicv #miniCVData.tol-minicv-v2 .btn-reserva-modal:hover,
#minicv #miniCVData.tol-minicv-v2 .btn-reserva-modal:focus {
    background: #4cae4c !important;
    color: #fff !important;
}

#minicv #miniCVData.tol-minicv-v2 .tematicas-box {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid #e4e4e4;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#minicv #miniCVData.tol-minicv-v2 .tematicas-titulo {
    background: transparent !important;
    color: #222 !important;
    border-radius: 0;
    padding: 14px 16px 6px;
    font-size: 16px !important;
    font-weight: 700;
    text-align: left;
    margin: 0;
    flex: 0 0 auto;
}

#minicv #miniCVData.tol-minicv-v2 .tematicas-contenido {
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 4px 10px 12px 16px;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#minicv #miniCVData.tol-minicv-v2 .tematicas-contenido ul#lista-tematicas {
    list-style: none;
    margin: 0;
    padding: 0 6px 0 0;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 260px;
    overflow-y: auto;
}

#minicv #miniCVData.tol-minicv-v2 .tematicas-contenido li,
#minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__tematicas li {
    position: relative;
    margin: 0 0 8px;
    padding-left: 16px;
    font-size: 14px;
    color: #333 !important;
    line-height: 1.35;
}

#minicv #miniCVData.tol-minicv-v2 .tematicas-contenido li::before,
#minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__tematicas li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #5cb85c;
}

/* Scrollbar mini CV: track gris claro + thumb naranja (pill) */
#minicv #miniCVData.tol-minicv-v2 .tol-minicv-scroll {
    scrollbar-width: thin;
    scrollbar-color: #ff9800 #ededed;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-scroll::-webkit-scrollbar {
    width: 10px;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-scroll::-webkit-scrollbar-track {
    background: #ededed;
    border-radius: 999px;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-scroll::-webkit-scrollbar-thumb {
    background: #ff9800;
    border-radius: 999px;
    border: 2px solid #ededed;
    background-clip: padding-box;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-scroll::-webkit-scrollbar-thumb:hover {
    background: #f57c00;
    border: 2px solid #ededed;
    background-clip: padding-box;
}

#minicv #miniCVData.tol-minicv-v2 .profile-name-modal {
    color: #fd8a17 !important;
    font-weight: 700;
    margin: 0 0 4px;
    text-shadow: none;
}

#minicv #miniCVData.tol-minicv-v2 .profile-name-modal-desktop {
    display: block;
    font-size: 32px !important;
    line-height: 1.15;
}

#minicv #miniCVData.tol-minicv-v2 .profile-name-modal-mobile,
#minicv #miniCVData.tol-minicv-v2 .profile-title-modal-mobile {
    display: none;
}

#minicv #miniCVData.tol-minicv-v2 .profile-title-modal-desktop {
    display: block;
    color: #666 !important;
    font-size: 18px !important;
    margin: 0 0 18px;
    font-weight: 500;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card {
    border: 1px solid #e4e4e4;
    border-radius: 14px;
    background: #fff;
    padding: 14px 16px 16px;
    margin: 0 0 14px;
    flex: 0 0 auto;
    min-height: 0;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card--formacion {
    flex: 0 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card--experiencia {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 0;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card__title {
    margin: 0 0 10px;
    font-size: 17px;
    font-weight: 700;
    color: #222;
    flex: 0 0 auto;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card__body {
    margin: 0;
    padding: 0;
    border: none;
    color: #444;
    font-size: 15px;
    line-height: 1.6;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card__text {
    margin: 0;
    padding: 0 0 0 12px;
    border-left: 3px solid #fd8a17;
    color: inherit;
}

/* Formación: scroll si el texto es largo */
#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card--formacion .tol-minicv-card__body {
    max-height: 140px;
}

/* Experiencia: ocupa el alto restante y scrollea si hay mucho texto */
#minicv #miniCVData.tol-minicv-v2 .tol-minicv-card--experiencia .tol-minicv-card__body {
    flex: 1 1 auto;
    max-height: none;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc-wrap {
    display: none;
}

#minicv #miniCVData.tol-minicv-v2 .tol-minicv-sticky-cta {
    display: none;
}

/*
 * Mini CV remoto (clases cv-*): el AJAX trae su propio diseño.
 * Solo se ajusta el CTA al estilo del sitio y el alto de las columnas.
 */
#minicv #miniCVData.tol-minicv-remote .btn-reserva-modal {
    background-color: #5cb85c !important;
    background-image: none !important;
    border: none !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

#minicv #miniCVData.tol-minicv-remote .btn-reserva-modal:hover,
#minicv #miniCVData.tol-minicv-remote .btn-reserva-modal:focus,
#minicv #miniCVData.tol-minicv-remote .btn-reserva-modal:active {
    background-color: #4cae4c !important;
    color: #fff !important;
    box-shadow: none !important;
}

/* Separación entre el botón de reserva y la caja de temáticas */
#minicv #miniCVData.tol-minicv-remote .cv-btn-desktop-wrapper {
    margin-bottom: 18px !important;
}

/* La plantilla remota usa grises azulados (#334155/#475569/#64748b);
   se reemplazan por los grises neutros de la landing. */
#minicv #miniCVData.tol-minicv-remote .cv-card-title {
    color: #333 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-atiende-box,
#minicv #miniCVData.tol-minicv-remote .cv-orange-accent-box,
#minicv #miniCVData.tol-minicv-remote .cv-tematicas-list li {
    color: #555 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-spec-subtitle {
    color: #777 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-card-box {
    border-color: #e4e4e4 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-btn-mobile-sticky {
    border-top-color: #e4e4e4 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-tematicas-list::-webkit-scrollbar-track {
    background: #eee !important;
}

/* La plantilla remota trae un naranja propio (#EE8233): se usa el de la marca. */
#minicv #miniCVData.tol-minicv-remote .cv-name-title,
#minicv #miniCVData.tol-minicv-remote .cv-label-atiende {
    color: #ff9b00 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-orange-accent-box {
    border-left-color: #ff9b00 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-accordion-arrow {
    background-color: #ff9b00 !important;
}

#minicv #miniCVData.tol-minicv-remote .cv-tematicas-list::-webkit-scrollbar-thumb {
    background: #ff9b00 !important;
}

/* El CSS remoto define .cv-col-right pero el HTML usa .cv-right-col:
   se replican ancho y gutter para que no dependa de Bootstrap. */
#minicv #miniCVData.tol-minicv-remote .cv-right-col {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    #minicv #miniCVData.tol-minicv-remote .cv-right-col {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* Columnas a la misma altura: la última caja de la derecha llega abajo */
@media (min-width: 768px) {
    #minicv #miniCVData.tol-minicv-remote .cv-right-col {
        width: 66.666667% !important;
        flex: 0 0 66.666667% !important;
        max-width: 66.666667% !important;
    }

    #minicv #miniCVData.tol-minicv-remote .cv-row {
        align-items: stretch !important;
    }

    #minicv #miniCVData.tol-minicv-remote .cv-col-left,
    #minicv #miniCVData.tol-minicv-remote .cv-right-col {
        display: flex !important;
        flex-direction: column !important;
    }

    #minicv #miniCVData.tol-minicv-remote .cv-col-left > .cv-card-box:last-child,
    #minicv #miniCVData.tol-minicv-remote .cv-right-col > .cv-card-box:last-child {
        flex: 1 1 auto !important;
        margin-bottom: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* La caja crece hasta abajo, pero el contenido (y su línea naranja)
       conserva su alto natural. */
    #minicv #miniCVData.tol-minicv-remote .cv-card-experiencia > .cv-card-body {
        flex: 0 0 auto !important;
    }
}

@media (max-width: 767px) {
    #minicv.modal {
        padding: 10px !important;
        /* Evita que el flex centre achique el diálogo al alto del contenido */
        align-items: stretch !important;
    }

    #minicv.modal.in {
        display: flex !important;
        align-items: stretch !important;
        justify-content: center !important;
    }

    #minicv .modal-dialog {
        margin: 0 auto !important;
        width: calc(100% - 20px) !important;
        max-width: 420px !important;
        height: calc(100vh - 20px) !important;
        min-height: calc(100vh - 20px) !important;
        max-height: calc(100vh - 20px) !important;
        flex: 0 0 auto !important;
        align-self: center !important;
    }

    #minicv .modal-dialog.modal-lg {
        width: calc(100% - 20px) !important;
        max-width: 420px !important;
        height: calc(100vh - 20px) !important;
        min-height: calc(100vh - 20px) !important;
    }

    #minicv .modal-content,
    #minicv #miniCVData,
    #minicv #miniCVData.tol-minicv-v2,
    #minicv #miniCVData.tol-minicv-v2.profile-modal-content {
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
        overflow: hidden !important;
    }

    /* CV remoto (clases cv-*): trae su propio diseño, solo se habilita el scroll interno. */
    #minicv #miniCVData.tol-minicv-remote .profile-modal-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #minicv #miniCVData.tol-minicv-v2 .profile-modal-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 14px 14px 10px;
    }

    #minicv #miniCVData.tol-minicv-v2 .profile-modal-body > .row {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        margin: 0;
    }

    #minicv #miniCVData.tol-minicv-v2 .profile-modal-left-col,
    #minicv #miniCVData.tol-minicv-v2 .profile-modal-right-col {
        width: 100%;
        padding: 0;
        display: contents;
    }

    #minicv #miniCVData.tol-minicv-v2 .profile-name-modal-mobile {
        display: block;
        order: 1;
        text-align: center;
        font-size: 24px !important;
        margin: 4px 8px 2px;
    }

    #minicv #miniCVData.tol-minicv-v2 .profile-title-modal-mobile {
        display: block;
        order: 2;
        text-align: center;
        color: #666 !important;
        font-size: 15px !important;
        margin: 0 0 10px;
    }

    #minicv #miniCVData.tol-minicv-v2 .profile-name-modal-desktop,
    #minicv #miniCVData.tol-minicv-v2 .profile-title-modal-desktop {
        display: none !important;
    }

    #minicv #miniCVData.tol-minicv-v2 .left-top-content {
        order: 3;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 0 0 auto;
    }

    #minicv #miniCVData.tol-minicv-v2 .profile-image-wrapper {
        max-width: 160px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 16px;
    }

    #minicv #miniCVData.tol-minicv-v2 .fonasa-badge-modal {
        width: 52px;
        height: 52px;
        right: -8px;
        bottom: -8px;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-atiende {
        text-align: center;
        margin-bottom: 10px;
        font-size: 14px;
    }

    #minicv #miniCVData.tol-minicv-v2 .left-bottom-content,
    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-card--formacion,
    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-card--experiencia,
    #minicv #miniCVData.tol-minicv-v2 .tematicas-box {
        display: none !important;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc-wrap {
        display: block;
        order: 4;
        width: 100%;
        margin-top: 2px;
        flex: 0 0 auto;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc {
        border: 1px solid #e4e4e4;
        border-radius: 14px;
        background: #fff;
        margin: 0 0 8px;
        overflow: hidden;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__btn {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        border: 0;
        background: #fff;
        padding: 12px 14px;
        text-align: left;
        cursor: pointer;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__title {
        font-size: 15px;
        font-weight: 700;
        color: #222;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__chev {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: #fd8a17;
        flex: 0 0 28px;
        position: relative;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__chev::before {
        content: '';
        position: absolute;
        left: 50%;
        top: 46%;
        width: 8px;
        height: 8px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform: translate(-50%, -60%) rotate(45deg);
        transition: transform 0.2s ease;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc.is-open .tol-minicv-acc__chev::before {
        top: 58%;
        transform: translate(-50%, -60%) rotate(225deg);
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__panel {
        display: none;
        padding: 0 14px 12px;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc.is-open .tol-minicv-acc__panel {
        display: block;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__panel .tol-minicv-card__body {
        margin: 0;
        padding: 0;
        border: none;
        max-height: 160px;
        overflow-y: auto;
        font-size: 14px;
        line-height: 1.55;
        color: #444;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__panel .tol-minicv-card__text {
        padding-left: 12px;
        border-left: 3px solid #fd8a17;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-acc__tematicas ul {
        list-style: none;
        margin: 0;
        padding: 0 4px 0 0;
        max-height: 160px;
        overflow-y: auto;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-sticky-cta {
        display: block;
        flex: 0 0 auto;
        position: relative;
        bottom: auto;
        z-index: 15;
        background: #fff;
        padding: 10px 14px 12px;
        box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.08);
        border-top: 1px solid #eee;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-sticky-cta form[name="formtera"] {
        margin: 0;
    }

    #minicv #miniCVData.tol-minicv-v2 .tol-minicv-sticky-cta .btn-reserva-modal {
        border-radius: 999px !important;
        font-size: 15px !important;
        padding: 10px 16px !important;
        line-height: 1.25 !important;
    }
}

/* Tipografía fallback si el HTML remoto aún no se restyleó */
#minicv #miniCVData .profile-modal-body {
    font-size: 18px;
}

#minicv #miniCVData .profile-name-modal-desktop {
    font-size: 34px;
}

#minicv #miniCVData .profile-name-modal-mobile {
    font-size: 28px;
}

#minicv #miniCVData .profile-title-modal-desktop,
#minicv #miniCVData .profile-title-modal-mobile {
    font-size: 22px;
}

#minicv #miniCVData .btn-reserva-modal {
    font-size: 18px;
}

/* Modal acceso cuenta Terapia */
.modal-acceso .modal-body {
    position: relative;
    padding: 24px 30px 10px;
}

.modal-acceso__close {
    position: absolute;
    top: 10px;
    right: 14px;
    z-index: 2;
    font-size: 28px;
    opacity: 0.5;
}

.modal-acceso__img {
    border-radius: 4px;
    width: 100%;
}

.modal-acceso__titulo {
    color: #ff8917;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.04em;
    margin-bottom: 12px;
}

.modal-acceso__separator {
    height: 1px;
    background: #e8e8e8;
    margin: 14px 0;
}

.modal-acceso__help {
    color: #ff8917;
    margin-left: 4px;
}

.modal-acceso__recupera {
    margin: 0 0 4px;
}

.modal-acceso__recupera a {
    color: #ff8917;
    font-size: 13px;
}

.modal-acceso__buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.modal-acceso__btn-registro,
.modal-acceso__btn-entrar {
    flex: 1 1 120px;
    min-height: 42px;
    border: none;
    border-radius: 4px;
    font-weight: 700;
    color: #fff;
}

.modal-acceso__btn-registro {
    background: #6c757d;
    text-decoration: none !important;
}

.modal-acceso__btn-registro:hover,
.modal-acceso__btn-registro:focus,
.modal-acceso__btn-registro:visited,
.modal-acceso__btn-registro:active {
    color: #fff;
    background: #5a6268;
    text-decoration: none !important;
}

.modal-acceso__btn-entrar {
    background: linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%);
}

.modal-acceso__btn-entrar:hover,
.modal-acceso__btn-entrar:focus {
    color: #fff;
    background: linear-gradient(180deg, #ff8a00 0%, #e67d00 100%);
}

/* Iconos SVG (antes en sprite_styles.css) */
.icono {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
}
.icono-mujer {
  --color-1: #f5d6c4;
  --color-2: #0c1c10;
  --color-3: #fff;
}
.icono-balanza {
  --color-1: #0c1c10;
  --color-2: #ccc;
  --color-3: #999;
  --color-4: #fff;
  --color-5: #d9e021;
}
.icono-puzzle {
  --color-1: #0c1c10;
  --color-2: #4193ca;
  --color-3: #7ca332;
  --color-4: #f5b02e;
  --color-5: #e15648;
}
.icono-mano {
  --color-1: #f5b02e;
  --color-2: #8cc63e;
  --color-3: #e15648;
  --color-4: #4193ca;
  --color-5: #0c1c10;
  --color-6: #fff;
}
.icono-ondas {
  --color-1: #0c1c10;
  --color-2: #f5d6c4;
}
.icono-hombre {
  --color-1: #f5d6c4;
  --color-2: #0c1c10;
  --color-3: #ff7bac;
}
.icono-ideas {
  --color-1: #666;
  --color-2: #0c1c10;
  --color-3: #f5d6c4;
}

.icono-logo {
  --color-1: #f8f7f7;
  --color-2: #fff;
  --color-3: #5ec187;
}

.icono-instagram {
  --color-1: #fff;
  --color-2: #4465a0;
}

.icono-facebook {
  --color-1: #fff;
  --color-2: #4465a0;
}

.icono-tiktok {
  --color-1: #fff;
  fill: #000;
}

.icono-linkedin {
  --color-1: #2f71b7;
  --color-2: #fff;
}

.site-footer--cl .site-footer__tol-logo.icono {
  width: 240px;
  max-height: 72px;
  height: auto;
}

.site-footer--cl .site-footer__social-icons .icono {
  width: 36px;
  height: 36px;
}

@media (max-width: 767px) {
    .modal-acceso .modal-body {
        padding: 20px 16px 8px;
    }

    .modal-acceso__form-col {
        padding-top: 8px;
    }
}

/* Sin borde/outline negro al presionar o enfocar botones */
button:focus,
button:active,
button:focus-visible,
input[type="button"]:focus,
input[type="button"]:active,
input[type="submit"]:focus,
input[type="submit"]:active,
.btn:focus,
.btn:active,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn-default:focus,
.btn-default:active,
.btn-default:active:focus,
a.boton-consulta:focus,
a.boton-consulta:active,
a.boton-consulta:focus-visible,
.section-agendar-cita a:focus,
.section-agendar-cita a:active,
.section-agendar-cita a:focus-visible,
.site-top__btn-acceso:focus,
.site-top__btn-acceso:active,
.site-top__actions .boton-consulta.site-top__btn-registrate:focus,
.site-top__actions .boton-consulta.site-top__btn-registrate:active,
.porque-card__btn:focus,
.porque-card__btn:active,
.fixed-button-container__btn:focus,
.fixed-button-container__btn:active,
.faq-question:focus,
.faq-question:active,
.hero-carousel__nav:focus,
.hero-carousel__nav:active,
.hero-carousel__dot:focus,
.hero-carousel__dot:active,
.btn-profile:focus,
.btn-profile:active,
.modal-acceso__btn-registro:focus,
.modal-acceso__btn-registro:active,
.modal-acceso__btn-entrar:focus,
.modal-acceso__btn-entrar:active,
a.btn:focus,
a.btn:active {
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn-default:focus,
.btn-default:active:focus {
    box-shadow: none;
}

.boton-consulta:focus,
.boton-consulta:active,
#boton-reserva:focus,
#boton-reserva:active,
#btnReservaFinal:focus,
#btnReservaFinal:active {
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}

/* Anula el anillo "tab-focus" que Bootstrap aplica a a:focus
   (logo, contacto@, Escríbenos aquí, redes, y cualquier otro enlace). */
.tol-landing-cl a:focus,
.tol-landing-cl a:active,
.tol-landing-cl a:focus-visible,
.tol-landing-mx a:focus,
.tol-landing-mx a:active,
.tol-landing-mx a:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    -webkit-tap-highlight-color: transparent;
}

/* --- Landing psicologia_en_linea --- */

/* Testimonios Chile */
.section-testimonios-cl {
    margin: 0;
    padding: 36px 15px 44px;
    background: #fff;
}

.testimonios-cl__inner {
    max-width: 1140px;
    margin: 0 auto;
}

.testimonios-cl__titulo {
    margin: 0 0 32px;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    font-style: italic;
    color: #ff9b00;
    line-height: 1.35;
}

.testimonios-cl__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.testimonial-card-cl {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 28px 24px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100%;
}

.testimonial-card-cl__stars {
    color: #fabb05;
    font-size: 18px;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 16px;
}

.testimonial-card-cl__text {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.55;
    color: #555;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    width: 100%;
}

.testimonial-card-cl__more {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    background: none;
    color: #a0522d;
    font-size: 15px;
    text-decoration: underline;
    cursor: pointer;
}

.testimonial-card-cl__more:hover,
.testimonial-card-cl__more:focus {
    color: #ff9b00;
    outline: none;
}

.testimonial-card-cl__sep {
    width: 100%;
    margin: 0 0 16px;
    border: 0;
    border-top: 1px solid #e0e0e0;
}

.testimonial-card-cl__author {
    margin: 0;
    font-size: 16px;
    color: #333;
}

@media (max-width: 991px) {
    .testimonios-cl__grid {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin: 0 auto;
    }

    .testimonios-cl__titulo {
        font-size: 24px;
    }
}

.loginContainer img {
    max-width: 150px;
}

.login__bottom {
    width: 100%;
    display: flex;
    align-items: center;
}

.login__bottom .login-logo {
    width: 70%;
    display: flex;
    align-items: center;
}

.login__bottom .login-buttons {
    width: 30%;
    height: 100%;
    display: flex;
    justify-content: center;
}

.login__bottom .login-logo div {
    width: 100%;
    display: flex;
    align-items: center;
}

.login__bottom .login-logo span,
.tagline-servicio {
    padding: 0 20px;
    font-style: oblique;
    color: #757575;
}

.login__bottom .login-logo img {
    margin: 0 8px 12px 20px;
}

.login__bottom .login-buttons div {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

.margen-inf .contacto-header {
    color: var(--naranja-marca, #FE6822);
    font-size: larger;
    font-weight: 700;
}

.margen-inf .contacto-wa-header {
    color: #5cb85c;
    font-size: larger;
    font-weight: 700;
}

.margen-inf .contacto-wa-icon {
    display: inline-block;
    vertical-align: text-top;
}

.slider {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    margin-bottom: 10px;
}

.slides {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.slides picture {
    min-width: 100%;
    box-sizing: border-box;
}

.slides img {
    width: 100%;
    box-sizing: border-box;
    height: 300px;
    object-fit: cover;
}

.mensaje-importante-h2 {
    margin-top: 5px;
    color: var(--naranja-marca, #FE6822);
    text-align: center;
    font-size: 30px;
    font-style: normal;
}

.hr-marca {
    margin-top: 22px;
    border-top: 1px solid var(--naranja-marca, #FD8632);
}

.hr-marca--tight {
    margin-top: 18px;
    border-top: 1px solid var(--naranja-marca, #FD8632);
}

.hr-verde {
    margin-top: 22px;
    border-top: 1px solid #389c63;
}

.texto-cuerpo {
    color: #666;
    font-size: 16px;
}

.texto-cuerpo--lg {
    color: #666;
    font-size: 18px;
}

.texto-cuerpo--center {
    color: #666;
    font-size: 16px;
    text-align: center;
}

.texto-cuerpo--linea {
    line-height: 1.5;
}

.enlace-sin-decoracion {
    text-decoration: none;
}

.isapres {
    max-width: 160px;
}

.titulo .page-h1 {
    padding-top: 10px;
    font-size: 34px;
    text-align: center;
}

.titulo-seccion-verde {
    background: #389c63;
    color: #fff;
    text-align: center;
    padding: 10px;
    width: 100%;
}

.titulo-seccion-verde h2,
.titulo-seccion-verde .texto-subtitulos {
    text-align: center;
    font-size: 26px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.titulo-seccion-verde--compact {
    padding: 4px;
}

.titulo-seccion-verde--compact .texto-subtitulos {
    font-size: 22px;
}

.titulo-psicologos-experiencia {
    margin-top: 5px;
    color: green;
    text-align: center;
    font-size: 26px;
}

.titulo-seccion-naranja h3 {
    color: var(--naranja-marca, #FE6822);
    font-size: 24px;
    margin: 0;
    text-align: center;
}

.titulo-h3-centrado {
    text-align: center;
    font-size: 26px;
}

.seccion-beneficios {
    background-color: #fafbfb;
    padding-top: 8px;
}

.seccion-beneficios__titulo {
    color: #389c63;
    text-align: center;
    width: 100%;
}

.seccion-beneficios__lista {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    color: #666;
}

.seccion-beneficios__lista img {
    width: 20%;
    flex-shrink: 0;
}

.seccion-beneficios__lista ul {
    text-align: left;
    margin: 0;
    padding: 0;
    list-style-position: inside;
}

.seccion-beneficios__cierre {
    color: #389c63;
    text-align: center;
    width: 100%;
    font-size: 18px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.titulo-cobertura {
    text-align: center;
    font-size: 26px;
}

.lista-check-verde .glyphicon,
.lista-check-verde .icon-ok {
    color: #389c63;
    font-size: 18px;
}

.lista-check-verde b,
.lista-check-verde strong {
    color: #389c63;
}

.lista-check-naranja .glyphicon,
.lista-check-naranja .icon-ok {
    color: var(--naranja-marca, #FE6822);
    font-size: 18px;
}

.lista-check-naranja b,
.lista-check-naranja strong {
    color: var(--naranja-marca, #FE6822);
}

.lista-check-verde b.fs-16,
.lista-check-verde strong.fs-16 {
    font-size: 16px;
}

.lista-check-verde span.fs-18 {
    font-size: 18px;
}

.img-responsive-full {
    width: 100%;
    height: auto;
}

.boton-consulta--footer {
    width: 257px !important;
    padding: 12px;
}

.boton-consulta--footer .boton-consulta__inner {
    margin-top: 0;
    margin-bottom: 0;
}

.footer-direccion {
    font-size: 15px;
}

.footer-contacto {
    font-size: 15px;
    margin-bottom: 10px;
}

.footer-copyright {
    font-size: medium;
}

.nav-footer-content--cladulto {
    margin: 0;
    padding: 15px;
}

#formCont:not(.formulario-contacto-form) {
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-align: left;
}

#formCont:not(.formulario-contacto-form) .form-field {
    width: 100%;
}

#formCont:not(.formulario-contacto-form) .form-field-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    width: 100%;
}

#formCont:not(.formulario-contacto-form) .form-field-row > div {
    flex: 1;
}

#formCont:not(.formulario-contacto-form) label {
    display: block;
    margin-bottom: 5px;
}

#formCont:not(.formulario-contacto-form) input,
#formCont:not(.formulario-contacto-form) textarea {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
}

#formCont:not(.formulario-contacto-form) textarea {
    height: 100px;
}

/* Formulario contacto (misma grilla que landing MX): nombre|apellido, email|teléfono, mensaje */
form#formCont.formulario-contacto-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

form#formCont.formulario-contacto-form .formulario-contacto-form__field--full {
    grid-column: 1 / -1;
}

@media (max-width: 768px) {
    form#formCont.formulario-contacto-form {
        grid-template-columns: 1fr;
    }
}

.profile-image-container--clickable {
    cursor: pointer;
}

.form-tera-inline {
    display: inline;
}

@media (max-width: 768px) {
    .login__bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .login-buttons {
        margin-top: 10px;
    }

    .slider img,
    .slides img {
        height: auto;
    }

    .login-logo img {
        max-width: 150px;
        height: auto;
    }

    .login__bottom .login-logo img {
        margin: 0;
    }

    .login__bottom .login-logo,
    .login__bottom .login-buttons {
        width: max-content;
    }

    .margen-inf {
        padding-bottom: 6px;
    }
}

/* Modal acceso cuenta (compartido CL / MX) */
#modalAcceso .acceso-dialog {
    max-width: 460px;
    margin: 30px auto;
    display: flex;
    align-items: center;
    min-height: calc(100% - 60px);
}

@media (max-width: 507px) {
    #modalAcceso .acceso-dialog {
        margin: 30px 12px;
        max-width: none;
    }
}

#modalAcceso .acceso-card {
    width: 100%;
    font-family: sans-serif;
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(0, 0, 0, .175);
    background: #fff;
}

#modalAcceso .acceso-banner {
    position: relative;
}

#modalAcceso .acceso-banner__img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center 20%;
}

@media (min-width: 768px) {
    #modalAcceso .acceso-banner__img {
        height: 300px;
    }
}

#modalAcceso .acceso-banner__badge {
    position: absolute;
    top: 0;
    right: 0;
    padding: 16px;
    background: rgba(255, 255, 255, .75);
    border-bottom-left-radius: 6px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .075);
}

#modalAcceso .acceso-banner__badge img {
    display: block;
    height: 34px;
}

#modalAcceso .acceso-body {
    padding: 24px;
}

#modalAcceso .acceso-titulo {
    text-align: center;
    margin-bottom: 24px;
    font-weight: 700;
    font-size: 20px;
    color: #4a4a4a;
    letter-spacing: 0.5px;
    line-height: 1.2;
}

#modalAcceso .acceso-input {
    position: relative;
}

#modalAcceso .acceso-input--email {
    margin-bottom: 16px;
}

#modalAcceso .acceso-input--password {
    margin-bottom: 24px;
}

#modalAcceso .acceso-input > i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    font-size: 14px;
}

#modalAcceso .acceso-input input {
    display: block;
    width: 100%;
    border: 0;
    background-color: #f8f9fa;
    border-radius: 50rem;
    padding: 16px 12px 16px 48px;
    font-size: 14px;
    line-height: 1.5;
    color: #212529;
    outline: none;
    box-shadow: none;
}

#modalAcceso .acceso-input--password input {
    padding-right: 48px;
}

#modalAcceso .acceso-input input::placeholder {
    color: #a8a8a8;
}

#modalAcceso .acceso-input input:focus {
    background-color: #f1f3f5 !important;
    box-shadow: none !important;
}

#modalAcceso .acceso-input__toggle {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #6c757d;
    padding: 4px;
    z-index: 10;
}

#modalAcceso .acceso-opciones {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    font-size: 13px;
}

#modalAcceso .acceso-opciones a {
    color: #6c757d;
    text-decoration: none;
}

#modalAcceso .acceso-recordarme {
    display: flex;
    align-items: center;
    cursor: pointer;
    color: #6c757d;
    font-weight: normal;
    margin: 0;
}

#modalAcceso .acceso-recordarme input {
    display: none;
}

#modalAcceso .acceso-recordarme__check {
    width: 18px;
    height: 18px;
    border: 1px solid #ccc;
    border-radius: 50%;
    margin-right: 8px;
    display: inline-block;
    position: relative;
    background: transparent;
    transition: background-color .15s, border-color .15s;
}

#modalAcceso .acceso-recordarme__check i {
    display: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 10px;
    color: #fff;
}

#modalAcceso .acceso-recordarme input:checked + .acceso-recordarme__check {
    background-color: #3FA957;
    border-color: #3FA957;
}

#modalAcceso .acceso-recordarme input:checked + .acceso-recordarme__check i {
    display: block;
}

#modalAcceso .acceso-botones {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-top: 24px;
}

#modalAcceso .acceso-btn {
    display: block;
    width: 100%;
    border-radius: 50rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    line-height: 1.5;
}

#modalAcceso .acceso-btn--entrar {
    max-width: 280px;
    background-color: #ff8917;
    color: #fff;
    border: none;
    padding: 16px;
    font-size: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .075);
}

#modalAcceso .acceso-btn--entrar:hover {
    background-color: #e07222 !important;
}

#modalAcceso .acceso-btn--registro {
    max-width: 280px;
    background-color: transparent;
    color: #ff8917;
    border: 2px solid #ff8917;
    padding: 16px;
    font-size: 15px;
}

#modalAcceso .acceso-btn--registro:hover,
#modalAcceso .acceso-btn--registro:focus {
    background-color: #ff8917 !important;
    color: #fff !important;
    text-decoration: none;
}

#modalAcceso .acceso-btn--cerrar {
    max-width: 140px;
    background-color: #929292;
    color: #fff;
    border: 0;
    padding: 8px;
    font-size: 14px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .075);
}

/* --- Chile landing: estilos globales (WinSCP / psicologia_en_linea) --- */
:root {
    --naranja-marca: #ff9b00;
}

.section-agendar-cita,
.section-agendar-cita .col-md-12,
.fixed-button-container .col-md-12 {
    text-align: center;
}

.section-agendar-cita .enlace-sin-decoracion,
.fixed-button-container .enlace-sin-decoracion {
    display: inline-block;
    text-align: center;
}

.section-testimonios-cl {
    margin: 0;
    padding: 36px 15px 44px;
    background: #fff;
}

.testimonios-cl__inner {
    max-width: 1140px;
    margin: 0 auto;
}

.testimonios-cl__titulo {
    margin: 0 0 32px;
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    font-style: italic;
    color: var(--naranja-marca);
    line-height: 1.35;
}

.testimonios-cl__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.testimonial-card-cl {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 28px 24px 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100%;
}

.testimonial-card-cl__stars {
    color: #fabb05;
    font-size: 18px;
    letter-spacing: 2px;
    line-height: 1;
    margin-bottom: 16px;
}

.testimonial-card-cl__text {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.55;
    color: #555;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    width: 100%;
}

.testimonial-card-cl__more {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    background: none;
    color: #a0522d;
    font-size: 15px;
    text-decoration: underline;
    cursor: pointer;
}

.testimonial-card-cl__more:hover,
.testimonial-card-cl__more:focus {
    color: var(--naranja-marca);
    outline: none;
}

.testimonial-card-cl__sep {
    width: 100%;
    margin: 0 0 16px;
    border: 0;
    border-top: 1px solid #e0e0e0;
}

.testimonial-card-cl__author {
    margin: 0;
    font-size: 16px;
    color: #333;
}

.testimonial-overlay-cl {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.testimonial-overlay-cl[hidden] {
    display: none !important;
}

body.testimonial-overlay-cl-open {
    overflow: hidden;
}

.testimonial-overlay-cl__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.testimonial-overlay-cl__dialog {
    position: relative;
    z-index: 1;
    width: min(560px, 100%);
    max-height: 90vh;
    overflow: auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.testimonial-overlay-cl__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    background: var(--naranja-marca);
    color: #fff;
    border-radius: 12px 12px 0 0;
}

.testimonial-overlay-cl__close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}

.testimonial-overlay-cl__body {
    padding: 24px 24px 28px;
    text-align: center;
}

.testimonial-overlay-cl__stars {
    margin-bottom: 12px;
}

.testimonial-overlay-cl__author {
    margin: 0;
    color: #fff;
    font-size: 18px;
}

.testimonial-overlay-cl__author strong {
    color: #fff;
}

.testimonial-overlay-cl__text {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    text-align: left;
}

.servicio-tag__icon {
    background: #c7ebd1;
    border-radius: 8px;
}

.servicio-tag__icon .icono {
    width: 36px;
    height: 36px;
    display: block;
}

@media (max-width: 767px) {
    .section-enfoque-integral .servicios-grid,
    .section-enfoque-integral .servicios-grid--6 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        max-width: 100% !important;
    }

    .section-enfoque-integral .servicios-grid .servicio-tag,
    .section-enfoque-integral .servicios-grid--6 .servicio-tag {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0;
        padding: 14px 16px;
        font-size: 15px;
    }
}

.site-footer--cl .site-footer__tol-logo.icono {
    width: 240px;
    max-height: 72px;
    height: auto;
    display: block;
}

.site-footer--cl .site-footer__social-icons .icono {
    width: 36px;
    height: 36px;
    display: block;
}

.site-footer--cl {
    background: #296733;
    color: #fff;
}

.site-footer--cl .site-footer__main {
    background-color: #30884b;
    background-image: repeating-linear-gradient(
        -52deg,
        transparent,
        transparent 9px,
        rgba(255, 255, 255, 0.09) 9px,
        rgba(255, 255, 255, 0.09) 11.5px
    );
    padding: 28px 15px 24px;
}

@media (min-width: 768px) {
    .site-footer--cl .site-footer__grid--cl {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1.1fr);
        gap: 32px 40px;
        align-items: start;
        max-width: 1140px;
        margin: 0 auto;
    }
}

.site-footer--cl .site-footer__cetec-texto,
.site-footer--cl .site-footer__cetec-direccion,
.site-footer--cl .site-footer__socials-title,
.site-footer--cl .site-footer__contact-item {
    color: #fff;
}

.site-footer--cl .site-footer__contact-wa-text,
.site-footer--cl .site-footer__contact-item a {
    color: #ffcc4d;
}

.site-footer--cl .site-footer__contact-item--email a {
    color: #fff;
}

.site-footer--cl .site-footer__copy {
    background: #296733;
    color: #fff;
    text-align: center;
    padding: 14px 15px 18px;
}

@media (max-width: 991px) {
    .testimonios-cl__grid {
        grid-template-columns: 1fr;
        max-width: 420px;
        margin: 0 auto;
    }

    .testimonios-cl__titulo {
        font-size: 24px;
    }
}

/* Mobile full-bleed + tipografía carrusel/formulario (CL / MX) */
@media (max-width: 768px) {
    html,
    body {
        overflow-x: hidden;
    }

    .carousel-bg-section.section-carrusel-psicologos,
    .section-formulario-contacto {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        border-radius: 0 !important;
    }

    .section-formulario-contacto {
        margin-top: 48px !important;
        padding-top: 36px !important;
        padding-bottom: 36px !important;
        padding-left: calc(50vw - 50%) !important;
        padding-right: calc(50vw - 50%) !important;
    }

    .carousel-bg-section .profile-name {
        font-size: 19px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        color: #222 !important;
    }

    .carousel-bg-section .profile-description {
        font-size: 15px !important;
        line-height: 1.45 !important;
        color: #555 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 5 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        overflow-wrap: break-word !important;
        max-height: calc(1.45em * 5) !important;
    }

    .carousel-bg-section .profile-actions .btn-profile {
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        padding: 7px 5px !important;
    }

    .formulario-contacto-card__header .formulario-contacto-card__titulo {
        font-size: var(--font-h2-card, 20px) !important;
    }

    .formulario-contacto-card__intro {
        font-size: 16px !important;
        line-height: 1.5 !important;
        color: #333 !important;
    }

    form.formulario-contacto-form[name="formCont"] input,
    form.formulario-contacto-form[name="formCont"] textarea,
    form#formCont.formulario-contacto-form input,
    form#formCont.formulario-contacto-form textarea {
        font-size: 16px !important;
    }

    .formulario-contacto-card__humano-check-text {
        font-size: 16px !important;
    }

    .formulario-contacto-card__btn {
        font-size: 16px !important;
        font-weight: 700 !important;
    }

    /* Footer Chile: columna única en mobile (anula grid desktop duplicado al final del CSS) */
    .site-footer--cl .site-footer__main {
        padding: 32px 15px 28px;
    }

    .site-footer--cl .site-footer__grid--cl {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 28px !important;
        width: 100%;
        max-width: 100%;
        grid-template-columns: none !important;
    }

    .site-footer--cl .site-footer__col--brand-cl,
    .site-footer--cl .site-footer__col--redes-cl,
    .site-footer--cl .site-footer__col--contacto-cl {
        width: 100% !important;
        max-width: 360px !important;
        text-align: center !important;
        padding: 0 !important;
        box-sizing: border-box;
    }

    .site-footer--cl .site-footer__col--brand-cl {
        order: 1;
    }

    .site-footer--cl .site-footer__col--redes-cl {
        order: 2;
        padding-bottom: 24px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    }

    .site-footer--cl .site-footer__col--contacto-cl {
        order: 3;
    }

    .site-footer--cl .site-footer__tol-logo,
    .site-footer--cl .site-footer__tol-logo.icono {
        margin-left: auto;
        margin-right: auto;
    }

    .site-footer--cl .site-footer__cetec-texto,
    .site-footer--cl .site-footer__cetec-direccion {
        max-width: none !important;
        margin-left: auto;
        margin-right: auto;
    }

    .site-footer--cl .site-footer__social-icons {
        justify-content: center;
    }

    .site-footer--cl .site-footer__socials-title {
        text-align: center;
    }

    .site-footer--cl .site-footer__contact-items {
        flex-direction: column !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
        gap: 12px !important;
    }

    .site-footer--cl .site-footer__contact-item {
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
        flex-wrap: wrap;
        word-break: break-word;
    }

    .site-footer--cl .site-footer__contact-item--wa {
        flex-wrap: wrap;
    }

    .site-footer--cl .site-footer__contact-wa-label {
        text-align: center;
        width: 100%;
    }

    .site-footer--cl .site-footer__contact-wa-number {
        display: none;
    }

    .site-footer--cl .site-footer__contact-wa-text {
        display: inline;
    }

    .site-footer--cl .site-footer__sucursales {
        margin-top: 28px;
        padding-top: 24px;
        width: 100%;
        max-width: 360px;
        padding-left: 0;
        padding-right: 0;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .site-footer--cl .site-footer__sucursales-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .site-footer--cl .site-footer__sucursal-titulo {
        justify-content: center;
    }

    .site-footer--cl .site-footer__sucursal-datos {
        text-align: center;
    }
}

/* --- Header CL (terapiaonline.cl): logo + tagline + CENS + menú hamburguesa --- */
.site-top.site-top--tol-v4 {
    margin-left: -10px;
    margin-right: -10px;
}

.site-top--tol-v4 .site-top__header {
    padding: 12px 12px 10px;
}

.site-top--tol-v4 .site-top__inner {
    display: block !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    max-width: 1100px;
    margin: 0 auto;
}

.site-top--tol-v4 .site-top__tagline-line {
    font-size: 13px;
    line-height: 18px;
    font-style: italic;
    font-weight: 400;
    color: #6c757d;
}

.site-top--tol-v4 .site-top__tagline-line--years {
    font-weight: 600;
    color: #6c757d;
}

.site-top--tol-v4 .site-top__tagline-line--years strong {
    font-weight: 700;
    color: #58585b;
}

/* Grid: columna 1 = logo+texto | columna 2 = CENS+menú (siempre juntos a la derecha) */
.site-top--tol-v4 .site-top__main-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 10px;
    width: 100%;
}

.site-top--tol-v4 .site-top__brand {
    grid-column: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    flex: none !important;
}

.site-top--tol-v4 .site-top__tagline {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    flex: 0 1 auto;
}

.site-top--tol-v4 .site-top__aside {
    grid-column: 2;
    display: flex !important;
    align-items: center;
    gap: 4px;
    flex: 0 0 auto !important;
    flex-shrink: 0;
    margin-left: 0 !important;
    width: auto;
}

.site-top--tol-v4 .site-top__cens {
    flex-shrink: 0;
    line-height: 0;
}

.site-top--tol-v4 .site-top__cens-logo {
    display: block;
    height: 90px;
    width: 138px;
    max-width: none;
}

.site-top--tol-v4 .site-top__cens-logo.icono {
    width: 138px;
    height: 90px;
}

.site-top--tol-v4 .site-top__menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 8px;
    background-color: #5cb85c;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.15s ease;
}

.site-top--tol-v4 .site-top__menu-toggle:hover,
.site-top--tol-v4 .site-top__menu-toggle:focus {
    background-color: #4cae4c;
    outline: none;
}

.site-top--tol-v4 .site-top__menu-toggle:focus-visible {
    outline: 2px solid #ff9b00;
    outline-offset: 2px;
}

.site-top--tol-v4 .site-top__menu-toggle-icon {
    display: block;
    width: 1.35em;
    height: 1.35em;
    background: center / contain no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Menú lateral (drawer) + overlay oscuro */
.tol-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.tol-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.tol-menu-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1045;
    width: min(320px, 88vw);
    max-width: 100%;
    height: 100%;
    background: #fff;
    /* Cerrado no lleva sombra: el panel queda justo fuera del borde derecho y
       una sombra hacia la izquierda se filtraría dentro del viewport. */
    box-shadow: none;
    transform: translateX(100%);
    /* El retardo mantiene la sombra durante la animación de cierre. */
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0s linear 0.32s;
    display: flex;
    flex-direction: column;
    padding: 22px 20px 28px;
    box-sizing: border-box;
}

.tol-menu-drawer.is-open {
    transform: translateX(0);
    box-shadow: -8px 0 28px rgba(0, 0, 0, 0.18);
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0s linear 0s;
}

.tol-menu-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 28px;
}

.tol-menu-drawer__title {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.85rem;
    font-weight: 700;
    color: #5cb85c;
    line-height: 1.2;
}

.tol-menu-drawer__close {
    border: none;
    background: transparent;
    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1;
    color: #333;
    cursor: pointer;
    padding: 0 4px;
    margin: -6px -4px -6px 0;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tol-menu-drawer__close:hover,
.tol-menu-drawer__close:focus {
    color: #111;
    outline: none;
}

.tol-menu-drawer__nav {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: stretch;
}

.tol-menu-drawer__nav .tol-menu-drawer__btn,
.tol-menu-drawer__nav .site-top__btn-acceso,
.tol-menu-drawer__nav .boton-consulta.site-top__btn-registrate {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    border-radius: 36px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: normal !important;
    box-shadow: none !important;
}

.tol-menu-drawer__nav .boton-consulta.site-top__btn-registrate {
    background: var(--cta-gradient, linear-gradient(180deg, #ff9b00 0%, #ff8a00 100%)) !important;
    color: #fff !important;
    border: 2px solid transparent !important;
}

.tol-menu-drawer .site-top__btn-acceso {
    border-radius: 36px;
}

body.tol-menu-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .site-top--tol-v4 .site-top__header {
        padding: 12px 12px 10px;
    }

    .site-top--tol-v4 .site-top__inner {
        display: block !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 0 !important;
        max-width: none;
    }

    .site-top--tol-v4 .site-top__main-row {
        column-gap: 8px;
    }

    .site-top--tol-v4 .site-top__brand {
        gap: 8px;
    }

    .site-top--tol-v4 .site-top__logo-link {
        flex-shrink: 0;
    }

    .site-top--tol-v4 .site-top__logo-link img {
        width: 64px;
        max-width: 64px;
    }

    .site-top--tol-v4 .site-top__tagline--desktop {
        display: none !important;
    }

    .site-top--tol-v4 .site-top__tagline--mobile {
        display: block !important;
        margin: 0 !important;
        text-align: left !important;
        width: auto !important;
        max-width: 100% !important;
        padding: 0 !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        overflow: hidden;
    }

    .site-top--tol-v4 .site-top__tagline-line {
        font-size: 12px !important;
        line-height: 15px !important;
        white-space: nowrap;
        margin: 0;
    }

    .site-top--tol-v4 .site-top__tagline-line + .site-top__tagline-line {
        margin-top: 0;
    }

    .site-top--tol-v4 .site-top__cens-logo,
    .site-top--tol-v4 .site-top__cens-logo.icono {
        height: 52px;
        width: 80px;
    }

    .site-top--tol-v4 .site-top__menu-toggle {
        width: 38px;
        height: 34px;
        border-radius: 6px;
    }

    .site-top--tol-v4 .site-top__aside {
        gap: 4px;
        flex-shrink: 0;
        margin-left: 0 !important;
    }

    .tol-menu-drawer {
        width: min(300px, 92vw);
        padding: 18px 16px 24px;
    }

    .tol-menu-drawer__title {
        font-size: 1.7rem;
    }

    .tol-menu-drawer__close {
        font-size: 2.4rem;
    }

    .tol-menu-drawer__nav .tol-menu-drawer__btn,
    .tol-menu-drawer__nav .site-top__btn-acceso,
    .tol-menu-drawer__nav .boton-consulta.site-top__btn-registrate {
        font-size: 14px !important;
        padding: 13px 14px !important;
    }
}

@media (min-width: 768px) {
    .site-top.site-top--tol-v4 {
        margin-left: -15px;
        margin-right: -15px;
    }

    .site-top--tol-v4 .site-top__header {
        padding: 20px 20px 18px;
    }

    .site-top--tol-v4 .site-top__brand {
        gap: 14px;
    }

    .site-top--tol-v4 .site-top__aside {
        gap: 8px;
    }

    .site-top--tol-v4 .site-top__tagline--mobile {
        display: none !important;
    }

    .site-top--tol-v4 .site-top__tagline--desktop {
        display: block !important;
    }
}

@media (max-width: 380px) {
    .site-top--tol-v4 .site-top__tagline-line {
        font-size: 11px !important;
        line-height: 14px !important;
    }

    .site-top--tol-v4 .site-top__logo-link img {
        width: 56px;
        max-width: 56px;
    }

    .site-top--tol-v4 .site-top__cens-logo,
    .site-top--tol-v4 .site-top__cens-logo.icono {
        height: 46px;
        width: 71px;
    }

    .site-top--tol-v4 .site-top__menu-toggle {
        width: 34px;
        height: 30px;
    }
}

/* --- Scroll reveal: secciones e items al entrar en viewport --- */
/* Importante: NUNCA usar pointer-events:none aquí — en móvil bloquea el scroll táctil. */
html.tol-reveal-ready .tol-reveal:not(.is-revealed) {
    opacity: 0 !important;
    transform: translate3d(0, 36px, 0) !important;
}

html.tol-reveal-ready .tol-reveal {
    transition:
        opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) !important;
    transition-delay: var(--tol-reveal-delay, 0ms);
}

html.tol-reveal-ready .tol-reveal.tol-reveal--section:not(.is-revealed) {
    transform: translate3d(0, 44px, 0) !important;
}

html.tol-reveal-ready .tol-reveal.tol-reveal--item:not(.is-revealed) {
    transform: translate3d(0, 24px, 0) !important;
}

html.tol-reveal-ready .tol-reveal.is-revealed {
    opacity: 1 !important;
    transform: none !important;
}

/* Móvil: misma animación, recorrido un poco menor (scroll sigue activo) */
@media (max-width: 767px) {
    html.tol-reveal-ready .tol-reveal:not(.is-revealed) {
        transform: translate3d(0, 24px, 0) !important;
    }

    html.tol-reveal-ready .tol-reveal.tol-reveal--section:not(.is-revealed) {
        transform: translate3d(0, 28px, 0) !important;
    }

    html.tol-reveal-ready .tol-reveal.tol-reveal--item:not(.is-revealed) {
        transform: translate3d(0, 16px, 0) !important;
    }

    html.tol-reveal-ready .tol-reveal {
        transition-duration: 0.55s !important;
    }
}

/* Reduced motion: animación más corta, NO desactivar (Windows suele tenerlo activo) */
@media (prefers-reduced-motion: reduce) {
    html.tol-reveal-reduced.tol-reveal-ready .tol-reveal {
        transition-duration: 0.35s !important;
    }

    html.tol-reveal-reduced.tol-reveal-ready .tol-reveal:not(.is-revealed) {
        transform: translate3d(0, 14px, 0) !important;
    }

    html.tol-reveal-reduced.tol-reveal-ready .tol-reveal.tol-reveal--section:not(.is-revealed) {
        transform: translate3d(0, 16px, 0) !important;
    }
}

/* Scroll táctil estable en landings (iOS/Android) */
html,
body {
    overscroll-behavior-y: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 767px) {
    html,
    body {
        touch-action: pan-y;
    }
}
