/* Disset · Asistente de compra (Cajas y contenedores) */
#dsa{--dsa-ink:#141618;--dsa-ink2:#303133;--dsa-mute:#5f6266;--dsa-line:#dfe1e3;--dsa-soft:#f3f4f5;--dsa-ok:#1f7a4a;--dsa-okbg:#e9f5ee;--dsa-err:#b3261e;
	--dsa-px:40px;
	position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;font-family:Roboto,Arial,sans-serif;color:var(--dsa-ink)}
#dsa[hidden]{display:none}
#dsa *,#dsa *::before,#dsa *::after{box-sizing:border-box}
#dsa svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dsa-bg{position:absolute;inset:0;background:rgba(20,22,24,.62);animation:dsa-fade .2s ease}
.dsa-dialog{position:relative;display:flex;flex-direction:column;width:100%;max-width:900px;max-height:calc(100vh - 32px);background:#fff;border-radius:16px;
	box-shadow:0 24px 80px rgba(0,0,0,.35);overflow:hidden;animation:dsa-up .25s ease}
.dsa-top{flex:none;padding:30px var(--dsa-px) 0}
.dsa-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 var(--dsa-px) 32px}
.dsa-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.dsa-step{margin:0;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dsa-ink2)}
.dsa-prev{margin-left:auto;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:8px 10px;font:500 14px Roboto,Arial,sans-serif;color:var(--dsa-ink2);cursor:pointer;border-radius:8px}
.dsa-prev:hover{background:var(--dsa-soft)}
.dsa-prev[hidden]{display:none}
.dsa-prev svg,.dsa-x svg{width:18px;height:18px}
.dsa-x{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--dsa-line);border-radius:50%;background:#fff;color:var(--dsa-ink);cursor:pointer}
.dsa-prev[hidden]+.dsa-x{margin-left:auto}
.dsa-x:hover{border-color:var(--dsa-ink2)}
.dsa-bar{height:4px;background:var(--dsa-soft);border-radius:4px;overflow:hidden;margin-bottom:26px}
.dsa-bar i{display:block;height:100%;width:0;background:var(--dsa-ink2);border-radius:4px;transition:width .3s ease}
.dsa-q{margin:0 0 8px;font:700 30px/1.2 Roboto,Arial,sans-serif;color:var(--dsa-ink);letter-spacing:-.01em;outline:0}
.dsa-sub{margin:0 0 24px;font-size:16px;line-height:1.5;color:var(--dsa-mute)}
/* Opciones */
.dsa-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.dsa-opt{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:22px 22px 20px;background:#fff;border:1.5px solid var(--dsa-line);
	border-radius:12px;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,transform .15s}
.dsa-opt:hover,.dsa-opt:focus-visible{border-color:var(--dsa-ink2);box-shadow:0 6px 18px rgba(20,22,24,.08);outline:0}
.dsa-opt:active{transform:translateY(1px)}
.dsa-opt svg{width:30px;height:30px;margin-bottom:8px;stroke:var(--dsa-ink2);stroke-width:1.6}
.dsa-opt div{display:flex;flex-direction:column;gap:6px}
.dsa-opt b{font-size:18px;font-weight:600;color:var(--dsa-ink);line-height:1.25}
.dsa-opt span{font-size:15px;line-height:1.4;color:var(--dsa-mute)}
.dsa-opt--wide{grid-column:1/-1;flex-direction:row;align-items:center;gap:14px;padding:16px 20px;border-style:dashed}
.dsa-opt--wide svg{margin:0;flex:none}
.dsa-foot{margin:22px 0 0;font-size:14px;color:var(--dsa-mute)}
/* Resultado */
.dsa-res-why{margin:0 0 22px;padding:14px 18px;background:var(--dsa-soft);border-radius:10px;font-size:15px;line-height:1.55;color:var(--dsa-ink2)}
.dsa-res-why ul,.dsa-det ul{margin:6px 0 0;padding-left:18px}
.dsa-res-why li,.dsa-det li{margin:2px 0;list-style:disc}
.dsa-res-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 4px}
.dsa-res-h h3,.dsa-resumen h3{margin:0;font:600 17px Roboto,Arial,sans-serif;color:var(--dsa-ink)}
.dsa-res-h a{font-size:14px;color:var(--dsa-ink2);text-decoration:underline;white-space:nowrap}
.dsa-hint{margin:0 0 14px;font-size:14px;color:var(--dsa-mute)}
.dsa-hint b{color:var(--dsa-ink2)}
.dsa-aprox{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--dsa-ink2)}
.dsa-prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}
.dsa-prod{position:relative;display:flex;flex-direction:column;border:1.5px solid var(--dsa-line);border-radius:12px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
.dsa-prod:hover{box-shadow:0 6px 18px rgba(20,22,24,.07)}
.dsa-prod.is-sel{border-color:var(--dsa-ok);box-shadow:0 0 0 1px var(--dsa-ok)}
.dsa-prod-img{position:relative;display:block;aspect-ratio:4/3;background:var(--dsa-soft);cursor:pointer}
.dsa-prod-img img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply;padding:10px}
.dsa-prod-badge{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:var(--dsa-ok);color:#fff;display:flex;align-items:center;justify-content:center;
	transform:scale(0);transition:transform .18s cubic-bezier(.3,1.6,.6,1)}
.dsa-prod-badge svg{width:17px;height:17px;stroke-width:2.6}
.dsa-prod.is-sel .dsa-prod-badge{transform:scale(1)}
.dsa-prod-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;flex:1}
.dsa-prod-n{margin:0;font-size:15px;font-weight:500;line-height:1.3;color:var(--dsa-ink)}
.dsa-prod-ficha{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:13px;color:var(--dsa-mute);text-decoration:underline;text-underline-offset:2px}
.dsa-prod-ficha:hover{color:var(--dsa-ink)}
.dsa-prod-ficha svg{width:13px;height:13px}
.dsa-pick{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;padding:0 14px;border-radius:120px;
	border:1.5px solid var(--dsa-ink2);background:#fff;color:var(--dsa-ink2);font:700 13px Roboto,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
	transition:background .15s,color .15s,border-color .15s}
.dsa-prod-body .dsa-pick{margin-top:auto}
.dsa-prod-ficha+.dsa-pick{margin-top:10px}
.dsa-pick svg{width:18px;height:18px;stroke-width:2.4}
.dsa-pick:hover{background:var(--dsa-ink2);color:#fff}
.dsa-pick:focus-visible{outline:3px solid rgba(48,49,51,.35);outline-offset:2px}
.dsa-pick[aria-pressed="true"]{background:var(--dsa-ok);border-color:var(--dsa-ok);color:#fff}
.dsa-pick[aria-pressed="true"]:hover{background:#17613a;border-color:#17613a}
.dsa-skel{aspect-ratio:4/5;border-radius:12px;background:linear-gradient(90deg,var(--dsa-soft) 25%,#eceef0 50%,var(--dsa-soft) 75%);background-size:200% 100%;animation:dsa-shim 1.2s infinite}
.dsa-empty{grid-column:1/-1;margin:0;font-size:15px;color:var(--dsa-mute)}
.dsa-alt{margin:4px 0 0;font-size:14px;color:var(--dsa-mute)}
.dsa-alt a,.dsa-nota a{color:var(--dsa-ink2);text-decoration:underline}
.dsa-link{background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--dsa-ink2);text-decoration:underline;cursor:pointer}
/* Barra inferior */
.dsa-dock{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--dsa-px);border-top:1px solid var(--dsa-line);background:#fff}
.dsa-dock[hidden]{display:none}
.dsa-dock-txt{margin:0;display:flex;flex-direction:column;gap:2px;min-width:0}
.dsa-dock-txt b{font-size:15px;color:var(--dsa-ink)}
.dsa-dock-txt span{font-size:13px;color:var(--dsa-mute)}
.dsa-dock.has-sel .dsa-dock-txt b{color:var(--dsa-ok)}
/* Botones */
.dsa-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px}
.dsa-cta--c{justify-content:center;margin:24px 0 0}
.dsa-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;border-radius:120px;border:1.5px solid var(--dsa-ink2);
	font:700 14px Roboto,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}
.dsa-btn svg{width:18px;height:18px}
.dsa-btn--pri{background:var(--dsa-ink2);color:#fff}
.dsa-btn--pri:hover{background:var(--dsa-ink);color:#fff}
.dsa-btn--sec{background:#fff;color:var(--dsa-ink2)}
.dsa-btn--sec:hover{background:var(--dsa-soft);color:var(--dsa-ink)}
.dsa-btn[disabled]{opacity:.7;cursor:progress}
.dsa-btn.is-loading svg{display:none}
.dsa-btn.is-loading::after{content:"";width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:dsa-spin .7s linear infinite}
.dsa-nota{margin:14px 0 0;font-size:13px;color:var(--dsa-mute)}
/* Resumen y formulario */
.dsa-resumen{margin:0 0 22px;padding:16px 18px;border:1px solid var(--dsa-line);border-radius:12px;background:var(--dsa-soft)}
.dsa-sel-list{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.dsa-sel-list li{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 8px;background:#fff;border-radius:10px;list-style:none}
.dsa-sel-list img,.dsa-noimg{width:48px;height:48px;flex:none;object-fit:contain;border-radius:8px;background:var(--dsa-soft);mix-blend-mode:multiply}
.dsa-sel-n{flex:1;font-size:15px;font-weight:500;line-height:1.3}
.dsa-sel-none{flex-direction:column;align-items:flex-start !important;gap:2px !important;padding:12px 14px !important}
.dsa-sel-none b{font-size:15px}
.dsa-sel-none span{font-size:13px;color:var(--dsa-mute)}
.dsa-sel-x{width:36px;height:36px;flex:none;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:var(--dsa-mute);cursor:pointer}
.dsa-sel-x:hover{background:var(--dsa-soft);color:var(--dsa-err)}
.dsa-sel-x svg{width:16px;height:16px}
.dsa-det{margin:12px 0 0;font-size:14px;color:var(--dsa-ink2)}
.dsa-det summary{cursor:pointer;font-weight:500}
.dsa-resumen>.dsa-link{margin-top:12px;display:inline-block}
.dsa-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.dsa-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.dsa-f--full{grid-column:1/-1}
.dsa-f label{font-size:14px;font-weight:500;color:var(--dsa-ink)}
.dsa-f label small{font-weight:400;color:var(--dsa-mute)}
#dsa abbr{text-decoration:none;color:var(--dsa-err)}
.dsa-f input,.dsa-f select,.dsa-f textarea{width:100%;min-height:48px;margin:0;padding:12px 14px;border:1.5px solid var(--dsa-line);border-radius:10px;background:#fff;
	font:400 16px Roboto,Arial,sans-serif;color:var(--dsa-ink);box-shadow:none;transition:border-color .15s}
.dsa-f textarea{min-height:90px;resize:vertical;line-height:1.45}
.dsa-f input:focus,.dsa-f select:focus,.dsa-f textarea:focus{outline:0;border-color:var(--dsa-ink2);box-shadow:0 0 0 3px rgba(48,49,51,.12)}
.dsa-f [aria-invalid="true"]{border-color:var(--dsa-err)}
.dsa-err{margin:2px 0 0;font-size:13px;color:var(--dsa-err)}
.dsa-err[hidden]{display:none}
.dsa-checks{margin:20px 0 0;display:flex;flex-direction:column;gap:10px}
.dsa-chk{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;color:var(--dsa-ink2);cursor:pointer}
.dsa-chk input{position:static !important;opacity:1 !important;-webkit-appearance:checkbox !important;appearance:auto !important;width:20px !important;height:20px !important;
	flex:none;margin:0 !important;accent-color:var(--dsa-ink2);cursor:pointer}
.dsa-chk a{color:var(--dsa-ink2);text-decoration:underline}
.dsa-chk input[aria-invalid="true"]{outline:2px solid var(--dsa-err);outline-offset:2px}
.dsa-fallo{margin:18px 0 0;padding:14px 16px;border-radius:10px;background:#fdecea;color:#5f1611;font-size:14px;line-height:1.5}
.dsa-fallo[hidden]{display:none}
.dsa-fallo a{color:inherit;text-decoration:underline}
.dsa-send{margin-top:22px;min-width:240px}
/* Enviado */
.dsa-ok{text-align:center;padding-top:6px}
.dsa-ok-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:16px;border-radius:50%;background:var(--dsa-okbg);color:var(--dsa-ok);animation:dsa-pop .35s cubic-bezier(.3,1.6,.6,1)}
.dsa-ok-ico svg{width:32px;height:32px;stroke-width:2.6}
.dsa-ok .dsa-sub{max-width:560px;margin-left:auto;margin-right:auto}
.dsa-ok .dsa-resumen{text-align:left;max-width:560px;margin:0 auto}
.dsa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Disparadores */
.dsa-hero-btn{display:inline-flex;align-items:center;gap:10px;margin-top:22px;min-height:50px;padding:0 28px;border-radius:120px;background:#fff;color:#141618 !important;
	font:700 14px Roboto,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none !important;box-shadow:0 6px 20px rgba(0,0,0,.18);transition:transform .15s}
.dsa-hero-btn:hover{transform:translateY(-1px)}
.dsa-hero-btn svg,.dsa-fab svg{width:20px!important;height:20px!important;min-width:20px;max-width:20px;min-height:20px;max-height:20px;flex:0 0 20px;display:block;fill:none!important;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dsa-fab{position:fixed;right:20px;bottom:20px;z-index:9990;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 22px;border-radius:120px;background:#303133;color:#fff !important;
	font:700 14px Roboto,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-decoration:none !important;box-shadow:0 10px 28px rgba(0,0,0,.28);transition:transform .2s,opacity .2s}
.dsa-fab:hover{background:#141618}
body.dsa-open .dsa-fab{opacity:0;pointer-events:none}
body.dsa-open{overflow:hidden}
@keyframes dsa-fade{from{opacity:0}}
@keyframes dsa-up{from{opacity:0;transform:translateY(12px)}}
@keyframes dsa-shim{to{background-position:-200% 0}}
@keyframes dsa-spin{to{transform:rotate(360deg)}}
@keyframes dsa-pop{from{transform:scale(.4);opacity:0}}
@media (max-width:760px){
	#dsa{--dsa-px:18px;padding:0;align-items:flex-end}
	.dsa-dialog{max-height:94vh;border-radius:16px 16px 0 0}
	.dsa-top{padding-top:20px}
	.dsa-body{padding-bottom:22px}
	.dsa-q{font-size:23px}
	.dsa-sub{font-size:15px;margin-bottom:20px}
	.dsa-opts{grid-template-columns:1fr;gap:10px}
	.dsa-opt{flex-direction:row;align-items:center;gap:14px;padding:14px 16px}
	.dsa-opt svg{margin:0;width:26px;height:26px;flex:none}
	.dsa-opt b{font-size:16px}
	.dsa-opt span{font-size:14px}
	.dsa-opt div{gap:2px}
	.dsa-prods{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
	.dsa-prod-body{padding:10px 10px 12px}
	.dsa-prod-n{font-size:14px}
	.dsa-pick{min-height:42px;font-size:12px;padding:0 8px}
	.dsa-dock{padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
	.dsa-dock-txt span{display:none}
	.dsa-dock .dsa-btn{padding:0 20px;min-height:48px}
	.dsa-fgrid{grid-template-columns:1fr}
	.dsa-btn,.dsa-send{width:100%}
	.dsa-dock .dsa-btn{width:auto}
	.dsa-fab{right:12px;bottom:12px;padding:0 18px;min-height:48px}
}
@media (prefers-reduced-motion:reduce){#dsa *,.dsa-fab,.dsa-hero-btn{animation:none !important;transition:none !important}}
/* El tema impone su estilo a los botones de formulario: se blindan los del asistente. */
#dsa .dsa-btn{border-radius:120px !important;min-height:50px !important;padding:0 28px !important;border:1.5px solid var(--dsa-ink2) !important;
	font:700 14px/1 Roboto,Arial,sans-serif !important;letter-spacing:.06em !important;text-transform:uppercase !important;box-shadow:none !important;
	display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:10px !important;height:auto !important;margin-bottom:0 !important}
#dsa .dsa-btn--pri{background:var(--dsa-ink2) !important;color:#fff !important}
#dsa .dsa-btn--pri:hover{background:var(--dsa-ink) !important}
#dsa .dsa-btn--sec{background:#fff !important;color:var(--dsa-ink2) !important}
#dsa .dsa-btn--sec:hover{background:var(--dsa-soft) !important}
#dsa .dsa-pick{border-radius:120px !important;font:700 13px/1 Roboto,Arial,sans-serif !important;letter-spacing:.06em !important;text-transform:uppercase !important;box-shadow:none !important;height:auto !important}
#dsa .dsa-send{margin-top:22px !important}
@media (max-width:760px){#dsa .dsa-send{width:100% !important}#dsa .dsa-dock .dsa-btn{padding:0 20px !important;min-height:48px !important}}

/* ===== v1.3.0 · Azul de marca y estilo técnico-industrial =====
   Bloque de sobrescritura: borrándolo, el asistente vuelve al estilo anterior. */
#dsa{--dsa-azul:#122858;--dsa-azul2:#0b1a3a;--dsa-azulbg:#eef1f7;--dsa-foco:#5b7fc4}
#dsa svg{stroke-width:1.5}
#dsa :focus-visible{outline:2px solid var(--dsa-foco);outline-offset:2px}
#dsa .dsa-dialog{border-radius:6px;border-top:4px solid var(--dsa-azul)}
#dsa .dsa-step{color:var(--dsa-azul);font-size:12px;letter-spacing:.18em;font-variant-numeric:tabular-nums}
#dsa .dsa-bar{height:3px;border-radius:0}
#dsa .dsa-bar i{background:var(--dsa-azul);border-radius:0}
#dsa .dsa-x{border-radius:4px}
#dsa .dsa-x:hover{border-color:var(--dsa-azul);color:var(--dsa-azul)}
#dsa .dsa-prev:hover{color:var(--dsa-azul)}
#dsa .dsa-opt{border-width:1px;border-radius:4px;transition:border-color .15s,box-shadow .15s,background-color .15s}
#dsa .dsa-opt svg{width:46px;height:46px;padding:7px;margin-bottom:10px;border-radius:4px;background:var(--dsa-azulbg);stroke:var(--dsa-azul);stroke-width:1.25}
#dsa .dsa-opt--wide svg{margin:0}
#dsa .dsa-opt:hover,#dsa .dsa-opt:focus-visible{border-color:var(--dsa-azul);box-shadow:0 0 0 1px var(--dsa-azul);background:#fff}
#dsa .dsa-opt:hover svg,#dsa .dsa-opt:focus-visible svg{background:var(--dsa-azul);stroke:#fff}
#dsa .dsa-prod{border-width:1px;border-radius:4px}
#dsa .dsa-pick{border-radius:4px !important;border-color:var(--dsa-azul) !important;color:var(--dsa-azul) !important}
#dsa .dsa-pick:not([aria-pressed="true"]):hover{background:var(--dsa-azul) !important;border-color:var(--dsa-azul) !important;color:#fff !important}
#dsa .dsa-pick[aria-pressed="true"]{background:var(--dsa-ok) !important;border-color:var(--dsa-ok) !important;color:#fff !important}
#dsa .dsa-pick[aria-pressed="true"]:hover{background:#17613a !important;border-color:#17613a !important}
#dsa .dsa-res-why{border-radius:4px;border-left:3px solid var(--dsa-azul)}
#dsa .dsa-pick svg{stroke-width:1.75}
#dsa .dsa-btn{border-radius:4px !important;border-color:var(--dsa-azul) !important}
#dsa .dsa-btn:not(.dsa-btn--pri){color:var(--dsa-azul) !important}
#dsa .dsa-btn--pri{background:var(--dsa-azul) !important;color:#fff !important}
#dsa .dsa-btn--pri:hover{background:var(--dsa-azul2) !important;border-color:var(--dsa-azul2) !important}
#dsa .dsa-f input,#dsa .dsa-f select,#dsa .dsa-f textarea{border-radius:4px}
#dsa .dsa-f input:focus,#dsa .dsa-f select:focus,#dsa .dsa-f textarea:focus{border-color:var(--dsa-azul);box-shadow:0 0 0 3px rgba(18,40,88,.12)}
.dsa-fab{background:#122858 !important;border-radius:4px !important}
.dsa-fab:hover{background:#0b1a3a !important}
.dsa-fab svg{stroke-width:1.5}

/* v1.3.2 · Disparadores sin icono; tarjetas de resultado sin «Ver ficha» y con nombre en una línea */
body .dsa-hero-btn svg,body .dsa-fab svg{display:none !important}
#dsa .dsa-prod-ficha{display:none !important}
#dsa .dsa-prod-body{min-width:0}
#dsa .dsa-prod-n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:12px}
