/* Módulos S.A. · Adicionales (portada, guía y páginas de producto)
   Todo va bajo .adx para no tocar el resto del sitio.  Convive con main.css (regla universal *{color;font-weight;font-family})
   y con Bootstrap 4: por eso cada bloque restablece color, tipografía y márgenes antes de definir sus componentes.
   Código de color: magenta = lo que agrega el adicional y las llamadas a la acción · azul oscuro = el módulo de serie y el texto ·
   crema = territorio de los adicionales · gris = dato técnico o equipamiento de serie. */
.adx{
  --adx-mag:#EB0045; --adx-magd:#C8003B; --adx-teal:#00373D; --adx-cream:#FFF0E4; --adx-cream2:#FFF8F2; --adx-panel:#F5F5F5;
  --adx-line:#D9E1E2; --adx-t80:#335F64; --adx-t70:#4D7377; --adx-t40:#99AFB1; --adx-t15:#D9E1E2; --adx-tec:#E6EBEC;
  --adx-r:12px; --adx-r2:8px; --adx-sh:0 1px 2px rgba(0,55,61,.06),0 8px 24px rgba(0,55,61,.06);
  --adx-sg:"Space Grotesk",Arial,sans-serif; --adx-rc:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
  font-family:var(--adx-rc); font-size:16px; font-weight:400; line-height:1.45; color:var(--adx-teal);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility;
}
.adx *, .adx *::before, .adx *::after{ box-sizing:border-box; color:inherit; font-family:inherit; font-weight:inherit }
.adx h1, .adx h2, .adx h3, .adx h4, .adx h5, .adx p, .adx ul, .adx ol, .adx figure, .adx dl, .adx dd{ margin:0; padding:0 }
.adx ul, .adx ol{ list-style:none }
.adx b, .adx strong{ font-weight:700 }
.adx a{ color:inherit }
.adx a:hover{ color:inherit }
.adx img{ max-width:100%; height:auto; display:block; border:0 }
.adx button{ font:inherit; color:inherit; background:none; border:0; padding:0; margin:0; cursor:pointer; -webkit-appearance:none; appearance:none; text-align:inherit }
.adx :focus-visible{ outline:3px solid rgba(235,0,69,.45); outline-offset:3px; border-radius:6px }
.adx .adx-nb{ white-space:nowrap }
.adx [hidden]{ display:none!important }

/* ---------- íconos ---------- */
.adx-ico{ width:24px; height:24px; flex:0 0 auto; display:inline-block; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; overflow:visible }
.adx-sprite symbol{ overflow:visible }

/* ---------- títulos ---------- */
.adx .adx-kick{ display:flex; align-items:center; gap:10px; font-family:var(--adx-sg); font-weight:700; font-size:14px; line-height:1; color:var(--adx-mag); margin:0 0 14px }
.adx .adx-kick svg{ width:40px; height:13px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round }
.adx .adx-h2{ font-family:var(--adx-sg); font-weight:700; font-size:30px; line-height:1.08; letter-spacing:-.015em; color:var(--adx-teal); text-wrap:balance }
.adx .adx-h2 em{ font-style:normal; color:var(--adx-mag) }
.adx .adx-h3{ font-family:var(--adx-sg); font-weight:700; font-size:22px; line-height:1.15; letter-spacing:-.01em; text-wrap:balance }
.adx .adx-lead{ font-family:var(--adx-rc); font-weight:300; font-size:18px; line-height:1.45; color:var(--adx-t80); text-wrap:pretty }
.adx .adx-sub{ font-size:16px; line-height:1.45; color:var(--adx-t80); margin-top:6px; text-wrap:pretty }

/* ---------- botones y enlaces ---------- */
.adx .adx-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 26px; border-radius:999px; border:1.5px solid transparent;
  font-family:var(--adx-sg); font-weight:700; font-size:15px; line-height:1.1; letter-spacing:.01em; text-align:center; cursor:pointer;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease }
.adx .adx-btn .adx-ico{ width:20px; height:20px }
.adx .adx-btn--pri{ background:var(--adx-mag); color:#fff }
.adx .adx-btn--pri:hover{ background:var(--adx-magd); color:#fff }
.adx .adx-btn--sec{ border-color:var(--adx-teal); color:var(--adx-teal) }
.adx .adx-btn--sec:hover{ background:rgba(0,55,61,.08) }
.adx .adx-btn--w{ background:#fff; color:var(--adx-teal) }
.adx .adx-btn--w:hover{ background:#F1E9E4; color:var(--adx-teal) }
.adx .adx-btn--ow{ border-color:rgba(255,255,255,.9); color:#fff }
.adx .adx-btn--ow:hover{ background:rgba(255,255,255,.14); color:#fff }
.adx .adx-link{ display:inline-flex; align-items:center; gap:6px; font-family:var(--adx-sg); font-weight:700; font-size:14px; line-height:1.2; color:var(--adx-mag); position:relative }
.adx .adx-link::after, .adx .adx-cta_gl::after{ content:""; position:absolute; left:-6px; right:-6px; top:-12px; bottom:-12px }
.adx .adx-link .adx-ico{ width:15px; height:15px; stroke-width:4; transition:transform .2s ease }
.adx .adx-link:hover{ color:var(--adx-magd) }
.adx .adx-link:hover .adx-ico{ transform:translateX(3px) }

/* ---------- píldoras, chips y requisitos ---------- */
.adx .adx-pill{ display:inline-flex; align-items:center; font-family:var(--adx-sg); font-weight:700; font-size:12px; line-height:1; padding:6px 10px 5px; border-radius:999px; background:var(--adx-teal); color:#fff; white-space:nowrap }
.adx .adx-pill--m{ background:var(--adx-mag) }
.adx .adx-pill--o{ background:transparent; color:var(--adx-teal); box-shadow:inset 0 0 0 1.5px var(--adx-teal) }
.adx .adx-reqs{ display:flex; flex-wrap:wrap; gap:8px }
.adx .adx-req{ display:inline-flex; align-items:center; gap:7px; font-family:var(--adx-sg); font-weight:500; font-size:13px; line-height:1.2; padding:7px 12px 6px 9px; border-radius:999px; background:var(--adx-panel); color:var(--adx-teal) }
.adx .adx-req .adx-ico{ width:17px; height:17px; stroke-width:3 }
.adx .adx-req--ok{ background:#E9F3EC; color:#0B5A33 }
.adx .adx-req--req .adx-ico{ color:var(--adx-mag) }

/* =====================================================================  SECCIÓN DE PRODUCTO  */
.adx-prod{ background:var(--adx-cream); padding:64px 0 72px; position:relative }
@media (max-width:764px){ .adx-prod > .container{ padding-left:1.25rem; padding-right:1.25rem } }
.adx-head{ display:grid; gap:18px }
.adx-head .adx-lead{ max-width:34em }

/* --- de serie --- */
.adx-serie{ margin-top:32px; background:var(--adx-teal); border-radius:var(--adx-r); padding:20px 22px; display:grid; gap:16px }
.adx .adx-serie_t{ font-family:var(--adx-sg); font-weight:700; font-size:15px; line-height:1.15; color:#fff }
.adx .adx-serie_t small{ display:block; font-family:var(--adx-rc); font-weight:300; font-size:14px; line-height:1.3; margin-top:4px; color:rgba(255,255,255,.82) }
.adx .adx-serie_l{ display:grid; gap:12px 20px; grid-template-columns:1fr }
.adx .adx-serie_l li{ display:flex; gap:10px; align-items:flex-start; font-size:15px; line-height:1.3; color:#fff }
.adx .adx-serie_l .adx-ico{ width:22px; height:22px; margin-top:-1px; color:#fff; opacity:.92 }

/* --- configuraciones tipo --- */
.adx-presets{ margin-top:44px }
.adx .adx-presets_l{ margin-top:18px; display:grid; gap:14px; grid-template-columns:1fr }
.adx .adx-preset{ background:#fff; border-radius:var(--adx-r); padding:20px 20px 18px; display:flex; flex-direction:column; border:1.5px solid transparent; box-shadow:var(--adx-sh); transition:border-color .2s ease, transform .2s ease }
.adx .adx-preset.is-on{ border-color:var(--adx-mag) }
.adx .adx-preset_c{ font-family:var(--adx-sg); font-weight:700; font-size:12.5px; line-height:1.2; color:var(--adx-mag) }
.adx .adx-preset_t{ font-family:var(--adx-sg); font-weight:700; font-size:19px; line-height:1.15; margin-top:6px; text-wrap:balance }
.adx .adx-preset_i{ margin-top:14px; display:grid; gap:9px }
.adx .adx-preset_i li{ display:flex; align-items:center; gap:10px; font-size:15.5px; line-height:1.25 }
.adx .adx-preset_i .adx-ico{ width:24px; height:24px; color:var(--adx-mag) }
.adx .adx-preset_n{ margin-top:12px; padding-top:12px; border-top:1px solid var(--adx-t15); font-size:14.5px; line-height:1.35; color:var(--adx-t70); flex:1 }
.adx button.adx-preset_b{ display:none; margin-top:14px; align-self:flex-start; align-items:center; gap:8px; min-height:40px; padding:9px 16px 8px; border-radius:999px!important; border:1.5px solid var(--adx-teal);
  font-family:var(--adx-sg); font-weight:700; font-size:13.5px; line-height:1.1; transition:background-color .2s ease, color .2s ease, border-color .2s ease }
.adx button.adx-preset_b .adx-ico{ width:16px; height:16px; stroke-width:4 }
.adx button.adx-preset_b:hover{ background:rgba(0,55,61,.08) }
.adx .adx-preset.is-on button.adx-preset_b{ background:var(--adx-mag); border-color:var(--adx-mag); color:#fff }
.adx .adx-preset_b .adx-on, .adx .adx-preset.is-on .adx-preset_b .adx-off{ display:none }
.adx .adx-preset.is-on .adx-preset_b .adx-on{ display:inline-flex; align-items:center; gap:8px }
.adx .adx-preset_b .adx-off{ display:inline-flex; align-items:center; gap:8px }
.adx-js button.adx-preset_b{ display:inline-flex }

/* --- familias y tarjetas --- */
.adx-fam{ margin-top:48px }
.adx .adx-fam_h{ display:grid; grid-template-columns:auto 1fr; column-gap:14px; align-items:center; padding-bottom:16px; border-bottom:1.5px solid rgba(0,55,61,.16) }
.adx .adx-fam_n{ grid-row:1 / span 2; width:44px; height:44px; border-radius:50%; background:var(--adx-mag); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--adx-sg); font-weight:700; font-size:20px; line-height:1 }
.adx .adx-fam_t{ font-family:var(--adx-sg); font-weight:700; font-size:22px; line-height:1.1; letter-spacing:-.01em }
.adx .adx-fam_q{ font-family:var(--adx-rc); font-weight:300; font-size:16.5px; line-height:1.3; color:var(--adx-t80) }
.adx .adx-cards{ margin-top:20px; display:grid; gap:16px; grid-template-columns:1fr }
.adx .adx-card{ background:#fff; border-radius:var(--adx-r); overflow:hidden; display:flex; flex-direction:column; border:1.5px solid transparent; box-shadow:var(--adx-sh); transition:border-color .2s ease; scroll-margin-top:110px }
.adx .adx-card.is-on{ border-color:var(--adx-mag) }
.adx .adx-card_fig{ background:var(--adx-cream2); border-bottom:1px solid rgba(0,55,61,.07); position:relative; display:flex; flex-direction:column }
.adx .adx-card_figin{ padding:30px 16px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:170px; flex:1; position:relative }
.adx .adx-card_ref{ position:absolute; right:12px; top:9px; font-family:var(--adx-rc); font-size:12px; line-height:1; color:var(--adx-t70) }
.adx button.adx-figbtn{ display:none; width:100%; align-items:center; gap:9px; padding:12px 16px 11px 20px; font-family:var(--adx-sg); font-weight:700; font-size:13.5px; line-height:1.2; color:var(--adx-teal) }
.adx button.adx-figbtn .adx-ico{ width:19px; height:19px; stroke-width:3; color:var(--adx-mag) }
.adx button.adx-figbtn span{ flex:1 }
.adx button.adx-figbtn .adx-ico:last-child{ width:15px; height:15px; stroke-width:4.5; transition:transform .2s ease }
.adx .adx-card.is-fig button.adx-figbtn .adx-ico:last-child{ transform:rotate(180deg) }
.adx .adx-card_body{ padding:20px 20px 18px; display:flex; flex-direction:column; flex:1 }
.adx .adx-card_h{ display:grid; grid-template-columns:auto 1fr; gap:12px 14px; align-items:center }
.adx .adx-badge{ width:46px; height:46px; border-radius:50%; background:var(--adx-mag); color:#fff; display:flex; align-items:center; justify-content:center }
.adx .adx-badge .adx-ico{ width:27px; height:27px; stroke-width:2.5 }
.adx .adx-card_t{ font-family:var(--adx-sg); font-weight:700; font-size:20px; line-height:1.12; letter-spacing:-.01em; text-wrap:balance }
.adx .adx-card_fg{ font-family:var(--adx-sg); font-weight:700; font-size:14px; line-height:1; color:var(--adx-mag); margin-top:5px; white-space:nowrap }
.adx .adx-card_fg b{ font-size:22px; letter-spacing:-.01em }
.adx .adx-card_tag{ font-family:var(--adx-sg); font-weight:500; font-size:16px; line-height:1.25; color:var(--adx-mag); margin-top:14px; text-wrap:balance }
.adx .adx-card_p{ font-size:16px; line-height:1.45; color:var(--adx-t80); margin-top:8px; text-wrap:pretty }
.adx .adx-card .adx-reqs{ margin-top:14px }
.adx .adx-more{ margin-top:14px; border-top:1px solid var(--adx-t15) }
.adx .adx-more > summary{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; padding:12px 0 11px; font-family:var(--adx-sg); font-weight:700; font-size:14px; line-height:1.2; color:var(--adx-teal) }
.adx .adx-more > summary::-webkit-details-marker{ display:none }
.adx .adx-more > summary .adx-ico{ width:16px; height:16px; stroke-width:4; transition:transform .2s ease; color:var(--adx-mag) }
.adx .adx-more[open] > summary .adx-ico{ transform:rotate(180deg) }
.adx .adx-more_in{ padding:0 0 14px }
.adx .adx-li{ display:grid; gap:7px }
.adx .adx-li li{ position:relative; padding-left:18px; font-size:15.5px; line-height:1.38; color:var(--adx-t80) }
.adx .adx-li li::before{ content:""; position:absolute; left:0; top:.5em; width:7px; height:7px; border-radius:2px; background:var(--adx-mag) }
.adx .adx-li--n{ counter-reset:adxn }
.adx .adx-li--n li{ padding-left:30px; counter-increment:adxn }
.adx .adx-li--n li::before{ content:counter(adxn); top:0; width:21px; height:21px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--adx-sg); font-weight:700; font-size:12px; line-height:1 }
.adx .adx-notes{ margin-top:12px; display:grid; gap:8px }
.adx .adx-note{ display:flex; gap:9px; align-items:flex-start; font-size:14.5px; line-height:1.38; color:var(--adx-t70) }
.adx .adx-note .adx-ico{ width:17px; height:17px; margin-top:1px; color:var(--adx-t70); stroke-width:3 }
.adx .adx-card_f{ margin-top:auto; padding-top:16px; display:flex; align-items:center; justify-content:space-between; gap:12px 16px; flex-wrap:wrap }
.adx button.adx-add{ display:none; align-items:center; gap:8px; min-height:42px; padding:9px 16px 8px 13px; border-radius:999px!important; border:1.5px solid var(--adx-teal); font-family:var(--adx-sg); font-weight:700; font-size:13.5px; line-height:1.1;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease }
.adx button.adx-add .adx-ico{ width:16px; height:16px; stroke-width:4.5 }
.adx button.adx-add:hover{ background:rgba(0,55,61,.08) }
.adx button.adx-add[aria-pressed="true"]{ background:var(--adx-mag); border-color:var(--adx-mag); color:#fff }
.adx .adx-add .adx-on, .adx .adx-add[aria-pressed="true"] .adx-off{ display:none }
.adx .adx-add .adx-off, .adx .adx-add[aria-pressed="true"] .adx-on{ display:inline-flex; align-items:center; gap:8px }
.adx-js button.adx-add{ display:inline-flex }

/* --- figuras: flujos --- */
.adx .adx-flow{ width:100%; max-width:390px; margin:0 auto; display:flex; flex-direction:column; align-items:center }
.adx .adx-flow_src{ display:flex; align-items:flex-start; justify-content:center; width:100% }
.adx .adx-node{ display:flex; flex-direction:column; align-items:center; gap:7px; flex:0 1 84px; min-width:0; text-align:center }
.adx .adx-node_c{ width:54px; height:54px; border-radius:50%; background:#fff; border:1.5px solid var(--adx-teal); display:flex; align-items:center; justify-content:center; color:var(--adx-teal) }
.adx .adx-node_c .adx-ico{ width:30px; height:30px; stroke-width:2.5 }
.adx .adx-node--acc .adx-node_c{ border-color:var(--adx-mag); color:var(--adx-mag); box-shadow:0 0 0 4px rgba(235,0,69,.08) }
.adx .adx-node_l{ font-family:var(--adx-sg); font-weight:500; font-size:12.5px; line-height:1.2; color:var(--adx-teal); text-wrap:balance }
.adx .adx-flow_ar{ flex:1 1 14px; min-width:12px; max-width:46px; height:54px; display:flex; align-items:center }
.adx .adx-flow_ar span{ display:block; width:100%; height:2px; position:relative; background-image:linear-gradient(90deg,var(--adx-mag) 60%,transparent 60%); background-size:8px 2px; animation:adx-run 1s linear infinite }
.adx .adx-flow_ar span::after{ content:""; position:absolute; right:-1px; top:-4px; width:10px; height:10px; border-top:2px solid var(--adx-mag); border-right:2px solid var(--adx-mag); transform:rotate(45deg) }
.adx .adx-flow_down{ width:2px; height:28px; position:relative; margin-top:8px; background-image:linear-gradient(180deg,var(--adx-mag) 60%,transparent 60%); background-size:2px 8px; animation:adx-rund 1s linear infinite }
.adx .adx-flow_down--tag{ height:38px }
.adx .adx-flow_tag{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:var(--adx-mag); color:#fff; font-family:var(--adx-sg); font-weight:700; font-size:11px; line-height:1; padding:4px 8px 3px; border-radius:999px; white-space:nowrap }
.adx .adx-flow_out{ display:grid; grid-template-columns:repeat(3,1fr); width:100%; position:relative; padding-top:18px }
.adx .adx-flow_out--n2{ grid-template-columns:repeat(2,1fr); max-width:270px }
.adx .adx-flow_out--n4{ grid-template-columns:repeat(4,1fr) }
.adx .adx-flow_out::before{ content:""; position:absolute; top:0; left:16.666%; right:16.666%; height:2px; background:var(--adx-mag) }
.adx .adx-flow_out--n2::before{ left:25%; right:25% }
.adx .adx-flow_out--n4::before{ left:12.5%; right:12.5% }
.adx .adx-flow_out .adx-node{ width:auto; position:relative; padding:0 2px }
.adx .adx-flow_out .adx-node::before{ content:""; position:absolute; top:-18px; left:50%; margin-left:-1px; width:2px; height:13px; background:var(--adx-mag) }
.adx .adx-flow_out .adx-node::after{ content:""; position:absolute; top:-10px; left:50%; margin-left:-4.5px; width:9px; height:9px; border-bottom:2px solid var(--adx-mag); border-right:2px solid var(--adx-mag); transform:rotate(45deg) }
.adx .adx-node--sm .adx-node_c{ width:48px; height:48px }
.adx .adx-node--sm .adx-node_c .adx-ico{ width:27px; height:27px }
.adx .adx-flow--lineal .adx-node{ flex-basis:72px }
.adx .adx-flow--lineal .adx-flow_ar span{ background-image:linear-gradient(90deg,var(--adx-teal) 60%,transparent 60%) }
.adx .adx-flow--lineal .adx-flow_ar span::after{ border-color:var(--adx-teal) }
@keyframes adx-run{ to{ background-position:8px 0 } }
@keyframes adx-rund{ to{ background-position:0 8px } }

/* --- figuras: pictogramas --- */
.adx .adx-pict{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:18px 26px; width:100% }
.adx .adx-pict_i{ display:flex; flex-direction:column; align-items:center; gap:8px; text-align:center; max-width:150px }
.adx .adx-pict_g{ display:flex; gap:6px; color:var(--adx-mag) }
.adx .adx-pict_g .adx-ico{ width:46px; height:46px; stroke-width:2.2 }
.adx .adx-pict_l{ font-family:var(--adx-sg); font-weight:500; font-size:12.5px; line-height:1.2; text-wrap:balance }
.adx .adx-pict_i--base .adx-pict_g{ color:var(--adx-teal) }
.adx .adx-pict_plus{ font-family:var(--adx-sg); font-weight:700; font-size:26px; line-height:46px; color:var(--adx-mag) }
.adx .adx-pict_x{ align-self:center; font-family:var(--adx-sg); font-weight:700; font-size:22px; line-height:1; color:var(--adx-mag); margin-left:4px }
.adx .adx-pict--4{ display:grid; grid-template-columns:repeat(2,auto); justify-content:center; gap:18px 34px }
@media (max-width:575.98px){ .adx .adx-pict--win{ flex-direction:column; align-items:center; gap:2px } .adx .adx-pict--win .adx-pict_plus{ line-height:1.15 } }
@media (min-width:576px){ .adx .adx-pict--win{ flex-wrap:nowrap; gap:12px 20px } .adx .adx-pict--win .adx-pict_g .adx-ico{ width:52px; height:52px } .adx .adx-pict--win .adx-pict_plus{ line-height:52px } }

/* --- figuras: esquemas SVG --- */
.adx .adx-svg{ display:block; width:100%; max-width:380px; height:auto; margin:0 auto; font-family:var(--adx-sg); font-weight:600; overflow:visible }
.adx-svg .adx-s-shell{ fill:#fff; stroke:var(--adx-teal); stroke-width:3 }
.adx-svg .adx-s-shell--top{ fill:none }
.adx-svg .adx-s-room{ fill:none; stroke:var(--adx-teal); stroke-width:1.5 }
.adx-svg .adx-s-room--tec{ fill:var(--adx-tec) }
.adx-svg .adx-s-acc{ stroke:var(--adx-mag) }
.adx-svg .adx-s-line{ stroke:var(--adx-teal); stroke-width:1.5; fill:none }
.adx-svg g.adx-s-line{ stroke-width:3 }
.adx-svg .adx-s-soft{ stroke:var(--adx-t40) }
.adx-svg .adx-s-t{ fill:var(--adx-t70) }
.adx-svg .adx-s-ta{ fill:var(--adx-mag); font-weight:700 }
.adx-svg .adx-s-ref{ fill:var(--adx-t70); font-weight:500; font-family:var(--adx-rc) }
.adx-svg .adx-s-flowl{ fill:none; stroke:var(--adx-mag); stroke-width:2; stroke-linecap:round; stroke-dasharray:5 6; animation:adx-dash 1.1s linear infinite }
.adx-svg .adx-s-dot{ fill:var(--adx-mag) }
.adx-svg .adx-s-vent{ fill:var(--adx-mag) }
.adx-svg .adx-s-arrowh{ stroke:var(--adx-mag); stroke-width:2; stroke-linecap:round }
.adx-svg .adx-s-wave{ fill:none; stroke:var(--adx-mag); stroke-width:1.8; stroke-linecap:round }
.adx-svg .adx-s-roof{ fill:#E3E7E8; stroke:var(--adx-teal); stroke-width:1.5; stroke-linejoin:round }
.adx-svg .adx-s-body{ fill:#fff; stroke:var(--adx-teal); stroke-width:1.5; stroke-linejoin:round }
.adx-svg .adx-s-fill{ fill:var(--adx-teal) }
.adx-svg .adx-s-wheel{ fill:var(--adx-teal) }
.adx-svg .adx-s-ground{ stroke:var(--adx-t40); stroke-width:1.2 }
.adx-svg .adx-s-manta{ fill:#FFE3EC; stroke:var(--adx-mag); stroke-width:1.6; stroke-dasharray:5 3.5 }
.adx-svg .adx-s-cable{ fill:none; stroke:var(--adx-mag); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.adx-svg .adx-s-aisl{ fill:none; stroke:#FFC9D8; stroke-width:10; stroke-linecap:round; stroke-linejoin:round }
.adx-svg .adx-s-pipe{ fill:none; stroke:var(--adx-teal); stroke-width:2; stroke-linecap:round; stroke-linejoin:round }
.adx-svg .adx-s-heat{ fill:#fff; stroke:var(--adx-mag); stroke-width:1.6 }
.adx-svg .adx-s-lead{ stroke:var(--adx-mag); stroke-width:1.1 }
.adx-svg .adx-s-mkb{ fill:#fff }
.adx-svg .adx-s-mk{ fill:var(--adx-mag) }
.adx-svg .adx-s-mkt{ fill:#fff; font-weight:700 }
.adx-svg .adx-s-panel{ fill:none; stroke:var(--adx-mag); stroke-width:4.5; stroke-linecap:round }
.adx-svg .adx-s-tb{ fill:var(--adx-teal); font-weight:700 }
.adx .adx-figleg{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 18px; margin-top:12px; font-family:var(--adx-rc); font-size:13px; line-height:1.2; color:var(--adx-t70) }
.adx .adx-figleg li{ display:inline-flex; align-items:center; gap:7px }
.adx .adx-figleg i{ display:inline-block; width:22px; height:0; border-top:3px solid var(--adx-mag); border-radius:2px }
.adx .adx-figleg i.adx-figleg_t{ border-top:2px solid var(--adx-teal) }
.adx-svg .adx-s-win{ fill:#fff; stroke:var(--adx-teal); stroke-width:1.8 }
.adx-svg .adx-s-win--acc{ stroke:var(--adx-mag); fill:#FFF3F6 }
@keyframes adx-dash{ to{ stroke-dashoffset:-11 } }

/* --- cierre de la sección: cotización --- */
.adx-cta{ margin-top:52px; background:var(--adx-mag); border-radius:var(--adx-r); padding:30px 24px 28px; display:grid; gap:24px; position:relative; overflow:hidden; scroll-margin-top:110px }
.adx-cta::before{ content:""; position:absolute; right:0; bottom:0; width:60%; height:100%; background:url("/img/seccion-4-home/background-section.png") right bottom / auto no-repeat; opacity:.9; pointer-events:none }
.adx .adx-cta > *{ position:relative }
.adx .adx-cta_t{ font-family:var(--adx-sg); font-weight:700; font-size:25px; line-height:1.12; letter-spacing:-.01em; color:#fff; text-wrap:balance }
.adx .adx-cta_p{ font-family:var(--adx-rc); font-weight:300; font-size:17px; line-height:1.42; color:#fff; margin-top:10px; max-width:36em; text-wrap:pretty }
.adx .adx-cta_bt{ display:flex; flex-direction:column; gap:12px; align-items:stretch }
.adx .adx-cta_bt.is-sel [data-adx-wa]{ order:-1 }
.adx .adx-cta_gl{ display:inline-flex; align-items:center; gap:7px; align-self:flex-start; margin-top:4px; font-family:var(--adx-sg); font-weight:700; font-size:14px; line-height:1.2; color:#fff; border-bottom:1.5px solid rgba(255,255,255,.7); padding-bottom:2px; position:relative }
.adx .adx-cta_gl .adx-ico{ width:14px; height:14px; stroke-width:4.5 }
.adx .adx-cta_gl:hover{ color:#fff; border-bottom-color:#fff }
.adx .adx-sel{ margin-top:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.45) }
.adx .adx-sel_t{ font-family:var(--adx-sg); font-weight:700; font-size:13px; line-height:1.2; color:#fff }
.adx .adx-sel_l{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px }
.adx .adx-sel_l li{ display:inline-flex; align-items:center; gap:4px; background:#fff; color:var(--adx-teal); border-radius:999px; padding:6px 6px 5px 13px; font-family:var(--adx-sg); font-weight:500; font-size:13.5px; line-height:1.15 }
.adx .adx-sel_l li.adx-sel_m{ background:rgba(255,255,255,.16); color:#fff; padding:6px 13px 5px; font-weight:700 }
.adx button.adx-sel_x{ width:30px; height:30px; margin:-3px -2px -3px 0; border-radius:50%!important; display:inline-flex; align-items:center; justify-content:center; color:var(--adx-t70) }
.adx button.adx-sel_x:hover{ background:var(--adx-panel); color:var(--adx-mag) }
.adx button.adx-sel_x .adx-ico{ width:12px; height:12px; stroke-width:6 }
.adx .adx-sel_w{ margin-top:10px; font-size:14.5px; line-height:1.38; color:#fff }
.adx .adx-fine{ margin-top:18px; font-size:13.5px; line-height:1.4; color:var(--adx-t70) }

/* --- aviso flotante de selección --- */
.adx-dock{ position:fixed; left:16px; bottom:16px; z-index:9990; display:none }
.adx-dock.is-on{ display:block }
.adx-dock a{ display:inline-flex; align-items:center; gap:10px; min-height:52px; padding:10px 20px 10px 16px; border-radius:999px; background:#00373D; color:#fff!important; font-family:"Space Grotesk",Arial,sans-serif; font-weight:700; font-size:14px; line-height:1.15;
  box-shadow:0 6px 20px rgba(0,0,0,.28); text-decoration:none }
.adx-dock a *{ color:#fff!important; font-family:inherit; font-weight:inherit }
.adx-dock b{ display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 6px; border-radius:999px; background:#EB0045; font-size:13px }
.adx-dock svg{ width:15px; height:15px; fill:none; stroke:#fff; stroke-width:4.5; stroke-linecap:round; stroke-linejoin:round }

/* --- modelos con energía solar de serie (sin adicionales) --- */
.adx-solo{ margin-top:32px; background:#fff; border-radius:var(--adx-r); box-shadow:var(--adx-sh); overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) }
.adx .adx-solo_fig{ background:var(--adx-cream2); padding:26px 16px; display:flex; align-items:center; justify-content:center }
.adx .adx-solo_b{ padding:24px 22px 24px }
.adx .adx-solo_b .adx-li{ margin-top:14px }
.adx .adx-alt{ margin-top:18px; padding-top:16px; border-top:1px solid var(--adx-t15) }
.adx .adx-alt_t{ font-family:var(--adx-sg); font-weight:700; font-size:14px; line-height:1.2 }
.adx .adx-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px }
.adx .adx-chip{ display:inline-flex; align-items:center; font-family:var(--adx-sg); font-weight:500; font-size:13px; line-height:1; padding:8px 12px 7px; border-radius:999px; background:#fff; color:var(--adx-teal); border:1.5px solid var(--adx-t40); white-space:nowrap; transition:border-color .2s ease, color .2s ease, background-color .2s ease }
.adx a.adx-chip{ position:relative }
.adx a.adx-chip::after{ content:""; position:absolute; left:-3px; right:-3px; top:-6px; bottom:-6px }
.adx a.adx-chip:hover{ border-color:var(--adx-mag); color:var(--adx-mag) }
.adx .adx-chip--f{ background:var(--adx-teal); border-color:var(--adx-teal); color:#fff }
.adx a.adx-chip--f:hover{ background:var(--adx-mag); border-color:var(--adx-mag); color:#fff }

/* ---------- pantallas angostas: tarjetas compactas (el esquema y el detalle se despliegan a pedido) ---------- */
.adx .adx-sm{ display:none }
@media (max-width:763.98px){
  .adx .adx-lg{ display:none }
  .adx .adx-sm{ display:inline }
  .adx.adx-js .adx-more > summary{ display:none }
  .adx.adx-js .adx-more{ border-top:0; margin-top:6px }
  .adx.adx-js .adx-more[open]{ border-top:1px solid var(--adx-t15); margin-top:14px; padding-top:14px }
  .adx .adx-presets_l{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-left:-1.25rem; margin-right:-1.25rem; padding:4px 1.25rem 16px; -webkit-overflow-scrolling:touch; scrollbar-width:none }
  .adx .adx-presets_l::-webkit-scrollbar{ display:none }
  .adx .adx-preset{ flex:0 0 84%; scroll-snap-align:center }
  .adx.adx-js button.adx-figbtn{ display:flex }
  .adx.adx-js .adx-card_figin{ display:none }
  .adx.adx-js .adx-card.is-fig .adx-card_figin{ display:flex; padding-top:14px }
  .adx.adx-js .adx-card.is-fig .adx-card_ref{ position:static; order:2; align-self:flex-end; margin-top:12px }
  .adx.adx-js .adx-card_body{ display:contents }
  .adx.adx-js .adx-card_body > *{ margin-left:20px; margin-right:20px }
  .adx.adx-js .adx-card_h{ order:1; margin-top:20px }
  .adx.adx-js .adx-card_tag{ order:2 }
  .adx.adx-js .adx-card_p{ order:3 }
  .adx.adx-js .adx-card .adx-reqs{ order:4 }
  .adx.adx-js .adx-card .adx-more{ order:5 }
  .adx.adx-js .adx-card_fig{ order:6; margin-top:16px; border-top:1px solid rgba(0,55,61,.07) }
  .adx.adx-js .adx-card_f{ order:7; margin-bottom:18px }
}
/* ---------- desde 576 px ---------- */
@media (min-width:576px){
  .adx .adx-serie_l{ grid-template-columns:1fr 1fr }
  .adx .adx-cta_bt{ flex-direction:row; flex-wrap:wrap; align-items:center }
  .adx .adx-cta_gl{ flex-basis:100% }
}
/* ---------- desde 764 px (quiebre del sitio) ---------- */
@media (min-width:764px){
  .adx-prod{ padding:88px 0 96px }
  .adx .adx-h2{ font-size:38px }
  .adx .adx-lead{ font-size:19px }
  .adx .adx-presets_l{ grid-template-columns:repeat(2,1fr) }
  .adx .adx-presets_l--n3 .adx-preset:last-child{ grid-column:1 / -1 }
  .adx .adx-cards{ grid-template-columns:repeat(2,1fr); gap:20px }
  .adx .adx-card--wide{ grid-column:1 / -1 }
  .adx .adx-card_figin{ min-height:262px; padding:34px 20px 22px }
  .adx .adx-card--wide .adx-card_figin{ min-height:230px }
  .adx .adx-svg{ max-width:430px }
  .adx .adx-pict_g .adx-ico{ width:64px; height:64px; stroke-width:2 }
  .adx .adx-pict_l{ font-size:13.5px }
  .adx .adx-pict{ gap:22px 34px }
  .adx .adx-pict_plus{ line-height:64px }
  .adx .adx-card_body{ padding:24px 24px 20px }
  .adx-cta{ padding:40px 44px 38px }
  .adx .adx-cta_t{ font-size:29px }
  .adx-solo{ grid-template-columns:42% 1fr }
}
@supports (grid-template-rows:subgrid){
  @media (min-width:764px){
    .adx .adx-card:not(.adx-card--wide){ display:grid; grid-row:span 2; grid-template-rows:subgrid; row-gap:0 }
    .adx .adx-card--wide{ grid-row:span 2 }
  }
}
/* ---------- desde 992 px ---------- */
@media (min-width:992px){
  .adx-head{ grid-template-columns:1.05fr 1fr; gap:48px; align-items:end }
  .adx .adx-h2{ font-size:44px }
  .adx-serie{ grid-template-columns:200px 1fr; gap:28px; align-items:center; padding:22px 30px }
  .adx .adx-serie_l{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px }
  .adx .adx-serie_l li{ font-size:14.5px }
  .adx .adx-presets_l{ grid-template-columns:repeat(3,1fr); gap:20px }
  .adx .adx-presets_l--n3 .adx-preset:last-child{ grid-column:auto }
  .adx .adx-presets_l--n2{ grid-template-columns:repeat(2,1fr) }
  .adx .adx-card--wide{ flex-direction:row }
  .adx .adx-card--wide .adx-card_fig{ flex:0 0 46%; border-bottom:0; border-right:1px solid rgba(0,55,61,.07) }
  .adx .adx-fam_h{ grid-template-columns:auto auto 1fr; column-gap:16px }
  .adx .adx-fam_n{ grid-row:auto }
  .adx .adx-fam_q{ font-size:18px; padding-left:16px; border-left:1.5px solid rgba(0,55,61,.2) }
  .adx-cta{ grid-template-columns:1fr auto; gap:40px; align-items:center; padding:46px 56px 44px }
  .adx .adx-cta_bt{ flex-direction:column; align-items:stretch; min-width:270px }
  .adx .adx-cta_gl{ flex-basis:auto; align-self:center }
}
/* =====================================================================  PORTADA (y pestañas de la guía)  */
.adx-home{ background:var(--adx-cream); padding:64px 0 68px; position:relative }
@media (max-width:764px){ .adx-home > .container{ padding-left:1.25rem; padding-right:1.25rem } }
.adx-tabs{ margin-top:30px }
.adx .adx-tabs_nav{ display:none }
.adx .adx-tabs.is-ready .adx-tabs_nav{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px }
.adx button.adx-tab{ display:flex; align-items:center; gap:9px; min-height:52px; padding:9px 10px; border-radius:12px!important; border:1.5px solid rgba(0,55,61,.18); text-align:left;
  transition:background-color .2s ease, border-color .2s ease, box-shadow .2s ease }
.adx button.adx-tab:hover{ background:rgba(255,255,255,.55) }
.adx .adx-tab_n{ width:28px; height:28px; flex:0 0 auto; border-radius:50%; background:rgba(0,55,61,.1); color:var(--adx-teal); display:flex; align-items:center; justify-content:center; font-family:var(--adx-sg); font-weight:700; font-size:14px; line-height:1;
  transition:background-color .2s ease, color .2s ease }
.adx .adx-tab_tx b{ display:block; font-family:var(--adx-sg); font-weight:700; font-size:14.5px; line-height:1.1; letter-spacing:-.005em }
.adx .adx-tab_tx small{ display:none; font-family:var(--adx-rc); font-weight:300; font-size:16px; line-height:1.25; color:var(--adx-t80); margin-top:4px }
.adx button.adx-tab[aria-selected="true"]{ background:#fff; border-color:#fff; box-shadow:var(--adx-sh) }
.adx .adx-tab[aria-selected="true"] .adx-tab_n{ background:var(--adx-mag); color:#fff }
.adx .adx-panel{ margin-top:10px; background:#fff; border-radius:var(--adx-r); box-shadow:var(--adx-sh); overflow:hidden }
.adx .adx-tabs:not(.is-ready) .adx-panel + .adx-panel{ margin-top:20px }
.adx .adx-tabs.is-ready .adx-panels{ display:grid }
.adx .adx-tabs.is-ready .adx-panel{ grid-area:1 / 1 }
.adx .adx-tabs.is-ready .adx-panel[hidden]{ display:block!important; visibility:hidden; pointer-events:none }
.adx .adx-panel_fig{ position:relative; background:var(--adx-panel) }
.adx .adx-panel_fig img{ width:100%; height:auto; aspect-ratio:16 / 10; object-fit:cover }
.adx .adx-panel_fig figcaption{ position:absolute; left:10px; bottom:10px; max-width:calc(100% - 20px); background:rgba(255,255,255,.94); color:var(--adx-teal); font-family:var(--adx-sg); font-weight:500; font-size:12px; line-height:1.2; padding:6px 11px 5px; border-radius:14px }
.adx .adx-spot{ display:none }
.adx .adx-panel_b{ padding:20px 18px 18px }
.adx .adx-panel_q{ font-family:var(--adx-sg); font-weight:700; font-size:20px; line-height:1.15; letter-spacing:-.01em; text-wrap:balance }
.adx .adx-panel_p{ font-family:var(--adx-rc); font-weight:300; font-size:17px; line-height:1.4; color:var(--adx-t80); margin-top:6px; text-wrap:pretty }
.adx .adx-items{ margin-top:16px; display:grid; gap:8px }
.adx a.adx-item{ display:flex; align-items:center; gap:14px; padding:12px 14px 12px 12px; border-radius:10px; background:var(--adx-cream2); border:1.5px solid transparent; transition:border-color .2s ease, background-color .2s ease }
.adx a.adx-item:hover{ border-color:var(--adx-mag); background:#fff }
.adx .adx-item .adx-badge{ width:44px; height:44px; flex:0 0 auto }
.adx .adx-item .adx-badge .adx-ico{ width:26px; height:26px }
.adx .adx-item_tx b{ display:block; font-family:var(--adx-sg); font-weight:700; font-size:16px; line-height:1.15 }
.adx .adx-item_tx small{ display:block; font-family:var(--adx-rc); font-size:15px; line-height:1.3; color:var(--adx-t80); margin-top:3px; text-wrap:pretty }
.adx .adx-item_go{ margin-left:auto; width:15px; height:15px; color:var(--adx-mag); stroke-width:5; transition:transform .2s ease }
.adx a.adx-item:hover .adx-item_go{ transform:translateX(3px) }
.adx .adx-home_end{ margin-top:26px; display:grid; gap:18px }
.adx .adx-home_n{ display:flex; gap:9px; align-items:flex-start; font-size:15.5px; line-height:1.38; color:var(--adx-t80) }
.adx .adx-home_n .adx-ico{ width:19px; height:19px; margin-top:1px; stroke-width:3; color:var(--adx-mag) }
.adx .adx-home_bt{ display:flex; flex-direction:column; gap:10px }
.adx .adx-btn--pri .adx-ico{ width:16px; height:16px; stroke-width:4.5 }
@media (min-width:576px){
  .adx .adx-home_bt{ flex-direction:row; flex-wrap:wrap }
}
@media (min-width:764px){
  .adx-home{ padding:92px 0 96px }
  .adx .adx-tabs{ margin-top:40px }
  .adx .adx-tabs.is-ready .adx-tabs_nav{ gap:14px }
  .adx button.adx-tab{ padding:14px 16px; gap:13px }
  .adx .adx-tab_n{ width:38px; height:38px; font-size:17px }
  .adx .adx-tab_tx b{ font-size:18px }
  .adx .adx-panel{ margin-top:14px }
  .adx .adx-panel_fig img{ aspect-ratio:1600 / 609 }
  .adx .adx-panel_fig figcaption{ left:16px; bottom:16px; font-size:12.5px }
  .adx .adx-panel_b{ padding:26px 28px 28px }
  .adx .adx-items{ grid-template-columns:repeat(3,1fr); gap:12px }
  .adx a.adx-item{ flex-direction:column; align-items:flex-start; gap:12px; padding:18px 18px 16px; height:100% }
  .adx .adx-item_go{ margin-left:0; margin-top:auto }
  .adx .adx-home_end{ grid-template-columns:1fr auto; align-items:center; margin-top:30px }
}
@media (min-width:992px){
  .adx button.adx-tab{ padding:18px 22px 17px; gap:16px; align-items:flex-start }
  .adx .adx-tab_n{ width:44px; height:44px; font-size:20px }
  .adx .adx-tab_tx b{ font-size:21px; margin-top:2px }
  .adx .adx-tab_tx small{ display:block }
  .adx .adx-panel_b{ display:grid; grid-template-columns:minmax(0,290px) 1fr; gap:36px; padding:30px 34px 32px; align-items:center }
  .adx .adx-items{ margin-top:0 }
  .adx .adx-tabs.is-ready .adx-panel_q{ display:none }
  .adx .adx-tabs.is-ready .adx-panel_p{ margin-top:0; font-size:19px; line-height:1.4 }
  .adx .adx-spot{ display:block; position:absolute; width:0; height:0 }
  .adx .adx-spot i{ position:absolute; left:-8px; top:-8px; width:16px; height:16px; border-radius:50%; background:var(--adx-mag); box-shadow:0 0 0 4px rgba(255,255,255,.9), 0 2px 8px rgba(0,0,0,.25) }
  .adx .adx-spot i::after{ content:""; position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--adx-mag); opacity:.7; animation:adx-pulse 2.2s ease-out infinite }
  .adx .adx-spot b{ position:absolute; top:-15px; white-space:nowrap; background:var(--adx-mag); color:#fff; font-family:var(--adx-sg); font-weight:700; font-size:12.5px; line-height:1; padding:9px 13px 8px; border-radius:999px; box-shadow:0 2px 10px rgba(0,0,0,.18) }
  .adx .adx-spot--r b{ left:20px }
  .adx .adx-spot--l b{ right:20px }
}
@keyframes adx-pulse{ 0%{ transform:scale(1); opacity:.7 } 80%,100%{ transform:scale(2.3); opacity:0 } }
@media (max-width:763.98px){ .adx .adx-panel_fig figcaption{ position:static; max-width:none; background:none; border-radius:0; padding:9px 16px 0; font-size:12.5px; color:var(--adx-t70) } }
@media (max-width:359.98px){
  .adx .adx-node_l{ font-size:11.5px }
  .adx .adx-node_c{ width:48px; height:48px }
  .adx .adx-flow_ar, .adx .adx-flow--lineal .adx-flow_ar{ height:48px; min-width:9px }
  .adx button.adx-tab{ flex-direction:column; align-items:flex-start; gap:6px; padding:9px 8px }
  .adx .adx-tab_tx b{ font-size:13.5px }
}
@media (prefers-reduced-motion:reduce){
  .adx *, .adx *::before, .adx *::after{ animation:none!important; transition:none!important; scroll-behavior:auto!important }
}
@media print{ .adx-dock, .adx .adx-add, .adx .adx-preset_b{ display:none!important } }
