/*
Theme Name: tusaludbiobio
Author: wekum
Author URI: https://wekum.cl/
Theme URI: https://wekum.cl/
Tags: full-site-editing, block-patterns
Text Domain: tusaludbiobio
Requires at least: 6.4
Requires PHP: 7.4
Tested up to: 6.4
Version: 100.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* Styles intended only for the front.*/
html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}
.shadow-card{
    box-shadow: 0 0em 2em rgba(0, 0, 0, 0.05), 0 0 0px rgb(255, 255, 255), 0.3em 0.3em 1em rgb(0 0 0 / 0%)
}
/* Equipo: fotos en gris por defecto */
.equipo-img,
.equipo-img img {
  filter: grayscale(100%) !important;
  transition: filter 0.3s ease !important;
}

/* Al pasar el mouse vuelven a color */
.equipo-img:hover,
.equipo-img img:hover {
  filter: grayscale(0%) !important;
}

					/* Estilo FAQ*/

/* --- CONTENEDOR GENERAL DEL FAQ --- */
.faq-detalles summary {
  list-style: none;
}

/* Ocultar el triángulo nativo */
.faq-detalles summary::-webkit-details-marker {
  display: none;
}

/* --- BOTÓN DE LA PREGUNTA --- */
.faq-detalles summary {
  cursor: pointer;
  padding: 20px 0;
  display: flex;
  align-items: center;
  gap: 15px;
  border-bottom: 1px solid #e5e5e5;
}

/* TEXTO DE LA PREGUNTA */
.faq-detalles summary h3,
.faq-detalles summary p,
.faq-detalles summary span {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0;
  color: #0a3d66; /* azul del ejemplo */
}

/* --- ICONO CIRCULAR --- */
.faq-detalles summary::before {
  content: "+";
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #951b81; /* morado del ejemplo */
  color: #fff;
  font-size: 26px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

/* Al abrir (cambiar a "-") */
.faq-detalles[open] summary::before {
  content: "−";
  transform: rotate(180deg);
}

/* --- RESPUESTA --- */
.faq-detalles .faq-content {
  padding: 10px 0 20px 50px;
  font-size: 16px;
  color: #555;
  line-height: 1.6;
}

/* QUITAR PADDING NATIVO DEL BLOQUE DETAILS */
.faq-detalles {
  padding: 0 !important;
  margin-bottom: 0 !important;
}

				/* Barra lateral servicios*/

/* CARD AZUL */
.tsb-servicios-card {
  background: #647bb8;
  border-radius: 18px;
  padding: 30px 28px 40px;
  color: #ffffff;
}

/* TÍTULO "Servicios" */
.tsb-servicios-card .tsb-servicios-title {
  margin-top: 0;
  margin-bottom: 25px;
  font-size: 28px;
  font-weight: 800;
}

/* ÍTEMS DEL MENÚ (TODOS LOS H2 QUE NO SON EL TÍTULO) */
.tsb-servicios-card .wp-block-heading:not(.tsb-servicios-title) {
  display: block;
  padding: 10px 18px;
  border-radius: 12px;
  margin: 0 0 12px;
  font-size: 17px;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.15s ease, opacity 0.2s ease;
}

/* SERVICIO ACTIVO (TURQUESA) */
.tsb-servicios-card .wp-block-heading.is-active {
  background: #31c3c8;
  color: #ffffff;
}

/* HOVER SOLO EN LOS NO ACTIVOS */
.tsb-servicios-card .wp-block-heading:not(.is-active):hover {
  background: rgba(255, 255, 255, 0.18);
  transform: translateX(4px);
  cursor: pointer;
}
/* Evitar hover en el título "Servicios" */
.tsb-servicios-card .tsb-servicios-title:hover {
  background: none !important;
  transform: none !important;
  cursor: default !important;
}
/* Quitar subrayado de todos los enlaces del sitio */
a {
  text-decoration: none !important;
}

/* Quitar el subrayado también al pasar el mouse */
a:hover, a:focus, a:active {
  text-decoration: none !important;
}

                     /* Menu header estilo */
/* ---- HEADER GENERAL ---- */
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #ffffff;
  border-bottom: 1px solid #efefef;
}

/* LOGO */
.tsb-header-logo img {
  max-height: 52px;
  width: auto;
}

/* MENÚ */
.tsb-header-menu .wp-block-navigation__container {
  gap: 32px !important;
}

.tsb-header-menu a {
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50 !important;
  text-decoration: none;
  padding: 8px 0;
  transition: 0.2s;
}

.tsb-header-menu a:hover {
  color: #23c5cc !important; /* turquesa identitario */
}

/* CTA */
.tsb-header-cta a,
.tsb-header-cta.wp-block-button .wp-block-button__link {
  background: #23c5cc;
  color: #fff !important;
  padding: 10px 22px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 999px;
  transition: 0.25s ease;
}

.tsb-header-cta a:hover,
.tsb-header-cta.wp-block-button .wp-block-button__link:hover {
  background: #1ab5ba;
}

/* RESPONSIVE */
@media (max-width: 768px) {

  /* Logo más pequeño */
  .tsb-header-logo img {
    max-height: 42px;
  }

  /* Navegación hamburguesa */
  .wp-block-navigation__responsive-container-content a {
    font-size: 18px !important;
    padding: 12px 0 !important;
  }

  /* CTA dentro del menú desplegable */
  .tsb-header-cta {
    margin-top: 12px;
  }
}
/* Header normal, sin sticky */
header.wp-block-template-part {
  position: static;
  top: auto;
  z-index: 10;
  background: #ffffff;
  border-bottom: 1px solid #efefef;
  box-shadow: none;
}
/* Contenedor interno del header alineado al contenido del sitio */
header.wp-block-template-part > .wp-block-group {
  max-width: var(--wp--style--global--content-size);
  margin-inline: auto;
  padding-inline: 30px; /* ajusta si quieres más o menos aire lateral */
}

.ocultar-grupo {
    display: none !important;
}

.wp-block-heading a[href*="cuidadoras-tens"]::after {
    content: " (Próximamente)";
    font-size: 0.7em;
    font-weight: 300;
    opacity: 0.7;
}

/* Tarjeta base */
.servicio-card {
  border-radius: 18px;
  padding: 24px 24px 32px;
  transition: background-color 0.25s ease,
              box-shadow 0.25s ease,
              transform 0.25s ease,
              color 0.25s ease;
}

/* Hover: fondo morado, sombra y leve levantamiento */
.servicio-card:hover {
  background-color: #9B1B77; /* ajusta al morado exacto que usas */
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

/* Textos blancos al hacer hover */
.servicio-card:hover h2,
.servicio-card:hover h3,
.servicio-card:hover p,
.servicio-card:hover a,
.servicio-card:hover strong {
  color: #ffffff !important;
}

/* Iconos SVG cargados como IMG → a blanco */
.servicio-card:hover img {
  filter: brightness(0) invert(1);
}

/* Iconos SVG inline → a blanco */
.servicio-card:hover svg,
.servicio-card:hover svg * {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}
/* Fondo blanco en estado normal */
.servicio-card {
  background-color: #ffffff;   /* ← fondo blanco */
  border-radius: 18px;
  padding: 24px 24px 32px;
  transition: background-color 0.25s ease,
              box-shadow 0.25s ease,
              transform 0.25s ease,
              color 0.25s ease;
}
.servicio-card .proximamente-label {
  font-size: 14px;
  font-weight: 400;
  color: #9B1B77;
  margin-bottom: 4px;
}

.servicio-card:hover .proximamente-label {
  color: #ffffff;
  opacity: 0.8;
}

/* Hacer que cada tarjeta sea flex en columna */
.servicio-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* empuja el botón hacia abajo */
  min-height: 360px; /* AJUSTA este valor para igualar alturas */
}

/* Asegurar que "Más información" quede siempre abajo */
.servicio-card p:last-child {
  margin-top: auto;
}
/* Agregar flecha a todos los "Más información" */
.servicio-card a::after {
    content: " ›"; /* flecha */
    font-weight: 600;
    transition: transform 0.2s ease;
}

/* Si quieres animación suave al hover */
.servicio-card:hover a::after {
    transform: translateX(4px);
}
/* Contenedor general FAQ: más angosto y ordenado */
.faq-bloque {
  max-width: 900px;           /* hazlo más o menos ancho según te guste */
  margin-left: auto;
}

/* Título principal un poco más chico en esta sección */
.faq-bloque h2 {
  font-size: 30px;            /* antes parece más grande, puedes probar 28–32 */
  margin-bottom: 12px;
}

/* Subtítulos / preguntas del acordeón más compactos */
.faq-bloque h3,
.faq-bloque .wp-block-heading {
  font-size: 18px;
  margin: 0;
}

/* Bloques de cada pregunta: menos aire vertical */
.faq-bloque .wp-block-group {
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Texto de respuesta más pequeño y cómodo */
.faq-bloque p {
  font-size: 15px;
  line-height: 1.5;
}
.faq-bloque .faq-contenido {
  max-height: 220px;     /* alto visible de la respuesta */
  overflow-y: auto;      /* scroll interno si se pasa de ese alto */
  padding-right: 8px;    /* un poco de espacio para que no tape la barra */
}


								/* CONTACT FORM*/
/* ============================
   FORMULARIO CONTACTO TUSALUD
   ============================ */

.tsb-form-contacto {
  max-width: 520px;      /* ancho similar a la maqueta */
  margin: 0;
}

/* Filas del formulario: poquito espacio entre campos */
.tsb-form-contacto .tsb-row {
  margin-bottom: 10px;
}

.tsb-form-contacto .tsb-row:last-child {
  margin-bottom: 0;
}

/* Nombre y Apellido + Teléfono en la misma línea */
.tsb-form-contacto .tsb-row-2cols {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.tsb-form-contacto .tsb-row-2cols .tsb-field {
  flex: 1;
}

/* Wrapper interno sin márgenes raros */
.tsb-form-contacto .tsb-field,
.tsb-form-contacto .wpcf7-form-control-wrap {
  display: block;
  margin: 0;
}

/* ESTILO PASTILLA PARA TODOS LOS CAMPOS */
.tsb-form-contacto .wpcf7-form-control:not([type="submit"]) {
  width: 100%;
  padding: 12px 24px;
  box-sizing: border-box;
  border-radius: 999px;                 /* forma de pastilla */
  border: 1px solid #e4bfd7;            /* rosado suave aprox. de tu maqueta */
  background-color: transparent;
  font-size: 16px;
}

/* Selects: mantenemos la pastilla aunque el navegador los pinte distinto */
.tsb-form-contacto select.wpcf7-form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* FILA BOTÓN + TEXTO LEGAL (como en la maqueta) */
.tsb-form-contacto .tsb-row-submit {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 18px;
}

/* Botón Enviar tipo pastilla azul */
.tsb-form-contacto input[type="submit"] {
  border-radius: 999px;
  padding: 10px 32px;
  border: none;
  cursor: pointer;
  font-weight: 600;
}

/* Texto legal al lado derecho */
.tsb-form-contacto .tsb-legal {
  font-size: 0.8rem;
  line-height: 1.4;
}

/* MENSAJES DE ERROR MÁS PEQUEÑOS */
.tsb-form-contacto .wpcf7-not-valid-tip {
  font-size: 0.8rem;
  line-height: 1.3;
}

/* Mensaje global de CF7 (ok/error) también más discreto */
.wpcf7 form .wpcf7-response-output {
  font-size: 0.85rem;
}

/* --- FIX para que Nombre y Apellido + Teléfono queden en la misma línea --- */

.tsb-form-contacto .tsb-row-2cols {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px !important;   /* separación horizontal entre los dos campos */
    margin-bottom: 10px !important; /* separación inferior de la fila completa */
}

.tsb-form-contacto .tsb-row-2cols .tsb-field {
    flex: 1 !important;
}

/* Que el navegador no meta saltos raros */
.tsb-form-contacto .tsb-row-2cols br {
    display: none !important;
}

/* Para pantallas móviles, se apilan bonito */
@media (max-width: 768px) {
    .tsb-form-contacto .tsb-row-2cols {
        flex-direction: column !important;
        gap: 6px !important;
    }
}
/* 1) Quitar márgenes que mete el tema/CF7 dentro del formulario */
.tsb-form-contacto p {
  margin: 0;
}

/* 2) Espacio vertical entre filas del formulario */
.tsb-form-contacto .tsb-row {
  margin-bottom: 10px;   /* aquí mandas tú: 8px o 6px si lo quieres aún más juntito */
}

/* 3) Nombre y Apellido + Teléfono juntos en la MISMA FILA */
.tsb-form-contacto .tsb-row-2cols {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;              /* separación entre ambos campos (horizontal) */
}

/* Que los hijos (p, span, etc.) ocupen mitad y mitad */
.tsb-form-contacto .tsb-row-2cols > * {
  flex: 1;
  margin: 0;
}
/* Quitar márgenes automáticos dentro del formulario */
.tsb-form-contacto p {
  margin: 0;
}

/* Espacio vertical entre filas del formulario */
.tsb-form-contacto .tsb-row {
  margin-bottom: 8px; /* baja a 6px si los quieres aún más juntitos */
}

/* -------- Fila doble: Nombre y Apellido + Teléfono -------- */

.tsb-form-contacto .tsb-row-2cols {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;              /* separación HORIZONTAL entre los dos campos */
}

/* Cada campo ocupa la mitad del ancho */
.tsb-form-contacto .tsb-row-2cols > .wpcf7-form-control-wrap {
  flex: 1;
}

/* En móvil, que se apilen uno bajo el otro */
@media (max-width: 768px) {
  .tsb-form-contacto .tsb-row-2cols {
    flex-direction: column;
    gap: 6px;
  }
}
/* Fila doble: Nombre y Apellido + Teléfono */
.tsb-form-contacto .tsb-row-2cols {
    display: flex !important;
    flex-wrap: nowrap;
    gap: 12px;
}

.tsb-form-contacto .tsb-row-2cols .tsb-field {
    flex: 1 !important;
    margin: 0 !important;
}
/* --- Juntar "Nombre y Apellido" + "Teléfono" en la misma línea --- */

/* Que los párrafos del formulario tengan poco espacio entre sí */
.tsb-form-contacto form p {
  margin: 0 0 8px 0;
}

/* Primera pareja: Nombre y Apellido + Teléfono en dos columnas */
.tsb-form-contacto form p:has(.wpcf7-form-control-wrap.your-name),
.tsb-form-contacto form p:has(.wpcf7-form-control-wrap.your-phone) {
  display: inline-block;
  width: calc(50% - 6px);
  vertical-align: top;
}

/* Dar un pequeño espacio entre ambos */
.tsb-form-contacto form p:has(.wpcf7-form-control-wrap.your-name) {
  margin-right: 12px;
}

/* ==============================
   AJUSTES GLOBALES MOBILE (<=768px)
   ============================== */

@media (max-width: 768px) {

  /* 1. Respira mejor en los bordes (padding lateral) */
  .wp-site-blocks {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* 2. Títulos más cómodos en pantalla chica */
  h1,
  .wp-block-post-title {
    font-size: 1.9rem;
    line-height: 1.2;
  }

  h2 {
    font-size: 1.4rem;
    line-height: 1.3;
  }

  h3 {
    font-size: 1.2rem;
    line-height: 1.3;
  }

  /* 3. Cualquier bloque de columnas de WP se apila a 1 columna */
  .wp-block-columns {
    flex-wrap: wrap !important;
    gap: 16px;
  }

  .wp-block-columns > .wp-block-column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  /* 4. Imágenes siempre ajustadas al ancho */
  img {
    max-width: 100%;
    height: auto;
  }

  /* 5. Listas y párrafos con interlineado agradable */
  p,
  li {
    line-height: 1.6;
    font-size: 0.95rem;
  }
}
/* Ajustes específicos página Inicio en mobile */
@media (max-width: 768px) {

  /* Hero principal: centrado */
  body.page-id-21 .wp-block-group:first-of-type {
    text-align: center;
  }

  body.page-id-21 .wp-block-group:first-of-type .wp-block-buttons {
    justify-content: center;
  }

  /* Bloques de "Nuestros servicios" que sean 1 por fila */
  body.page-id-21 .wp-block-columns {
    margin-bottom: 12px;
  }
}
/* CONTACTO: ajustar fila doble en mobile */
@media (max-width: 768px) {
  .tsb-form-contacto .tsb-row-2cols {
    flex-direction: column;
    gap: 6px;
  }
}

/* Evitar que se ponga azul al hacer tap o hover */
header a,
header a:visited,
header a:hover,
header a:active,
header a:focus {
    color: #ffffff !important;   /* o el color que usas en tu botón */
}

/* Si el botón tiene un estilo específico */
header .wp-block-button__link,
header .wp-block-button__link:hover,
header .wp-block-button__link:active,
header .wp-block-button__link:focus {
    color: #ffffff !important;   /* texto blanco siempre */
}
/* ===== CARD / CONTENEDOR ===== */
.tsb-servicio-form {
  background: #f5f5f5;      /* gris claro del mockup */
  border-radius: 20px;      /* esquinas más redondeadas */
  padding: 32px 32px 24px;  /* más aire arriba y a los lados */
  max-width: 380px;
}

/* ===== TÍTULO "Quiero que me contacten" ===== */
.tsb-servicio-form .tsb-servicio-title {
  font-size: 2rem;          /* un poco más grande */
  line-height: 1.2;
  margin: 0 0 28px;
  font-weight: 700;
  color: #00579f;           /* azul fuerte del ejemplo */
}

/* ===== CAMPOS ===== */
.tsb-servicio-form .tsb-field {
  margin-bottom: 24px;      /* más espacio entre líneas */
}

/* línea inferior de los campos */
.tsb-servicio-form .wpcf7-form-control:not([type="submit"]) {
  width: 100%;
  border: none;
  border-bottom: 1.5px solid #333333;  /* línea más fina */
  border-radius: 0;
  padding: 6px 0 4px;
  background: transparent;
  font-size: 0.95rem;
  box-sizing: border-box;
}

/* estilo del placeholder (texto gris sobre la línea) */
.tsb-servicio-form ::placeholder {
  color: #8a8a8a;
  font-weight: 500;
}

/* ===== BOTÓN + TEXTO LEGAL ===== */
.tsb-servicio-form .tsb-row-submit {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}

/* botón "Contáctenme" tipo cápsula */
.tsb-servicio-form input[type="submit"] {
  border: none;
  border-radius: 999px;
  padding: 10px 32px;
  background: #5b6fbb;          /* ajusta si tu azul es otro */
  color: #ffffff;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
}

.tsb-servicio-form input[type="submit"]:hover {
  filter: brightness(0.95);
}

/* texto legal a la derecha del botón */
.tsb-servicio-form .tsb-legal {
  font-size: 0.75rem;
  line-height: 1.4;
}

/* ===== RESPONSIVE: en móvil se apila botón + texto ===== */
@media (max-width: 768px) {
  .tsb-servicio-form {
    max-width: 100%;
    padding: 24px 20px 20px;
  }

  .tsb-servicio-form .tsb-row-submit {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
/* 1) Devolver el color correcto al menú del header */
header .wp-block-navigation a,
header .wp-block-navigation a:visited,
header .wp-block-navigation a:hover,
header .wp-block-navigation a:active,
header .wp-block-navigation a:focus {
  color: #222222 !important; /* ajusta si tu menú antes era otro tono */
}

/* 2) Botón de WhatsApp del header: texto blanco siempre */
header .wp-block-button__link[href*="wa.me"],
header .wp-block-button__link[href*="wa.me"]:visited,
header .wp-block-button__link[href*="wa.me"]:hover,
header .wp-block-button__link[href*="wa.me"]:active,
header .wp-block-button__link[href*="wa.me"]:focus {
  color: #ffffff !important;
}

/* Quitar marco lateral en móviles */
@media (max-width: 782px) {
  html,
  body {
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  .wp-site-blocks {
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

.tsb-map-section {
  display: flex;
  align-items: stretch;
}

.tsb-map-section > .wp-block-column {
  flex: 1 1 50%;
}

.tsb-map-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 480px;
  overflow: hidden;
}

.tsb-map-wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 781px) {
  .tsb-map-section {
    flex-direction: column;
  }

  .tsb-map-wrapper {
    min-height: 320px;
  }
}

/* Versión escritorio: no tocamos nada */

/* Versión móvil: ocultar imagen de fondo del mapa */
@media (max-width: 781px) {
  .tsb-hero-mapa {
    background-image: none !important;
    background-color: #6378b5; /* color liso similar al fondo derecho */
  }

  /* Si usas un overlay con ::before, también lo apagamos */
  .tsb-hero-mapa::before {
    display: none !important;
  }
}

/* Reduce espacio entre filas del formulario */
.tsb-form-contacto .tsb-row {
  margin-bottom: 20px; /* antes seguro estaba 30–40px */
}

/* Junta más el botón con el input anterior */
.tsb-row-submit {
  margin-top: 10px !important;
  display: flex;
  align-items: center;
  gap: 12px; /* separa solo un poco el texto legal */
}

/* Botón más pegado arriba */
.tsb-submit {
  margin-top: 0 !important;
}

/* El texto legal queda más cerca del botón */
.tsb-legal {
  margin-top: 0 !important;
  line-height: 1.3;
  font-size: 13px;
  max-width: 260px;
}

/* Ajustes para móviles */
@media (max-width: 780px) {
  .tsb-row-submit {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  
  .tsb-legal {
    max-width: 100%;
  }
}

.tsb-submit {
  margin-top: 10px !important; /* pegado pero limpio */
}

.tsb-row-submit {
  margin-top: 10px !important;
  display: flex;
  flex-direction: column;
  gap: 6px; /* separación pequeña y elegante */
}

.tsb-legal {
  margin: 0 !important;
  padding: 0;
  line-height: 1.3;
  font-size: 13px;
}

.tsb-row-submit br {
  display: none !important;
}

.tsb-row-submit p {
  margin: 0 !important;
  padding: 0 !important;
}

.tsb-row-submit {
  display: flex;
  flex-direction: column; /* ✔ fuerza que el texto quede abajo */
  align-items: flex-start;
  gap: 6px; /* espacio pequeño entre botón y texto legal */
  margin-top: 10px !important;
}

.tsb-submit {
  margin-bottom: 0 !important;
}

.tsb-legal {
  margin: 0 !important;
  line-height: 1.3;
  font-size: 13px;
  max-width: 260px;
}

/* Fila del botón en formularios de servicios */
.tsb-servicio-form .tsb-row-submit {
  display: flex;
  flex-direction: column !important;   /* texto debajo del botón */
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 4px;
  margin-top: 12px !important;
}

/* Botón sin márgenes raros */
.tsb-servicio-form .tsb-submit {
  margin: 0 !important;
}

/* Texto legal debajo del botón, como bloque */
.tsb-servicio-form .tsb-legal {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3;
  font-size: 13px;
  max-width: 280px;
}

/* Fila del botón + texto legal */
.tsb-servicio-form .tsb-row-submit {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px; /* separa apenas el botón y el texto */
  margin-top: 10px !important;
}

/* Botón alineado y sin margen */
.tsb-servicio-form .tsb-submit {
  margin: 0 !important;
  padding: 0 !important;
}

/* Texto legal justo debajo del botón */
.tsb-servicio-form .tsb-legal {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25;
  font-size: 13px;
}
