/* ================================================================
   RODALU · Pulido visual (octubre 2026)
   Carga después del resto de estilos. Solo ajustes estéticos:
   tipografía, contraste, alineación y consistencia entre páginas.
   ================================================================ */

:root {
  --rodalu-ink: #081d30;
  --rodalu-body: #4a5763;
  --rodalu-line: #e3e9ee;
  --rodalu-on-dark: #c9d6e2;
  --rodalu-field: #d5e0e7;
  --rodalu-focus-ring: 0 0 0 3px rgba(13,47,74,.16);
}

/* ---------- Base: Inter en todo el sitio (antes solo la home) ---------- */
body { font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; }
button, input, select, textarea { font-family: inherit; }

/* ---------- Menú: puente para que el submenú no se cierre al bajar el cursor ---------- */
.rodalu-global-nav .sub-menu:before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 12px; }

/* ---------- Secciones oscuras: los colores globales de Elementor se invierten ---------- */
.rodalu-section-dark,
.rodalu-inner-hero,
.rodalu-contact-panel,
.rodalu-card-dark,
.rodalu-sidebar-help {
  --e-global-color-primary: #ffffff;
  --e-global-color-secondary: #ffffff;
  --e-global-color-text: var(--rodalu-on-dark);
}

/* ---------- Heroes interiores: Elementor anulaba el degradado (content: none) ---------- */
.rodalu-inner-hero.e-con:before,
.rodalu-inner-hero:before {
  content: "" !important;
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(8,29,48,.95) 0%, rgba(8,29,48,.84) 38%, rgba(13,47,74,.4) 70%, rgba(13,47,74,.12) 100%) !important;
}
.rodalu-inner-hero > .e-con { position: relative; z-index: 2; }

/* ---------- Sin franjas laterales de color ---------- */
.rodalu-legal-company { border: 1px solid #dfe7ec; border-radius: 14px; }
.rodalu-checkout-notice { border: 1px solid #d9e4ec; border-radius: 14px; background: #f3f7fa; }
.rodalu-checkout-notice strong { color: var(--rodalu-ink); }
.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel:before { display: none; }

/* ================================================================
   HOME
   ================================================================ */

/* Controles del slider abajo a la derecha: ya no tapan el título */
@media (min-width: 768px) {
  body.home .rodalu-slider-arrow {
    top: auto;
    bottom: calc(var(--rodalu-v2-benefits-height) + 30px);
    transform: none;
  }
  body.home .rodalu-slider-next { left: auto; right: max(24px, calc((100% - 1180px) / 2)); }
  body.home .rodalu-slider-prev { left: auto; right: calc(max(24px, calc((100% - 1180px) / 2)) + 56px); }
  body.home .rodalu-slider-controls {
    top: auto;
    bottom: calc(var(--rodalu-v2-benefits-height) + 32px);
    right: calc(max(24px, calc((100% - 1180px) / 2)) + 122px);
    transform: none;
    flex-direction: row;
    padding: 3px 8px;
  }
  body.home .rodalu-slider-controls .rodalu-slider-dots { flex-direction: row; }
}

/* Etiqueta sobre la foto de "Nuestra esencia": tarjeta blanca, sin franja */
body.home .rodalu-editorial-intro .rodalu-image-note {
  left: 28px !important;
  right: auto !important;
  max-width: calc(100% - 56px);
  border-left: 0 !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 14px 30px rgba(8,29,48,.18);
}
body.home .rodalu-editorial-intro .rodalu-image-note p { color: var(--rodalu-ink) !important; font-size: 15px !important; }

/* Menos aire muerto entre categorías y productos destacados */
body.home .rodalu-category-showcase { padding-bottom: 48px !important; }
body.home .rodalu-category-showcase + .rodalu-section { padding-top: 56px !important; }

/* Productos destacados: tarjetas parejas y botón siempre abajo */
body.home .rodalu-products-showcase { flex-shrink: 0 !important; height: auto !important; }
body.home .rodalu-products-showcase ul.products li.product { display: flex; flex-direction: column; border-radius: 14px !important; }
body.home .rodalu-products-showcase ul.products li.product img { border-radius: 10px; }
body.home .rodalu-products-showcase .rodalu-product-card-body { display: flex; flex: 1; flex-direction: column; }
body.home .rodalu-products-showcase .rodalu-product-card-actions { margin-top: auto; }
body.home .rodalu-products-showcase .rodalu-primary-link,
body.home .rodalu-products-showcase .button { min-height: 42px; border-color: #081d30 !important; border-radius: 10px !important; font-size: 12px; }

/* "Así funciona": número, icono y título alineados */
body.home .rodalu-process-section { padding: 88px 0 !important; }
body.home .rodalu-process-section .rodalu-grid-3 > .e-con {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  min-height: 0;
  padding: 28px !important;
  background: #fff !important;
}
body.home .rodalu-process-section .rodalu-step-number { position: absolute !important; top: 24px; right: 26px; width: auto !important; margin: 0 !important; }
body.home .rodalu-process-section .rodalu-grid-3 > .e-con > .elementor-widget-text-editor p { color: #cdd8e1; font-family: "Plus Jakarta Sans", sans-serif; font-size: 34px; font-weight: 700; line-height: 1; }
body.home .rodalu-process-section .elementor-widget-icon-box { width: 100%; }
body.home .rodalu-process-section .elementor-icon-box-wrapper { text-align: left !important; }
body.home .rodalu-process-section .elementor-icon-box-icon { display: inline-flex; margin: 0 0 18px !important; }
body.home .rodalu-process-section .elementor-icon {
  width: 56px;
  height: 56px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  border-radius: 14px;
  background: #e6f0f7;
  font-size: 24px !important;
}
body.home .rodalu-process-section .elementor-icon svg { width: 26px; height: 26px; }
body.home .rodalu-process-section .elementor-icon-box-title { margin: 0 0 8px !important; }

/* "Tecnología EAS": bloque como tarjeta (antes quedaba una franja blanca a la derecha) */
body.home .rodalu-technology-editorial { padding: 96px 0 !important; background: #fff !important; }
body.home .rodalu-technology-editorial > .rodalu-shell {
  width: min(1180px, calc(100% - 48px));
  max-width: 1180px;
  margin-inline: auto;
  padding: 0 !important;
  align-items: stretch !important;
  overflow: hidden;
  border: 1px solid var(--rodalu-line);
  border-radius: 24px;
  background: linear-gradient(135deg, #ffffff, #eef6fb);
  box-shadow: 0 24px 60px rgba(8,29,48,.08);
}
body.home .rodalu-technology-editorial > .rodalu-shell > .e-con { min-height: 500px; margin: 0 !important; }
body.home .rodalu-technology-editorial .rodalu-visual-card { align-self: stretch; }
body.home .rodalu-technology-editorial .rodalu-visual-card .elementor-widget-image,
body.home .rodalu-technology-editorial .rodalu-visual-card .elementor-widget-container { height: 100%; }
body.home .rodalu-technology-editorial .rodalu-visual-card img { height: 100%; min-height: 500px; }
body.home .rodalu-technology-editorial .rodalu-copy-panel { padding: 56px !important; background: transparent !important; }

/* Móvil */
@media (max-width: 767px) {
  body.home .rodalu-slide:before { background: linear-gradient(180deg, rgba(4,20,37,.55) 0%, rgba(4,20,37,.86) 42%, rgba(4,20,37,.97) 100%); }
  body.home .rodalu-slider,
  body.home .rodalu-slider-track,
  body.home .rodalu-slide-shell { min-height: 640px; }
  body.home .rodalu-slide-shell { align-items: flex-end; padding: 40px 22px 92px; }
  body.home .rodalu-slide-copy { padding: 0 !important; }
  body.home .rodalu-slide-actions a { width: 100%; }
  body.home .rodalu-slider-controls { top: 572px; }

  body.home .rodalu-category-showcase + .rodalu-section { padding-top: 40px !important; }

  body.home .rodalu-technology-editorial { padding: 56px 0 !important; }
  body.home .rodalu-technology-editorial > .rodalu-shell { width: calc(100% - 28px); border-radius: 18px; }
  body.home .rodalu-technology-editorial > .rodalu-shell > .e-con { min-height: 0; }
  body.home .rodalu-technology-editorial .rodalu-visual-card img { min-height: 260px; max-height: 300px; }
  body.home .rodalu-technology-editorial .rodalu-copy-panel { padding: 32px 22px !important; }

  body.home .rodalu-process-section { padding: 56px 0 !important; }
  body.home .rodalu-process-section .rodalu-grid-3 > .e-con { padding: 22px !important; }
}
@media (max-width: 480px) {
  body.home .rodalu-products-showcase ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  body.home .rodalu-products-showcase ul.products li.product { padding: 8px 8px 12px !important; }
  body.home .rodalu-products-showcase .rodalu-product-card-body h2 { font-size: 14px; }
}

/* ================================================================
   TIENDA Y PRODUCTO
   ================================================================ */

/* Buscador lateral: campo arriba y botón abajo (antes se cortaba el texto) */
.rodalu-shop-sidebar form { display: flex; flex-direction: column; gap: 8px; }
.rodalu-shop-sidebar form label { display: none; }
.rodalu-shop-sidebar form input[type="search"] { width: 100%; min-height: 46px; padding: 0 14px; border: 1px solid var(--rodalu-field); border-radius: 10px; background: #f9fbfc; }
.rodalu-shop-sidebar form button,
.rodalu-shop-sidebar form input[type="submit"] { width: 100%; min-height: 44px; border-radius: 10px; }
.rodalu-shop-sidebar li a { font-size: 14px; }

/* Tarjetas: acciones siempre al pie aunque el nombre ocupe dos líneas */
.rodalu-shop-results ul.products li.product.rodalu-product-card { display: flex; flex-direction: column; }
.rodalu-shop-results .rodalu-product-card-body { display: flex; flex: 1; flex-direction: column; }
.rodalu-shop-results .rodalu-product-card-actions { margin-top: auto; }
.rodalu-product-card-body > p { color: var(--rodalu-body); font-size: 13px; }

/* Galería con una sola imagen: ocupa todo el ancho (antes quedaba en una columna de 84 px) */
.single-product .woocommerce-product-gallery.woocommerce-product-gallery--with-images:not(:has(.flex-control-thumbs)) { display: block; }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img { width: 100%; height: auto; }

/* "Imagen referencial" como nota discreta, no como alerta */
.rodalu-referential-note { background: #f1f5f8; color: var(--rodalu-body); font-weight: 600; }

/* ================================================================
   CARRITO, CHECKOUT Y CUENTA
   ================================================================ */

/* Mismo ancho que la cabecera */
.woocommerce-cart main.site-main,
.woocommerce-checkout main.site-main,
.woocommerce-account main.site-main { width: min(1180px, calc(100% - 48px)) !important; margin-inline: auto !important; }

/* Campos: un solo estilo para inputs, selects y textareas */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single,
.woocommerce-account .woocommerce form .input-text {
  min-height: 50px;
  border: 1px solid var(--rodalu-field) !important;
  border-radius: 12px !important;
  background: #f9fbfc !important;
  color: var(--rodalu-ink);
  box-shadow: none;
}
.woocommerce form .form-row .input-text { padding: 12px 14px; }
.woocommerce form .form-row textarea.input-text { min-height: 120px; }
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
  outline: none;
  border-color: #0d2f4a !important;
  background: #fff !important;
  box-shadow: var(--rodalu-focus-ring);
}

/* Resumen del pedido: cabecera y cuerpo como una sola tarjeta */
.woocommerce-checkout #order_review_heading {
  min-height: 72px;
  box-sizing: border-box;
  padding: 28px 30px 0;
  border: 1px solid var(--rodalu-line);
  border-bottom: 0;
  background: #fff;
}
.woocommerce-checkout #order_review {
  border: 1px solid var(--rodalu-line);
  border-top: 0;
  box-shadow: 0 30px 60px rgba(8,29,48,.08);
}
.woocommerce-checkout #order_review table.shop_table { border: 0 !important; border-collapse: collapse; }
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { padding: 14px 0 !important; border: 0 !important; border-bottom: 1px solid #e6edf1 !important; }
.woocommerce-checkout #order_review table.shop_table thead th { color: #5f6b76; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { color: var(--rodalu-body); font-size: 13px; line-height: 1.6; }
.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-account .woocommerce a:not(.button) { color: #0e568d; font-weight: 600; }

/* El h3 genérico del checkout oscurecía los títulos del pie */
.woocommerce-checkout .rodalu-global-footer h3 { color: #fff; font-size: 15px; }

/* Mi cuenta / acceso */
.woocommerce-account main.site-main { padding: 64px 0 96px; }
.woocommerce-account .page-content > .woocommerce { max-width: 520px; }
.woocommerce-account .woocommerce h2 { margin: 0 0 18px; font-size: 32px; }
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
  margin: 0;
  padding: 32px;
  border: 1px solid var(--rodalu-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(8,29,48,.08);
}
.woocommerce-account .woocommerce form .form-row label { color: #445361; font-size: 13px; font-weight: 600; }
.woocommerce-account .woocommerce form.login .button {
  min-height: 48px;
  padding: 0 26px !important;
  border-radius: 12px !important;
  background: var(--rodalu-red) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* ================================================================
   PÁGINAS LEGALES
   ================================================================ */
.rodalu-legal-nav a { font-size: 13px; }
.rodalu-legal-company { background: #f5f8fa; font-size: 13px; }
.rodalu-legal-content p,
.rodalu-legal-content li { color: var(--rodalu-body); font-size: 15px; }

/* ================================================================
   AJUSTES DE REVISIÓN
   ================================================================ */

/* Títulos de sección: Plus Jakarta Sans 700 con espaciado menos apretado */
.rodalu-h2 .elementor-heading-title { font-weight: 700; letter-spacing: -.02em; }
body.home .rodalu-slide h1 { letter-spacing: -.03em; }

/* Títulos dentro de paneles oscuros (p. ej. "Contáctanos" quedaba azul sobre azul) */
body .rodalu-contact-panel .rodalu-h2 .elementor-heading-title,
body .rodalu-section-dark .rodalu-h2 .elementor-heading-title { color: #fff !important; }

/* Tarjetas de contacto: títulos a escala con el resto */
.rodalu-contact-item .elementor-icon-box-title { font-size: 19px !important; line-height: 1.25; }
.rodalu-contact-item .elementor-icon-box-description { color: var(--rodalu-on-dark) !important; }

/* Heroes interiores: aire arriba para que el antetítulo no quede pegado a la cabecera */
.rodalu-inner-hero { padding-block: 56px !important; }

/* "Nuestra esencia": la foto llena el arco aunque el texto crezca */
body.home .rodalu-editorial-intro .rodalu-featured-visual { display: flex !important; flex-direction: column; }
body.home .rodalu-editorial-intro .rodalu-featured-visual > .elementor-widget-image { flex: 1 1 auto; }
body.home .rodalu-editorial-intro .rodalu-featured-visual img { width: 100%; height: 100% !important; }

/* Ficha de producto: galería tipo tienda.
   Escritorio: miniaturas en columna a la izquierda + foto grande, todo visible sin bajar y fijo al hacer scroll.
   Móvil: foto grande y miniaturas en una fila deslizable debajo.
   Las fotos de producto se convierten a 800×800 al guardarlas (inc/rodalu-product-images.php). */
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; border-radius: 16px; }
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__wrapper { width: 100%; overflow: hidden; border-radius: 16px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs { margin: 0 !important; padding: 0; list-style: none; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 3px;
  border: 2px solid transparent;
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
  opacity: .65;
  cursor: pointer;
  transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1; transform: translateY(-1px); }
.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--rodalu-red); box-shadow: 0 8px 20px -8px rgba(226,35,46,.45); }

/* Flechas sobre la foto grande */
.single-product .woocommerce-product-gallery .flex-direction-nav { position: absolute; z-index: 3; inset: 0; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.single-product .woocommerce-product-gallery .flex-direction-nav a {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  border: 1px solid #e2e9ee;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px -10px rgba(8,29,48,.35);
  font-size: 0;
  color: var(--rodalu-navy);
  pointer-events: auto;
  opacity: 0;
  transition: opacity .25s ease, background .2s ease, color .2s ease, transform .25s ease;
}
.single-product .woocommerce-product-gallery .flex-direction-nav a:before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev:before { transform: scaleX(-1); }
.single-product .woocommerce-product-gallery:hover .flex-direction-nav a,
.single-product .woocommerce-product-gallery .flex-direction-nav a:focus-visible { opacity: 1; }
.single-product .woocommerce-product-gallery .flex-direction-nav a:hover { background: var(--rodalu-red); border-color: var(--rodalu-red); color: #fff; }
.single-product .woocommerce-product-gallery .flex-direction-nav a.flex-disabled { display: none; }

@media (min-width: 768px) {
  /* Galería fija mientras se lee la ficha */
  /* Sin sticky: el contenedor del producto incluye pestañas y relacionados, y la galería quedaba encima de ellos al bajar */
  .woocommerce.single-product div.product div.images.woocommerce-product-gallery { position: relative; top: auto; align-self: start; margin-bottom: 0; }
  .woocommerce.single-product div.product { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
  .single-product .woocommerce-product-gallery.woocommerce-product-gallery--with-images:has(.flex-control-thumbs) {
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
  }
  .single-product .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-viewport,
  .single-product .woocommerce-product-gallery:has(.flex-control-thumbs) > .woocommerce-product-gallery__wrapper { grid-column: 2; grid-row: 1; width: 100%; max-width: calc(100vh - 210px); margin: 0; }
  .single-product .woocommerce-product-gallery:has(.flex-control-thumbs) .flex-direction-nav { left: 90px; right: auto; width: min(calc(100% - 90px), calc(100vh - 210px)); }
  .single-product .woocommerce-product-gallery .flex-control-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    max-height: calc(100vh - 210px);
    overflow-y: auto;
    scrollbar-width: thin;
    padding: 2px 2px 2px 0;
  }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li { flex: none; }
  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger { right: auto !important; left: calc(90px + 14px) !important; top: 14px !important; }
  .single-product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__trigger { left: 14px !important; }
}
@media (max-width: 767px) {
  .single-product .woocommerce-product-gallery.woocommerce-product-gallery--with-images { display: flex !important; flex-direction: column; gap: 10px; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs { display: flex !important; flex-direction: row; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  .single-product .woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 64px; }
  .single-product .woocommerce-product-gallery .flex-direction-nav a { opacity: 1; width: 38px; height: 38px; margin-top: -19px; }
  .single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev { left: 8px; }
  .single-product .woocommerce-product-gallery .flex-direction-nav .flex-next { right: 8px; }
}
.single-product .woocommerce-product-gallery .flex-direction-nav .flex-prev { left: 12px; }
.single-product .woocommerce-product-gallery .flex-direction-nav .flex-next { right: 12px; }

@media (max-width: 767px) {
  /* Hero de la home: contenido dentro del ancho de pantalla */
  body.home .rodalu-slide { grid-template-columns: minmax(0, 1fr); }
  body.home .rodalu-slide-shell { width: 100% !important; max-width: 100% !important; min-width: 0; box-sizing: border-box; padding-inline: 22px; }
  body.home .rodalu-slide-copy { width: 100% !important; max-width: 100% !important; min-width: 0; }
  body.home .rodalu-slide-kicker { white-space: normal; font-size: 11px; letter-spacing: .1em; }
  body.home .rodalu-slider-benefits { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }

  /* Heroes interiores: título sin cortes a mitad de palabra */
  .rodalu-inner-hero { min-height: 0 !important; padding-block: 48px 40px !important; }
  body .rodalu-inner-hero .rodalu-inner-title .elementor-heading-title,
  body .rodalu-inner-hero .rodalu-h2 .elementor-heading-title { font-size: 33px !important; line-height: 1.1 !important; overflow-wrap: normal !important; word-break: normal; hyphens: none; }
  .rodalu-inner-hero .elementor-heading-title br { display: none; }
  body .rodalu-inner-hero .rodalu-inner-title,
  body .rodalu-inner-hero .rodalu-inner-lead,
  body .rodalu-inner-hero .rodalu-inner-lead p,
  body .rodalu-inner-hero .rodalu-inner-title .elementor-heading-title { width: 100% !important; max-width: 100% !important; }

  /* Grillas de 4 tarjetas: 2 columnas compactas en vez de una columna larga */
  body .rodalu-section .rodalu-grid-4,
  body .rodalu-section-dark .rodalu-grid-4,
  body.home .rodalu-service-banner .rodalu-grid-4,
  body.home .rodalu-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .rodalu-grid-4 > .e-con,
  .rodalu-grid-4 > .elementor-widget,
  body.home .rodalu-capability-grid > * { min-height: 0 !important; padding: 18px 12px !important; }
  .rodalu-grid-4 .elementor-icon,
  body.home .rodalu-capability-grid .elementor-icon { font-size: 22px !important; padding: 12px !important; }
  .rodalu-grid-4 .elementor-icon-box-title,
  body.home .rodalu-capability-grid .elementor-icon-box-title { font-size: 15px !important; }
  .rodalu-grid-4 .elementor-icon-box-description,
  body.home .rodalu-capability-grid .elementor-icon-box-description { font-size: 13px !important; line-height: 1.45; }

  /* Categorías de la home: 2 columnas, la última a lo ancho */
  body.home .rodalu-category-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  body.home .rodalu-category-mosaic > :last-child { grid-column: 1 / -1; }
  body.home .rodalu-category-card,
  body.home .rodalu-category-card .elementor-image-box-img,
  body.home .rodalu-category-card .elementor-image-box-img a,
  body.home .rodalu-category-card .elementor-image-box-img img { min-height: 0 !important; height: 210px !important; }
  body.home .rodalu-category-card .elementor-image-box-content { padding: 48px 14px 14px; }
  body.home .rodalu-category-card .elementor-image-box-title,
  body.home .rodalu-category-card .elementor-image-box-title a { font-size: 16px !important; }

  /* Aplicaciones: tarjetas más bajas */
  body.home .rodalu-usecase-card,
  body.home .rodalu-usecase-card .elementor-image-box-img,
  body.home .rodalu-usecase-card .elementor-image-box-img a,
  body.home .rodalu-usecase-card .elementor-image-box-img img { min-height: 0 !important; height: 220px !important; }
}

/* Tienda en móvil: 2 columnas compactas */
@media (max-width: 600px) {
  body .rodalu-shop-results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  .rodalu-shop-results .rodalu-product-card-body { padding: 12px; }
  .rodalu-shop-results .rodalu-product-card-body > p { display: none; }
  .rodalu-shop-results .rodalu-product-card h2 { font-size: 15px; }
  .rodalu-shop-results .rodalu-product-card-actions { flex-direction: column; gap: 6px; }
  .rodalu-shop-results .rodalu-product-card-actions a { width: 100%; min-height: 40px; font-size: 12px; }
  .rodalu-product-image > span { top: 8px; left: 8px; font-size: 8px; }
}

/* ================================================================
   SLIDER ANIMADO (mismo lenguaje que ACT Circular)
   Fondo con zoom lento + paralaje, texto en cascada, progreso por slide.
   ================================================================ */
.rodalu-slider { --rodalu-ease: cubic-bezier(.2, .7, .2, 1); }

/* Fondo: zoom lento mientras el slide está activo + paralaje al hacer scroll */
.rodalu-slider .rodalu-slide-bg {
  top: -60px;
  height: calc(100% + 120px);
  translate: 0 var(--rodalu-par, 0px);
  will-change: transform;
}
.rodalu-slider .rodalu-slide.is-active .rodalu-slide-bg {
  animation: rodalu-kenburns calc(var(--rodalu-slide-ms, 6500ms) + 2500ms) ease-out both;
}
.rodalu-slider.is-held .rodalu-slide.is-active .rodalu-slide-bg,
.rodalu-slider.is-held .rodalu-slider-dots button.is-active .rodalu-slider-progress { animation-play-state: paused; }
@keyframes rodalu-kenburns {
  from { transform: scale(1.14) translateX(-1.5%); }
  to   { transform: scale(1.02) translateX(0); }
}

/* Texto en cascada: el saliente se apaga rápido y el entrante sube por partes */
body.home .rodalu-slide .rodalu-slide-copy,
body.home .rodalu-slide:not(.is-active) .rodalu-slide-copy { opacity: 1; visibility: visible; transform: none; transition: none; }
.rodalu-slider .rodalu-slide-copy > * {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .3s ease, transform .3s ease;
}
.rodalu-slider .rodalu-slide.is-active .rodalu-slide-copy > * {
  opacity: 1;
  transform: none;
  transition: opacity .7s ease, transform .9s var(--rodalu-ease);
}
.rodalu-slider .rodalu-slide.is-active .rodalu-slide-kicker { transition-delay: .25s; }
.rodalu-slider .rodalu-slide.is-active h1 { transition-delay: .38s; }
.rodalu-slider .rodalu-slide.is-active .rodalu-slide-lead { transition-delay: .54s; }
.rodalu-slider .rodalu-slide.is-active .rodalu-slide-actions { transition-delay: .7s; }

/* El título pasa de desenfocado a nítido */
.rodalu-slider .rodalu-slide h1 { filter: blur(8px); }
.rodalu-slider .rodalu-slide.is-active h1 {
  filter: blur(0);
  transition: opacity .7s ease .38s, transform .9s var(--rodalu-ease) .38s, filter .9s ease .38s;
}

/* Antetítulo: la línea roja se dibuja de izquierda a derecha */
body.home .rodalu-slide-kicker { position: relative; border-bottom: 0; }
body.home .rodalu-slide-kicker:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--rodalu-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}
body.home .rodalu-slide.is-active .rodalu-slide-kicker:after { transform: scaleX(1); transition: transform .8s var(--rodalu-ease) .75s; }

/* Botones: el principal invita con la flecha */
.rodalu-slider .rodalu-slide-primary span { display: inline-block; transition: transform .25s ease; }
.rodalu-slider .rodalu-slide-primary:hover span { transform: translateX(5px); }

/* Franja de beneficios: entra una sola vez al cargar */
.rodalu-slider.is-ready .rodalu-slider-benefits span { animation: rodalu-rise .7s var(--rodalu-ease) both; }
.rodalu-slider.is-ready .rodalu-slider-benefits span:nth-child(1) { animation-delay: .9s; }
.rodalu-slider.is-ready .rodalu-slider-benefits span:nth-child(2) { animation-delay: 1s; }
.rodalu-slider.is-ready .rodalu-slider-benefits span:nth-child(3) { animation-delay: 1.1s; }
.rodalu-slider.is-ready .rodalu-slider-benefits span:nth-child(4) { animation-delay: 1.2s; }
@keyframes rodalu-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* Controles: contador, píldoras con progreso y pausa */
body.home .rodalu-slider-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 8px 6px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(2,18,33,.55);
  backdrop-filter: blur(8px);
}
.rodalu-slider-count { color: rgba(255,255,255,.7); font: 600 12px/1 "Plus Jakarta Sans", sans-serif; letter-spacing: .06em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rodalu-slider-count b { color: #fff; font-weight: 700; }
body.home .rodalu-slider-controls .rodalu-slider-dots { position: static; display: flex; flex-direction: row; gap: 6px; }
body.home .rodalu-slider-controls .rodalu-slider-dots button,
body.home .rodalu-slider-controls .rodalu-slider-dots button.is-active {
  position: relative;
  width: 22px;
  min-width: 0;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  transition: width .5s var(--rodalu-ease);
}
body.home .rodalu-slider-controls .rodalu-slider-dots button.is-active { width: 52px; }
body.home .rodalu-slider-controls .rodalu-slider-dots button:before,
body.home .rodalu-slider-controls .rodalu-slider-dots button.is-active:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  width: auto;
  height: 4px;
  margin-top: -2px;
  border-radius: 4px;
  background: rgba(255,255,255,.32);
}
body.home .rodalu-slider-controls .rodalu-slider-dots button:hover:before { background: rgba(255,255,255,.6); }
.rodalu-slider-progress { position: absolute; left: 0; top: 50%; width: 0; height: 4px; margin-top: -2px; border-radius: 4px; background: var(--rodalu-red); }
.rodalu-slider.is-playing .rodalu-slider-dots button.is-active .rodalu-slider-progress { animation: rodalu-progress var(--rodalu-slide-ms, 6500ms) linear forwards; }
.rodalu-slider:not(.is-playing) .rodalu-slider-dots button.is-active .rodalu-slider-progress { width: 100%; }
@keyframes rodalu-progress { from { width: 0; } to { width: 100%; } }
body.home .rodalu-slider .rodalu-slider-toggle {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}
body.home .rodalu-slider .rodalu-slider-toggle:hover { border-color: var(--rodalu-red); background: var(--rodalu-red); }
.rodalu-slider-arrow { transition: background .25s ease, transform .25s ease, opacity .25s ease; }
.rodalu-slider-arrow:hover { transform: scale(1.08); }
@media (min-width: 768px) {
  body.home .rodalu-slider-controls { right: calc(max(24px, calc((100% - 1180px) / 2)) + 124px); bottom: calc(var(--rodalu-v2-benefits-height) + 30px); }
}
@media (max-width: 767px) {
  body.home .rodalu-slider-controls { right: 22px; left: auto; top: 576px; }
}

/* Sin animaciones si el usuario lo pidió en su sistema */
@media (prefers-reduced-motion: reduce) {
  .rodalu-slider .rodalu-slide-bg,
  .rodalu-slider .rodalu-slide.is-active .rodalu-slide-bg,
  .rodalu-slider.is-ready .rodalu-slider-benefits span { animation: none; translate: none; }
  .rodalu-slider .rodalu-slide-copy > *,
  .rodalu-slider .rodalu-slide h1,
  body.home .rodalu-slide-kicker:after { transition: none !important; filter: none; }
}

/* ================================================================
   CAPA PREMIUM: tipografía, botones, tarjetas y movimiento al hacer scroll
   ================================================================ */
:root {
  --rodalu-ease-out: cubic-bezier(.2, .7, .2, 1);
  --rodalu-shadow-soft: 0 1px 2px rgba(8,29,48,.04), 0 14px 34px -18px rgba(8,29,48,.2);
  --rodalu-shadow-lift: 0 2px 4px rgba(8,29,48,.05), 0 30px 50px -22px rgba(8,29,48,.3);
  --rodalu-wa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2.05 22l5.25-1.38c1.45.79 3.08 1.21 4.74 1.21 5.46 0 9.91-4.45 9.91-9.91C21.95 6.45 17.5 2 12.04 2zm5.8 14.09c-.24.68-1.42 1.3-1.95 1.35-.5.05-.97.23-3.28-.68-2.78-1.1-4.55-3.95-4.69-4.13-.14-.18-1.12-1.49-1.12-2.84 0-1.35.71-2.02.96-2.29.25-.28.55-.35.73-.35l.52.01c.17.01.4-.06.62.48.24.57.81 1.97.88 2.11.07.14.12.31.02.49-.09.18-.14.3-.28.46-.14.16-.29.36-.41.48-.14.14-.28.29-.12.57.16.28.72 1.19 1.55 1.93 1.07.95 1.97 1.25 2.25 1.39.28.14.44.12.6-.07.16-.19.69-.81.88-1.09.18-.28.37-.23.62-.14.25.09 1.6.75 1.87.89.28.14.46.21.53.32.07.12.07.66-.17 1.34z'/%3E%3C/svg%3E");
}

/* ---------- Tipografía ---------- */
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6, .elementor-heading-title { letter-spacing: -.025em; }
.rodalu-h2 .elementor-heading-title { font-weight: 800; letter-spacing: -.035em; line-height: 1.06; }
body.home .rodalu-slide h1 { font-weight: 800; letter-spacing: -.04em; }
.elementor-widget-text-editor p,
.rodalu-intro p { line-height: 1.7; }

/* Antetítulos con una línea corta delante */
.rodalu-kicker p,
.rodalu-page-kicker,
.rodalu-cart-eyebrow,
.rodalu-cart-summary-kicker {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
}
.rodalu-kicker p:before,
.rodalu-page-kicker:before,
.rodalu-cart-eyebrow:before,
.rodalu-cart-summary-kicker:before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: currentColor; flex: none; }

/* ---------- Botones principales (rojos): profundidad, elevación y brillo al pasar el mouse ---------- */
.rodalu-button-red .elementor-button,
.rodalu-slide-primary,
.rodalu-primary-link,
.single-product .single_add_to_cart_button,
.rodalu-contact-form button:not(.rodalu-whatsapp-button),
.woocommerce-account .woocommerce form.login .button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-radius: 12px !important;
  background-color: #e2232e !important;
  background-image: linear-gradient(180deg, #f2343f 0%, #d41e29 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 12px 24px -12px rgba(226,35,46,.75) !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
  transition: transform .3s var(--rodalu-ease-out), box-shadow .3s ease !important;
}
.rodalu-button-red .elementor-button:after,
.rodalu-slide-primary:after,
.rodalu-primary-link:after,
.single-product .single_add_to_cart_button:after,
.rodalu-contact-form button:not(.rodalu-whatsapp-button):after,
.woocommerce-account .woocommerce form.login .button:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.32) 50%, transparent 65%);
  transform: translateX(-130%);
  transition: transform .8s ease;
}
.rodalu-button-red .elementor-button:hover,
.rodalu-slide-primary:hover,
.rodalu-primary-link:hover,
.single-product .single_add_to_cart_button:hover,
.rodalu-contact-form button:not(.rodalu-whatsapp-button):hover,
.woocommerce-account .woocommerce form.login .button:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 18px 32px -14px rgba(226,35,46,.85) !important;
}
.rodalu-button-red .elementor-button:hover:after,
.rodalu-slide-primary:hover:after,
.rodalu-primary-link:hover:after,
.single-product .single_add_to_cart_button:hover:after,
.rodalu-contact-form button:not(.rodalu-whatsapp-button):hover:after,
.woocommerce-account .woocommerce form.login .button:hover:after { transform: translateX(130%); }

/* Botones secundarios / contorno */
.rodalu-button-outline .elementor-button,
.rodalu-slide-secondary { border-radius: 12px !important; transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--rodalu-ease-out) !important; }
.rodalu-button-outline .elementor-button:hover,
.rodalu-slide-secondary:hover { transform: translateY(-2px); }

/* ---------- Botones de WhatsApp: ícono, pulso suave y destello periódico ---------- */
.rodalu-whatsapp-button,
.rodalu-cart-whatsapp,
.rodalu-whatsapp-product,
.rodalu-button-green .elementor-button {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0 !important;
  border-radius: 12px !important;
  color: #053b1d !important;
  text-decoration: none !important;
  background: linear-gradient(105deg, transparent 38%, rgba(255,255,255,.55) 50%, transparent 62%) no-repeat, linear-gradient(180deg, #34e27f 0%, #1fc35f 100%) !important;
  background-size: 250% 100%, 100% 100% !important;
  background-position: 160% 0, 0 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 24px -12px rgba(18,140,74,.8) !important;
  animation: rodalu-wa-shine 5.5s ease-in-out 1.2s infinite, rodalu-wa-pulse 2.8s ease-out infinite;
  transition: transform .3s var(--rodalu-ease-out) !important;
}
.rodalu-whatsapp-button *,
.rodalu-cart-whatsapp *,
.rodalu-whatsapp-product * { text-decoration: none !important; }
.rodalu-whatsapp-button:before,
.rodalu-cart-whatsapp:before,
.rodalu-whatsapp-product:before,
.rodalu-button-green .elementor-button:before {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background: currentColor;
  -webkit-mask: var(--rodalu-wa-icon) center / contain no-repeat;
  mask: var(--rodalu-wa-icon) center / contain no-repeat;
  transition: transform .4s var(--rodalu-ease-out);
}
.rodalu-whatsapp-button:hover,
.rodalu-cart-whatsapp:hover,
.rodalu-whatsapp-product:hover,
.rodalu-button-green .elementor-button:hover { transform: translateY(-2px); color: #053b1d !important; }
.rodalu-whatsapp-button:hover:before,
.rodalu-cart-whatsapp:hover:before,
.rodalu-whatsapp-product:hover:before,
.rodalu-button-green .elementor-button:hover:before { transform: rotate(-12deg) scale(1.12); }
.rodalu-cart-whatsapp { justify-content: flex-start; }
.rodalu-cart-whatsapp span:last-child { margin-left: auto; transition: transform .3s var(--rodalu-ease-out); }
.rodalu-cart-whatsapp:hover span:last-child { transform: translateX(4px); }
@keyframes rodalu-wa-shine {
  0%, 60% { background-position: 160% 0, 0 0; }
  100%    { background-position: -60% 0, 0 0; }
}
@keyframes rodalu-wa-pulse {
  0%   { box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 24px -12px rgba(18,140,74,.8), 0 0 0 0 rgba(37,211,102,.5); }
  70%  { box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 24px -12px rgba(18,140,74,.8), 0 0 0 12px rgba(37,211,102,0); }
  100% { box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 12px 24px -12px rgba(18,140,74,.8), 0 0 0 0 rgba(37,211,102,0); }
}

/* WhatsApp blanco sobre la franja roja: mismo pulso, en blanco */
body .rodalu-global-cta .rodalu-whatsapp-button,
body .rodalu-cta .rodalu-button .elementor-button {
  background: #fff !important;
  color: var(--rodalu-red) !important;
  animation: rodalu-wa-pulse-white 2.8s ease-out infinite;
}
body .rodalu-global-cta .rodalu-whatsapp-button:hover { color: var(--rodalu-navy) !important; }
@keyframes rodalu-wa-pulse-white {
  0%   { box-shadow: 0 12px 26px rgba(91,7,15,.18), 0 0 0 0 rgba(255,255,255,.55); }
  70%  { box-shadow: 0 12px 26px rgba(91,7,15,.18), 0 0 0 14px rgba(255,255,255,0); }
  100% { box-shadow: 0 12px 26px rgba(91,7,15,.18), 0 0 0 0 rgba(255,255,255,0); }
}

/* ---------- Tarjetas: bordes finos, sombra en capas y elevación al pasar el mouse ---------- */
.rodalu-card,
.rodalu-shop-results ul.products li.product.rodalu-product-card,
body.home .rodalu-products-showcase ul.products li.product,
body.home .rodalu-process-section .rodalu-grid-3 > .e-con {
  border: 1px solid rgba(8,29,48,.08) !important;
  border-radius: 20px !important;
  box-shadow: var(--rodalu-shadow-soft) !important;
  transition: transform .4s var(--rodalu-ease-out), box-shadow .4s ease, border-color .4s ease !important;
}
.rodalu-card:hover,
.rodalu-shop-results ul.products li.product.rodalu-product-card:hover,
body.home .rodalu-products-showcase ul.products li.product:hover,
body.home .rodalu-process-section .rodalu-grid-3 > .e-con:hover {
  transform: translateY(-6px);
  border-color: rgba(226,35,46,.22) !important;
  box-shadow: var(--rodalu-shadow-lift) !important;
}
.rodalu-card .elementor-icon,
body.home .rodalu-process-section .elementor-icon { transition: background .4s ease, color .4s ease, transform .4s var(--rodalu-ease-out); }
.rodalu-card .elementor-icon svg,
body.home .rodalu-process-section .elementor-icon svg { transition: fill .4s ease; }
.rodalu-card:hover .elementor-icon,
body.home .rodalu-process-section .rodalu-grid-3 > .e-con:hover .elementor-icon { background: #081d30 !important; color: #fff !important; transform: translateY(-2px) rotate(-5deg); }
.rodalu-card:hover .elementor-icon svg,
body.home .rodalu-process-section .rodalu-grid-3 > .e-con:hover .elementor-icon svg { fill: #fff !important; }

/* Tarjetas sobre fondo oscuro */
.rodalu-card-dark,
.rodalu-contact-item {
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.025)) !important;
  transition: transform .4s var(--rodalu-ease-out), border-color .4s ease, box-shadow .4s ease !important;
}
.rodalu-card-dark:hover,
.rodalu-contact-item:hover {
  transform: translateY(-6px);
  border-color: rgba(255,107,115,.45) !important;
  box-shadow: 0 26px 44px -22px rgba(0,0,0,.6) !important;
}
.rodalu-card-dark .elementor-icon { transition: transform .4s var(--rodalu-ease-out); }
.rodalu-card-dark:hover .elementor-icon { transform: translateY(-3px) rotate(-5deg); }

/* Tarjetas con foto: esquinas más suaves y elevación al pasar el mouse */
body.home .rodalu-category-card,
body.home .rodalu-usecase-card { border-radius: 18px !important; }
body.home .rodalu-usecase-card { transition: transform .4s var(--rodalu-ease-out), box-shadow .4s ease; }
body.home .rodalu-usecase-card:hover { transform: translateY(-6px); box-shadow: 0 26px 44px -22px rgba(8,29,48,.45); }

/* ---------- Movimiento al hacer scroll ---------- */
.rodalu-read-progress {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #e2232e, #ff6b73);
  transform: scaleX(0);
  transform-origin: left;
  pointer-events: none;
}
.admin-bar .rodalu-read-progress { top: 32px; }
.rodalu-global-header { transition: box-shadow .35s ease, background-color .35s ease; }
.rodalu-global-header.is-scrolled { background: rgba(255,255,255,.88) !important; box-shadow: 0 12px 30px -16px rgba(8,29,48,.28); }
.rodalu-global-header > .rodalu-global-shell { transition: min-height .35s ease; }
.rodalu-global-header.is-scrolled > .rodalu-global-shell { min-height: 62px !important; }

.rodalu-motion .rodalu-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .8s ease var(--rodalu-delay, 0ms), transform 1s var(--rodalu-ease-out) var(--rodalu-delay, 0ms) !important;
}
.rodalu-motion .rodalu-reveal.rodalu-reveal-media { transform: translateY(22px) scale(.96); }
.rodalu-motion .rodalu-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .rodalu-whatsapp-button,
  .rodalu-cart-whatsapp,
  .rodalu-whatsapp-product,
  .rodalu-button-green .elementor-button,
  body .rodalu-global-cta .rodalu-whatsapp-button { animation: none !important; }
  .rodalu-read-progress { display: none; }
}

/* Pesos base con Plus Jakarta Sans (tiene 500 real y algunos títulos quedaban delgados) */
h1, h2, h3 { font-weight: 700; }
h4, h5, h6 { font-weight: 600; }
.elementor-button,
.rodalu-whatsapp-button,
.rodalu-cart-whatsapp,
.rodalu-whatsapp-product,
.rodalu-slide-primary,
.rodalu-slide-secondary,
.rodalu-primary-link,
.rodalu-secondary-link { font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif !important; font-weight: 700 !important; }
.rodalu-cart-whatsapp { display: flex !important; width: 100%; }

/* Corrección: ningún botón rojo lleva borde oscuro ni texto oscuro */
.rodalu-button-red .elementor-button,
.rodalu-slide-primary,
.rodalu-primary-link,
.single-product .single_add_to_cart_button,
.rodalu-contact-form button:not(.rodalu-whatsapp-button),
.woocommerce-account .woocommerce form.login .button { border: 0 !important; color: #fff !important; }

/* Tarjetas de productos destacados (home): botón contorno sobrio, no rojo */
body.home .rodalu-products-showcase .rodalu-primary-link,
body.home .rodalu-products-showcase .button {
  width: 100%;
  min-height: 42px;
  border: 1.5px solid rgba(8,29,48,.18) !important;
  border-radius: 10px !important;
  color: var(--rodalu-navy) !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  font-size: 13px;
}
body.home .rodalu-products-showcase .rodalu-primary-link:after { display: none; }
body.home .rodalu-products-showcase .rodalu-primary-link:hover,
body.home .rodalu-products-showcase .button:hover {
  border-color: var(--rodalu-navy) !important;
  color: #fff !important;
  background: var(--rodalu-navy) !important;
  transform: none;
}

/* Tipografía: espaciado menos apretado (con 800 y -0.035em las palabras se pegaban) */
h1, h2, h3, h4, h5, h6, .elementor-heading-title { letter-spacing: -.012em; word-spacing: .03em; }
.rodalu-h2 .elementor-heading-title { font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
body.home .rodalu-slide h1 { font-weight: 800; letter-spacing: -.025em; }
.rodalu-inner-hero .elementor-heading-title { letter-spacing: -.022em; }

/* Botón "volver arriba" con anillo de progreso de lectura */
.rodalu-to-top {
  position: fixed;
  z-index: 990;
  right: 24px;
  bottom: 24px;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #081d30;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 14px 30px -10px rgba(8,29,48,.55);
  opacity: 0;
  transform: translateY(16px) scale(.9);
  pointer-events: none;
  transition: opacity .35s ease, transform .35s var(--rodalu-ease-out, ease), background-color .25s ease, box-shadow .25s ease;
}
.rodalu-to-top[hidden] { display: inline-flex; }
.rodalu-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.rodalu-to-top-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.rodalu-to-top-ring circle {
  fill: none;
  stroke: #e2232e;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 150.8;
  stroke-dashoffset: calc(150.8 * (1 - var(--rodalu-progress, 0)));
  transition: stroke-dashoffset .15s linear;
}
.rodalu-to-top-arrow { position: relative; width: 20px; height: 20px; transition: transform .3s var(--rodalu-ease-out, ease); }
.rodalu-to-top:hover { background: #e2232e; box-shadow: 0 16px 32px -10px rgba(226,35,46,.6); }
.rodalu-to-top:hover .rodalu-to-top-ring circle { stroke: #fff; }
.rodalu-to-top:hover .rodalu-to-top-arrow { transform: translateY(-3px); }
.rodalu-to-top:focus-visible { outline: 3px solid #ff6b73; outline-offset: 3px; }
@media (max-width: 600px) { .rodalu-to-top { right: 14px; bottom: 14px; width: 46px; height: 46px; } }

/* Páginas internas: tarjetas de portafolio con título a escala y fotos sin marco interno */
.rodalu-mini-product .elementor-heading-title { font-size: 19px !important; letter-spacing: -.01em; }
.rodalu-mini-product img { border-radius: 14px; }
.rodalu-visual-card { padding: 0 !important; overflow: hidden; border-radius: 22px !important; background: transparent !important; box-shadow: 0 30px 60px -28px rgba(8,29,48,.35) !important; }
.rodalu-visual-card img { width: 100%; border-radius: 0 !important; display: block; }

/* ================================================================
   OPCIONES ELEGIDAS — Productos A (grilla limpia) y Footer A (clásico premium)
   ================================================================ */

/* ---------- Tarjeta de producto (home y tienda) ---------- */
.rodalu-product-card {
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  padding: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
}
.rodalu-product-card .rodalu-product-image { display: block; overflow: hidden; background: #f3f6f9; }
body .rodalu-product-card .rodalu-product-image img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  background: transparent !important;
  transition: transform .6s var(--rodalu-ease-out, ease);
}
.rodalu-product-card:hover .rodalu-product-image img { transform: scale(1.045); }
body .rodalu-product-card .rodalu-product-card-body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 16px 18px 14px !important; }
.rodalu-product-card .rodalu-product-category,
.rodalu-product-card .rodalu-product-category a { color: #5f6b76 !important; font-size: 10.5px; font-weight: 600; letter-spacing: .1em; }
body .rodalu-product-card h2 { margin: 0 !important; font-size: 17px !important; letter-spacing: -.01em; line-height: 1.25; }
.rodalu-product-price-note { color: #5f6b76; font-size: 13px; }
.rodalu-product-card .rodalu-product-card-body > p { min-height: 0; margin: 4px 0 0; color: #4a5763; font-size: 13px; line-height: 1.55; }
.rodalu-product-card-footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  border-top: 1px solid rgba(8,29,48,.07);
}
.rodalu-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #081d30;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.rodalu-card-link span { transition: transform .25s ease; }
.rodalu-card-link:hover { color: #e2232e; }
.rodalu-card-link:hover span { transform: translateX(4px); }
.rodalu-card-wa {
  width: 38px;
  height: 38px;
  flex: none;
  border-radius: 50%;
  background: #e8faef;
  color: #128c4a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}
.rodalu-card-wa svg { width: 18px; height: 18px; }
.rodalu-card-wa:hover { background: #25d366; color: #fff; transform: scale(1.06); }
.rodalu-referential-global { margin: 24px 0 0; color: #5f6b76; font-size: 13px; }

/* Home: sin etiqueta repetida, una sola nota bajo la grilla */
body.home .rodalu-products-showcase ul.products { gap: 16px !important; }
body.home .rodalu-products-showcase ul.products li.product { padding: 0 !important; }
body.home .rodalu-products-showcase .woocommerce:after {
  content: "Imágenes referenciales. Consulta la configuración disponible para cada modelo.";
  display: block;
  margin-top: 20px;
  color: #5f6b76;
  font-size: 13px;
}

/* Home: "Ver todos los productos" alineado con el título, a la derecha */
body.home .rodalu-category-showcase + .rodalu-section .rodalu-actions .elementor-button {
  height: 50px;
  padding: 0 8px 0 22px !important;
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  border: 1.5px solid rgba(8,29,48,.16) !important;
  border-radius: 999px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #081d30 !important;
  font-size: 14px !important;
  overflow: visible;
}
body.home .rodalu-category-showcase + .rodalu-section .rodalu-actions .elementor-button:after {
  content: "→";
  position: static;
  z-index: auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #081d30;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: none;
  font-size: 15px;
  transition: background .25s ease, transform .25s ease;
}
body.home .rodalu-category-showcase + .rodalu-section .rodalu-actions .elementor-button:hover { border-color: #081d30 !important; transform: none; }
body.home .rodalu-category-showcase + .rodalu-section .rodalu-actions .elementor-button:hover:after { background: #e2232e; transform: translateX(3px); }
@media (min-width: 1025px) {
  body.home .rodalu-category-showcase + .rodalu-section > .rodalu-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    column-gap: 40px;
    row-gap: 36px;
  }
  body.home .rodalu-category-showcase + .rodalu-section > .rodalu-shell > .rodalu-section-heading { grid-column: 1; grid-row: 1; margin: 0 !important; }
  body.home .rodalu-category-showcase + .rodalu-section > .rodalu-shell > .rodalu-products-showcase { grid-column: 1 / -1; grid-row: 2; }
  body.home .rodalu-category-showcase + .rodalu-section > .rodalu-shell > .rodalu-actions { grid-column: 2; grid-row: 1; justify-self: end; width: auto !important; margin: 0 !important; padding: 0 !important; }
}
@media (max-width: 1024px) {
  body.home .rodalu-category-showcase + .rodalu-section .rodalu-actions,
  body.home .rodalu-category-showcase + .rodalu-section .rodalu-actions .elementor-widget-button { width: 100% !important; }
  body.home .rodalu-category-showcase + .rodalu-section .rodalu-actions .elementor-button { width: 100%; justify-content: space-between; }
}
@media (max-width: 600px) {
  body .rodalu-product-card .rodalu-product-card-body { padding: 12px 12px 10px !important; }
  body .rodalu-product-card h2 { font-size: 15px !important; }
  .rodalu-product-card .rodalu-product-card-body > p { display: none; }
  .rodalu-product-card-footer { padding: 10px 12px; }
  .rodalu-card-link { font-size: 13px; }
  .rodalu-card-wa { width: 34px; height: 34px; }
}

/* ---------- Footer A: clásico premium ---------- */
.rodalu-global-footer {
  padding: 76px 0 0 !important;
  background: radial-gradient(640px 320px at 92% 0%, rgba(226,35,46,.14), transparent 70%), linear-gradient(180deg, #071a2c, #05131f) !important;
  color: #b9c7d4;
}
.rodalu-footer-columns { grid-template-columns: 1.5fr 1fr 1fr 1.35fr !important; gap: 48px !important; }
.rodalu-global-footer h3 { margin: 0 0 20px !important; color: #fff; font-size: 15px !important; letter-spacing: -.01em; }
.rodalu-global-footer p { max-width: 310px; margin: 20px 0 22px; color: #b9c7d4; font-size: 15px; line-height: 1.7; }
.rodalu-global-footer .rodalu-footer-columns a,
.rodalu-global-footer .rodalu-footer-columns span { margin-bottom: 12px; color: #b9c7d4; font-size: 14.5px; transition: color .2s ease; }
.rodalu-global-footer .rodalu-footer-columns a:hover { color: #fff; }
.rodalu-footer-social { display: flex; gap: 10px; }
.rodalu-global-footer .rodalu-footer-social a {
  width: 40px;
  height: 40px;
  margin: 0;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: #fff;
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.rodalu-global-footer .rodalu-footer-social a:hover { border-color: #e2232e; background: #e2232e; color: #fff; transform: translateY(-2px); }
.rodalu-footer-social svg { width: 18px; height: 18px; }
.rodalu-global-footer .rodalu-claims-book-link {
  width: auto;
  max-width: 270px;
  margin: 14px 0 0 !important;
  padding: 12px 16px;
  display: flex !important;
  align-items: center;
  gap: 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  box-shadow: none;
  color: #fff !important;
  transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.rodalu-global-footer .rodalu-claims-book-link img { width: auto !important; height: 34px !important; filter: brightness(0) invert(1); opacity: .92; }
.rodalu-global-footer .rodalu-claims-book-link span { margin: 0 0 0 auto !important; color: #fff !important; font-size: 18px !important; transition: transform .25s ease; }
.rodalu-global-footer .rodalu-claims-book-link:hover { border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.08); box-shadow: none; transform: translateY(-2px); }
.rodalu-global-footer .rodalu-claims-book-link:hover span { transform: translateX(4px); }
.rodalu-footer-bottom { margin-top: 56px !important; padding: 24px 0 28px !important; }
.rodalu-global-footer .rodalu-footer-bottom > span,
.rodalu-global-footer .rodalu-legal-links a { color: #b9c7d4; font-size: 13px !important; }
@media (max-width: 980px) { .rodalu-footer-columns { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 600px) {
  .rodalu-global-footer { padding-top: 56px !important; }
  .rodalu-footer-columns { grid-template-columns: 1fr !important; gap: 32px !important; }
}

/* Libro de Reclamaciones: versión blanca con fondo transparente (assets/libro-reclamaciones-blanco.png) */
.rodalu-global-footer .rodalu-claims-book-link img { filter: none; opacity: .95; }

/* Tarjetas de la home (6 columnas): foto cuadrada sin franja y pie en una sola línea */
body.home .rodalu-products-showcase .rodalu-product-image { aspect-ratio: 1 / 1; }
body.home .rodalu-products-showcase .rodalu-product-image img { display: block; height: 100%; }
body.home .rodalu-products-showcase .rodalu-product-card-footer { padding: 10px 12px 10px 14px; gap: 6px; }
body.home .rodalu-products-showcase .rodalu-card-link { font-size: 13px; white-space: nowrap; }
body.home .rodalu-products-showcase .rodalu-card-wa { width: 34px; height: 34px; }
body.home .rodalu-products-showcase .rodalu-product-card .rodalu-product-card-body { padding: 14px 14px 12px !important; }
body.home .rodalu-products-showcase ul.products { margin: 0 !important; }
.rodalu-global-footer .rodalu-claims-book-link img { height: 43px !important; }
.rodalu-global-footer .rodalu-claims-book-link { padding: 12px 18px; }

/* Botón pausa / reproducir del slider: íconos reales (antes era el carácter "Ⅱ") */
.rodalu-slider-toggle svg { width: 13px; height: 13px; display: block; }
.rodalu-slider-toggle .rodalu-icon-play { display: none; margin-left: 2px; }
.rodalu-slider-toggle[aria-pressed="true"] .rodalu-icon-pause { display: none; }
.rodalu-slider-toggle[aria-pressed="true"] .rodalu-icon-play { display: block; }

/* ================================================================
   CONTACTO: panel de canales en filas clicables + formulario claro
   ================================================================ */
.rodalu-contact-layout { gap: 28px !important; align-items: stretch !important; }

/* Panel de canales */
body .rodalu-contact-panel {
  display: flex !important;
  flex-direction: column;
  gap: 12px !important;
  padding: 44px 40px !important;
  border-radius: 24px !important;
  background: radial-gradient(420px 260px at 100% 0%, rgba(226,35,46,.2), transparent 70%), linear-gradient(160deg, #0d2f4a 0%, #081d30 72%) !important;
  box-shadow: 0 30px 60px -30px rgba(8,29,48,.55);
}
body .rodalu-contact-panel .rodalu-h2 .elementor-heading-title { font-size: 36px !important; }
.rodalu-contact-panel > .elementor-widget-text-editor:not(.rodalu-kicker) { margin-bottom: 14px; }
.rodalu-contact-panel > .elementor-widget-text-editor:not(.rodalu-kicker) p { color: #c9d6e2 !important; font-size: 15.5px; line-height: 1.65; }

body .rodalu-contact-item {
  position: relative;
  min-height: 0 !important;
  padding: 16px 18px !important;
  justify-content: flex-start !important;
  border-radius: 16px !important;
}
body .rodalu-contact-item:hover { transform: none; }
.rodalu-contact-item .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: center; gap: 16px; width: 100%; text-align: left !important; }
.rodalu-contact-item .elementor-icon-box-icon { flex: none; margin: 0 !important; }
body .rodalu-contact-item .elementor-icon {
  width: 48px;
  height: 48px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(226,35,46,.16);
  color: #ff8a90 !important;
  font-size: 20px !important;
}
body .rodalu-contact-item .elementor-icon svg { width: 20px; height: 20px; fill: #ff8a90 !important; }
.rodalu-contact-item .elementor-icon-box-content { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
body .rodalu-contact-item .elementor-icon-box-title,
body .rodalu-contact-item .elementor-icon-box-title a {
  margin: 0 !important;
  color: #9fb3c6 !important;
  font-family: "Inter", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
}
body .rodalu-contact-item .elementor-icon-box-description {
  margin: 0;
  color: #fff !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16.5px !important;
  font-weight: 700;
  overflow-wrap: anywhere;
}

/* Filas con enlace: toda la fila es clicable y muestra una flecha */
.rodalu-contact-wa .elementor-icon-box-title a:after,
.rodalu-contact-mail .elementor-icon-box-title a:after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.rodalu-contact-wa .elementor-icon-box-wrapper:after,
.rodalu-contact-mail .elementor-icon-box-wrapper:after {
  content: "→";
  flex: none;
  margin-left: auto;
  color: #fff;
  font-size: 18px;
  opacity: .5;
  transition: opacity .25s ease, transform .25s ease;
}
.rodalu-contact-wa:hover .elementor-icon-box-wrapper:after,
.rodalu-contact-mail:hover .elementor-icon-box-wrapper:after { opacity: 1; transform: translateX(4px); }
body .rodalu-contact-wa:hover,
body .rodalu-contact-mail:hover { border-color: rgba(255,107,115,.5) !important; background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05)) !important; }
body .rodalu-contact-wa .elementor-icon { background: rgba(37,211,102,.16); color: #4ee38a !important; }
body .rodalu-contact-wa .elementor-icon svg { fill: #4ee38a !important; }

/* Estado del horario */
.rodalu-open-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}
.rodalu-open-status:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.rodalu-open-status.is-open { background: rgba(37,211,102,.14); color: #4ee38a; }
.rodalu-open-status.is-open:before { animation: rodalu-dot 2s ease-out infinite; }
.rodalu-open-status.is-closed { background: rgba(255,255,255,.08); color: #c9d6e2; }
@keyframes rodalu-dot { 0% { box-shadow: 0 0 0 0 rgba(78,227,138,.6); } 70% { box-shadow: 0 0 0 7px rgba(78,227,138,0); } 100% { box-shadow: 0 0 0 0 rgba(78,227,138,0); } }

/* Formulario */
body .rodalu-form-panel {
  padding: 44px 40px !important;
  border: 1px solid rgba(8,29,48,.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 30px 60px -30px rgba(8,29,48,.25) !important;
}
body .rodalu-form-panel .rodalu-h2 .elementor-heading-title { font-size: 34px !important; }
.rodalu-form-panel .rodalu-contact-form { padding-top: 18px; }
.rodalu-contact-form .rodalu-form-grid { gap: 0 16px; }
.rodalu-contact-form label { display: block; margin-bottom: 18px; color: #1d3246; font-size: 13px; font-weight: 600; }
.rodalu-req { color: #e2232e; }
.rodalu-contact-form input,
.rodalu-contact-form select,
.rodalu-contact-form textarea {
  display: block;
  width: 100%;
  min-height: 52px;
  margin-top: 8px;
  padding: 0 16px;
  border: 1px solid #d5e0e7;
  border-radius: 12px;
  background: #f9fbfc;
  color: #081d30;
  font: 400 15px/1.4 "Inter", sans-serif;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.rodalu-contact-form textarea { min-height: 132px; padding: 14px 16px; resize: vertical; }
.rodalu-contact-form select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23081d30' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px;
  cursor: pointer;
}
.rodalu-contact-form select:invalid { color: #8a96a1; }
.rodalu-contact-form ::placeholder { color: #8a96a1; }
.rodalu-contact-form input:focus,
.rodalu-contact-form select:focus,
.rodalu-contact-form textarea:focus { outline: none; border-color: #0d2f4a; background-color: #fff; box-shadow: 0 0 0 3px rgba(13,47,74,.14); }
.rodalu-contact-form .rodalu-form-submit { width: 100%; height: 56px; margin-top: 4px; font-size: 16px; cursor: pointer; }
.rodalu-contact-form .rodalu-form-note { display: flex; align-items: flex-start; gap: 8px; margin: 14px 0 0; color: #5f6b76; font-size: 13px; line-height: 1.5; }
.rodalu-contact-form .rodalu-form-note svg { flex: none; width: 16px; height: 16px; margin-top: 1px; }

@media (max-width: 767px) {
  body .rodalu-contact-panel,
  body .rodalu-form-panel { padding: 28px 20px !important; border-radius: 20px !important; }
  body .rodalu-contact-panel .rodalu-h2 .elementor-heading-title,
  body .rodalu-form-panel .rodalu-h2 .elementor-heading-title { font-size: 28px !important; }
  .rodalu-contact-form .rodalu-form-grid { grid-template-columns: 1fr; }
}

/* Contacto: nota de cobertura al pie del panel de canales */
body .rodalu-contact-panel > .rodalu-contact-footnote { margin-top: auto !important; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); }
.rodalu-contact-footnote p { margin: 0 0 8px !important; color: #9fb3c6 !important; font-size: 13.5px; }
.rodalu-contact-footnote p strong { color: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-size: 15px; }
.rodalu-contact-footnote p span { display: inline-flex; margin-left: 6px; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: #fff; font-size: 12.5px; font-weight: 600; }
@media (max-width: 767px) {
  body .rodalu-contact-item { padding: 14px !important; }
  body .rodalu-contact-item .elementor-icon-box-description { font-size: 15px !important; overflow-wrap: normal; word-break: normal; }
  .rodalu-contact-wa .elementor-icon-box-wrapper:after,
  .rodalu-contact-mail .elementor-icon-box-wrapper:after { display: none; }
}

/* ================================================================
   COTIZACIÓN: carrito compacto, formulario de datos y consulta desde la ficha
   ================================================================ */

/* Carrito: menos espacio arriba y encabezado proporcionado */
body.woocommerce-cart main.site-main { padding-top: 36px !important; }
.rodalu-cart-intro { margin-bottom: 4px; }
body .rodalu-cart-intro h1 { margin: 0 0 10px; font-size: clamp(30px, 3vw, 40px); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.rodalu-cart-intro p { max-width: 720px; color: #4a5763; font-size: 15.5px; line-height: 1.6; }
.rodalu-cart-steps { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; padding: 0; list-style: none; }
.rodalu-cart-steps li { display: inline-flex; align-items: center; gap: 9px; color: #5f6b76; font-size: 14px; font-weight: 600; }
.rodalu-cart-steps li span { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #e6edf2; color: #4a5763; font-size: 12.5px; font-weight: 700; }
.rodalu-cart-steps li.is-current { color: #081d30; }
.rodalu-cart-steps li.is-current span { background: #e2232e; color: #fff; }
.rodalu-cart-steps li + li:before { content: ""; width: 22px; height: 1.5px; margin-right: 4px; background: #d3dde5; }
.woocommerce-cart .woocommerce-message { margin-bottom: 8px !important; }

/* Resumen: tarjeta con formulario */
.woocommerce-cart .cart-collaterals .cart_totals { padding: 30px !important; top: 104px; }
.woocommerce-cart .cart_totals h2 { margin: 0 0 6px !important; font-size: 24px !important; }
.rodalu-quote-cart .rodalu-cart-summary-copy { margin: 0 0 18px; }
.rodalu-quote-cart .rodalu-cart-whatsapp { width: 100%; margin-top: 6px; border: 0; cursor: pointer; font-size: 15px; }

/* Campos (carrito y ventana de la ficha) */
.rodalu-quote-fields { display: flex; flex-direction: column; }
.rodalu-quote-fields label { margin: 0 0 6px; color: #1d3246; font-size: 13px; font-weight: 600; }
.rodalu-quote-fields input,
.rodalu-quote-fields select,
.rodalu-quote-fields textarea {
  width: 100%;
  min-height: 46px;
  margin: 0 0 14px;
  padding: 0 14px;
  border: 1px solid #d5e0e7;
  border-radius: 12px;
  background: #f9fbfc;
  color: #081d30;
  font: 400 14.5px/1.4 "Inter", sans-serif;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.rodalu-quote-fields textarea { min-height: 84px; padding: 12px 14px; resize: vertical; }
.rodalu-quote-fields select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23081d30' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 15px;
}
.rodalu-quote-fields ::placeholder { color: #8a96a1; }
.rodalu-quote-fields input:focus,
.rodalu-quote-fields select:focus,
.rodalu-quote-fields textarea:focus { outline: none; border-color: #0d2f4a; background-color: #fff; box-shadow: 0 0 0 3px rgba(13,47,74,.14); }
.rodalu-quote-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.rodalu-quote-grid > div { display: flex; flex-direction: column; min-width: 0; }
.rodalu-quote-note { margin: 12px 0 0; color: #5f6b76; font-size: 12.5px; line-height: 1.5; }

/* Botón de la ficha (ahora es <button>) */
button.rodalu-whatsapp-product { cursor: pointer; font-size: 15px; height: 52px; padding: 0 24px; }

/* Ventana de consulta en la ficha */
.rodalu-quote-dialog {
  width: min(520px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  padding: 0;
  border: 0;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 40px 80px -20px rgba(8,29,48,.45);
  overflow: auto;
}
.rodalu-quote-dialog::backdrop { background: rgba(5,19,31,.6); backdrop-filter: blur(4px); }
.rodalu-quote-dialog[open] { animation: rodalu-dialog-in .35s var(--rodalu-ease-out, ease); }
@keyframes rodalu-dialog-in { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
.rodalu-quote-card { position: relative; padding: 28px; }
.rodalu-quote-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #e2e9ee;
  border-radius: 50%;
  background: #fff;
  color: #081d30;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.rodalu-quote-close svg { width: 18px; height: 18px; }
.rodalu-quote-close:hover { border-color: #e2232e; color: #e2232e; }
.rodalu-quote-head { display: flex; align-items: center; gap: 14px; margin: 0 48px 22px 0; padding-bottom: 18px; border-bottom: 1px solid #e8eef2; }
.rodalu-quote-head img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; background: #f3f6f9; }
.rodalu-quote-eyebrow { display: block; color: #128c4a; font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.rodalu-quote-head h2 { margin: 2px 0; font-size: 21px; letter-spacing: -.01em; }
.rodalu-quote-head small { color: #5f6b76; font-size: 13px; }
.rodalu-quote-card .rodalu-quote-submit { width: 100%; height: 54px; margin-top: 4px; font-size: 15.5px; cursor: pointer; }

@media (max-width: 600px) {
  .rodalu-quote-grid { grid-template-columns: 1fr; }
  .rodalu-quote-card { padding: 22px 18px; }
  .rodalu-cart-steps li + li:before { display: none; }
}

/* Libro de Reclamaciones: separación entre la tarjeta de envío y la franja roja */
body.page-id-82 .rodalu-claims-book-page,
body.page-id-82 .elementor-widget-shortcode { margin-bottom: 0; }
@media (min-width: 981px) {
  body.woocommerce-cart main.site-main .page-content > .woocommerce { grid-template-columns: minmax(0, 1.35fr) minmax(400px, 1fr) !important; }
}
.rodalu-cart-continue { display: inline-flex; align-items: center; gap: 6px; margin-right: auto; color: #081d30; font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; font-weight: 700; text-decoration: none; }
.rodalu-cart-continue:hover { color: #e2232e; }
.woocommerce-cart table.cart td.actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }

/* Libro de Reclamaciones: aire antes de la franja roja (la sección terminaba pegada a la tarjeta) */
body.page-id-82 .rodalu-cta { margin-top: 0 !important; }
.rodalu-section-soft:has(.neurlrp-container) { padding-bottom: 88px !important; }

/* Libro de Reclamaciones: datos del proveedor */
.rodalu-claims-provider {
  display: grid;
  grid-template-columns: 1.2fr .8fr 1.8fr .7fr;
  gap: 0;
  margin: 20px 0;
  border: 1px solid rgba(8,29,48,.08);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 34px -20px rgba(8,29,48,.25);
  overflow: hidden;
}
.rodalu-claims-provider > div { display: flex; flex-direction: column; gap: 4px; padding: 18px 22px; }
.rodalu-claims-provider > div + div { border-left: 1px solid #e8eef2; }
.rodalu-claims-provider span { color: #c81e28; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.rodalu-claims-provider strong { color: #081d30; font-family: "Plus Jakarta Sans", sans-serif; font-size: 15px; line-height: 1.35; }
.rodalu-claims-provider small { color: #5f6b76; font-size: 12.5px; }
@media (max-width: 900px) {
  .rodalu-claims-provider { grid-template-columns: 1fr 1fr; }
  .rodalu-claims-provider > div:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #e8eef2; }
  .rodalu-claims-provider > div:nth-child(4) { border-top: 1px solid #e8eef2; }
}
@media (max-width: 520px) {
  .rodalu-claims-provider { grid-template-columns: 1fr; }
  .rodalu-claims-provider > div + div { border-left: 0; border-top: 1px solid #e8eef2; }
}
html body .rodalu-section-soft:has(.neurlrp-container) { padding-bottom: 88px !important; }

/* ================================================================
   NOSOTROS Y SERVICIOS
   ================================================================ */

/* Heroes internos: el título fluye natural (sin saltos forzados tipo "Acompañamiento / para / …") */
.rodalu-inner-hero .rodalu-inner-title .elementor-heading-title br { display: none; }
body .rodalu-inner-hero .rodalu-inner-title .elementor-heading-title { max-width: 760px; }

/* Tarjetas de valores / servicios en fondo claro: alineadas a la izquierda, más editoriales */
body:not(.home) :is(.rodalu-section, .rodalu-section-soft) .rodalu-grid-4 > .rodalu-card { padding: 30px 26px !important; }
body:not(.home) :is(.rodalu-section, .rodalu-section-soft) .rodalu-grid-4 > .rodalu-card .elementor-icon-box-wrapper { text-align: left !important; }
body:not(.home) :is(.rodalu-section, .rodalu-section-soft) .rodalu-grid-4 > .rodalu-card .elementor-icon-box-icon { margin: 0 0 22px !important; }
body:not(.home) :is(.rodalu-section, .rodalu-section-soft) .rodalu-grid-4 > .rodalu-card .elementor-icon-box-title { margin: 0 0 8px !important; font-size: 18px !important; }
body:not(.home) :is(.rodalu-section, .rodalu-section-soft) .rodalu-grid-4 > .rodalu-card .elementor-icon-box-description { color: #4a5763 !important; font-size: 14.5px; line-height: 1.6; }

/* Servicios: el proceso como línea de tiempo (pasos conectados) */
body .rodalu-process-band .rodalu-grid-4 { position: relative; gap: 24px !important; }
body .rodalu-process-band .rodalu-grid-4:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 40px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(90deg, #ff6b73, rgba(255,107,115,.35) 70%, rgba(255,255,255,.15));
}
body .rodalu-process-band .rodalu-grid-4 > .rodalu-card,
body .rodalu-process-band .rodalu-grid-4 > .rodalu-card:hover {
  position: relative;
  z-index: 1;
  padding: 0 10px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none;
}
body .rodalu-process-band .rodalu-card .elementor-icon-box-icon { margin: 0 0 22px !important; }
body .rodalu-process-band .rodalu-card .elementor-icon {
  width: 80px;
  height: 80px;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,107,115,.55);
  border-radius: 50%;
  background: #0d2f4a !important;
  color: #fff !important;
  font-size: 28px !important;
  box-shadow: 0 0 0 8px #081d30;
  transition: background .35s ease, border-color .35s ease, transform .35s ease;
}
body .rodalu-process-band .rodalu-card .elementor-icon svg { width: 30px; height: 30px; fill: #fff !important; }
body .rodalu-process-band .rodalu-card:hover .elementor-icon { border-color: #e2232e; background: #e2232e !important; transform: translateY(-3px); }
body .rodalu-process-band .rodalu-card .elementor-icon-box-title { margin: 0 0 8px !important; color: #fff !important; font-size: 18px !important; }
body .rodalu-process-band .rodalu-card .elementor-icon-box-description { color: #c9d6e2 !important; font-size: 14.5px; line-height: 1.6; }

/* Nosotros / Servicios: foto del bloque editorial con proporción contenida */
body:not(.home) .rodalu-section .rodalu-visual-card { align-self: center; }
body:not(.home) .rodalu-section .rodalu-visual-card img { max-height: 500px; object-fit: cover; }

/* Nosotros: portafolio con fotos grandes y título superpuesto */
body .rodalu-mini-product { position: relative; min-height: 300px; padding: 0 !important; overflow: hidden; }
body .rodalu-mini-product .elementor-widget-image,
body .rodalu-mini-product .elementor-widget-image .elementor-widget-container { height: 100%; margin: 0 !important; }
body .rodalu-mini-product img { display: block; width: 100%; height: 300px !important; object-fit: cover; border-radius: 0 !important; transition: transform .6s var(--rodalu-ease-out, ease); }
body .rodalu-mini-product:hover img { transform: scale(1.05); }
body .rodalu-mini-product .elementor-widget-heading {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 !important;
  padding: 70px 22px 20px;
  background: linear-gradient(0deg, rgba(5,19,31,.94), rgba(5,19,31,0));
}
body .rodalu-mini-product .elementor-heading-title { color: #fff !important; font-size: 21px !important; text-align: left !important; }

@media (max-width: 767px) {
  /* Línea de tiempo vertical en móvil */
  body .rodalu-process-band .rodalu-grid-4 { grid-template-columns: 1fr !important; gap: 22px !important; }
  body .rodalu-process-band .rodalu-grid-4:before { top: 0; bottom: 0; left: 31px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, #ff6b73, rgba(255,255,255,.15)); }
  body .rodalu-process-band .rodalu-grid-4 > .rodalu-card { padding: 0 !important; }
  body .rodalu-process-band .rodalu-card .elementor-icon-box-wrapper { display: flex !important; align-items: flex-start; gap: 16px; text-align: left !important; }
  body .rodalu-process-band .rodalu-card .elementor-icon-box-icon { margin: 0 !important; flex: none; }
  body .rodalu-process-band .rodalu-card .elementor-icon { width: 64px; height: 64px; font-size: 22px !important; box-shadow: 0 0 0 6px #081d30; }
  body .rodalu-process-band .rodalu-card .elementor-icon svg { width: 24px; height: 24px; }
  body .rodalu-process-band .rodalu-card .elementor-icon-box-title { font-size: 16px !important; }
  body .rodalu-process-band .rodalu-card .elementor-icon-box-description { font-size: 14px !important; }
  body:not(.home) :is(.rodalu-section, .rodalu-section-soft) .rodalu-grid-4 > .rodalu-card { padding: 20px 16px !important; }
  body .rodalu-mini-product,
  body .rodalu-mini-product img { min-height: 0; height: 200px !important; }
}

/* Línea de tiempo: el tema pinta los path de los íconos de azul y Elementor fija width:100% en el ::before */
body .rodalu-process-band .rodalu-card .elementor-icon svg path { fill: #fff !important; }
body .rodalu-process-band .rodalu-grid-4:before { width: 75% !important; left: 12.5% !important; right: auto !important; }
@media (max-width: 767px) {
  body .rodalu-process-band .rodalu-grid-4:before { width: 2px !important; left: 31px !important; }
}

/* ================================================================
   TIENDA: filtros avanzados, resumen de resultados y chips
   ================================================================ */
.rodalu-filters { display: flex !important; flex-direction: column; gap: 18px !important; }
.rodalu-shop-sidebar .rodalu-filters h2 { margin: 0 !important; }
.rodalu-filter-search input[type="search"] { width: 100%; min-height: 46px; padding: 0 14px 0 40px; border: 1px solid #d5e0e7; border-radius: 12px; background: #f9fbfc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6b76' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 13px center / 17px; font-size: 14.5px; }
.rodalu-filter-search input[type="search"]:focus { outline: none; border-color: #0d2f4a; background-color: #fff; box-shadow: 0 0 0 3px rgba(13,47,74,.14); }
.rodalu-filters fieldset { margin: 0; padding: 16px 0 0; border: 0; border-top: 1px solid #edf1f4; }
.rodalu-filters legend { padding: 0; margin-bottom: 10px; color: #081d30; font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; font-weight: 700; }
.rodalu-shop-sidebar .rodalu-filters label.rodalu-check { display: flex !important; align-items: center; gap: 10px; margin: 0; padding: 8px 4px; border-radius: 8px; color: #1d3246; font-size: 14px; cursor: pointer; }
.rodalu-filters label.rodalu-check:hover { background: #f4f7fa; }
.rodalu-filters label.rodalu-check input { width: 18px; height: 18px; margin: 0; accent-color: #e2232e; cursor: pointer; }
.rodalu-filters label.rodalu-check span { flex: 1; }
.rodalu-filters label.rodalu-check small { min-width: 26px; padding: 1px 8px; border-radius: 999px; background: #eef2f5; color: #4a5763; font-size: 12px; font-weight: 600; text-align: center; }
.rodalu-filter-actions { display: flex; align-items: center; gap: 12px; }
.rodalu-filter-actions button { flex: 1; min-height: 44px; border: 0; border-radius: 10px; background: #081d30; color: #fff; font-family: "Plus Jakarta Sans", sans-serif; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .2s ease; }
.rodalu-filter-actions button:hover { background: #e2232e; }
.rodalu-filter-actions a { color: #4a5763; font-size: 13.5px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.rodalu-shop-toolbar { align-items: flex-start !important; gap: 16px; }
.rodalu-results-summary { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.rodalu-results-summary .woocommerce-result-count { margin: 0 !important; color: #1d3246; font-size: 15px; }
.rodalu-results-summary .woocommerce-result-count strong { color: #081d30; font-family: "Plus Jakarta Sans", sans-serif; font-size: 17px; }
.rodalu-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rodalu-active-filters a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid #d5e0e7; border-radius: 999px; background: #fff; color: #081d30; font-size: 13px; font-weight: 600; text-decoration: none; transition: border-color .2s ease, color .2s ease; }
.rodalu-active-filters a span[aria-hidden] { color: #8a96a1; font-size: 15px; line-height: 1; }
.rodalu-active-filters a:hover { border-color: #e2232e; color: #e2232e; }
.rodalu-active-filters a.is-clear { border-color: transparent; background: none; color: #4a5763; text-decoration: underline; text-underline-offset: 3px; }
.rodalu-empty-link { display: inline-flex; margin: 0 12px 0 0; color: #081d30; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.rodalu-empty-products h2 { font-size: 24px; }

/* Ficha: descripción con "Características" e "Ideal para" */
.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel h3 { margin: 26px 0 12px; color: #081d30; font-size: 17px; letter-spacing: -.01em; }
.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0; padding: 0; list-style: none; max-width: 900px; }
.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel li { position: relative; padding-left: 28px; color: #4a5763; font-size: 15px; line-height: 1.55; }
.woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e6f0f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d2f4a' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 11px;
}
@media (max-width: 600px) { .woocommerce.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel ul { grid-template-columns: 1fr; } }

/* Carrito: "Seguir comprando" como botón de contorno y nombre del producto sin cortes */
.woocommerce-cart table.cart td.actions { justify-content: space-between; }
a.rodalu-cart-continue {
  height: 44px;
  margin-right: 0;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid rgba(8,29,48,.16);
  border-radius: 10px;
  background: #fff;
  color: #081d30 !important;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none !important;
  transition: border-color .2s ease, background .2s ease;
}
a.rodalu-cart-continue:hover { border-color: #081d30; background: #f4f7fa; }
.woocommerce-cart table.cart td.actions .button { order: 2; }
.woocommerce-cart td.product-name { min-width: 160px; }
.woocommerce-cart td.product-name a { white-space: normal; word-break: normal; }

/* Carrito en móvil: la columna no debe crecer más que la pantalla */
@media (max-width: 980px) {
  body.woocommerce-cart main.site-main .page-content > .woocommerce { grid-template-columns: minmax(0, 1fr) !important; }
  body.woocommerce-cart main.site-main .page-content > .woocommerce > * { min-width: 0; }
  .woocommerce-cart td.product-name { min-width: 0; }
  .woocommerce-cart table.cart td.actions { flex-wrap: wrap; }
}

/* Carrito: el aviso "añadido" no necesita "Ver carrito" estando ya en el carrito */
.woocommerce-cart .woocommerce-message .button.wc-forward { display: none !important; }

@media (max-width: 767px) {
  /* Aviso compacto */
  .woocommerce-cart .woocommerce-message { min-height: 0; flex-direction: row !important; align-items: center; padding: 14px 16px 14px 50px !important; font-size: 14px; }
  .woocommerce-cart .woocommerce-message:before { top: 50% !important; left: 14px !important; transform: translateY(-50%) !important; }

  /* Cada producto como fila compacta: foto · nombre · quitar / cantidad */
  .woocommerce-cart table.shop_table_responsive tr.cart_item {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) 34px;
    grid-template-areas: "thumb name remove" "thumb qty qty";
    align-items: center;
    gap: 6px 12px;
    margin-bottom: 10px;
    padding: 12px !important;
    border: 0 !important;
    border-radius: 16px;
    background: #f7f9fb;
  }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td { padding: 0 !important; border: 0 !important; background: transparent !important; text-align: left !important; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td:before { display: none !important; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-thumbnail { grid-area: thumb; display: block !important; }
  .woocommerce-cart td.product-thumbnail img { width: 72px !important; height: 72px; padding: 4px; border-radius: 12px; background: #fff; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-name { grid-area: name; }
  .woocommerce-cart td.product-name a { font-size: 15px !important; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove { grid-area: remove; position: static !important; width: 34px; min-height: 0; }
  .woocommerce-cart table.shop_table_responsive tr.cart_item td.product-quantity { grid-area: qty; }
  .woocommerce-cart td.product-quantity .quantity { min-height: 40px; }
}
@media (max-width: 600px) {
  .rodalu-product-card-footer { gap: 6px; padding: 10px; }
  .rodalu-card-link { font-size: 12.5px; white-space: nowrap; }
  .rodalu-card-link span { display: none; }
  .rodalu-card-wa { width: 32px; height: 32px; }
  .rodalu-card-wa svg { width: 16px; height: 16px; }
}

/* Carrito (escritorio): la celda de botones debe seguir siendo celda de tabla.
   Con display:flex la tabla la metía solo en la 1.ª columna (356px), aplastaba la foto y sacaba la cantidad de la tarjeta. */
@media (min-width: 769px) {
  .woocommerce-cart table.cart td.actions { display: table-cell !important; text-align: right; }
  .woocommerce-cart table.cart td.actions::after { content: ""; display: table; clear: both; }
  .woocommerce-cart table.cart td.actions a.rodalu-cart-continue { float: left; }
  .woocommerce-cart table.cart td.actions .button { display: inline-flex; align-items: center; }
  .woocommerce-cart table.cart td.product-remove { width: 56px; }
}

/* ===================== Favoritos y compartir ===================== */
.rodalu-fav-count[hidden] { display: none !important; }

/* Corazón sobre la foto de cada tarjeta */
.rodalu-product-card { position: relative; }
.rodalu-fav-toggle {
  position: absolute;
  z-index: 3;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  color: #081d30;
  box-shadow: 0 6px 18px rgba(8,29,48,.14);
  cursor: pointer;
  transition: transform .2s ease, color .2s ease, background .2s ease;
}
.rodalu-fav-toggle svg { width: 20px; height: 20px; fill: transparent; stroke: currentColor; stroke-width: 1.9; stroke-linejoin: round; transition: fill .2s ease; }
.rodalu-fav-toggle:hover { transform: scale(1.08); color: var(--rodalu-red); }
.rodalu-fav-toggle:focus-visible { outline: 3px solid rgba(226,35,46,.35); outline-offset: 2px; }
.rodalu-fav-toggle.is-active { color: var(--rodalu-red); }
.rodalu-fav-toggle.is-active svg { fill: currentColor; }
.rodalu-fav-toggle.is-pop svg { animation: rodalu-heart-pop .45s cubic-bezier(.2,.9,.3,1.4); }
@keyframes rodalu-heart-pop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }

/* Ficha: guardar + compartir */
.rodalu-product-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 18px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e6edf2;
}
.rodalu-fav-toggle.rodalu-fav-toggle--wide {
  position: static;
  width: auto;
  height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 18px 0 15px;
  border: 1.5px solid #dfe7ec;
  border-radius: 999px;
  background: #fff;
  box-shadow: none;
  font-family: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
}
.rodalu-fav-toggle--wide:hover { transform: none; border-color: var(--rodalu-red); }
.rodalu-fav-toggle--wide.is-active { border-color: rgba(226,35,46,.35); background: #fff5f5; }
.rodalu-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rodalu-share-label { margin-right: 4px; color: #5f6b76; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.rodalu-share-btn {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1.5px solid #dfe7ec;
  border-radius: 50%;
  background: #fff;
  color: #081d30 !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.rodalu-share-btn[hidden] { display: none; }
.rodalu-share-btn svg { width: 18px; height: 18px; }
.rodalu-share-btn:hover { transform: translateY(-2px); color: #fff !important; }
.rodalu-share-btn--whatsapp:hover { border-color: #25d366; background: #25d366; }
.rodalu-share-btn--facebook:hover { border-color: #1877f2; background: #1877f2; }
.rodalu-share-btn--linkedin:hover { border-color: #0a66c2; background: #0a66c2; }
.rodalu-share-btn--x:hover { border-color: #000; background: #000; }
.rodalu-share-btn--copy:hover,
.rodalu-share-btn--native:hover { border-color: #081d30; background: #081d30; }
.rodalu-share-btn--copy.is-done { border-color: #1a9b5b; background: #1a9b5b; color: #fff !important; }

/* Header: el corazón usa el mismo botón que el carrito */
.rodalu-favs-link > svg { fill: none; stroke: currentColor; stroke-width: 1.9; }
.rodalu-menu-favs .rodalu-fav-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: var(--rodalu-red); color: #fff; font-size: 11px; font-weight: 800; line-height: 1; vertical-align: 1px; }
@media (min-width: 1025px) { .rodalu-global-nav .rodalu-menu-favs { display: none !important; } }

/* Aviso flotante */
.rodalu-toast {
  position: fixed;
  z-index: 9999;
  left: 50%;
  bottom: 28px;
  max-width: calc(100% - 32px);
  padding: 13px 20px;
  border-radius: 12px;
  background: #081d30;
  color: #fff;
  box-shadow: 0 18px 40px rgba(8,29,48,.28);
  font-size: 14px;
  font-weight: 600;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 16px);
  transition: opacity .25s ease, transform .25s ease;
}
.rodalu-toast.is-visible { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.rodalu-toast a { color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* Página /favoritos/ */
body.rodalu-favs-page main.site-main { width: min(1240px, calc(100% - 48px)) !important; max-width: none; margin-inline: auto !important; padding: 70px 0 100px; }
.rodalu-favs { margin-top: 30px; transition: opacity .2s ease; }
.rodalu-favs.is-loading { opacity: .45; }
.rodalu-favs-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 22px; }
.rodalu-favs-toolbar[hidden], .rodalu-favs-empty[hidden] { display: none; }
.rodalu-favs-total { color: #081d30; font-size: 15px; font-weight: 700; }
.rodalu-favs-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.rodalu-favs-clear { height: 44px; padding: 0 18px; border: 1.5px solid rgba(8,29,48,.16); border-radius: 10px; background: #fff; color: #081d30; font-size: 14px; font-weight: 700; cursor: pointer; }
.rodalu-favs-clear:hover { border-color: #081d30; background: #f4f7fa; }
.rodalu-favs .rodalu-favs-send { height: 44px; border: 0; cursor: pointer; }
.rodalu-favs .rodalu-shop-results ul.products { padding: 0 !important; list-style: none; }
@media (min-width: 1025px) { .rodalu-favs .rodalu-shop-results ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rodalu-favs-error { grid-column: 1 / -1; padding: 22px; border-radius: 14px; background: #fff5f5; color: #8a1a22; list-style: none; }
.rodalu-favs-empty { max-width: 520px; margin: 10px auto 0; padding: 48px 32px; border-radius: 24px; background: #fff; box-shadow: 0 28px 70px rgba(8,29,48,.08); text-align: center; }
.rodalu-favs-empty-icon { display: inline-grid; place-items: center; width: 64px; height: 64px; margin-bottom: 16px; border-radius: 50%; background: #fff1f2; color: var(--rodalu-red); }
.rodalu-favs-empty-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.rodalu-favs-empty h2 { margin: 0 0 8px; font-size: 24px; }
.rodalu-favs-empty p { margin: 0 0 22px; color: #4a5763; }
@media (max-width: 767px) {
  body.rodalu-favs-page main.site-main { width: calc(100% - 32px) !important; padding: 40px 0 70px; }
  .rodalu-favs-actions, .rodalu-favs-actions > * { width: 100%; }
  .rodalu-product-social { flex-direction: column; align-items: flex-start; }
}

/* ===================== Página 404 (antenas EAS) ===================== */
body .rodalu-404 {
  min-height: 0;
  display: block;
  padding: 64px 0 96px;
  background:
    radial-gradient(circle at 50% 0%, rgba(226,35,46,.07), transparent 42%),
    linear-gradient(180deg, #f7f9fb 0%, #fff 100%);
  text-align: center;
}
.rodalu-404 .rodalu-404-inner { max-width: 780px; margin: 0 auto; }
.rodalu-404-art { width: min(520px, 100%); margin: 0 auto 18px; }
.rodalu-404-art svg { display: block; width: 100%; height: auto; overflow: visible; }
.rodalu-404-number { font-family: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif; font-size: 104px; font-weight: 800; letter-spacing: -4px; fill: #081d30; }
.rodalu-404-light { animation: rodalu-404-blink 1.1s ease-in-out infinite; }
.rodalu-404-glow { transform-origin: 280px 128px; animation: rodalu-404-glow 2.2s ease-in-out infinite; }
.rodalu-404-wave { opacity: 0; animation: rodalu-404-wave 1.8s ease-out infinite; }
.rodalu-404-wave--1 { animation-delay: .25s; }
.rodalu-404-wave--2 { animation-delay: .5s; }
@keyframes rodalu-404-blink { 0%, 100% { opacity: 1; filter: drop-shadow(0 0 6px rgba(226,35,46,.8)); } 50% { opacity: .25; filter: none; } }
@keyframes rodalu-404-glow { 0%, 100% { opacity: .55; transform: scale(.94); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes rodalu-404-wave { 0% { opacity: 0; } 30% { opacity: .9; } 100% { opacity: 0; } }

.rodalu-404 .rodalu-page-kicker { justify-content: center; margin-bottom: 12px; }
body .rodalu-404 h1 { max-width: 700px; margin: 0 auto 14px; font-size: clamp(32px, 4.6vw, 52px); line-height: 1.08; letter-spacing: -.03em; }
.rodalu-404-lead { max-width: 600px; margin: 0 auto 28px; color: #4a5763; font-size: 16.5px; line-height: 1.65; }

.rodalu-404-search {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 560px;
  margin: 0 auto 18px;
  padding: 6px 6px 6px 18px;
  border: 1.5px solid #dfe7ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(8,29,48,.08);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.rodalu-404-search:focus-within { border-color: #081d30; box-shadow: 0 18px 44px rgba(8,29,48,.12), 0 0 0 4px rgba(8,29,48,.06); }
.rodalu-404-search > svg { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: #5f6b76; stroke-width: 2; stroke-linecap: round; }
body .rodalu-404-search input[type="search"] { flex: 1; min-width: 0; height: 48px; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 15.5px; outline: none; }
body .rodalu-404-search button {
  height: 48px;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #081d30 !important;
  color: #fff !important;
  font-size: 14.5px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s ease;
}
body .rodalu-404-search button:hover { background: var(--rodalu-red) !important; }

.rodalu-404-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 auto 30px; }
.rodalu-404-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border: 1px solid #e1e8ee;
  border-radius: 999px;
  background: #fff;
  color: #081d30 !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  transition: border-color .2s ease, transform .2s ease;
}
.rodalu-404-links a span { color: var(--rodalu-red); transition: transform .2s ease; }
.rodalu-404-links a:hover { border-color: #081d30; transform: translateY(-2px); }
.rodalu-404-links a:hover span { transform: translateX(3px); }
.rodalu-404 .rodalu-page-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 0; }

@media (max-width: 600px) {
  body .rodalu-404 { padding: 36px 0 70px; }
  .rodalu-404 .rodalu-404-inner { width: calc(100% - 32px); }
  .rodalu-404-search { padding-left: 14px; }
  body .rodalu-404-search button { padding: 0 16px !important; }
  .rodalu-404 .rodalu-page-actions > * { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .rodalu-404-light, .rodalu-404-glow, .rodalu-404-wave { animation: none; }
  .rodalu-404-wave { opacity: .6; }
}
/* 404: los dos botones con la misma medida */
body .rodalu-404 .rodalu-page-actions > a { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 26px !important; border-radius: 12px !important; font-family: "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif; font-size: 15px !important; font-weight: 700 !important; }

/* Libro de Reclamaciones: campo trampa anti-bot (fuera de la vista, no display:none para que los bots lo vean) */
.rodalu-hp { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Inventario en modo cotización: aviso en la ficha y etiqueta en la tarjeta */
.single-product .rodalu-stock-note { margin: 4px 0 18px !important; padding: 12px 16px; border-radius: 12px; font-size: 14.5px; font-weight: 600; line-height: 1.45; }
.single-product .rodalu-stock-note.out-of-stock { background: #fff3f3; color: #a3121b !important; }
.single-product .rodalu-stock-note.available-on-backorder { background: #fff8e8; color: #8a5a00 !important; }
.rodalu-stock-badge { align-self: flex-start; display: inline-flex; padding: 4px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 800; letter-spacing: .02em; }
.rodalu-stock-badge--out { background: #fff0f0; color: #b3121d; }
.rodalu-stock-badge--backorder { background: #fff6e0; color: #8a5a00; }
