div.planes-container{
    display: flex;
    flex-flow:row wrap;
    width:80%;
    justify-content: center;
    margin:auto;
}

div.planes-container .plan-fila{
    display:flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: stretch;
    width:100%;
}

div.planes-container .plan-fila .plan{
    width:calc(50% - 2rem);
    padding:0;
    min-width:390px;
    min-height:400px;
    margin:1.5rem 1rem;
    display:flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    flex: 1 1 390px;
    /*border: solid 1px aliceblue;*/
    /*box-shadow: 0 0 30px aliceblue;*/
    border-radius: 0 0 50px 50px;
}

div.planes-container .plan-fila .plan .plan-cuerpo{
    width:100%;
    height:100%;
    padding:0rem 2rem;
    border-radius: 0 0 50px 50px;
    background-color: white;
    border:solid 1px aliceblue;
    border: solid 1px aliceblue;
    box-shadow: 0 0 30px aliceblue;
    margin-top:auto;
    min-height: 400px;
    flex-flow: column wrap;
    display: flex;
    align-content: space-between;
}

div.planes-container .plan-fila .plan .plan-solicitar{
    width:100%;
    border-radius:50px;
    border: solid 1px aliceblue;
    z-index:5;
}

div.planes-container .plan-fila .plan .plan-detalles{
    padding:0.25rem 2rem;
    border-radius:15px;
    background-color: white;
    border:solid 1px aliceblue;
    font-size:1.55rem;
    text-align: center;
    box-shadow: 0 0 30px aliceblue;
    width:90%;
    margin:0 auto;
    cursor:pointer;
    background-color: #CFE8FF;
    border-top:none;
    transition: 0.3s;
}

div.planes-container .plan-fila .plan .plan-detalles:hover{
    background-color: #4ccdfe;
    transition: 0.3s;
}

div.planes-container .plan-fila .plan .ver-detalles{
    background-color: transparent;
    position: relative;
}

div.planes-container .plan-fila .plan .ver-detalles a{
    text-decoration: none;
    color:inherit;
    width:100%;
    height: 100%;
    display:block;
}

div.planes-container .plan-fila .plan ul{
    padding:0 calc(0% + 0.5rem) 0 3rem;
}

@media(max-width:750px){
    div.planes-container{
        width:97%;
    }
    
    div.planes-container .plan-fila .plan{
        min-width: 100%;
    }
}

div.planes-container .plan-fila .plan .price{
    text-align: center;
    font-size: 2rem;
    padding:0.5rem 0;
    width:80%;
    margin:auto auto 0;
    border-top:solid 4px #d1edf9;
}

div.planes-container .plan-fila .plan .button{
    display: block;
    width:100%;
    padding:1rem 0;
    text-align: center;
    background-color: #2b3c7c;
    color:white;
    text-decoration: none;
    font-size:1.75rem;
    border-radius:20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.05);
    cursor:pointer;
    transition: 0.2s;
}

div.planes-container .plan-fila .plan .button:hover{
    background-color: #ff5a36;
    transition:0.2s;    
}

.servicio{
    width:100%;
    padding:1rem 22% 3rem;
}

@media(max-width:1365px){
    .servicio{
        padding:1rem 15% 3rem;
    }
}

@media(max-width:1100px){
    .servicio{
        padding:1rem 7% 3rem;
    }
}

@media(max-width:700px){
    .servicio{
        padding:1rem 1.2rem 3rem;
    }
}

.servicio:nth-of-type(odd){
    background-color: #d1edf9;
}

.servicio:nth-of-type(even){
    background-color: #F1F7FB;
}

.plan-cuerpo h2{
    margin-top:3rem;
    font-size:3rem;
}

.plan-cuerpo h3{
    margin-top:2rem;
    font-size:1.77rem;
}

.plan-cuerpo ul{
    padding:0.5rem 0 0.7rem 2rem;
}

.servicio .servicio-precio, .servicio-expl .servicio-precio{
    font-size: 2.75rem;
    font-weight: bold;
    border-top: solid 3px #2b3c7c;
    margin-top: 3rem;
}

.servicio .servicio-resumen, .servicio-expl .servicio-resumen{
    font-size: 1.65rem;
    padding: 0.75rem 0;
    font-weight: bold;
}

.servicio a, .servicio-expl a{
    display:block;
    width:70%;
    margin:1rem 0;
    text-decoration: none;
    font-size:2.25rem;
    text-align: center;
    background-color: #2b3c7c;
    color:white;
    padding: 0.1rem 3rem;
    border-radius: 50px;
    transition: 0.2s;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.05);
}

.servicio a:hover, .servicio-expl a:hover{
    background-color: #ff5a36;
    transition: 0.2s;
}

.frase-destacada{
    margin-bottom:2rem;
}

.volver-arriba {
    width:15%;
    position: fixed;
    bottom: 20px;
    right: 25%;
    background-color: #2b3c7c;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    display: none;
    z-index: 999;
    font-size: 21px;
    transition: 0.25s;
    box-shadow: 0 5px 10px gray;
}

.volver-arriba:hover {
    background-color: #f6fbff;
    transition: 0.25s;
    color:#2b3c7c;
}

.volver-servicios{
    width:50%;
    font-size:1.35rem;
    margin:2rem auto -50px;
    padding:1.5rem 1rem;
    background-color: #d1edf9;
    text-align: center;
    border-radius: 25px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.05);
    cursor:pointer;
    transition: 0.25s;
    line-height: 1.75rem;
}

.volver-servicios:hover{
    background-color: aliceblue;
    box-shadow: inset 0 0 0 2px #d1edf9, 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: 0.25s;
}

.volver-servicios a{
    text-decoration: none;
    color:inherit;
}

@media(max-width:1120px){
    .volver-arriba{
        width:auto;
    }
}

@media(max-width:1200px){
    .volver-servicios{
        width:70%;
    }
}

@media(max-width:700px){
    .volver-servicios{
        width:90%;
    }
}

#overlay-formulario.oculto {
  display: none;
}

/* Fondo borroso y desactivado */
#contenido-principal.borroso {
  filter: blur(5px);
  pointer-events: none; /* Desactiva clics */
  user-select: none;    /* Opcional: impide selección */
}

/* Capa flotante que contiene el formulario */
#overlay-formulario {
  position: fixed;
  inset: 0;
  background-color: rgba(209, 237, 249, 0.75);
  backdrop-filter: blur(8px); /* Efecto de desenfoque */
  -webkit-backdrop-filter: blur(3px); /* Soporte para Safari */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  overflow-y: auto;
}

.div-form{
    width:auto;
    position: fixed;
    top:50%;
    left:50%;
    border:solid 1px black;
    transform: translate(-50%, -50%);
    background-color: white;
    padding:1rem;
}

#cerrar-form-info{
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.9rem;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.div-form .solicitar-informacion-form{
    width:100%;
    background-color: aliceblue;
    padding:1rem 7rem;
    margin-top:1rem;
}

.div-form .solicitar-informacion-form label{
    display:block;
    width:100%;
    max-width:500px;
    padding:0 0.75rem;
    margin-top:-5px;
}

.div-form .solicitar-informacion-form input{
    margin-bottom:1.5rem;
    margin-top:-5px;
    display: block;
    width:100%;
    max-width: 500px;
    padding:0.1rem 0.5rem;
}

.div-form .solicitar-informacion-form input[type=text], .div-form .solicitar-informacion-form input[type=email], .div-form .solicitar-informacion-form input[type=tel]{
    border:none;
    border-bottom: solid 1px #2b3c7c;
}

.div-form .solicitar-informacion-form input[type=text]:focus, .div-form .solicitar-informacion-form input[type=email]:focus, .div-form .solicitar-informacion-form input[type=tel]:focus{
    outline:3px solid #ff5a36;
    border-bottom: none;
}

.div-form .solicitar-informacion-form input[type=radio]{
    display:inline-block;
    width:auto;
    margin-bottom:1.5rem;
    margin-left:2rem;
    cursor:pointer;
}

.div-form .solicitar-informacion-form .radio-label{
    display:inline-block;
    width:auto;
    margin-bottom:1.5rem;
    padding-left:0;
    cursor: pointer;
}

@media(max-width:550px){
    .div-form .solicitar-informacion-form input[type=radio]{
        margin-left:0.2rem;
        margin-bottom:0.25rem;
    }
    
    .div-form .solicitar-informacion-form .radio-label{
        width:90%;
        margin-bottom:0.25rem;
    }
    
    .div-form .solicitar-informacion-form input[type="radio"]#whatsapp {
        margin-bottom: 1.5rem;
    }

    /* Y el segundo label asociado */
    .div-form .solicitar-informacion-form label[for="whatsapp"] {
        margin-bottom: 1.5rem;
    }
}

.div-form .solicitar-informacion-form div{
  position: relative;
  padding-left: 20px; /* espacio para la imagen */
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
}

.div-form .solicitar-informacion-form div:before{
  content: "";
  position: absolute;
  left: 0;
  top: -8px;
  width: 28px;
  height: 28px;
  background-image: url('https://www.vetstrategiesconsulting.com/images/no-checked.webp');
  background-size: cover;
  border-radius: 8px;
  transition: background-image 0.2s ease-in-out;  
  cursor: pointer;
}

.div-form .solicitar-informacion-form div input[type=checkbox]{
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
  cursor: pointer;
}

.div-form .solicitar-informacion-form div input[type=checkbox]:checked + .checkbox-label:before{
  content: "";
  position: absolute;
  left: 0;
  top: -8px;
  width: 28px;
  height: 28px;
  background-image: url('https://www.vetstrategiesconsulting.com/images/checked.webp');
  background-size: cover;
  border-radius: 8px;    
  cursor: pointer;
}

.div-form .solicitar-informacion-form div .checkbox-label{
  display: inline-block;
  margin: 0;
  margin-top:-5px;
  line-height: 1.5;
  font-size: 1rem;
  color: #333;
  cursor: pointer;
}

.div-form .solicitar-informacion-form textarea{
    width:100%;
    max-width: 500px;
    margin-bottom:2rem;
    resize:none;
    padding:0.1rem 1rem;
}

@media(max-width:1400px){
    .div-form{
        width:70%;    
    }
    
    .div-form .solicitar-informacion-form{
        padding:1rem 8rem;
    }
    
    .div-form .solicitar-informacion-form label, .div-form .solicitar-informacion-form textarea{
        max-width:100%
    }
    
    .div-form .solicitar-informacion-form input, .div-form .solicitar-informacion-form textarea{
        max-width:100%;
    }
}

@media(max-width:1100px){
    .div-form{
        width:80%;
        transform: translate(-50%, -44%);
    }
    
    .div-form .solicitar-informacion-form{
        padding:1rem 4rem;
    }
    
    .div-form .solicitar-informacion-form label, .div-form .solicitar-informacion-form textarea{
        max-width:100%
    }
    
    .div-form .solicitar-informacion-form input, .div-form .solicitar-informacion-form textarea{
        max-width:100%;
    }
}

@media(max-width:850px){
    .div-form{
        width:85%;
        transform: translate(-50%, 0);
        top:0;
    }
    
    .div-form .solicitar-informacion-form{
        padding:1rem 3rem;
    }
    
    .div-form .solicitar-informacion-form label, .div-form .solicitar-informacion-form textarea{
        max-width:100%
    }
    
    .div-form .solicitar-informacion-form input, .div-form .solicitar-informacion-form textarea{
        max-width:100%;
    }
}

@media(max-width:750px){
    .div-form{
        width:99%;
        transform: translate(0, 0);
        top:0;
        left:0;
    }
    
    .div-form .solicitar-informacion-form{
        padding:1rem 1.5rem;
    }
    
    .div-form .solicitar-informacion-form label, .div-form .solicitar-informacion-form textarea{
        max-width:100%
    }
    
    .div-form .solicitar-informacion-form input, .div-form .solicitar-informacion-form textarea{
        max-width:100%;
    }
}

.div-form .solicitar-informacion-form input[type=submit]{
    background-color: #2b3c7c;
    color:white;
    font-size:1.5rem;
    border-radius: 50px;
    padding:0.7rem 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.05);
    cursor:pointer;
    transition:0.2s;
}

.div-form .solicitar-informacion-form input[type=submit]:hover{
    background-color: #ff5a36;
    transition:0.2s;
}

.tabla-form{
    padding:2rem 20px 10px;
    overflow-x: auto;
}

.tabla-form table{
    width:100%;
    min-width:1800px;
    border-collapse: collapse;
    border:solid black 1px;
}

.tabla-form table tr th{
    background-color: #2b3c7c;
    color:white;
}

.tabla-form table tr td:nth-child(1){
    background-color: #2b3c7c;
    color:white;
    border:none;
}

.tabla-form table tr:nth-child(2), .tabla-form table tr:nth-child(4){
    background-color: #f6fbff;
}

.tabla-form table tr td{
    padding:1.5rem 5px;
    border:solid 1px lightgray;
}

/* Para navegadores WebKit (Chrome, Edge, Safari) */
.tabla-form::-webkit-scrollbar {
  width: 30px;
  height: 30px;
  border-radius: 30px;
}

.tabla-form::-webkit-scrollbar-track {
  background: aliceblue;
  border-radius: 30px;
}

.tabla-form::-webkit-scrollbar-thumb {
  background-color: #2b3c7c;
  border-radius: 30px;
  border: 1px solid aliceblue;
  background-clip: content-box;
}

.tabla-form::-webkit-scrollbar-thumb:hover {
  background-color: #1f2d5a;
}

/* Para Firefox */
.tabla-form {
  scrollbar-width: thin;
  scrollbar-color: #2b3c7c aliceblue;
}

.gracias-layout{
    width:100%;
    background-color: #f6fbff;
    display:flex;
    flex-flow:row wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom:-80px;
}

.gracias-layout img{
    width:50%;
    order:1;
}

.gracias-layout div{
    width:50%;
    align-items: center;
    padding:1rem 2rem;
    order:2;
}

.gracias-layout div .boton-volver{
    width:100%;
    padding:1rem 2rem;
    color:white;
    background-color:#2b3c7c;
    cursor:pointer;
    display:block;
    margin:2rem auto;
    text-align:center;
    font-size:2rem;
    text-decoration:none;
}

@media (max-width:1215px){
    .gracias-layout img{
        width:100%;
        order:2;
    }
    
    .gracias-layout div{
        width:100%;
        order:1;
    }
    
    .gracias-layout div .boton-volver{
        font-size:1.75rem;
        padding:0.75rem 1.3rem;
    }
}

.servicio-expl{
    background-color: none;
    width:100%;
    max-width:900px;
    padding:1rem 2rem;
    margin:auto;
}

@media(max-width:900px){
    .servicio-expl a{
        width:100%;
    }
}

.servicio-expl h2{
    font-size:2.5rem;
}

.servicio-expl h3{
    font-size: 2rem;
    margin-top:2rem;
}

.servicio-expl ul{
    width:100%;
    padding: 0.5rem 0 0.5rem 2.5rem;
}