@font-face {
  font-family: 'Ringling';
  font-style: normal;
  font-weight: 300;
  src: url('/general/fuentes/ringling.woff') format('woff');
}

html,
body {
  font-family: 'Work Sans', sans-serif;
  font-size: 18px;
  color: #444;
  line-height: 1.6;
}

.clear:after {
  clear: both;
  content: ".";
  display: block;
  font-size: 0;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

:root {
  --rojo: #FC5755;
  --rojo-oscuro: #e04a48;
  --amarillo: #e1a433;
  --celeste: #00C2CA;
  --sombra-suave: 0 10px 30px rgba(0, 0, 0, 0.05);
  --sombra-fuerte: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.boton {
  background: var(--rojo);
  font-size: 18px; /* Más refinado */
  font-weight: 700;
  border: none;
  color: #FFF;
  border-radius: 50px; /* Siempre redondeados */
  padding: 15px 35px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  outline: none;
  user-select: none;
  box-shadow: 0 5px 15px rgba(252, 87, 85, 0.3);
}

.boton:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(252, 87, 85, 0.4);
  background: var(--rojo-oscuro);
}

.swal-button,
.swal-button:focus {
  background-color: var(--rojo) !important;
}

/* TRANSICIÓN DE PÁGINA */
body {
    opacity: 0;
}

body.page-loaded {
    opacity: 1;
    transition: opacity 0.3s ease-out; /* Solo entrada suave */
}

/* ANIMACIÓN PARA CONTENIDOS 'VER MAS' */
.animar-expandir {
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.65, 0, 0.35, 1); /* Mucho más suave y fluido */
    max-height: 0;
}

.animar-expandir.abierto {
    max-height: 2000px; /* Suficiente para el contenido */
}

.seccion-final-cta {
    margin: 80px auto 50px !important;
    width: 94% !important;
    max-width: 1400px !important;
    background: #fff !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05) !important;
    padding: 80px 40px !important;
    border-radius: 15px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.seccion-final-cta p {
    font-size: 1.2rem !important;
    color: #555 !important;
    max-width: 700px !important;
    margin: 0 auto 30px !important;
}

.seccion-final-cta .boton {
    margin: 0 auto !important;
    padding: 15px 40px !important;
    font-size: 1.1rem !important;
}