/*
 * custom.css — CSS a mano que vivia DENTRO de wp_global_styles (post 46193, clave styles.css).
 * POR QUE esta aca: BX2 — inline viajaba 49745 B en CADA pagina; como archivo se cachea una vez.
 * QUIEN: Roberto, 2026-10-01. md5 del cuerpo original: e46def3d1268d603029821ab43c171d3
 * OJO: editarlo aca, NO en Apariencia -> Editor -> Estilos -> CSS adicional (ya esta vacio).
 * REVERSION: la revision del post 46193 anterior al 2026-10-01 lo trae de vuelta.
 */
.z-index-1000, .z-index-100 {
z-index:100 !important;}

.cm--separador{
border:0 !important;
background-color: transparent !important;
height:2px;
--dash: 8px;
--gap: 8px;
background-image: repeating-linear-gradient(
    to right,
    black 0,
    black var(--dash),
    transparent var(--dash),
    transparent calc(var(--dash) + var(--gap))
  );
}

/* TOP BAR LARGE SIEMPRE POR ENCIMA DE TODO */
.cm-menu-LARGE .cm-menu-internet .cm-menu-hamburguesa .cm-menu-radios{
  position: relative !important;         
  z-index: 11000 !important;

}

/* 1) El header/topbar debe ser el “padre” de referencia */
.cm-menu-large,
.cm-topbar-large,
.cm-header-large-wrapper {
  position: relative !important;
  z-index: 11000 !important;
  overflow: visible !important; 
}

/* 2) Los dropdowns: fuera del flujo (NO empujan nada) */
.cm-menu-internet,
.cm-menu-radios,
.cm-menu-hamburguesa {
  position: absolute !important;
  top: 100% !important;         /* justo debajo del top bar */
  left: 0 !important;
  right: 0 !important;         
  width: 100% !important;
  z-index: 12000 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

/* 3) Estado visible */
.cm-menu-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}





/* TOP BAR SMALL SIEMPRE POR ENCIMA DE TODO */
@media (max-width: 768px) {

  /* Wrapper del header small (el group que tiene el menú) */
 @media (max-width: 768px) .cm-header-small-wrapper,
  .cm-hide-for-large .cm-header-small-wrapper {
position: sticky !important;
    top: 0;
    left: 0;
    right: 0;
    z-index: 11000 !important;
  }

  /* La fila interna del header small */
  .cm-header-small {
    z-index: 11000 !important;
  }

  /* El menú hamburguesa small que se despliega debajo */
  .cm-menu-hamburguesa-small {
    z-index: 10999 !important; /* justo debajo del header */
  }
}

.cm-internet-planes-small-index {
  align-items: flex-start !important; 
z-index: 1 !important;
}


.p-move {
  text-indent: 330px;
}

.p-move-small{
  text-indent: 44px;
}


.cm-leer-mas a {
  text-decoration: none !important;
}

.cm-verificar:hover {
  background-color: #FEDF25 !important;
  cursor: pointer !important;
}

/* CONTENEDOR */
.cm-marquee{
  overflow: hidden;
  width: 100%;
  --gap: 3rem;  
  --speed: 22s;
}

/* PISTA QUE SE MUEVE */
.cm-marquee__track{
  display: flex;
  flex-wrap: nowrap !important;      
  gap: var(--gap);
  width: max-content;      
  animation: cm-marquee var(--speed) linear infinite;
  will-change: transform;
}

/* CADA MITAD (DUPLICADAS) */
.cm-marquee__content{
  display: inline-flex;
  align-items: center;
  gap: var(--gap);
  flex: 0 0 auto;          
  white-space: nowrap;  
}

/* TEXTO E ÍCONO EN LÍNEA */
.cm-marquee__content p{
  margin: 0;
  line-height: 1;
  white-space: nowrap !important;     
  display: inline-block;
  font-size: 8vw;          
  font-weight: 700;
  color: #fff;
}

.cm-marquee__content img{
  height: 6vw;             
  width: auto;
  display: inline-block;
}

/* ANIMACIÓN CONTINUA */
@keyframes cm-marquee{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce){
  .cm-marquee__track{ animation: none; }
}

/* 🔻 SOLO elementos con border-radius de 8px (inline del editor o var de WP) */
*:where(
  [style*="border-radius:8px"],
  [style*="border-radius: 8px"],
  [style*="--wp--style--border--radius:8px"],
  [style*="--wp--style--border--radius: 8px"]
){
  --r: 8px;                 /* radio objetivo */
  border-radius: 0 !important;      /* quitamos curva */
  clip-path: polygon(               /* chaflán (diagonal) */
    var(--r) 0,
    calc(100% - var(--r)) 0,
    100% var(--r),
    100% calc(100% - var(--r)),
    calc(100% - var(--r)) 100%,
    var(--r) 100%,
    0 calc(100% - var(--r)),
    0 var(--r)
  );
  overflow: hidden;
}

/* LINEA PUNTEADA */

.cm-linea_punteada-GRIS {
  border-bottom: 2px solid transparent; /* mantiene el grosor */
  border-image: repeating-linear-gradient(
    to right,
    #d3d3d3 0,
    #d3d3d3 8px,   
    transparent 8px,
    transparent 16px  
  ) 2;
}

.cm-linea_punteada{
  border-bottom: 2px solid transparent; 
  border-image: repeating-linear-gradient(
    to right,
    #000000 0,
    #000000 8px,  
    transparent 8px,
    transparent 16px  
  ) 2; 
}

.cm-linea_punteada_LADO{
  border-right: 2px solid transparent; 
  border-image: repeating-linear-gradient(
    to bottom,
    #000000 0,
    #000000 8px,
    transparent 8px,
    transparent 16px
  ) 2;
}

.cm-linea-punteada-FOOTER{
border-bottom: 2px solid transparent; /* mantiene el grosor */
  border-image: repeating-linear-gradient(
    to right,
    #4F4F4F 0,
    #4F4F4F 8px,   
    transparent 8px,
    transparent 16px  
  ) 2;
}


/* ===== MENÚS TOP BAR: ESTADO INICIAL OCULTO ===== */

.cm-menu-internet,
.cm-menu-radios,
.cm-menu-hamburguesa,
.cm-menu-hamburguesa-small {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(4px);
  transition:
    max-height 0.2s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
  position: relative;
  z-index: 999;
}

/* Cuando JS agrega esta clase, se muestran */
.cm-menu-visible {
  max-height: 1000px; 
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
padding-top:0px !important;
}


/* ==========================
   BOTÓN HAMBURGUESA DESKTOP
   (FADE + ROTATE)
   =======================*/

.cm-btn-hamburguesa {
  position: relative;
  overflow: visible !important;   /* respeta el padding del grupo */
}

/* Figures de las dos imágenes dentro del botón */
.cm-btn-hamburguesa-abrir,
.cm-btn-hamburguesa-cerrar {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 !important;
  padding: 0 !important;
  width: 32px !important;
  height: 32px !important;
  display: block !important;
}

/* Imágenes internas */
.cm-btn-hamburguesa-abrir img,
.cm-btn-hamburguesa-cerrar img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Estado inicial: solo hamburguesa */
.cm-btn-hamburguesa-abrir img {
  opacity: 1;
  transform: none;
}

.cm-btn-hamburguesa-cerrar img {
  opacity: 0;
  transform: none;
}

/* Al abrir el menú */
.cm-btn-hamburguesa.cm-hamb-open .cm-btn-hamburguesa-abrir img {
  opacity: 0;
  transform: rotate(180deg);
}

.cm-btn-hamburguesa.cm-hamb-open .cm-btn-hamburguesa-cerrar img {
  opacity: 1;
  transform: rotate(180deg);
}

.cm-btn-whatsapp:hover {
    background-color: #25D366 !important;
    cursor: pointer !important;
}


/* BARRA LATERAL */

.cm-barra-lateral-sticky {
    flex: 0 0 0 !important;
    width: 0 !important;
    overflow: visible;
    transform: translateX(-32px);
    z-index: -10;
position: relative;
}

/* BLOQUES ANCHOS 1400 */

.cm-ancho-1400 {
    max-width: 1400px !important;
    width: 1400px !important;
    margin-left: calc( (1400px - 1200px) / -2 ); 
}


/* Hexagonos amarillos */

.cm-hexa-amarillos {
    position: relative;
    z-index: 3;
    display: block;
    margin-top: -315px;    
    max-width: none !important;
}


/* 1 exagono amarillo SMALL */

  .cm-consola-small {
    position: relative;
  }

  /* Hexágono flotante */
  .cm-consola-small .uno-hexagono-amarillo-small {
    position: absolute;
    z-index: 20;
    /* quita márgenes locos */
    margin: 0 !important;

    /* Ajusta estas coordenadas a gusto */
    top: 3.5rem;     /* qué tan abajo del top del contenedor */
    left: 0.5rem;    /* qué tan corrido a la derecha */
    max-width: none !important;
  }




/*FLECHA DETAILS*/

summary::-webkit-details-marker {
  display: none !important;
}

summary::marker {
  content: "" !important;
  display: none !important;
}

.wp-block-details summary::-webkit-details-marker {
    display: none;
}

.wp-block-details summary {
    position: relative;
    padding-right: 32px !important;
    cursor: pointer;
}

/* Flecha personalizada */
.cm-detalle-js .cm-arrow {
    position: absolute;
    right: 0;
    top: 50%;
    width: 24px;
    height: 24px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform .25s ease;
}

/* Rotar al abrir */
.cm-detalle-js.open .cm-arrow {
    transform: translateY(-50%) rotate(180deg);
}

:where(.wp-site-blocks *:focus) {
    outline-width: 0 !important;
    outline-style: none!important;
}


figure.wp-block-image.size-large.is-resized.wp-container-content-b8e8afd0 {
    max-height: 15px;
    /* align-content: center !important; */
    display: inline-flex;
}

.wp-block-button.has-custom-width.wp-block-button__width-100.is-style-outline.is-style-outline--6:hover {
    background-color: #FEDF25;
}

/* ---------- TARJETAS ---------- */


/*PRODUCTO VARIABLE*/

.cm-variaciones form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;     
}


.cm-variaciones form.cart > * {
    margin: 0 !important;
}


.cm-variaciones table.variations,
.cm-variaciones table.variations tbody,
.cm-variaciones table.variations tr,
.cm-variaciones table.variations th,
.cm-variaciones table.variations td {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

/* select de Ciclo */
.cm-variaciones table.variations select {
    width: 100% !important; 
}

/* botón "Add to cart" que quede compacto a la derecha */
.cm-variaciones .single_add_to_cart_button {
    white-space: nowrap;
    height: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* === OCULTAR LABELS, CLEAR, CANTIDAD (como ya lo tenías) === */
.cm-variaciones th.label,
.cm-variaciones td.label,
.cm-variaciones label[for*="ciclo"],
.cm-variaciones label[for*="attribute_"],
.cm-variaciones .label {
    display: none !important;
}

.cm-variaciones a.reset_variations {
    display: none !important;
}

.cm-variaciones .quantity,
.cm-variaciones .quantity input {
    display: none !important;
}

/* >>> NO ocultar el wrapper, SOLO el precio/descripcion <<< */
.cm-variaciones .single_variation_wrap {
    display: block !important; 
}

.cm-variaciones .single_variation,
.cm-variaciones .woocommerce-variation,
.cm-variaciones .woocommerce-variation-description,
.cm-variaciones .woocommerce-variation-price {
    display: none !important; 
}

/* === LAYOUT EN FILA: SELECT + BOTÓN === */
.cm-variaciones form.cart {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 16px !important;
}

.cm-variaciones form.cart > * {
    margin: 0 !important;
}

/* Aplanar tabla de variaciones para que no rompa el flex */
.cm-variaciones table.variations,
.cm-variaciones table.variations tbody,
.cm-variaciones table.variations tr,
.cm-variaciones table.variations th,
.cm-variaciones table.variations td {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.cm-variaciones table.variations select {
    width: 100% !important;
}

/* === BOTÓN "ESCOGE ESTE PLAN" === */
.cm-variaciones .single_add_to_cart_button {
    font-size: 0 !important;              /* ocultar texto original */
    font-family: 'Roboto', system-ui, sans-serif;
    font-weight: 600;                     
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 18px 32px;
    background: #000;
    color: #fff;
    border-radius: 0;
    border: 2px solid #000;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.cm-variaciones .single_add_to_cart_button::after {
    content: "ESCOGE ESTE PLAN";
    font-size: 22px;                       
    line-height: 1.2;                      /* "auto" / normal */
}

.cm-variaciones .single_add_to_cart_button:hover {
    background: #111;
    border-color: #111;
}

/* Quitar el espacio de abajo del form de variaciones */
.woocommerce div.product form.cart {
  margin-bottom: 0 !important;
}

.wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-ccf6f2ed.wp-block-group-is-layout-flex {
    max-height: 96px;
}

/*BOTON CICLO */
.woocommerce div.product form.cart table.variations td.value {
    margin-top: -28px !important;
    margin-left: -16px !important;

}

/*BOTON ESCOGE ESTE PLAN */
.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
    padding-bottom: 32px;
    margin-top: -20px !important;
}

.woocommerce div.product form.cart .variations select {
    max-width: 86% !important; 
}

.cm-variaciones .single_add_to_cart_button {
    margin-right: -19px;
}


.woocommerce div.product form.cart table.variations td select {
    min-width: 70%;
    background-color: #FEFBE6;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom-width: 2px;
    border-bottom-color: black;
}	

.woocommerce div.product form.cart .variations select {
    -webkit-background-size: 28px;
    background-position: calc(100% - 82px) 50%;
    -webkit-background-position: calc(100% - 12px) 50%;
}
select#ciclo {
    -webkit-background-size: 28px;
    background-position: calc(100% - 82px) 50%;
    -webkit-background-position: calc(100% - 12px) 50% !important;
}

//*CICLO FONT*//

.woocommerce div.product form.cart table.variations select#ciclo {
  font-family: 'Be Vietnam Pro', sans-serif !important;
  font-weight: 800 !important;        /* bold 800 */
  font-size: 14px !important;         /* 14px */
  text-transform: uppercase !important; /* TODO MAYÚSCULAS */
  line-height: 1.2 !important;
}

select#ciclo {
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
}



/* Opciones internas del desplegable, también en mayúsculas */
.woocommerce div.product form.cart table.variations select#ciclo option {
  text-transform: uppercase !important;
}


/* LINEA PUNTEADA IMAGINARIA */

.cm-variaciones::after {
    content: "";
    position: absolute;
    top: 1px;
    right: 333px;
    width: 2px;
    height: 103%;
    background-image: repeating-linear-gradient(to bottom, #000 0, #000 8px, transparent 8px, transparent 16px);
}

.cm-ancho-1400-marquee {
    position: relative;
    width: max-content !important;
    max-width: none;         
    left: 50%;
    transform: translateX(-50%);
}


/* AUDIO ESTILO GENERAL */
audio {
  width: 100%;
  background: #212121 !important;
  border-radius: 0 !important;
  padding: 12px !important;
  display: block;
  box-sizing: border-box;
}

/* Quitar bordes y outlines externos */
audio:focus,
audio:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Quitar el borde blanco redondeado interno */
audio::-webkit-media-controls-enclosure {
  background: #212121 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Fondo del panel de controles */
audio::-webkit-media-controls-panel {
  background: #212121 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  gap: 8px;
  padding-right: 0 !important;
  overflow: hidden !important; /* ayuda a que no se vean cosas pegadas al borde derecho */
}

/* Botón play / pause blanco */
audio::-webkit-media-controls-play-button {
  filter: invert(100%);
}

/* Tiempo transcurrido y restante (sin resplandor) */
audio::-webkit-media-controls-current-time-display,
audio::-webkit-media-controls-time-remaining-display {
  color: #ffffff !important;
  font-weight: 400;
  font-family: helvetica, Arial, sans-serif !important;
  font-size: 11px;
  text-shadow: none !important; /* <- quita el glow */
}

/* Barra de progreso (timeline) – sin fondo gris */
audio::-webkit-media-controls-timeline-container,
audio::-webkit-media-controls-timeline {
  background: transparent !important; /* <- quita gris */
  border-radius: 0 !important;
}

/* Slider de volumen plano */
audio::-webkit-media-controls-volume-slider {
  background: #424242 !important;
  border-radius: 0 !important;
}

/* Botón mute blanco */
audio::-webkit-media-controls-mute-button {
  filter: invert(100%);
}

audio::-webkit-media-controls-timeline {
    filter: invert(1)
}


/*QUERY LOOP*/

.mina-marlin,
.mina-cerro-blanco,
.hidroelectrica,
.mina-escobal {
  cursor: pointer !important;
}


/* ===== SLIDESHOW DE TEXTOS LARGE ===== */

/* Contenedor del slideshow (el grupo que tiene la clase .cm-slideshow) */
.cm-slideshow {
  position: relative !important;
  overflow: hidden;          
  min-height: 70px;
min-width: 300px;         
}

/* Cada slide ocupa todo el área del contenedor, uno encima de otro */
.cm-slideshow .cm-slide {
  position: absolute;
  inset: 0 !important;      
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

/* Slide visible */
.cm-slideshow .cm-slide.cm-slide-active {
  opacity: 1;
  pointer-events: auto;
}

.wp-block-buttons.wp-container-content-9cfa9a5a.is-content-justification-space-between.is-layout-flex.wp-container-core-buttons-is-layout-fa93e0a6.wp-block-buttons-is-layout-flex {
    padding-right: 16px !important;
}

.wp-block-group.cm-slide.is-vertical.is-layout-flex.wp-container-core-group-is-layout-af7f20d2.wp-block-group-is-layout-flex {
    padding-right: 16px !important;
}

/* ===== SLIDESHOW DE TEXTOS SMALL ===== */

/* Contenedor del slideshow (el grupo que tiene la clase .cm-slideshow) */
.cm-slideshow-small {
  position: relative !important;
  overflow: hidden;          
  min-height: 80px;
min-width: 65vw !important;         
}

/* Cada slide ocupa todo el área del contenedor, uno encima de otro */
.cm-slideshow-small .cm-slide-small {
  position: absolute;
  inset: 0 !important;      
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

/* Slide visible */
.cm-slideshow-small .cm-slide-small.cm-slide-small-active {
  opacity: 1;
  pointer-events: auto;
}

.wp-block-buttons.wp-container-content-9cfa9a5a.is-content-justification-space-between.is-layout-flex.wp-container-core-buttons-is-layout-fa93e0a6.wp-block-buttons-is-layout-flex {
    padding-right: 0px !important;
}

.wp-block-group.cm-slide-small.is-vertical.is-layout-flex.wp-container-core-group-is-layout-af7f20d2.wp-block-group-is-layout-flex {
    padding-right: 0px !important;
}

/* BLOQUES LISTA*/

.cm-bloque-lista {
  border: 2px solid #000;
  border-radius: 999px;
}

/* Todos los bloques después del primero se suben un poquito */
.cm-bloque-lista + .cm-bloque-lista {
  margin-top: -2px; /* prueba -1px, -2px o -3px según el grosor del borde */
}

/* CONTENEDOR: el Stack que tiene las pastillas */
.cm-lista-stack {
  display: flex;
  flex-direction: column;
  gap: 0 !important;              /* quita el espacio del Stack */
  padding: 0 !important;
  margin: 0 !important;
}

/* CADA PASTILLA: los Group directos dentro del Stack */
.cm-lista-stack > .wp-block-group {
  border: 2px solid #000 !important;
  border-radius: 999px;
  margin: 0 !important;           /* limpia márgenes del tema */
  box-sizing: border-box;
}

/* A PARTIR DE LA SEGUNDA, SE MONTAN UN POCO */
.cm-lista-stack > .wp-block-group + .wp-block-group {
  margin-top: -2px !important;    /* prueba -2 o -3 según se vea */
}

///** Botones internet menu **///

.cm-plan-basico *,
.cm-plan-intermedio *,
.cm-plan-profesional * {
    cursor: pointer !important;
}

/*SELECTOR FORM*/

.contact-form .grunion-field-wrap:not(.is-style-plain) input.radio {
    border-radius: 0 !important;
    border-width: 2px !important;
}

.wp-container-21 {
    top: calc(108px + var(--wp-admin--admin-bar--position-offset, 0px)) !important;
    position: sticky;
z-index: 1 !important;
}

.cm-planes-grid {
  align-items: flex-start !important; 
z-index: 1 !important;
}

.cm-planes-sticky {
  position: sticky;
  top: calc(72px + 32px);  
  z-index: 1!important;
}

/* Cada tarjeta usa su propia altura, no la de la más alta */
.cm-plan-basico,
.cm-plan-intermedio,
.cm-plan-profesional {
  align-self: flex-start !important;
  cursor: pointer;
}

/* ============== DETALLES DE LOS PLANES (OCULTOS INICIALMENTE) ============== */

.cm-detalles-plan-basico,
.cm-detalles-plan-intermedio,
.cm-detalles-plan-profesional {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(8px);
  transition:
    max-height 0.35s ease,
    opacity 0.25s ease,
    transform 0.25s ease;

  /* Que no dejen hueco cuando están cerrados */
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Al hacer hover en cada plan, solo se abre SU bloque de detalles */
.cm-plan-basico:hover .cm-detalles-plan-basico {
  max-height: 300px;        /* ajusta si tu contenido es más alto */
  opacity: 1;
  transform: translateY(0);
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.cm-plan-intermedio:hover .cm-detalles-plan-intermedio {
  max-height: 300px;
  opacity: 1;
  transform: translateY(0);
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.cm-plan-profesional:hover .cm-detalles-plan-profesional {
  max-height: 300px;
  opacity: 1;
  transform: translateY(0);
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* ===== HEXÁGONO MEDIO – DESKTOP / LARGE ===== */

/* La tarjeta BÁSICO es el contenedor de referencia */
.cm-plan-basico,
.cm-plan-intermedio,
.cm-plan-profesional {
  position: relative;
}

/* Hexágono centrado sobre la línea punteada */
.cm-plan-basico .cm-hexagono-medio,
.cm-plan-intermedio .cm-hexagono-medio,
.cm-plan-profesional .cm-hexagono-medio {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 !important;
  z-index: 5;
}

/* Ajuste fino por breakpoints de desktop */
@media (min-width: 1200px) {
  .cm-plan-basico .cm-hexagono-medio,
  .cm-plan-intermedio .cm-hexagono-medio,
  .cm-plan-profesional .cm-hexagono-medio {
    top: 82px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
   .cm-plan-basico .cm-hexagono-medio,
  .cm-plan-intermedio .cm-hexagono-medio,
  .cm-plan-profesional .cm-hexagono-medio {
    top: 78px;
  }
}

@media (min-width: 769px) and (max-width: 991.98px) {
   .cm-plan-basico .cm-hexagono-medio,
  .cm-plan-intermedio .cm-hexagono-medio,
  .cm-plan-profesional .cm-hexagono-medio {
    top: 76px;
  }
}


/* ==========================
   HEXÁGONO MEDIO — VERSIÓN SMALL (para los tres planes)
==========================*/
@media (max-width: 768px) {

  /* Cada tarjeta SMALL como contenedor relativo */
  .cm-plan-basico-small,
  .cm-plan-intermedio-small,
  .cm-plan-profesional-small {
    position: relative !important;
  }

  /* Hexágono centrado en SMALL para los tres planes */
  .cm-plan-basico-small .cm-hexagono-medio-small,
  .cm-plan-intermedio-small .cm-hexagono-medio-small,
  .cm-plan-profesional-small .cm-hexagono-medio-small {
    position: absolute !important;
    left: 50% !important;
    top: 70px !important;        
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    z-index: 10 !important;
  }
}

/* Ajuste fino para pantallas muy angostas (iPhone, Samsung) */
@media (max-width: 480px) {
  .cm-plan-basico-small .cm-hexagono-medio-small,
  .cm-plan-intermedio-small .cm-hexagono-medio-small,
  .cm-plan-profesional-small .cm-hexagono-medio-small {
    top: 68px !important;        
  }
}




//* MEDIA QUERIES *//


/* SOLO MOBILE */
@media (max-width: 768px) { 

.p-move {
  text-indent: 44px;
padding-left: 16px !important;
padding-right: 16px !important
}

.cm-futured-image {
padding-left: 16px !important;
padding-right: 16px !important;
}


.cm-leer-small {
padding-left: 16px !important;
padding-right: 16px !important;
}

.cm-cuadros-links-small {
padding-left: 16px !important;
padding-right: 16px !important;

}


.cm-continuar-large {
display: none !important;
}

.cm-continuar-small {
padding-left: 16px !important;
padding-right: 16px !important;
}

.wp-block-group.has-roboto-font-family.is-layout-flow.wp-block-group-is-layout-flow {
    padding-top: 64px !important;
}

.cm-content-small {
  padding-left: 16px !important;
  padding-right: 16px !important;
}


.wp-block-columns.are-vertically-aligned-bottom.cm-content-small.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex {
    padding-left: 16px !important;
    padding-right: 16px !important;
}


.wp-block-group.is-vertical.is-layout-flex.wp-container-core-group-is-layout-1a84695f.wp-block-group-is-layout-flex {
    gap: 52px !important;
}

.wp-block-group.has-border-color.is-content-justification-center.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-b644e139.wp-block-group-is-layout-flex {
    padding-right: 0px !important;
    padding-left: 0px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

.cm-casos-ocultar-small {
    display: none !important;
}

.wp-block-group.alignfull.cm-padding-small-top.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-3a7c332c.wp-block-group-is-layout-constrained {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-6be44b41.wp-block-columns-is-layout-flex {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.wp-block-columns.cm-cuadros-links-small.is-layout-flex.wp-container-core-columns-is-layout-38fc00c1.wp-block-columns-is-layout-flex {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.cm-futured-image {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

}

/* Versión SMALL: solo cuando el contenedor tiene la clase cm-marquee-small */
.cm-marquee.cm-marquee-small .cm-marquee__content img {
  height: 22vw !important;
}


/* Ocultar HEADER LARGE en móviles */
@media (max-width: 768px) {
  .cm-hide-for-small {
    display: none !important;
  }
}


/* Medium and up */
@media screen and (min-width: 40em) {}

/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {}

/* Large and up */
@media (min-width: 768px) {}

/* Ocultar HEADER SMALL en desktop/tablet */
@media (min-width: 768px) {
  .cm-hide-for-large {
    display: none !important;
  }
}

/* Large only */
@media screen and (min-width: 64em) and (max-width: 74.9375em) {

.cm-continuar-small {
display: none !important;
}


}

@media (max-width: 768px) {
  html,
  body,
  .wp-site-blocks {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
  }
}

/* HEADER MOBILE: sticky */
/* HEADER MOBILE FIJO ARRIBA CON ESPACIO INICIAL */
@media (max-width: 768px) {
  .cm-header-small {
    position: fixed;
    top: 0;              
    left: 0;
    right: 0;
    z-index: 9999;
    transition: top 0.2s ease;
margin-top: 32px !important;
  }

  .cm-header-small.cm-header-scrolled {
    top: 0;
  }

  body {
    padding-top: 0px !important;
  }
}
.wp-block-group.alignfull.cm-header-small.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-2294ea64.wp-block-group-is-layout-flex {
    padding-left: 16px !important;
    padding-right: 16px !important;
margin-top: 32px !important;
}

@media (max-width: 768px) {

  /* Fuerza que el loop sea grid de 2 columnas en mobile */
  .cm-query-productos-small .wp-block-post-template.is-layout-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 16px;  /* gap horizontal */
    row-gap: 32px;     /* gap vertical */
  }

  /* Quita márgenes que puedan romper el grid */
  .cm-query-productos-small .wp-block-post-template.is-layout-grid > li {
    margin: 0 !important;
  }

  /* Tamaño del cover */
  .cm-query-productos-small .cm-query-product-cover-small {
    width: 179px;
    height: 184px;
    max-width: 100%;
    margin-bottom: 8px;
  }

  .cm-query-productos-small .cm-query-product-cover-small img,
  .cm-query-productos-small .cm-query-product-cover-small figure,
  .cm-query-productos-small .cm-query-product-cover-small .wp-block-cover__image-background {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Texto alineado a la izquierda */
  .cm-query-productos-small .wp-block-post-title,
  .cm-query-productos-small .wp-block-post-excerpt,
  .cm-query-productos-small .wp-block-post-terms,
  .cm-query-productos-small p {
    text-align: left;
  }
}

/* ===== PRODUCTO VARIABLE SMALL ===== */
@media (max-width: 768px) {

  /* Contenedor para poder posicionar la línea imaginaria */
  .cm-variaciones {
 
  }

  /* El form del producto variable en STACK (uno bajo el otro) */
  .cm-variaciones form.cart {
    display: flex !important;
    flex-direction: column !important;  
    align-items: stretch !important;  
    justify-content: flex-start !important;
  padding-top: 32px !important;
  }

  .cm-variaciones form.cart > * {
    margin: 0 !important;
padding-top: 32px !important;
  }

  /* Tabla de variaciones en bloques */
  .cm-variaciones table.variations,
  .cm-variaciones table.variations tbody,
  .cm-variaciones table.variations tr,
  .cm-variaciones table.variations th,
  .cm-variaciones table.variations td {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  /* select de Ciclo */
  .cm-variaciones table.variations select {
    width: 100% !important;
  }

  /* Botón compacto, a todo el ancho en móvil (si quieres) */
  .cm-variaciones .single_add_to_cart_button {
    white-space: nowrap;
    height: 100%;
    display: flex !important;
    align-items: center;
    justify-content: center;

  }

  /* ===== LÍNEA PUNTEADA IMAGINARIA HORIZONTAL ===== */
  .cm-variaciones::after {
    content: none !important;   /* apaga la pseudo-línea */
    display: none !important;
  }

/*BOTON CICLO */
.woocommerce div.product form.cart table.variations td.value {
    margin-top: -28px !important;
    margin-left: 0px !important;

}

.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
    padding-bottom: 0px !important;
}

.woocommerce div.product form.cart .variations select {
    max-width: 50% !important;
}
 .woocommerce div.product form.cart table.variations td select {
    min-width: 50% !important;
}

select#ciclo {
    -webkit-background-size: 28px;
    background-position: calc(100% - 12px) 50%;
    -webkit-background-position: calc(100% - 12px) 50% !important;
}

}

/* ===== MENÚ HAMBURGUESA SMALL: STICKY Y EN COLUMNA ===== */
@media (max-width: 768px) {

  /* El contenedor del menú hamburguesa small */
  .cm-menu-hamburguesa-small {
    position: fixed !important;
    top: 104px !important;             
    left: 0;
    right: 0;
    bottom: 0;
    max-height: 100%;
    overflow-y: auto;
    z-index: 9998;
    margin: 0 !important;
  }

  /* Aseguramos que el contenido vaya TODO hacia abajo, no en fila */
  .cm-menu-hamburguesa-small.is-layout-flex {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  /* Por si el Stack interno agarra flex raro */
  .cm-menu-hamburguesa-small .wp-block-stack,
  .cm-menu-hamburguesa-small .wp-block-group {
    width: 100% !important;
  }
}

/* ===== BOTÓN HAMBURGUESA SMALL (≡ / X ANIMADOS) ===== */
@media (max-width: 768px) {

  /* El grupo del botón small (el que tiene las 2 imágenes) */
  .cm-btn-hamburguesa-small {
    position: relative;
    overflow: visible !important;
  }

  /* Los figure de las imágenes ≡ y X */
  .cm-btn-hamburguesa-abrir-small,
  .cm-btn-hamburguesa-cerrar-small {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 !important;
    padding: 0 !important;
    width: 28px !important;   /* puedes subir a 32px si quieres */
    height: 28px !important;
    display: block !important;
  }

  /* Las imágenes dentro */
  .cm-btn-hamburguesa-abrir-small img,
  .cm-btn-hamburguesa-cerrar-small img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.25s ease, transform 0.25s ease;
  }

  /* Estado inicial: solo se ve la hamburguesa */
  .cm-btn-hamburguesa-abrir-small img {
    opacity: 1;
    transform: none;
  }

  .cm-btn-hamburguesa-cerrar-small img {
    opacity: 0;
    transform: none;
  }

  /* Cuando el JS agrega .cm-hamb-open al grupo */
  .cm-btn-hamburguesa-small.cm-hamb-open .cm-btn-hamburguesa-abrir-small img {
    opacity: 0;
    transform: rotate(180deg);
  }

  .cm-btn-hamburguesa-small.cm-hamb-open .cm-btn-hamburguesa-cerrar-small img {
    opacity: 1;
    transform: rotate(180deg);
  }
}

/* ================================
   POPUP ASESORÍA — OVERLAY (LARGE + SMALL)
   (animable: sin display none)
================================== */
.cm-popup-asesoria-overlay,
.cm-popup-asesoria-overlay-small,
.cm-popup-contacto-overlay,
.cm-popup-contacto-overlay-small{
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;

  /* siempre flex (para que la transición exista) */
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;

  background: rgba(0,0,0,.52) !important;

  /* apagado por defecto */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition: opacity .25s ease, visibility 0s linear .25s;

  padding: 2rem !important;
  padding-top: calc(24px + env(safe-area-inset-top)) !important;
  padding-bottom: calc(2rem + env(safe-area-inset-bottom)) !important;

  box-sizing: border-box !important;
  margin: 0 !important;
  margin-block: 0 !important;

  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Visible */
.cm-popup-asesoria-overlay.cm-popup-visible,
.cm-popup-asesoria-overlay-small.cm-popup-visible,
.cm-popup-contacto-overlay.cm-popup-visible,
.cm-popup-contacto-overlay-small.cm-popup-visible{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .25s ease, visibility 0s;
}


/* ================================
   CAJA DEL POPUP ASESORÍA
   Large: 1400px
   Small: full width
================================== */
.cm-popup-asesoria-box{
  width: min(1400px, calc(100vw - 48px)) !important;
  max-width: 1400px !important;
  max-height: calc(100dvh - 48px) !important; 
  overflow: auto !important;                          
  position: relative;
}

.cm-popup-asesoria-box-small{
  width: min(1100px, calc(100vw - 48px)) !important;
  max-height: calc(100dvh - 48px) !important;
  overflow: auto !important;
  position: relative;
}


/* ================================
   CAJA DEL POPUP CONTACTO
   (nuevo – no toca asesoría)
================================== */

/* CONTACTO LARGE */
.cm-popup-contacto-box{
  width: 100% !important;
  max-width: 1400px !important;
  max-height: calc(100dvh - 48px) !important;
  overflow: auto !important;
  position: relative;
  box-sizing: border-box !important;
}

/* CONTACTO SMALL */
.cm-popup-contacto-box-small{
  width: min(1100px, calc(100vw - 48px)) !important;
  max-height: calc(100dvh - 48px) !important;
  overflow: auto !important;
  position: relative;
  box-sizing: border-box !important;
}


/* En móvil: caja a todo el ancho menos padding (ASESORÍA) */
@media (max-width: 768px){
  .cm-popup-asesoria-box,
  .cm-popup-asesoria-box-small{
    width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
  }

  /* si quieres que solo exista el small en móvil (asesoría) */
  .cm-popup-asesoria-overlay{ 
    display:none !important; 
  }
}


/* En móvil: caja a todo el ancho menos padding (CONTACTO) */
@media (max-width: 768px){
  .cm-popup-contacto-box,
  .cm-popup-contacto-box-small{
    width: calc(100vw - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
  }

  .cm-popup-contacto-overlay{ 
    display:none !important; 
  }
}


/* =========================================
   FIX POPUP ASESORÍA – COLUMNAS INTERNAS
   (sin tocar overlay ni box)
========================================= */

/* Contenedor de las dos columnas */
.cm-popup-asesoria-box .wp-block-columns {
  column-gap: 2rem !important; /* gap entre texto y formulario */
}

/* SOLO la columna del formulario */
.cm-popup-asesoria-box .wp-block-column:last-child {
  padding-right: 2rem !important; /* evita que tope el borde */
  box-sizing: border-box;
}

/* En mobile: quitar padding extra */
@media (max-width: 768px) {
  .cm-popup-asesoria-box .wp-block-column:last-child {
    padding-right: 0 !important;
  }

  .cm-popup-asesoria-box .wp-block-columns {
    column-gap: 0 !important;
  }
}


/* ================================
   FIX: gap + padding derecho SOLO en columna formulario (LARGE)
   (sin romper los demás paddings)
================================== */

/* 1) Asegura que el popup box nunca se pase de 1400 */
.cm-popup-asesoria-box{
  width: 100% !important;
  max-width: 1400px !important;
  box-sizing: border-box !important;
  overflow: hidden; /* evita que algo "se salga" visualmente */
}

/* 2) Recupera el gap real entre columnas (Gutenberg usa gap) */
@media (min-width: 769px){
  .cm-popup-asesoria-box .wp-block-columns{
    gap: 2rem !important;        /* <- tu gap */
    column-gap: 2rem !important; /* fallback */
  }

  /* 3) SOLO arregla el padding-right de la columna del formulario */
  .cm-popup-asesoria-box .wp-block-column:last-child{
    padding-right: 2rem !important; /* <- tu padding que faltaba */
    box-sizing: border-box !important;
  }
}

.cm-popup-asesoria-overlay,
.cm-popup-asesoria-overlay-small{
  transition: opacity 0.25s ease;
}


/* ================================
   ANIMACIÓN POPUP (FADE + SLIDE)
   iOS SAFE (sin transform scale)
================================ */

/* Caja: oculta */
.cm-popup-asesoria-box,
.cm-popup-asesoria-box-small,
.cm-popup-contacto-box,
.cm-popup-contacto-box-small{
  opacity: 0;
  transform: translateY(12px); /* esto NO reduce tamaño del texto */
  transition: opacity .28s ease, transform .28s ease;
  will-change: opacity, transform;
}

/* Visible */
.cm-popup-asesoria-overlay.cm-popup-visible .cm-popup-asesoria-box,
.cm-popup-asesoria-overlay-small.cm-popup-visible .cm-popup-asesoria-box-small,
.cm-popup-contacto-overlay.cm-popup-visible .cm-popup-contacto-box,
.cm-popup-contacto-overlay-small.cm-popup-visible .cm-popup-contacto-box-small{
  opacity: 1;
  transform: translateY(0);
}


/* (Opcional) respeta a gente con reduced motion */
@media (prefers-reduced-motion: reduce){
  .cm-popup-asesoria-overlay,
  .cm-popup-asesoria-overlay-small,
  .cm-popup-contacto-overlay,
  .cm-popup-contacto-overlay-small,
  .cm-popup-asesoria-box,
  .cm-popup-asesoria-box-small,
  .cm-popup-contacto-box,
  .cm-popup-contacto-box-small{
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}


/* =========================================
   FIX HARDCORE: textos invisibles SOLO SMALL
   (no toca el popup large)
========================================= */

/* fuerza color base y visibilidad del contenido */
.cm-popup-asesoria-overlay-small.cm-popup-visible .cm-popup-asesoria-box-small,
.cm-popup-asesoria-overlay-small.cm-popup-visible .cm-popup-asesoria-box-small *{
  color: #111 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* por si el theme mete "contrast" blanco */
.cm-popup-asesoria-overlay-small .cm-popup-asesoria-box-small .has-contrast-color{
  color: #111 !important;
}

/* por si algún contenedor del texto está en display:none */
.cm-popup-asesoria-overlay-small .cm-popup-asesoria-box-small .wp-block-group,
.cm-popup-asesoria-overlay-small .cm-popup-asesoria-box-small .wp-block-columns,
.cm-popup-asesoria-overlay-small .cm-popup-asesoria-box-small .wp-block-column{
  display: block !important;
}


/* ================================
   GAP 32px TEXTOS SUPERIORES — SMALL
   (Gutenberg real, no flex)
================================== */

.cm-popup-asesoria-overlay-small
.cm-popup-asesoria-box-small
h5,
.cm-popup-asesoria-overlay-small
.cm-popup-asesoria-box-small
h3,
.cm-popup-asesoria-overlay-small
.cm-popup-asesoria-box-small
p{
  margin-bottom: 1rem !important;
}

/* El último texto no necesita margen extra */
.cm-popup-asesoria-overlay-small
.cm-popup-asesoria-box-small
p:last-of-type{
  margin-bottom: 0 !important;
}

.cm-popup-asesoria-overlay-small.cm-popup-visible .cm-popup-asesoria-box-small,
.cm-popup-asesoria-overlay-small.cm-popup-visible .cm-popup-asesoria-box-small *{
  color: #ffffff!important;
  opacity: 1 !important;
  visibility: visible !important; 
}


/* ================================
   BOTONES / DESBORDES
================================== */

button.wp-block-button__link.has-text-color.has-base-color {
  color: #ffffff !important;
}

.wp-block-group.cm-popup-asesoria-box.has-contrast-color.has-text-color.has-link-color.wp-elements-2e4f79c2155a8cded03a7675940b846f.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-da7affa0.wp-block-group-is-layout-flex {
  overflow: hidden !important;
}










/* ===== PADDING POST PARA SMALL ===== */
@media (max-width: 768px) {
  .cm-padding-small {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;

  }
}


/* ===== PADDING TOP SOLO EN SMALL ===== */
@media (max-width: 768px) {
  .cm-padding-small-top {
    padding-top: 64px !important;
  }
}


/* ===== DETALLES PLANES SMALL ===== */

/* Ocultos por defecto */
.cm-mostrar-detalles-basico-small,
.cm-mostrar-detalles-intermedio-small,
.cm-mostrar-detalles-profesional-small {
  display: none !important;
}

/* Cuando se abren */
.cm-detalles-visible {
  display: grid !important; /* porque esos bloques son Grid */
}

/* SOLO ESTE BLOQUE DE COLUMNS EN SMALL */
@media (max-width: 768px) {
  div.wp-block-columns.are-vertically-aligned-bottom.cm-content-small.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;

  }
}



/* ===== CAJA DEL POPUP (LARGE + SMALL) ===== */
.cm-popup-asesoria-box,
.cm-popup-asesoria-box-small {
  position: relative;
  max-width: 1100px;
  width: 100%;
  max-height: 90vh;
}

@media (max-width: 768px) {
  .cm-popup-asesoria-box,
  .cm-popup-asesoria-box-small {
    max-height: 100vh;
  }
}

/* ===== BOTÓN DE CERRAR (LARGE + SMALL) ===== */
.cm-popup-asesoria-close,
.cm-popup-asesoria-close-small {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
  display: inline-block;
  z-index: 2;
}

.cm-popup-asesoria-close img,
.cm-popup-asesoria-close-small img {
  width: 24px;
  height: 24px;
  display: block;
}

/* Opcional: ocultar popup grande en móvil si quieres solo el small */
@media (max-width: 768px) {
  .cm-popup-asesoria-overlay {
    display: none !important;
  }
}

/* HEXÁGONOS: estado base */
.cm-hexgrid path {
  fill: #FEDF25;          /* color del “brillo” */
  fill-opacity: 0;        /* invisible al inicio     */
  transition: fill-opacity 3s ease-out;  /* fade out lento */
  cursor: pointer;
}

/* Cuando pasas el mouse POR ENCIMA de un hexágono */
.cm-hexgrid path:hover {
  fill-opacity: 1;        /* se llena de amarillo    */
  transition: fill-opacity 0.15s ease-out;  /* entrada rápida */
}

/* Fondo de hexágonos centrado al ancho 1200 */
.cm-fondo-hex {
  width: 100%;               /* que ocupe todo el ancho disponible del contenedor */
  max-width: 1200px;         /* mismo límite que tu layout */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cm-fondo-hex > * {
  margin-left: auto;
  margin-right: auto;
}

/* Contenedor del panal: sigue igual */
.cm-fondo-hex {
  width: 100%;
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ajustar el wrapper del SVG si existe */
.cm-fondo-hex .cm-hexgrid-wrapper,
.cm-fondo-hex .cm-hexgrid {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Lo importante: el SVG no se puede pasar de su contenedor */
.cm-fondo-hex svg {
  display: block;
  width: 100%;      /* que se adapte al ancho del Stack */
  max-width: 100%;  /* no más de 100% */
  height: auto;     /* que mantenga proporción */
  margin: 0 auto;   /* centrado */
}

/* ==================================================
   FORMULARIO CM – SIMPLE FILE FORM (ESTILO BEETTREX)
   ================================================== */

/* ==== CONTENEDOR ==== */

.cm-ff-wrapper {
  width: 100%;
}

.cm-ff-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}


/* === LABELS ==== */

.cm-ff-field label {
  display: block;
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 4px;
  color: #000;
}


/* === INPUTS DE TEXTO =====*/

.cm-ff-field input[type="text"],
.cm-ff-field input[type="email"],
.cm-ff-field input[type="tel"] {
  width: 100%;
  border: 0;
  border-bottom: 2px solid #000000;
  padding: 12px 16px;
  background-color: #FEFBE6; /* Color UT */
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #000000;
  box-sizing: border-box;
}

.cm-ff-field input[type="text"]:focus,
.cm-ff-field input[type="email"]:focus,
.cm-ff-field input[type="tel"]:focus {
  outline: none;
  box-shadow: none;
}


/* =================================
   INPUT DE ARCHIVO – ESTILO ESPECIAL
   =================================*/

/* Contenedor del file input */
.cm-ff-field input[type="file"] {
  width: 100%;                        /* que ocupe todo el ancho de la columna */
  border: none;
  background: transparent !important;
  padding: 0;
  font-family: "Roboto", sans-serif;
  font-size: 16px;                    /* nombre del archivo */
  font-weight: 400;
  letter-spacing: 0;
  color: #4F4F4F;
}

/* Botón “SELECCIONAR ARCHIVO” – más ancho */
.cm-ff-field input[type="file"]::file-selector-button {
  /* más ancho que antes, casi 2/3 de la columna */
  width: 60%;
  max-width: 360px;                   /* para que no se vuelva gigante en pantallas enormes */

  background: transparent !important;
  border: 2px solid #E9E9E9;
  padding: 16px 24px;                 /* 4px menos de alto */
  font-family: "Roboto", sans-serif;
  font-weight: 500;                   /* Medium */
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4F4F4F;
  cursor: pointer;

  margin-right: 32px;                 /* gap con el nombre del archivo */
}

/* Safari / WebKit antiguo */
.cm-ff-field input[type="file"]::-webkit-file-upload-button {
  width: 60%;
  max-width: 360px;
  background: transparent !important;
  border: 2px solid #E9E9E9;
  padding: 16px 24px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #4F4F4F;
  cursor: pointer;
  margin-right: 32px;
}

small.cm-ff-file-help {
    display: none !important;
}


/* ==============
   BOTÓN ENVIAR
   ============= */

.cm-ff-submit {
  width: 100%;
  border: none;
  padding: 18px 24px;
  background-color: #000000;
  color: #ffffff;
  font-family: "Roboto", sans-serif !important;
  font-weight: 600 !important; /* SemiBold */
  font-size: 22px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase;
  cursor: pointer;
  box-sizing: border-box;
}

.cm-ff-submit:hover {
  background-color: #262626;
}


/* ==========================
   MENSAJES DE ERROR / ÉXITO
   =========================*/

.cm-ff-messages {
  font-family: "Be Vietnam Pro", sans-serif;
  font-size: 13px;
}

.cm-ff-errors {
  color: #b00020;
}

.cm-ff-errors ul {
  margin: 0;
  padding-left: 20px;
}

.cm-ff-success {
  color: #0b8a1a;
}

.cm-index-atras{
z-index:-10 !important;
}

/* ===== KILL GUTENBERG GAP EN EL OVERLAY ===== */
.cm-popup-asesoria-overlay,
.cm-popup-asesoria-overlay-small{
  margin: 0 !important;
  margin-block: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Por si Gutenberg lo aplica como “* + *” dentro del container */
[class*="wp-container-core-"] > .cm-popup-asesoria-overlay,
[class*="wp-container-core-"] > .cm-popup-asesoria-overlay-small{
  margin: 0 !important;
  margin-block: 0 !important;
}



.cm-year{font-size:16px;}
.cm-year{
position: relative; 
top: -3px;
left: 6px;
}

@media (max-width: 768px){
  .cm-footer-copyright .cm-year{
    font-size: 14px !important;
    position: relative;
    top: -1px;
    left: 3px;
  }
}

/* FIX DEFINITIVO: matar flecha fantasma en iOS Safari + Chrome */
details.wp-block-details > summary,
details.cm-detalle-js > summary {
  display: block !important;      /* ← CLAVE */
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Por si Safari insiste */
details.wp-block-details > summary::marker,
details.cm-detalle-js > summary::marker {
  content: "" !important;
}

/* WebKit (Safari / Chrome iOS) */
details.wp-block-details > summary::-webkit-details-marker,
details.cm-detalle-js > summary::-webkit-details-marker {
  display: none !important;
}