/* Nube Amarilla Banner 1.1 — estilos aislados del tema / Elementor */
.nab-banner{--nab-purple:#9381ff;position:relative;width:100%;height:var(--nab-height,100vh);min-height:420px;overflow:hidden;border-radius:20px;background:#ffda32;isolation:isolate;box-sizing:border-box}
.nab-banner *{box-sizing:border-box}
.nab-banner .nab-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;display:block;z-index:0}
.nab-banner .nab-content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,57%) minmax(0,43%);align-items:center;width:100%;height:100%;padding:clamp(24px,4vw,70px);pointer-events:none}
.nab-banner .nab-copy{width:100%;max-width:830px;pointer-events:none}
.nab-banner .nab-heading{margin:0!important;padding:0!important;max-width:810px;color:#000;font-family:"inter-variable","Inter",Inter,Arial,sans-serif!important;font-weight:500!important;font-size:clamp(34px,3.4vw,64px)!important;line-height:1.08!important;letter-spacing:-3px!important;text-transform:none!important;text-wrap:balance}
.nab-banner .nab-highlight{background:#9381ff;color:#fff;padding:0 .12em .055em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.nab-banner .nab-services{margin:27px 0 21px!important;color:#000;font-family:"inter-variable","Inter",Inter,Arial,sans-serif!important;font-size:15px!important;font-weight:500!important;letter-spacing:-1px!important;line-height:1.45!important}
.nab-banner .na-btn{--btn-normal:#9381ff;--btn-hover:#fff;--circle-normal:#fff;--circle-hover:#9381ff;--arrow-normal:#9381ff;--arrow-hover:#fff;--btn-height:54px;--circle-size:44px;--space:5px;--btn-width:198px;position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--btn-width);max-width:100%;height:var(--btn-height);padding:0!important;margin:0!important;background:var(--btn-normal);border:1px solid transparent;border-radius:100px;text-decoration:none!important;overflow:hidden;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent;pointer-events:auto;transition:none}
.nab-banner .na-btn__fill{position:absolute;inset:0;background:var(--btn-hover);clip-path:inset(0 100% 0 0);z-index:0;pointer-events:none}
.nab-banner .na-btn__border{position:absolute;inset:0;border:1px solid #9381ff;border-radius:inherit;opacity:0;z-index:4;pointer-events:none}
.nab-banner .na-btn__text{position:relative;z-index:2;font-family:"inter-variable","Inter",Inter,Arial,sans-serif!important;font-size:18px;font-weight:500;line-height:1;letter-spacing:-1px;color:#fff;white-space:nowrap;display:inline-block;will-change:transform,color}
.nab-banner .na-btn__circle{position:absolute;top:calc(var(--space) - 1px);left:calc(var(--space) - 1px);width:var(--circle-size);height:var(--circle-size);display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--circle-normal);z-index:3;will-change:transform,background-color}
.nab-banner .na-btn__arrow{width:21px;height:21px;display:flex;align-items:center;justify-content:center;color:var(--arrow-normal);transform-origin:center;will-change:transform}
.nab-banner .na-btn__arrow svg{width:100%;height:100%;display:block}
.nab-banner .na-btn:focus-visible{outline:3px solid #9381ff;outline-offset:4px}
.nab-notice{padding:12px;background:#fff7db;border-left:3px solid #e5ab22;color:#333}
@media(max-width:1366px){.nab-banner .na-btn{--btn-width:190px;--btn-height:52px;--circle-size:42px}.nab-banner .na-btn__text{font-size:16px}.nab-banner .na-btn__arrow{width:20px;height:20px}}
@media(max-width:1024px){.nab-banner .nab-content{grid-template-columns:minmax(0,60%) minmax(0,40%);padding:32px}.nab-banner .nab-heading{font-size:clamp(32px,4.4vw,49px)!important}.nab-banner .na-btn{--btn-width:180px;--btn-height:50px;--circle-size:40px}.nab-banner .na-btn__text{font-size:15px}.nab-banner .na-btn__arrow{width:19px;height:19px}}
@media(max-width:767px){.nab-banner{min-height:560px}.nab-banner .nab-video{object-position:56% center}.nab-banner .nab-content{grid-template-columns:1fr;align-items:start;padding:25px 22px}.nab-banner .nab-copy{max-width:100%}.nab-banner .nab-heading{font-size:clamp(28px,7vw,38px)!important;letter-spacing:-1.8px!important;line-height:1.12!important}.nab-banner .nab-services{margin:17px 0 16px!important;font-size:15px!important;letter-spacing:-1px!important}.nab-banner .na-btn{--btn-width:170px;--btn-height:48px;--circle-size:38px}.nab-banner .na-btn__text{font-size:14px}.nab-banner .na-btn__arrow{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.nab-banner .na-btn__circle,.nab-banner .na-btn__fill,.nab-banner .na-btn__arrow,.nab-banner .na-btn__text,.nab-banner .na-btn__border{transition:none!important}}
/* Respaldo de hover sin GSAP */
.nab-banner .na-btn.nab-hover{background:#fff;border-color:#9381ff}
.nab-banner .na-btn.nab-hover .na-btn__text{color:#9381ff;transform:translateX(-25px)}
.nab-banner .na-btn.nab-hover .na-btn__circle{background:#9381ff;transform:translateX(calc(var(--btn-width) - var(--circle-size) - 2 * var(--space)))}
.nab-banner .na-btn.nab-hover .na-btn__arrow{color:#fff;transform:rotate(-45deg)}
.nab-banner .na-btn.nab-hover .na-btn__border{opacity:1}

/* v1.2 variables y alineación */
.nab-banner{border-radius:var(--nab-radius,20px)!important}
.nab-banner .nab-heading{color:var(--nab-title-color,#000)!important;font-size:clamp(22px,4vw,var(--nab-title-size,64px))!important;font-weight:var(--nab-title-weight,500)!important;letter-spacing:var(--nab-title-spacing,-3px)!important;line-height:var(--nab-title-line,1.08)!important}
.nab-banner .nab-highlight{background:var(--nab-highlight-bg,#9381ff)!important;color:var(--nab-highlight-color,#fff)!important}
.nab-banner .nab-services{font-size:var(--nab-subtitle-size,15px)!important;font-weight:var(--nab-subtitle-weight,500)!important;letter-spacing:var(--nab-subtitle-spacing,-1px)!important;line-height:var(--nab-subtitle-line,1.45)!important;color:var(--nab-subtitle-color,#000)!important}
.nab-banner .nab-services-text{background:var(--nab-subtitle-bg,transparent);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .06em}
.nab-banner.nab-side-right .nab-content{grid-template-columns:minmax(0,43%) minmax(0,57%)}
.nab-banner.nab-side-right .nab-copy{grid-column:2}
.nab-banner.nab-side-right .nab-visual-column{grid-column:1;grid-row:1}
@media(max-width:1024px){.nab-banner.nab-side-right .nab-content{grid-template-columns:minmax(0,40%) minmax(0,60%)}}
@media(max-width:767px){.nab-banner .nab-heading{font-size:var(--nab-mobile-title-size,34px)!important;letter-spacing:clamp(-3px,var(--nab-title-spacing,-1.8px),3px)!important}.nab-banner.nab-side-right .nab-content{display:grid;grid-template-columns:1fr}.nab-banner.nab-side-right .nab-copy{grid-column:1;grid-row:1}.nab-banner.nab-side-right .nab-visual-column{display:none}}
/* v1.3 slider: cada vídeo recibe el mouse únicamente cuando su slide está visible */
.nab-slider{position:relative;width:100%;height:var(--nab-slider-height,100vh);min-height:420px;isolation:isolate;overflow:hidden;border-radius:var(--nab-slider-radius,20px)}
.nab-slider .nab-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility .5s;z-index:0}
.nab-slider .nab-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.nab-slider .nab-slide .nab-banner{height:100%!important;min-height:0;border-radius:0!important}
.nab-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.14);border-radius:100%;background:rgba(255,255,255,.83);backdrop-filter:blur(8px);color:#151515;font-size:19px;cursor:pointer;transition:background .2s,transform .2s}
.nab-slider-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.06)}.nab-slider-prev{left:14px}.nab-slider-next{right:14px}
.nab-slider-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:5;display:flex;gap:8px;align-items:center;border-radius:30px;background:rgba(255,255,255,.8);padding:10px 14px;backdrop-filter:blur(8px)}.nab-slider-dot{width:9px;height:9px;min-width:9px;border:0;border-radius:50%;background:#a4a1a0;cursor:pointer;padding:0;transition:width .2s,background .2s}.nab-slider-dot.is-active{width:27px;border-radius:10px;background:#9381ff}.nab-slider button:focus-visible{outline:3px solid #9381ff;outline-offset:2px}
@media(max-width:767px){.nab-slider{min-height:560px}.nab-slider-arrow{width:32px;height:32px;top:auto;bottom:12px;transform:none}.nab-slider-arrow:hover{transform:scale(1.05)}.nab-slider-prev{left:15px}.nab-slider-next{right:15px}.nab-slider-dots{bottom:20px}}
@media(prefers-reduced-motion:reduce){.nab-slider .nab-slide{transition:none}}

/* v1.4 - visible navigation and slide transitions, including video-free slides */
.nab-slider{border-radius:var(--nab-slider-radius,20px)!important}
.nab-slider .nab-slide{display:block!important;opacity:0;visibility:hidden;transform:translate3d(0,0,0);transition:opacity .52s ease,transform .52s cubic-bezier(.22,1,.36,1),visibility .52s;pointer-events:none;z-index:0}
.nab-slider .nab-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.nab-slider .nab-slide.is-exiting{opacity:0;visibility:visible;pointer-events:none;transform:translate3d(-3%,0,0);z-index:2}
.nab-slider .nab-slide.is-active.is-entering.from-right{opacity:0;transform:translate3d(4%,0,0)}
.nab-slider .nab-slide.is-active.is-entering.from-left{opacity:0;transform:translate3d(-4%,0,0)}
.nab-slider .nab-slide .nab-banner{background:#ffda32}
.nab-slider .nab-slider-navigation{position:absolute;inset:0;z-index:30;pointer-events:none}
.nab-slider .nab-slider-navigation .nab-slider-arrow{display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;position:absolute!important;top:50%!important;bottom:auto!important;width:48px!important;height:48px!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;border:1px solid rgba(0,0,0,.14)!important;color:#181818!important;font-family:Arial,sans-serif!important;font-size:24px!important;font-weight:400!important;line-height:1!important;z-index:30!important;pointer-events:auto!important;cursor:pointer!important;box-shadow:0 5px 20px rgba(0,0,0,.13)!important;transform:translateY(-50%)!important;transition:transform .2s,background .2s,box-shadow .2s!important;padding:0!important}
.nab-slider .nab-slider-navigation .nab-slider-prev{left:18px!important;right:auto!important}
.nab-slider .nab-slider-navigation .nab-slider-next{right:18px!important;left:auto!important}
.nab-slider .nab-slider-navigation .nab-slider-arrow:hover{background:#9381ff!important;color:white!important;transform:translateY(-50%) scale(1.08)!important}
.nab-slider .nab-slider-navigation .nab-slider-arrow:focus-visible{outline:3px solid #9381ff!important;outline-offset:3px}
.nab-slider .nab-slider-dots{z-index:30!important;pointer-events:auto!important}
@media(max-width:767px){.nab-slider .nab-slider-navigation .nab-slider-arrow{top:auto!important;bottom:12px!important;transform:none!important;width:38px!important;height:38px!important}.nab-slider .nab-slider-navigation .nab-slider-arrow:hover{transform:scale(1.06)!important}}
@media(prefers-reduced-motion:reduce){.nab-slider .nab-slide{transition:none!important;transform:none!important}}

/* v1.5: tres zonas independientes y controles discretos */
.nab-banner .nab-content{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:clamp(12px,2vw,30px);align-content:center;align-items:center}
.nab-banner .nab-copy{grid-row:1;grid-column:auto;min-width:0;max-width:none}
.nab-banner .nab-copy-title{grid-column:var(--nab-title-col,1)!important}
.nab-banner .nab-copy-subtitle{grid-column:var(--nab-subtitle-col,1)!important}
.nab-banner .nab-copy-button{grid-column:var(--nab-button-col,1)!important}
.nab-banner .nab-services{margin:0!important}
.nab-banner .nab-heading{overflow-wrap:break-word;hyphens:auto}
.nab-banner .nab-copy-button{pointer-events:auto}
.nab-banner .nab-copy-title,.nab-banner .nab-copy-subtitle{pointer-events:none}
.nab-slider .nab-slider-navigation .nab-slider-arrow{width:38px!important;height:38px!important;background:var(--nab-arrow-bg,#fff)!important;color:var(--nab-arrow-color,#181818)!important;opacity:.78!important;border:1px solid rgba(0,0,0,.10)!important;box-shadow:0 2px 10px rgba(0,0,0,.08)!important;transition:transform .22s,opacity .22s,background .22s,color .22s!important}
.nab-slider .nab-slider-navigation .nab-slider-arrow:hover{background:var(--nab-arrow-hover-bg,#9381ff)!important;color:var(--nab-arrow-hover-color,#fff)!important;opacity:1!important}
.nab-slider .nab-arrow-icon{width:18px;height:18px;object-fit:contain;display:block}
.nab-slider .nab-slider-prev .nab-arrow-icon{transform:rotate(180deg)}
@media(max-width:767px){.nab-banner .nab-content{display:flex!important;flex-direction:column;align-items:stretch;justify-content:center;gap:14px;padding:28px 46px 75px!important}.nab-banner .nab-copy{grid-column:auto!important;grid-row:auto!important}.nab-banner .nab-heading{font-size:var(--nab-mobile-title-size,34px)!important}.nab-slider .nab-slider-navigation .nab-slider-arrow{width:32px!important;height:32px!important;top:auto!important;bottom:14px!important;transform:none!important}.nab-slider .nab-slider-navigation .nab-slider-arrow:hover{transform:scale(1.05)!important}}

/* column wrappers, avoid overlapping elements assigned to same column */
.nab-banner .nab-content{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(12px,2vw,30px)!important;align-items:center!important}
.nab-banner .nab-flex-column{min-width:0;display:flex;flex-direction:column;gap:clamp(13px,2vw,26px);justify-content:center;align-items:flex-start;pointer-events:none}
.nab-banner .nab-copy{grid-column:auto!important;grid-row:auto!important;min-width:0;width:100%}
.nab-banner .nab-copy-button{pointer-events:auto}
@media(max-width:767px){.nab-banner .nab-content{display:flex!important;flex-direction:column!important;align-items:stretch!important}.nab-banner .nab-flex-column{width:100%;gap:14px}}

/* v1.6 selectable column counts and independent alignment */
.nab-banner .nab-content{grid-template-columns:repeat(var(--nab-columns,3),minmax(0,1fr))!important}
.nab-banner .nab-element-align{width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}
.nab-banner .nab-element-align.nab-align-center{align-items:center;text-align:center}
.nab-banner .nab-element-align.nab-align-right{align-items:flex-end;text-align:right}
.nab-banner .nab-element-align .nab-copy{width:100%}
.nab-banner .nab-align-center .nab-copy{text-align:center}
.nab-banner .nab-align-right .nab-copy{text-align:right}
.nab-banner .nab-align-center .nab-copy-button{display:flex;justify-content:center}
.nab-banner .nab-align-right .nab-copy-button{display:flex;justify-content:flex-end}
.nab-banner .nab-align-left .nab-copy-button{display:flex;justify-content:flex-start}
@media(max-width:767px){.nab-banner .nab-content{display:flex!important;flex-direction:column!important}.nab-banner .nab-flex-column{width:100%}}

/* v1.7: 1–2 columns, full-width single-column mode */
.nab-banner .nab-content{display:grid!important;grid-template-columns:repeat(var(--nab-columns,2),minmax(0,1fr))!important;gap:clamp(12px,2vw,30px)!important;align-items:center!important;align-content:center!important;}
.nab-banner .nab-flex-column{min-width:0;width:100%;max-width:none;}
.nab-banner[style*="--nab-columns:1"] .nab-content{grid-template-columns:minmax(0,1fr)!important;}
.nab-banner[style*="--nab-columns:1"] .nab-flex-column-1{grid-column:1/-1!important;width:100%;max-width:100%;}
.nab-banner[style*="--nab-columns:1"] .nab-copy,.nab-banner[style*="--nab-columns:1"] .nab-heading{max-width:100%!important;}
@media(max-width:767px){.nab-banner .nab-content{display:flex!important;flex-direction:column!important;align-items:stretch!important}}
/* Original soft-depth slide motion: layered drift, opacity and subtle scale */
.nab-slider{perspective:1600px;}
.nab-slider .nab-slide{transform-origin:center center;will-change:opacity,transform;transition:opacity .72s cubic-bezier(.19,1,.22,1),transform .72s cubic-bezier(.19,1,.22,1),visibility .72s!important;}
.nab-slider .nab-slide.is-active{transform:translate3d(0,0,0) scale(1)!important;filter:none;}
.nab-slider .nab-slide.is-active.is-entering.from-right{opacity:0!important;transform:translate3d(5%,0,0) scale(.972)!important;}
.nab-slider .nab-slide.is-active.is-entering.from-left{opacity:0!important;transform:translate3d(-5%,0,0) scale(.972)!important;}
.nab-slider .nab-slide.is-exiting{opacity:0!important;transform:translate3d(-2%,0,0) scale(1.015)!important;}
.nab-slider[data-nab-direction="back"] .nab-slide.is-exiting{transform:translate3d(2%,0,0) scale(1.015)!important;}
@media(prefers-reduced-motion:reduce){.nab-slider .nab-slide{transition:none!important;transform:none!important}}

/* v1.8 — layout fluido sin límites artificiales por columna */
.nab-banner .nab-content{display:grid!important;grid-template-columns:repeat(var(--nab-columns,2),minmax(0,1fr))!important;width:100%!important;max-width:none!important;gap:0!important;padding:clamp(20px,3.2vw,56px)!important;align-items:center!important;align-content:center!important;}
.nab-banner .nab-flex-column{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box;gap:clamp(10px,1.8vw,22px);padding-inline:clamp(4px,1vw,14px);}
.nab-banner .nab-copy,.nab-banner .nab-element-align{width:100%!important;max-width:none!important;min-width:0!important;}
.nab-banner .nab-heading,.nab-banner .nab-services,.nab-banner .nab-services-text{max-width:100%!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;-webkit-hyphens:none!important;white-space:normal!important;}
.nab-banner .nab-heading{font-size:var(--nab-title-size,64px)!important;line-height:var(--nab-title-line,1.08)!important;letter-spacing:var(--nab-title-spacing,-3px)!important;font-weight:var(--nab-title-weight,500)!important;}
.nab-banner .nab-services{font-size:var(--nab-subtitle-size,15px)!important;line-height:var(--nab-subtitle-line,1.45)!important;letter-spacing:var(--nab-subtitle-spacing,-1px)!important;font-weight:var(--nab-subtitle-weight,500)!important;}
.nab-banner .nab-video{object-fit:cover!important;object-position:center center!important;}
/* Diseño responsive basado en el ancho del propio banner (también aplica en Elementor) */
@container nab-viewport (max-width:767px){
 .nab-banner .nab-content{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:14px!important;padding:clamp(18px,5cqw,28px) clamp(18px,6cqw,26px) 76px!important;}
 .nab-banner .nab-flex-column{display:flex!important;flex-direction:column!important;width:100%!important;padding:0!important;gap:14px!important;}
 .nab-banner .nab-heading{font-size:var(--nab-mobile-title-size,34px)!important;line-height:var(--nab-title-line,1.08)!important;letter-spacing:clamp(-3px,var(--nab-title-spacing,-1.8px),2px)!important;}
 .nab-banner .nab-services{font-size:var(--nab-mobile-subtitle-size,15px)!important;}
 .nab-banner .nab-video{object-position:var(--nab-mobile-video-x,50%) center!important;}
}
/* Respaldo para navegadores sin soporte de container queries */
@media(max-width:767px){
 .nab-banner .nab-content{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:14px!important;padding:22px 22px 74px!important;}
 .nab-banner .nab-flex-column{display:flex!important;width:100%!important;padding:0!important;}
 .nab-banner .nab-heading{font-size:var(--nab-mobile-title-size,34px)!important;}
 .nab-banner .nab-services{font-size:var(--nab-mobile-subtitle-size,15px)!important;}
 .nab-banner .nab-video{object-position:var(--nab-mobile-video-x,50%) center!important;}
}

.nab-slider .nab-slide{container-type:inline-size;container-name:nab-viewport;}


/* v1.9: alineación vertical independiente de título, subtítulo y botón */
.nab-banner .nab-content > .nab-flex-column{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)!important;
  height:100%!important;
  min-height:0!important;
  align-self:stretch!important;
  gap:0!important;
  align-items:stretch!important;
}
.nab-banner .nab-vertical-slot{
  display:flex;flex-direction:column;justify-content:center;
  gap:clamp(9px,1.4vw,18px);width:100%;min-width:0;min-height:0;
}
.nab-banner .nab-slot-top{grid-row:1;justify-content:flex-start;}
.nab-banner .nab-slot-middle{grid-row:2;justify-content:center;}
.nab-banner .nab-slot-bottom{grid-row:3;justify-content:flex-end;}
.nab-banner .nab-vertical-slot .nab-element-align{flex-shrink:0;}
@media(max-width:767px){
  .nab-banner .nab-content > .nab-flex-column{
    display:flex!important;flex-direction:column!important;
    height:auto!important;min-height:0!important;gap:12px!important;
  }
  .nab-banner .nab-vertical-slot{display:flex;flex-direction:column;gap:12px;min-height:0;}
  .nab-banner .nab-slot-top,.nab-banner .nab-slot-middle,.nab-banner .nab-slot-bottom{justify-content:flex-start;}
  .nab-banner .nab-vertical-slot:empty{display:none;}
}

/* v2.0: Ubicar el conjunto del contenido en toda la altura del banner. */
.nab-banner .nab-content{
  display:grid!important;
  grid-template-columns:repeat(var(--nab-columns,2),minmax(0,1fr))!important;
  grid-template-rows:minmax(0,1fr)!important;
  align-content:stretch!important;
  align-items:center!important;
}
.nab-banner .nab-content.nab-content-position-top{align-items:start!important;}
.nab-banner .nab-content.nab-content-position-middle{align-items:center!important;}
.nab-banner .nab-content.nab-content-position-bottom{align-items:end!important;}
.nab-banner .nab-content > .nab-flex-column{
  display:flex!important;flex-direction:column!important;
  justify-content:flex-start!important;align-self:inherit!important;
  height:auto!important;min-height:0!important;
  gap:clamp(12px,1.6vw,23px)!important;
}
@container nab-viewport (max-width:767px){
  .nab-banner .nab-content{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  .nab-banner .nab-content.nab-content-position-top{justify-content:flex-start!important;}
  .nab-banner .nab-content.nab-content-position-middle{justify-content:center!important;}
  .nab-banner .nab-content.nab-content-position-bottom{justify-content:flex-end!important;}
  .nab-banner .nab-content > .nab-flex-column{height:auto!important;display:flex!important;flex:none!important;gap:12px!important;}
}
@media(max-width:767px){
  .nab-banner .nab-content{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  .nab-banner .nab-content.nab-content-position-top{justify-content:flex-start!important;}
  .nab-banner .nab-content.nab-content-position-middle{justify-content:center!important;}
  .nab-banner .nab-content.nab-content-position-bottom{justify-content:flex-end!important;}
  .nab-banner .nab-content > .nab-flex-column{height:auto!important;display:flex!important;flex:none!important;gap:12px!important;}
}

/* v2.1: alineación vertical independiente para móvil. En escritorio prevalece content_valign. */
@container nab-viewport (max-width:767px){
  .nab-banner .nab-content.nab-mobile-position-top{justify-content:flex-start!important;}
  .nab-banner .nab-content.nab-mobile-position-middle{justify-content:center!important;}
  .nab-banner .nab-content.nab-mobile-position-bottom{justify-content:flex-end!important;}
}
@media(max-width:767px){
  .nab-banner .nab-content.nab-mobile-position-top{justify-content:flex-start!important;}
  .nab-banner .nab-content.nab-mobile-position-middle{justify-content:center!important;}
  .nab-banner .nab-content.nab-mobile-position-bottom{justify-content:flex-end!important;}
}

/* v2.2 — dispositivo independiente y degradado móvil */
.nab-banner::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:none}
@container nab-viewport (max-width:767px){
 .nab-banner::after{background:var(--nab-mobile-gradient,none)!important}
 .nab-banner .nab-content{display:grid!important;grid-template-columns:repeat(var(--nab-mobile-columns,1),minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;align-items:center!important;align-content:stretch!important;column-gap:10px!important;}
 .nab-banner .nab-content > .nab-flex-column{align-self:center!important;min-width:0!important;width:100%!important}
 .nab-banner .nab-content.nab-mobile-position-top{align-items:start!important}
 .nab-banner .nab-content.nab-mobile-position-middle{align-items:center!important}
 .nab-banner .nab-content.nab-mobile-position-bottom{align-items:end!important}
 .nab-banner .nab-heading{font-size:var(--nab-mobile-title-size,34px)!important;font-weight:var(--nab-mobile-title-weight,500)!important;letter-spacing:var(--nab-mobile-title-spacing,-1.8px)!important;line-height:var(--nab-mobile-title-line,1.12)!important;color:var(--nab-mobile-title-color,#000)!important}
 .nab-banner .nab-highlight{background:var(--nab-mobile-highlight-bg,#9381ff)!important;color:var(--nab-mobile-highlight-color,#fff)!important}
 .nab-banner .nab-services{font-size:var(--nab-mobile-subtitle-size,15px)!important;font-weight:var(--nab-mobile-subtitle-weight,500)!important;letter-spacing:var(--nab-mobile-subtitle-spacing,-1px)!important;line-height:var(--nab-mobile-subtitle-line,1.45)!important;color:var(--nab-mobile-subtitle-color,#000)!important}
 .nab-banner .nab-services-text{background:var(--nab-mobile-subtitle-bg,transparent)!important}
}
@media(max-width:767px){
 .nab-banner::after{background:var(--nab-mobile-gradient,none)!important}
 .nab-banner .nab-content{display:grid!important;grid-template-columns:repeat(var(--nab-mobile-columns,1),minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important;align-items:center!important;align-content:stretch!important;column-gap:10px!important}
 .nab-banner .nab-content > .nab-flex-column{align-self:center!important;width:100%!important}
 .nab-banner .nab-content.nab-mobile-position-top{align-items:start!important}
 .nab-banner .nab-content.nab-mobile-position-middle{align-items:center!important}
 .nab-banner .nab-content.nab-mobile-position-bottom{align-items:end!important}
 .nab-banner .nab-heading{font-size:var(--nab-mobile-title-size,34px)!important;font-weight:var(--nab-mobile-title-weight,500)!important;letter-spacing:var(--nab-mobile-title-spacing,-1.8px)!important;line-height:var(--nab-mobile-title-line,1.12)!important;color:var(--nab-mobile-title-color,#000)!important}
 .nab-banner .nab-highlight{background:var(--nab-mobile-highlight-bg,#9381ff)!important;color:var(--nab-mobile-highlight-color,#fff)!important}
 .nab-banner .nab-services{font-size:var(--nab-mobile-subtitle-size,15px)!important;font-weight:var(--nab-mobile-subtitle-weight,500)!important;letter-spacing:var(--nab-mobile-subtitle-spacing,-1px)!important;line-height:var(--nab-mobile-subtitle-line,1.45)!important;color:var(--nab-mobile-subtitle-color,#000)!important}
 .nab-banner .nab-services-text{background:var(--nab-mobile-subtitle-bg,transparent)!important}
}

/* Keep secondary column accessible when mobile uses 2 but desktop uses 1. */
@container nab-viewport (min-width:768px){.nab-banner[style*="--nab-columns:1"] .nab-flex-column-2{display:none!important}}
@media(min-width:768px){.nab-banner[style*="--nab-columns:1"] .nab-flex-column-2{display:none!important}}
@container nab-viewport (max-width:767px){.nab-banner .nab-flex-column-2{display:flex!important}}
@media(max-width:767px){.nab-banner .nab-flex-column-2{display:flex!important}}

/* v2.3 — Fix: real mobile group alignment against entire banner height.
   Previously v2.2 forced align-self:center on each column, overriding
   align-items:start/end on the grid container. */
@container nab-viewport (max-width:767px){
 .nab-banner .nab-content{
   display:grid!important;
   grid-template-columns:repeat(var(--nab-mobile-columns,1),minmax(0,1fr))!important;
   grid-template-rows:minmax(0,1fr)!important;
   align-content:stretch!important;
   height:100%!important;
 }
 .nab-banner .nab-content > .nab-flex-column{height:auto!important;align-self:inherit!important;justify-content:flex-start!important;min-height:0!important;}
 .nab-banner .nab-content.nab-mobile-position-top > .nab-flex-column{align-self:start!important;}
 .nab-banner .nab-content.nab-mobile-position-middle > .nab-flex-column{align-self:center!important;}
 .nab-banner .nab-content.nab-mobile-position-bottom > .nab-flex-column{align-self:end!important;}
}
@media (max-width:767px){
 .nab-banner .nab-content{display:grid!important;grid-template-rows:minmax(0,1fr)!important;height:100%!important;align-content:stretch!important;}
 .nab-banner .nab-content > .nab-flex-column{height:auto!important;align-self:inherit!important;justify-content:flex-start!important;min-height:0!important;}
 .nab-banner .nab-content.nab-mobile-position-top > .nab-flex-column{align-self:start!important;}
 .nab-banner .nab-content.nab-mobile-position-middle > .nab-flex-column{align-self:center!important;}
 .nab-banner .nab-content.nab-mobile-position-bottom > .nab-flex-column{align-self:end!important;}
}

/* 2.4 independent device text and installed font family */
.nab-banner .nab-heading{font-family:var(--nab-title-font,"inter-variable"),Arial,sans-serif!important}
.nab-banner .nab-services{font-family:var(--nab-subtitle-font,"inter-variable"),Arial,sans-serif!important}
.nab-banner .nab-mobile-copy{display:none!important}
@media(max-width:767px){
 .nab-banner .nab-desktop-copy{display:none!important}
 .nab-banner .nab-mobile-copy{display:inline!important}
 .nab-banner .nab-heading{font-family:var(--nab-mobile-title-font,var(--nab-title-font,"inter-variable")),Arial,sans-serif!important}
 .nab-banner .nab-services{font-family:var(--nab-mobile-subtitle-font,var(--nab-subtitle-font,"inter-variable")),Arial,sans-serif!important}
}

/* v2.4.1: botón con contenido y tipografía independientes por dispositivo. */
.nab-banner .na-btn__text{font-size:var(--nab-button-font-size,18px)!important}
@media(max-width:767px){.nab-banner .na-btn__text{font-size:var(--nab-mobile-button-font-size,14px)!important}}
/* El panel de vista previa usa la misma media lógica sin depender del viewport. */
.nab-preview-area.is-mobile .nab-banner .na-btn__text,.nab-preview.is-mobile .nab-banner .na-btn__text{font-size:var(--nab-mobile-button-font-size,14px)!important}

.nab-banner .na-btn__text .nab-mobile-copy{display:none}
@media(max-width:767px){.nab-banner .na-btn__text .nab-desktop-copy{display:none}.nab-banner .na-btn__text .nab-mobile-copy{display:inline}}
.nab-preview-area.is-mobile .nab-banner .na-btn__text .nab-desktop-copy,.nab-preview.is-mobile .nab-banner .na-btn__text .nab-desktop-copy{display:none}
.nab-preview-area.is-mobile .nab-banner .na-btn__text .nab-mobile-copy,.nab-preview.is-mobile .nab-banner .na-btn__text .nab-mobile-copy{display:inline}
