/* =========================================================
   DULCESONIA · TIPOGRAFÍAS GLOBALES (según Manual de Identidad)
   Archivo: themes/classic/assets/css/dulcesonia-fuentes.css
   Se carga desde head.tpl: afecta a TODAS las páginas del tema
   (producto, registro, login, mi cuenta, carrito, checkout, CMS…).

   Manual · 05 Tipografía:
   - Inter Display (familia principal): 400 cuerpo y lectura,
     500 etiquetas y navegación, 600 subtítulos y llamadas.
   - Noto Serif Display (acento editorial): solo titulares
     emocionales y aperturas de sección. En las páginas
     funcionales no se usa; la llevan los bloques de Creative
     Elements (landing, cabecera de categoría) y la clase .ds-serif.
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400..600&family=Noto+Serif+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Serif:ital,wght@0,400;0,500;1,400&display=swap");

:root{
  --ds-sans:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --ds-serif:"Noto Serif Display",Georgia,"Times New Roman",serif;
}

/* Cuerpo y lectura: Inter 400 */
body,
body input,
body button,
body select,
body textarea,
body label,
body .btn,
body .form-control,
body .dropdown-menu,
body .modal-content,
body .popover,
body .tooltip,
body .alert{
  font-family:var(--ds-sans)!important;
  font-optical-sizing:auto;
}
body{font-weight:450}

/* Títulos: Inter regular (jerarquía aplicada del manual) */
/* (los bloques de Creative Elements conservan su serif) */
body :is(h1,.h1,h2,.h2):not(:is(.ds-landing,#dsl-listado,.ds-footer,.ds-header-wrap) *){
  font-family:var(--ds-sans)!important;
  font-weight:400;
  letter-spacing:-.01em;
  text-transform:none;
}

/* Subtítulos y llamadas: Inter semibold */
body :is(h3,.h3,h4,.h4,h5,.h5,h6,.h6):not(:is(.ds-landing,#dsl-listado,.ds-footer,.ds-header-wrap) *){
  font-family:var(--ds-sans)!important;
  font-weight:600;
}

/* Etiquetas y navegación: Inter medium */
body .btn,
body .nav-link,
body .breadcrumb,
body .form-control-label,
body .product-flag,
body .step-title{
  font-weight:500;
}

/* Acento editorial: añade class="ds-serif" a cualquier titular emocional */
body .ds-serif{
  font-family:var(--ds-serif)!important;
  font-weight:500;
}

/* Los iconos del tema conservan su propia fuente */
body .material-icons,
body i.material-icons{
  font-family:"Material Icons"!important;
}

/* =========================================================
   COLORES GLOBALES DEL TEMA (fondo crema, violeta de marca)
   Sustituye el gris y el azul por defecto de PrestaShop
   ========================================================= */
:root{
  --ds-violeta:#552340;
  --ds-violeta-hover:#6A2E51;
  --ds-rosa:#EB7C95;
  --ds-rosa-20:#FBE2E3;
  --ds-crema:#FFFBF7;
  --ds-blanco:#FFFFFF;
  --ds-carbon:#241C22;
  --ds-texto:#3A2E36;
  --ds-suave:#5B4A55;
  --ds-linea:#F0E6E9;
}

/* Fondo: crema en lugar del gris */
body,
body #wrapper,
body #header,
body #footer,
body main{
  background-color:var(--ds-crema)!important;
}
body{color:var(--ds-carbon)}
body #wrapper{box-shadow:none}

/* Cajas de contenido (login, registro, mi cuenta, CMS, carrito…) */
body .page-content.card,
body #content.page-content,
body section.page-content,
body .card{
  background:var(--ds-blanco);
  border:1px solid var(--ds-linea);
  border-radius:14px;
  box-shadow:none;
}

/* Enlaces */
body a{color:var(--ds-violeta)}
body a:hover,body a:focus{color:var(--ds-violeta-hover);text-decoration:none}

/* Migas de pan */
body .breadcrumb{background:transparent}
body .breadcrumb li,body .breadcrumb li a{color:var(--ds-suave)}
body .breadcrumb li:last-child{color:var(--ds-violeta)}

/* Títulos de página */
body .page-header h1,body #main .page-header h1{color:var(--ds-violeta)}

/* Botones */
body .btn{text-transform:none;border-radius:999px;box-shadow:none}
body .btn-primary{background:var(--ds-violeta);border-color:var(--ds-violeta);color:var(--ds-crema)}
body .btn-primary:hover,body .btn-primary:focus,body .btn-primary:active{background:var(--ds-violeta-hover)!important;border-color:var(--ds-violeta-hover)!important;color:var(--ds-crema)!important}
body .btn-secondary,body .btn-tertiary{background:transparent;border:1.5px solid var(--ds-violeta);color:var(--ds-violeta)}
body .btn-secondary:hover,body .btn-tertiary:hover{background:var(--ds-rosa-20);color:var(--ds-violeta)}
/* Botón "Mostrar" contraseña */
body .input-group-btn .btn,body .input-group .btn[data-action="show-password"]{background:var(--ds-violeta);border-color:var(--ds-violeta);color:var(--ds-crema);border-radius:0 10px 10px 0}

/* Formularios */
body .form-control{border:1.5px solid #E2D4DA;border-radius:10px;background:var(--ds-blanco);color:var(--ds-carbon)}
body .input-group .form-control{border-radius:10px 0 0 10px}
body .form-control:focus{border-color:var(--ds-violeta);outline:0;box-shadow:0 0 0 3px rgba(85,35,64,.12)}
body .form-control-label{color:var(--ds-texto)}
body .custom-checkbox input[type=checkbox]:checked+span{background:var(--ds-violeta);border-color:var(--ds-violeta)}
body .custom-radio input[type=radio]:checked+span{background-color:var(--ds-violeta)}

/* Avisos */
body .alert-info{background:var(--ds-rosa-20);border-color:#F7C8CF;color:var(--ds-violeta)}

/* =========================================================
   FOCO: sin recuadro al hacer clic con el ratón,
   pero visible (violeta) al navegar con el teclado
   ========================================================= */
body a:focus:not(:focus-visible),
body button:focus:not(:focus-visible),
body .btn:focus:not(:focus-visible),
body input:focus:not(:focus-visible),
body select:focus:not(:focus-visible),
body [tabindex]:focus:not(:focus-visible){
  outline:none!important;
  box-shadow:none;
}
body a:focus-visible,
body button:focus-visible,
body .btn:focus-visible,
body [tabindex]:focus-visible{
  outline:2px solid var(--ds-violeta)!important;
  outline-offset:3px;
  border-radius:6px;
}

/* Menú del header: sin azul al pulsar */
body .ds-header-wrap .ds-nav__link:focus,
body .ds-header-wrap .ds-nav__link:active,
body .ds-header-wrap .ds-nav__link:hover{
  color:var(--ds-violeta)!important;
}

/* =========================================================
   LEGIBILIDAD GLOBAL (también en los bloques de Creative Elements)
   Un solo sitio para ajustar el peso de toda la web.
   ========================================================= */

/* Textos en Inter: un punto más firmes */
body,
body .ds-landing,
body .ds-header-wrap,
body .ds-drawer,
body .ds-footer,
body #dsl-listado,
body .dulcesonia-nosotros{
  font-weight:450;
}

/* Titulares en serif (Noto Serif Display): 500 para que no se pierdan los trazos finos */
body .ds-landing :is(.ds-h2,.ds-intro__title,.ds-half__title,.ds-split__title,.ds-banner__title,.ds-pack__title,.ds-news__title,.ds-step__n,.ds-seal__name),
body .ds-footer .ds-footer__claim,
body .ds-drawer .ds-drawer__list a,
body #dsl-listado :is(.dsl-cab h1,.dsl-tile__frase,.dsl-vacio h2),
body .dulcesonia-nosotros :is(h1,h2,h3,em,.dn-manifiesto p,.dn-foto figcaption),
body .ds-serif{
  font-weight:500!important;
}

/* Opiniones: serif pequeño, algo más de cuerpo */
body .ds-landing .ds-review__text{
  font-family:"Noto Serif",Georgia,serif!important;   /* versión de texto: más robusta a tamaño pequeño */
  font-weight:500!important;
  font-size:18px;
  line-height:1.55;
}


/* =========================================================
   DULCESONIA · CARRUSEL DE PRODUCTOS (widget de Creative Elements)
   Se aplica a TODOS los carruseles de productos de Creative Elements
   (y a cualquier bloque con la clase "ds-carrusel").
   Personaliza todo desde las variables de abajo.
   ========================================================= */
.ds-carrusel,.elementor-widget-product-carousel{
  /* --- Colores --- */
  --car-violeta:#552340;          /* botones, flechas, punto activo */
  --car-violeta-hover:#6A2E51;
  --car-texto:#241C22;            /* nombre y precio */
  --car-suave:#5B4A55;            /* textos secundarios, precio tachado */
  --car-fondo-foto:#F6EFE8;       /* fondo detrás de la foto del producto */
  --car-etiqueta-fondo:#FFFFFF;   /* etiquetas tipo "Nuevo" */
  --car-oferta-fondo:#552340;     /* etiqueta de descuento */
  --car-oferta-texto:#FFFBF7;
  --car-punto:#E2D4DA;            /* puntos de paginación inactivos */
  /* --- Medidas --- */
  --car-radio:14px;               /* esquinas de la foto */
  --car-proporcion:1/1;           /* forma de la foto: 1/1 cuadrada, 4/5 vertical */
  --car-ajuste:cover;             /* cover = rellena / contain = foto entera */
  --car-espacio-foto:0px;         /* margen interior de la foto (útil con contain) */
  --car-flecha:46px;              /* tamaño de las flechas */
  /* --- Tipografía --- */
  --car-fuente:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --car-nombre-tam:16px;
  --car-precio-tam:16px;
  font-family:var(--car-fuente);
}

/* ---------- Diapositivas ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-slide{height:auto!important;padding-bottom:4px!important}

/* ---------- Tarjeta (miniatura de CE o del tema) ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-miniature,.elementor-product-miniature,.elementor-widget-product-miniature){
  display:flex!important;flex-direction:column!important;height:100%!important;margin:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;text-align:left!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .product-miniature .thumbnail-container{
  height:auto!important;width:100%!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;display:flex!important;flex-direction:column!important;overflow:visible!important}

/* ---------- Foto ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.thumbnail-top,.product-thumbnail,.elementor-product-image,.elementor-image){
  position:relative!important;display:block!important;overflow:hidden!important;border-radius:var(--car-radio)!important;background:var(--car-fondo-foto)!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-thumbnail,.elementor-product-image,.elementor-image) img{
  display:block!important;width:100%!important;height:auto!important;aspect-ratio:var(--car-proporcion)!important;
  object-fit:var(--car-ajuste)!important;padding:var(--car-espacio-foto)!important;max-width:none!important;
  transition:transform .6s ease!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-slide:hover :is(.product-thumbnail,.elementor-product-image,.elementor-image) img{transform:scale(1.04)!important}
/* Vista rápida del tema: fuera, para que la tarjeta quede limpia */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .highlighted-informations{display:none!important}

/* ---------- Textos ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-description,.elementor-product-content,.elementor-content){
  position:static!important;height:auto!important;width:auto!important;padding:16px 0 0!important;background:transparent!important;text-align:left!important;display:flex!important;flex-direction:column!important;gap:6px!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-title,.elementor-product-title,.elementor-title),
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-title,.elementor-product-title,.elementor-title) a{
  margin:0!important;font-family:var(--car-fuente)!important;font-size:var(--car-nombre-tam)!important;font-weight:600!important;line-height:1.4!important;
  color:var(--car-texto)!important;text-transform:none!important;text-align:left!important;letter-spacing:0!important;text-decoration:none!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-title,.elementor-product-title,.elementor-title) a:hover{color:var(--car-violeta)!important}

/* ---------- Precio ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-price-and-shipping,.elementor-product-price,.elementor-price-wrapper){
  display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:4px 10px!important;text-align:left!important;margin:0!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.price,.elementor-price,.current-price){
  font-size:var(--car-precio-tam)!important;font-weight:600!important;color:var(--car-texto)!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.regular-price,.elementor-price-regular,del){
  font-size:14px!important;font-weight:400!important;color:var(--car-suave)!important;text-decoration:line-through!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.discount-percentage,.discount-amount,.discount-product){
  position:static!important;font-size:12px!important;font-weight:600!important;color:var(--car-violeta)!important;background:#FBE2E3!important;border-radius:999px!important;padding:2px 8px!important}

/* ---------- Etiquetas (Nuevo, Oferta, Sin stock…) ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-flags,.elementor-product-badges){
  position:absolute!important;top:12px!important;right:12px!important;left:auto!important;z-index:2!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:6px!important;margin:0!important;padding:0!important;list-style:none!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-flag,.elementor-badge,.elementor-product-badge){
  margin:0!important;min-height:0!important;padding:5px 11px!important;border-radius:999px!important;box-shadow:none!important;
  background:var(--car-etiqueta-fondo)!important;color:var(--car-violeta)!important;
  font-family:var(--car-fuente)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-flag.discount,.product-flag.on-sale,.product-flag.discount-percentage,.product-flag.discount-amount){
  background:var(--car-oferta-fondo)!important;color:var(--car-oferta-texto)!important}

/* ---------- Botón (si el carrusel muestra "Añadir al carrito") ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-button,.add-to-cart,.btn-primary){
  margin-top:10px!important;align-self:flex-start!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  min-height:44px!important;padding:0 20px!important;border:0!important;border-radius:999px!important;
  background:var(--car-violeta)!important;color:#FFFBF7!important;font-family:var(--car-fuente)!important;font-size:14px!important;font-weight:500!important;text-transform:none!important;box-shadow:none!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-button,.add-to-cart,.btn-primary):hover{background:var(--car-violeta-hover)!important;color:#FFFBF7!important}

/* ---------- Flechas ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button,.swiper-button-prev,.swiper-button-next){
  width:var(--car-flecha)!important;height:var(--car-flecha)!important;margin-top:calc(var(--car-flecha) / -2)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:50%!important;background:#FFFFFF!important;border:1px solid #E2D4DA!important;color:var(--car-violeta)!important;
  box-shadow:0 10px 24px -14px rgba(85,35,64,.45)!important;transition:background .2s ease,color .2s ease!important;z-index:5!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button,.swiper-button-prev,.swiper-button-next):hover{background:var(--car-violeta)!important;color:#FFFBF7!important;border-color:var(--car-violeta)!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button,.swiper-button-prev,.swiper-button-next) :is(i,svg){font-size:18px!important;width:18px!important;height:18px!important;color:inherit!important;fill:currentColor!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.swiper-button-prev,.swiper-button-next)::after{font-size:16px!important;font-weight:700!important;color:inherit!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button-prev,.swiper-button-prev){left:-8px!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button-next,.swiper-button-next){right:-8px!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-button-disabled{opacity:.35!important;pointer-events:none!important}

/* ---------- Puntos de paginación ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination{position:relative!important;bottom:auto!important;margin-top:22px!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination-bullet{display:inline-block!important;width:8px!important;height:8px!important;margin:0 5px!important;background:var(--car-punto)!important;opacity:1!important;transition:width .25s ease,background .25s ease!important;border-radius:999px!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination-bullet-active{width:24px!important;background:var(--car-violeta)!important}

/* ---------- Foco accesible ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) a:focus-visible,body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button,.swiper-pagination-bullet):focus-visible{outline:2px solid var(--car-violeta)!important;outline-offset:3px!important}

/* ---------- Móvil ---------- */
@media (max-width:767px){
  body :is(.ds-carrusel,.elementor-widget-product-carousel){--car-flecha:38px;--car-nombre-tam:14px;--car-precio-tam:15px}
  body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button-prev,.swiper-button-prev){left:2px!important}
  body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button-next,.swiper-button-next){right:2px!important}
}
@media (prefers-reduced-motion:reduce){
  body :is(.ds-carrusel,.elementor-widget-product-carousel) *{transition:none!important}
}

/* ---------- Nombre en 2 líneas como máximo (el tema lo corta con "...") ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-title,.elementor-product-title,.elementor-title),
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-title,.elementor-product-title,.elementor-title) a{white-space:normal!important;overflow:hidden!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}

/* ---------- Extras del tema dentro del carrusel ---------- */
/* Estrellas vacías de valoraciones: fuera hasta que haya opiniones */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .product-list-reviews{display:none!important}
/* Corazón de favoritos: círculo blanco discreto arriba a la izquierda */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .wishlist-button-add{position:absolute!important;top:12px!important;left:12px!important;right:auto!important;width:36px!important;height:36px!important;border-radius:50%!important;border:0!important;background:rgba(255,255,255,.92)!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:3!important;cursor:pointer}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .wishlist-button-add i{font-size:20px!important;color:var(--car-violeta)!important}
/* "Fuera de stock" en tono apagado */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .product-flag.out_of_stock{background:#EFE7EA!important;color:#5B4A55!important}
/* La tarjeta ocupa todo el alto de la diapositiva */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .js-product{height:100%!important;width:100%!important;max-width:none!important;padding:0!important;flex:none!important}

/* ---------- Foto: anula el centrado vertical del tema (dejaba hueco debajo) ---------- */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.thumbnail-top,.product-thumbnail){height:auto!important;min-height:0!important;max-height:none!important;line-height:0!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .product-thumbnail img{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;max-height:none!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-slide:hover .product-thumbnail img{transform:scale(1.04)!important}
/* La foto ya tiene su propio fondo y esquinas: el contenedor exterior, sin fondo */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .thumbnail-top{background:transparent!important}

/* =========================================================
   CARRUSEL · ESTILO "ESCAPARATE"
   Barra de progreso abajo a la izquierda, flechas abajo a la derecha,
   la última tarjeta asomando por el borde y etiquetas arriba a la izquierda.
   Requiere en el widget: Navegación = "Flechas y puntos".
   ========================================================= */
.ds-carrusel,.elementor-widget-product-carousel{
  --car-barra:#E7DCE0;          /* fondo de la barra de progreso */
  --car-barra-activa:#552340;   /* tramo activo */
}
/* Hueco abajo para barra y flechas */
body :is(.ds-carrusel,.elementor-widget-product-carousel) > .elementor-widget-container{position:relative!important;padding-bottom:76px!important}

/* La tarjeta siguiente asoma por la derecha, sin enseñar las anteriores por la izquierda */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .elementor-carousel-wrapper{overflow:visible!important;clip-path:inset(-20px -100vw -20px 0)!important}

/* Nombre en una sola línea, como un escaparate */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-title,.elementor-product-title,.elementor-title),
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-title,.elementor-product-title,.elementor-title) a{display:block!important;-webkit-line-clamp:unset!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Etiquetas arriba a la izquierda, rectangulares y en frase normal */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-flags,.elementor-product-badges){top:14px!important;left:14px!important;right:auto!important;align-items:flex-start!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-flag,.elementor-badge,.elementor-product-badge){border-radius:6px!important;padding:6px 10px!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;background:#FBE2E3!important;color:#552340!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .product-flag.out_of_stock{background:#FFFFFF!important;color:#5B4A55!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.product-flag.discount,.product-flag.on-sale,.product-flag.discount-percentage,.product-flag.discount-amount){background:#552340!important;color:#FFFBF7!important}

/* Favoritos arriba a la derecha */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .wishlist-button-add{left:auto!important;right:14px!important;top:14px!important}

/* Precio en oferta en violeta, con el anterior tachado */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .product-price-and-shipping:has(.regular-price) .price{color:#552340!important}

/* Barra de progreso: los puntos se convierten en tramos de una línea */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination{position:absolute!important;left:0!important;right:136px!important;bottom:22px!important;top:auto!important;width:auto!important;margin:0!important;display:flex!important;gap:0!important;height:2px!important;background:var(--car-barra)!important;transform:none!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination-bullet{flex:1 1 0!important;width:auto!important;height:2px!important;margin:0!important;border-radius:0!important;background:transparent!important;opacity:1!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination-bullet-active{background:var(--car-barra-activa)!important;height:3px!important;margin-top:-.5px!important}
/* Si Creative Elements usa su barra de progreso nativa */
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination-progressbar{background:var(--car-barra)!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination-progressbar-fill{background:var(--car-barra-activa)!important}

/* Flechas abajo a la derecha */
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button,.swiper-button-prev,.swiper-button-next){top:auto!important;bottom:0!important;margin-top:0!important;transform:none!important;width:46px!important;height:46px!important;background:transparent!important;border:1.5px solid #CBB9C1!important;box-shadow:none!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button-next,.swiper-button-next){right:0!important;left:auto!important;border-color:#552340!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button-prev,.swiper-button-prev){right:60px!important;left:auto!important}
body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button,.swiper-button-prev,.swiper-button-next):hover{background:#552340!important;border-color:#552340!important;color:#FFFBF7!important}

@media (max-width:767px){
  body :is(.ds-carrusel,.elementor-widget-product-carousel) .swiper-pagination{right:108px!important}
  body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button,.swiper-button-prev,.swiper-button-next){width:40px!important;height:40px!important}
  body :is(.ds-carrusel,.elementor-widget-product-carousel) :is(.elementor-swiper-button-prev,.swiper-button-prev){right:52px!important}
}