/* ============================================================
   SOFTWERK IT SOLUTIONS — extras.css 2025
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* Fuente local (compatibilidad) */
@font-face { font-family: 'Museo-500'; src: url('../fonts/swis.ttf'); }
@font-face { font-family: 'Museo-300'; src: url('../fonts/swis.ttf'); }
@font-face { font-family: 'swis';      src: url('../fonts/swis.ttf'); }

/* --- Variables --- */
:root {
  --sw-red:        #C8102E;
  --sw-red-dark:   #A00D24;
  --sw-dark:       #111827;
  --sw-dark-2:     #1F2937;
  --sw-gray:       #374151;
  --sw-gray-light: #6B7280;
  --sw-bg-light:   #F9FAFB;
  --sw-border:     #E5E7EB;
  --sw-white:      #FFFFFF;
  --sw-font:       'Inter', sans-serif;
  --sw-radius:     8px;
  --sw-shadow:     0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);
  --sw-shadow-md:  0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.05);
}

*, *::before, *::after { box-sizing: border-box; }

/* --- Base --- */
html, body { background: #0D1117 !important; }
.div_body {
  background: #0D1117;
  font-family: var(--sw-font);
  font-size: 15px;
  color: var(--sw-gray);
  padding-top: 50px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Wrappers del menu — transparentes para no crear línea blanca */
.menu_estilo,
.menu_estilo .row-fluid,
.menu_estilo .container,
.menu_estilo .col-md-12 {
  background: transparent !important;
}

h1, h2, h3, h4, h5 {
  font-family: var(--sw-font);
  color: var(--sw-dark);
  font-weight: 700;
  border-bottom: none;
  padding-bottom: 0;
  text-transform: none;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

p { line-height: 1.7; }

a {
  color: var(--sw-red);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--sw-red-dark);
  text-decoration: none;
}

/* --- Navbar / Header --- */
.menu_estilo { background-color: #161B22; }

.menu_header {
  background: #161B22 !important;
  border: none !important;
  border-bottom: 1px solid #21262D !important;
  margin: 0;
  padding-top: 0;
  box-shadow: 0 1px 16px rgba(0,0,0,.5);
  z-index: 1000;
}
.navbar-default { background-color: #161B22 !important; border-color: #21262D !important; }

.navbar-default .navbar-nav > li > a {
  color: #8B949E;
  font-family: var(--sw-font);
  font-size: 13.5px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0.01em;
  padding: 8px 10px;
  transition: color 0.2s ease;
  text-decoration: none !important;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #F0F6FC !important;
  background-color: transparent !important;
  text-decoration: none !important;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #F0F6FC !important;
  background-color: var(--sw-red) !important;
  text-decoration: none !important;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #F0F6FC !important;
  background-color: var(--sw-red) !important;
  text-decoration: none !important;
}
/* Eliminar subrayados en todo el navbar */
.navbar-nav a,
.navbar-nav a:hover,
.navbar-nav a:focus,
.navbar-nav li,
.navbar-nav li:hover,
.navbar-nav li:focus { text-decoration: none !important; }

.dropdown-menu {
  background: #1C2128 !important;
  border: 1px solid #30363D !important;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.5);
  padding: 6px 0;
}
.dropdown-menu > li > a {
  font-family: var(--sw-font);
  font-size: 13.5px;
  font-weight: 400;
  color: #8B949E !important;
  padding: 8px 20px;
  transition: background 0.15s ease, color 0.15s ease;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--sw-red) !important;
  color: #F0F6FC !important;
  text-decoration: none !important;
}

.sw-navbar-brand { padding: 8px 12px 8px 0; }
.sw-navbar-brand img { display: block; }

.bnt_soft { padding-left: 4px; padding-right: 4px; }
.bnt_soft:hover {
  background-color: var(--sw-red);
  border-color: var(--sw-red-dark);
  border-radius: var(--sw-radius);
}
.navbar-default .navbar-nav > li.bnt_soft:hover > a,
.navbar-default .navbar-nav > li.bnt_soft:hover > a:hover,
.navbar-default .navbar-nav > li.bnt_soft:hover > a:focus {
  color: #F0F6FC !important;
  text-decoration: none !important;
}

/* Hamburger mobile */
.navbar-default .navbar-toggle .icon-bar { background-color: #8B949E; }
.navbar-default .navbar-toggle:hover .icon-bar,
.navbar-default .navbar-toggle:focus .icon-bar { background-color: #F0F6FC; }
.navbar-default .navbar-toggle { border-color: #30363D; }
.navbar-default .navbar-toggle:hover { background-color: #21262D; }

.bnt_web_prestadores {
  padding: 6px 16px;
  margin-left: 8px;
  color: #F0F6FC !important;
  background-color: var(--sw-red) !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
.bnt_web_prestadores:hover {
  color: #F0F6FC !important;
  background-color: #a50d26 !important;
  box-shadow: 0 0 0 3px rgba(200,16,46,.25);
}
.bnt_app_prestadores {
  padding: 6px 14px;
  margin-left: 8px;
  color: var(--sw-white) !important;
  background-color: var(--sw-dark-2);
  border-radius: var(--sw-radius);
  font-size: 13px;
  font-weight: 500;
  transition: background 0.2s ease;
}
.bnt_app_prestadores:hover {
  color: var(--sw-white) !important;
  background-color: var(--sw-dark);
}

/* --- Botones CTA --- */
.solicitar_demo {
  display: inline-block;
  padding: 12px 28px;
  border-radius: var(--sw-radius);
  font-family: var(--sw-font);
  font-size: 14px;
  font-weight: 600;
  background-color: transparent;
  border: 2px solid var(--sw-white);
  color: var(--sw-white) !important;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.solicitar_demo:hover {
  background-color: var(--sw-white);
  color: var(--sw-red) !important;
  border-color: var(--sw-white);
}

.solicitar_demo_rojo {
  display: inline-block;
  padding: 12px 28px;
  border-radius: var(--sw-radius);
  font-family: var(--sw-font);
  font-size: 14px;
  font-weight: 600;
  background-color: var(--sw-red);
  border: 2px solid var(--sw-red);
  color: var(--sw-white) !important;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.solicitar_demo_rojo:hover {
  background-color: var(--sw-red-dark);
  border-color: var(--sw-red-dark);
  color: var(--sw-white) !important;
}

/* --- Secciones Home --- */
.titulo_home {
  background: var(--sw-dark);
  text-align: center;
  border: none;
  margin-left: 0;
  padding: 70px 40px;
}
.titulo_home h1, .titulo_home h2, .titulo_home h3,
.titulo_home h4, .titulo_home h5 {
  color: var(--sw-white);
  border: none;
}

.productos_destacados {
  background: var(--sw-white);
  color: var(--sw-gray);
  padding: 60px 40px;
}

.soluciones_erp {
  background: var(--sw-bg-light);
  color: var(--sw-gray);
}

.titulo_erp,
.titulo_erp h1, .titulo_erp h2,
.titulo_erp h3, .titulo_erp h4 {
  text-align: center;
  border: none;
  margin-left: 0;
  padding: 16px;
  font-family: var(--sw-font);
  font-weight: 700;
  color: var(--sw-dark);
  letter-spacing: -0.02em;
}

.museo_titulo {
  font-family: var(--sw-font);
  font-size: 32px;
  font-weight: 800;
  color: var(--sw-white);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.producto_texto {
  font-family: var(--sw-font);
  font-size: 22px;
  font-weight: 600;
}

.titulos_productos {
  text-transform: uppercase;
  color: var(--sw-dark);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* --- Social / Sección intermedia --- */
.social {
  padding: 80px 40px;
  background-color: var(--sw-dark-2);
  border: none;
  font-family: var(--sw-font);
  font-size: 14px;
  color: #9CA3AF;
}
.social a { color: #D1D5DB; }
.social a:hover { color: var(--sw-white); }

.menu_social_estilo {
  background-color: var(--sw-dark);
  text-align: right;
  padding: 10px;
  color: #9CA3AF;
}

/* --- Footer unificado (CTA + Copyright) --- */
.sw-footer-unificado {
  background:
    radial-gradient(ellipse at 0% 50%,   rgba(173,0,0,.15) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 50%, rgba(173,0,0,.10) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 0%,   rgba(173,0,0,.12) 0%, transparent 40%),
    #0D1117;
  font-family: var(--sw-font);
  color: #9CA3AF;
  position: relative;
  overflow: hidden;
}
/* Footer con color del producto activo */
.sw-footer-unificado.sw-foot-mh {
  background:
    radial-gradient(ellipse at 0% 50%,   rgba(0,230,118,.15) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 50%, rgba(0,230,118,.10) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 0%,   rgba(0,230,118,.12) 0%, transparent 40%),
    #0D1117;
}
.sw-footer-unificado.sw-foot-gm {
  background:
    radial-gradient(ellipse at 0% 50%,   rgba(59,130,246,.15) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 50%, rgba(59,130,246,.10) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 0%,   rgba(59,130,246,.12) 0%, transparent 40%),
    #0D1117;
}
.sw-footer-unificado.sw-foot-lm {
  background:
    radial-gradient(ellipse at 0% 50%,   rgba(38,198,218,.15) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 50%, rgba(38,198,218,.10) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 0%,   rgba(38,198,218,.12) 0%, transparent 40%),
    #0D1117;
}
.sw-footer-unificado.sw-foot-pn {
  background:
    radial-gradient(ellipse at 0% 50%,   rgba(240,131,12,.15) 0%, transparent 50%),
    radial-gradient(ellipse at 100% 50%, rgba(240,131,12,.10) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 0%,   rgba(240,131,12,.12) 0%, transparent 40%),
    #0D1117;
}
.sw-footer-cta {
  padding: 72px 0 56px;
  text-align: center;
}
.sw-footer-cta h2 {
  font-size: 34px;
  font-weight: 800;
  color: #F0F6FC;
  letter-spacing: -0.03em;
  margin-bottom: 14px;
  line-height: 1.2;
  border: none;
}
.sw-footer-cta p {
  font-size: 16px;
  color: #8B949E;
  margin-bottom: 32px;
  line-height: 1.6;
}
.sw-footer-divisor {
  height: 1px;
  background: linear-gradient(90deg, transparent, #30363D 20%, #30363D 80%, transparent);
  margin: 0 40px;
}
.sw-footer-copy {
  padding: 36px 0 40px;
  font-size: 13px;
}
.sw-footer-copy p { margin-bottom: 6px; }
.sw-footer-copy a { color: #6E7681; transition: color .2s; }
.sw-footer-copy a:hover { color: #F0F6FC; text-decoration: none; }

/* Mantener .footer por compatibilidad con otros templates */
.footer {
  padding: 48px 0;
  background: #0D1117;
  border-top: 1px solid #21262D;
  font-family: var(--sw-font);
  font-size: 14px;
  color: #9CA3AF;
}
.footer a { color: #9CA3AF; }
.footer a:hover { color: var(--sw-white); }
.footer p { margin-bottom: 8px; }

/* --- CTA final (ya no se usa — movido al footer) --- */
.sw-cta-final { display: none; }

/* --- Carousel clientes --- */
.carousel_clientes {
  background-color: var(--sw-bg-light);
  background-image: none;
  padding: 32px 0;
}

/* --- Slider --- */
.fluxslider, .surface, .images { width: 100% !important; }

.texto_slider {
  text-transform: none;
  font-family: var(--sw-font);
  font-weight: 600;
  border: none;
}

@media (max-width: 1024px) {
  .texto_slider_dos { font-size: 12px !important; display: none; }
  .icono_slider { width: 80px; }
  .texto_slider { font-size: 14px !important; line-height: 1.3; border: none; }
}

/* --- Layout --- */
@media (min-width: 1200px) {
  .columna_left {
    min-height: 500px;
    background: rgba(0,0,0,.45);
    padding: 20px;
  }
  .navbar-collapse .navbar-nav.navbar-right:last-child {
    margin-right: -15px;
    margin-top: 20px;
  }
}
@media (min-width: 768px) and (max-width: 979px) {
  .navbar-collapse .navbar-nav.navbar-right:last-child {
    margin-right: -15px;
    margin-top: 20px;
  }
}

/* --- Responsive menu superior (mantener exacto) --- */
@media screen and (max-width: 1200px)  { .MenuSuperiorCompleto    { display: none; } }
@media screen and (max-width: 950px)   { .MenuSuperiorSemiCompleto { display: none; } }
@media screen and (min-width: 1150px)  { .MenuSuperiorSemiCompleto { display: none; } }
@media screen and (min-width: 600px)   { .MenuSuperiorIncompleto  { display: none; } }

/* --- Misc --- */
.contendor_principal { background: rgba(255,255,255,.19); }
.texto_color { color: var(--sw-gray-light); }
.texto { text-transform: none; font-weight: 400; font-family: var(--sw-font); font-size: 14px; color: var(--sw-gray-light); }
.nueva_fuente { font-family: 'swis'; }
.close { color: var(--sw-white); opacity: 1; }
.logo { padding: 16px 0; }

.back-to-top { cursor: pointer; position: fixed; bottom: 30px; left: 30px; display: none; }

.whastapp_soporte_btn { display: block; background: transparent; cursor: pointer; position: fixed; width: auto; bottom: 0; left: 0; }
.whastapp_venta_btn   { display: block; background: transparent; cursor: pointer; position: fixed; width: auto; bottom: 15%; left: 0; }
.chat_btn             { display: block; background: transparent; cursor: pointer; position: fixed; width: auto; bottom: 0; right: 0; }

/* --- Panels productos --- */
.panel-image img.panel-image-preview { width: 100%; border-radius: 4px 4px 0 0; }
.panel-heading ~ .panel-image img.panel-image-preview { border-radius: 0; }
.panel-image ~ .panel-body,
.panel-image.hide-panel-body ~ .panel-body { overflow: hidden; }
.panel-image ~ .panel-footer a { padding: 0 10px; font-size: 1.3em; color: var(--sw-gray-light); }
.panel-image.hide-panel-body ~ .panel-body { height: 0; padding: 0; }

.productos_texto_contenido { font-size: 13px; color: var(--sw-gray-light); }
.productos_texto_titulo    { color: var(--sw-dark); font-weight: 600; }

.producto-caption div { box-shadow: var(--sw-shadow); transition: all 0.3s ease; }
.producto-img-circle  { border-radius: 50%; }
.producto-ratio  { background-position: center; background-repeat: no-repeat; background-size: cover; height: 0; position: relative; width: 100%; }
.producto-ratio1 { float: left; height: 0; padding-bottom: 100%; position: relative; width: 100%; }
.producto-img-responsive { display: block; height: auto; max-width: 100%; }

/* --- Top bar --- */
.sw-topbar {
  background: #FFFFFF;
  border-bottom: 1px solid var(--sw-border);
  height: 60px;
}
.sw-topbar-phone {
  font-size: 17px;
  font-weight: 700;
  color: var(--sw-red);
  font-family: var(--sw-font);
  white-space: nowrap;
}
.sw-topbar-label {
  font-size: 12px;
  font-weight: 500;
  color: var(--sw-gray-light);
  font-family: var(--sw-font);
}
.navbar-toggle {
  border-color: var(--sw-red) !important;
  background-color: var(--sw-red) !important;
}

/* ================================================
   DARK HOMEPAGE — 2025
   ================================================ */

.contendor_principal { background: #0D1117 !important; }

/* --- Hero --- */
.sw-hero {
  background:
    radial-gradient(ellipse at 92% 10%,  rgba(173,0,0,.18) 0%, transparent 52%),
    radial-gradient(ellipse at -5% 60%,  rgba(173,0,0,.13) 0%, transparent 45%),
    radial-gradient(ellipse at 50% 110%, rgba(173,0,0,.07) 0%, transparent 50%),
    #0D1117;
  padding: 56px 0 64px;
  position: relative;
  overflow: hidden;
}
.sw-hero::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 1px; height: 100%;
  background: linear-gradient(to bottom, transparent 0%, rgba(173,0,0,.35) 40%, rgba(173,0,0,.35) 60%, transparent 100%);
  pointer-events: none;
}
.sw-hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #30363D 30%, #30363D 70%, transparent);
}
.sw-hero-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sw-red);
  margin-bottom: 20px;
}
.sw-hero-headline {
  font-size: 46px;
  font-weight: 800;
  color: #F0F6FC;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 20px;
}
.sw-hero-sub {
  font-size: 17px;
  color: #8B949E;
  line-height: 1.65;
  margin-bottom: 36px;
  max-width: 500px;
}
.sw-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.sw-hero-wsp {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 24px;
}
.sw-wsp-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #8B949E;
  font-size: 15px;
  text-decoration: none;
  transition: color .2s;
}
.sw-wsp-link:hover { color: #F0F6FC; text-decoration: none; }
.sw-wsp-link strong { color: #C9D1D9; font-size: 16px; }
.sw-hero-visual { text-align: center; }
.sw-hero-visual img { filter: drop-shadow(0 0 48px rgba(200,16,46,.2)); }
@media (max-width: 992px) { .sw-hero-headline { font-size: 34px; } }
@media (max-width: 768px) {
  .sw-hero { padding: 40px 0 48px; }
  .sw-hero-headline { font-size: 28px; }
  .sw-hero-sub { font-size: 15px; }
}

/* --- Trust bar --- */
.sw-trust {
  background: #0D1117;
  border-top: 1px solid #21262D;
  border-bottom: 1px solid #21262D;
  padding: 32px 0;
  text-align: center;
}
.sw-trust-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6E7681;
  margin-bottom: 24px;
}
.sw-trust-logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px 36px;
}
.sw-trust-logos img {
  height: 26px;
  width: auto;
  max-width: 90px;
  filter: brightness(0) invert(1) opacity(.35);
  transition: filter .2s;
}
.sw-trust-logos img:hover { filter: brightness(0) invert(1) opacity(.85); }

/* --- Sectores --- */
.sw-sectores {
  background: #0D1117;
  padding: 80px 0;
}
.sw-section-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sw-red);
  background: rgba(200,16,46,.1);
  border: 1px solid rgba(200,16,46,.2);
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.sw-sectores .sw-title {
  font-size: 34px;
  font-weight: 800;
  color: #F0F6FC;
  letter-spacing: -0.03em;
  margin-bottom: 48px;
  line-height: 1.2;
  border: none;
}
.sw-mercados-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto;
}
.sw-mercado-item {
  background: #161B22;
  border: 1px solid #30363D;
  border-radius: 10px;
  padding: 14px 22px;
  font-size: 14px;
  font-weight: 500;
  color: #C9D1D9;
  line-height: 1.4;
  transition: border-color .2s, color .2s;
  cursor: default;
}
.sw-mercado-item:hover {
  border-color: rgba(200,16,46,.5);
  color: #F0F6FC;
}

/* --- Stats --- */
.sw-porque {
  background: #161B22;
  border-top: 1px solid #21262D;
  border-bottom: 1px solid #21262D;
  padding: 72px 0;
}
.sw-porque .sw-title { font-size: 30px; font-weight: 800; color: #F0F6FC; letter-spacing: -0.03em; margin-bottom: 48px; border: none; }
.sw-stat { text-align: center; padding: 0 16px; }
.sw-stat-num { font-size: 52px; font-weight: 800; color: var(--sw-red); letter-spacing: -0.04em; line-height: 1; margin-bottom: 8px; }
.sw-stat-title { font-size: 15px; font-weight: 700; color: #F0F6FC; margin-bottom: 8px; }
.sw-stat-desc { font-size: 13px; color: #6E7681; line-height: 1.6; }

/* --- Páginas de contenido (términos, privacidad, etc.) --- */
.sw-contenido-page {
  background: #0D1117;
  padding: 72px 0 80px;
  min-height: 50vh;
}
.sw-contenido-titulo {
  font-size: 32px;
  font-weight: 800;
  color: #F0F6FC;
  letter-spacing: -0.03em;
  margin-bottom: 36px;
  padding-bottom: 20px;
  border-bottom: 1px solid #21262D;
  border-top: none;
}
.sw-contenido-body {
  color: #C9D1D9;
  font-size: 15px;
  line-height: 1.8;
  max-width: 860px;
}
.sw-contenido-body font,
.sw-contenido-body div,
.sw-contenido-body p,
.sw-contenido-body span,
.sw-contenido-body li { font-family: inherit !important; font-size: inherit !important; color: #C9D1D9 !important; }
.sw-contenido-body div { margin-bottom: 6px; }
.sw-contenido-body b, .sw-contenido-body strong { color: #F0F6FC; font-weight: 700; }
.sw-contenido-body h1, .sw-contenido-body h2, .sw-contenido-body h3 {
  color: #F0F6FC; font-weight: 700; margin: 24px 0 10px; border: none;
}
.sw-contenido-titulo { color: #FFFFFF; }

/* --- CTA final --- */
.sw-cta-final {
  background: #0D1117;
  padding: 80px 0;
  text-align: center;
  position: relative; overflow: hidden;
}
.sw-cta-final::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 600px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(200,16,46,.12) 0%, transparent 65%);
  pointer-events: none;
}
.sw-cta-final h2 { font-size: 36px; font-weight: 800; color: #F0F6FC; letter-spacing: -0.03em; margin-bottom: 16px; line-height: 1.2; border: none; }
.sw-cta-final p { font-size: 17px; color: #8B949E; margin-bottom: 36px; line-height: 1.6; }

/* --- Banda de clientes (scroll infinito) --- */
.sw-band {
  background: #FFFFFF;
  background-color: #FFFFFF;
  border-top: 4px solid #7B1020;
  border-bottom: 4px solid #7B1020;
  padding: 29px 0;
  overflow: hidden;
  color-scheme: light;
  forced-color-adjust: none;
  -webkit-forced-color-adjust: none;
}
.sw-band-label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7B1020;
  text-align: center;
  margin-bottom: 19px;
}
.sw-band-track {
  display: flex;
  align-items: center;
  gap: 56px;
  width: max-content;
  animation: band-scroll 65s linear infinite;
}
.sw-band-track:hover { animation-play-state: paused; }
@keyframes band-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.sw-band-track img {
  height: 82px;
  width: auto;
  max-width: 300px;
  flex-shrink: 0;
  opacity: 1;
}

/* --- Social section (solo modales ocultos, sin espacio visible) --- */
.social { background: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important; }
.social .museo_titulo { color: #F0F6FC !important; }

/* ================================================
   MOBILE FIXES
   ================================================ */

/* Forzar colores correctos — evita overrides de Bootstrap en mobile */
.sw-stat-num { color: #C8102E !important; }
.sw-stat-title { color: #F0F6FC !important; }
.sw-stat-desc  { color: #6E7681 !important; }

/* Stats: apilar en mobile con separación */
@media (max-width: 768px) {
  .sw-porque { padding: 48px 0; }
  .sw-stat { padding: 20px 16px; }
  .sw-stat-num { font-size: 44px; }
}

/* Banda de clientes — fondo blanco forzado, logos más chicos en mobile */
.sw-band { background: #FFFFFF !important; }
.sw-band-label { color: #7B1020 !important; }

@media (max-width: 768px) {
  .sw-band {
    padding: 19px 0;
    overflow: hidden;
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color-scheme: light !important;
    forced-color-adjust: none !important;
    -webkit-forced-color-adjust: none !important;
  }
  .sw-band-track {
    gap: 32px;
    animation-duration: 45s;
  }
  .sw-band-track img {
    height: 45px;
    max-width: 96px;
    flex-shrink: 0;
  }
}

/* Evitar que Bootstrap pinte de gris filas/columnas dentro de secciones dark */
.sw-sectores .row,
.sw-porque .row,
.sw-band .row,
.sw-footer-unificado .row { background: transparent !important; }

/* Secciones dark — fondo forzado en mobile */
@media (max-width: 768px) {
  .sw-sectores  { background: #0D1117 !important; padding: 48px 0; }
  .sw-porque    { background: #161B22 !important; }
  .sw-contenido-page { background: #0D1117 !important; }
  .sw-footer-unificado { background: #0D1117 !important; }
  .sw-footer-cta h2   { font-size: 24px; }
  .sw-mercados-grid   { gap: 10px; }
  .sw-mercado-item    { font-size: 13px; padding: 10px 14px; }
}

/* ============================================================
   Portal de Pagos a Proveedores - seccion en paginas de producto
   ============================================================ */
.pp-section { background: linear-gradient(135deg,#15171a 0%,#23262b 100%); padding: 64px 22px; color:#fff; }
.pp-wrap { max-width:1140px; margin:0 auto; display:flex; gap:44px; align-items:center; flex-wrap:wrap; }
.pp-text { flex:1 1 380px; }
.pp-shot { flex:1 1 480px; min-width:300px; }
.pp-shot img { width:100%; border-radius:10px; box-shadow:0 14px 44px rgba(0,0,0,.55); border:1px solid #34383d; display:block; }
.pp-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(200,16,46,.15); border:1px solid rgba(200,16,46,.5); color:#ff9a9a; font-size:11.5px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; padding:5px 13px; border-radius:99px; margin-bottom:18px; }
.pp-dot { width:7px; height:7px; border-radius:50%; background:#c8102e; box-shadow:0 0 7px rgba(200,16,46,.95); }
.pp-title { font-size:30px; font-weight:800; line-height:1.25; margin:0 0 14px; color:#fff; }
.pp-title em { font-style:normal; color:#ff6b6b; }
.pp-desc { font-size:15.5px; line-height:1.72; color:#c4c8cd; margin:0 0 22px; }
.pp-feats { list-style:none; margin:0; padding:0; }
.pp-feats li { font-size:14.5px; color:#e6e8ea; padding:10px 0; display:flex; align-items:flex-start; gap:13px; border-bottom:1px solid #2c2f34; }
.pp-feats li:last-child { border-bottom:none; }
.pp-feats li .pp-ic { font-size:18px; line-height:1.3; flex-shrink:0; width:24px; text-align:center; }
@media (max-width:760px){ .pp-section{padding:46px 18px;} .pp-title{font-size:23px;} .pp-wrap{gap:28px;} }
