.platformHeaderActions1 {
  display: flex;
  align-items: center;
  gap: 14px;
}






/* boton de unirse inicial */
.plataformaregister1btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
	height: 50px;

  min-height: 46px;
  padding: 0 28px;

  border: 1.5px solid rgba(0, 92, 255, 0.55);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.92);
  color: #0057ff!important;

  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  text-transform: none;

  box-shadow:
    0 8px 22px rgba(0, 87, 255, 0.08),
    inset 0 0 0 1px rgba(255, 255, 255, 0.7);

  overflow: hidden;
  isolation: isolate;
  transition:
    color 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.28s ease;
}

/* Brillo interno animado */
.plataformaregister1btn::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -2;

  background:
    radial-gradient(circle at 20% 50%, rgba(0, 174, 255, 0.55), transparent 28%),
    radial-gradient(circle at 80% 50%, rgba(0, 87, 255, 0.65), transparent 32%),
    linear-gradient(135deg, #0047ff, #00a3ff, #006eff, #001eff);

  opacity: 0;
  filter: blur(10px);
  transition: opacity 0.3s ease;
}

/* Capa blanca normal */
.plataformaregister1btn::after {
  content: "";
  position: absolute;
  inset: 2px;
  z-index: -1;

  border-radius: inherit;
  background: #ffffff;

  transition:
    background 0.28s ease,
    inset 0.28s ease;
}

/* Hover glowing */
.plataformaregister1btn:hover {
  color: #ffffff!important;
  border-color: rgba(0, 163, 255, 0.9);
  transform: translateY(-1px);

  box-shadow:
    0 0 8px rgba(0, 119, 255, 0.55),
    0 0 18px rgba(0, 119, 255, 0.45),
    0 0 36px rgba(0, 174, 255, 0.35),
    0 12px 28px rgba(0, 87, 255, 0.25);
}

.plataformaregister1btn:hover::before {
  opacity: 1;
}

.plataformaregister1btn:hover::after {
  inset: 0;
  background: linear-gradient(135deg, #0047ff 0%, #006eff 45%, #00a3ff 100%);
}

/* Click */
.plataformaregister1btn:active {
  transform: translateY(0) scale(0.98);
}

/* Accesibilidad con teclado */
.plataformaregister1btn:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 4px rgba(0, 119, 255, 0.18),
    0 0 24px rgba(0, 119, 255, 0.35);
}













/* Oculto por defecto en tablets y computadoras */
.mega_offcanvas {
  display: none !important;
}

/* Visible solo en teléfonos */
@media (max-width: 767px) {
  .mega_offcanvas {
    display: block !important;
  }
}











.plataformaaccesbtn{
    display: flex!important;
color: white!important;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 50px;

    background: linear-gradient(
        135deg,
        #003087 0%,
        #0057ff 45%,
        #00a3ff 100%
    );

    border-radius: 38px;
    box-shadow: 0 4px 14px rgba(0, 87, 255, 0.35);
    padding: 0;
    text-decoration: none;
    overflow: hidden;
    transition: all 0.3s ease-out;
}


.plataformaisbtn{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 50px;
    background: linear-gradient(to right, #16abe2, #75b547);
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 0;
    text-decoration: none;
    overflow: hidden;
    transition: all 0.3s ease-out;
}

.logo-image {
    height: 50px!important;
}

#sp-top-bar .container .container-inner .row #sp-top1 .sp-column .sp-module{
       justify-content: end;
display: flex;
}

#sp-top-bar .container .container-inner .row #sp-top1 {
 width: 100%!important;
}

#sp-top-bar {
    background: #000;
  
}

#mod-custom126 p{
    margin-bottom: 0rem;
}


@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 100%!important;
        padding-inline: 30px;
    }
}



.sp-megamenu-parent {
    margin: 0 0px !important;
}

.sp-menu-item a{
    font-size: 1rem!important;
}

















/* =====================================================
   HEADER: menú a la izquierda + módulo Forge a la derecha
===================================================== */

/* El header conserva altura */
#sp-header {
    height: 100px !important;
    background: #ffffff !important;
}

/* Fila principal */
#sp-header .container-inner > .row {
    min-height: 100px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
}

/* Logo */
#sp-header #sp-logo {
    flex: 0 0 auto !important;
    width: auto !important;
}

/* El área del menú debe ocupar el espacio sobrante */
#sp-header #sp-menu {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
}

/* Esta es la clave:
   convierte la columna interna en una fila completa */
#sp-header #sp-menu > .sp-column {
    width: 100% !important;
    height: 100px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Menú principal a la izquierda */
#sp-header #sp-menu .sp-megamenu-wrapper {
    flex: 0 0 auto !important;
    width: auto !important;
    margin-right: auto !important;
}

/* Lista del menú */
#sp-header #sp-menu .sp-megamenu-parent {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
}

/* Items normales */
#sp-header #sp-menu .sp-megamenu-parent > li {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Links normales */
#sp-header #sp-menu .sp-megamenu-parent > li > a {
    display: flex !important;
    align-items: center !important;
    height: 50px !important;
    padding: 0 !important;
    color: #000 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

/* Botón azul Conócenos */
#sp-header #sp-menu .sp-megamenu-parent > li.plataformaaccesbtn {
    margin-left: 8px !important;
}

#sp-header #sp-menu .sp-megamenu-parent > li.plataformaaccesbtn > a {
    width: 150px !important;
    height: 50px !important;
    padding: 0 26px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #0057ff 0%, #009dff 100%) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    justify-content: center !important;
    box-shadow: 0 8px 24px rgba(0, 87, 255, 0.28) !important;
}

/* =====================================================
   MÓDULO FORGE A LA DERECHA
===================================================== */

/* Manda Forge hasta la derecha */
#sp-header #sp-menu .sp-module {
    margin-left: auto !important;
    margin-right: 40px !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
}

/* Si Forge es un enlace o texto dentro del módulo */
#sp-header #sp-menu .sp-module a,
#sp-header #sp-menu .sp-module span,
#sp-header #sp-menu .sp-module p {
    margin: 0 !important;
    color: #000;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}



.logobannerdesk{
    height: auto!important;
    width: auto!important;
}

.bannerdeskmaxwidth .qx-btn{
    display: flex!important;

    align-items: center;
    justify-content: center;
        width: auto;
    height: auto;
margin-right: 10rem;
    color: white !important;

    background: linear-gradient(
        135deg,
        #003087 0%,
        #0057ff 45%,
        #00a3ff 100%
    );

    border-radius: 38px;
    box-shadow: 0 4px 14px rgba(0, 87, 255, 0.35);
    padding: 0;
    text-decoration: none;
    overflow: hidden;
    transition: all 0.3s ease-out;
}

.changewhite{
    color: white!important;
}















.wsx9a2-wrap {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 10px 0 40px;
  color: #172033;
  font-family: inherit;
}

.wsx9a2-header {
  margin-bottom: 24px;
}

.wsx9a2-kicker {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #31527d;
  letter-spacing: 0.02em;
}

.wsx9a2-title {
  margin: 0 0 10px;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  font-weight: 800;
  color: #182233;
}

.wsx9a2-subtitle {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 34px);
  line-height: 1.18;
  font-weight: 700;
  color: #243550;
}

.wsx9a2-formula {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 26px 0 28px;
  padding: 18px 20px;
  border: 1px solid rgba(38, 74, 120, 0.14);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(245, 248, 252, 0.95), rgba(255, 255, 255, 0.95));
  box-shadow: 0 14px 35px rgba(22, 38, 65, 0.06);
}

.wsx9a2-formula span {
  font-size: 15px;
  font-weight: 700;
  color: #1f2d44;
}

.wsx9a2-formula strong {
  font-size: 18px;
  font-weight: 800;
  color: #c39a3d;
}

.wsx9a2-text {
  max-width: 860px;
}

.wsx9a2-text p,
.wsx9a2-card p,
.wsx9a2-goal p,
.wsx9a2-feature p,
.wsx9a2-level p {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.75;
  color: #37445a;
}

.wsx9a2-goal {
  margin: 34px 0;
  padding: 28px;
  border-radius: 26px;
  background: #0d1b33;
  box-shadow: 0 20px 45px rgba(13, 27, 51, 0.16);
}

.wsx9a2-goal h3 {
  margin: 0 0 14px;
  font-size: 25px;
  line-height: 1.2;
  color: #ffffff;
}

.wsx9a2-goal p {
  color: rgba(255, 255, 255, 0.86);
}

.wsx9a2-goal p:last-child {
  margin-bottom: 0;
}

.wsx9a2-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 30px;
}

.wsx9a2-card {
  padding: 26px;
  border: 1px solid rgba(34, 65, 105, 0.12);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 14px 35px rgba(22, 38, 65, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wsx9a2-card:hover {
  transform: translateY(-4px);
  border-color: rgba(195, 154, 61, 0.35);
  box-shadow: 0 20px 46px rgba(22, 38, 65, 0.11);
}

.wsx9a2-card h3 {
  margin: 0 0 16px;
  font-size: 23px;
  line-height: 1.22;
  font-weight: 800;
  color: #182233;
}

.wsx9a2-card p:last-child {
  margin-bottom: 0;
}

.wsx9a2-feature-list,
.wsx9a2-levels {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.wsx9a2-feature,
.wsx9a2-level {
  padding: 16px 18px;
  border-radius: 18px;
  background: #f6f8fb;
  border: 1px solid rgba(34, 65, 105, 0.08);
}

.wsx9a2-feature strong,
.wsx9a2-level strong {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
  color: #17305a;
}

.wsx9a2-feature p,
.wsx9a2-level p {
  margin-bottom: 0;
  font-size: 15px;
  line-height: 1.6;
}

.wsx9a2-closing {
  margin-top: 34px;
  padding: 34px;
  border-radius: 28px;
  background: linear-gradient(135deg, #f7f9fc, #ffffff);
  border: 1px solid rgba(34, 65, 105, 0.12);
  text-align: center;
}

.wsx9a2-closing span {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 700;
  color: #c39a3d;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.wsx9a2-closing h3 {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.18;
  font-weight: 800;
  color: #14213d;
}

@media (max-width: 768px) {
  .wsx9a2-wrap {
    padding: 10px 0 30px;
  }

  .wsx9a2-formula {
    align-items: flex-start;
    flex-direction: column;
  }

  .wsx9a2-formula strong {
    display: none;
  }

  .wsx9a2-grid {
    grid-template-columns: 1fr;
  }

  .wsx9a2-card,
  .wsx9a2-goal,
  .wsx9a2-closing {
    padding: 22px;
    border-radius: 22px;
  }
}














.psw7m4-mission {
  width: 100%;
  min-height: 560px;
  padding: 120px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 42%, rgba(0, 91, 255, 0.10), transparent 28%),
    radial-gradient(circle at 35% 58%, rgba(0, 181, 255, 0.08), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%);
  overflow: hidden;
}

.psw7m4-inner {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}

.psw7m4-kicker {
  margin: 0 0 34px;
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.55em;
  text-transform: uppercase;
  color: #6b7b97;
}

.psw7m4-title {
  max-width: 780px;
  margin: 0 auto;
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.18;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: -0.03em;
  color: #0055ff;
  text-shadow:
    0 0 18px rgba(0, 85, 255, 0.18),
    0 0 36px rgba(0, 153, 255, 0.12);
}

.psw7m4-line {
  width: 58px;
  height: 2px;
  margin: 50px auto 44px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #0055ff, transparent);
  box-shadow: 0 0 18px rgba(0, 85, 255, 0.35);
}

.psw7m4-text {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(17px, 1.55vw, 21px);
  line-height: 1.85;
  font-weight: 400;
  color: #59657a;
}

.psw7m4-text strong {
  font-weight: 800;
  color: #17233d;
}

.psw7m4-text em {
  font-style: italic;
  font-weight: 700;
  color: #0047d8;
}

@media (max-width: 768px) {
  .psw7m4-mission {
    min-height: 480px;
    padding: 90px 20px;
  }

  .psw7m4-kicker {
    margin-bottom: 26px;
    font-size: 11px;
    letter-spacing: 0.35em;
  }

  .psw7m4-title {
    font-size: clamp(34px, 9vw, 48px);
    line-height: 1.15;
  }

  .psw7m4-line {
    margin: 38px auto 34px;
  }

  .psw7m4-text {
    font-size: 16px;
    line-height: 1.75;
  }
}

























.psxw91-courses {
  width: 100%;
  padding: 90px 24px;
  background:
    radial-gradient(circle at top left, rgba(0, 112, 255, 0.08), transparent 28%),
    radial-gradient(circle at bottom right, rgba(0, 180, 255, 0.08), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(247,250,255,0.96) 100%);
  color: #12213f;
  font-family: inherit;
}

.psxw91-container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.psxw91-header {
  max-width: 780px;
  margin-bottom: 34px;
}

.psxw91-kicker {
  display: inline-block;
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #0f66ff;
}

.psxw91-title {
  margin: 0 0 16px;
  font-size: clamp(36px, 5vw, 60px);
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #0f1f45;
}

.psxw91-description {
  max-width: 680px;
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
  color: #5d6d8d;
}

.psxw91-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 34px 0 22px;
}

.psxw91-filter {
  appearance: none;
  border: 1px solid rgba(15, 102, 255, 0.22);
  background: rgba(255, 255, 255, 0.72);
  color: #2851a3;
  padding: 10px 15px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s ease;
  backdrop-filter: blur(10px);
}

.psxw91-filter:hover,
.psxw91-filter.active {
  color: #ffffff;
  border-color: #0f66ff;
  background: linear-gradient(135deg, #0f66ff, #3db8ff);
  box-shadow: 0 10px 26px rgba(15, 102, 255, 0.24);
}

.psxw91-count {
  margin: 0 0 26px;
  padding-top: 16px;
  border-top: 1px solid rgba(15, 52, 121, 0.08);
  font-size: 13px;
  color: #66789c;
}

.psxw91-count span {
  color: #0f1f45;
  font-weight: 800;
}

.psxw91-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.psxw91-card {
  display: flex;
  flex-direction: column;
  min-height: 430px;
  border: 1px solid rgba(15, 102, 255, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow:
    0 12px 28px rgba(14, 39, 94, 0.08),
    0 1px 0 rgba(255,255,255,0.7) inset;
  overflow: hidden;
  backdrop-filter: blur(14px);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.psxw91-card:hover {
  transform: translateY(-6px);
  border-color: rgba(15, 102, 255, 0.28);
  box-shadow:
    0 18px 40px rgba(15, 102, 255, 0.14),
    0 1px 0 rgba(255,255,255,0.75) inset;
}

.psxw91-card.hide {
  display: none;
}

.psxw91-image {
  height: 145px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 22px;
  background:
    radial-gradient(circle at top left, rgba(61, 184, 255, 0.22), transparent 45%),
    linear-gradient(135deg, #ffffff, #edf4ff);
  color: #0f66ff;
  border-bottom: 1px solid rgba(15, 102, 255, 0.08);
}

.psxw91-image span {
  font-size: 18px;
  color: #0f66ff;
  text-shadow: 0 0 14px rgba(15, 102, 255, 0.25);
}

.psxw91-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px;
}

.psxw91-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

.psxw91-tags span {
  padding: 6px 9px;
  border-radius: 999px;
  border: 1px solid rgba(15, 102, 255, 0.14);
  color: #0f66ff;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: rgba(15, 102, 255, 0.06);
}

.psxw91-card h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.18;
  font-weight: 800;
  color: #102141;
}

.psxw91-card p {
  margin: 0 0 20px;
  font-size: 14px;
  line-height: 1.7;
  color: #62718f;
}

.psxw91-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  margin-bottom: 20px;
}

.psxw91-meta span {
  padding: 7px 9px;
  border-radius: 999px;
  border: 1px solid rgba(16, 33, 65, 0.09);
  color: #4f6389;
  background: rgba(244, 248, 255, 0.9);
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
}

.psxw91-link {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: #0f66ff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.psxw91-link::after {
  content: "→";
  margin-left: 8px;
  transition: transform 0.25s ease;
}

.psxw91-link:hover::after {
  transform: translateX(5px);
}

.psxw91-footer {
  display: flex;
  justify-content: center;
  margin-top: 42px;
}

.psxw91-main-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  border: 1px solid rgba(15, 102, 255, 0.18);
  background: linear-gradient(135deg, #0f66ff, #3db8ff);
  color: #ffffff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  box-shadow: 0 12px 28px rgba(15, 102, 255, 0.2);
  transition: all 0.25s ease;
}

.psxw91-main-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(15, 102, 255, 0.26);
}

@media (max-width: 1024px) {
  .psxw91-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .psxw91-courses {
    padding: 70px 18px;
  }

  .psxw91-grid {
    grid-template-columns: 1fr;
  }

  .psxw91-card {
    min-height: auto;
  }

  .psxw91-image {
    height: 120px;
  }

  .psxw91-filter {
    width: 100%;
    justify-content: center;
  }
}












.wscal-p9x4 {
  width: 100%;
  padding: 80px 24px;
  background:
    radial-gradient(circle at top left, rgba(0, 112, 255, 0.08), transparent 28%),
    radial-gradient(circle at 90% 15%, rgba(60, 185, 255, 0.09), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.98));
  color: #112142;
  font-family: inherit;
}

.wscal-p9x4-container {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.wscal-p9x4-block {
  padding: 34px 0;
  border-bottom: 1px solid rgba(16, 61, 145, 0.12);
}

.wscal-p9x4-block:first-child {
  padding-top: 0;
}

.wscal-p9x4-block:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.wscal-p9x4-title {
  margin: 0 0 18px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: #0d1b3f;
}

.wscal-p9x4-intro {
  max-width: 860px;
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.85;
  color: #5d6b8d;
}

.wscal-p9x4-timezone {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 12px 0 34px;
  padding: 12px 16px;
  border: 1px solid rgba(0, 112, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  color: #617295;
  font-size: 13px;
  box-shadow: 0 12px 28px rgba(14, 55, 130, 0.07);
  backdrop-filter: blur(12px);
}

.wscal-p9x4-timezone strong {
  color: #0d1b3f;
  font-weight: 900;
}

.wscal-p9x4-dot-blue {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #0f66ff;
  box-shadow: 0 0 16px rgba(15, 102, 255, 0.55);
}

.wscal-p9x4-schedule {
  width: 100%;
  overflow-x: auto;
  padding: 10px 0 0;
}

.wscal-p9x4-schedule-head,
.wscal-p9x4-row {
  display: grid;
  grid-template-columns: 150px repeat(5, minmax(86px, 1fr));
  align-items: center;
  min-width: 720px;
}

.wscal-p9x4-schedule-head {
  padding: 0 0 16px;
  border-bottom: 1px solid rgba(16, 61, 145, 0.14);
}

.wscal-p9x4-schedule-head span {
  text-align: center;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #6f84b7;
}

.wscal-p9x4-row {
  min-height: 76px;
  border-bottom: 1px solid rgba(16, 61, 145, 0.06);
}

.wscal-p9x4-row:last-child {
  border-bottom: none;
}

.wscal-p9x4-blocktime strong {
  display: block;
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 900;
  color: #12244b;
}

.wscal-p9x4-blocktime small {
  display: block;
  font-size: 11px;
  color: #7182a6;
}

.wscal-p9x4-status {
  justify-self: center;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  display: block;
}

.wscal-p9x4-status.active {
  background: #0f66ff;
  box-shadow:
    0 0 0 6px rgba(15, 102, 255, 0.08),
    0 0 18px rgba(15, 102, 255, 0.55);
}

.wscal-p9x4-status.rest {
  background: #3db8ff;
  box-shadow:
    0 0 0 6px rgba(61, 184, 255, 0.1),
    0 0 18px rgba(61, 184, 255, 0.5);
}

.wscal-p9x4-status.soft {
  background: #9eb9e9;
  box-shadow:
    0 0 0 6px rgba(158, 185, 233, 0.14),
    0 0 14px rgba(120, 160, 230, 0.32);
}

.wscal-p9x4-calendar-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 34px;
}

.wscal-p9x4-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 16px;
  padding-top: 8px;
}

.wscal-p9x4-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #647698;
}

.wscal-p9x4-legend i,
.wscal-p9x4-term-head h3 span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  display: inline-block;
}

.term1 {
  background: #0f66ff;
}

.term2 {
  background: #3db8ff;
}

.term3 {
  background: #7557ff;
}

.off {
  background: #9eb9e9;
}

.wscal-p9x4-term {
  margin-top: 24px;
  padding: 26px;
  border: 1px solid rgba(15, 102, 255, 0.12);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 14px 34px rgba(14, 55, 130, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(14px);
}

.wscal-p9x4-term-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(16, 61, 145, 0.1);
}

.wscal-p9x4-term-head h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 20px;
  font-weight: 900;
  color: #102247;
}

.wscal-p9x4-term-head small {
  font-size: 12px;
  font-weight: 800;
  color: #6681bd;
}

.wscal-p9x4-event {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 13px 0;
}

.wscal-p9x4-event span {
  font-size: 16px;
  line-height: 1.45;
  color: #4e5f82;
  font-style: italic;
}

.wscal-p9x4-event strong {
  font-size: 13px;
  color: #274982;
  font-weight: 900;
  white-space: nowrap;
}

.wscal-p9x4-note {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(15, 102, 255, 0.18);
  background: rgba(15, 102, 255, 0.06);
  color: #0f4fc3;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 768px) {
  .wscal-p9x4 {
    padding: 60px 18px;
  }

  .wscal-p9x4-intro {
    font-size: 16px;
    line-height: 1.75;
  }

  .wscal-p9x4-calendar-header {
    flex-direction: column;
  }

  .wscal-p9x4-legend {
    justify-content: flex-start;
  }

  .wscal-p9x4-term {
    padding: 22px;
    border-radius: 20px;
  }

  .wscal-p9x4-term-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .wscal-p9x4-event {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .wscal-p9x4-event strong {
    white-space: normal;
  }
}




.wscost-k7m2 {
  width: 100%;
  padding: 80px 24px;
  background:
    radial-gradient(circle at top left, rgba(0, 112, 255, 0.08), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(61, 184, 255, 0.08), transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.98));
  color: #102044;
  font-family: inherit;
}

.wscost-k7m2-container {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

.wscost-k7m2-block {
  padding: 38px 0;
  border-bottom: 1px solid rgba(16, 61, 145, 0.12);
}

.wscost-k7m2-block:first-child {
  padding-top: 0;
}

.wscost-k7m2-block:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.wscost-k7m2-title {
  margin: 0 0 20px;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: #0d1b3f;
}

.wscost-k7m2-intro,
.wscost-k7m2-text {
  max-width: 880px;
  margin: 0 0 18px;
  font-size: 18px;
  line-height: 1.85;
  color: #5d6b8d;
}

.wscost-k7m2-text strong {
  color: #102044;
  font-weight: 900;
}

.wscost-k7m2-table {
  width: 100%;
  margin-top: 34px;
  border: 1px solid rgba(15, 102, 255, 0.14);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 14px 34px rgba(14, 55, 130, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(14px);
}

.wscost-k7m2-table-head,
.wscost-k7m2-table-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  align-items: center;
}

.wscost-k7m2-table-head {
  padding: 18px 22px;
  border-bottom: 1px solid rgba(16, 61, 145, 0.12);
  background: rgba(15, 102, 255, 0.04);
}

.wscost-k7m2-table-head span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6f84b7;
}

.wscost-k7m2-table-row {
  padding: 20px 22px;
  border-bottom: 1px solid rgba(16, 61, 145, 0.08);
  transition: background 0.25s ease, transform 0.25s ease;
}

.wscost-k7m2-table-row:last-child {
  border-bottom: none;
}

.wscost-k7m2-table-row span {
  font-size: 18px;
  color: #284369;
  font-weight: 700;
}

.wscost-k7m2-table-row strong {
  font-size: clamp(19px, 2.2vw, 28px);
  color: #0d1b3f;
  font-weight: 900;
}

.wscost-k7m2-table-row.featured {
  position: relative;
  background:
    linear-gradient(90deg, rgba(15, 102, 255, 0.10), rgba(61, 184, 255, 0.06));
  box-shadow: inset 4px 0 0 #0f66ff;
}

.wscost-k7m2-table-row.featured span,
.wscost-k7m2-table-row.featured strong {
  color: #0f3fa6;
}

.wscost-k7m2-table-row:hover {
  background: rgba(15, 102, 255, 0.055);
}

.wscost-k7m2-notes {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}

.wscost-k7m2-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 15px 17px;
  border: 1px solid rgba(15, 102, 255, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.65);
}

.wscost-k7m2-note span {
  width: 9px;
  height: 9px;
  margin-top: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #0f66ff;
  box-shadow: 0 0 16px rgba(15, 102, 255, 0.45);
}

.wscost-k7m2-note p {
  margin: 0;
  font-size: 14px;
  line-height: 1.65;
  color: #617295;
}

.wscost-k7m2-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

.wscost-k7m2-list li {
  position: relative;
  margin: 0;
  padding: 14px 0 14px 32px;
  font-size: 18px;
  line-height: 1.7;
  color: #5d6b8d;
  border-bottom: 1px solid rgba(16, 61, 145, 0.08);
}

.wscost-k7m2-list li:last-child {
  border-bottom: none;
}

.wscost-k7m2-list li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 14px;
  color: #0f66ff;
  font-weight: 900;
}

@media (max-width: 768px) {
  .wscost-k7m2 {
    padding: 60px 18px;
  }

  .wscost-k7m2-block {
    padding: 32px 0;
  }

  .wscost-k7m2-intro,
  .wscost-k7m2-text,
  .wscost-k7m2-list li {
    font-size: 16px;
    line-height: 1.75;
  }

  .wscost-k7m2-table-head {
    display: none;
  }

  .wscost-k7m2-table-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 22px;
  }

  .wscost-k7m2-table-row span {
    font-size: 17px;
  }

  .wscost-k7m2-table-row strong {
    font-size: 24px;
  }

  .wscost-k7m2-table-row strong:nth-child(2)::before {
    content: "Inscripción: ";
    display: inline;
    font-size: 13px;
    color: #6f84b7;
    font-weight: 800;
  }

  .wscost-k7m2-table-row strong:nth-child(3)::before {
    content: "Colegiatura mensual: ";
    display: inline;
    font-size: 13px;
    color: #6f84b7;
    font-weight: 800;
  }
}












.wsapply-x91q {
  width: 100%;
  padding: 80px 24px;
  background:
    radial-gradient(circle at top left, rgba(12, 104, 255, 0.10), transparent 26%),
    radial-gradient(circle at 85% 10%, rgba(78, 186, 255, 0.12), transparent 24%),
    linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
  color: #122142;
  font-family: inherit;
}

.wsapply-x91q-container {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

.wsapply-x91q-hero {
  margin-bottom: 48px;
}

.wsapply-x91q-kicker-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.wsapply-x91q-kicker-line {
  width: 34px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f66ff, #4fd2ff);
}

.wsapply-x91q-kicker {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #4e6cb0;
}

.wsapply-x91q-title {
  margin: 0 0 22px;
  font-size: clamp(38px, 5vw, 72px);
  line-height: 1.02;
  font-weight: 300;
  letter-spacing: -0.04em;
  text-transform: uppercase;
  color: #112142;
}

.wsapply-x91q-intro {
  max-width: 930px;
  margin: 0 0 30px;
  font-size: 19px;
  line-height: 1.8;
  color: #607091;
}

.wsapply-x91q-deadline-card {
  position: relative;
  overflow: hidden;
  padding: 34px 36px;
  border-radius: 24px;
  border: 1px solid rgba(15, 102, 255, 0.16);
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.95), transparent 26%),
    radial-gradient(circle at 80% 70%, rgba(61, 184, 255, 0.12), transparent 30%),
    linear-gradient(135deg, rgba(233, 242, 255, 0.95), rgba(247, 250, 255, 0.95));
  box-shadow:
    0 16px 40px rgba(14, 55, 130, 0.08),
    inset 0 1px 0 rgba(255,255,255,0.85);
}

.wsapply-x91q-deadline-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(15,102,255,0.06) 1px, transparent 1px),
    linear-gradient(rgba(15,102,255,0.04) 1px, transparent 1px);
  background-size: 12px 12px;
  pointer-events: none;
  opacity: 0.55;
}

.wsapply-x91q-deadline-label {
  position: relative;
  display: inline-block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #5380cf;
}

.wsapply-x91q-deadline-card h3 {
  position: relative;
  margin: 0 0 8px;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
  font-weight: 900;
  color: #0f1d3b;
}

.wsapply-x91q-deadline-card p {
  position: relative;
  margin: 0;
  font-size: 18px;
  color: #5d6f95;
}

.wsapply-x91q-step {
  position: relative;
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 28px;
  padding: 42px 0;
}

.wsapply-x91q-step:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 29px;
  top: 74px;
  bottom: -10px;
  width: 1px;
  background: linear-gradient(180deg, rgba(15,102,255,0.20), rgba(15,102,255,0.04));
}

.wsapply-x91q-step-num {
  position: relative;
  z-index: 2;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  border: 1px solid rgba(15, 102, 255, 0.16);
  background: rgba(255,255,255,0.92);
  color: #0f1f45;
  font-size: 20px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(14, 55, 130, 0.08);
}

.wsapply-x91q-step-content h3 {
  margin: 0 0 16px;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.08;
  font-weight: 900;
  text-transform: uppercase;
  color: #112142;
}

.wsapply-x91q-step-content p {
  max-width: 930px;
  margin: 0 0 16px;
  font-size: 18px;
  line-height: 1.85;
  color: #5f6f90;
}

.wsapply-x91q-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.wsapply-x91q-mini-card {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(15, 102, 255, 0.12);
  background: rgba(255,255,255,0.86);
  box-shadow:
    0 14px 30px rgba(14, 55, 130, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.86);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wsapply-x91q-mini-card:hover {
  transform: translateY(-4px);
  border-color: rgba(15,102,255,0.24);
  box-shadow:
    0 18px 36px rgba(15, 102, 255, 0.12),
    inset 0 1px 0 rgba(255,255,255,0.9);
}

.wsapply-x91q-mini-thumb {
  height: 118px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid rgba(15, 102, 255, 0.08);
}

.wsapply-x91q-mini-thumb span {
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #ffffff;
}

.wsapply-x91q-blue-a { background: linear-gradient(135deg, #0f66ff, #4fd2ff); }
.wsapply-x91q-blue-b { background: linear-gradient(135deg, #1952ff, #57a7ff); }
.wsapply-x91q-blue-c { background: linear-gradient(135deg, #163fdb, #47baff); }
.wsapply-x91q-blue-d { background: linear-gradient(135deg, #2d72ff, #71d5ff); }
.wsapply-x91q-blue-e { background: linear-gradient(135deg, #0e85ff, #57d7ff); }
.wsapply-x91q-blue-f { background: linear-gradient(135deg, #1f56ff, #6bc9ff); }

.wsapply-x91q-mini-card h4 {
  margin: 0;
  padding: 16px 18px 18px;
  font-size: 15px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #102144;
}

.wsapply-x91q-button-wrap {
  margin: 34px 0 28px;
}

.wsapply-x91q-main-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 240px;
  min-height: 58px;
  padding: 0 28px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0f66ff, #4fd2ff);
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  box-shadow: 0 18px 36px rgba(15, 102, 255, 0.22);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wsapply-x91q-main-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 42px rgba(15, 102, 255, 0.28);
}

.wsapply-x91q-next-box {
  margin-top: 22px;
  padding: 28px;
  border-radius: 24px;
  border: 1px solid rgba(15,102,255,0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.88), rgba(248,251,255,0.94));
  box-shadow:
    0 14px 34px rgba(14, 55, 130, 0.07),
    inset 0 1px 0 rgba(255,255,255,0.88);
}

.wsapply-x91q-next-title {
  display: inline-block;
  margin-bottom: 28px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #5a78bc;
}

.wsapply-x91q-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.wsapply-x91q-timeline-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 20px;
  height: 1px;
  background: linear-gradient(90deg, rgba(15,102,255,0.10), rgba(15,102,255,0.22), rgba(15,102,255,0.10));
}

.wsapply-x91q-timeline-item {
  position: relative;
  z-index: 2;
  text-align: center;
}

.wsapply-x91q-dot {
  width: 18px;
  height: 18px;
  display: inline-block;
  border-radius: 50%;
  margin-bottom: 18px;
  background: #0f66ff;
  box-shadow:
    0 0 0 6px rgba(15, 102, 255, 0.08),
    0 0 18px rgba(15, 102, 255, 0.28);
}

.wsapply-x91q-dot-1 { background: #0f66ff; }
.wsapply-x91q-dot-2 { background: #4f7cff; }
.wsapply-x91q-dot-3 { background: #39c8ff; }
.wsapply-x91q-dot-4 { background: #68d7ff; }

.wsapply-x91q-timeline-item h4 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 900;
  color: #102144;
}

.wsapply-x91q-timeline-item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: #6a7898;
}

.wsapply-x91q-footer-note {
  margin-top: 38px !important;
  text-align: center;
  color: #5f74a5 !important;
  font-size: 18px;
}

@media (max-width: 991px) {
  .wsapply-x91q-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wsapply-x91q-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 28px;
  }

  .wsapply-x91q-timeline-line {
    display: none;
  }
}

@media (max-width: 768px) {
  .wsapply-x91q {
    padding: 60px 18px;
  }

  .wsapply-x91q-title {
    font-size: clamp(32px, 10vw, 52px);
  }

  .wsapply-x91q-intro,
  .wsapply-x91q-step-content p {
    font-size: 16px;
    line-height: 1.75;
  }

  .wsapply-x91q-step {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .wsapply-x91q-step:not(:last-child)::after {
    display: none;
  }

  .wsapply-x91q-step-num {
    margin-bottom: 2px;
  }

  .wsapply-x91q-cards-grid {
    grid-template-columns: 1fr;
  }

  .wsapply-x91q-deadline-card {
    padding: 26px 22px;
    border-radius: 20px;
  }

  .wsapply-x91q-next-box {
    padding: 22px;
  }

  .wsapply-x91q-timeline {
    grid-template-columns: 1fr;
  }

  .wsapply-x91q-footer-note {
    text-align: left;
  }
}










.wsstory-a7k9 {
  width: 100%;
  padding: 90px 24px;
  background:
    radial-gradient(circle at 50% 7%, rgba(0, 102, 255, 0.12), transparent 28%),
    radial-gradient(circle at 14% 34%, rgba(68, 185, 255, 0.08), transparent 25%),
    radial-gradient(circle at 90% 60%, rgba(0, 91, 255, 0.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  color: #122142;
  font-family: inherit;
  overflow: hidden;
}

.wsstory-a7k9-container {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}

.wsstory-a7k9-orbit {
  position: relative;
  width: min(560px, 92vw);
  height: min(560px, 92vw);
  margin: 0 auto 68px;
  border-radius: 50%;
  perspective: 900px;
  transform-style: preserve-3d;
}

.wsstory-a7k9-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 74px;
  height: 74px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, #ffffff 0%, #dcebff 26%, #0f66ff 62%, #071f64 100%);
  box-shadow:
    0 0 0 14px rgba(15, 102, 255, 0.06),
    0 0 44px rgba(15, 102, 255, 0.34),
    inset 0 0 18px rgba(255, 255, 255, 0.72);
}

.wsstory-a7k9-letter {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-left: -10px;
  margin-top: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(9px, 1.15vw, 13px);
  font-weight: 900;
  letter-spacing: 0.08em;
  color: rgba(12, 39, 95, 0.48);
  text-transform: uppercase;
  user-select: none;
  will-change: transform, opacity, color;
  transition:
    color 0.25s ease,
    opacity 0.25s ease,
    text-shadow 0.25s ease;
}

.wsstory-a7k9-letter.is-hot {
  color: #0f66ff;
  opacity: 1 !important;
  text-shadow:
    0 0 10px rgba(15, 102, 255, 0.45),
    0 0 20px rgba(61, 184, 255, 0.28);
}

.wsstory-a7k9-orbit::before {
  content: "";
  position: absolute;
  inset: 11%;
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(15, 102, 255, 0.08), transparent 34%),
    repeating-radial-gradient(circle, rgba(15, 102, 255, 0.055) 0 1px, transparent 1px 26px);
  filter: blur(0.2px);
  pointer-events: none;
}

.wsstory-a7k9-orbit::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 8%;
  height: 28%;
  background: linear-gradient(180deg, transparent, rgba(246, 250, 255, 0.98));
  pointer-events: none;
}

.wsstory-a7k9-line {
  width: 58px;
  height: 1px;
  margin: 0 0 34px;
  background: linear-gradient(90deg, #0f66ff, transparent);
  box-shadow: 0 0 20px rgba(15, 102, 255, 0.32);
}

.wsstory-a7k9-content {
  max-width: 900px;
}

.wsstory-a7k9-content p {
  margin: 0 0 28px;
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.9;
  font-weight: 400;
  color: #5d6b8d;
}

.wsstory-a7k9-content .wsstory-a7k9-lead {
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.85;
  color: #40547c;
}

.wsstory-a7k9-content em {
  color: #315fae;
  font-style: italic;
}

.wsstory-a7k9-content strong {
  color: #102144;
  font-weight: 900;
}

.wsstory-a7k9-signature {
  margin-top: 54px;
  padding-top: 28px;
  border-top: 1px solid rgba(15, 102, 255, 0.13);
}

.wsstory-a7k9-signature strong {
  display: block;
  margin-bottom: 10px;
  font-size: 20px;
  color: #102144;
}

.wsstory-a7k9-signature span {
  display: block;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6e84b7;
}

@media (max-width: 768px) {
  .wsstory-a7k9 {
    padding: 70px 18px;
  }

  .wsstory-a7k9-orbit {
    margin-bottom: 48px;
  }

  .wsstory-a7k9-core {
    width: 58px;
    height: 58px;
  }

  .wsstory-a7k9-content p {
    font-size: 16px;
    line-height: 1.8;
  }

  .wsstory-a7k9-content .wsstory-a7k9-lead {
    font-size: 18px;
  }
}





















.wsfooter-z84p {
  width: 100%;
  padding: clamp(58px, 7vw, 90px) 24px 42px;
  background:
    radial-gradient(circle at 18% 12%, rgba(15, 102, 255, 0.10), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(61, 184, 255, 0.10), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
  color: #112142;
  font-family: inherit;
  overflow: hidden;
}

.wsfooter-z84p-container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.wsfooter-z84p-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 58px);
}

.wsfooter-z84p-card {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  border: 1px solid rgba(15, 102, 255, 0.12);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(247, 250, 255, 0.92));
  box-shadow:
    0 16px 36px rgba(14, 55, 130, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.wsfooter-z84p-card:hover {
  transform: translateY(-6px);
  border-color: rgba(15, 102, 255, 0.28);
  box-shadow:
    0 22px 46px rgba(15, 102, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.wsfooter-z84p-kicker {
  display: inline-block;
  margin-bottom: 22px;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.wsfooter-z84p-orange {
  color: #ff7a1a;
}

.wsfooter-z84p-blue {
  color: #0f66ff;
}

.wsfooter-z84p-green {
  color: #0ebf9a;
}

.wsfooter-z84p-card h3 {
  margin: 0 0 18px;
  font-size: clamp(22px, 2.3vw, 30px);
  line-height: 1.12;
  font-weight: 900;
  letter-spacing: -0.035em;
  color: #102144;
}

.wsfooter-z84p-card p {
  margin: 0 0 28px;
  font-size: 16px;
  line-height: 1.75;
  color: #5f6f90;
}

.wsfooter-z84p-btn {
  margin-top: auto;
  min-height: 46px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  border-radius: 14px;
  text-decoration: none;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.72);
  transition:
    color 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.wsfooter-z84p-btn span {
  transition: transform 0.25s ease;
}

.wsfooter-z84p-btn:hover span {
  transform: translateX(5px);
}

.wsfooter-z84p-btn-orange {
  border: 1px solid rgba(255, 122, 26, 0.28);
  color: #d95f00;
}

.wsfooter-z84p-btn-orange:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #ff7a1a, #ffb15f);
  box-shadow: 0 14px 28px rgba(255, 122, 26, 0.20);
}

.wsfooter-z84p-btn-blue {
  border: 1px solid rgba(15, 102, 255, 0.28);
  color: #0f66ff;
}

.wsfooter-z84p-btn-blue:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #0f66ff, #4fd2ff);
  box-shadow: 0 14px 28px rgba(15, 102, 255, 0.22);
}

.wsfooter-z84p-btn-green {
  border: 1px solid rgba(14, 191, 154, 0.28);
  color: #0a9478;
}

.wsfooter-z84p-btn-green:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #0ebf9a, #45ddc7);
  box-shadow: 0 14px 28px rgba(14, 191, 154, 0.18);
}

.wsfooter-z84p-separator {
  width: 100%;
  height: 1px;
  margin: clamp(46px, 7vw, 74px) 0 34px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(15, 102, 255, 0.18),
    rgba(61, 184, 255, 0.18),
    transparent
  );
}

.wsfooter-z84p-legal {
  max-width: 1120px;
}

.wsfooter-z84p-legal p {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.85;
  color: #7180a0;
}

.wsfooter-z84p-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid rgba(15, 102, 255, 0.10);
}

.wsfooter-z84p-bottom span {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6d83b8;
}

/* TABLET */
@media (max-width: 1024px) {
  .wsfooter-z84p-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wsfooter-z84p-card:last-child {
    grid-column: 1 / -1;
  }
}

/* TELÉFONO */
@media (max-width: 680px) {
  .wsfooter-z84p {
    padding: 54px 18px 34px;
  }

  .wsfooter-z84p-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .wsfooter-z84p-card {
    min-height: auto;
    padding: 24px;
    border-radius: 20px;
  }

  .wsfooter-z84p-card:last-child {
    grid-column: auto;
  }

  .wsfooter-z84p-card p {
    font-size: 15px;
    line-height: 1.7;
  }

  .wsfooter-z84p-btn {
    min-height: 48px;
    letter-spacing: 0.16em;
  }

  .wsfooter-z84p-bottom {
    flex-direction: column;
    gap: 10px;
  }

  .wsfooter-z84p-legal p {
    font-size: 12.5px;
    line-height: 1.75;
  }
}


























/* ===============================
   MEGAMENU FULL WIDTH CORRECTO
   =============================== */

/* ===============================
   MEGAMENU FULL SCREEN REAL
   =============================== */

#sp-header {
  position: relative !important;
  z-index: 99999 !important;
}

/* Evita que el li limite el megamenu */
#sp-header .sp-megamenu-parent > li {
  position: static !important;
}

/* El megamenu ahora se posiciona respecto a la ventana */
#sp-header .sp-megamenu-parent .sp-dropdown.sp-dropdown-main.sp-menu-full {
  position: fixed !important;

  left: 0 !important;
  right: 0 !important;

  top: 80px !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #ffffff !important;
  border-radius: 0 !important;

  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12) !important;

  overflow: visible !important;
  z-index: 99998 !important;
}

/* Anula el container de Helix/Bootstrap */
#sp-header .sp-megamenu-parent .sp-dropdown.sp-dropdown-main.sp-menu-full.container {
  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Área interna del megamenu */
#sp-header .sp-dropdown.sp-menu-full .sp-dropdown-inner {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 auto !important;
  padding: 36px 48px !important;

  background: #ffffff !important;
}

/* Corrige la estructura Bootstrap interna */
#sp-header .sp-dropdown.sp-menu-full .row {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#sp-header .sp-dropdown.sp-menu-full [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Distribución de módulos */
#sp-header .sp-dropdown.sp-menu-full .sp-mega-group {
  width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(3, minmax(260px, 1fr)) !important;
  gap: 22px !important;

  margin: 0 !important;
  padding: 0 !important;
}

/* Cada módulo ocupa su celda */
#sp-header .sp-dropdown.sp-menu-full .sp-module {
  width: 100% !important;
  margin: 0 !important;
}

/* Cada botón ocupa su módulo */
#sp-header .sp-dropdown.sp-menu-full .ws-mega-button-module,
#sp-header .sp-dropdown.sp-menu-full .ws-mega-button {
  width: 100% !important;
}


/* ===============================
   BOTONES INTERNOS DEL MEGAMENU
   =============================== */

#sp-header .ws-mega-button-module {
  width: 100% !important;
  box-sizing: border-box !important;
}

#sp-header .ws-mega-button {
  width: 100% !important;
  min-height: 96px !important;

  display: flex !important;
  align-items: center !important;
  gap: 18px !important;

  padding: 20px 22px !important;
  border-radius: 24px !important;

  background: linear-gradient(135deg, #ffffff 0%, #f4f8ff 48%, #eaf2ff 100%) !important;
  border: 1px solid rgba(0, 87, 255, 0.16) !important;

  text-decoration: none !important;
  color: #0f172a !important;

  box-shadow:
    0 10px 28px rgba(15, 23, 42, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;

  position: relative !important;
  overflow: hidden !important;

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease !important;
}

#sp-header .ws-mega-button:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0, 98, 255, 0.45) !important;

  background: linear-gradient(135deg, #ffffff 0%, #edf5ff 45%, #dcecff 100%) !important;

  box-shadow:
    0 18px 40px rgba(0, 87, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

#sp-header .ws-mega-icon {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 18px !important;

  background: linear-gradient(135deg, #0057ff 0%, #00a3ff 100%) !important;

  box-shadow:
    0 10px 22px rgba(0, 98, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

#sp-header .ws-mega-icon span,
#sp-header .ws-mega-icon {
  font-size: 24px !important;
  line-height: 1 !important;
}

#sp-header .ws-mega-content {
  flex: 1 !important;
  min-width: 0 !important;
}

#sp-header .ws-mega-content h3 {
  margin: 0 0 6px 0 !important;
  padding: 0 !important;

  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;

  color: #0b1f4d !important;
}

#sp-header .ws-mega-content p {
  margin: 0 !important;
  padding: 0 !important;

  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;

  color: #64748b !important;
}

#sp-header .ws-mega-arrow {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;

  color: #0057ff !important;
  background: rgba(0, 87, 255, 0.08) !important;

  font-size: 18px !important;
  font-weight: 800 !important;

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    color 0.25s ease !important;
}

#sp-header .ws-mega-button:hover .ws-mega-arrow {
  transform: translateX(4px) !important;
  background: #0057ff !important;
  color: #ffffff !important;
}


#sp-header .sp-dropdown.sp-menu-full .sp-dropdown-inner {
    max-width: 100% !important;
}
































































/* ==================================================
   1. HELIX / JOOMLA - FIX DEL MEGAMENU FULL WIDTH css desplegado megamenu
   ================================================== */

#sp-header {
  position: relative !important;
  z-index: 99999 !important;
}

/* Evita que el LI padre limite el megamenu */
#sp-header .sp-megamenu-parent > li {
  position: static !important;
}

/* Fuerza el megamenu a ocupar todo el ancho de pantalla */
#sp-header .sp-megamenu-parent .sp-dropdown.sp-dropdown-main.sp-menu-full {
  position: fixed !important;

  left: 0 !important;
  right: 0 !important;

  /* Ajusta este valor si tu header mide más o menos */
  top: 110px !important;

  width: 100vw !important;
  max-width: 100vw !important;

  margin: 0 !important;
  padding: 0 !important;

  background: #ffffff !important;
  border-radius: 0 !important;

  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12) !important;

  overflow: visible !important;
  z-index: 99998 !important;
}

/* Elimina la limitación de Bootstrap/Helix .container */
#sp-header .sp-megamenu-parent .sp-dropdown.sp-dropdown-main.sp-menu-full.container {
  width: 100vw !important;
  max-width: 100vw !important;

  margin-left: 0 !important;
  margin-right: 0 !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Área interna del megamenu */
#sp-header .sp-dropdown.sp-menu-full .sp-dropdown-inner {
  width: 100% !important;
  max-width: 1320px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  background: #ffffff !important;
}

/* Corrige estructura interna de Bootstrap */
#sp-header .sp-dropdown.sp-menu-full .row {
  width: 100% !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}

#sp-header .sp-dropdown.sp-menu-full [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;

  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Evita que Helix use su propio grid dentro del megamenu */
#sp-header .sp-dropdown.sp-menu-full .sp-mega-group {
  width: 100% !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;
}

#sp-header .sp-dropdown.sp-menu-full .sp-module {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

#sp-header .sp-dropdown.sp-menu-full .sp-module-content {
  width: 100% !important;
}


/* ==================================================
   2. MEGAMENU ESTILO SONY / PLAYSTATION
   ================================================== */

.ws-sony-megamenu {
  width: 100%;
  max-width: 100%;

  margin: 0 auto;

  padding: 34px 28px 0;

  box-sizing: border-box;

  background: #ffffff;
}

/* Grid principal de iconos */
.ws-sony-icons-grid {
  width: 100%;

  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));

  align-items: center;
  justify-items: center;

  gap: 22px;
}

/* Botón principal */
.ws-sony-menu-item {
  width: 100%;
  min-height: 112px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-decoration: none !important;
  color: #050505 !important;

  border-radius: 22px;
  background: transparent;

  position: relative;
  overflow: hidden;

  transition:
    transform 0.24s ease,
    background 0.24s ease,
    box-shadow 0.24s ease,
    border-color 0.24s ease;
}

/* Fondo futurista suave al hover */
.ws-sony-menu-item::before {
  content: "";
  position: absolute;

  inset: 8px;

  border-radius: 20px;

  background:
    radial-gradient(circle at center top, rgba(0, 112, 204, 0.12), transparent 58%),
    linear-gradient(180deg, rgba(245, 249, 255, 0.9), rgba(255, 255, 255, 0.4));

  opacity: 0;
  transform: scale(0.96);

  transition:
    opacity 0.24s ease,
    transform 0.24s ease;

  pointer-events: none;
}

/* Línea azul inferior */
.ws-sony-menu-item::after {
  content: "";
  position: absolute;

  left: 34%;
  right: 34%;
  bottom: 5px;

  height: 3px;

  border-radius: 999px;

  background: linear-gradient(90deg, #0057ff, #00a3ff);

  transform: scaleX(0);
  transform-origin: center;

  transition: transform 0.24s ease;
}

/* Hover del botón */
.ws-sony-menu-item:hover {
  transform: translateY(-5px);
}

.ws-sony-menu-item:hover::before {
  opacity: 1;
  transform: scale(1);
}

.ws-sony-menu-item:hover::after {
  transform: scaleX(1);
}

/* Contenedor del icono */
.ws-sony-icon-wrap {
  width: 72px;
  height: 62px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 10px;

  position: relative;
  z-index: 2;
}

/* Imagen del icono */
.ws-sony-icon {
  display: block;

  max-width: 68px;
  max-height: 58px;

  object-fit: contain;

  transition:
    transform 0.24s ease,
    filter 0.24s ease,
    opacity 0.24s ease;

  filter: drop-shadow(0 8px 10px rgba(0, 87, 255, 0.08));
}

/* Hover del icono */
.ws-sony-menu-item:hover .ws-sony-icon {
  transform: translateY(-3px) scale(1.08);

  filter: drop-shadow(0 12px 18px rgba(0, 87, 255, 0.24));
}

/* Texto del botón */
.ws-sony-menu-item span {
  position: relative;
  z-index: 2;

  display: block;

  margin-top: 2px;

  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;

  text-align: center;

  color: #050505;

  letter-spacing: -0.01em;

  transition:
    color 0.24s ease,
    transform 0.24s ease;
}

.ws-sony-menu-item:hover span {
  color: #0057ff;

  transform: translateY(-1px);
}


/* ==================================================
   3. LINKS INFERIORES DEL MEGAMENU
   ================================================== */

.ws-sony-links-row {
  width: 100%;

  margin-top: 26px;
  padding: 19px 16px 6px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 34px;
  flex-wrap: wrap;

  border-top: 1px solid rgba(15, 23, 42, 0.15);
}

.ws-sony-links-row a {
  display: inline-flex;
  align-items: center;

  gap: 8px;

  text-decoration: none !important;

  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;

  color: #050505 !important;

  transition:
    color 0.22s ease,
    transform 0.22s ease;
}

.ws-sony-dot {
  width: 8px;
  height: 8px;

  display: inline-block;

  border-radius: 999px;

  background: #0070cc;

  transition:
    transform 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease;
}

.ws-sony-links-row a:hover {
  color: #0057ff !important;

  transform: translateY(-2px);
}

.ws-sony-links-row a:hover .ws-sony-dot {
  background: #0057ff;

  transform: scale(1.35);

  box-shadow: 0 0 0 5px rgba(0, 87, 255, 0.12);
}


/* ==================================================
   4. EFECTOS DE CLIC / TOUCH
   ================================================== */

.ws-sony-menu-item.ws-sony-clicked {
  transform: scale(0.96);
}

.ws-sony-menu-item.ws-sony-touch {
  background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%) !important;
}


/* ==================================================
   5. RESPONSIVE
   ================================================== */

/* Escritorio mediano / laptop / tablet horizontal */
@media (max-width: 1199px) {
  #sp-header .sp-dropdown.sp-menu-full .sp-dropdown-inner {
    max-width: 100% !important;
  }

  .ws-sony-megamenu {
    padding: 30px 24px 0;
  }

  .ws-sony-icons-grid {
    grid-template-columns: repeat(3, minmax(140px, 1fr));

    gap: 18px;
  }

  .ws-sony-menu-item {
    min-height: 110px;
  }
}

/* Tablet vertical / celular grande */
@media (max-width: 768px) {
  #sp-header .sp-megamenu-parent .sp-dropdown.sp-dropdown-main.sp-menu-full {
    top: 72px !important;

    max-height: calc(100vh - 72px) !important;

    overflow-y: auto !important;
  }

  .ws-sony-megamenu {
    padding: 24px 18px 0;
  }

  .ws-sony-icons-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr));

    gap: 14px;
  }

  .ws-sony-menu-item {
    min-height: 104px;

    border-radius: 18px;
  }

  .ws-sony-icon-wrap {
    width: 62px;
    height: 54px;

    margin-bottom: 8px;
  }

  .ws-sony-icon {
    max-width: 58px;
    max-height: 50px;
  }

  .ws-sony-menu-item span {
    font-size: 14px;
  }

  .ws-sony-links-row {
    justify-content: flex-start;

    gap: 15px 24px;

    padding: 17px 4px 6px;
  }

  .ws-sony-links-row a {
    font-size: 13.5px;
  }
}

/* Celular pequeño */
@media (max-width: 480px) {
  #sp-header .sp-megamenu-parent .sp-dropdown.sp-dropdown-main.sp-menu-full {
    top: 68px !important;

    max-height: calc(100vh - 68px) !important;

    overflow-y: auto !important;
  }

  .ws-sony-megamenu {
    padding: 18px 14px 0;
  }

  .ws-sony-icons-grid {
    grid-template-columns: 1fr;

    gap: 10px;
  }

  .ws-sony-menu-item {
    min-height: 82px;

    flex-direction: row;
    justify-content: flex-start;

    padding: 12px 18px;

    gap: 16px;
  }

  .ws-sony-menu-item::after {
    left: 18px;
    right: auto;

    width: 42px;

    bottom: 8px;
  }

  .ws-sony-icon-wrap {
    width: 52px;
    height: 52px;
    min-width: 52px;

    margin-bottom: 0;
  }

  .ws-sony-icon {
    max-width: 46px;
    max-height: 46px;
  }

  .ws-sony-menu-item span {
    font-size: 15px;

    text-align: left;
  }

  .ws-sony-links-row {
    flex-direction: column;
    align-items: flex-start;

    gap: 14px;

    margin-top: 18px;
    padding-top: 16px;
  }
}




















/* Banner interno 1 */

.ws-online-hero {
  width: 100%;
  background: #ffffff;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.ws-online-wrap {
  width: 100%;
  max-width: 1820px;
  min-height: 560px;
  margin: 0 auto;
  padding: 64px 76px;
  display: grid;
  grid-template-columns: 0.85fr 1.35fr;
  align-items: center;
  gap: 32px;
}

.ws-online-text {
  position: relative;
  z-index: 2;
}

.ws-online-text h1 {
  margin: 0;
  color: #050505;
  font-size: clamp(42px, 4vw, 72px);
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: -0.045em;
}

.ws-online-text h2 {
  margin: 38px 0 10px;
  color: #0070cc;
  font-size: clamp(22px, 1.6vw, 32px);
  font-weight: 400;
  line-height: 1.25;
}

.ws-online-description {
  max-width: 610px;
  margin: 0;
  color: #5f6368;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
}

.ws-online-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.ws-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 24px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}

.ws-btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
}

.ws-btn-primary {
  color: #ffffff;
  background: #0070cc;
  box-shadow: 0 10px 24px rgba(0, 112, 204, 0.24);
}

.ws-btn-secondary {
  color: #ffffff;
  background: #e34800;
  box-shadow: 0 10px 24px rgba(227, 72, 0, 0.22);
}

.ws-online-price {
  margin: 24px 0 0;
  color: #111111;
  font-size: 17px;
  line-height: 1.4;
}

.ws-online-image-area {
  position: relative;
  width: 100%;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ws-online-image {
  width: min(100%, 980px);
  max-height: 470px;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 28px 34px rgba(0, 0, 0, 0.12));
  animation: ws-online-float 6s ease-in-out infinite;
}

@keyframes ws-online-float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

/* TABLET */
@media (max-width: 1024px) {
  .ws-online-wrap {
    min-height: auto;
    padding: 52px 34px 64px;
    grid-template-columns: 1fr;
    gap: 24px;
    text-align: center;
  }

  .ws-online-image-area {
    order: 1;
    min-height: 300px;
  }

  .ws-online-text {
    order: 2;
  }

  .ws-online-text h1 {
    font-size: clamp(36px, 6vw, 58px);
  }

  .ws-online-text h2 {
    margin-top: 24px;
  }

  .ws-online-description {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
  }

  .ws-online-actions {
    justify-content: center;
  }

  .ws-online-image {
    max-height: 330px;
  }
}

/* TELÉFONO */
@media (max-width: 640px) {
  .ws-online-wrap {
    padding: 28px 22px 46px;
    gap: 18px;
  }

  .ws-online-image-area {
    min-height: 180px;
  }

  .ws-online-image {
    max-height: 185px;
    width: 100%;
  }

  .ws-online-text h1 {
    font-size: 31px;
    line-height: 1.15;
    letter-spacing: -0.035em;
  }

  .ws-online-text h2 {
    margin-top: 22px;
    font-size: 22px;
  }

  .ws-online-description {
    font-size: 14px;
    line-height: 1.55;
  }

  .ws-online-actions {
    gap: 10px;
    margin-top: 22px;
  }

  .ws-btn {
    min-height: 42px;
    padding: 0 18px;
    font-size: 13px;
  }

  .ws-online-price {
    margin-top: 18px;
    font-size: 15px;
  }
}

/* TELÉFONO MUY ANGOSTO */
@media (max-width: 420px) {
  .ws-online-actions {
    flex-direction: row;
    justify-content: center;
  }

  .ws-btn {
    padding: 0 16px;
    font-size: 12.5px;
  }

  .ws-online-text h1 {
    font-size: 29px;
  }
}
















/*  Nueva seccion destacados */


.ws-benefits-section {
  width: 100%;
  background: #ffffff;
  padding: 34px 68px 62px;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.ws-benefits-header {
  text-align: center;
  margin-bottom: 64px;
}

.ws-benefits-kicker {
  margin: 0 0 8px;
  color: #6a6a6a;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.ws-benefits-header h2 {
  margin: 0;
  color: #000000;
  font-size: clamp(36px, 4vw, 60px);
  line-height: 0.96;
  font-weight: 900;
  letter-spacing: -0.045em;
  text-transform: uppercase;
}

.ws-benefits-grid {
  max-width: 1760px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ws-benefit-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 440px;
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.11);
  border: 1px solid rgba(0, 0, 0, 0.035);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.ws-benefit-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.16);
}

.ws-benefit-card-featured {
  border: 3px solid rgba(0, 112, 204, 0.42);
  box-shadow:
    0 14px 32px rgba(0, 112, 204, 0.16),
    0 4px 18px rgba(0, 0, 0, 0.08);
}

.ws-card-image {
  position: relative;
  height: 228px;
  overflow: hidden;
  background: #eeeeee;
}

.ws-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform 0.45s ease;
}

.ws-benefit-card:hover .ws-card-image img {
  transform: scale(1.075);
}

.ws-yellow-wave {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -1px;
  height: 52px;
  background: #ffd400;
  border-radius: 52% 48% 0 0 / 84% 84% 0 0;
  transform: rotate(-3deg) translateY(20px);
  box-shadow: 0 -4px 12px rgba(255, 212, 0, 0.28);
}

.ws-yellow-wave::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -22px;
  height: 34px;
  background: #cfcfd2;
  border-radius: 50% 50% 0 0;
  opacity: 0.9;
}

.ws-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 18px 20px;
}

.ws-card-body h3 {
  margin: 0 0 12px;
  color: #000000;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: -0.015em;
}

.ws-card-body p {
  margin: 0;
  color: #161616;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
}

.ws-card-btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  margin-top: auto;
  padding: 0 18px;
  border-radius: 999px;
  color: #ffffff;
  background: #0070cc;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(0, 112, 204, 0.24);
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    background 0.24s ease;
}

.ws-card-btn:hover {
  transform: translateY(-2px);
  background: #005bb5;
  box-shadow: 0 12px 26px rgba(0, 112, 204, 0.34);
}

.ws-benefits-footer {
  display: flex;
  justify-content: center;
  margin-top: 62px;
}

.ws-main-benefit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 24px;
  border-radius: 999px;
  background: #efefef;
  color: #0070cc;
  text-decoration: none;
  font-size: 16px;
  font-weight: 900;
  transition:
    transform 0.24s ease,
    background 0.24s ease,
    color 0.24s ease,
    box-shadow 0.24s ease;
}

.ws-main-benefit-btn:hover {
  transform: translateY(-2px);
  color: #ffffff;
  background: #0070cc;
  box-shadow: 0 12px 26px rgba(0, 112, 204, 0.24);
}

/* TABLET GRANDE */
@media (max-width: 1280px) {
  .ws-benefits-section {
    padding: 34px 40px 58px;
  }

  .ws-benefits-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .ws-card-image {
    height: 250px;
  }
}

/* TABLET / MÓVIL HORIZONTAL */
@media (max-width: 900px) {
  .ws-benefits-section {
    padding: 30px 26px 52px;
  }

  .ws-benefits-header {
    margin-bottom: 42px;
  }

  .ws-benefits-kicker {
    font-size: 14px;
  }

  .ws-benefits-header h2 {
    font-size: clamp(34px, 7vw, 48px);
    line-height: 1;
  }

  .ws-benefit-card {
    min-height: 420px;
  }
}

/* TELÉFONO */
@media (max-width: 640px) {
  .ws-benefits-section {
    padding: 26px 16px 44px;
  }

  .ws-benefits-header {
    margin-bottom: 32px;
  }

  .ws-benefits-kicker {
    font-size: 12px;
  }

  .ws-benefits-header h2 {
    font-size: 32px;
    line-height: 1.02;
    letter-spacing: -0.04em;
  }

  .ws-benefits-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ws-benefit-card {
    min-height: auto;
    border-radius: 16px;
  }

  .ws-benefit-card-featured {
    border-width: 2px;
  }

  .ws-card-image {
    height: 210px;
  }

  .ws-card-body {
    padding: 18px 16px 18px;
  }

  .ws-card-body h3 {
    font-size: 16px;
  }

  .ws-card-body p {
    font-size: 13.5px;
  }

  .ws-card-btn {
    margin-top: 22px;
  }

  .ws-benefits-footer {
    margin-top: 34px;
  }

  .ws-main-benefit-btn {
    width: 100%;
    min-height: 44px;
    text-align: center;
    font-size: 14px;
    padding: 0 18px;
  }
}

/* TELÉFONO PEQUEÑO */
@media (max-width: 420px) {
  .ws-benefits-header h2 {
    font-size: 28px;
  }

  .ws-card-image {
    height: 190px;
  }
}



























/* seccion nueva cursos */

.ws-courses-showcase {
  width: 100%;
  background: #121314;
  color: #ffffff;
  padding: 38px 24px 50px;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  overflow: hidden;
}

.ws-courses-container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.ws-courses-header {
  text-align: center;
  margin-bottom: 34px;
}

.ws-courses-header h2 {
  margin: 0 0 24px;
  color: #ffffff;
  font-size: clamp(25px, 3vw, 36px);
  line-height: 1.18;
  font-weight: 400;
  letter-spacing: -0.035em;
}

.ws-courses-tabs {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 3px;
  border-radius: 999px;
  background: #202124;
}

.ws-course-tab {
  min-height: 31px;
  padding: 0 18px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #f1f1f1;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.ws-course-tab:hover {
  color: #ffffff;
  transform: translateY(-1px);
}

.ws-course-tab.active {
  background: #ffffff;
  color: #111111;
}

/* ESCRITORIO GRANDE */
.ws-courses-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 26px 14px;
  justify-items: center;
}

.ws-course-card {
  width: 100%;
  max-width: 194px;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.28s ease, transform 0.28s ease, filter 0.28s ease;
}

.ws-course-card.is-hidden {
  display: none;
}

.ws-course-card a {
  display: block;
  color: #ffffff;
  text-decoration: none;
}

.ws-course-image {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 8px;
  background: #222222;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.38);
  transition: transform 0.28s ease, box-shadow 0.28s ease, filter 0.28s ease;
}

.ws-course-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.ws-course-card:hover .ws-course-image {
  transform: translateY(-6px) scale(1.025);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(0, 112, 204, 0.42);
}

.ws-course-card:hover .ws-course-image img {
  transform: scale(1.065);
  filter: brightness(1.08) saturate(1.08);
}

.ws-course-badge {
  position: absolute;
  left: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 19px;
  padding: 0 8px;
  border-radius: 5px;
  color: #111111;
  background: #ffffff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: -0.02em;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.24);
}

.ws-course-card h3 {
  margin: 9px 0 0;
  color: #ffffff;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: -0.015em;
  transition: color 0.25s ease;
}

.ws-course-card:hover h3 {
  color: #4da6ff;
}

/* LAPTOP / TABLET HORIZONTAL */
@media (max-width: 1200px) {
  .ws-courses-container {
    max-width: 980px;
  }

  .ws-courses-grid {
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 24px 14px;
  }

  .ws-course-card {
    max-width: 190px;
  }
}

/* TABLET VERTICAL */
@media (max-width: 900px) {
  .ws-courses-showcase {
    padding: 34px 20px 44px;
  }

  .ws-courses-container {
    max-width: 720px;
  }

  .ws-courses-header {
    margin-bottom: 30px;
  }

  .ws-courses-header h2 {
    font-size: clamp(28px, 5vw, 34px);
  }

  .ws-courses-grid {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    gap: 24px 16px;
  }

  .ws-course-card {
    max-width: 200px;
  }

  .ws-courses-tabs {
    max-width: 100%;
    flex-wrap: wrap;
    border-radius: 18px;
    padding: 5px;
    gap: 4px;
  }

  .ws-course-tab {
    min-height: 32px;
    padding: 0 14px;
  }
}

/* TELÉFONO */
@media (max-width: 640px) {
  .ws-courses-showcase {
    padding: 30px 16px 38px;
  }

  .ws-courses-header {
    margin-bottom: 28px;
  }

  .ws-courses-header h2 {
    font-size: 27px;
    line-height: 1.15;
    margin-bottom: 20px;
  }

  .ws-courses-tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    background: #1c1d20;
    border-radius: 18px;
  }

  .ws-course-tab {
    width: 100%;
    min-height: 34px;
    font-size: 10.5px;
  }

  .ws-courses-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 12px;
  }

  .ws-course-card {
    max-width: none;
  }

  .ws-course-image {
    border-radius: 8px;
  }

  .ws-course-card h3 {
    font-size: 11.5px;
  }
}

/* TELÉFONO PEQUEÑO */
@media (max-width: 390px) {
  .ws-courses-showcase {
    padding-left: 12px;
    padding-right: 12px;
  }

  .ws-courses-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 10px;
  }

  .ws-courses-header h2 {
    font-size: 24px;
  }

  .ws-course-badge {
    font-size: 8px;
    padding: 0 6px;
  }
}




































/* =========================================================
   WHITE STAR 40 ANNIVERSARY SECTION
   Prefijo único: ws40-
   Diseñado para no afectar otras secciones
========================================================= */

#ws40-anniversary.ws40-anniversary-section {
  position: relative;
  width: 100%;
  min-height: 530px;
  overflow: hidden;
  isolation: isolate;
  background: #f7f9fc;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  color: #111111;
}

/* Patrón sutil de fondo */
#ws40-anniversary .ws40-pattern-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.42;
  pointer-events: none;
  background-image:
    radial-gradient(circle at 12px 12px, rgba(0, 112, 204, 0.055) 2px, transparent 2.5px),
    linear-gradient(135deg, rgba(0, 112, 204, 0.035) 12%, transparent 12%),
    linear-gradient(45deg, rgba(0, 112, 204, 0.025) 12%, transparent 12%);
  background-size: 76px 76px, 118px 118px, 118px 118px;
  background-position: 0 0, 18px 18px, 42px 42px;
}

#ws40-anniversary .ws40-pattern-layer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 35%, rgba(255, 255, 255, 0.86), transparent 26%),
    radial-gradient(circle at 76% 45%, rgba(255, 255, 255, 0.78), transparent 30%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.45));
}

/* Contenido */
#ws40-anniversary .ws40-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1480px;
  min-height: 530px;
  margin: 0 auto;
  padding: 72px 72px 58px;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  align-items: center;
  gap: 48px;
}

/* Texto */
#ws40-anniversary .ws40-text {
  max-width: 660px;
}

#ws40-anniversary .ws40-kicker {
  margin: 0 0 14px;
  color: #0070cc;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

#ws40-anniversary .ws40-text h2 {
  margin: 0 0 22px;
  color: #111111;
  font-size: clamp(42px, 4.6vw, 72px);
  line-height: 1.04;
  font-weight: 300;
  letter-spacing: -0.055em;
}

#ws40-anniversary .ws40-description {
  max-width: 640px;
  margin: 0;
  color: #5d636d;
  font-size: 17px;
  line-height: 1.72;
  font-weight: 400;
}

/* Botones */
#ws40-anniversary .ws40-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 28px;
}

#ws40-anniversary .ws40-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 26px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  border: 1px solid transparent;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    background 0.24s ease,
    color 0.24s ease;
}

#ws40-anniversary .ws40-btn-primary {
  color: #ffffff;
  background: linear-gradient(135deg, #0057d8 0%, #0070cc 48%, #00a2ff 100%);
  box-shadow: 0 10px 24px rgba(0, 112, 204, 0.25);
}

#ws40-anniversary .ws40-btn-secondary {
  color: #0070cc;
  background: #ffffff;
  border-color: rgba(0, 112, 204, 0.28);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

#ws40-anniversary .ws40-btn:hover {
  transform: translateY(-2px);
}

#ws40-anniversary .ws40-btn-primary:hover {
  box-shadow: 0 16px 36px rgba(0, 112, 204, 0.34);
}

#ws40-anniversary .ws40-btn-secondary:hover {
  color: #ffffff;
  background: #0070cc;
  box-shadow: 0 16px 36px rgba(0, 112, 204, 0.18);
}

/* Visual derecho */
#ws40-anniversary .ws40-visual {
  position: relative;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#ws40-anniversary .ws40-logo-mark {
  position: relative;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 14px;
  color: #000000;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.06));
}

#ws40-anniversary .ws40-star {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(92px, 8vw, 132px);
  height: clamp(92px, 8vw, 132px);
  color: #ffffff;
  font-size: clamp(54px, 5vw, 82px);
  line-height: 1;
  background: linear-gradient(145deg, #0057d8 0%, #0070cc 46%, #00a2ff 100%);
  border-radius: 32% 68% 42% 58% / 54% 36% 64% 46%;
  box-shadow:
    0 18px 40px rgba(0, 112, 204, 0.22),
    inset 0 2px 0 rgba(255, 255, 255, 0.45);
  transform: rotate(-8deg);
}

#ws40-anniversary .ws40-star::before,
#ws40-anniversary .ws40-star::after {
  content: "";
  position: absolute;
  width: 78%;
  height: 13px;
  border-radius: 999px;
  opacity: 0.96;
  transform-origin: center;
}

#ws40-anniversary .ws40-star::before {
  bottom: 18px;
  left: -28px;
  background: linear-gradient(90deg, #ffcf00, #00a87e, #0070cc);
  transform: rotate(-19deg);
}

#ws40-anniversary .ws40-star::after {
  bottom: 30px;
  right: -28px;
  background: linear-gradient(90deg, #e60012, #ffcf00, #0070cc);
  transform: rotate(-19deg);
}

#ws40-anniversary .ws40-number {
  color: #000000;
  font-size: clamp(120px, 14vw, 220px);
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -0.08em;
}

#ws40-anniversary .ws40-years {
  color: #000000;
  font-size: clamp(28px, 4vw, 58px);
  font-weight: 900;
  letter-spacing: -0.05em;
  margin-left: 2px;
}

#ws40-anniversary .ws40-anniversary-title {
  margin-top: 8px;
  text-align: center;
  color: #000000;
  line-height: 0.92;
}

#ws40-anniversary .ws40-anniversary-title span {
  display: block;
  font-size: clamp(36px, 4.7vw, 78px);
  font-weight: 300;
  letter-spacing: -0.055em;
}

#ws40-anniversary .ws40-anniversary-title strong {
  display: block;
  font-size: clamp(42px, 5vw, 86px);
  font-weight: 900;
  letter-spacing: -0.055em;
}

/* Franja inferior multicolor */
#ws40-anniversary .ws40-color-strip {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  height: 18px;
  display: grid;
  grid-template-columns: 1.1fr 0.8fr 1.1fr 0.8fr 1.1fr 0.8fr 1.1fr;
}

#ws40-anniversary .ws40-color-strip span {
  display: block;
  height: 100%;
}

#ws40-anniversary .ws40-strip-a { background: #00a99d; }
#ws40-anniversary .ws40-strip-b { background: #151515; }
#ws40-anniversary .ws40-strip-c { background: #ffc400; }
#ws40-anniversary .ws40-strip-d { background: #151515; }
#ws40-anniversary .ws40-strip-e { background: #0070cc; }
#ws40-anniversary .ws40-strip-f { background: #151515; }
#ws40-anniversary .ws40-strip-g { background: #e60012; }

/* TABLET */
@media (max-width: 1024px) {
  #ws40-anniversary.ws40-anniversary-section {
    min-height: auto;
  }

  #ws40-anniversary .ws40-content {
    min-height: auto;
    grid-template-columns: 1fr;
    padding: 64px 42px 76px;
    gap: 38px;
    text-align: center;
  }

  #ws40-anniversary .ws40-text {
    max-width: 760px;
    margin: 0 auto;
    order: 2;
  }

  #ws40-anniversary .ws40-description {
    margin-left: auto;
    margin-right: auto;
  }

  #ws40-anniversary .ws40-actions {
    justify-content: center;
  }

  #ws40-anniversary .ws40-visual {
    order: 1;
    min-height: 250px;
  }

  #ws40-anniversary .ws40-text h2 {
    font-size: clamp(42px, 8vw, 64px);
  }
}

/* TELÉFONO */
@media (max-width: 640px) {
  #ws40-anniversary .ws40-content {
    padding: 44px 22px 68px;
    gap: 26px;
  }

  #ws40-anniversary .ws40-kicker {
    font-size: 11px;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
  }

  #ws40-anniversary .ws40-text h2 {
    font-size: 39px;
    line-height: 1.06;
    letter-spacing: -0.045em;
    margin-bottom: 16px;
  }

  #ws40-anniversary .ws40-description {
    font-size: 15px;
    line-height: 1.6;
  }

  #ws40-anniversary .ws40-actions {
    gap: 10px;
    margin-top: 24px;
  }

  #ws40-anniversary .ws40-btn {
    width: 100%;
    min-height: 44px;
    font-size: 14px;
    padding: 0 20px;
  }

  #ws40-anniversary .ws40-visual {
    min-height: 210px;
  }

  #ws40-anniversary .ws40-logo-mark {
    gap: 8px;
  }

  #ws40-anniversary .ws40-star {
    width: 72px;
    height: 72px;
    font-size: 42px;
  }

  #ws40-anniversary .ws40-star::before,
  #ws40-anniversary .ws40-star::after {
    height: 9px;
  }

  #ws40-anniversary .ws40-star::before {
    left: -16px;
    bottom: 13px;
  }

  #ws40-anniversary .ws40-star::after {
    right: -16px;
    bottom: 22px;
  }

  #ws40-anniversary .ws40-number {
    font-size: 96px;
  }

  #ws40-anniversary .ws40-years {
    font-size: 28px;
  }

  #ws40-anniversary .ws40-anniversary-title span {
    font-size: 30px;
  }

  #ws40-anniversary .ws40-anniversary-title strong {
    font-size: 37px;
  }

  #ws40-anniversary .ws40-color-strip {
    height: 14px;
    grid-template-columns: repeat(7, 1fr);
  }
}

/* TELÉFONO MUY PEQUEÑO */
@media (max-width: 390px) {
  #ws40-anniversary .ws40-content {
    padding-left: 18px;
    padding-right: 18px;
  }

  #ws40-anniversary .ws40-text h2 {
    font-size: 34px;
  }

  #ws40-anniversary .ws40-number {
    font-size: 82px;
  }

  #ws40-anniversary .ws40-years {
    font-size: 23px;
  }

  #ws40-anniversary .ws40-star {
    width: 62px;
    height: 62px;
    font-size: 36px;
  }

  #ws40-anniversary .ws40-anniversary-title strong {
    font-size: 32px;
  }
}




































/* =========================================================
   WHITE STAR - CARRUSEL DE ARTÍCULOS
   Corrección completa y aislada
   Solo afecta al módulo: #qx-joomla-module-cbs03
========================================================= */

#qx-joomla-module-cbs03 {
  --ws-news-blue: #0070cc;
  --ws-news-blue-dark: #005bb5;
  --ws-news-text: #111111;
  --ws-news-muted: #5f6368;
  --ws-news-bg: #ffffff;
  --ws-news-card: #ffffff;

  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  padding: 70px 0 64px !important;
  margin: 0 !important;
  background: var(--ws-news-bg) !important;
  overflow: hidden !important;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
  box-sizing: border-box !important;
}

/* Aislamiento general interno */
#qx-joomla-module-cbs03 *,
#qx-joomla-module-cbs03 *::before,
#qx-joomla-module-cbs03 *::after {
  box-sizing: border-box !important;
}

/* Título generado por JavaScript */
#qx-joomla-module-cbs03 .ws-news-title {
  display: block !important;
  width: 100% !important;
  margin: 0 0 58px !important;
  padding: 0 24px !important;
  text-align: center !important;
  color: var(--ws-news-text) !important;
  font-size: clamp(34px, 4.4vw, 62px) !important;
  line-height: 1.05 !important;
  font-weight: 300 !important;
  letter-spacing: -0.06em !important;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
}

/* Contenedor del carrusel */
#qx-joomla-module-cbs03 .ws-news-shell {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Lista horizontal */
#qx-joomla-module-cbs03 .mod-articles-items {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: minmax(500px, 560px) !important;
  gap: 30px !important;

  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 7vw 34px !important;

  list-style: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;

  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
}

#qx-joomla-module-cbs03 .mod-articles-items::-webkit-scrollbar {
  display: none !important;
}

/* Cada elemento LI */
#qx-joomla-module-cbs03 .mod-articles-items > li {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  scroll-snap-align: center !important;
}

/* =========================================================
   CORRECCIÓN PRINCIPAL:
   aquí anulamos cualquier padding/margin/height externo
   de .mod-articles-item SOLO dentro de este módulo
========================================================= */

#qx-joomla-module-cbs03 .mod-articles-item {
  position: relative !important;

  display: block !important;
  flex: none !important;
  justify-content: initial !important;
  align-items: initial !important;

  width: 100% !important;
  max-width: none !important;

  height: auto !important;
  min-height: 610px !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: var(--ws-news-card) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.13) !important;

  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease !important;
}

#qx-joomla-module-cbs03 .mod-articles-item:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18) !important;
}

/* Contenido interno de la card */
#qx-joomla-module-cbs03 .mod-articles-item-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;

  width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 610px !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  overflow: hidden !important;
}

/* Visual superior */
#qx-joomla-module-cbs03 .ws-news-visual {
  position: relative !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 300px !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;

  height: 300px !important;
  min-height: 300px !important;
  max-height: 300px !important;

  margin: 0 !important;
  padding: 0 !important;

  align-self: stretch !important;

  overflow: hidden !important;
  border-radius: 18px 18px 0 0 !important;

  background:
    radial-gradient(circle at 28% 25%, rgba(0, 162, 255, 0.36), transparent 30%),
    linear-gradient(135deg, #0057d8 0%, #0070cc 52%, #00a2ff 100%) !important;
}

#qx-joomla-module-cbs03 .ws-news-visual img {
  display: block !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;

  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  border: 0 !important;
  border-radius: 0 !important;

  transition:
    transform 0.45s ease,
    filter 0.45s ease !important;
}

#qx-joomla-module-cbs03 .mod-articles-item:hover .ws-news-visual img {
  transform: scale(1.055) !important;
  filter: brightness(1.05) saturate(1.06) !important;
}

/* Placeholder si no hay imagen */
#qx-joomla-module-cbs03 .ws-news-placeholder {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;

  height: 100% !important;
  min-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #ffffff !important;
  font-size: 56px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.08em !important;
  font-family: Georgia, "Times New Roman", serif !important;

  background:
    radial-gradient(circle at 28% 25%, rgba(0, 162, 255, 0.36), transparent 30%),
    linear-gradient(135deg, #0057d8 0%, #0070cc 52%, #00a2ff 100%) !important;
}

/* Cuerpo textual */
#qx-joomla-module-cbs03 .ws-news-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;

  flex: 1 1 auto !important;

  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;

  min-height: 310px !important;

  margin: 0 !important;
  padding: 24px 26px 24px !important;

  background: #ffffff !important;
  overflow: hidden !important;
}

/* Título de la card */
#qx-joomla-module-cbs03 .ws-news-card-title {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 0 16px !important;
  padding: 0 !important;

  color: var(--ws-news-text) !important;
  font-size: 25px !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  letter-spacing: -0.04em !important;
  text-align: left !important;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
  background: transparent !important;
}

#qx-joomla-module-cbs03 .ws-news-card-title a {
  display: inline !important;
  color: inherit !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: color 0.25s ease !important;
}

#qx-joomla-module-cbs03 .ws-news-card-title a:hover {
  color: var(--ws-news-blue) !important;
}

/* Extracto */
#qx-joomla-module-cbs03 .ws-news-excerpt {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--ws-news-muted) !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
  text-align: left !important;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
}

/* Metadata */
#qx-joomla-module-cbs03 .ws-news-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;

  width: 100% !important;

  margin: auto 0 0 !important;
  padding: 28px 0 0 !important;
}

#qx-joomla-module-cbs03 .ws-news-avatar {
  display: block !important;

  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;

  margin: 0 !important;
  padding: 0 !important;

  border-radius: 12px !important;
  background:
    radial-gradient(circle at 36% 26%, #ffffff 0 12%, transparent 13%),
    linear-gradient(135deg, #0057d8 0%, #0070cc 50%, #00a2ff 100%) !important;
  box-shadow: 0 8px 18px rgba(0, 112, 204, 0.24) !important;
}

#qx-joomla-module-cbs03 .ws-news-meta-text {
  display: block !important;
  min-width: 0 !important;
}

#qx-joomla-module-cbs03 .ws-news-author {
  display: block !important;
  color: #111111 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
}

#qx-joomla-module-cbs03 .ws-news-date {
  display: block !important;
  margin-top: 2px !important;
  color: #777777 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  font-family: "Inter", "Helvetica Neue", Arial, sans-serif !important;
}

/* Flechas */
#qx-joomla-module-cbs03 .ws-news-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 20 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 54px !important;
  height: 54px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  border-radius: 999px !important;

  background: var(--ws-news-blue) !important;
  color: #ffffff !important;

  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 400 !important;

  cursor: pointer !important;
  box-shadow: 0 10px 24px rgba(0, 112, 204, 0.34) !important;

  transform: translateY(-50%) !important;
  transition:
    transform 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease !important;
}

#qx-joomla-module-cbs03 .ws-news-arrow:hover {
  background: var(--ws-news-blue-dark) !important;
  transform: translateY(-50%) scale(1.06) !important;
  box-shadow: 0 14px 32px rgba(0, 112, 204, 0.44) !important;
}

#qx-joomla-module-cbs03 .ws-news-arrow-prev {
  left: 52px !important;
}

#qx-joomla-module-cbs03 .ws-news-arrow-next {
  right: 52px !important;
}

/* Puntos */
#qx-joomla-module-cbs03 .ws-news-dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;

  width: 100% !important;

  margin: 4px 0 0 !important;
  padding: 0 !important;
}

#qx-joomla-module-cbs03 .ws-news-dot {
  display: block !important;

  width: 18px !important;
  height: 3px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  border-radius: 999px !important;

  background: #cfcfcf !important;
  cursor: pointer !important;

  transition:
    width 0.22s ease,
    background 0.22s ease !important;
}

#qx-joomla-module-cbs03 .ws-news-dot.is-active {
  width: 24px !important;
  background: var(--ws-news-blue) !important;
}

/* =========================================================
   Limpieza de clases originales dentro de este módulo.
   Esto evita que Joomla/Quix meta padding, margin o estilos raros.
========================================================= */

#qx-joomla-module-cbs03 .mod-articles-title,
#qx-joomla-module-cbs03 .mod-articles-link,
#qx-joomla-module-cbs03 .article-intro-image {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* TABLET GRANDE */
@media (max-width: 1200px) {
  #qx-joomla-module-cbs03 {
    padding: 60px 0 58px !important;
  }

  #qx-joomla-module-cbs03 .mod-articles-items {
    grid-auto-columns: minmax(430px, 500px) !important;
    padding-left: 42px !important;
    padding-right: 42px !important;
    gap: 24px !important;
  }

  #qx-joomla-module-cbs03 .mod-articles-item,
  #qx-joomla-module-cbs03 .mod-articles-item-content {
    min-height: 570px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-visual {
    flex-basis: 260px !important;
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-card-title {
    font-size: 23px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-arrow-prev {
    left: 16px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-arrow-next {
    right: 16px !important;
  }
}

/* TABLET */
@media (max-width: 900px) {
  #qx-joomla-module-cbs03 .ws-news-title {
    margin-bottom: 40px !important;
    font-size: clamp(32px, 6vw, 44px) !important;
  }

  #qx-joomla-module-cbs03 .mod-articles-items {
    grid-auto-columns: minmax(360px, 72vw) !important;
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

  #qx-joomla-module-cbs03 .mod-articles-item,
  #qx-joomla-module-cbs03 .mod-articles-item-content {
    min-height: 540px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-visual {
    flex-basis: 235px !important;
    height: 235px !important;
    min-height: 235px !important;
    max-height: 235px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-arrow {
    width: 48px !important;
    height: 48px !important;
    font-size: 30px !important;
  }
}

/* TELÉFONO */
@media (max-width: 640px) {
  #qx-joomla-module-cbs03 {
    padding: 44px 0 46px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-title {
    margin-bottom: 30px !important;
    padding: 0 20px !important;
    font-size: 31px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.045em !important;
  }

  #qx-joomla-module-cbs03 .mod-articles-items {
    grid-auto-columns: 82vw !important;
    gap: 18px !important;
    padding-left: 9vw !important;
    padding-right: 9vw !important;
  }

  #qx-joomla-module-cbs03 .mod-articles-item {
    border-radius: 16px !important;
  }

  #qx-joomla-module-cbs03 .mod-articles-item,
  #qx-joomla-module-cbs03 .mod-articles-item-content {
    min-height: 500px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-visual {
    flex-basis: 205px !important;
    height: 205px !important;
    min-height: 205px !important;
    max-height: 205px !important;
    border-radius: 16px 16px 0 0 !important;
  }

  #qx-joomla-module-cbs03 .ws-news-body {
    padding: 20px 18px 20px !important;
    min-height: 295px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-card-title {
    font-size: 21px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-excerpt {
    font-size: 14px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-arrow {
    width: 42px !important;
    height: 42px !important;
    font-size: 26px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-arrow-prev {
    left: 10px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-arrow-next {
    right: 10px !important;
  }
}

/* TELÉFONO PEQUEÑO */
@media (max-width: 420px) {
  #qx-joomla-module-cbs03 .mod-articles-items {
    grid-auto-columns: 86vw !important;
    padding-left: 7vw !important;
    padding-right: 7vw !important;
  }

  #qx-joomla-module-cbs03 .ws-news-visual {
    flex-basis: 185px !important;
    height: 185px !important;
    min-height: 185px !important;
    max-height: 185px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-card-title {
    font-size: 19px !important;
  }

  #qx-joomla-module-cbs03 .ws-news-arrow {
    display: none !important;
  }
}



































/* =========================================================
   WHITE STAR TOP ACTIONS - JOOMLA / HELIX
========================================================= */

/* Contenedor específico del módulo */
#sp-header #sp-menu .sp-module:has(.wsTopActions) {
  margin-left: 24px !important;
  margin-right: 40px !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  background: transparent !important;
  overflow: visible !important;
}

/* Evita que Helix corte los dropdowns */
#sp-header,
#sp-header .container,
#sp-header .container-inner,
#sp-header #sp-menu,
#sp-header #sp-menu .sp-column,
#sp-header #sp-menu .sp-module,
#sp-header #sp-menu .sp-module-content,
.sp-megamenu-wrapper {
  overflow: visible !important;
}

/* Toolbar principal */
.wsTopActions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
  position: relative !important;
  z-index: 999999 !important;
  width: auto !important;
  height: 48px !important;
}

.wsTopActions,
.wsTopActions * {
  box-sizing: border-box;
}

.wsTopActions__item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

/* Botones */
.wsTopActions__btn {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  border: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background-color: transparent !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background 0.25s ease, transform 0.25s ease;
  overflow: visible !important;
}

.wsTopActions__btn:hover {
  background-color: rgba(0, 112, 243, 0.10) !important;
  transform: translateY(-1px);
}

/* =========================================================
   ICONO MI CURSO - CSS PURO
========================================================= */

.wsTopActions__course {
  position: relative !important;
  background-image: linear-gradient(#111827, #111827) !important;
  background-size: 2px 22px !important;
  background-repeat: no-repeat !important;
  background-position: calc(50% - 6px) center !important;
}

.wsTopActions__course::before {
  content: "" !important;
  width: 22px !important;
  height: 26px !important;
  border: 2px solid #111827 !important;
  border-radius: 5px 8px 8px 5px !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  display: block !important;
}

.wsTopActions__course::after {
  content: "" !important;
  width: 10px !important;
  height: 2px !important;
  background: #111827 !important;
  border-radius: 10px !important;
  position: absolute !important;
  left: 50% !important;
  top: 47% !important;
  transform: translate(-25%, -50%) !important;
  box-shadow: 0 6px 0 #111827 !important;
  display: block !important;
}

/* =========================================================
   ICONO ASISTENCIA - CSS PURO
========================================================= */

.wsTopActions__attendance {
  position: relative !important;
  overflow: visible !important;
  background-image:
    radial-gradient(circle, #111827 0 4px, transparent 4.5px),
    linear-gradient(#111827, #111827) !important;
  background-size:
    9px 9px,
    14px 2px !important;
  background-position:
    center 11px,
    center 25px !important;
  background-repeat: no-repeat !important;
}

.wsTopActions__attendance::before {
  content: "" !important;
  width: 25px !important;
  height: 25px !important;
  border: 2px solid #111827 !important;
  border-radius: 50% !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  display: block !important;
}

.wsTopActions__attendance::after {
  content: "✓" !important;
  position: absolute !important;
  right: 3px !important;
  bottom: 3px !important;
  width: 16px !important;
  height: 16px !important;
  background: #0070f3 !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  font-size: 11px !important;
  line-height: 16px !important;
  text-align: center !important;
  font-weight: 800 !important;
  z-index: 5 !important;
  display: block !important;
}

/* =========================================================
   PERFIL
========================================================= */

.wsTopActions__profile {
  border: 2px solid #0070f3 !important;
  background: rgba(0, 112, 243, 0.08) !important;
  overflow: hidden !important;
}

.wsTopActions__profile img {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
  background: #edf5ff !important;
}

/* =========================================================
   DROPDOWNS
========================================================= */

.wsTopActions__dropdown {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  width: 270px !important;
  background: #ffffff !important;
  border-radius: 0 0 22px 22px !important;
  padding: 12px 0 !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.18) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(10px) !important;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s ease !important;
  z-index: 9999999 !important;
}

/* Estado abierto por JavaScript */
.wsTopActions__item.is-open .wsTopActions__dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) !important;
}

/* En escritorio también puede abrir con hover directo */
@media (hover: hover) and (pointer: fine) {
  .wsTopActions__item:hover .wsTopActions__dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
}

/* Links del menú */
.wsTopActions__dropdown a {
  display: block !important;
  padding: 13px 22px !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    padding-left 0.2s ease !important;
}

.wsTopActions__dropdown a:hover {
  background: #f3f7ff !important;
  color: #006ee6 !important;
  padding-left: 28px !important;
}

/* Dropdown de perfil */
.wsTopActions__profileDropdown {
  width: 300px !important;
}

.wsTopActions__profileHeader {
  display: flex !important;
  align-items: center !important;
  gap: 13px !important;
  padding: 18px 20px 16px !important;
  border-bottom: 1px solid #eef1f5 !important;
  margin-bottom: 6px !important;
}

.wsTopActions__avatar {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: #f2f5fb !important;
  border: 1px solid #dbe3ef !important;
  flex: 0 0 auto !important;
}

.wsTopActions__avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.wsTopActions__user {
  min-width: 0 !important;
}

.wsTopActions__user strong {
  display: block !important;
  color: #111827 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  max-width: 190px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.wsTopActions__user span {
  display: block !important;
  margin-top: 4px !important;
  color: #6b7280 !important;
  font-size: 12px !important;
  font-style: normal !important;
  max-width: 190px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 768px) {
  #sp-header #sp-menu .sp-module:has(.wsTopActions) {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  .wsTopActions {
    gap: 8px !important;
  }

  .wsTopActions__btn {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
  }

  .wsTopActions__course::before {
    width: 20px !important;
    height: 24px !important;
  }

  .wsTopActions__attendance::before {
    width: 23px !important;
    height: 23px !important;
  }

  .wsTopActions__dropdown {
    position: fixed !important;
    top: 72px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    border-radius: 0 0 22px 22px !important;
  }

  .wsTopActions__profileDropdown {
    width: auto !important;
  }
}