/* ============================================================
   NIZUDY · Intranet Mi Cuenta (CSS completo)
   Pegar en: assets/css/nizudy_instituto_plugin_madre_v_0.css
============================================================ */

/* 0) Quitar límites de ancho del tema en "Mi cuenta" */
body.woocommerce-account .wp-site-blocks,
body.woocommerce-account main,
body.woocommerce-account .entry-content,
body.woocommerce-account .wp-block-post-content,
body.woocommerce-account .wp-block-group.is-layout-flow,
body.woocommerce-account .woocommerce{
  max-width:none !important;
  width:100% !important;
}

/* 1) Layout general de la intranet */
body.woocommerce-account .nizu-intranet-wrapper{
  display:flex;
  gap:30px;
  align-items:flex-start;
  width:100%;
  box-sizing:border-box;
  padding:25px 30px;
  background:transparent;
}

/* 2) Sidebar */
body.woocommerce-account .nizu-intranet-sidebar{
  width:260px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* 2.1) Botones del sidebar — morado sólido (sin difuminado) */
:root{ --nizu-purple:#6b38d1; }

body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn,
body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn:hover,
body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn:focus,
body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn:active,
body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn:visited{
  background:var(--nizu-purple) !important;
  color:#fff !important;
  border:none !important;
  border-radius:20px !important;
  padding:14px 16px;
  font-weight:600;
  text-decoration:none;
  display:block;
  box-shadow:none !important;
  outline:0 !important;
  transition:transform .15s ease, filter .15s ease;
}
body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}
body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn:active{
  transform:translateY(0);
}
/* (opcional) marcar botón actual si le agregas .is-current */
body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn.is-current{
  filter:brightness(1.12);
}

/* 3) Contenedor del contenido (columna derecha) */
body.woocommerce-account .nizu-intranet-main{
  flex:1;
  min-width:0;
  display:block;
}

/* 4) Panel de WooCommerce (contenido) */
body.woocommerce-account .woocommerce-MyAccount-content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  background:#fff;
  padding:25px 30px;
  border-radius:16px;
  border:1px solid #e6e6e6;
  box-sizing:border-box;
  min-height:420px;
  overflow-x:visible; /* sin barra horizontal */
}

/* 5) Ocultar el menú nativo de WooCommerce */
body.woocommerce-account .woocommerce-MyAccount-navigation{
  display:none !important;
}

/* 6) Tablas dentro del panel */
body.woocommerce-account .woocommerce-MyAccount-content table{
  width:100%;
  border-collapse:collapse;
}
body.woocommerce-account .woocommerce-MyAccount-content th,
body.woocommerce-account .woocommerce-MyAccount-content td{
  padding:12px 10px;
  vertical-align:middle;
}

/* 7) Responsive */
@media (max-width:940px){
  body.woocommerce-account .nizu-intranet-wrapper{
    flex-direction:column;
    padding:20px;
  }
  body.woocommerce-account .nizu-intranet-sidebar{
    width:100%;
  }
  body.woocommerce-account .woocommerce-MyAccount-content{
    padding:20px;
  }
}
/* === Título moderno para secciones de la intranet === */
body.woocommerce-account .woocommerce-MyAccount-content h2{
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial !important;
  font-weight: 600 !important;      /* más elegante que 700–800 */
  font-size: 2.1rem !important;      /* menos agresivo que el anterior */
  letter-spacing: -0.5px !important; /* look moderno tipo Stripe/Notion */
  color: #222 !important;
  margin-bottom: 22px !important;
  margin-top: 0 !important;
}
/* =============================================
   TIPOGRAFÍA GLOBAL PARA TODA LA INTRANET NIZUDY
   ============================================= */

/* Aplica Inter a TODO en Mi Cuenta */
body.woocommerce-account{
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial !important;
}

/* Forzar también en textos internos */
body.woocommerce-account *{
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial !important;
}

/* Afinar estilos de texto */
body.woocommerce-account th{
  font-weight:600 !important;
}
body.woocommerce-account td{
  font-weight:500 !important;
}

/* ======================================================
   TIPOGRAFÍA GLOBAL SOLO FRONTEND (NO WP-ADMIN / NO EDITOR)
   ====================================================== */

body:not(.wp-admin):not(.block-editor-page){
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial !important;
}

body:not(.wp-admin):not(.block-editor-page) *{
  font-family: inherit !important;
}



body:not(.wp-admin):not(.block-editor-page) h1,
body:not(.wp-admin):not(.block-editor-page) h2,
body:not(.wp-admin):not(.block-editor-page) h3,
body:not(.wp-admin):not(.block-editor-page) h4,
body:not(.wp-admin):not(.block-editor-page) h5,
body:not(.wp-admin):not(.block-editor-page) h6{
  font-weight: 600 !important;
  letter-spacing: -0.4px !important;
  color:#222;
}

body:not(.wp-admin):not(.block-editor-page) p,
body:not(.wp-admin):not(.block-editor-page) li,
body:not(.wp-admin):not(.block-editor-page) span,
body:not(.wp-admin):not(.block-editor-page) a{
  font-weight: 400 !important;
}

/* WooCommerce — precio, botones, etiquetas */
body:not(.wp-admin):not(.block-editor-page) .woocommerce a.button,
body:not(.wp-admin):not(.block-editor-page) .woocommerce button.button,
body:not(.wp-admin):not(.block-editor-page) .woocommerce input.button{
  font-family: inherit !important;
  font-weight: 600 !important;
}
/* FIX: no romper íconos (Dashicons) en la barra superior */
#wpadminbar .ab-icon:before,
#wpadminbar .dashicons:before,
#wpadminbar [class*="dashicons-"]:before{
  font-family: dashicons !important;
}

/* ===========================================
   TARJETAS DEL HOME · ESTILO ACADÉMICO
=========================================== */

/* Card completa (HOME) */
.nizu-home-products ul.products li.product{
  background: #fafbfc;
  border-radius: 22px !important;
  padding: 12px 12px 20px !important; /* ✅ menos borde interno */
  border: 1px solid #e8ebf1;
  transition: all .25s ease;
  position: relative;
  overflow: hidden;
}

/* Hover */
ul.products li.product:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 22px rgba(0,0,0,0.08);
}

/* Ocultar precio SOLO en el home */
.home ul.products li.product .price {
    display: none !important;
}

/* Título del área */
ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    margin-top: 12px !important;
    margin-bottom: 18px !important;
    text-align: center !important;
}

/* Centrar botón */
ul.products li.product .button {
    display: block !important;
    margin: 0 auto !important;
    margin-top: 10px !important;
    text-align: center !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    font-weight: 600 !important;
    background: #000 !important;
    color: #fff !important;
}

/* Más bonito en hover */
ul.products li.product .button:hover {
    background: #222 !important;
}
/* =========================================
   FICHA INDIVIDUAL · DISEÑO ACADÉMICO
========================================= */

/* Contenedor módulos al lado de la imagen */
.nizu-modulos-box{
    padding:20px;
    background:#f7f9fc;
    border-radius:18px;
    border:1px solid #e6e8ef;
    margin:20px 0;
}

.nizu-title-mod{
    margin:0 0 15px;
    font-size:1.3rem;
    font-weight:600;
}

.nizu-table-mod{
    width:100%;
    border-collapse:collapse;
    font-size:.95rem;
}

.nizu-table-mod th{
    background:#eef1f7;
    padding:8px;
    font-weight:600;
}

.nizu-table-mod td{
    padding:8px;
    border-top:1px solid #e2e4ea;
}

/* Botón matricular */
.single_add_to_cart_button{
    background:#6b38d1 !important;
    color:#fff !important;
    border-radius:12px !important;
    padding:14px 20px !important;
    font-weight:600 !important;
}

.single_add_to_cart_button:hover{
    background:#5428b0 !important;
}

/* Bloque tutor recuadro moderno */
.nizu-tutor-box{
    margin-top:40px;
    padding:25px;
    border-radius:18px;
    background:#fafafa;
    border:1px solid #e4e4e4;
}
/* === Precio oculto → visible en hover/click (tabla de módulos) === */
.nizu-table-mod td.nizu-precio{
  position: relative;
  color: transparent;        /* oculta el valor real */
  user-select: none;
}
.nizu-table-mod td.nizu-precio::after{
  content: "Ver precio";
  color: #6b7280;            /* gris medio */
  font-weight: 500;
  opacity: .95;
  transition: opacity .2s ease, color .2s ease;
}
.nizu-row-mod:hover td.nizu-precio::after,
.nizu-row-mod:focus td.nizu-precio::after{
  content: attr(data-precio);/* muestra el CLP real */
  color: var(--nizu-purple);
  font-weight: 600;
  opacity: 1;
}

/* Accesibilidad al navegar con teclado en la fila */
.nizu-row-mod{ outline: 0; }
.nizu-row-mod:focus{ box-shadow: 0 0 0 2px rgba(107,56,209,.18) inset; }

/* === Imagen de producto: recorte + bordes + sin zoom visual === */
.single-product div.product .woocommerce-product-gallery__image img{
  border-radius: 20px !important;
  width: 100% !important;
  height: 520px !important;      /* ajusta 420–560px según tus fotos */
  object-fit: cover !important;  /* recorte elegante */
}

/* Oculta la lupa y bloquea interacciones (zoom/lightbox) */
.woocommerce-product-gallery__trigger{ display: none !important; }
.single-product div.product .woocommerce-product-gallery__image a{
  pointer-events: none !important;
  cursor: default !important;
}
/* ============================================================
   FORMULARIO DE POSTULACIÓN A TUTOR (MODERNO)
   ============================================================ */
.nizu-tutor-box {
  margin: 40px auto 60px;
  max-width: 620px;
  background: #f9fafb;
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.05);
  padding: 24px 28px;
  text-align: center;
  transition: box-shadow 0.3s ease;
}
.nizu-tutor-box:hover {
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}
.nizu-tutor-box h3 {
  font-size: 1.2rem;
  color: #1f2937;
  margin-bottom: 12px;
}
.nizu-tutor-form textarea {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 12px;
  font-size: 15px;
  background: #fff;
  resize: none;
  transition: all 0.2s ease;
}
.nizu-tutor-form textarea:focus {
  border-color: #8b5cf6;
  box-shadow: 0 0 0 2px rgba(139,92,246,0.2);
  outline: none;
}
.nizu-tutor-form button {
  background: linear-gradient(90deg, #8b5cf6, #7c3aed);
  color: #fff;
  font-weight: 600;
  border: none;
  padding: 10px 22px;
  border-radius: 10px;
  margin-top: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.nizu-tutor-form button:hover {
  background: linear-gradient(90deg, #7c3aed, #6d28d9);
  transform: translateY(-1px);
}
/* ============================================================
   FICHA: descripción limpia y moderna
   ============================================================ */

/* Oculta el extracto duplicado */
.woocommerce-product-details__short-description,
.wp-block-post-excerpt__excerpt {
  display: none !important;
}

/* Contenedor de la descripción (pestaña inferior) */
.woocommerce-Tabs-panel--description {
  background: #fff;
  border-radius: 20px;
  padding: 28px 30px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  font-size: 1rem;
  line-height: 1.65;
  color: #333;
  margin-top: 10px;
}

/* Quitar el título grande (ya eliminado por PHP, pero aseguramos por si el tema lo imprime) */
.woocommerce-Tabs-panel--description h2 {
  display: none !important;
}

/* Tab activo (“¿Qué aprenderás?”) con color institucional */
.woocommerce-tabs .tabs li.active a {
  border-bottom: 3px solid #6b38d1 !important;
  color: #6b38d1 !important;
  font-weight: 600;
}

/* Estilo suave del tab inactivo */
.woocommerce-tabs .tabs li a {
  color: #555;
  font-weight: 500;
  padding-bottom: 6px;
  transition: all 0.2s ease;
}

/* Suavizar transición entre pestañas */
.woocommerce-Tabs-panel {
  transition: all 0.25s ease-in-out;
}
/* --- Quitar casillas fantasma de cantidad o formularios --- */
ul.products li.product form.cart,
ul.products li.product .quantity,
ul.products li.product select,
ul.products li.product .added_to_cart,
ul.products li.product .cart,
ul.products li.product input[type="number"],
ul.products li.product input[type="hidden"],
ul.products li.product input[type="submit"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Botón "Ver más" --- */
.nizu-view-product {
  background: #000 !important;
  color: #fff !important;
  border-radius: 14px !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  text-align: center !important;
  display: block !important;
  width: fit-content;
  margin: 14px auto 0 !important;
  transition: all .2s ease;
  text-decoration: none !important; /* sin subrayado */
}

.nizu-view-product:hover {
  background: #5128ff !important;
  transform: translateY(-2px);
}
/* Quitar cajas de enfoque en las tarjetas del home (Firefox/otros) */
.nizu-home-products ul.products li.product a:focus,
.nizu-home-products ul.products li.product a:focus-visible,
.nizu-home-products ul.products li.product a:active,
.nizu-home-products ul.products li.product .woocommerce-LoopProduct-link:focus,
.nizu-home-products ul.products li.product .woocommerce-LoopProduct-link:focus-visible{
  outline: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* Evitar subrayado en el título enlazado */
.nizu-home-products ul.products li.product h2.woocommerce-loop-product__title a{
  text-decoration: none !important;
}
.nizu-home-products ul.products li.product h2.woocommerce-loop-product__title a:hover{
  text-decoration: none !important;
}
/* ============================================================
   TITULOS GENERALES · ESTILO MODERNO TIPO PREPLY
   ============================================================ */

/* Título grande (ficha individual) */
.single-product div.product .product_title {
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial !important;
  font-weight: 700 !important;
  font-size: 2.3rem !important; /* ligeramente más grande */
  letter-spacing: -0.5px !important;
  color: #111 !important;
  margin-bottom: 0.4em !important;
}

/* Precio justo debajo del título */
.single-product div.product .price {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #333 !important;
}

/* Títulos de las tarjetas del home (coherentes con el principal) */
ul.products li.product h2.woocommerce-loop-product__title {
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial !important;
  font-weight: 700 !important;
  font-size: 1.3rem !important;
  letter-spacing: -0.3px !important;
  color: #111 !important;
  text-align: center !important;
  margin-top: 12px !important;
  margin-bottom: 16px !important;
}

/* Sin subrayado en títulos ni al pasar el mouse */
ul.products li.product h2.woocommerce-loop-product__title a,
ul.products li.product h2.woocommerce-loop-product__title a:hover {
  text-decoration: none !important;
  color: inherit !important;
}

/* ============================================================
   FICHA INDIVIDUAL · IMAGEN OPTIMIZADA HASTA EL BOTÓN
   ============================================================ */

/* Imagen recortada más pequeña (altura justa hasta el botón) */
.single-product div.product .woocommerce-product-gallery__image img {
  height: 420px !important; /* antes 520px */
  object-fit: cover !important;
  border-radius: 20px !important;
  width: 100% !important;
  margin-bottom: 15px !important;
}

/* Ajuste del contenedor principal para coherencia visual */
.single-product div.product {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 40px;
}

.single-product div.product .summary {
  flex: 1 1 380px;
}

.single-product div.product .woocommerce-product-gallery {
  flex: 1 1 380px;
  max-width: 520px;
}

/* Botón "Matricularme" con distancia justa */
.single_add_to_cart_button {
  margin-top: 16px !important;
}

/* Módulos del área más alineados con la imagen */
.nizu-modulos-box {
  margin-top: 10px !important;
}
/* ============================================================
   HOME – TARJETAS DE CARRERAS CON TIPOGRAFÍA PREPLY-LIKE
   ============================================================ */

/* Título general del bloque */
.nizu-home-products h2 {
  font-family: "Inter", "Poppins", "Segoe UI", system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 2.1rem !important;
  letter-spacing: -0.4px !important;
  color: #111 !important;
  margin-bottom: 30px !important;
  text-align: center !important;
}

/* Títulos de cada tarjeta (nombre de carrera) */
ul.products li.product h2.woocommerce-loop-product__title {
  font-family: "Inter", "Poppins", "Segoe UI", system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.35rem !important; /* más grande y legible */
  letter-spacing: -0.3px !important;
  line-height: 1.3em !important;
  color: #111 !important;
  text-align: center !important;
  margin-top: 14px !important;
  margin-bottom: 20px !important;
  text-decoration: none !important;
  border: none !important;
}

/* Elimina subrayado en cualquier estado */
ul.products li.product h2.woocommerce-loop-product__title a,
ul.products li.product h2.woocommerce-loop-product__title a:hover,
ul.products li.product h2.woocommerce-loop-product__title a:focus,
ul.products li.product h2.woocommerce-loop-product__title a:active {
  text-decoration: none !important;
  color: #111 !important;
}

/* Botón “Ver más” más moderno */
.nizu-view-product {
  font-family: "Inter", "Poppins", sans-serif !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: 14px !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  text-align: center !important;
  display: block !important;
  width: fit-content;
  margin: 14px auto 0 !important;
  font-size: 1.05rem !important;
  transition: all .2s ease;
  text-decoration: none !important;
}
.nizu-view-product:hover {
  background: #3a3a3a !important;
  transform: translateY(-2px);
}
/* ============================================================
   CORRECCIÓN FINAL – TÍTULOS DE TARJETAS (HOME)
   ============================================================ */

/* Nombre de carrera */
ul.products li.product h2.woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__link h2.woocommerce-loop-product__title {
  font-family: "Inter", "Poppins", "Segoe UI", system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.55rem !important; /* más grande que antes */
  line-height: 1.3em !important;
  letter-spacing: -0.3px !important;
  color: #111 !important;
  text-align: center !important;
  margin-top: 14px !important;
  margin-bottom: 22px !important;
  text-decoration: none !important;
  border: none !important;
}

/* Quitar cualquier subrayado heredado */
ul.products li.product h2.woocommerce-loop-product__title a,
ul.products li.product h2.woocommerce-loop-product__title a:hover,
ul.products li.product h2.woocommerce-loop-product__title a:focus,
ul.products li.product .woocommerce-loop-product__link h2.woocommerce-loop-product__title a {
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #111 !important;
}

/* Asegurar que WooCommerce no vuelva a aplicar estilos por defecto */
ul.products li.product .woocommerce-loop-product__link {
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Hover sutil (solo cambio de opacidad, sin subrayar) */
ul.products li.product h2.woocommerce-loop-product__title:hover {
  opacity: 0.85;
  transition: opacity .2s ease-in-out;
}
/* ============================================================
   HOME – SLIDER NIZUDY (3 BANNERS) · CAMBIO SECO 6s SIN FADE
   (Overlay + subtítulo con placa, SIN sombras)
   ============================================================ */

.nizu-slider-css{
  width:100%;
  height:420px;
  position:relative;
  overflow:hidden;
}

/* Cada slide ocupa todo el área */
.nizu-slide-css{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  overflow:hidden;

}

/* Overlay (degradado izquierda → derecha) */
.nizu-slide-css::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background: linear-gradient(90deg,
    rgba(0,0,0,.28) 0%,
    rgba(0,0,0,.16) 38%,
    rgba(0,0,0,.06) 60%,
    rgba(0,0,0,0) 80%
  );
}

/* Imagen de fondo (FORZADA para que no quede “rayita”) */
.nizu-slide-css img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  min-height:100% !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

/* Capa de textos encima */
.nizu-slide-caption{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-left:60px;
  padding-right:60px;
  max-width:620px;
  box-sizing:border-box;
  z-index:2;

}

/* Textos blancos SIN sombras */
.nizu-slide-caption *{
  color:#fff !important;
  text-shadow:none !important;
  background:transparent !important;
}

.nizu-slide-caption h1{
  font-size:2.6rem;
  font-weight:700;
  margin:0 0 12px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

/* Subtítulo con “placa” sutil */
.nizu-slide-caption p{
  font-size: 1.22rem;
  font-weight: 600;
  line-height: 1.45;
  max-width: 460px;
  margin-top: 6px;
  margin-bottom: 0;

  color: #fff !important;          /* blanco puro */
  opacity: 1;                      /* 100 % visible */

  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}



/* ============================================================
   ANIMACIONES – 3 SLIDES, 18s CICLO (6s CADA UNO)
   SIN FADES (steps(1,end))
   ============================================================ */

/* Slide 1: 0–6s */
.nizu-slide-1{
  animation:nizu-slide-1-anim 21s infinite steps(1,end);
}
@keyframes nizu-slide-1-anim{
  0%   { opacity:1; }
  33%  { opacity:1; }   /* visible ~0–6s */
  34%  { opacity:0; }
  100% { opacity:0; }
}

/* Slide 2: 6–12s */
.nizu-slide-2{
  animation:nizu-slide-2-anim 21s infinite steps(1,end);
}
@keyframes nizu-slide-2-anim{
  0%   { opacity:0; }
  33%  { opacity:0; }
  34%  { opacity:1; }   /* visible ~6–12s */
  66%  { opacity:1; }
  67%  { opacity:0; }
  100% { opacity:0; }
}

/* Slide 3: 12–18s */
.nizu-slide-3{
  animation:nizu-slide-3-anim 21s infinite steps(1,end);
}
@keyframes nizu-slide-3-anim{
  0%   { opacity:0; }
  66%  { opacity:0; }
  67%  { opacity:1; }   /* visible ~12–18s */
  100% { opacity:1; }
}
/* ============================================================
   HOME NIZUDY – GRID DE CARRERAS (3 POR FILA, 4ª CENTRADA)
   ============================================================ */

.nizu-home-products{
  background: transparent !important;  /* ✅ queda igual al fondo del slider */
}




/* Título del bloque (puedes ajustar tamaños si quieres) */
.nizu-home-products h2 {
  font-family: "Inter", "Poppins", "Segoe UI", system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 2.1rem !important;
  letter-spacing: -0.4px !important;
  color: #111 !important;
  margin-bottom: 30px !important;
  text-align: center !important;
}

/* CONTENEDOR: 3 columnas en desktop */
.nizu-home-products ul.products {
  max-width: 1200px;
  margin: 0 auto !important;
  padding: 0;
  list-style: none;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

/* Tarjeta individual */
.nizu-home-products ul.products li.product {
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
  padding: 18px 18px 24px;
  box-sizing: border-box;
  width: 100% !important;      /* anula estilos de Woo */
  float: none !important;
  margin: 0 !important;
}

/* Título de la carrera */
.nizu-home-products ul.products li.product .woocommerce-loop-product__title {
  font-family: "Inter", "Poppins", "Segoe UI", system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.3px !important;
  line-height: 1.3em !important;
  color: #111 !important;
  text-align: center !important;
  margin-top: 14px !important;
  margin-bottom: 20px !important;
  text-decoration: none !important;
}

/* Sin subrayado */
.nizu-home-products ul.products li.product h2.woocommerce-loop-product__title a,
.nizu-home-products ul.products li.product h2.woocommerce-loop-product__title a:hover,
.nizu-home-products ul.products li.product h2.woocommerce-loop-product__title a:focus {
  text-decoration: none !important;
  color: #111 !important;
}

/* Botón "Ver más" redondeado */
.nizu-view-product {
  font-family: "Inter", "Poppins", sans-serif !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: 14px !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  text-align: center !important;
  display: block !important;
  width: fit-content;
  margin: 14px auto 0 !important;
  font-size: 1.05rem !important;
  transition: all .2s ease;
  text-decoration: none !important;
}
.nizu-view-product:hover {
  background: #3a3a3a !important;
  transform: translateY(-2px);
}

/* Si hay EXACTAMENTE 4 productos:
   el 4º se centra en la segunda fila */
.nizu-home-products ul.products li.product:nth-child(4):nth-last-child(1) {
  grid-column: 2;
}

/* Responsive: 2 por fila en tablet */
@media (max-width: 960px) {
  .nizu-home-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Responsive: 1 por fila en móvil */
@media (max-width: 640px) {
  .nizu-home-products ul.products {
    grid-template-columns: 1fr;
  }
}
/* Imágenes dentro de las tarjetas del home: tamaño uniforme + bordes */
.nizu-home-products ul.products li.product img {
  display: block;
  width: 100%;
  height: 260px;        /* ajusta 220–300px si quieres más o menos alto */
  object-fit: cover;    /* recorta para que todas llenen el cuadro */
  border-radius: 16px;  /* bordes redondeados suaves */
}

/* ============================================
   FIX GRID HOME – forzar 3 por fila con Flex
   ============================================ */

/* Quitar floats, clears y anchos heredados de Woo */
.nizu-home-products ul.products::before,
.nizu-home-products ul.products::after{
  content:none !important;
  display:none !important;
}

.nizu-home-products ul.products li.product{
  float:none !important;
  clear:none !important;
  margin:0 !important;          /* ya usamos gap en el contenedor */
  width:auto !important;        /* que mande el flex-basis */
}

/* Por si Woo aplica clear en nth-child */
.nizu-home-products ul.products li.product:nth-child(n){
  clear:none !important;
}
.nizu-home-products ul.products li.product img {
  height: 260px !important;
  object-fit: cover !important;
  width: 100% !important;
  border-radius: 16px !important;
  display: block !important;
}
/* ============================================================
   TARJETAS DE TUTORES (FICHA DE CARRERA)
   ============================================================ */

.nizu-tutor-select {
  margin-top: 28px;
  padding: 22px 24px;
  border-radius: 20px;
  background: #faf5ff;
  border: 1px solid #e3d5ff;
}

.nizu-tutor-select h3{
  margin: 0 0 8px;
  font-size: 1.4rem;
  font-weight: 700;
}

.nizu-tutor-select-note{
  margin: 0 0 18px;
  font-size: 0.95rem;
  color: #4b5563;
}

.nizu-tutor-card-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
  gap: 16px;
}

.nizu-tutor-card{
  display:block;
  position:relative;
}

.nizu-tutor-card input[type="radio"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.nizu-tutor-card-inner{
  display:flex;
  gap:14px;
  padding:14px 14px;
  border-radius:16px;
  background:#fff;
  border:1px solid #e5e7eb;
  cursor:pointer;
  transition: box-shadow .2s ease, transform .15s ease, border-color .2s ease, background .2s ease;
}

.nizu-tutor-card:hover .nizu-tutor-card-inner{
  box-shadow:0 6px 18px rgba(0,0,0,0.05);
  transform:translateY(-2px);
}

.nizu-tutor-card input[type="radio"]:checked + .nizu-tutor-card-inner{
  border-color:#6b38d1;
  box-shadow:0 8px 24px rgba(107,56,209,0.18);
  background:#f7f4ff;
}

.nizu-tutor-avatar img{
  width:64px;
  height:64px;
  border-radius:999px;
  object-fit:cover;
  display:block;
}

.nizu-tutor-info{
  display:flex;
  flex-direction:column;
  gap:4px;
  justify-content:center;
}

.nizu-tutor-name{
  font-weight:600;
  font-size:1rem;
}

.nizu-tutor-bio{
  font-size:0.9rem;
  color:#4b5563;
}

.nizu-tutor-bio--empty{
  font-style:italic;
  color:#9ca3af;
}

.nizu-tutor-select-warning{
  margin-top:14px;
  font-size:0.88rem;
  color:#6b21a8;
}

/* ============================================================
   PERFIL DE TUTOR EN LA INTRANET
   ============================================================ */

body.woocommerce-account .nizu-tutor-profile{
  max-width:820px;
  background:#ffffff;
  border-radius:20px;
  border:1px solid #e5e7eb;
  padding:24px 26px 26px;
}

body.woocommerce-account .nizu-tutor-profile-header{
  display:flex;
  gap:18px;
  align-items:center;
  margin-bottom:22px;
}

body.woocommerce-account .nizu-tutor-profile-avatar img{
  width:80px;
  height:80px;
  border-radius:999px;
  object-fit:cover;
  display:block;
}

body.woocommerce-account .nizu-tutor-profile-name{
  font-size:1.4rem;
  font-weight:700;
  margin-bottom:4px;
}

body.woocommerce-account .nizu-tutor-profile-sub{
  margin:0;
  font-size:0.95rem;
  color:#4b5563;
}

body.woocommerce-account .nizu-tutor-profile-form .nizu-field{
  margin-bottom:18px;
}

body.woocommerce-account .nizu-tutor-profile-form label{
  font-weight:600;
  display:block;
  margin-bottom:6px;
}

body.woocommerce-account .nizu-tutor-profile-form textarea{
  width:100%;
  min-height:140px;
  border-radius:10px;
  border:1px solid #d1d5db;
  padding:10px 12px;
  font-size:0.95rem;
  resize:vertical;
}

body.woocommerce-account .nizu-tutor-profile-form input[type="file"]{
  font-size:0.95rem;
}

body.woocommerce-account .nizu-tutor-profile-form .nizu-help{
  margin-top:4px;
  font-size:0.85rem;
  color:#6b7280;
}

body.woocommerce-account .nizu-tutor-profile-save{
  background:#6b38d1 !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:10px 24px !important;
  font-weight:600 !important;
}

body.woocommerce-account .nizu-tutor-profile-save:hover{
  background:#5523c3 !important;
}

/* ============================================================
   BLOQUE "TUTOR ASIGNADO" EN MI ESPACIO ACADÉMICO
   ============================================================ */

body.woocommerce-account .nizu-academico-tutor-box{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:#eef2ff;
  color:#1f2937;
  font-size:0.9rem;
  margin-bottom:14px;
}

body.woocommerce-account .nizu-academico-tutor-career{
  color:#4b5563;
  font-weight:500;
}

/* Tabla de estudiantes para el tutor */
body.woocommerce-account .nizu-tutor-students-box{
  margin-top:10px;
}

body.woocommerce-account .nizu-tutor-students-box h3{
  margin-bottom:10px;
}

/* ============================================================
   PEQUEÑO AJUSTE HORIZONTAL PARA LISTA DE TUTORES EN FICHA
   ============================================================ */

@media (min-width: 900px){
  .single-product div.product .summary .nizu-tutor-select{
    margin-top:30px;
  }
}

/* ============================================================
   NIZUDY • TIENDA (Woo Blocks) — Tarjetas + Título Satisfy
   BLOQUE ÚNICO (pegar tal cual). Reemplaza los anteriores.
   ============================================================ */

body.post-type-archive-product{
  --nizu-accent: #6b3be5;          /* morado Nizudy */
  --nizu-card-radius: 26px;
  --nizu-img-radius: 18px;
  --nizu-gap: 28px;
}

/* Asegura que el header quede por encima (por si usas overlap/sticky) */
body.post-type-archive-product header.wp-block-template-part{
  position: relative;
  z-index: 50;
}

/* Separación bajo header */
body.post-type-archive-product main#wp--skip-link-target{
  padding-top: 22px !important;
}

/* ============================================================
   TÍTULO + SUBTÍTULO (SIN DEPENDER DEL TEXTO REAL "Tienda")
   - Subtítulo: normal, a la izquierda, debajo del header
   - Título grande: Satisfy, a la derecha
   ============================================================ */

/* H1 real: lo “silenciamos” (para que no aparezca "Tienda") */
body.post-type-archive-product h1.wp-block-query-title{
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

/* Título grande (derecha, Satisfy) */
body.post-type-archive-product h1.wp-block-query-title::after{
  content: "Explora los oficios más demandados";
  display: block;
  font-family: "Satisfy", cursive !important;
  font-weight: 400 !important;
  font-size: clamp(30px, 3.6vw, 52px);
  line-height: 1.05;
  letter-spacing: 0.2px;
  color: #111;
  text-align: right;
}

/* ============================================================
   GRID / TARJETAS
   ============================================================ */

/* Contenedor UL del listado */
body.post-type-archive-product ul.wc-block-product-template{
  gap: var(--nizu-gap) !important;
  margin-top: 10px !important;
}

/* Columnas “bonitas” (evita tarjetas gigantes) */
@media (min-width: 1100px){
  body.post-type-archive-product ul.wc-block-product-template{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 780px) and (max-width: 1099px){
  body.post-type-archive-product ul.wc-block-product-template{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 779px){
  body.post-type-archive-product ul.wc-block-product-template{
    grid-template-columns: 1fr !important;
  }
}

/* Tarjeta LI */
body.post-type-archive-product ul.wc-block-product-template > li.wc-block-product{
  background: #fff !important;                 /* sin rosado */
  border-radius: var(--nizu-card-radius) !important;
  border: 1px solid rgba(40,40,60,.08) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.08) !important;
  padding: 18px 18px 20px !important;
  overflow: hidden !important;
  transform: none !important;                  /* sin movimiento */
  transition: none !important;
}

/* ============================================================
   IMAGEN (sin “bloques blancos” tapando)
   ============================================================ */

/* Caja de imagen */
body.post-type-archive-product .wc-block-components-product-image{
  margin: 0 !important;
  border-radius: var(--nizu-img-radius) !important;
  overflow: hidden !important;
  background: transparent !important;          /* <- clave: evita “blancos” raros */
}

/* Proporción cuadrada (menos recorte horizontal) */
body.post-type-archive-product
.wc-block-components-product-image
.wc-block-components-product-image__inner-container{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  display: block !important;
  background: transparent !important;
}

/* Imagen */
body.post-type-archive-product .wc-block-components-product-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* ============================================================
   TÍTULO / PRECIO / BOTÓN
   ============================================================ */

body.post-type-archive-product .wc-block-product-title,
body.post-type-archive-product .wp-block-post-title{
  margin: 14px 0 6px !important;
  text-align: center !important;
  font-weight: 700 !important;
}

body.post-type-archive-product .wp-block-woocommerce-product-price{
  margin: 0 0 14px !important;
  text-align: center !important;
  font-weight: 700 !important;
}

/* Botón */
body.post-type-archive-product a.button.nizu-view-product,
body.post-type-archive-product .wp-block-woocommerce-product-button a.button{
  background: var(--nizu-accent) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 26px !important;
  font-weight: 800 !important;
  box-shadow: 0 14px 26px rgba(107,59,229,.25) !important;
  display: inline-flex !important;
  justify-content: center !important;
  min-width: 160px !important;
}

/* Estático al hover */
body.post-type-archive-product a.button.nizu-view-product:hover,
body.post-type-archive-product .wp-block-woocommerce-product-button a.button:hover{
  filter: brightness(.98) !important;
  transform: none !important;
}
/* Quitar el cuadrado (focus outline) en links/botones del header */
header a:focus,
header a:focus-visible,
header button:focus,
header button:focus-visible{
  outline: none !important;
  box-shadow: none !important;
}
/* ============================================================
   NIZUDY • /CARRITO/ (Woo Blocks) — SOLO VISUAL, SOLO ESTA PÁGINA
   - H1: "Carrito" -> "Mi selección" (más pequeño)
   - Vacío: icono bonito (reemplaza carita) + texto bonito
   - Recomendados: "Nuevo en la tienda" -> "Te puede interesar" (sin duplicar)
   - Botones morados tipo pill
   - Solo redondeo (sin tarjetas/sombras extra)
   ============================================================ */


/* 2) Carrito vacío: reemplazar icono + texto bonito
   (H2 real: .with-empty-cart-icon.wc-block-cart__empty_cart_title) */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.with-empty-cart-icon{
  position: relative !important;
  text-align: center !important;
  font-size: 0 !important;   /* oculto texto original */
  line-height: 0 !important;
  margin: 16px 0 10px !important;
  padding-top: 64px !important;  /* espacio para el icono nuevo */
}


/* Texto bonito (el que aprobaste) */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.with-empty-cart-icon::after{
  content: "Tu selección está vacía por ahora. Elige un área para comenzar.";
  display: block;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
  color: #5F6368;
  max-width: 760px;
  margin: 0 auto;
}

/* 3) Cambiar SOLO el H2 "Nuevo en la tienda" -> "Te puede interesar"
   (sin tocar el H2 del carrito vacío) */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.wp-block-heading.has-text-align-center:not(.with-empty-cart-icon){
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 26px 0 18px !important;
  text-align: center !important;
}
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.wp-block-heading.has-text-align-center:not(.with-empty-cart-icon)::after{
  content: "Te puede interesar";
  display: inline-block;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.15;
  font-weight: 700;
  color: #111;
}

/* 4) Recomendados: solo redondeo (sin tarjetas) */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image,
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img{
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* 5) Botones morados tipo pill */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block .wp-block-button__link{
  background: #6b3be5 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 26px rgba(107,59,229,.25) !important;
  text-decoration: none !important;
}
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover{
  filter: brightness(.98) !important;
  transform: none !important;
}

/* Grosor tipo “Registrarse” (más normal) */
main[data-page="cart"] h1.wp-block-post-title::after{
  font-weight: 700 !important;
}

/* ICONO SVG en carrito vacío (reemplaza la carita) */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.with-empty-cart-icon::before{
  content: "" !important;
  background: none !important;
  background-image: url("https://nizudy.com/wp-content/uploads/2026/01/undraw_stars_5pgw.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  width: 120px !important;
  height: 120px !important;
  display: block !important;
  margin: 0 auto 12px !important;
  -webkit-mask: none !important;
  mask: none !important;
}
/* 1) OCULTAR el título "Mi selección" (sin tocar la URL /carrito/) */
main[data-page="cart"] h1.wp-block-post-title{
  display: none !important;
}

/* 2) Subir y agrandar el SVG del carrito vacío */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.with-empty-cart-icon{
  padding-top: 0 !important;           /* quita el espacio extra */
  margin-top: 8px !important;
}

main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.with-empty-cart-icon::before{
  width: 180px !important;             /* más grande */
  height: 180px !important;
  margin: 0 auto 6px !important;       /* más arriba */
}

/* 3) Opcional: acercar el texto al icono */
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block h2.with-empty-cart-icon::after{
  margin-top: 6px !important;
}
/* Quitar los 3 puntitos (separator dots) SOLO en /carrito/ */
main[data-page="cart"] hr.wp-block-separator.is-style-dots{
  display: none !important;
  border: 0 !important;
}
main[data-page="cart"] hr.wp-block-separator.is-style-dots::before{
  content: none !important;
}
main[data-page="cart"] .wp-block-woocommerce-empty-cart-block
h2.wp-block-heading.has-text-align-center:not(.with-empty-cart-icon){
  margin-top: 92px !important;
  margin-bottom: 32px !important;
}

main[data-page="cart"] .wp-block-woocommerce-empty-cart-block
.wc-block-grid{
  margin-top: 32px !important;
}

/* ============================================================
   NIZUDY • OCULTAR SWITCHER "Vista" SOLO EN:
   - /mi-cuenta/inbox/              (detecta .nizu-msg-wrap)
   - /mi-cuenta/edit-account/       (detecta form.woocommerce-EditAccountForm)
   - /mi-cuenta/tareas/             (detecta _wp_http_referer)
   - /mi-cuenta/nizu_perfil_tutor/  (detecta _wp_http_referer)
   - /mi-cuenta/nizu_sala/          (detecta _wp_http_referer)
   ============================================================ */

/* ✅ Inbox (Mensajería) */
body.woocommerce-account .woocommerce-MyAccount-content:has(.nizu-msg-wrap) .nizu-viewmode-bar{
  display:none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(.nizu-msg-wrap) h2{
  padding-right:0 !important;
}

/* ✅ Editar cuenta */
body.woocommerce-account .woocommerce-MyAccount-content:has(form.woocommerce-EditAccountForm) .nizu-viewmode-bar{
  display:none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(form.woocommerce-EditAccountForm) h2{
  padding-right:0 !important;
}

/* ✅ Tareas */
body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/tareas/"]
) .nizu-viewmode-bar{
  display:none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/tareas/"]
) h2{
  padding-right:0 !important;
}

/* ✅ Perfil de tutor */
body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/nizu_perfil_tutor/"]
) .nizu-viewmode-bar{
  display:none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/nizu_perfil_tutor/"]
) h2{
  padding-right:0 !important;
}

/* ✅ Sala */
body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/nizu_sala/"]
) .nizu-viewmode-bar{
  display:none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/nizu_sala/"]
) h2{
  padding-right:0 !important;
}
/* ✅ Retiros (detecta wrapper propio del endpoint) */
body.woocommerce-account .woocommerce-MyAccount-content:has(.nizu-retiros-wrap) .nizu-viewmode-bar{
  display:none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(.nizu-retiros-wrap) h2{
  padding-right:0 !important;
}

/* ✅ Portal de pagos */
body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/nizu_portal_pagos/"]
) .nizu-viewmode-bar{
  display:none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content:has(
  .nizu-viewmode-form input[name="_wp_http_referer"][value*="/mi-cuenta/nizu_portal_pagos/"]
) h2{
  padding-right:0 !important;
}
/* ============================================================
   NIZUDY • OCULTAR SWITCHER "Vista" EN:
   - /mi-cuenta/edit-address/  (Direcciones)
   - /mi-cuenta/orders/ o "Pedidos recientes" (tabla pedidos)
   + Quitar "Dirección de envío" y expandir facturación
   ============================================================ */

/* ✅ Direcciones (edit-address): oculta switcher */
body.woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-Addresses) .nizu-viewmode-bar{
  display:none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content:has(.woocommerce-Addresses) h2{
  padding-right:0 !important;
}



/* ✅ Quitar sección "Dirección de envío" */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address.woocommerce-Address--shipping,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address:nth-child(2){
  display:none !important;
}
/* ✅ Pedidos */
body.woocommerce-account.woocommerce-orders .nizu-viewmode-bar{
  display:none !important;
}

/* ✅ Expandir facturación a ancho completo */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
  display:block !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address.woocommerce-Address--billing,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address:first-child{
  width:100% !important;
  float:none !important;
  max-width:none !important;
}

/* ✅ Título "Dirección de facturación" horizontal (solo desktop/tablet) */
@media (min-width: 720px){
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3{
    white-space: nowrap !important;
  }
}


/* ============================================================
   NIZUDY • IMAGEN SOLO EN /mi-cuenta/ (DASHBOARD)
   Orden: Hola -> Texto -> Imagen
   ============================================================ */

/* 1) Dashboard: ajusta separación del texto */
body.woocommerce-account.woocommerce-dashboard
.woocommerce-MyAccount-content p{
  margin-bottom: 12px !important;
}

/* 2) Dashboard: imagen después del texto */
body.woocommerce-account.woocommerce-dashboard
.woocommerce-MyAccount-content p:nth-of-type(2)::after{
  content: "";
  display: block;
  width: min(560px, 100%);
  height: clamp(150px, 22vw, 230px);
  margin: 14px auto 0;

  background-image: url("https://nizudy.com/wp-content/uploads/2026/01/undraw_quiet-street_v45k.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  opacity: 0.95;
  pointer-events: none;
}



/* ============================================================
   NIZUDY • PORTAL DE PAGOS — TARJETA + COLORES
   (solo afecta la tabla del endpoint porque usamos .nizu-pay-card)
   ============================================================ */

.woocommerce-MyAccount-content .nizu-pay-card{
  border: 1px solid rgba(120, 60, 200, .18);
  border-radius: 18px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(120,60,200,.06), rgba(0,0,0,0));
  box-shadow: 0 12px 40px rgba(0,0,0,.06);
  overflow: hidden;
}

/* tabla */
.woocommerce-MyAccount-content .nizu-pay-table{
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  background: transparent;
}

.woocommerce-MyAccount-content .nizu-pay-table thead th{
  background: rgba(120,60,200,.08);
  border: 0 !important;
  font-weight: 800;
  padding: 14px 12px !important;
}

.woocommerce-MyAccount-content .nizu-pay-table td{
  border-top: 1px solid rgba(0,0,0,.06) !important;
  padding: 14px 12px !important;
  vertical-align: middle;
}

/* zebra suave */
.woocommerce-MyAccount-content .nizu-pay-table .nizu-mod-row:nth-child(even) td{
  background: rgba(0,0,0,.015);
}

/* fila separadora de carrera */
.woocommerce-MyAccount-content .nizu-pay-table .nizu-career-sep td{
  background: rgba(120,60,200,.10) !important;
  border-top: 0 !important;
  font-weight: 900;
  letter-spacing: .2px;
  padding: 12px 12px !important;
}

.woocommerce-MyAccount-content .nizu-career-dot{
  display:inline-block;
  width:10px; height:10px;
  border-radius:99px;
  margin-right:10px;
  background: rgba(120,60,200,.95);
  box-shadow: 0 0 0 4px rgba(120,60,200,.18);
  transform: translateY(1px);
}

/* columna carrera vacía (más sutil) */
.woocommerce-MyAccount-content .nizu-career-blank{
  opacity: .35;
}

/* estado tipo pill */
.woocommerce-MyAccount-content .nizu-status{
  display:inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: .86rem;
  line-height: 1;
}

.woocommerce-MyAccount-content .nizu-status-paid{
  background: rgba(0, 160, 80, .12);
  border: 1px solid rgba(0, 160, 80, .25);
  color: rgba(0, 120, 60, 1);
}

.woocommerce-MyAccount-content .nizu-status-pending{
  background: rgba(120,60,200,.10);
  border: 1px solid rgba(120,60,200,.22);
  color: rgba(120,60,200, 1);
}

/* botones pill */
.woocommerce-MyAccount-content .nizu-btn{
  border-radius: 999px !important;
  padding: 8px 12px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.woocommerce-MyAccount-content .nizu-btn-primary{
  background: rgba(120,60,200, 1) !important;
  border: 1px solid rgba(120,60,200, 1) !important;
  color: #fff !important;
}

.woocommerce-MyAccount-content .nizu-btn-primary:hover{
  filter: brightness(0.95);
}

.woocommerce-MyAccount-content .nizu-btn-ghost{
  background: rgba(120,60,200,.08) !important;
  border: 1px solid rgba(120,60,200,.22) !important;
  color: rgba(120,60,200, 1) !important;
}

.woocommerce-MyAccount-content .nizu-btn-ghost:hover{
  background: rgba(120,60,200,.12) !important;
}

/* ============================================================
   ✅ NIZUDY • /CARRITO/ → "Te puede interesar" (Woo Blocks)
   FIX REAL: 4 tarjetas iguales + imágenes mismo tamaño + botón normal
   ============================================================ */

/* Aplica tanto en carrito normal como carrito vacío */
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

/* La grilla real de productos */
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block ul.wc-block-grid__products,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block ul.wc-block-grid__products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Cada tarjeta: quitar cualquier ancho raro que Woo le meta */
body.woocommerce-cart .wp-block-woocommerce-cart-cross-sells-block li.wc-block-grid__product,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block li.wc-block-grid__product{
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  float: none !important;
  flex: unset !important;
  justify-self: stretch !important;
}

/* Caja de imagen: TODAS iguales */
body.woocommerce-cart .wc-block-grid__product-image{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important; /* cuadrado perfecto */
  overflow: hidden !important;
  border-radius: 18px !important;
  display: block !important;
}

/* Imagen dentro: recorte bonito y parejo */
body.woocommerce-cart .wc-block-grid__product-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* Botón: evitar que se haga vertical */
body.woocommerce-cart .wc-block-grid__product-add-to-cart a,
body.woocommerce-cart .wc-block-grid__product-add-to-cart button{
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 14px 22px !important;
  border-radius: 999px !important;
}

/* Responsive */
@media (max-width: 1024px){
  body.woocommerce-cart ul.wc-block-grid__products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px){
  body.woocommerce-cart ul.wc-block-grid__products{
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   NIZUDY • HOME • Layout explicativo (2 textos + 2 imágenes)
   - SVG transparente (sin fondos en imágenes)
   - Tarjetas de texto con tinte lila/rosado MUY ligero
   - Imagen growth empujada a la derecha (RESPONSIVO y seguro)
   ============================================================ */

.nizu-home-manifest{
  margin: 0 !important;
  padding: 48px 0 72px !important;
  background: transparent !important;
  border: 0 !important;
}

.nizu-home-manifest__inner{
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 18px;
}

/* Header */
.nizu-home-manifest__head{
  text-align: center;
  margin: 0 0 28px;
}

.nizu-home-manifest__head h2{
  margin: 0 0 10px;
  font-weight: 850;
  letter-spacing: -0.02em;
}

.nizu-home-manifest__head p{
  margin: 0 auto;
  max-width: 760px;
  opacity: .78;
  line-height: 1.55;
}

/* Grid principal (como la captura) */
.nizu-home-manifest__grid{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  grid-template-areas:
    "tl tr"
    "bl br";
  gap: 22px;
  align-items: start;
}

/* ============================================================
   Textos (tarjetas con tinte lila/rosado MUY sutil)
   ============================================================ */
.nizu-home-manifest__text{
  border-radius: 18px;
  padding: 18px 18px;

  background: linear-gradient(
    180deg,
    rgba(123, 74, 226, 0.05),
    rgba(123, 74, 226, 0.02)
  );

  border: 1px solid rgba(123, 74, 226, 0.14);
}

.nizu-home-manifest__text h3{
  margin: 0 0 10px;
  font-size: 1.02rem;
  font-weight: 850;
}

.nizu-home-manifest__text ul{
  margin: 0;
  padding-left: 18px;
  line-height: 1.55;
  opacity: .92;
}

/* Ajuste texto superior izquierdo (reduce vacío) */
.nizu-home-manifest__text--tl{
  max-width: 520px;
}

/* ============================================================
   Imágenes (SIN fondos ni tarjeta interna)
   ============================================================ */
.nizu-home-manifest__img{
  margin: 0;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;

  display: flex;
  align-items: center;
  justify-content: center;
}

.nizu-home-manifest__img img{
  display: block;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  max-width: 100%;
  height: auto;
}

/* Tamaños controlados */
.nizu-home-manifest__img--tr img{
  max-width: 460px;
  height: 260px;
  object-fit: contain;
}

.nizu-home-manifest__img--bl img{
  max-width: 460px;
  height: 220px;
  object-fit: contain;
}

/* ✅ Growth a la derecha (solo en pantallas grandes, seguro) */
.nizu-home-manifest__img--bl{
  justify-content: flex-start;
}

.nizu-home-manifest__img--bl img{
  margin-left: 0; /* base */
}

@media (min-width: 1100px){
  .nizu-home-manifest__img--bl img{
    margin-left: 80px; /* empuje a la derecha (seguro) */
  }
}

@media (min-width: 1300px){
  .nizu-home-manifest__img--bl img{
    margin-left: 100px; /* más a la derecha en pantallas muy amplias */
  }
}

/* Áreas del grid */
.nizu-home-manifest__text--tl{ grid-area: tl; }
.nizu-home-manifest__img--tr{ grid-area: tr; }
.nizu-home-manifest__img--bl{ grid-area: bl; }
.nizu-home-manifest__text--br{ grid-area: br; }

/* Responsive */
@media (max-width: 900px){
  .nizu-home-manifest__grid{
    grid-template-columns: 1fr;
    grid-template-areas:
      "tr"
      "tl"
      "bl"
      "br";
  }

  .nizu-home-manifest__text--tl{
    max-width: 100%;
  }

  .nizu-home-manifest__img--tr img,
  .nizu-home-manifest__img--bl img{
    max-width: 520px;
    height: auto;
  }

  /* en móvil sin empuje */
  .nizu-home-manifest__img--bl img{
    margin-left: 0 !important;
  }
}
/* ============================================================
   NIZUDY • HOME • Tarjeta CTA simple (sin fotos)
   ============================================================ */

.nizu-home-tutorcard{
  padding: 28px 0 72px !important; /* separa del footer */
}

.nizu-home-tutorcard__inner{
  max-width: 920px;
  margin: 0 auto;
  padding: 28px 22px;
  text-align: center;

  border-radius: 22px;
  background: linear-gradient(
    180deg,
    rgba(123, 74, 226, 0.06),
    rgba(123, 74, 226, 0.02)
  );
  border: 1px solid rgba(123, 74, 226, 0.14);
}

.nizu-home-tutorcard__inner h2{
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: -0.02em;
}

.nizu-home-tutorcard__inner p{
  margin: 0 auto 18px;
  max-width: 620px;
  line-height: 1.55;
  opacity: .85;
}

.nizu-home-tutorcard__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 12px 18px;
  border-radius: 999px;
  background: #6b38d1; /* morado Nizudy */
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 850;
  min-width: 220px;
}

.nizu-home-tutorcard__btn:hover{
  filter: brightness(1.06);
}

@media (max-width: 600px){
  .nizu-home-tutorcard__inner{
    padding: 22px 16px;
  }
  .nizu-home-tutorcard__btn{
    width: 100%;
    min-width: 0;
  }
}






/* ============================================================
   HOME · MOBILE FIX (no toca desktop)
   Pegar AL FINAL del CSS
   ============================================================ */
@media (max-width: 768px){

  /* 1) Quitar sensación de “zoom raro” global */
  html, body{
    max-width:100%;
    overflow-x:hidden;
  }

  /* 2) Slider: altura realista en móvil */
  .nizu-slider-css{
    height: 260px;           /* antes 420px */
  }

  .nizu-slide-css img{
    height: 100%;
    object-fit: cover;
  }

  /* 3) Texto del slider más compacto */
  .nizu-slide-caption{
    padding: 16px 18px;
  }

  .nizu-slide-caption h1{
    font-size: 1.45rem;
    line-height: 1.2;
    margin-bottom: 8px;
  }

  .nizu-slide-caption p{
    font-size: .95rem;
    line-height: 1.4;
    max-width: 100%;
  }

  /* 4) Evitar cortes raros por padding heredado */
  .wp-site-blocks,
  main,
  .entry-content{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

}



/* ============================================================
   HOME · MOBILE FIX DEFINITIVO
   Botón + ilustraciones (sin romper layout)
   ============================================================ */
@media (max-width: 768px){

  /* 0) Cinturón de seguridad */
  body.home,
  body.home *{
    max-width: 100%;
    box-sizing: border-box;
  }

  body.home{
    overflow-x: hidden;
  }

  /* ---------------------------------
     1) Ilustraciones (chef / undraw)
  --------------------------------- */
  body.home .wp-block-column img,
  body.home .wp-block-image img{
    display: block;
    width: 100%;
    max-width: 260px;   /* ↓ tamaño real en móvil */
    height: auto;
    margin: 0 auto;
  }

  /* ---------------------------------
     2) Tarjeta "Conviértete en tutor"
  --------------------------------- */
  body.home .wp-block-group:has(.wp-block-button){
    padding: 20px 16px;
    overflow: hidden; /* CLAVE */
  }

  /* ---------------------------------
     3) Botón "Quiero ser tutor"
  --------------------------------- */
  body.home .wp-block-button{
    width: 100%;
  }

  body.home .wp-block-button__link{
    width: 100% !important;
    max-width: 100% !important;
    display: block;
    padding: 12px 14px;
    font-size: 0.95rem;
    line-height: 1.2;
    border-radius: 999px;
    text-align: center;
    white-space: normal;
  }

}

/* ============================================================
   FOOTER · Logo MÁS A LA IZQUIERDA (móvil)
   ============================================================ */
@media (max-width: 768px){

  /* Contenedor del logo */
  footer .wp-block-site-logo,
  footer .wp-block-image{
    display: flex !important;
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  /* Imagen del logo */
  footer .wp-block-site-logo img,
  footer .wp-block-image img{
    margin-left: -24px !important; /* ⬅️ empujón FUERTE a la izquierda */
    height: auto !important;
  }

}



/* ============================================================
   FICHA ÁREA (single product) · MOBILE FIX COMPLETO
   - Imagen destacada más chica (no domina la pantalla)
   - Título/precio más ordenado
   - Tabla "Módulos del área" legible en móvil
   - Botón "Matricularme" centrado y cómodo
   ============================================================ */
@media (max-width: 768px){

  /* 0) Seguridad anti-scroll horizontal SOLO en ficha */
  body.single-product{
    overflow-x: hidden;
  }
  body.single-product .wp-site-blocks,
  body.single-product main,
  body.single-product .entry-content{
    max-width: 100%;
  }

  /* 1) Imagen destacada del producto (más baja y angosta) */
  body.single-product .woocommerce-product-gallery{
    margin: 0 auto 10px !important;
    text-align: center;
  }

  body.single-product .woocommerce-product-gallery img{
    display: block !important;
    width: 100% !important;
    max-width: 260px !important;   /* 👈 ajusta ancho aquí */
    max-height: 220px !important;  /* 👈 ajusta alto aquí */
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto 16px !important;
    border-radius: 26px !important;
  }

  /* 2) Título / precio más contenidos */
  body.single-product .product_title{
    font-size: 1.85rem !important;
    line-height: 1.12 !important;
    margin-bottom: 10px !important;
  }

  body.single-product p.price{
    font-size: 1.35rem !important;
    margin: 6px 0 14px !important;
  }

  /* 3) Caja de "Módulos del área" (si es tabla dentro de bloque/card) */
  body.single-product .nizu-modules,
  body.single-product .nizu-modules-box,
  body.single-product .wp-block-group:has(table){
    border-radius: 22px;
    overflow: hidden;
  }

  /* 4) Tabla de módulos: convertir a “modo móvil” */
  body.single-product table{
    width: 100% !important;
    border-collapse: collapse !important;
  }

  /* Oculta cabecera en móvil para que no se rompa en columnas */
  body.single-product table thead{
    display: none !important;
  }

  /* Filas como tarjetas */
  body.single-product table tbody tr{
    display: block !important;
    padding: 14px 14px !important;
    margin: 0 0 12px 0 !important;
    border-radius: 18px !important;
    background: rgba(124, 58, 237, 0.04) !important;
    border: 1px solid rgba(124, 58, 237, 0.14) !important;
  }

  /* Celdas en vertical */
  body.single-product table tbody td{
    display: block !important;
    width: 100% !important;
    padding: 6px 0 !important;
    border: 0 !important;
  }

  /* Primera celda (nombre módulo) con más peso */
  body.single-product table tbody td:first-child{
    font-weight: 750 !important;
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  /* "Ver precio" alineado a la derecha y más claro */
  body.single-product table tbody td:last-child{
    text-align: right !important;
    opacity: .85 !important;
  }

  /* 5) Botón Matricularme centrado */
  body.single-product form.cart{
    text-align: center !important;
  }

  body.single-product .single_add_to_cart_button{
    display: block !important;
    margin: 20px auto 0 auto !important;
    width: 92% !important;
    max-width: 340px !important;
    border-radius: 999px !important;
    padding: 16px 18px !important;
    font-size: 1.05rem !important;
  }

}
/* ============================================================
   FICHA ÁREA · AJUSTES FINALES MÓVIL
   Botón + migas de pan
   ============================================================ */
@media (max-width: 768px){

  /* ---------------------------------
     1) Botón Matricularme — centro real
  --------------------------------- */
  body.single-product form.cart{
    display: flex !important;
    justify-content: center !important;
  }

  body.single-product .single_add_to_cart_button{
    margin-left: auto !important;
    margin-right: auto !important;
    width: 90% !important;
    max-width: 340px !important;
    text-align: center !important;
  }

  /* ---------------------------------
     2) Migas de pan (breadcrumb)
     Evitar que "Inicio" se corte
  --------------------------------- */
  body.single-product .woocommerce-breadcrumb{
    padding-left: 16px !important;
    padding-right: 16px !important;
    margin-bottom: 10px !important;
  }

}
/* ============================================================
   FICHA ÁREA · TÍTULO MÁS PEQUEÑO (móvil) — SELECTORES ROBUSTOS
   ============================================================ */
@media (max-width: 768px){

  body.single-product h1.product_title,
  body.single-product .product_title,
  body.single-product .entry-title,
  body.single-product h1.wp-block-post-title,
  body.single-product .wp-block-post-title,
  body.single-product .wp-block-woocommerce-product-title h1{
    font-size: 1.80rem !important;  /* baja/sube aquí */
    line-height: 1.12 !important;
    margin-top: 0.25rem !important;
  }

}




/* ============================================================
   ✅ NIZUDY · MI CUENTA (MÓVIL PRO)
   ============================================================ */

@media (max-width: 940px){

  body.woocommerce-account .nizu-intranet-wrapper{
    display: block !important;
    padding: 14px !important;
  }

  body.woocommerce-account .nizu-intranet-sidebar{
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.06) !important;
    margin: 0 0 14px 0 !important;
  }

  body.woocommerce-account .nizu-intranet-sidebar .nizu-intranet-btn{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 14px !important;
    font-size: .98rem !important;
    font-weight: 750 !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content{
    padding: 16px 14px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.07) !important;
    overflow-x: auto !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content table{
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ✅ SOLO RETIROS */
  body.woocommerce-account .woocommerce-MyAccount-content .nizu-table{
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce-account .woocommerce-MyAccount-content .nizu-table table{
    min-width: 720px !important;
    width: 720px !important;
  }

} /* ← cierre correcto del media 940px */

/* Móvil pequeño */
@media (max-width: 520px){
  body.woocommerce-account .nizu-intranet-sidebar{
    grid-template-columns: 1fr !important;
  }
}





/* ============================================================
   ✅ NIZUDY · BOTÓN AUTH VISIBLE EN MENÚ MÓVIL (SIN TOCAR PHP)
   - En el desplegable móvil el fondo es blanco → tu botón es blanco
   - Lo repintamos oscuro SOLO dentro del menú abierto
   ============================================================ */

@media (max-width: 940px){

  /* Menú abierto (hamburguesa) */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  .nizu-nav-auth > a{
    color:#111 !important;
    border:1px solid rgba(0,0,0,.18) !important;
    background: rgba(0,0,0,.04) !important;
  }

  /* Icono y texto heredan currentColor → quedan oscuros */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  .nizu-nav-auth .nizu-ico{
    color:#111 !important;
  }

  /* (Opcional) Que se vea como un item más “de lista” y no tan botón */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  .nizu-nav-auth > a{
    width:100% !important;
    justify-content:flex-start !important;
    height:auto !important;
    padding:14px 16px !important;
    border-radius:12px !important;
    font-weight:700 !important;
  }
}
/* ============================================================
   ✅ NIZUDY · ORDENAR "CERRAR SESIÓN" PRIMERO EN MENÚ MÓVIL
   - Solo cuando el menú hamburguesa está abierto
   - No toca escritorio ni PHP
   ============================================================ */

@media (max-width: 940px){

  /* El contenedor del menú móvil es flex-column */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content{
    display: flex !important;
    flex-direction: column !important;
  }

  /* Forzar Cerrar sesión / Iniciar sesión al inicio */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content
  .nizu-nav-auth{
    order: -10 !important; /* más arriba que todo */
  }
}




/* ============================================================
   ✅ NIZUDY · CARRITO (MÓVIL)
   "TE PUEDE INTERESAR" — BLOQUE FINAL DEFINITIVO
   - Imagen protagonista (un poco más grande)
   - Precio y botón intactos
   - Botón perfectamente centrado
   - SOLO móvil
   - NO toca desktop
   - NO toca PHP
   ============================================================ */

@media (max-width: 940px){

  /* Grid de productos */
  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  ul.wc-block-grid__products{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Tarjeta */
  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  li.wc-block-grid__product{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    padding: 18px !important;
    border-radius: 20px !important;
    height: 100% !important;
  }

  /* Imagen (contenedor) */
  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  .wc-block-grid__product-image{
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-bottom: 16px !important;
  }

  /* Imagen — MÁS GRANDE (FINAL) */
  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  .wc-block-grid__product-image img{
    width: 176px !important;
    height: 176px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
    display: block !important;
  }

  /* Título */
  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  .wc-block-grid__product-title{
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Precio */
  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  .wc-block-grid__product-price{
    font-size: 1.25rem !important;
    font-weight: 900 !important;
    margin-bottom: 14px !important;
  }

  /* Botón (centrado perfecto) */
  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  .wc-block-grid__product-add-to-cart{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-top: auto !important;
  }

  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  .wc-block-grid__product-add-to-cart
  .wp-block-button__link{
    width: 100% !important;
    max-width: 280px !important;
    border-radius: 999px !important;
    font-size: 1rem !important;
    padding: 14px 18px !important;
    white-space: nowrap !important;
  }

}

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

  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  ul.wc-block-grid__products{
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-cart
  .wp-block-woocommerce-empty-cart-block
  .wc-block-grid
  .wc-block-grid__product-image img{
    width: 152px !important;
    height: 152px !important;
  }
}


/* ============================================================
   ✅ NIZUDY · LOGIN MÓVIL — ALINEAR BOTÓN GOOGLE A LA IZQUIERDA
   (Nextend Social Login)
   - Solo móvil
   - No toca PC
   ============================================================ */

@media (max-width: 940px){

  /* 1) El wrapper real (en tu captura es inline-grid) */
  body.woocommerce-account .nizudy-social-login .nsl-container-buttons{
    display: flex !important;              /* reemplaza inline-grid */
    justify-content: flex-start !important;/* ← izquierda */
    align-items: center !important;
    width: 100% !important;
  }

  /* 2) El <a> que envuelve el botón */
  body.woocommerce-account .nizudy-social-login .nsl-container-buttons > a{
    display: inline-flex !important;
    justify-content: flex-start !important;
    width: auto !important;
    margin: 0 !important;                 /* mata cualquier centrado */
  }

  /* 3) El botón en sí (div.nsl-button...) */
  body.woocommerce-account .nizudy-social-login .nsl-button{
    margin: 0 !important;
    transform: translateX(-10px) !important; /* empujón fino a la izquierda */
  }

  /* 4) Si el contenedor externo está centrando, lo anulamos */
  body.woocommerce-account .nizudy-social-login .nsl-container{
    text-align: left !important;
  }
}

/* Extra fino en pantallas muy chicas */
@media (max-width: 420px){
  body.woocommerce-account .nizudy-social-login .nsl-button{
    transform: translateX(-6px) !important;
  }
}



/* ============================================================
   NIZUDY · FICHA DE MÓDULO (SOLO VISUAL · MODO ACADÉMICO)
   - No toca lógica
   - No toca compras
   - Solo actúa si body tiene .nizu-is-module
============================================================ */

/* --- Migas de pan (Woo / Woo Blocks) --- */
body.nizu-is-module nav.woocommerce-breadcrumb,
body.nizu-is-module .woocommerce-breadcrumb,
body.nizu-is-module .wc-block-breadcrumbs{
  display: none !important;
}

/* --- Precio (Woo clásico + Woo Blocks) --- */
body.nizu-is-module .price,
body.nizu-is-module p.price,
body.nizu-is-module .wc-block-components-product-price,
body.nizu-is-module .wc-block-grid__product-price{
  display: none !important;
}

/* --- Cantidad --- */
body.nizu-is-module .quantity,
body.nizu-is-module input.qty{
  display: none !important;
}

/* --- Formulario y botón de carrito --- */
body.nizu-is-module form.cart,
body.nizu-is-module .single_add_to_cart_button{
  display: none !important;
}

/* --- Limpieza extra: evita espacios fantasma --- */
body.nizu-is-module .wc-block-components-product-price *{
  margin: 0 !important;
  padding: 0 !important;
}




/* ============================================================
   ✅ NIZUDY · BOTONES EN TARJETA TUTOR (FICHA DE CARRERA)
   - "Clase de prueba" y "Mensaje" con el MISMO look
   - Violeta semi-transparente (no sólido)
   - NO se parten, NO se salen, NO rompen tarjeta
   - Estable en zoom 90–120% (incluye 100%)
   - No modifica estructura ni layout
   ============================================================ */

/* --- Base común para ambos botones --- */
.single-product .nizu-tutor-test-btn,
.single-product .nizu-tutor-msg-btn,
.single-product .nizu-tutor-msg-btn a,
.single-product .nizu-tutor-msg-btn button{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  text-decoration: none !important;
  background: rgba(107,56,209,0.10) !important;
  border: 1px solid rgba(107,56,209,0.28) !important;
  color: #6b38d1 !important;

  border-radius: 999px !important;

  /* 👇 CLAVE DEL FIX */
  padding: 10px 18px !important;          /* padding controlado y estable */
  max-width: calc(100% - 12px) !important;/* holgura anti overflow */
  box-sizing: border-box !important;

  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;

  overflow: hidden !important;
  text-overflow: ellipsis;
}

/* --- Hover suave --- */
.single-product .nizu-tutor-test-btn:hover,
.single-product .nizu-tutor-msg-btn:hover,
.single-product .nizu-tutor-msg-btn a:hover,
.single-product .nizu-tutor-msg-btn button:hover{
  background: rgba(107,56,209,0.14) !important;
  border-color: rgba(107,56,209,0.34) !important;
}

/* --- Focus accesible --- */
.single-product .nizu-tutor-test-btn:focus,
.single-product .nizu-tutor-test-btn:focus-visible,
.single-product .nizu-tutor-msg-btn a:focus,
.single-product .nizu-tutor-msg-btn a:focus-visible,
.single-product .nizu-tutor-msg-btn button:focus,
.single-product .nizu-tutor-msg-btn button:focus-visible{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(107,56,209,0.20) !important;
}


/* ============================================================
   NIZUDY · Avatar tutor (tarjetas en ficha de carrera)
   - Override local y seguro
   - No modifica reglas base
   ============================================================ */

.single-product .nizu-tutor-box img,
.single-product .nizu-tutor-card img,
.single-product .nizu-tutor-avatar{
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;  /* evita que flex lo encoja */
  border-radius: 50% !important;
  object-fit: cover !important;
}



/* ✅ Separación extra SOLO cuando está deslogueado (link directo a /mi-cuenta/) */
.single-product .nizu-tutor-msg-btn[href$="/mi-cuenta/"],
.single-product .nizu-tutor-msg-btn[href$="/mi-cuenta"]{
  margin-top: 10px !important;
}

/* ✅ Si el botón es /mi-cuenta/inbox/ (logeado), NO bajar */
.single-product .nizu-tutor-test-wrap .nizu-tutor-msg-btn{
  margin-top: 0 !important;
}



/* ============================================================
   NIZUDY · Mi espacio académico (tarjetas + botón derecha)
   ============================================================ */

.woocommerce-MyAccount-content .nizu-academico-cards{
  display: grid;
  gap: 16px;
  margin-top: 10px;
}

.woocommerce-MyAccount-content .nizu-academico-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 18px;
  border-radius: 16px;
  border: 1px solid rgba(40,40,60,0.10);
  background: #fff;
}

.woocommerce-MyAccount-content .nizu-academico-card-left{
  min-width: 0;
}

.woocommerce-MyAccount-content .nizu-academico-career{
  font-weight: 900;
  font-size: 1.05rem;
  margin-bottom: 8px;
}

.woocommerce-MyAccount-content .nizu-academico-row{
  margin: 4px 0;
}

.woocommerce-MyAccount-content .nizu-academico-card-right{
  flex: 0 0 auto;
}

.woocommerce-MyAccount-content .nizu-academico-card{
  background:
    linear-gradient(
      180deg,
      rgba(255, 105, 180, 0.08),
      rgba(255, 105, 180, 0.03)
    );
}

/* ✅ NIZUDY · Botón "Ir a sala" (verde, sin subrayado) */
body.woocommerce-account .nizu-academico-card-right a,
body.woocommerce-account .nizu-academico-card-right a:visited{
  background-color: #22c55e !important;
  color: #ffffff !important;
  text-decoration: none !important; /* ❌ sin subrayado */
  border: none !important;
  border-radius: 999px;
  font-weight: 700;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.woocommerce-account .nizu-academico-card-right a:hover,
body.woocommerce-account .nizu-academico-card-right a:focus{
  background-color: #16a34a !important;
  color: #ffffff !important;
  text-decoration: none !important; /* sigue sin subrayado */
}



/* ============================================================
 * 🌸 NIZUDY · Estados SIN ROL TUTOR
 * Aplica en: Mi espacio académico y Sala
 * ============================================================ */

/* Contenedor del mensaje */
body.woocommerce-account .nizu-empty-state{
  text-align: center;
  border: 1px solid rgba(0,0,0,0.06);
  background: rgba(255,255,255,0.85);
  border-radius: 18px;
  padding: 18px 20px;
  margin: 14px auto;
  max-width: 520px;
}

/* Título */
body.woocommerce-account .nizu-empty-state h3{
  margin: 0 0 8px;
  font-size: 1.05rem;
  font-weight: 800;
  color: #1f2937;
}

/* Texto */
body.woocommerce-account .nizu-empty-state p{
  margin: 6px 0;
  font-size: 0.95rem;
  color: #4b5563;
}

/* ============================================================
 * 🌸 Botón CTA rosado suave (centrado, no dominante)
 * ============================================================ */

body.woocommerce-account .nizu-empty-state .button{
  background-color: rgba(255, 105, 180, 0.14) !important; /* rosado suave */
  color: #b03060 !important;
  border: 1px solid rgba(255, 105, 180, 0.35) !important;
  border-radius: 999px;
  padding: 12px 22px;
  margin: 12px auto 0;   /* centrado */
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

/* Hover muy sutil */
body.woocommerce-account .nizu-empty-state .button:hover{
  background-color: rgba(255, 105, 180, 0.22) !important;
  color: #8b1d44 !important;
  border-color: rgba(255, 105, 180, 0.5) !important;
}

/* Active discreto */
body.woocommerce-account .nizu-empty-state .button:active{
  background-color: rgba(255, 105, 180, 0.28) !important;
}



/* ============================================================
 * 💜 NIZUDY · Botón "Explorar áreas"
 * Mi espacio académico · Estudiante SIN matrículas
 * ============================================================ */

body.woocommerce-account .woocommerce-MyAccount-content
.nizu-academico-empty .button,
body.woocommerce-account .woocommerce-MyAccount-content
.button[href*="/tienda"]{
  background-color: #6b38d1 !important; /* violeta Nizudy */
  color: #ffffff !important;
  border: none !important;
  border-radius: 999px;
  padding: 12px 22px;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color .15s ease, opacity .15s ease;
}

/* Hover sutil */
body.woocommerce-account .woocommerce-MyAccount-content
.nizu-academico-empty .button:hover,
body.woocommerce-account .woocommerce-MyAccount-content
.button[href*="/tienda"]:hover{
  background-color: #5b2fb3 !important;
  opacity: .96;
}




/* ============================================================
   NIZUDY · Selector de vista
   - Fuera de la tarjeta
   - Alineado al BORDE DERECHO de la tarjeta
   - Entre cabecera y tarjeta
   - Sin tocar márgenes/padding del panel
   ============================================================ */

@media (min-width: 681px){

  body.woocommerce-account .woocommerce-MyAccount-content{
    position: relative; /* solo ancla, no altera layout */
  }

  body.woocommerce-account .woocommerce-MyAccount-content .nizu-viewmode-bar{
    position: absolute !important;

    /* 👇 CLAVE */
    top: -62px !important;   /* ajusta fino: -54 / -62 / -70 */
    right: 0 !important;

    left: auto !important;
    transform: none !important;

    margin: 0 !important;
    z-index: 50;
  }

  /* El padding-right ya no es necesario */
  body.woocommerce-account .woocommerce-MyAccount-content h2{
    padding-right: 0 !important;
  }
}

/* Quitar “placa rosada” SOLO cuando el selector está flotando fuera (escritorio) */
@media (min-width: 681px){
  body.woocommerce-account .woocommerce-MyAccount-content .nizu-viewmode-card{
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
}
/* Ocultar etiqueta "Vista" (solo visual, sin tocar PHP) */
body.woocommerce-account .nizu-viewmode-label{
  display: none !important;
}


/* ============================================================
   NIZUDY · Chips "Áreas en las que eres tutor" (final)
   ============================================================ */

body.woocommerce-account .nizu-tutor-areas-chips{
  margin: 10px 0 18px 0;
}

body.woocommerce-account .nizu-tutor-areas-label{
  display: block;
  font-size: 0.8rem;
  font-weight: 500;
  opacity: 0.55;
  margin: 0 0 8px 0;
}

body.woocommerce-account .nizu-tutor-areas-chips .nizu-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}

body.woocommerce-account .nizu-tutor-areas-chips .nizu-chip{
  display: inline-flex;
  align-items: center;
  position: relative;
  padding: 6px 12px 6px 22px; /* espacio para punto */
  border-radius: 999px;
  font-size: 0.85rem;
  line-height: 1;
  white-space: nowrap;

  background: #ffffff;        /* fondo blanco */
  border: 1px solid #7c3aed;  /* borde morado */
  color: #111111;             /* texto negro */
}

body.woocommerce-account .nizu-tutor-areas-chips .nizu-chip::before{
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #22c55e;        /* punto verde */
  box-shadow: 0 0 0 3px rgba(34,197,94,0.18);
}



/* ============================================================
   NIZUDY · SOLO botón "Ir al portal de pagos" dentro de Mi Cuenta (contenido)
   ============================================================ */

body.woocommerce-account .woocommerce-MyAccount-content a[href*="nizu_portal_pagos"]{
  display: inline-block !important;
  width: fit-content !important;
  margin: 18px auto 0 !important;   /* centrado */
  padding: 10px 20px !important;    /* no tan grande */
  background: #6f3fd6 !important;   /* violeta Nizudy */
  color: #ffffff !important;
  text-decoration: none !important; /* sin subrayado */
  border: 0 !important;
  border-radius: 999px !important;  /* ovalado suave */
  font-weight: 700 !important;
  font-size: .95rem !important;
  line-height: 1.1 !important;
  box-shadow: 0 8px 22px rgba(111,63,214,.28) !important;
}

/* Hover */
body.woocommerce-account .woocommerce-MyAccount-content a[href*="nizu_portal_pagos"]:hover{
  background: #5f32c7 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* ✅ NIZUDY · Separación estable entre "Clase de prueba" y "Mensaje"
   (logueado y deslogueado) */
.single-product .nizu-tutor-card .nizu-tutor-test-wrap{
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  gap: 10px !important;            /* ← separación real */
}

/* Evita que márgenes raros del shortcode cambien el gap */
.single-product .nizu-tutor-card .nizu-tutor-test-wrap .nizu-tutor-test-btn,
.single-product .nizu-tutor-card .nizu-tutor-test-wrap .nizu-tutor-msg-btn{
  margin: 0 !important;
}


.woocommerce-account form.register .woocommerce-privacy-policy-text a:focus,
.woocommerce-account form.register .woocommerce-privacy-policy-text a:active {
    outline: none !important;
    box-shadow: none !important;
}




/* ============================================================
   NIZUDY • HOME • NOVEDADES — CARRUSEL (3 por vista + flechas)
   - Flechas no tapan texto (padding lateral)
   - Sin marco negro al click (focus-visible accesible)
   - Transición más suave
   - Tarjetas compactas
   - Bordes de imagen y tarjeta perfectamente alineados
   ============================================================ */

.nizu-home-news{margin: 26px 0 10px;}
.nizu-home-news__inner{max-width: 1100px;margin: 0 auto;padding: 0 18px;}
.nizu-home-news__head{text-align:center;margin: 0 0 14px;}
.nizu-home-news__head h2{margin:0;font-size: 2rem;}
.nizu-home-news__head p{margin:6px 0 0;opacity:.75;}

/* Carrusel */
.nizu-home-news__carousel{
  position: relative;
  margin-top: 14px;

  /* espacio real para flechas, evita tapar contenido */
  padding: 0 46px;
}

.nizu-home-news__viewport{
  overflow: hidden;
  border-radius: 20px;
}

/* Track (más suave) */
.nizu-home-news__track{
  display: flex;
  gap: 16px;                 /* compacto */
  will-change: transform;
  transition: transform .75s ease;
}

/* 3 por vista (ajustado al gap) */
.nizu-home-news__track .nizu-news-card{
  flex: 0 0 calc((100% - (16px * 2)) / 3);
}

/* Tarjeta */
.nizu-news-card{
  background:#fff;
  border:1px solid rgba(107,56,209,.14);
  border-radius: 18px;
  overflow:hidden; /* clave para bordes prolijos */
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
  transition: transform .25s ease, box-shadow .25s ease;
}
.nizu-news-card:hover{
  transform: translateY(-5px);
  box-shadow: 0 16px 30px rgba(0,0,0,.10);
}

/* ============================================================
   IMAGEN — Bordes perfectos
   - Quitamos padding en contenedor y usamos margin interno en la img
   - overflow + border-radius inherit para alinear radios
   ============================================================ */
.nizu-news-card__img{
  height: 165px;
  display:flex;
  align-items:center;
  justify-content:center;

  background:#f6f4ff;
  border-bottom:1px solid rgba(0,0,0,.04);

  padding: 0;              /* importante */
  overflow: hidden;        /* importante */
  border-radius: inherit;  /* alinea con tarjeta */
}

/* Imagen uniforme (misma caja), con aire interno sin romper bordes */
.nizu-news-card__img img{
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  margin: 10px;

  object-fit: contain;

  border-radius: 14px;
  background:#ffffff;

  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  display:block;
}

/* Texto (misma distribución, compacto) */
.nizu-news-card__body{padding: 14px 14px 16px;}
.nizu-news-card__body h3{margin:0 0 6px;font-size: 1.05rem;}
.nizu-news-card__body p{margin:0;opacity:.80;line-height:1.5;}

/* Flechas modernas */
.nizu-news-nav{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 999px;

  border: 1px solid rgba(107,56,209,.25);
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(8px);

  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  cursor: pointer;

  font-size: 26px;
  line-height: 42px;
  padding: 0;
  z-index: 5;

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

/* Fuera del contenido (ya hay padding en el carrusel) */
.nizu-news-prev{left: 10px;}
.nizu-news-next{right: 10px;}

.nizu-news-nav:hover{
  border-color: rgba(107,56,209,.55);
  box-shadow: 0 14px 28px rgba(0,0,0,.16);
  transform: translateY(-50%) scale(1.04);
}
.nizu-news-nav:active{
  transform: translateY(-50%) scale(.98);
}

/* Quitar marco negro al click, pero mantener accesible con teclado */
.nizu-news-nav:focus{ outline: none; }
.nizu-news-nav:focus-visible{
  outline: 3px solid rgba(107,56,209,.45);
  outline-offset: 2px;
}

/* Móvil: 1 por vista */
@media (max-width: 900px){
  .nizu-home-news__carousel{
    padding: 0 40px;
  }

  .nizu-home-news__track .nizu-news-card{
    flex: 0 0 100%;
  }

  .nizu-news-card__img{
    height: 210px;
  }

  .nizu-news-prev{left: 8px;}
  .nizu-news-next{right: 8px;}
}


/* =========================
   Wrapper menú
   ========================= */

li.nizu-bell-wrap{
  display:flex;
  align-items:center;
}

/* =========================
   Botón campana (sin fondo)
   ========================= */

.nizu-bell{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.nizu-bell details{
  position:relative;
}

.nizu-bell summary{
  list-style:none;
  cursor:pointer;
  user-select:none;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:6px 8px;
  border:none;
  background:transparent;

  outline:none !important;
  box-shadow:none !important;
}

.nizu-bell summary::-webkit-details-marker{
  display:none;
}

.nizu-bell summary::marker{
  display:none;
}

/* Quitar highlight azul/gris */
.nizu-bell summary:focus,
.nizu-bell summary:active,
.nizu-bell summary:focus-visible{
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Quitar tap highlight móvil */
.nizu-bell-wrap summary{
  -webkit-tap-highlight-color: transparent;
}

/* =========================
   Icono campana
   ========================= */

.nizu-bell-ico{
  width:24px;
  height:24px;
  display:block;
}

/* =========================
   Punto rojo
   ========================= */

.nizu-dot{
  position:absolute;
  top:2px;
  right:2px;

  width:10px;
  height:10px;
  border-radius:50%;

  background:#ff3b30;
  box-shadow:0 0 0 2px rgba(107,56,209,.25);
}

/* =========================
   PANEL
   ========================= */

.nizu-panel{
  position:absolute;
  right:0;
  top:44px;

  width:320px;
  max-width:86vw;

  background:#fff;
  color:#111;

  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);

  padding:10px;
  z-index:9999;
}

.nizu-panel h4{
  margin:6px 8px 10px;
  font-size:14px;
  font-weight:800;

  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* 🔥 Eliminar completamente el mini span */
.nizu-mini{
  display:none !important;
}

/* =========================
   Filas notificación
   ========================= */

.nizu-row{
  padding:10px;
  border-radius:12px;

  display:flex;
  flex-direction:column;
  gap:4px;

  text-decoration:none;
  color:inherit;
}

.nizu-row:hover{
  background:#f6f3ff;
}

.nizu-row .t{
  font-weight:750;
  font-size:13px;
}

.nizu-row .m{
  font-size:12px;
  opacity:.75;
}

.nizu-sep{
  height:1px;
  background:rgba(0,0,0,.06);
  margin:6px 0;
}

/* =========================
   Botones
   ========================= */

.nizu-actions{
  display:flex;
  gap:8px;
  padding:8px;
}

.nizu-actions a{
  flex:1;
  text-align:center;

  padding:8px 10px;
  border-radius:12px;

  text-decoration:none;

  border:1px solid rgba(107,56,209,.25);
  background:rgba(107,56,209,.08);
  color:#3a1aa3;

  font-weight:800;
  font-size:12px;
}

/* Invitado: centrar único botón */
.nizu-actions.is-guest{
  justify-content:center;
}

.nizu-actions.is-guest a{
  flex:0 0 auto;
  min-width:160px;
}



/* ============================================================
   CAMPANA — ajuste fino final
   - Sin forzar márgenes
   - Tamaño ligeramente menor
   - Mantiene hover idéntico al ?
   ============================================================ */

/* Reset limpio sin spacing artificial */
.wp-block-navigation .nizu-bell-wrap{
  margin: 0 !important;
}

/* Botón summary limpio */
.wp-block-navigation .nizu-bell summary{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  opacity:1;
  transition:opacity .12s ease;
}

/* Hover igual al ? */
.wp-block-navigation .nizu-bell summary:hover,
.wp-block-navigation .nizu-bell details[open] > summary{
  opacity:.82 !important;
}

/* 🔻 Tamaño ligeramente menor (antes 26px) */
.wp-block-navigation .nizu-bell summary svg{
  width: 24px !important;
  height: 24px !important;
  display:block;
  color:#fff !important;
}

/* Sin outline */
.wp-block-navigation .nizu-bell summary:focus,
.wp-block-navigation .nizu-bell summary:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}
/* ===============================================
   FIX — mantener solo bordes blancos como el ?
   =============================================== */

/* Quitar el fill forzado */
.wp-block-navigation .nizu-bell summary svg path,
.wp-block-navigation .nizu-bell summary svg circle{
  fill: none !important;
}

.wp-block-navigation .nizu-bell summary svg *{
  stroke-width:1.7 !important;
  stroke: currentColor !important;
}

/* Ajuste fino baseline con subrayado del texto */
.wp-block-navigation .nizu-bell summary svg{
  transform: translateY(2px);
}

/* ============================================================
   FIX REAL — /se-un-tutor/ (wrapper real: .nizu-tutor-page)
   Evita que .nizu-panel se comporte como popup aquí
   ============================================================ */

/* 1) En la página de tutor, ningún .nizu-panel debe flotar */
.nizu-tutor-page .nizu-panel{
  position: static !important;
  inset: auto !important;     /* por si usa top/right/left/bottom */
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;

  width: auto !important;
  max-width: none !important;
  z-index: 1 !important;
}

/* 2) Ajuste visual “como estaba” (tarjeta normal) */
.nizu-tutor-page .nizu-tutor-sidebar .nizu-panel{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,0.06) !important;
  padding: 16px !important;
  margin: 0 0 14px 0 !important;
}

/* 3) El popup flotante SOLO debe existir dentro del header (campana) */
.wp-block-navigation .nizu-bell .nizu-panel{
  position: absolute !important;
  right: 0 !important;
  top: 44px !important;
  z-index: 9999 !important;
}
/* ============================================================
   HOME CTA — eliminar efecto de <br> dentro del botón
   (sin tocar HTML)
   ============================================================ */
.nizu-home-tutorcard__btn br{
  display: none !important;
}

/* Centrado robusto por si el navegador mete baseline raro */
.nizu-home-tutorcard__btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  padding: 0 18px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}






/* ============================================================
   NIZUDY · Solicitud de nueva área
   ============================================================ */

/* ------------------------------------------------------------
   1. PANEL EN "SE UN TUTOR"
   ------------------------------------------------------------ */

.nizu-area-request {
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 20px 22px;
  box-shadow: 0 4px 18px rgba(0,0,0,.04);
}

/* ------------------------------------------------------------
   2. PANEL EN "MI ESPACIO ACADÉMICO"
   (SIN TARJETA, solo separación elegante)
   ------------------------------------------------------------ */

#nizu_my_area_requests {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.08);
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}

/* ------------------------------------------------------------
   3. TÍTULOS
   ------------------------------------------------------------ */

.nizu-area-request h3,
#nizu_my_area_requests h3 {
  font-size: 20px;
  margin-bottom: 8px;
}

/* ------------------------------------------------------------
   4. MENSAJE ÉXITO
   ------------------------------------------------------------ */

.nizu-area-sent-msg {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(16,185,129,.10);
  border: 1px solid rgba(16,185,129,.18);
  color: rgba(16,185,129,.95);
  font-weight: 700;
}

/* ------------------------------------------------------------
   5. INPUTS
   ------------------------------------------------------------ */

.nizu-area-request input[type="text"],
.nizu-area-request input[type="number"],
.nizu-area-request textarea,
#nizu_my_area_requests input[type="text"],
#nizu_my_area_requests input[type="number"],
#nizu_my_area_requests textarea {

  width: 100%;
  max-width: 520px;
  padding: 10px 14px;

  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.15);
  font-size: 14px;
  background: #fff;

  transition: border .15s ease, box-shadow .15s ease;
}

/* Focus violeta Nizudy */
.nizu-area-request input:focus,
.nizu-area-request textarea:focus,
#nizu_my_area_requests input:focus,
#nizu_my_area_requests textarea:focus {

  outline: none;
  border-color: #6b38d1;
  box-shadow: 0 0 0 3px rgba(107,56,209,.12);
}

/* ------------------------------------------------------------
   6. BOTÓN PRINCIPAL (IGUAL A "POSTULAR")
   ------------------------------------------------------------ */

.nizu-area-request .button-primary,
#nizu_my_area_requests .button-primary {

  background: linear-gradient(135deg,#6b38d1,#8b5cf6) !important;
  border: none !important;
  color: #fff !important;

  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 700;
  font-size: 14px;

  transition: all .18s ease;
  box-shadow: 0 4px 14px rgba(107,56,209,.25);
}

/* Hover igual estilo Postular */
.nizu-area-request .button-primary:hover,
#nizu_my_area_requests .button-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(107,56,209,.35);
  opacity: .95;
}

/* ------------------------------------------------------------
   7. TARJETAS DE SOLICITUDES ANTERIORES
   ------------------------------------------------------------ */

#nizu_my_area_requests > div > div[style*="padding:10px"] {
  transition: transform .15s ease, box-shadow .15s ease;
}

#nizu_my_area_requests > div > div[style*="padding:10px"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
/* ============================================================
   Ajuste tamaño badges estado (más pequeños y elegantes)
   ============================================================ */

#nizu_my_area_requests span[style*="border-radius:999px"]{
  font-size: 13px !important;
  padding: 4px 10px !important;
  font-weight: 600 !important;
}


@media (max-width: 768px){

  body.single-product{
    overflow-x:hidden !important;
  }

  body.single-product form.cart{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:16px !important;
  }

  body.single-product form.cart .single_add_to_cart_button{
    width:90% !important;
    max-width:340px !important;
    margin:0 auto !important;
  }

  body.single-product form.cart .nizu-tutor-select{
    width:100% !important;
    max-width:520px !important;
    margin:0 auto !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
  }

  body.single-product .nizu-tutor-card{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  body.single-product .nizu-tutor-card__inner{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    gap:10px !important;
  }

  body.single-product .nizu-tutor-test-wrap{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
  }

  body.single-product .nizu-tutor-test-btn,
  body.single-product .nizu-tutor-msg-btn{
    width:100% !important;
    max-width:260px !important;
  }

  body.single-product .woocommerce-tabs,
  body.single-product .woocommerce-Tabs-panel{
    padding-left:14px !important;
    padding-right:14px !important;
  }
}

/* ============================================================
   ✅ FIX MÓVIL: casilla de escribir “recortada” (solo teléfono)
   - Arregla shrink del textarea dentro de flex
   - Si falta espacio, el botón Enviar baja a segunda línea
   ============================================================ */
@media (max-width: 768px){

  /* Permite que el contenedor no “corte” y pueda acomodar */
  .nizu-msg-compose{
    flex-wrap: wrap !important;
    align-items: center !important;
    overflow: visible !important;
  }

  /* CLAVE: en flex, sin esto el textarea no se encoge bien en móvil */
  .nizu-msg-input{
    min-width: 0 !important;
    width: auto !important;
    flex: 1 1 auto !important;
  }

  /* Si el ancho es justo, mandamos “Enviar” abajo para que nunca se recorte */
  .nizu-msg-send{
    flex: 1 0 100% !important;
    width: 100% !important;
    height: 44px !important;
  }
}



/* ============================================================
   FIX DEFINITIVO: Inputs/textarea no se salen del panel
   (Sé un tutor + Solicitud nueva área)
   ============================================================ */

/* 1) Asegurar que el panel y sus hijos nunca crezcan más del contenedor */
.nizu-panel,
.nizu-panel *{
  box-sizing: border-box;
}

/* 2) FORM: "No encuentras tu área?"  (tu contenedor real) */
#nizu_area_request_form,
.nizu-panel.nizu-area-request{
  width: 100%;
  max-width: 100%;
}

/* 2.1) Anular wrappers con max-width inline (ej: max-width:520px) */
#nizu_area_request_form [style*="max-width"],
.nizu-panel.nizu-area-request [style*="max-width"]{
  max-width: 100% !important;
  width: 100% !important;
}

/* 2.2) Si hay grids inline, que no empujen el layout */
#nizu_area_request_form [style*="display:grid"],
.nizu-panel.nizu-area-request [style*="display:grid"]{
  width: 100% !important;
  max-width: 100% !important;
}

/* 3) Inputs/textarea/select dentro de ese panel */
#nizu_area_request_form input,
#nizu_area_request_form textarea,
#nizu_area_request_form select,
.nizu-panel.nizu-area-request input,
.nizu-panel.nizu-area-request textarea,
.nizu-panel.nizu-area-request select{
  width: 100% !important;
  max-width: 100% !important;
  display: block;
}

/* 4) FORM: "Cuéntanos tu experiencia" (tu clase real es nizu-tutor-form) */
.nizu-tutor-form textarea,
.nizu-tutor-form input,
.nizu-tutor-form select{
  width: 100% !important;
  max-width: 100% !important;
  display: block;
}


/* =========================================================
   SE UN TUTOR · OCULTAR PRECIO EN TARJETAS DE ÁREAS
   Evita que los tutores crean que deben pagar para postular
   Solo afecta la página /se-un-tutor/
   ========================================================= */

.nizu-tutor-page .nizu-area-price {
  display: none !important;
}



/* ============================================================
   FIX MÓVIL · Avatar perfil tutor (SOLO Mi Cuenta)
   - tamaño más chico
   - evita desbordes de margen
============================================================ */
@media (max-width: 680px){

  /* Asegura que el contenedor pueda ajustar sin desbordar */
  body.woocommerce-account .nizu-tutor-profile-head{
    flex-wrap: wrap !important;
    gap: 14px !important;
  }

  /* Avatar más pequeño en móvil */
  body.woocommerce-account .nizu-tutor-profile-avatar{
    flex: 0 0 auto !important;
  }

  body.woocommerce-account .nizu-tutor-profile-avatar img{
    width: 78px !important;
    height: 78px !important;

    object-fit: contain !important;   /* ✅ sin recorte */
    border-radius: 999px !important;
    background: #f3f4f6 !important;
  }

  /* Evita que el texto empuje el layout hacia el lado */
  body.woocommerce-account .nizu-tutor-profile-info{
    min-width: 0 !important;
  }
}


/* ============================================================
   FIX MÓVIL · Nombre tutor no desborda (Mi Cuenta)
   - corrige nombres largos (div.nizu-tutor-profile-name)
   - no afecta escritorio
============================================================ */
@media (max-width: 680px){

  /* Permite que el bloque de texto se encoja en flex (clave anti-desborde) */
  body.woocommerce-account .nizu-tutor-profile-info{
    min-width: 0 !important;
  }

  /* El nombre real (según tu inspector) */
  body.woocommerce-account .nizu-tutor-profile-name{
    display: block;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}





/* ============================================================
   FIX MÓVIL · Campana de notificaciones visible en menú
   ------------------------------------------------------------
   ✔ Solo aplica en móviles
   ✔ Solo cuando el menú responsive está abierto
   ✔ No afecta escritorio
   ✔ No altera lógica de notificaciones ni PHP
   ✔ Evita que el ícono blanco desaparezca sobre fondo blanco
============================================================ */
@media (max-width: 900px){
  .wp-block-navigation__responsive-container.is-menu-open li.nizu-bell-wrap .nizu-bell summary svg{
    color: #111 !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open li.nizu-bell-wrap .nizu-bell summary svg *{
    stroke: currentColor !important;
  }
}


