.elementor-447 .elementor-element.elementor-element-e9070de{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-447 .elementor-element.elementor-element-fac6b56{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-fac6b56 *//* ============================================================
   PLAN CRONOS — CSS Páginas Legales + 404 + Responsive
   Pega en: Apariencia → Personalizar → CSS adicional
   ============================================================ */

/* ---- QUITAR BORDES NEGROS EN PÁGINAS LEGALES ------------ */
.page-id-aviso-legal .entry-content,
.page-id-politica-de-privacidad .entry-content,
.page-id-politica-de-cookies .entry-content,
.page-id-terminos-y-condiciones .entry-content,
.legal-content-wrap,
.elementor-widget-container {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Quitar bordes negros globales que puedan venir del tema */
.entry-content *,
.elementor-section *,
.e-con * {
  border-color: transparent !important;
}

/* Solo restaurar bordes en elementos que sí los necesitan */
.legal-id-card,
.legal-price-table,
.legal-price-table th,
.legal-price-table td,
.legal-footer-nav {
  border-color: #e8e7e2 !important;
}

.legal-body h2,
.legal-block {
  border-color: #c9a84c !important;
}

/* ---- CONTENEDOR GENERAL --------------------------------- */
.legal-page {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 2.5rem 2rem 5rem !important;
  background: #ffffff !important;
  border: none !important;
}

/* ---- CABECERA ------------------------------------------- */
.legal-header {
  border-bottom: 2px solid #e8e7e2 !important;
  padding-bottom: 1.75rem !important;
  margin-bottom: 2.25rem !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.legal-eyebrow {
  display: inline-block !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
  margin-bottom: 0.6rem !important;
}

.legal-header h1 {
  font-size: clamp(1.6rem, 4vw, 2.4rem) !important;
  color: #0f1f3d !important;
  margin-bottom: 0.4rem !important;
  line-height: 1.2 !important;
}

.legal-updated {
  font-size: 0.78rem !important;
  color: #9e9c96 !important;
}

/* ---- BODY TEXTO ----------------------------------------- */
.legal-body h2 {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #0f1f3d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 2.25rem 0 0.8rem !important;
  padding: 0.55rem 1rem !important;
  background: #f4f4f2 !important;
  border-left: 3px solid #c9a84c !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 0 4px 4px 0 !important;
}

.legal-body p {
  font-size: 0.93rem !important;
  color: #2c2c2a !important;
  line-height: 1.85 !important;
  margin-bottom: 1rem !important;
}

.legal-body ul {
  list-style: none !important;
  margin: 0.5rem 0 1.5rem !important;
  padding: 0 !important;
}

.legal-body ul li {
  position: relative !important;
  padding: 0.4rem 0 0.4rem 1.5rem !important;
  font-size: 0.93rem !important;
  color: #2c2c2a !important;
  line-height: 1.7 !important;
  border-bottom: 1px solid #f4f4f2 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.legal-body ul li:last-child {
  border-bottom: none !important;
}

.legal-body ul li::before {
  content: '—' !important;
  position: absolute !important;
  left: 0 !important;
  color: #c9a84c !important;
  font-weight: 700 !important;
}

.legal-body strong {
  color: #0f1f3d !important;
  font-weight: 600 !important;
}

.legal-body a {
  color: #1a3260 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.legal-body a:hover {
  color: #c9a84c !important;
}

/* ---- TARJETA DATOS ------------------------------------- */
.legal-id-card {
  background: #f9f6f0 !important;
  border: 1.5px solid #e8e7e2 !important;
  border-radius: 10px !important;
  padding: 1.4rem 1.75rem !important;
  margin: 1.5rem 0 2rem !important;
}

.legal-id-card p {
  margin: 0 !important;
  font-size: 0.88rem !important;
  color: #2c2c2a !important;
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid #e8e7e2 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.legal-id-card p:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* ---- BLOQUES DESTACADOS -------------------------------- */
.legal-block {
  background: #f9f6f0 !important;
  border-radius: 8px !important;
  padding: 1.4rem 1.75rem !important;
  margin: 1.25rem 0 !important;
  border-left: 3px solid #c9a84c !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
}

.legal-block h3 {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #0f1f3d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 0.75rem !important;
}

.legal-block p,
.legal-block li {
  color: #2c2c2a !important;
  font-size: 0.88rem !important;
}

/* ---- TABLA DE PRECIOS ---------------------------------- */
.legal-price-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1rem 0 2rem !important;
  font-size: 0.875rem !important;
  overflow: hidden !important;
  border-radius: 8px !important;
}

.legal-price-table thead tr {
  background: #0f1f3d !important;
}

.legal-price-table thead th {
  padding: 0.85rem 1rem !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  border: none !important;
}

.legal-price-table thead th:last-child {
  text-align: right !important;
}

.legal-price-table tbody tr {
  border-bottom: 1px solid #e8e7e2 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.legal-price-table tbody tr:nth-child(even) {
  background: #f9f6f0 !important;
}

.legal-price-table tbody td {
  padding: 0.72rem 1rem !important;
  color: #2c2c2a !important;
  border: none !important;
  border-bottom: 1px solid #e8e7e2 !important;
}

.legal-price-table tbody td:last-child {
  font-weight: 600 !important;
  color: #0f1f3d !important;
  text-align: right !important;
}

/* ---- NAV LEGAL INFERIOR -------------------------------- */
.legal-footer-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem 1.25rem !important;
  padding-top: 2rem !important;
  margin-top: 3rem !important;
  border-top: 1px solid #e8e7e2 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
}

.legal-footer-nav a {
  font-size: 0.78rem !important;
  color: #9e9c96 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
  border: none !important;
}

.legal-footer-nav a:hover,
.legal-footer-nav a.active {
  color: #0f1f3d !important;
  font-weight: 600 !important;
}

/* ============================================================
   PÁGINA 404
   ============================================================ */

.page-404 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 5rem 1.5rem !important;
  background: #ffffff !important;
  border: none !important;
  min-height: 55vh !important;
}

.page-404 .error-code {
  font-size: clamp(5rem, 20vw, 10rem) !important;
  font-weight: 800 !important;
  color: #e8e7e2 !important;
  line-height: 1 !important;
  margin-bottom: 1rem !important;
  letter-spacing: -0.04em !important;
}

.page-404 .error-code span {
  color: #c9a84c !important;
}

.page-404 h1 {
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  color: #0f1f3d !important;
  margin-bottom: 1rem !important;
}

.page-404 p {
  font-size: 1rem !important;
  color: #5c5a55 !important;
  max-width: 440px !important;
  margin: 0 auto 2rem !important;
  line-height: 1.7 !important;
}

.page-404 .btn-404 {
  display: inline-block !important;
  background: #0f1f3d !important;
  color: #ffffff !important;
  font-size: 0.925rem !important;
  font-weight: 500 !important;
  padding: 0.85rem 2rem !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin: 0.35rem !important;
  border: none !important;
  transition: background 0.2s, transform 0.15s !important;
}

.page-404 .btn-404:hover {
  background: #1a3260 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

.page-404 .btn-404--ghost {
  background: transparent !important;
  color: #0f1f3d !important;
  border: 1.5px solid #e8e7e2 !important;
}

.page-404 .btn-404--ghost:hover {
  border-color: #0f1f3d !important;
  background: transparent !important;
}

.page-404 .quick-links {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid #e8e7e2 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  width: 100% !important;
  max-width: 500px !important;
}

.page-404 .quick-links p {
  font-size: 0.72rem !important;
  color: #9e9c96 !important;
  margin-bottom: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.page-404 .quick-links ul {
  list-style: none !important;
  display: flex !important;
  justify-content: center !important;
  gap: 0.5rem 1.5rem !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.page-404 .quick-links li {
  border: none !important;
  padding: 0 !important;
}

.page-404 .quick-links li::before {
  display: none !important;
}

.page-404 .quick-links a {
  font-size: 0.875rem !important;
  color: #1a3260 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  border: none !important;
}

.page-404 .quick-links a:hover {
  color: #c9a84c !important;
}

/* ============================================================
   RESPONSIVE — MÓVIL Y TABLET
   ============================================================ */

/* ---- Tablet (max 1024px) -------------------------------- */
@media (max-width: 1024px) {

  /* Header */
  .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li > a {
    font-size: 0.875rem !important;
    padding: 0.4rem 0.6rem !important;
  }

  /* Secciones */
  .elementor-section .elementor-container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  /* Columnas en tablet: de 3 a 2 */
  .elementor-column.elementor-col-33 {
    width: 50% !important;
  }

  /* Páginas legales */
  .legal-page {
    padding: 2rem 1.5rem 4rem !important;
  }

  .legal-price-table {
    font-size: 0.82rem !important;
  }
}

/* ---- Móvil (max 767px) ---------------------------------- */
@media (max-width: 767px) {

  /* --- Tipografía base --- */
  body {
    font-size: 15px !important;
  }

  /* --- Secciones y contenedores --- */
  .elementor-section,
  .e-con {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .elementor-section .elementor-container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  /* --- Columnas en móvil: todas al 100% --- */
  .elementor-column {
    width: 100% !important;
  }

  /* --- Imágenes responsive --- */
  .elementor-widget-image img {
    width: 100% !important;
    height: auto !important;
  }

  /* --- Textos hero más pequeños --- */
  .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(1.5rem, 7vw, 2.2rem) !important;
    line-height: 1.25 !important;
  }

  /* --- Botones full width en móvil --- */
  .elementor-widget-button .elementor-button {
    width: 100% !important;
    text-align: center !important;
    padding: 0.85rem 1.5rem !important;
  }

  /* --- Grids de iconos/servicios en móvil --- */
  .elementor-icon-box-wrapper {
    flex-direction: column !important;
  }

  /* --- Espaciado entre secciones --- */
  .elementor-section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  /* --- Páginas legales en móvil --- */
  .legal-page {
    padding: 1.5rem 1rem 3rem !important;
  }

  .legal-header h1 {
    font-size: 1.5rem !important;
  }

  .legal-id-card {
    padding: 1rem !important;
  }

  .legal-id-card p {
    font-size: 0.82rem !important;
  }

  .legal-price-table {
    font-size: 0.75rem !important;
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .legal-price-table thead th,
  .legal-price-table tbody td {
    padding: 0.55rem 0.7rem !important;
    white-space: nowrap !important;
  }

  .legal-footer-nav {
    gap: 0.5rem 0.85rem !important;
  }

  .legal-footer-nav a {
    font-size: 0.72rem !important;
  }

  /* --- 404 en móvil --- */
  .page-404 {
    padding: 3rem 1rem !important;
  }

  .page-404 .btn-404 {
    display: block !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 0.4rem auto !important;
  }

  .page-404 .quick-links ul {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.75rem !important;
  }
}

/* ---- Móvil pequeño (max 480px) -------------------------- */
@media (max-width: 480px) {

  .elementor-section {
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }

  .legal-page {
    padding: 1.25rem 0.75rem 3rem !important;
  }

  .legal-block {
    padding: 1rem 1.1rem !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e9070de *//* ============================================================
   PLAN CRONOS — Páginas legales & 404
   Pega en: Apariencia → Personalizar → CSS adicional
   ============================================================ */

/* --- Contenedor general ---------------------------------- */
.legal-page {
  max-width: 860px;
  margin: 0 auto;
  padding: 3rem 1.5rem 5rem;
  background: #ffffff;
}

/* --- Cabecera de página ---------------------------------- */
.legal-header {
  border-bottom: 2px solid #e8e7e2;
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
}

.legal-eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c9a84c;
  margin-bottom: 0.75rem;
}

.legal-header h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  color: #0f1f3d !important;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.legal-updated {
  font-size: 0.8rem;
  color: #888780;
}

/* --- Títulos de sección H2 ------------------------------ */
.legal-body h2 {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: #0f1f3d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 2.5rem 0 0.85rem !important;
  padding: 0.6rem 1rem !important;
  background: #f4f4f2 !important;
  border-left: 3px solid #c9a84c !important;
  border-radius: 0 4px 4px 0 !important;
}

/* --- Párrafos -------------------------------------------- */
.legal-body p {
  font-size: 0.95rem !important;
  color: #2c2c2a !important;
  line-height: 1.85 !important;
  margin-bottom: 1.1rem !important;
}

/* --- Listas --------------------------------------------- */
.legal-body ul {
  list-style: none !important;
  margin: 0.5rem 0 1.5rem !important;
  padding: 0 !important;
}

.legal-body ul li {
  position: relative !important;
  padding: 0.35rem 0 0.35rem 1.5rem !important;
  font-size: 0.95rem !important;
  color: #2c2c2a !important;
  line-height: 1.7 !important;
  border-bottom: 1px solid #f4f4f2 !important;
}

.legal-body ul li:last-child {
  border-bottom: none !important;
}

.legal-body ul li::before {
  content: '—' !important;
  position: absolute !important;
  left: 0 !important;
  color: #c9a84c !important;
  font-weight: 700 !important;
}

/* --- Strong / negrita ----------------------------------- */
.legal-body strong {
  color: #0f1f3d !important;
  font-weight: 600 !important;
}

/* --- Enlaces -------------------------------------------- */
.legal-body a {
  color: #1a3260 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.legal-body a:hover {
  color: #c9a84c !important;
}

/* --- Tarjeta de datos identificativos ------------------- */
.legal-id-card {
  background: #f9f6f0 !important;
  border: 1.5px solid #e8e7e2 !important;
  border-radius: 10px !important;
  padding: 1.5rem 2rem !important;
  margin: 1.5rem 0 2rem !important;
}

.legal-id-card p {
  margin: 0 !important;
  font-size: 0.9rem !important;
  color: #2c2c2a !important;
  padding: 0.55rem 0 !important;
  border-bottom: 1px solid #e8e7e2 !important;
}

.legal-id-card p:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* --- Bloques destacados (cookies, planes) --------------- */
.legal-block {
  background: #f9f6f0 !important;
  border-radius: 8px !important;
  padding: 1.4rem 1.75rem !important;
  margin: 1.25rem 0 !important;
  border-left: 3px solid #c9a84c !important;
}

.legal-block h3 {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: #0f1f3d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 0.75rem !important;
}

.legal-block p,
.legal-block li {
  color: #2c2c2a !important;
  font-size: 0.9rem !important;
}

/* --- Tabla de precios ----------------------------------- */
.legal-price-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1rem 0 2rem !important;
  font-size: 0.875rem !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.legal-price-table thead tr {
  background: #0f1f3d !important;
}

.legal-price-table thead th {
  padding: 0.85rem 1.1rem !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.legal-price-table thead th:last-child {
  text-align: right !important;
}

.legal-price-table tbody tr {
  border-bottom: 1px solid #e8e7e2 !important;
  transition: background 0.15s !important;
}

.legal-price-table tbody tr:nth-child(even) {
  background: #f9f6f0 !important;
}

.legal-price-table tbody tr:hover {
  background: #f0ede6 !important;
}

.legal-price-table tbody td {
  padding: 0.75rem 1.1rem !important;
  color: #2c2c2a !important;
}

.legal-price-table tbody td:last-child {
  font-weight: 600 !important;
  color: #0f1f3d !important;
  text-align: right !important;
}

/* --- Navegación legal inferior -------------------------- */
.legal-footer-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem 1.5rem !important;
  padding-top: 2rem !important;
  margin-top: 3rem !important;
  border-top: 1px solid #e8e7e2 !important;
}

.legal-footer-nav a {
  font-size: 0.8rem !important;
  color: #888780 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.legal-footer-nav a:hover,
.legal-footer-nav a.active {
  color: #0f1f3d !important;
  font-weight: 600 !important;
}

/* ============================================================
   PÁGINA 404
   ============================================================ */

.page-404 {
  min-height: 55vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 5rem 1.5rem !important;
  background: #ffffff !important;
}

.page-404 .error-code {
  font-size: clamp(5rem, 18vw, 10rem) !important;
  font-weight: 800 !important;
  color: #e8e7e2 !important;
  line-height: 1 !important;
  margin-bottom: 1rem !important;
  letter-spacing: -0.04em !important;
}

.page-404 .error-code span {
  color: #c9a84c !important;
}

.page-404 h1 {
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  color: #0f1f3d !important;
  margin-bottom: 1rem !important;
}

.page-404 p {
  font-size: 1rem !important;
  color: #5c5a55 !important;
  max-width: 440px !important;
  margin: 0 auto 2rem !important;
  line-height: 1.7 !important;
}

.page-404 .btn-404 {
  display: inline-block !important;
  background: #0f1f3d !important;
  color: #ffffff !important;
  font-size: 0.925rem !important;
  font-weight: 500 !important;
  padding: 0.85rem 2rem !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  margin: 0.35rem !important;
  transition: background 0.2s, transform 0.15s !important;
}

.page-404 .btn-404:hover {
  background: #1a3260 !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

.page-404 .btn-404--ghost {
  background: transparent !important;
  color: #0f1f3d !important;
  border: 1.5px solid #e8e7e2 !important;
}

.page-404 .btn-404--ghost:hover {
  border-color: #0f1f3d !important;
  background: transparent !important;
  color: #0f1f3d !important;
}

.page-404 .quick-links {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid #e8e7e2 !important;
  width: 100% !important;
  max-width: 500px !important;
}

.page-404 .quick-links p {
  font-size: 0.75rem !important;
  color: #888780 !important;
  margin-bottom: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.page-404 .quick-links ul {
  list-style: none !important;
  display: flex !important;
  justify-content: center !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
  margin: 0 !important;
}

.page-404 .quick-links ul li::before {
  display: none !important;
}

.page-404 .quick-links a {
  font-size: 0.875rem !important;
  color: #1a3260 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.page-404 .quick-links a:hover {
  color: #c9a84c !important;
}

/* --- Responsive ----------------------------------------- */
@media (max-width: 600px) {
  .legal-page { padding: 2rem 1rem 4rem !important; }
  .legal-id-card { padding: 1.1rem !important; }
  .legal-price-table { font-size: 0.8rem !important; }
  .legal-price-table th,
  .legal-price-table td { padding: 0.6rem 0.7rem !important; }
  .legal-footer-nav { gap: 0.5rem 1rem !important; }
  .page-404 { padding: 3rem 1rem !important; }
}/* End custom CSS */