.cms-banner__slot{position:relative}
.cms-banner__slide{position:absolute;inset:0;opacity:0;transition:opacity .65s var(--ease)}
.cms-banner__slide.is-active{opacity:1;z-index:1}
.cms-banner__caption{position:absolute;left:clamp(24px,6vw,80px);bottom:clamp(24px,5vw,64px);max-width:520px;background:rgba(255,255,255,.82);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.7);border-radius:16px;padding:20px 24px;box-shadow:var(--shadow);color:#000}
.cms-banner__caption strong{display:block;font-size:clamp(1.2rem,3vw,2rem);line-height:1.1;margin-bottom:6px}
.cms-banner__caption span{display:block;color:#333}
.cms-banner__caption a{display:inline-flex;margin-top:14px;padding:9px 16px;border-radius:999px;background:var(--y);font-weight:700}
.cms-banner__dots{position:absolute;right:28px;bottom:24px;z-index:3;display:flex;gap:8px}
.cms-banner__dots button{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.2)}
.cms-banner__dots button.is-active{background:var(--y);border-color:var(--y-d)}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;background:#25d366;color:#fff;font-weight:800;font-size:.72rem;box-shadow:0 16px 36px rgba(37,211,102,.35);transition:transform .3s var(--ease),box-shadow .3s}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 22px 44px rgba(37,211,102,.45)}
.cms-form-alert{margin-top:18px;padding:14px 16px;border-radius:12px;background:#fff4d0;border:1px solid var(--y-d);font-weight:600}
.cms-form-alert.error{background:#fff0f0;border-color:#f0b4b4;color:#9a1010}
.cms-blog-hero{background:linear-gradient(180deg,#fff 0%,var(--bg-2) 100%)}
.article .thumb img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){
  .cms-banner__caption{left:18px;right:18px;bottom:18px;padding:16px}
  .cms-banner__dots{right:20px;top:18px;bottom:auto}
  .whatsapp-float{width:58px;height:58px;right:16px;bottom:16px;font-size:.66rem}
}
