.zlbanners-v2.zlbanners-mobile { --zl-mobile-art-height:190px; display:block; width:calc(100% - 24px); max-width:480px; margin:12px auto 24px; padding:0; }
.zlbanners-mobile .zlbanners-v2__hero { display:grid; height:auto; min-height:0; border-radius:20px; touch-action:pan-y; }
.zlbanners-mobile .zlbanners-v2__slide { position:relative; inset:auto; grid-area:1 / 1; display:flex; flex-direction:column; height:auto; min-width:0; }
.zlbanners-mobile .zlbanners-v2__art { order:-1; height:var(--zl-mobile-art-height); flex:0 0 var(--zl-mobile-art-height); background:transparent; }
.zlbanners-mobile .zlbanners-v2__art img { display:block; object-fit:contain; }
.zlbanners-mobile .zlbanners-v2__copy { padding:12px 20px 16px; justify-content:flex-start; flex:1; width:100%; max-width:none; height:auto; box-sizing:border-box; }
.zlbanners-mobile .zlbanners-v2__eyebrow { font-size:10px; letter-spacing:.03em; margin-bottom:6px; padding:4px 8px; max-width:100%; overflow-wrap:anywhere; }
.zlbanners-mobile h2,.zlbanners-mobile .zl-size-standard h2 { font-size:28px; line-height:1.12; letter-spacing:-.025em; text-transform:none; overflow-wrap:anywhere; }
.zlbanners-mobile .zl-size-compact h2 { font-size:24px; }
.zlbanners-mobile .zl-size-large h2 { font-size:32px; }
.zlbanners-mobile .zlbanners-v2__copy p { font-size:14px; line-height:1.45; margin:8px 0 12px; overflow-wrap:anywhere; }
.zlbanners-mobile .zlbanners-v2__actions { width:100%; gap:8px; margin-top:10px; padding-top:0; }
.zlbanners-mobile .zlbanners-v2__copy p + .zlbanners-v2__actions { margin-top:0; }
.zlbanners-mobile .zlbanners-v2__actions:empty { display:none; }
.zlbanners-mobile .zlbanners-v2__button { min-height:44px; padding:10px 14px; line-height:1.25; font-size:13px; flex:1 1 125px; text-align:center; }
.zlbanners-mobile .zlbanners-v2__badge { font-size:36px; right:18px; bottom:12px; }
.zlbanners-mobile .zl-image-full { min-height:440px; justify-content:flex-end; }
.zlbanners-mobile .zl-image-full .zlbanners-v2__art { height:100%; }
.zlbanners-mobile .zl-image-full .zlbanners-v2__art img { object-fit:cover; }
.zlbanners-mobile .zl-image-full .zlbanners-v2__copy { height:auto; width:100%; max-width:none; flex:0 0 auto; padding-top:120px; }
.zlbanners-mobile .zl-image-full .zlbanners-v2__badge { bottom:auto; top:18px; }
.zlbanners-mobile .zl-image-full .zlbanners-v2__art::after { background:linear-gradient(0deg,rgba(13,32,38,.98),rgba(13,32,38,.8) 48%,rgba(13,32,38,.05)); }
.zlbanners-mobile .zl-image-full.zl-scheme-light_cyan .zlbanners-v2__art::after { background:linear-gradient(0deg,#ecfcfe,rgba(236,252,254,.88) 48%,rgba(236,252,254,.05)); }
.zlbanners-mobile .zl-image-full.zl-scheme-light_pink .zlbanners-v2__art::after { background:linear-gradient(0deg,#fff4f9,rgba(255,244,249,.88) 48%,rgba(255,244,249,.05)); }
.zlbanners-mobile-controls { position:absolute; inset:0; z-index:8; pointer-events:none; }
.zlbanners-mobile-controls .zlbanners-v2__arrow { top:73px; width:44px; height:44px; background:transparent; box-shadow:none; pointer-events:auto; }
.zlbanners-mobile-controls .zlbanners-v2__arrow span { display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,.9); box-shadow:0 1px 4px #14333b18; font-size:16px; line-height:1; }
.zlbanners-mobile-controls .zlbanners-v2__dots { top:var(--zl-mobile-art-height); bottom:auto; left:50%; transform:translate(-50%,-50%); gap:0; align-items:center; pointer-events:auto; }
.zlbanners-mobile .zlbanners-v2__hero:has(.zl-image-full.is-active) .zlbanners-v2__dots { top:50%; }
.zlbanners-mobile-controls .zlbanners-v2__dots button { width:32px; height:44px; border-radius:0; background:transparent; display:grid; place-items:center; }
.zlbanners-mobile-controls .zlbanners-v2__dots button::after { content:""; width:7px; height:7px; border-radius:9px; background:#c8d4d7; box-shadow:0 0 0 3px rgba(255,255,255,.85); }
.zlbanners-mobile-controls .zlbanners-v2__dots button.is-active::after { width:22px; background:#159fb4; }
.zlbanners-mobile-preview { display:flex; flex-wrap:wrap; align-items:center; gap:10px; background:#edf8fa; border-radius:10px; padding:8px 10px; margin-bottom:10px; font-size:11px; color:#14333b; }
.zlbanners-mobile-preview a { color:#087e90; }
.zlbanners-mobile .zlbanners-categories { margin-top:24px; }
.zlbanners-mobile .zlbanners-categories__heading { gap:10px; flex-wrap:wrap; margin-bottom:14px; align-items:center; }
.zlbanners-mobile .zlbanners-categories__heading h2 { color:#151820; font-size:24px; line-height:1.15; letter-spacing:-.025em; }
.zlbanners-mobile .zlbanners-categories__heading p { font-size:13px; }
.zlbanners-mobile .zlbanners-categories__heading > a { font-size:13px; }
.zlbanners-mobile .zlbanners-categories__viewport { overflow-x:auto; overflow-y:hidden; margin:0 -12px; padding:2px 12px 14px; scroll-snap-type:x mandatory; scroll-padding-inline:12px; }
.zlbanners-mobile .zlbanners-categories__track { gap:10px; }
.zlbanners-mobile .zlbanners-categories__card { flex:0 0 42%; scroll-snap-align:start; }
.zlbanners-mobile .zlbanners-categories__card h3 { font-size:14px; text-transform:none; }
.zlbanners-mobile .zlbanners-current { margin-top:24px; }
.zlbanners-mobile .zlbanners-current__heading { gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.zlbanners-mobile .zlbanners-current__heading h2 { color:#20242c; font-size:24px; line-height:1.15; }
.zlbanners-mobile .zlbanners-current__heading p,.zlbanners-mobile .zlbanners-current__heading > a { font-size:13px; }
.zlbanners-mobile .zlbanners-current__grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; gap:10px; }
.zlbanners-mobile .zlbanners-current__card { grid-row:auto; grid-column:auto; min-height:230px; min-width:0; border-radius:18px; }
.zlbanners-mobile .zlbanners-current__copy { width:100%; padding:60px 12px 15px 15px; overflow-wrap:anywhere; }
.zlbanners-mobile .zlbanners-current__card h3 { font-size:17px; line-height:1.15; text-transform:none; }
.zlbanners-mobile .zlbanners-current__card.zl-size-compact h3 { font-size:15px; }
.zlbanners-mobile .zlbanners-current__card.zl-size-large h3 { font-size:20px; }
.zlbanners-mobile .zlbanners-current__card p { font-size:12px; margin-top:6px; }
