.dys-section{scroll-margin-top:30px}.dys-section a{transition:background .2s,color .2s}.dys-section .elementor-heading-title{overflow-wrap:normal}.dys-section .elementor-button{border-radius:0}.dys-section .elementor-column>.elementor-widget-wrap{align-content:flex-start}.dys-header .elementor-column>.elementor-widget-wrap{align-content:center}.dys-nav{display:flex;gap:22px;align-items:center;justify-content:flex-end;flex-wrap:wrap;font-size:12px;font-weight:700}.dys-nav a{color:#182932;text-decoration:none}.dys-nav a:last-child{background:#ed1926;color:#fff;padding:13px 18px}.dys-card-row>.elementor-container{gap:15px}.dys-card-row .elementor-column{flex-shrink:1}.dys-sector-card>.elementor-widget-wrap{height:100%;border:1px solid #d6dde2}.dys-sector-card .elementor-widget-button{margin-top:auto}.dys-urgent>.elementor-widget-wrap{border-color:#ed1926}.dys-product-row>.elementor-container{gap:15px}.dys-product-row .dys-product{flex-shrink:1}.dys-product>.elementor-widget-wrap{border:1px solid #d6dde2;height:100%}.dys-product .elementor-widget-image img{height:155px;width:100%;object-fit:contain;background:#f3f5f6}.dys-product .elementor-widget-button{margin-top:auto}.dys-product .elementor-toggle .elementor-tab-content{max-height:360px;overflow:auto}.dys-catalog-tools{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;font:13px Arial}.dys-catalog-tools button{background:white;color:#182932;border:1px solid #d6dde2;padding:10px 18px;cursor:pointer;border-radius:0}.dys-catalog-tools button[aria-pressed=true]{background:#182932;color:white}.dys-catalog-tools label{display:flex;gap:10px;align-items:center}.dys-catalog-tools input{padding:10px;border:1px solid #d6dde2}.dys-catalog-tools .dys-count{width:100%;color:#59666e;font-size:12px}.dys-section[hidden],.dys-section [hidden]{display:none!important}.dys-footer .elementor-widget-image img{max-width:280px}.dys-section .gallery-item img{height:220px;width:100%;object-fit:cover}.dys-section .elementor-field{border-radius:0}.dys-section .elementor-toggle-item{border-color:#d6dde2}.dys-section a:focus-visible,.dys-section button:focus-visible,.dys-section input:focus-visible{outline:3px solid #677cff;outline-offset:3px}@media(max-width:1024px){.dys-product-row>.elementor-container{flex-wrap:wrap}.dys-product-row .dys-product{width:calc(50% - 8px)}.dys-nav{gap:12px}}@media(max-width:767px){.dys-header .elementor-widget-image img{max-width:230px}.dys-nav{justify-content:flex-start;gap:14px}.dys-card-row>.elementor-container{gap:15px;flex-wrap:wrap}.dys-card-row .elementor-column,.dys-product-row .dys-product{width:100%}.dys-catalog-tools label{display:block;width:100%}.dys-catalog-tools input{display:block;width:100%;margin-top:8px}.dys-section .gallery-item img{height:140px}}

/* ===== v1.1.0 · Ajustes responsive ===== */
/* Tablet: catálogo en 2 columnas (con prioridad sobre el ancho por defecto de Elementor). */
@media (min-width:768px) and (max-width:1024px){
  .dys-section.dys-product-row>.elementor-container{flex-wrap:wrap}
  .dys-section.dys-product-row .elementor-column.dys-product{width:calc(50% - 8px)!important;max-width:calc(50% - 8px);flex:0 0 calc(50% - 8px)}
}
/* Móvil: una tarjeta por fila. */
@media (max-width:767px){
  .dys-section.dys-product-row .elementor-column.dys-product,
  .dys-section.dys-card-row>.elementor-container>.elementor-column{width:100%!important;max-width:100%;flex:0 0 100%}
  .dys-product .elementor-widget-image img{height:180px}
  .dys-nav a:last-child{width:100%;text-align:center}
  .dys-catalog-tools [role=group]{display:flex;flex-wrap:wrap;gap:8px}
}
/* Mensaje cuando el filtro no encuentra productos. */
.dys-catalog-tools .dys-count:empty{display:none}

/* ===== v1.2.0 · Formulario de cotización (Elementor gratuito) ===== */
.dys-form{font-family:Arial,sans-serif;color:#182932}
.dys-form-grid{display:flex;flex-wrap:wrap;gap:16px}
.dys-form .dys-field{display:flex;flex-direction:column;gap:6px;box-sizing:border-box}
.dys-form .dys-col-50{width:calc(50% - 8px)}
.dys-form .dys-col-100{width:100%}
.dys-form label{font-size:13px;font-weight:700;color:#182932}
.dys-form .dys-req{color:#ed1926}
.dys-form input,.dys-form select,.dys-form textarea{width:100%;box-sizing:border-box;font:15px/1.4 Arial,sans-serif;color:#182932;background:#fff;border:1px solid #cdd6de;border-radius:0;padding:12px 14px;margin:0}
.dys-form textarea{resize:vertical;min-height:110px}
.dys-form input:focus,.dys-form select:focus,.dys-form textarea:focus{outline:3px solid #677cff;outline-offset:1px;border-color:#677cff}
.dys-form .dys-submit{margin-top:18px;background:#ed1926;color:#fff;border:0;border-radius:0;padding:15px 26px;font:700 14px Arial,sans-serif;cursor:pointer;transition:background .2s}
.dys-form .dys-submit:hover{background:#c8121d}
.dys-form .dys-submit[disabled]{opacity:.6;cursor:wait}
.dys-form .dys-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.dys-form .dys-form-msg{margin:14px 0 0;font-size:14px}
.dys-form .dys-form-msg:empty{display:none}
.dys-form .dys-form-msg.is-ok{color:#13703a;background:#eaf7ef;padding:12px 14px}
.dys-form .dys-form-msg.is-error{color:#a50f19;background:#fdecee;padding:12px 14px}
@media (max-width:767px){.dys-form .dys-col-50{width:100%}.dys-form .dys-submit{width:100%}}

/* ===== v1.3.0 · Anclas y catálogo ampliable ===== */
html{scroll-behavior:smooth}
.dys-section[id]{scroll-margin-top:20px}
/* Escritorio: 4 productos por fila; si agregas más, bajan a una nueva línea en vez de apretarse. */
@media (min-width:1025px){
  .dys-section.dys-product-row>.elementor-container{flex-wrap:wrap}
  .dys-section.dys-product-row .elementor-column.dys-product{width:calc(25% - 11.25px)!important;max-width:calc(25% - 11.25px);flex:0 0 calc(25% - 11.25px)}
}

/* ===== v1.4.0 · Cabecera: logo compacto, menú en una línea y menú móvil ===== */
.dys-section.dys-header>.elementor-container{flex-wrap:nowrap!important;align-items:center}
.dys-section.dys-header>.elementor-container>.elementor-column:first-child{width:auto!important;flex:0 0 auto;max-width:60%}
.dys-section.dys-header>.elementor-container>.elementor-column:last-child{width:auto!important;flex:1 1 auto;min-width:0}
.dys-header .elementor-widget-image img{width:190px!important;max-width:100%;height:auto;display:block}
.dys-header .elementor-widget-image a{display:inline-block;line-height:0}
.dys-nav{flex-wrap:nowrap;white-space:nowrap;gap:clamp(14px,1.9vw,28px);font-size:13px;line-height:1.2}
.dys-nav a{padding:6px 0}
.dys-nav a:last-child{padding:13px 18px}
.dys-nav a:not(:last-child):hover{color:#ed1926}
.dys-nav a:last-child:hover{background:#c8121d}
.dys-nav-toggle{display:none}
.dys-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tablet y móvil: botón de menú (hamburguesa) y lista desplegable. */
@media (max-width:1024px){
  .dys-section.dys-header{position:relative;z-index:60}
  .dys-section.dys-header .elementor-container,
  .dys-section.dys-header .elementor-column,
  .dys-section.dys-header .elementor-widget-wrap,
  .dys-section.dys-header .elementor-widget,
  .dys-section.dys-header .elementor-widget-container{position:static}
  .dys-header .elementor-widget-image img{width:150px!important}
  .dys-nav-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto;width:48px;height:48px;padding:0;border:1px solid #d6dde2;background:#fff;color:#182932;cursor:pointer;border-radius:0}
  .dys-nav-toggle:hover{border-color:#182932}
  .dys-burger,.dys-burger::before,.dys-burger::after{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,opacity .2s;content:""}
  .dys-burger{position:relative}
  .dys-burger::before{position:absolute;top:-7px;left:0}
  .dys-burger::after{position:absolute;top:7px;left:0}
  .dys-nav-toggle[aria-expanded=true] .dys-burger{background:transparent}
  .dys-nav-toggle[aria-expanded=true] .dys-burger::before{transform:translateY(7px) rotate(45deg)}
  .dys-nav-toggle[aria-expanded=true] .dys-burger::after{transform:translateY(-7px) rotate(-45deg)}
  .dys-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 22px;background:#fff;border-top:1px solid #d6dde2;box-shadow:0 14px 28px rgba(16,35,45,.14);white-space:normal;font-size:15px}
  .dys-nav.is-open{display:flex}
  .dys-nav a{padding:15px 0;border-bottom:1px solid #eef1f3}
  .dys-nav a:last-child{margin-top:16px;padding:15px 18px;text-align:center;border-bottom:0;width:auto}
  /* Sin JavaScript el menú se muestra abierto para que siga siendo usable. */
  .dys-nav:not([data-ready]){display:flex;position:static;box-shadow:none;border:0;padding:0;flex-direction:row;flex-wrap:wrap;gap:10px 16px}
}
@media (max-width:767px){
  .dys-header .elementor-widget-image img{width:130px!important}
  .dys-nav{padding:6px 18px 20px}
  .dys-nav-toggle{width:44px;height:44px}
}

/* ===== v1.5.0 · Cotización con varios productos ===== */
.dys-form .dys-quote-builder{gap:10px}
.dys-form .dys-pick-row{display:flex;gap:10px}
.dys-form .dys-pick-row select{flex:1 1 auto;min-width:0}
.dys-form .dys-add{flex:0 0 auto;background:#182932;color:#fff;border:0;border-radius:0;padding:0 20px;font:700 14px Arial,sans-serif;cursor:pointer;transition:background .2s}
.dys-form .dys-add:hover{background:#2c4553}
.dys-form .dys-items-empty{margin:0;padding:14px 16px;border:1px dashed #cdd6de;color:#59666e;font-size:13px;background:#f8fafb}
.dys-form .dys-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.dys-form .dys-items:empty{display:none}
.dys-form .dys-item{border:1px solid #cdd6de;background:#f8fafb;padding:12px 14px}
.dys-form .dys-item-head{display:flex;align-items:center;gap:10px}
.dys-form .dys-item-num{flex:0 0 24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ed1926;color:#fff;font-size:12px;font-weight:700}
.dys-form .dys-item-name{flex:1 1 auto;font-size:14px;color:#182932}
.dys-form .dys-item-remove{flex:0 0 auto;width:32px;height:32px;padding:0;border:1px solid #cdd6de;background:#fff;color:#182932;font-size:20px;line-height:1;cursor:pointer;border-radius:0}
.dys-form .dys-item-remove:hover{border-color:#ed1926;color:#ed1926}
.dys-form .dys-item-fields{display:flex;gap:10px;margin-top:10px}
.dys-form .dys-item-fields label{flex:1 1 0;display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:#59666e}
.dys-form .dys-item-fields input{padding:9px 12px;font-size:14px}
.dys-form .dys-items-error{margin:0;color:#a50f19;background:#fdecee;padding:10px 14px;font-size:13px}
.dys-form .dys-items-error[hidden],.dys-form .dys-items-empty[hidden],.dys-form .dys-field[hidden]{display:none!important}
/* Botón «Cotizar producto» ya agregado */
.dys-quote-product a.is-added{background:#13703a!important;border-color:#13703a!important;color:#fff!important}
/* Botón flotante con el total */
.dys-quote-pill{position:fixed;left:24px;bottom:24px;z-index:9990;display:flex;align-items:center;gap:10px;padding:12px 18px 12px 12px;background:#182932;color:#fff!important;text-decoration:none!important;font:700 14px Arial,sans-serif;box-shadow:0 10px 24px rgba(16,35,45,.25);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,transform .2s,visibility .2s}
.dys-quote-pill.is-visible{opacity:1;visibility:visible;transform:none}
.dys-quote-pill .dys-pill-count{min-width:28px;height:28px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:#ed1926;color:#fff;font-size:13px}
.dys-quote-pill .dys-pill-go{margin-left:4px;color:#a8b7ff}
.dys-quote-pill:hover{background:#2c4553}
.dys-quote-pill.is-bump{animation:dys-bump .45s ease}
@keyframes dys-bump{0%{transform:scale(1)}40%{transform:scale(1.07)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.dys-quote-pill,.dys-quote-pill.is-bump{transition:none;animation:none}html{scroll-behavior:auto}}
@media (max-width:767px){
  .dys-form .dys-item-fields{flex-direction:column}
  .dys-form .dys-pick-row{flex-direction:column}
  .dys-form .dys-add{padding:13px 20px}
  .dys-quote-pill{left:16px;right:16px;bottom:16px;justify-content:center}
}
.dys-quote-form{scroll-margin-top:20px}

/* ===== v1.6.0 · Animaciones y dinamismo ===== */
:root{--dys-ease:cubic-bezier(.2,.7,.2,1);--dys-red:#ed1926;--dys-shadow:0 18px 36px rgba(16,35,45,.14)}

/* Botones: elevación, brillo que cruza y flecha en movimiento */
.dys-section .elementor-button,.dys-form .dys-submit,.dys-form .dys-add,.dys-nav a:last-child{position:relative;overflow:hidden;transition:transform .25s var(--dys-ease),box-shadow .25s var(--dys-ease),background-color .25s,color .25s,filter .25s}
.dys-section .elementor-button::after,.dys-form .dys-submit::after,.dys-nav a:last-child::after{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transform:skewX(-20deg);transition:left .65s var(--dys-ease);pointer-events:none}
.dys-section .elementor-button:hover,.dys-form .dys-submit:hover,.dys-form .dys-add:hover,.dys-nav a:last-child:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(16,35,45,.22);filter:brightness(1.06)}
.dys-section .elementor-button:hover::after,.dys-form .dys-submit:hover::after,.dys-nav a:last-child:hover::after{left:150%}
.dys-section .elementor-button:active,.dys-form .dys-submit:active,.dys-form .dys-add:active{transform:translateY(-1px);box-shadow:0 4px 10px rgba(16,35,45,.18)}
.dys-section .elementor-button:focus-visible{outline:3px solid #677cff;outline-offset:3px}

/* Íconos de flecha y check */
.dys-arrow{display:inline-block;transition:transform .3s var(--dys-ease)}
a:hover .dys-arrow.is-up-right,button:hover .dys-arrow.is-up-right{transform:translate(3px,-3px)}
a:hover .dys-arrow.is-right{transform:translateX(4px)}
a:hover .dys-arrow.is-down{transform:translateY(3px)}
a:hover .dys-arrow.is-up{transform:translateY(-3px)}
.dys-hero .dys-arrow.is-down{animation:dys-bob 1.8s ease-in-out infinite}
.dys-check{display:inline-block}
.dys-anim .dys-hero .dys-check{animation:dys-pop .5s var(--dys-ease) both;animation-delay:900ms}
.dys-anim .dys-reveal.is-in .dys-check{animation:dys-pop .5s var(--dys-ease) both;animation-delay:calc(var(--dys-d,0ms) + 250ms)}

/* Menú: subrayado animado */
.dys-nav a:not(:last-child){position:relative;transition:color .25s}
.dys-nav a:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--dys-red);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--dys-ease)}
.dys-nav a:not(:last-child):hover::after,.dys-nav a:not(:last-child):focus-visible::after{transform:scaleX(1)}

/* Cabecera fija con sombra y logo que se reduce al bajar */
.dys-section.dys-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:60;transition:box-shadow .3s}
.dys-section.dys-header.is-scrolled{box-shadow:0 6px 20px rgba(16,35,45,.12)}
.dys-header .elementor-widget-image img{transition:width .3s var(--dys-ease)}
@media (min-width:1025px){.dys-header.is-scrolled .elementor-widget-image img{width:155px!important}}
@media (max-width:1024px){.dys-section.dys-header{position:sticky}}
@media (max-width:600px){.admin-bar .dys-section.dys-header{top:0}}
.dys-section[id]{scroll-margin-top:110px}
.dys-quote-form{scroll-margin-top:110px}
@media (max-width:1024px){.dys-section[id],.dys-quote-form{scroll-margin-top:90px}}

/* Tarjetas de producto: elevación, línea roja, zoom de imagen */
.dys-product>.elementor-widget-wrap{position:relative;transition:transform .35s var(--dys-ease),box-shadow .35s var(--dys-ease),border-color .35s}
.dys-product>.elementor-widget-wrap::before,.dys-card-row>.elementor-container>.elementor-column>.elementor-widget-wrap::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--dys-red);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--dys-ease);z-index:3;pointer-events:none}
.dys-product:hover>.elementor-widget-wrap{transform:translateY(-6px);box-shadow:var(--dys-shadow);border-color:#c5cfd6}
.dys-product:hover>.elementor-widget-wrap::before{transform:scaleX(1)}
.dys-product .elementor-widget-image,.dys-card-row .elementor-widget-image{overflow:hidden}
.dys-product .elementor-widget-image img,.dys-card-row .elementor-widget-image img{transition:transform .7s var(--dys-ease)}
.dys-product:hover .elementor-widget-image img{transform:scale(1.07)}
.dys-product .elementor-heading-title{transition:color .25s}
.dys-product:hover .elementor-heading-title{color:var(--dys-red)}
.dys-quote-product a.is-added{animation:dys-pop .4s var(--dys-ease)}

/* Tarjetas de sectores y servicios */
.dys-card-row>.elementor-container>.elementor-column>.elementor-widget-wrap{position:relative;transition:transform .35s var(--dys-ease),box-shadow .35s var(--dys-ease)}
.dys-card-row>.elementor-container>.elementor-column:hover>.elementor-widget-wrap{transform:translateY(-6px);box-shadow:var(--dys-shadow)}
.dys-card-row>.elementor-container>.elementor-column:hover>.elementor-widget-wrap::before{transform:scaleX(1)}
.dys-card-row .elementor-column:hover .elementor-widget-image img{transform:scale(1.06)}
/* Recuadro de urgencia: pulso suave */
.dys-urgent>.elementor-widget-wrap{animation:dys-glow 2.6s ease-in-out infinite}
.dys-urgent:hover>.elementor-widget-wrap{animation:none}

/* Galería: zoom y realce */
.dys-section .gallery-item{overflow:hidden}
.dys-section .gallery-item img{transition:transform .7s var(--dys-ease),filter .4s}
.dys-section .gallery-item:hover img{transform:scale(1.08);filter:brightness(1.06) saturate(1.08)}

/* Enlaces de contacto */
.dys-section .elementor-widget-text-editor a{transition:color .2s}
.dys-section .elementor-widget-text-editor a:hover{color:var(--dys-red)}

/* Entrada al hacer scroll (solo si el navegador lo permite y el visitante no pidió reducir movimiento) */
.dys-anim .dys-reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--dys-ease) var(--dys-d,0ms),transform .75s var(--dys-ease) var(--dys-d,0ms)}
.dys-anim .dys-reveal.is-in{opacity:1;transform:none}
.dys-anim .dys-product.dys-reveal.is-in,.dys-anim .dys-card-row .dys-reveal.is-in{transition-delay:var(--dys-d,0ms),var(--dys-d,0ms)}
/* Portada: entrada escalonada */
.dys-anim .dys-hero .elementor-widget{animation:dys-up .9s var(--dys-ease) both;animation-delay:var(--dys-d,0ms)}

@keyframes dys-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes dys-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.15);opacity:1}100%{transform:scale(1)}}
@keyframes dys-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@keyframes dys-glow{0%,100%{box-shadow:0 0 0 0 rgba(237,25,38,0)}50%{box-shadow:0 0 0 6px rgba(237,25,38,.14)}}

/* Pantallas táctiles: sin elevación pegada tras tocar */
@media (hover:none){
  .dys-product:hover>.elementor-widget-wrap,.dys-card-row>.elementor-container>.elementor-column:hover>.elementor-widget-wrap{transform:none;box-shadow:none}
  .dys-product:hover .elementor-widget-image img,.dys-card-row .elementor-column:hover .elementor-widget-image img,.dys-section .gallery-item:hover img{transform:none}
}
/* Menú móvil: sin subrayado, con desplazamiento suave del texto */
@media (max-width:1024px){
  .dys-nav a:not(:last-child)::after{display:none}
  .dys-nav a:not(:last-child){transition:color .2s,padding-left .25s var(--dys-ease)}
  .dys-nav a:not(:last-child):hover{padding-left:6px}
  .dys-nav.is-open{animation:dys-drop .28s var(--dys-ease)}
}
@keyframes dys-drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* Accesibilidad: respetar «reducir movimiento» */
@media (prefers-reduced-motion:reduce){
  .dys-section *,.dys-section *::before,.dys-section *::after,.dys-quote-pill{animation:none!important;transition:none!important}
  .dys-section .elementor-button:hover,.dys-product:hover>.elementor-widget-wrap,.dys-card-row>.elementor-container>.elementor-column:hover>.elementor-widget-wrap{transform:none}
}

/* ===== v1.6.1 · Protección frente a estilos del tema (Hello Elementor y otros) =====
   Algunos temas aplican a todos los <button>, <input> y <a> un estilo propio (borde rosado,
   esquinas redondeadas, fondo al pasar el mouse). Estas reglas mantienen el diseño D&S. */

/* Botón de menú móvil: oculto en escritorio, visible solo en tablet y móvil */
.dys-section button.dys-nav-toggle{display:none!important}
@media (max-width:1024px){
  .dys-section button.dys-nav-toggle{display:flex!important;align-items:center;justify-content:center;margin:0 0 0 auto;width:48px;height:48px;min-width:0;min-height:0;padding:0;border:1px solid #d6dde2;border-radius:0;background:#fff;color:#182932;box-shadow:none;font-size:0;line-height:1;white-space:normal;text-transform:none}
  .dys-section button.dys-nav-toggle:hover,.dys-section button.dys-nav-toggle:focus,.dys-section button.dys-nav-toggle:active{background:#fff;color:#182932;border-color:#182932;box-shadow:none}
  .dys-section button.dys-nav-toggle:focus-visible{outline:3px solid #677cff;outline-offset:2px}
}
@media (max-width:767px){.dys-section button.dys-nav-toggle{width:44px;height:44px}}

/* Menú: colores propios aunque el tema cambie los enlaces */
.dys-section .dys-nav a,.dys-section .dys-nav a:visited{color:#182932;text-decoration:none}
.dys-section .dys-nav a:not(:last-child):hover,.dys-section .dys-nav a:not(:last-child):focus{color:#ed1926}
.dys-section .dys-nav a:last-child,.dys-section .dys-nav a:last-child:visited,.dys-section .dys-nav a:last-child:hover,.dys-section .dys-nav a:last-child:focus{color:#fff}

/* Filtros y buscador del catálogo */
.dys-section .dys-catalog-tools button{display:inline-block;margin:0;border:1px solid #d6dde2;border-radius:0;background:#fff;color:#182932;padding:10px 18px;font:400 13px/1.2 Arial,sans-serif;text-transform:none;white-space:nowrap;box-shadow:none;transition:background-color .2s,color .2s,border-color .2s}
.dys-section .dys-catalog-tools button:hover,.dys-section .dys-catalog-tools button:focus{background:#f3f5f6;color:#182932;border-color:#182932}
.dys-section .dys-catalog-tools button[aria-pressed=true],.dys-section .dys-catalog-tools button[aria-pressed=true]:hover,.dys-section .dys-catalog-tools button[aria-pressed=true]:focus{background:#182932;color:#fff;border-color:#182932}
.dys-section .dys-catalog-tools input[type=search]{width:240px;max-width:100%;border:1px solid #d6dde2;border-radius:0;padding:10px;font:13px Arial,sans-serif;color:#182932;background:#fff;box-shadow:none}
.dys-section .dys-catalog-tools label{line-height:1.3}
@media (max-width:767px){.dys-section .dys-catalog-tools input[type=search]{width:100%}}

/* Formulario de cotización */
.dys-section .dys-form input[type=text],.dys-section .dys-form input[type=email],.dys-section .dys-form input[type=tel],.dys-section .dys-form select,.dys-section .dys-form textarea{width:100%;height:auto;margin:0;border:1px solid #cdd6de;border-radius:0;padding:12px 14px;font:15px/1.4 Arial,sans-serif;color:#182932;background:#fff;box-shadow:none}
.dys-section .dys-form .dys-item-fields input[type=text]{padding:9px 12px;font-size:14px}
.dys-section .dys-form input:focus,.dys-section .dys-form select:focus,.dys-section .dys-form textarea:focus{border-color:#677cff;outline:3px solid #677cff;outline-offset:1px}
.dys-section .dys-form label{line-height:1.3}
.dys-section .dys-form button.dys-submit{display:inline-block;margin:18px 0 0;border:0;border-radius:0;background:#ed1926;color:#fff;padding:15px 26px;font:700 14px/1.2 Arial,sans-serif;white-space:normal;text-transform:none;box-shadow:none}
.dys-section .dys-form button.dys-submit:hover,.dys-section .dys-form button.dys-submit:focus{background:#c8121d;color:#fff}
.dys-section .dys-form button.dys-add{display:inline-block;margin:0;border:0;border-radius:0;background:#182932;color:#fff;padding:0 20px;font:700 14px/1.2 Arial,sans-serif;white-space:nowrap;text-transform:none;box-shadow:none}
.dys-section .dys-form button.dys-add:hover,.dys-section .dys-form button.dys-add:focus{background:#2c4553;color:#fff}
.dys-section .dys-form button.dys-item-remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:1px solid #cdd6de;border-radius:0;background:#fff;color:#182932;font:400 20px/1 Arial,sans-serif;box-shadow:none}
.dys-section .dys-form button.dys-item-remove:hover,.dys-section .dys-form button.dys-item-remove:focus{background:#fff;color:#ed1926;border-color:#ed1926}
@media (max-width:767px){
  .dys-section .dys-form button.dys-submit{width:100%}
  .dys-section .dys-form button.dys-add{padding:13px 20px}
}

/* Contador flotante y enlaces de contacto */
a.dys-quote-pill,a.dys-quote-pill:visited,a.dys-quote-pill:hover,a.dys-quote-pill:focus{color:#fff;text-decoration:none}

/* ===== v1.7.0 · Títulos alineados a la misma altura ===== */
/* Contenido de las columnas pegado arriba (aunque la sección tenga «Posición del contenido: Medio»). */
.dys-section.dys-align-top>.elementor-container{align-items:stretch}
.dys-section.dys-align-top>.elementor-container>.elementor-column>.elementor-widget-wrap{align-content:flex-start!important;align-items:flex-start!important}
/* Los títulos de cada fila se igualan en altura con JavaScript (escritorio y tablet). */
.dys-equal .elementor-heading-title,.dys-product .elementor-heading-title{box-sizing:content-box}
/* Tablet: las 3 tarjetas de sectores y servicios quedan en una sola fila */
@media (min-width:768px) and (max-width:1024px){
  .dys-section.dys-card-row>.elementor-container{flex-wrap:nowrap}
  .dys-section.dys-card-row>.elementor-container>.elementor-column{width:calc(33.333% - 10px)!important;max-width:calc(33.333% - 10px);flex:0 0 calc(33.333% - 10px)}
}

/* ===== v1.9.0 · Botón flotante de WhatsApp ===== */
a.dys-wa-float,a.dys-wa-float:visited,a.dys-wa-float:hover,a.dys-wa-float:focus{position:fixed;right:24px;bottom:24px;z-index:9991;display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}
.dys-wa-float .dys-wa-icon{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 10px 24px rgba(16,35,45,.28);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background-color .25s}
.dys-wa-float .dys-wa-icon::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;z-index:-1;animation:dys-wa-ring 2.4s ease-out infinite}
.dys-wa-float .dys-wa-icon svg{display:block;width:30px;height:30px}
.dys-wa-float:hover .dys-wa-icon,.dys-wa-float:focus-visible .dys-wa-icon{transform:scale(1.08);background:#1ebe5b;box-shadow:0 14px 30px rgba(16,35,45,.32)}
.dys-wa-float:focus-visible{outline:none}
.dys-wa-float:focus-visible .dys-wa-icon{outline:3px solid #677cff;outline-offset:3px}
.dys-wa-float .dys-wa-label{background:#182932;color:#fff;font:700 13px/1.2 Arial,sans-serif;padding:11px 14px;white-space:nowrap;box-shadow:0 8px 20px rgba(16,35,45,.22);opacity:0;visibility:hidden;transform:translateX(8px);transition:opacity .25s,transform .25s,visibility .25s;pointer-events:none}
.dys-wa-float:hover .dys-wa-label,.dys-wa-float:focus-visible .dys-wa-label,.dys-wa-float.is-intro .dys-wa-label{opacity:1;visibility:visible;transform:none}
@keyframes dys-wa-ring{0%{transform:scale(1);opacity:.45}100%{transform:scale(1.65);opacity:0}}
@media (max-width:767px){
  a.dys-wa-float,a.dys-wa-float:visited,a.dys-wa-float:hover,a.dys-wa-float:focus{right:16px;bottom:16px}
  .dys-wa-float .dys-wa-icon{width:56px;height:56px}
  .dys-wa-float .dys-wa-label{display:none}
  /* El contador de la cotización deja espacio al botón de WhatsApp */
  .dys-quote-pill{right:84px}
}
@media (prefers-reduced-motion:reduce){.dys-wa-float .dys-wa-icon::before{animation:none;opacity:0}.dys-wa-float .dys-wa-icon,.dys-wa-float .dys-wa-label{transition:none}}
@media print{.dys-wa-float,.dys-quote-pill{display:none!important}}
@media (max-width:767px){
  .dys-quote-pill{justify-content:flex-start;padding:10px 14px 10px 10px;font-size:13px;white-space:nowrap}
  .dys-quote-pill .dys-pill-go{display:none}
}
