.elementor-kit-6{--e-global-color-primary:#F263B2;--e-global-color-secondary:#C72E7D;--e-global-color-text:#4E3A4C;--e-global-color-accent:#E8479B;--e-global-color-dmrosa50:#FFF1F8;--e-global-color-dmrosa100:#FDE0EF;--e-global-color-dmrosa200:#FBD7D7;--e-global-color-dmrosa300:#F8ADD5;--e-global-color-dmrosa400:#F58BC5;--e-global-color-dmrosa800:#8F1D57;--e-global-color-dmmenta100:#D6F7F4;--e-global-color-dmmenta300:#7FE3DA;--e-global-color-dmmenta500:#2BC4C4;--e-global-color-dmmenta700:#12888C;--e-global-color-dmlimon100:#FFF3CB;--e-global-color-dmlimon300:#FFE07A;--e-global-color-dmlimon500:#FFC93C;--e-global-color-dmlimon700:#D89A00;--e-global-color-dmuva100:#EFE2FB;--e-global-color-dmuva300:#C9A4F0;--e-global-color-dmuva500:#9B5DE5;--e-global-color-dmuva700:#6C34B0;--e-global-color-dmmandarina100:#FFE6DA;--e-global-color-dmmandarina300:#FFB08A;--e-global-color-dmmandarina500:#FF7A45;--e-global-color-dmmandarina700:#D24E1B;--e-global-color-dmpistache100:#EAF7CF;--e-global-color-dmpistache300:#CDEB8B;--e-global-color-dmpistache500:#A8DB3C;--e-global-color-dmpistache700:#6E9A15;--e-global-color-dmtinta900:#2B1B2A;--e-global-color-dmtinta500:#7A6779;--e-global-color-dmtinta300:#B5A6B4;--e-global-color-dmtinta200:#E4DBE3;--e-global-color-dmtinta100:#F2EDF1;--e-global-color-dmcrema:#FFF8F3;--e-global-color-dmpapel:#FFFFFF;--e-global-color-dmexito:#2FA36B;--e-global-color-dmexitosuave:#E1F5EA;--e-global-color-dmalerta:#E8A200;--e-global-color-dmalertasuave:#FFF3D6;--e-global-color-dmerror:#D93B4C;--e-global-color-dmerrorsuave:#FCE4E7;--e-global-color-dminfo:#2BC4C4;--e-global-color-dminfosuave:#D6F7F4;--e-global-color-dmoferta:#E8479B;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-size:84px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:0.95em;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-size:38px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.08em;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.2em;--e-global-typography-dmdisplayl-font-family:"Bricolage Grotesque";--e-global-typography-dmdisplayl-font-size:58px;--e-global-typography-dmdisplayl-font-weight:800;--e-global-typography-dmdisplayl-line-height:1em;--e-global-typography-dmdisplayl-letter-spacing:-0.02em;--e-global-typography-dmdisplays-font-family:"Bricolage Grotesque";--e-global-typography-dmdisplays-font-size:24px;--e-global-typography-dmdisplays-font-weight:700;--e-global-typography-dmdisplays-line-height:1.15em;--e-global-typography-dmdisplays-letter-spacing:-0.02em;--e-global-typography-dmtitlel-font-family:"Poppins";--e-global-typography-dmtitlel-font-size:20px;--e-global-typography-dmtitlel-font-weight:600;--e-global-typography-dmtitlel-line-height:1.3em;--e-global-typography-dmtitlem-font-family:"Poppins";--e-global-typography-dmtitlem-font-size:17px;--e-global-typography-dmtitlem-font-weight:600;--e-global-typography-dmtitlem-line-height:1.35em;--e-global-typography-dmtitles-font-family:"Poppins";--e-global-typography-dmtitles-font-size:15px;--e-global-typography-dmtitles-font-weight:600;--e-global-typography-dmtitles-line-height:1.4em;--e-global-typography-dmbodyl-font-family:"Poppins";--e-global-typography-dmbodyl-font-size:17px;--e-global-typography-dmbodyl-font-weight:400;--e-global-typography-dmbodyl-line-height:1.6em;--e-global-typography-dmbodys-font-family:"Poppins";--e-global-typography-dmbodys-font-size:13px;--e-global-typography-dmbodys-font-weight:400;--e-global-typography-dmbodys-line-height:1.55em;--e-global-typography-dmeyebrow-font-family:"Poppins";--e-global-typography-dmeyebrow-font-size:11px;--e-global-typography-dmeyebrow-font-weight:700;--e-global-typography-dmeyebrow-text-transform:uppercase;--e-global-typography-dmeyebrow-line-height:1.2em;--e-global-typography-dmeyebrow-letter-spacing:0.14em;--e-global-typography-dmprice-font-family:"Bricolage Grotesque";--e-global-typography-dmprice-font-size:22px;--e-global-typography-dmprice-font-weight:800;--e-global-typography-dmprice-line-height:1.1em;background-color:var( --e-global-color-dmpapel );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:14px 26px 14px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-accent );color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-6 h1{color:var( --e-global-color-dmtinta900 );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{color:var( --e-global-color-dmtinta900 );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 h3{color:var( --e-global-color-dmtinta900 );font-family:"Bricolage Grotesque", Sans-serif;font-weight:700;}.elementor-kit-6 h4{color:var( --e-global-color-dmtinta900 );font-family:"Poppins", Sans-serif;font-weight:600;}.elementor-kit-6 img{border-radius:16px 16px 16px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-primary-font-size:60px;--e-global-typography-secondary-font-size:32px;--e-global-typography-dmdisplayl-font-size:46px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-primary-font-size:44px;--e-global-typography-secondary-font-size:26px;--e-global-typography-dmdisplayl-font-size:34px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Dulce Momento — tokens que Elementor no modela como globales.
   Se inyecta en el Custom CSS del kit (Site Settings → Custom CSS).
   Los colores y las tipografías NO viven aquí: son Global Colors y Global Fonts. */

:root{
  /* Espaciado */
  --sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;
  --sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;
  --gutter:var(--sp-6);--section-y:var(--sp-20);
  --container-max:1240px;--container-narrow:760px;

  /* Radios */
  --radius-xs:6px;--radius-s:10px;--radius-m:16px;--radius-l:24px;--radius-xl:32px;--radius-2xl:44px;
  --radius-pill:999px;
  --radius-card:var(--radius-l);--radius-tile:var(--radius-xl);--radius-control:var(--radius-pill);

  /* Sombras: cálidas, teñidas de rosa. Nunca gris neutro. */
  --shadow-xs:0 1px 2px rgba(43,27,42,.06);
  --shadow-s:0 2px 8px rgba(43,27,42,.07);
  --shadow-m:0 8px 20px rgba(199,46,125,.10);
  --shadow-l:0 16px 40px rgba(199,46,125,.14);
  --shadow-lift:0 20px 44px rgba(199,46,125,.20);
  --shadow-inset-soft:inset 0 -2px 0 rgba(43,27,42,.05);
  --ring-focus:0 0 0 3px #FFFFFF,0 0 0 6px var(--e-global-color-dmuva500);

  /* Movimiento */
  --dur-fast:120ms;--dur-base:200ms;--dur-slow:340ms;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-pop:cubic-bezier(.34,1.56,.64,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --press-scale:.96;--hover-lift:-3px;

  /* Tracking */
  --tracking-tight:-0.02em;--tracking-eyebrow:0.14em;--tracking-caps:0.06em;
}

body{-webkit-font-smoothing:antialiased}
::selection{background:var(--e-global-color-dmrosa300);color:var(--e-global-color-dmtinta900)}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}

/* ── Tarjeta de producto ─────────────────────────────────────────
   Las 4 instancias del Home comparten esta clase. Editar aquí
   (o los Global Colors) reestiliza las cuatro a la vez. */
.dm-product-card{
  background:var(--e-global-color-dmpapel);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-s);
  overflow:hidden;
  transition:transform var(--dur-base) var(--ease-pop),box-shadow var(--dur-base) var(--ease-out);
}
.dm-product-card:hover{transform:translateY(var(--hover-lift));box-shadow:var(--shadow-l)}
.dm-product-card .dm-card-media{border-radius:var(--radius-m);overflow:hidden;position:relative}
.dm-product-card .dm-card-media img{width:100%;aspect-ratio:1/1;object-fit:contain;display:block}
/* La etiqueta flota sobre la imagen. Elementor pone position:relative en el
   wrapper del widget, así que un absolute interno se anclaría a él: se
   posiciona el wrapper directamente. */
.dm-product-card .dm-card-media .elementor-widget-dm-badge{
  position:absolute;top:12px;left:12px;z-index:2;width:auto;
}
.dm-product-card .dm-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dm-product-card .dm-price-compare{text-decoration:line-through;opacity:.55}

/* Tonos de fondo de la media, uno por tarjeta */
.dm-tone-menta .dm-card-media{background:var(--e-global-color-dmmenta100)}
.dm-tone-crema .dm-card-media{background:var(--e-global-color-dmcrema)}
.dm-tone-blush .dm-card-media{background:var(--e-global-color-dmrosa200)}
.dm-tone-limon .dm-card-media{background:var(--e-global-color-dmlimon100)}
.dm-tone-uva   .dm-card-media{background:var(--e-global-color-dmuva100)}

/* ── Burbujas de categoría ───────────────────────────────────── */
.dm-bubble .elementor-icon-box-icon{margin-bottom:var(--sp-3)!important}
.dm-bubble .elementor-icon{
  width:112px;height:112px;border-radius:var(--radius-pill);
  display:grid;place-items:center;
  border:2.5px solid transparent;
  transition:transform var(--dur-base) var(--ease-pop),border-color var(--dur-base) var(--ease-out);
}
.dm-bubble:hover .elementor-icon{transform:scale(1.06) rotate(-3deg);border-color:var(--e-global-color-dmtinta900)}

/* ── Píldoras de navegación (header) ─────────────────────────── */
.dm-nav-pill .elementor-item{
  padding:9px 14px!important;border-radius:var(--radius-pill);
  transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);
}
.dm-nav-pill .elementor-item:hover,
.dm-nav-pill .elementor-item.elementor-item-active{
  background:var(--e-global-color-dmrosa100);color:var(--e-global-color-secondary)!important;
}
.dm-nav-pill .elementor-nav-menu--main .elementor-item:before,
.dm-nav-pill .elementor-nav-menu--main .elementor-item:after{display:none!important}

/* ── Botones de icono del header ──────────────────────────────
   Réplica de IconButton variant="soft": círculo de 40px, sin borde, con el
   mismo hover del componente original (scale 1.07 + brightness .95). */
.dm-icon-button .elementor-icon{
  width:40px;height:40px;
  display:grid;place-items:center;
  border:none;
  transition:transform var(--dur-base) var(--ease-pop),filter var(--dur-base) var(--ease-out);
}
.dm-icon-button:hover .elementor-icon{transform:scale(1.07);filter:brightness(.95)}

/* ── Header pegajoso ─────────────────────────────────────────── */
/* El desenfoque va en un pseudo-elemento, no en el header: `backdrop-filter`
   convierte al elemento en bloque contenedor de sus descendientes `fixed`, y eso
   dejaba el carrito lateral encerrado dentro de la barra. */
.dm-header{position:relative}
.dm-header::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
/* La marca no se parte ni se encoge; la nav se desplaza si no cabe. */
.dm-wordmark,.dm-wordmark .elementor-heading-title{white-space:nowrap}
.dm-nav-pill .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap}
.dm-nav-pill .elementor-nav-menu--main .elementor-item{white-space:nowrap}
/* Los contenedores hijos de Elementor traen width:100%; la marca y las acciones
   deben medir su contenido para que la nav se quede con el espacio sobrante. */
.dm-header .dm-header-brand,
.dm-header .dm-header-actions{flex:0 0 auto!important;--width:auto;width:auto!important}
.dm-header .dm-nav-pill{flex:1 1 auto!important;min-width:0;overflow-x:auto;scrollbar-width:none}
/* El logo es cuadrado: Elementor solo fija la altura, el ancho debe seguirla. */
.dm-header-brand img{width:auto!important;height:40px;object-fit:contain}
.dm-header .dm-nav-pill::-webkit-scrollbar{display:none}
/* En tablet la nav baja a su propia fila; en móvil ya es solo el botón
   hamburguesa, así que se queda en línea junto a las acciones. */
@media (min-width:768px) and (max-width:1024px){
  .dm-header .dm-nav-pill{order:3;flex:1 0 100%!important}
}
@media (max-width:767px){
  .dm-header .dm-nav-pill{order:2;flex:0 0 auto!important;overflow:visible}
  .dm-header .dm-header-actions{order:3}
  /* El desplegable llega como position:static y ensancha la nav aunque esté
     cerrado. Se saca del flujo y se ancla al header (por eso la nav pasa a
     position:static) para que ocupe todo el ancho al abrirse. */
  .dm-header .dm-nav-pill{position:static}
  /* El subtotal ensancha la píldora del carrito y parte la cabecera en dos
     filas; en móvil basta el icono con su contador. */
  .dm-header .dm-header-cart .elementor-menu-cart__toggle_button .elementor-button-text{display:none}
  .dm-header .dm-nav-pill .elementor-nav-menu--dropdown{
    position:absolute;left:0;right:0;top:100%;width:auto;
    background:var(--e-global-color-dmcrema);
    box-shadow:var(--shadow-s);
  }
}

/* ── Acordeón de FAQs ─────────────────────────────────────────
   Lo que el nested-accordion nativo no modela: la tarjeta como una sola pieza
   (Elementor pinta fondo y radio en la cabecera, no en el <details>), la
   pastilla rosa del signo y el tope de medida de la respuesta.
   Se encadena a .elementor-widget-n-accordion porque el CSS del widget carga
   después del kit y con la misma especificidad ganaría él. */
.elementor-widget-n-accordion.dm-faq .e-n-accordion-item{
  background:var(--e-global-color-dmpapel);
  border-radius:var(--radius-l);
  box-shadow:var(--shadow-s);
  overflow:hidden;
  border:none;
}

/* El signo dentro de un círculo rosa de 32px, como en el original. */
.elementor-widget-n-accordion.dm-faq .e-n-accordion-item-title-icon{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:var(--radius-pill);
  background:var(--e-global-color-dmrosa100);
  display:grid;
  place-items:center;
}
.elementor-widget-n-accordion.dm-faq .e-n-accordion-item-title-icon > span{
  display:grid;place-items:center;width:auto;height:auto;
}
.elementor-widget-n-accordion.dm-faq .e-n-accordion-item-title-icon svg,
.elementor-widget-n-accordion.dm-faq .e-n-accordion-item-title-icon i{
  font-size:14px;width:14px;height:14px;
}
.elementor-widget-n-accordion.dm-faq .e-n-accordion-item-title-icon svg{fill:currentColor}

/* Cabecera: título a la izquierda, signo a la derecha, --sp-4 entre ambos. */
.elementor-widget-n-accordion.dm-faq .e-n-accordion-item-title{
  gap:var(--sp-4);
  align-items:center;
}

/* La respuesta no pasa de 60ch, como en el diseño original.
   Encadenado a .elementor-widget-text-editor porque su regla max-width:100%
   tiene la misma especificidad y carga después. */
.elementor-widget-text-editor.dm-faq__answer,
.elementor-widget-text-editor.dm-faq__answer p{max-width:60ch}

/* ── Precio de WooCommerce ────────────────────────────────────
   Woo imprime el precio con texto para lectores de pantalla («El precio
   original era…»). Hello Elementor no define .screen-reader-text, así que ese
   texto se ve. Se oculta visualmente (sigue leyéndose en voz alta) y se le da
   al bloque el formato del diseño: precio de venta grande, anterior tachado. */
.screen-reader-text{
  position:absolute !important;
  width:1px;height:1px;
  margin:-1px;padding:0;border:0;
  clip-path:inset(50%);
  overflow:hidden;white-space:nowrap;
}

.dm-card-price .price,
.dm-product-price .price{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:var(--sp-2);
  flex-wrap:wrap;
  margin:0;
  color:var(--e-global-color-dmtinta900);
}
/* El precio de venta va delante del tachado. Con row-reverse se invertía
   también el rango «mín – máx» de los productos variables. */
.dm-card-price .price ins,
.dm-product-price .price ins{order:-1}
.dm-card-price ins,
.dm-product-price ins{
  text-decoration:none;
  background:none;
  font:var(--e-global-typography-dmprice-font-weight, 800) var(--e-global-typography-dmprice-font-size, 22px)/1.1 var(--e-global-typography-dmprice-font-family, "Bricolage Grotesque"), sans-serif;
  color:var(--e-global-color-dmtinta900);
}
.dm-card-price del,
.dm-product-price del{
  text-decoration:line-through;
  opacity:.55;
  font-size:13px;
  color:var(--e-global-color-dmtinta500);
}
/* Producto sin oferta: el precio suelto también con la tipografía de precio. */
.dm-card-price .price > .woocommerce-Price-amount:only-child{
  font:800 22px/1.1 var(--font-display, "Bricolage Grotesque"), sans-serif;
  color:var(--e-global-color-dmtinta900);
}

/* El botón de añadir al carrito hereda el botón global del kit. */
.dm-card-cta .button,
.dm-card-cta a.button,
.dm-card-cta button.button{
  display:block;width:100%;text-align:center;
  padding:12px 20px;
  border:none;border-radius:var(--radius-pill);
  background:var(--e-global-color-primary);
  color:#fff;
  font-family:var(--e-global-typography-accent-font-family, "Poppins"), sans-serif;
  font-size:14px;font-weight:600;line-height:1.2;
  text-decoration:none;cursor:pointer;
  transition:background var(--dur-base) var(--ease-out);
}
.dm-card-cta .button:hover,
.dm-card-cta a.button:hover,
.dm-card-cta button.button:hover{background:var(--e-global-color-accent);color:#fff}
/* «Ver producto» cuando ya está en el carrito: no duplicar botones. */
.dm-card-cta .added_to_cart{
  display:block;text-align:center;margin-top:var(--sp-2);
  font-size:13px;color:var(--e-global-color-secondary);
}

/* ── Página de categoría ──────────────────────────────────────── */

/* Migas de pan. Los colores de enlace y de texto salen de los controles del
   widget; aquí solo van la disposición y el separador. */
.dm-crumbs{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:var(--sp-2);
}
.dm-crumbs__sep{color:var(--e-global-color-dmtinta300);user-select:none}
.dm-crumbs a{text-decoration:none}
.dm-crumbs a:hover{text-decoration:underline;text-underline-offset:3px}

.dm-archive-desc{color:var(--e-global-color-text);max-width:52ch}

/* Barra de catálogo: conteo a la izquierda, orden a la derecha. */
.dm-catalog-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:var(--sp-4);
}
.dm-catalog-toolbar .woocommerce-result-count{margin:0}
.dm-catalog-toolbar .woocommerce-ordering{margin:0}
.dm-catalog-toolbar select{
  appearance:none;-webkit-appearance:none;
  padding:10px 40px 10px 16px;
  border:1.5px solid var(--e-global-color-dmtinta200);
  border-radius:var(--radius-pill);
  background-color:var(--e-global-color-dmpapel);
  background-image:linear-gradient(45deg,transparent 50%,var(--e-global-color-dmtinta500) 50%),linear-gradient(135deg,var(--e-global-color-dmtinta500) 50%,transparent 50%);
  background-position:calc(100% - 20px) center,calc(100% - 15px) center;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  font:600 14px/1.2 var(--font-body,"Poppins"),sans-serif;
  color:var(--e-global-color-dmtinta900);
  cursor:pointer;
}
.dm-catalog-toolbar select:focus{border-color:var(--e-global-color-primary);outline:none}

/* Barra lateral de filtros: los widgets de Woo con el aspecto del diseño. */
.dm-filtro ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}
.dm-filtro ul li{margin:0}
.dm-filtro ul a{
  display:inline-block;
  font:var(--e-global-typography-dmtitles-font-weight,600) 15px/1.4 var(--font-body,"Poppins"),sans-serif;
  color:var(--e-global-color-dmtinta900);
  text-decoration:none;
}
.dm-filtro ul a:hover{color:var(--e-global-color-secondary)}
.dm-filtro .count{color:var(--e-global-color-dmtinta500);font-weight:400;font-size:13px}
.dm-filtro ul li.current-cat > a{color:var(--e-global-color-secondary);font-weight:700}

/* Los widgets de Woo imprimen su propio título; en la barra lateral el título
   lo pone el heading de al lado. */
.dm-filtro > h2, .dm-filtro > h3, .dm-filtro .widget-title, .dm-filtro .widgettitle{display:none}

/* Nube de etiquetas como píldoras. */
.dm-filtro .tagcloud{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.dm-filtro .tagcloud a{
  padding:6px 12px;border-radius:var(--radius-pill);
  background:var(--e-global-color-dmrosa100);
  color:var(--e-global-color-secondary);
  font-size:13px !important;font-weight:600;
}
.dm-filtro .tagcloud a:hover{background:var(--e-global-color-primary);color:#fff}

/* Filtro de precio de Woo. */
.dm-filtro .price_slider_wrapper .ui-slider{
  background:var(--e-global-color-dmtinta200);height:6px;border-radius:var(--radius-pill);border:none;
}
.dm-filtro .price_slider_wrapper .ui-slider .ui-slider-range{background:var(--e-global-color-primary)}
.dm-filtro .price_slider_wrapper .ui-slider .ui-slider-handle{
  background:var(--e-global-color-primary);border:2px solid #fff;
  box-shadow:var(--shadow-s);width:16px;height:16px;border-radius:var(--radius-pill);top:-5px;
}
.dm-filtro .price_slider_amount .button{
  padding:8px 16px;border-radius:var(--radius-pill);
  background:var(--e-global-color-dmtinta900);color:#fff;border:none;
  font-size:13px;font-weight:600;cursor:pointer;
}
.dm-filtro .price_slider_amount .price_label{font-size:13px;color:var(--e-global-color-dmtinta500)}

/* Filtros activos. */
.dm-filtro .woocommerce-widget-layered-nav-list__item a{font-size:13px}

/* Paginación del Loop Grid. */
.elementor-widget-loop-grid .e-load-more-spinner,
.elementor-widget-loop-grid .elementor-pagination{margin-top:var(--sp-8)}
.elementor-widget-loop-grid .page-numbers{
  display:inline-grid;place-items:center;min-width:38px;height:38px;padding:0 10px;
  border-radius:var(--radius-pill);
  font:600 14px/1 var(--font-body,"Poppins"),sans-serif;
  color:var(--e-global-color-dmtinta900);text-decoration:none;
}
.elementor-widget-loop-grid .page-numbers.current{background:var(--e-global-color-primary);color:#fff}
.elementor-widget-loop-grid .page-numbers:hover:not(.current){background:var(--e-global-color-dmrosa100)}

/* ── Ficha de producto ────────────────────────────────────────── */

/* Tabla de tamaños de la sección «Tamaño real». */
.dm-sizetable{display:grid;gap:0}
.dm-sizetable__row{
  display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:var(--sp-3);
  padding:12px 0;
  border-bottom:1px solid var(--e-global-color-dmtinta200);
  font-size:14px;color:var(--e-global-color-text);
}
.dm-sizetable__row:last-child{border-bottom:none}
.dm-sizetable__row--head{
  font:700 10px/1.2 var(--font-body,"Poppins"),sans-serif;
  letter-spacing:var(--tracking-eyebrow);
  color:var(--e-global-color-dmtinta500);
}
.dm-sizetable__row span:first-child{font-weight:600;color:var(--e-global-color-dmtinta900)}
.dm-tam-img img{width:100%;height:auto}

/* Numeración de «Cómo se personaliza». */
.dm-step-num .elementor-heading-title{
  display:grid;place-items:center;
  width:36px;height:36px;
  border-radius:var(--radius-pill);
  background:var(--e-global-color-dmrosa100);
  font:800 16px/1 var(--font-display,"Bricolage Grotesque"),sans-serif;
}

/* Antes / después. */
.dm-vs img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.dm-vs--after{position:relative}

/* Tarjetas de reseña con foto. */
.dm-review{height:100%}
.dm-review__img img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Tarjetas de «Qué incluye» y pasos. */
.dm-paso .elementor-icon{width:52px;height:52px;border-radius:var(--radius-pill);display:grid;place-items:center}

/* ── Tarjetas de testimonio ──────────────────────────────────── */
.dm-quote-card{border-radius:var(--radius-l);box-shadow:var(--shadow-s)}

/* ── Tarjeta de entrada del blog ──────────────────────────────
   Tarjeta blanca con el área de imagen a 16/10 sobre el tono de la entrada.
   La proporción fija es lo que impide que la rejilla quede escalonada: sin ella
   un termo vertical estira su fila al triple que una lonchera apaisada. */
.dm-post-card{
  background:#fff;
  border-radius:var(--radius-2xl,44px);
  padding:var(--sp-4,16px);
  box-shadow:var(--shadow-s);
}
.dm-post-card__media img{
  display:block;width:100%;aspect-ratio:16/10;object-fit:cover;
  border-radius:var(--radius-l,24px);
  background:var(--e-global-color-dmrosa100);
}
/* Los recortes con fondo transparente (termo, lonchera) se ven mejor completos
   sobre el color que recortados. */
.dm-post-card__media img[src$=".png"]{object-fit:contain;padding:var(--sp-6,24px)}

/* El tono de cada entrada pinta su área de imagen, como en el diseño. */
.dm-tone-rosa      .dm-post-card__media img{background:var(--e-global-color-dmrosa100)}
.dm-tone-menta     .dm-post-card__media img{background:var(--e-global-color-dmmenta100)}
.dm-tone-limon     .dm-post-card__media img{background:var(--e-global-color-dmlimon100)}
.dm-tone-uva       .dm-post-card__media img{background:var(--e-global-color-dmuva100)}
.dm-tone-mandarina .dm-post-card__media img{background:var(--e-global-color-dmmandarina100)}
.dm-tone-pistache  .dm-post-card__media img{background:var(--e-global-color-dmpistache100)}

/* El tema es una píldora rosa. */
.dm-post-card__topic .elementor-heading-title{
  display:inline-block;
  padding:5px 12px;
  border-radius:var(--radius-pill,999px);
  background:var(--e-global-color-dmrosa100);
  color:var(--e-global-color-secondary);
}
.dm-post-card__meta{width:auto!important}

/* ── Entrada destacada ──
   Dos columnas con la imagen a un lado; el título va a tamaño de display. */
.dm-post-destacado__media img{
  display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--radius-2xl,44px);
  background:var(--e-global-color-dmrosa100);
}
.dm-post-destacado__media img[src$=".png"]{object-fit:contain;padding:var(--sp-8,32px)}
.dm-post-destacado__badge .elementor-heading-title{
  display:inline-block;
  padding:6px 12px;
  border-radius:var(--radius-pill,999px);
  background:var(--e-global-color-dmtinta900);
  color:#fff;
}
.dm-post-destacado__excerpt{max-width:48ch}
/* La destacada es un bloque, no una rejilla de tarjetas: fuera la caja blanca. */
.dm-blog-destacada .dm-post-card{background:none;box-shadow:none;padding:0}

/* ── Chips de temas ──
   El diseño los deja en una sola fila que se desplaza, no envolviéndose. */
.elementor-widget-dm-blog-chips .dm-chips{
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:none;
  padding-bottom:var(--sp-2,8px);
}
.elementor-widget-dm-blog-chips .dm-chips::-webkit-scrollbar{display:none}
.elementor-widget-dm-blog-chips .dm-chip{flex:0 0 auto}

/* Índice y cuerpo del artículo ────────────────────────────── */
.dm-atajo{
  display:grid;gap:var(--sp-2);
  margin:var(--sp-6) 0;padding:var(--sp-5) var(--sp-6);
  background:var(--e-global-color-dmrosa50);
  border-left:4px solid var(--e-global-color-primary);
  border-radius:var(--radius-m);
}
.dm-atajo__label{
  font:var(--type-eyebrow);letter-spacing:.14em;text-transform:uppercase;
  color:var(--e-global-color-secondary);
}
.dm-atajo p{margin:0;font:var(--type-body-l);color:var(--e-global-color-dmtinta900)}

.dm-tabla table{width:100%;border-collapse:collapse}
.dm-tabla th{
  text-align:left;padding:12px 14px;
  font:var(--type-eyebrow);letter-spacing:.1em;text-transform:uppercase;
  color:var(--e-global-color-dmtinta500);
  border-bottom:2px solid var(--e-global-color-dmtinta200);
}
.dm-tabla td{
  padding:12px 14px;
  border-bottom:1px solid var(--e-global-color-dmtinta100,rgba(43,27,42,.08));
}
.dm-tabla tr:last-child td{border-bottom:0}

.dm-errores{display:grid;gap:var(--sp-4);padding-left:1.2em}
.dm-errores li::marker{color:var(--e-global-color-primary);font-weight:800}

/* Índice del blog vs. archivo de un tema.
   La entrada destacada y el título del diseño son del índice; en el archivo de
   una categoría manda el nombre del tema. WordPress marca el body con
   `category`, así que basta alternarlos. */
.dm-solo-tema{display:none}
body.category .dm-solo-tema{display:block}
body.category .dm-solo-indice{display:none}

/* Firma del artículo: autor · fecha · tiempo de lectura, en texto plano como en
   el diseño. Los tipos «custom» de Post Info ignoran el icono que se les asigna
   y caen en el de etiquetas de Font Awesome, que aquí no significa nada. */
/* Encadenado al wrapper del widget: la hoja de Elementor carga después y con
   la misma especificidad ganaba ella. */
.elementor-widget-post-info.dm-post-info .elementor-icon-list-icon{display:none}
.elementor-widget-post-info.dm-post-info .elementor-icon-list-item{padding-left:0}

/* ── Artículo ─────────────────────────────────────────────────
   Estructura del diseño: píldora de tema, entradilla, firma con avatar,
   índice a la izquierda y el cierre en rosa dentro de la columna de texto. */

.dm-article__topic .elementor-heading-title{
  display:inline-block;padding:6px 12px;
  border-radius:var(--radius-pill,999px);
  background:var(--e-global-color-dmrosa100);
  color:var(--e-global-color-secondary);
}
.dm-article__lead{max-width:60ch}

/* Avatar de la firma: en el diseño es un círculo liso, no la foto de Gravatar. */
.elementor-widget-post-info.dm-post-info .elementor-icon-list-items{align-items:center}
.elementor-widget-post-info.dm-post-info .elementor-icon-list-item:first-child::before{
  content:"";width:36px;height:36px;flex:0 0 auto;margin-right:10px;
  border-radius:var(--radius-pill,999px);
  background:var(--e-global-color-dmrosa200);
}
.elementor-widget-post-info.dm-post-info .elementor-icon-list-item:first-child .elementor-icon-list-text{
  color:var(--e-global-color-dmtinta900);font-weight:600;
}

/* El índice va pegado arriba mientras se lee; el bloque de compartir es una
   tarjeta crema debajo, como en el diseño. */
.dm-article-aside{position:sticky;top:96px}
.dm-share{
  margin-top:var(--sp-4,16px);padding:var(--sp-5,20px);
  border-radius:var(--radius-card,28px);
  background:var(--e-global-color-dmcrema);
}
.dm-share::before{
  content:"Compártelo";display:block;margin-bottom:10px;
  font:var(--type-label);color:var(--e-global-color-dmtinta900);
}

.dm-article-col{max-width:68ch}
.dm-article-cta .elementor-heading-title{color:#fff}
.dm-article-firma{align-items:center}
.dm-article-firma::before{
  content:"";width:56px;height:56px;flex:0 0 auto;
  border-radius:var(--radius-pill,999px);
  background:var(--e-global-color-dmrosa200);
}
/* Los contenedores hijos de Elementor traen `width:100%`; sin soltarlos el
   texto se pone debajo del avatar en vez de al lado. */
.dm-article-firma > .e-con{flex:1 1 auto;width:auto!important;--width:auto}

/* El índice del diseño son enlaces a secas, sin topos. */
.dm-toc .elementor-toc__list-item{list-style:none}
.dm-toc .elementor-toc__list-wrapper{padding-left:0;margin-left:0}

/* El atajo del diseño es limón, y la caja completa —no un filete lateral. */
.dm-atajo{
  display:grid;gap:var(--sp-2);
  margin:var(--sp-6) 0;padding:var(--sp-6);
  background:var(--e-global-color-dmlimon100);
  border-left:0;
  border-radius:var(--radius-card,28px);
}
.dm-atajo__label{color:var(--e-global-color-dmlimon700)}

/* Los tres errores llevan el número en un círculo rosa. */
.dm-errores{list-style:none;counter-reset:dm-err;padding-left:0;gap:var(--sp-4)}
.dm-errores li{
  counter-increment:dm-err;
  display:grid;grid-template-columns:44px minmax(0,1fr);
  gap:var(--sp-4);align-items:start;
}
.dm-errores li::before{
  content:counter(dm-err);
  width:44px;height:44px;display:grid;place-items:center;
  border-radius:var(--radius-pill,999px);
  background:var(--e-global-color-dmrosa100);
  color:var(--e-global-color-secondary);
  font:var(--type-title-m);
}
.dm-errores li::marker{content:none}
.dm-errores strong{
  display:block;margin-bottom:6px;
  font:var(--type-title-m);color:var(--e-global-color-dmtinta900);
}
.dm-errores p{margin:0;font:var(--type-body-m);color:var(--e-global-color-text)}

/* Imagen dentro del cuerpo, sobre menta como en el diseño. */
.dm-figura{margin:var(--sp-6) 0}
.dm-figura img{
  display:block;width:100%;aspect-ratio:16/9;object-fit:contain;
  padding:var(--sp-6);box-sizing:border-box;
  border-radius:var(--radius-xl,32px);
  background:var(--e-global-color-dmmenta100);
}
.dm-figura figcaption{
  margin-top:8px;font:var(--type-body-s);color:var(--e-global-color-dmtinta500);
}

@media (max-width:1024px){
  .dm-article-aside{position:static}
}

/* ── Hero del artículo ────────────────────────────────────────
   El original no muestra la foto a su proporción: la encaja en una banda
   panorámica al ancho de contenido, con esquinas de 44 y sombra. */
.dm-article-hero img{
  display:block;width:100%;
  aspect-ratio:21/9;object-fit:cover;
  border-radius:var(--radius-2xl,44px);
  background:var(--e-global-color-dmrosa100);
  box-shadow:var(--shadow-m);
}
/* Un recorte con fondo transparente se vería cortado; mejor completo. */
.dm-article-hero img[src$=".png"]{object-fit:contain;padding:var(--sp-6);box-sizing:border-box}

/* La columna estrecha del encabezado va centrada, como en el original: el
   título a 760 y la portada a 1240, ambos con el mismo eje. */
.dm-narrow{margin-inline:auto!important}

@media (max-width:767px){
  /* 21:9 en un móvil deja una franja de 50 px: se sube a 4:3. */
  .dm-article-hero img{aspect-ratio:4/3}
}/* End custom CSS */