/* ============================================================
   ODTwin — Estilos del site ODTwin (estilo de plantilla 21)
   Se carga SOLO en las páginas del menú ODTwin.
   Identidad propia, distinta de arkisoft.es (no usar woopaloo).
   Sistema de clases prefijo: odtw-*
   ============================================================ */

/* ---------- Paleta ODTwin ----------
   --odtw-ink     #0a0e17  (casi negro azulado)
   --odtw-bg-alt  #f4f8f7  (fondo suave verdoso)
   --odtw-teal    #0d9488  (acento principal)
   --odtw-teal-d  #0f766e
   --odtw-line    #e2e8f0
*/

/* ===== Hero ===== */
.odtw-hero { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.odtw-hero-inner { text-align: center; }
.odtw-eyebrow {
  display: inline-block; font-size: .8rem; letter-spacing: .22em;
  text-transform: uppercase; color: #5eead4; margin-bottom: 22px;
  font-weight: 600;
}
.odtw-hero-title {
  font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.12; font-weight: 800;
  color: #ffffff; margin: 0 0 22px; letter-spacing: -0.01em;
}
.odtw-hero-sub {
  max-width: 760px; margin: 0 auto 34px; font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.6; color: #cbd5e1;
}
.odtw-hero-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ===== Botones ===== */
.odtw-btn {
  display: inline-block; padding: 13px 26px; border-radius: 999px;
  font-weight: 600; font-size: .98rem; text-decoration: none;
  transition: all .18s ease; line-height: 1.2;
}
.odtw-btn-primary { background: #0d9488; color: #ffffff; }
.odtw-btn-primary:hover { background: #0f766e; color: #fff; }
.odtw-btn-ghost { border: 1px solid rgba(255,255,255,.35); color: #ffffff; background: transparent; }
.odtw-btn-ghost:hover { border-color: #5eead4; color: #5eead4; }
.odtw-btn-soft { background: #0d9488; color: #fff; }
.odtw-btn-soft:hover { background: #0f766e; color: #fff; }
.odtw-btn-light { background: #ffffff; color: #0f766e; }
.odtw-btn-light:hover { background: #ccfbf1; color: #0f766e; }

/* ===== Secciones genéricas ===== */
.odtw-section { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.odtw-title {
  font-size: clamp(1.6rem, 2.6vw, 2.3rem); font-weight: 800; color: #0a0e17;
  text-align: center; margin: 0 0 16px; line-height: 1.15;
}
.odtw-sub {
  max-width: 820px; margin: 0 auto 40px; text-align: center;
  color: #475569; font-size: 1.05rem; line-height: 1.6;
}
.odtw-center { text-align: center; }
.odtw-title-light { color: #ffffff !important; }
.odtw-sub-light { color: #cbd5e1 !important; }

/* ===== 3 tarjetas (ideas fuerza) ===== */
.odtw-cards3 {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
/* ===== 4 tarjetas (debajo del hero) ===== */
.odtw-cards4 {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;
}
.odtw-card {
  background: #ffffff; border: 1px solid var(--odtw-line, #e2e8f0);
  border-radius: 18px; padding: 32px 26px; text-align: center;
  box-shadow: 0 8px 26px rgba(10,14,23,.05); transition: transform .18s ease, box-shadow .18s ease;
}
.odtw-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(10,14,23,.1); }
.odtw-card-icon {
  width: 62px; height: 62px; margin: 0 auto 18px; border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.7rem; color: #ffffff; background: #0d9488;
}
.odtw-icon-open { background: #0ea5e9; }
.odtw-icon-admin { background: #0a0e17; }
.odtw-card-title { font-size: 1.15rem; font-weight: 700; color: #0a0e17; margin: 0 0 10px; }
.odtw-card-text { color: #475569; line-height: 1.6; margin: 0; font-size: .96rem; }

/* ===== Cómo funciona (núcleo + capas) ===== */
.odtw-core-wrap { display: flex; flex-direction: column; align-items: center; gap: 26px; margin: 6px 0 36px; }
.odtw-core {
  background: #0a0e17; color: #fff; border-radius: 18px; padding: 22px 40px; text-align: center;
  display: flex; flex-direction: column; gap: 4px;
}
.odtw-core span { font-size: 1.2rem; font-weight: 700; }
.odtw-core small { color: #94a3b8; letter-spacing: .06em; text-transform: uppercase; font-size: .7rem; }
.odtw-layers { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; max-width: 820px; }
.odtw-layer {
  background: #ffffff; border: 1px solid #d7e6e2; color: #0f766e;
  padding: 10px 22px; border-radius: 999px; font-weight: 600; font-size: .92rem;
}

/* ===== Ventajas ===== */
.odtw-feat-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
}
.odtw-feat {
  background: #ffffff; border: 1px solid var(--odtw-line, #e2e8f0);
  border-radius: 16px; padding: 26px 22px;
}
.odtw-feat-ico {
  width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center;
  justify-content: center; background: #f0fdfa; color: #0d9488; font-size: 1.3rem; margin-bottom: 14px;
}
.odtw-feat h4 { font-size: 1.05rem; font-weight: 700; color: #0a0e17; margin: 0 0 8px; }
.odtw-feat p { color: #475569; font-size: .92rem; line-height: 1.55; margin: 0; }

/* ===== Ecosistema de soluciones ===== */
.odtw-eco-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 34px; }
.odtw-eco {
  background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px; padding: 24px 22px;
}
.odtw-eco h4 { color: #5eead4; font-size: 1.08rem; font-weight: 700; margin: 0 0 8px; }
.odtw-eco p { color: #cbd5e1; font-size: .92rem; line-height: 1.55; margin: 0; }

/* ===== CTA final ===== */
.odtw-cta { text-align: center; }
.odtw-title-cta { color: #ffffff; }
.odtw-sub-cta { color: rgba(255,255,255,.9); }

/* ===== Cabecera de página interior ===== */
.odtw-page-head { padding: 30px 0 6px; text-align: center; }
.odtw-eyebrow-dark { color: #0d9488; }
.odtw-page-title {
  font-size: clamp(1.9rem, 3.4vw, 3rem); font-weight: 800; color: #0a0e17;
  margin: 0 0 14px; line-height: 1.1; letter-spacing: -0.01em;
}
.odtw-page-sub {
  max-width: 820px; margin: 0 auto; color: #475569; font-size: 1.08rem; line-height: 1.6;
}

/* ===== Índice de familias de soluciones ===== */
.odtw-fam-head { text-align: center; padding: 26px 0 6px; }
.odtw-fam-title { font-size: 1.7rem; font-weight: 800; color: #0a0e17; margin: 0 0 8px; }
.odtw-fam-sub { color: #475569; font-size: 1rem; max-width: 720px; margin: 0 auto 8px; }
.odtw-fam-count {
  display: inline-block; background: #f0fdfa; color: #0f766e; border: 1px solid #ccfbf1;
  padding: 5px 16px; border-radius: 999px; font-weight: 600; font-size: .9rem; margin-top: 4px;
}
.odtw-fam-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 30px 0 10px;
}
.odtw-fam-card {
  background: #ffffff; border: 1px solid var(--odtw-line, #e2e8f0); border-radius: 18px;
  padding: 26px 22px 22px; display: flex; flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.odtw-fam-card:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(10,14,23,.08); border-color: #99f6e4; }
.odtw-fam-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.odtw-fam-ico {
  display: block; width: auto; height: auto; background: none; border-radius: 0;
  color: inherit; font-size: inherit; flex: 0 0 auto; margin: 0; padding: 0;
}
.odtw-fam-ico img { display: block; width: 160px; height: auto; }

.odtw-fam-n {
  background: #f8fafc; border: 1px solid #e2e8f0; color: #475569;
  font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  padding: 3px 10px; border-radius: 999px; white-space: nowrap;
}
.odtw-fam-card h3 { font-size: 1.12rem; font-weight: 700; color: #0a0e17; margin: 0 0 8px; line-height: 1.25; }
.odtw-fam-card p.odtw-fam-desc { color: #475569; font-size: .9rem; line-height: 1.55; margin: 0 0 14px; flex: 1 1 auto; }
.odtw-fam-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.odtw-chip {
  background: #f8fafc; border: 1px solid #e2e8f0; color: #334155;
  font-size: .74rem; padding: 3px 10px; border-radius: 999px;
}
.odtw-fam-link {
  font-size: .9rem; font-weight: 600; color: #0d9488; text-decoration: none;
  border-top: 1px solid #f1f5f9; padding-top: 14px; margin-top: auto;
}
.odtw-fam-link:hover { color: #0f766e; text-decoration: underline; }

/* ===== Ventajas de la plataforma ===== */
.odtw-adv-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 30px 0 10px;
}
.odtw-adv {
  background: #ffffff; border: 1px solid var(--odtw-line, #e2e8f0); border-radius: 18px;
  padding: 26px 22px; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.odtw-adv:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(10,14,23,.08); border-color: #99f6e4; }
.odtw-adv-ico {
  width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center;
  justify-content: center; background: #f0fdfa; color: #0d9488; font-size: 1.5rem; margin-bottom: 14px;
}
.odtw-adv h3 { font-size: 1.1rem; font-weight: 700; color: #0a0e17; margin: 0 0 8px; line-height: 1.25; }
.odtw-adv p { color: #475569; font-size: .92rem; line-height: 1.55; margin: 0; }

/* ===== Roadmap / línea de tiempo ===== */
.odtw-tl { position: relative; max-width: 860px; margin: 30px auto 10px; padding: 0 20px; }
.odtw-tl::before {
  content: ""; position: absolute; left: 50%; top: 0; bottom: 0;
  width: 3px; transform: translateX(-50%); background: #d7e6e2; border-radius: 2px;
}
.odtw-tl-item { position: relative; width: 50%; padding: 0 34px 40px; box-sizing: border-box; }
.odtw-tl-item:nth-child(odd) { left: 0; text-align: right; }
.odtw-tl-item:nth-child(even) { left: 50%; text-align: left; }
.odtw-tl-dot {
  position: absolute; top: 4px; width: 16px; height: 16px; border-radius: 50%;
  background: #0d9488; border: 3px solid #ffffff; box-shadow: 0 0 0 2px #0d9488;
}
.odtw-tl-item:nth-child(odd) .odtw-tl-dot { right: -8px; }
.odtw-tl-item:nth-child(even) .odtw-tl-dot { left: -8px; }
.odtw-tl-card {
  display: inline-block; text-align: left; background: #ffffff;
  border: 1px solid #e2e8f0; border-radius: 16px; padding: 18px 20px;
  box-shadow: 0 6px 18px rgba(10,14,23,.05);
}
.odtw-tl-item:nth-child(odd) .odtw-tl-card { text-align: left; }
.odtw-tl-date {
  display: inline-block; background: #0a0e17; color: #5eead4; font-weight: 700;
  font-size: .78rem; letter-spacing: .06em; text-transform: uppercase;
  padding: 4px 12px; border-radius: 999px; margin-bottom: 10px;
}
.odtw-tl-state {
  display: inline-block; margin-left: 6px; font-size: .74rem; font-weight: 700;
  padding: 4px 10px; border-radius: 999px;
}
.odtw-tl-state-done { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; }
.odtw-tl-state-next { background: #ecfeff; color: #0e7490; border: 1px solid #a5f3fc; }
.odtw-tl-state-future { background: #f8fafc; color: #64748b; border: 1px solid #e2e8f0; }
.odtw-tl-card h3 { font-size: 1.08rem; font-weight: 700; color: #0a0e17; margin: 0 0 6px; }
.odtw-tl-card p { color: #475569; font-size: .9rem; line-height: 1.55; margin: 0; }

/* Hito destacado (liberación plataforma) */
.odtw-tl-item.odtw-tl-featured { margin-top: 6px; }
.odtw-tl-featured .odtw-tl-dot {
  width: 22px; height: 22px; background: #0a0e17; border: 3px solid #fff;
  box-shadow: 0 0 0 2px #0a0e17; top: 0;
}
.odtw-tl-item:nth-child(odd).odtw-tl-featured .odtw-tl-dot { right: -11px; }
.odtw-tl-item:nth-child(even).odtw-tl-featured .odtw-tl-dot { left: -11px; }
.odtw-tl-featured .odtw-tl-card {
  background: linear-gradient(135deg, #0a0e17 0%, #134e4a 100%);
  border: none; box-shadow: 0 12px 30px rgba(10,14,23,.25);
}
.odtw-tl-featured .odtw-tl-card h3 { color: #ffffff; font-size: 1.2rem; }
.odtw-tl-featured .odtw-tl-card p { color: #cbd5e1; }
.odtw-tl-featured .odtw-tl-date { background: #0d9488; color: #ffffff; }
.odtw-tl-featured .odtw-tl-state-next { background: #5eead4; color: #0a0e17; border: none; }
.odtw-tl-badge {
  display: inline-block; background: #5eead4; color: #0a0e17; font-weight: 800;
  font-size: .72rem; letter-spacing: .1em; text-transform: uppercase;
  padding: 3px 10px; border-radius: 999px; margin-bottom: 8px;
  margin-right: 8px;
}

/* Bloque "futuro" */
.odtw-future { margin: 20px 0 10px; }
.odtw-future-box {
  background: #f8fafc; border: 1px dashed #cbd5e1; border-radius: 16px;
  padding: 22px 24px; text-align: center; color: #475569; font-size: .96rem;
}
.odtw-future-box strong { color: #0a0e17; }
.odtw-future-box .odtw-btn { margin-top: 16px; }

/* Timeline responsive */
@media (max-width: 720px) {
  .odtw-tl::before { left: 8px; }
  .odtw-tl-item, .odtw-tl-item:nth-child(odd), .odtw-tl-item:nth-child(even) {
    width: 100%; left: 0; text-align: left; padding: 0 0 30px 30px;
  }
  .odtw-tl-item:nth-child(odd) .odtw-tl-dot, .odtw-tl-item:nth-child(even) .odtw-tl-dot { left: 0; right: auto; }
}

/* ===== Hero (imagen home-odtwin a todo el ancho, texto a la izquierda) ===== */
#section-id-1870000000001 {
  padding-bottom: 0 !important;
}
#section-id-1870000000001 .sppb-row-container {
  max-width: none !important;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
#section-id-1870000000001 .sppb-row {
  margin-left: 0;
  margin-right: 0;
}
#section-id-1870000000001 .sppb-col-md-12 {
  padding-left: 0;
  padding-right: 0;
}
.odtw-hero2 {
  position: relative;
  background-color: #ffffff;
  background-image: url('/images/odtwin/home/home-odtwin2.jpg');
  /*background-image: url('/images/ap-smart-layerslider/homepage/hero-odtwin.jpg');*/
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  min-height: 540px;
  display: flex;
  align-items: center;
}
.odtw-hero2::before {
  content: "";
  position: absolute; inset: 0;
  /*
  background: linear-gradient(90deg, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .92) 38%, rgba(255, 255, 255, .65) 65%, rgba(255, 255, 255, .15) 100%);
  */
}
.odtw-hero2-inner {
  position: relative; z-index: 1;
  width: 100%; max-width: 1140px; margin: 0 auto; padding: 60px 30px;
}
.odtw-hero2-eyebrow {
  display: inline-block; font-size: .8rem; letter-spacing: .22em;
  text-transform: uppercase; color: #0f766e; font-weight: 600; margin-bottom: 18px;
}
.odtw-hero2-title {
  font-size: clamp(1.9rem, 3.6vw, 3.1rem); line-height: 1.12; font-weight: 800;
  color: #0a0e17; margin: 0 0 20px; max-width: 720px; letter-spacing: -0.01em;
}
.odtw-hero2-title span { color: #0d9488; }
.odtw-hero2-sub {
  color: #475569; font-size: clamp(1rem, 1.3vw, 1.15rem); line-height: 1.6;
  margin: 0 0 30px; max-width: 640px;
}
.odtw-hero2-sub strong { color: #0d9488; }
.odtw-hero2-buttons { display: flex; gap: 14px; flex-wrap: wrap; }
.odtw-hero2 .odtw-btn-ghost { border-color: #0d9488; color: #0d9488; }
.odtw-hero2 .odtw-btn-ghost:hover { background: #f0fdfa; color: #0f766e; border-color: #0f766e; }

/* Hero responsive: en pantallas < 990px la imagen desaparece y el texto se centra */
@media (max-width: 989.98px) {
  .odtw-hero2 {
    background-image: none;
    background-color: #ffffff;
  }
  .odtw-hero2::before { background: none; }
  .odtw-hero2-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .odtw-hero2-title,
  .odtw-hero2-sub {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .odtw-hero2-buttons {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ===== FAQ / Preguntas frecuentes ===== */
.odtw-faq-wrap { max-width: 860px; margin: 30px auto 10px; }
.odtw-faq-block { margin-bottom: 34px; }
.odtw-faq-block-title {
  font-size: 1.35rem; font-weight: 800; color: #0a0e17;
  margin: 0 0 16px; padding-bottom: 10px; border-bottom: 2px solid #e2e8f0;
  display: flex; align-items: center; gap: 10px;
}
.odtw-faq-block-title .odtw-faq-ico {
  width: 34px; height: 34px; border-radius: 10px; display: inline-flex;
  align-items: center; justify-content: center; background: #f0fdfa;
  color: #0d9488; font-size: 1.1rem; flex: 0 0 auto;
}
.odtw-faq {
  background: #ffffff; border: 1px solid #e2e8f0; border-radius: 14px;
  margin-bottom: 10px; overflow: hidden; transition: border-color .18s ease;
}
.odtw-faq[open] { border-color: #99f6e4; }
.odtw-faq summary {
  cursor: pointer; list-style: none; padding: 16px 20px;
  font-weight: 600; font-size: .98rem; color: #0a0e17;
  display: flex; justify-content: space-between; align-items: center; gap: 14px;
}
.odtw-faq summary::-webkit-details-marker { display: none; }
.odtw-faq summary::after {
  content: "+"; font-size: 1.4rem; font-weight: 400; color: #0d9488;
  line-height: 1; flex: 0 0 auto; transition: transform .18s ease;
}
.odtw-faq[open] summary::after { content: "–"; }
.odtw-faq-body { padding: 0 20px 18px; }
.odtw-faq-body p { color: #475569; font-size: .94rem; line-height: 1.6; margin: 0 0 8px; }
.odtw-faq-body p:last-child { margin-bottom: 0; }
.odtw-faq-body a { color: #0d9488; font-weight: 600; }

/* ===== Responsive ===== */
@media (max-width: 1100px) {
  .odtw-cards4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .odtw-cards3, .odtw-cards4, .odtw-feat-grid, .odtw-eco-grid, .odtw-fam-grid, .odtw-adv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .odtw-cards3, .odtw-cards4, .odtw-feat-grid, .odtw-eco-grid, .odtw-fam-grid, .odtw-adv-grid { grid-template-columns: 1fr; }
}

.sp-default-logo {
    max-height: 40px !important;    
}

/* ===== Menú superior: ítem activo en verde ODTwin (override del preset azul) ===== */
#sp-header #sp-menu .sp-megamenu-parent > li.sp-menu-item.current-item > a,
#sp-header #sp-menu .sp-megamenu-parent > li.sp-menu-item.active > a,
#sp-header #sp-menu .sp-megamenu-parent > li.current-item.active > a,
#sp-header #sp-menu .sp-megamenu-parent > li.sp-has-child.active > a {
  color: #0d9488 !important;
}
#sp-header #sp-menu .sp-megamenu-parent > li.sp-menu-item.current-item > a:hover,
#sp-header #sp-menu .sp-megamenu-parent > li.sp-menu-item.active > a:hover {
  color: #0f766e !important;
}

/* ===== Submenús (dropdown) del menú: seleccionado y hover en verde ODTwin =====
   preset4.css pone fondo azul #22a9e1 a los items del dropdown; lo pasamos al verde ODTwin. */
#sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a,
#sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item.active > a,
#sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item.active:hover > a {
  color: #ffffff !important;
  background-color: #0d9488 !important;
  background-color: rgba(13, 148, 136, 0.92) !important;
}
#sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item a:hover {
  color: #ffffff !important;
  background-color: #0f766e !important;
}
#sp-header.color #sp-menu .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner li.sp-menu-item.current-item > a,
#sp-header.color #sp-menu .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner li.sp-menu-item.current-item.active > a {
  color: #ffffff !important;
  background-color: #0d9488 !important;
}
#sp-header.color #sp-menu .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner li.sp-menu-item a:hover {
  color: #ffffff !important;
  background-color: #0f766e !important;
}

/* ===== Paginador del foro Kunena: horizontal y en verde ODTwin =====
   template.css fuerza .pagination { display: table } -> los items se apilan en vertical. */
#kunena .pagination {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0.4rem 0;
  padding: 0;
  list-style: none;
}
#kunena .pagination li {
  display: inline-flex;
  margin: 0;
}
#kunena .pagination li.page-item .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  padding: 0.28rem 0.65rem;
  border: 1px solid #d7e6e2;
  border-radius: 8px;
  background: #ffffff;
  color: #0f766e;
  font-weight: 600;
  line-height: 1.2;
}
#kunena .pagination li.page-item.disabled .page-link {
  color: #94a3b8;
  background: #f8fafc;
  border-color: #e2e8f0;
  opacity: 1;
}
#kunena .pagination li.page-item.active .page-link {
  background: #0d9488;
  border-color: #0d9488;
  color: #ffffff;
}
#kunena .pagination li.page-item:not(.disabled):not(.active) .page-link:hover {
  background: #ccfbf1;
  border-color: #0d9488;
  color: #0f766e;
}

#kunena select.form-select {
  display:none !important;
}
#kunena .pagination-container-links.pt-4{
    display:none !important;
}

.sp-megamenu-parent >li.sp-has-child>a:after {
    position: absolute;
    right: -5px;
    top: 0px;
}

/* ===== Footer compacto ODTwin (odtf-*) ===== */
.odtf {
  text-align: center;
  padding: 4px 0 2px;
  color: #adb5bd;
}
.odtf-brand {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.odtf-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
.odtf-ico {
  height: 30px;
  width: auto;
}
.odtf-name {
  color: #ffffff;
  font-size: 21px;
  font-weight: 800;
  letter-spacing: 0.4px;
}
.odtf-tag {
  color: #adb5bd;
  font-size: 13.5px;
  line-height: 1.5;
  margin: 8px auto 12px;
  max-width: 460px;
}
.odtf ul {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.odtf ul li {
  margin: 0;
  line-height: 1.6;
}
.odtf ul li:not(:last-child)::after {
  content: "·";
  margin: 0 9px;
  color: #4b5563;
}
.odtf-nav a {
  color: #e6e9ed;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
}
.odtf-nav a:hover {
  color: #0d9488;
}
.odtf-topics li {
  color: #8a919b;
  font-size: 12.5px;
}
.odtf-legal {
  margin: 4px 0 16px !important;
}
.odtf-legal a {
  color: #8a919b;
  font-size: 12.5px;
  text-decoration: none;
}
.odtf-legal a:hover {
  color: #0d9488;
}
.odtf-cta {
  display: inline-block;
  margin: 0 0 16px;
  padding: 9px 22px;
  border-radius: 999px;
  background: #0d9488;
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 0.2s ease;
}
.odtf-cta:hover {
  background: #0f766e;
  color: #ffffff;
}
.odtf-copy {
  color: #6b7280;
  font-size: 12.5px;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
@media (max-width: 575px) {
  .odtf ul li:not(:last-child)::after { margin: 0 6px; }
  .odtf-ico { height: 26px; }
}

/* ===== Sección "¿Qué es ODTwin?" (home): título + imagen + línea inferior ===== */
.odtw-qeo {
  text-align: center;
  padding: 0;
}
.odtw-qeo-title {
  margin: 0 0 24px;
  font-size: 36px;
  line-height: 1.15;
  font-weight: 800;
  letter-spacing: -0.5px;
  color: #0a0e17;
}
.odtw-qeo img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.odtw-qeo-caption {
  margin: 20px auto 0;
  font-size: 17px;
  font-weight: 600;
  color: #0f766e;
  letter-spacing: 0.2px;
}
@media (max-width: 991px) {
  .odtw-qeo-title { font-size: 30px; }
}

/* ===== Secciones bajo "Qué es ODTwin" (home) ===== */
.odtw-sec-kicker {
  text-align: center; margin: 0 0 8px;
  font-size: 13px; font-weight: 700; letter-spacing: 2.5px;
  text-transform: uppercase; color: #0d9488;
}
.odtw-sec-title {
  text-align: center; margin: 0 0 12px;
  font-size: 34px; line-height: 1.15; font-weight: 800;
  letter-spacing: -0.5px; color: #0a0e17;
}
.odtw-sec-sub {
  text-align: center; max-width: 760px; margin: 0 auto 34px;
  color: #475569; font-size: 16.5px; line-height: 1.6;
}

/* Modalidades: ODTwin gestionado / integrado */
.odtw-uso-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px;
  max-width: 980px; margin: 0 auto;
}
.odtw-uso {
  background: #ffffff; border: 1px solid #e2e8f0; border-radius: 20px;
  padding: 34px 30px; box-shadow: 0 12px 32px rgba(10, 14, 23, 0.07);
}
.odtw-uso-badge {
  display: inline-block; background: #0d9488; color: #fff;
  padding: 6px 14px; border-radius: 999px;
  font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.6px; margin-bottom: 14px;
}
.odtw-uso h3 { font-size: 22px; color: #0a0e17; margin: 0 0 10px; font-weight: 800; }
.odtw-uso p { color: #475569; font-size: 15.5px; line-height: 1.6; margin: 0; }

/* Cita / afirmación destacada */
.odtw-quote {
  border-left: 4px solid #0d9488; background: #f0fdfa;
  padding: 18px 24px; border-radius: 0 16px 16px 0;
  font-size: 18px; line-height: 1.55; font-weight: 600; color: #134e4a;
  max-width: 880px; margin: 0 auto 22px;
}
.odtw-lead {
  color: #475569; font-size: 16px; line-height: 1.7;
  max-width: 880px; margin: 0 auto;
}
.odtw-chip-row {
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
  margin-top: 20px;
}
.odtw-chip {
  border: 1px solid #d7e6e2; color: #0f766e; background: #ffffff;
  padding: 8px 16px; border-radius: 999px;
  font-size: 13.5px; font-weight: 600;
}

/* Capacidades integradas (tareas) */
.odtw-cap-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
  max-width: 1060px; margin: 0 auto;
}
.odtw-cap {
  background: #ffffff; border: 1px solid #e2e8f0; border-radius: 14px;
  padding: 18px 16px; display: flex; gap: 10px; align-items: flex-start;
}
.odtw-cap::before { content: "\2713"; color: #0d9488; font-weight: 800; flex: 0 0 auto; }
.odtw-cap span { color: #334155; font-size: 14.5px; font-weight: 600; line-height: 1.35; }

/* Ecosistema de soluciones (parrilla) */
.odtw-sol-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
  max-width: 1020px; margin: 0 auto 30px;
}/* ===== Imágenes / iconos 3D (home) ===== */
.odtw-card-img {
  width: 160px; height: 132px; object-fit: contain;
  margin: 0 auto 16px; display: block;
}
.odtw-sec-img {
  width: 340px; max-width: 100%; height: auto;
  margin: 0 auto 26px; display: block;
}
.odtw-sec-img-sm {
  width: 280px; max-width: 100%; height: auto;
  margin: 0 auto 22px; display: block;
}

/* ===== Capacidades integradas (tarjetas con imagen + 2 tareas) ===== */
.odtw-cap4 {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
  max-width: 1180px; margin: 0 auto;
}
.odtw-cap4-card {
  background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px;
  padding: 24px 16px 18px; text-align: center;
  box-shadow: 0 8px 24px rgba(10, 14, 23, 0.05);
}
.odtw-cap4-card img {
  width: 160px; height: 120px; object-fit: contain;
  margin: 0 auto 8px; display: block;
}
.odtw-cap4-card ul {
  list-style: none; margin: 10px 0 0; padding: 0; text-align: left;
}
.odtw-cap4-card ul li {
  position: relative; padding-left: 22px;
  color: #334155; font-size: 14px; font-weight: 600;
  line-height: 1.4; margin-bottom: 7px;
}
.odtw-cap4-card ul li:last-child { margin-bottom: 0; }
.odtw-cap4-card ul li::before {
  content: "\2713"; position: absolute; left: 0; top: 0;
  color: #0d9488; font-weight: 800;
}
@media (max-width: 1100px) {
  .odtw-cap4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .odtw-cap4 { grid-template-columns: 1fr; }
}

/* ===== Páginas de detalle de grupo de soluciones (hero + tarjetas) ===== */
.odtw-dhero { text-align: center; padding: 10px 0 30px; }
.odtw-dhero-kicker {
  margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: 2.5px;
  text-transform: uppercase; color: #0d9488;
}
.odtw-dhero-title {
  margin: 0 0 12px; font-size: 38px; line-height: 1.12; font-weight: 800;
  letter-spacing: -0.5px; color: #0a0e17;
}
.odtw-dhero-sub {
  max-width: 720px; margin: 0 auto 18px; color: #475569; font-size: 17px; line-height: 1.6;
}
.odtw-dhero-img {
  width: 190px; height: auto; display: block; margin: 0 auto 16px;
}
.odtw-dhero-count {
  display: inline-block; background: #f0fdfa; color: #0f766e;
  border: 1px solid #ccfbf1; padding: 5px 16px; border-radius: 999px;
  font-weight: 600; font-size: .9rem;
}

/* Tarjetas de solución con badge de estado */
.odtw-sol-grid2 {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
  max-width: 1180px; margin: 0 auto;
}
.odtw-solcard {
  background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px;
  padding: 22px 20px; display: flex; flex-direction: column;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.odtw-solcard:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(10,14,23,.08); border-color: #99f6e4; }
.odtw-solcard-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.odtw-solcard-top h3 { font-size: 1.04rem; font-weight: 700; color: #0a0e17; margin: 0; line-height: 1.3; }
.odtw-solcard-buyer { color: #0d9488; font-size: .78rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; margin: 0 0 8px; }
.odtw-solcard-desc { color: #475569; font-size: .92rem; line-height: 1.55; margin: 0; }

/* Badges de estado */
.odtw-badge {
  display: inline-block; white-space: nowrap; flex: 0 0 auto;
  font-size: .7rem; font-weight: 700; letter-spacing: .03em;
  padding: 4px 10px; border-radius: 999px; line-height: 1.2;
}
.odtw-badge-pend  { background: #e2e8f0; color: #475569; }
.odtw-badge-dispo { background: #0d9488; color: #ffffff; }
.odtw-badge-2027  { background: #f59e0b; color: #ffffff; }

@media (max-width: 1100px) {
  .odtw-sol-grid2 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .odtw-sol-grid2 { grid-template-columns: 1fr; }
  .odtw-dhero-title { font-size: 30px; }
}


.odtw-sol {
  background: #ffffff; border: 1px solid #d7e6e2; border-radius: 16px;
  padding: 24px 20px; text-align: center; text-decoration: none; display: block;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.odtw-sol:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(10, 14, 23, .09); border-color: #99f6e4; }
.odtw-sol-ico {
  width: 46px; height: 46px; margin: 0 auto 12px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: #f0fdfa; color: #0d9488; font-size: 1.35rem;
}
.odtw-sol h4 { font-size: 17px; color: #0a0e17; margin: 0 0 6px; font-weight: 800; }
.odtw-sol p { color: #64748b; font-size: 13.5px; line-height: 1.5; margin: 0; }
.odtw-cat-btn {
  display: inline-block; padding: 12px 26px; border-radius: 999px;
  background: #0d9488; color: #ffffff; font-size: 14.5px; font-weight: 700;
  text-decoration: none; transition: background-color .18s ease;
}
.odtw-cat-btn:hover { background: #0f766e; color: #ffffff; }

@media (max-width: 1100px) {
  .odtw-cap-grid { grid-template-columns: repeat(2, 1fr); }
  .odtw-sol-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .odtw-uso-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .odtw-sec-title { font-size: 28px; }
  .odtw-cap-grid, .odtw-sol-grid { grid-template-columns: 1fr; }
  .odtw-uso { padding: 26px 20px; }
}

/* ===== /solutions: Soluciones disponibles (tarjetas ampliadas) ===== */
.odtw-disp { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.odtw-disp-row {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px; margin: 34px 0 4px;
}
.odtw-disp-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 12px;
  background: #fff; border: 1px solid #e2e8f0; border-radius: 18px;
  padding: 26px 26px 24px; box-shadow: 0 10px 26px rgba(10, 14, 23, 0.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.odtw-disp-card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(10,14,23,.11); border-color: #99f6e4; }
.odtw-disp-top { display: flex; align-items: center; gap: 13px; width: 100%; }
.odtw-disp-check { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: #0d9488; position: relative; }
.odtw-disp-check::after {
  content: ''; position: absolute; left: 10px; top: 7px;
  width: 6px; height: 12px; border: solid #fff;
  border-width: 0 2.5px 2.5px 0; transform: rotate(45deg);
}
.odtw-disp-top h3 { margin: 0; font-size: 1.2rem; font-weight: 800; color: #0a0e17; line-height: 1.25; flex: 1 1 auto; }
.odtw-disp-top .odtw-badge { flex: 0 0 auto; }
.odtw-disp-desc { color: #475569; font-size: .96rem; line-height: 1.62; margin: 0; }

/* Hero de /solutions: expansión continua y CTA */
.odtw-page-head .odtw-page-sub + .odtw-page-sub { margin-top: 16px; }
.odtw-page-head .odtw-hero-actions { margin-top: 30px; }
.odtw-hero-link { color: #5eead4; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(94, 234, 212, .45); }
.odtw-hero-link:hover { color: #f0fdfa; border-bottom-color: #f0fdfa; }
@media (max-width: 640px) {
  .odtw-disp-row { grid-template-columns: 1fr; }
}

/* ===== /platform: ventajas con iconos grandes alternados ===== */
.odtw-pp { padding: 6px 0 30px; }
.odtw-pp-row {
  display: grid; grid-template-columns: 1fr 1.2fr; align-items: center;
  gap: 48px; padding: 38px 0;
  border-bottom: 1px solid #eef2f6;
}
.odtw-pp-row:last-child { border-bottom: 0; }
.odtw-pp-media {
  background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 22px;
  display: flex; align-items: center; justify-content: center;
  padding: 18px 15px;
}
.odtw-pp-media img { width: 100%; max-width: 300px; height: auto; display: block; }
.odtw-pp-n {
  display: inline-block; color: #0d9488; font-size: .8rem; font-weight: 800;
  letter-spacing: .08em; margin: 0 0 10px;
}
.odtw-pp-body h3 { font-size: 1.6rem; font-weight: 800; color: #0a0e17; margin: 0 0 12px; letter-spacing: -0.2px; line-height: 1.2; }
.odtw-pp-body p { color: #475569; font-size: 1.05rem; line-height: 1.72; margin: 0; }
.odtw-pp-row.odtw-rev .odtw-pp-media { order: 2; }
@media (max-width: 860px) {
  .odtw-pp-row { grid-template-columns: 1fr; gap: 22px; padding: 30px 0; }
  .odtw-pp-row.odtw-rev .odtw-pp-media { order: 0; }
  .odtw-pp-media { max-width: 460px; width: 100%; }
  .odtw-pp-body h3 { font-size: 1.35rem; }
}

/* Oculto el chevron y el submenu en el item Solutions del menu */
.without-children:after{
    display:none !important;
}
.without-children + .sp-dropdown {
 display:none !important;   
}

.sppb-ajax-contact-content {
    max-width: 100% !important;
    margin-left: 40px !important;
    margin-right: 40px !important;
}


