
/* ===== V13.16.0 · Banners da Home ===== */
.home-banners{padding:34px 0 12px;background:#fff}
.home-banners[hidden]{display:none!important}.banner-carousel{position:relative;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fbf8fc;box-shadow:0 18px 55px rgba(76,42,91,.08)}
.banner-carousel-viewport{overflow:hidden}.banner-carousel-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.home-banner-slide{min-width:100%;position:relative;min-height:390px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;background:#fff}
.home-banner-copy{padding:48px 52px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}.home-banner-copy .section-label{margin-bottom:12px}.home-banner-copy h2{font-size:clamp(31px,4vw,48px);line-height:1.08;letter-spacing:-.035em;margin:0 0 15px;color:#322638}.home-banner-copy p{font-size:16px;line-height:1.7;color:var(--muted);max-width:560px;margin:0 0 25px}.home-banner-image{width:100%;height:100%;min-height:390px;object-fit:cover;background:#f6eff8}.home-banner-actions{display:flex;gap:10px;flex-wrap:wrap}.home-banner-external{font-size:13px;font-weight:800;color:var(--purple);align-self:center;padding:10px 6px}.banner-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:42px;height:42px;border-radius:50%;border:1px solid #e5d8ea;background:rgba(255,255,255,.94);color:var(--purple);font-size:21px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(65,41,75,.12)}.banner-carousel-arrow:hover{background:#f5ebf9}.banner-carousel-arrow.prev{left:14px}.banner-carousel-arrow.next{right:14px}.banner-carousel-dots{display:flex;justify-content:center;gap:7px;padding:14px;background:#fff}.banner-carousel-dot{width:9px;height:9px;border-radius:999px;border:0;background:#d9ccdf;padding:0;cursor:pointer;transition:.2s}.banner-carousel-dot.active{width:26px;background:var(--purple)}
.banner-detail-page{background:#fbf9fc}.banner-detail-hero{padding:58px 0 90px}.banner-detail-shell{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 22px 65px rgba(76,42,91,.08)}.banner-detail-image{display:block;width:100%;max-height:460px;object-fit:cover;background:#f6eff8}.banner-detail-copy{padding:42px 46px}.banner-detail-copy h1{font-size:clamp(34px,5vw,56px);line-height:1.07;letter-spacing:-.035em;margin:10px 0 16px}.banner-detail-summary{font-size:19px;color:#6f6475;max-width:850px}.banner-detail-text{margin-top:28px;color:#514858;font-size:16px;line-height:1.78;white-space:pre-line}.banner-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.banner-admin-list{display:grid;gap:12px;margin-top:20px}.banner-admin-item{display:grid;grid-template-columns:100px minmax(0,1fr) 120px 105px auto;gap:15px;align-items:center;padding:15px;border:1px solid #e8dfee;border-radius:16px;background:#fff}.banner-admin-thumb{width:100px;height:65px;border-radius:11px;object-fit:cover;background:#f4edf7}.banner-admin-item h3{margin:0 0 4px;font-size:15px;color:#312637}.banner-admin-item p{margin:0;color:#7b6d80;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:540px}.banner-admin-meta{font-size:12px;color:#766a7b}.banner-admin-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.banner-status-published{background:#e4f4ea;color:#287047}.banner-status-draft{background:#f2edf4;color:#705c79}.banner-dialog{width:min(900px,calc(100% - 28px));border:0;border-radius:22px;padding:0;box-shadow:0 26px 90px rgba(48,30,56,.28)}.banner-dialog::backdrop{background:rgba(35,26,38,.48)}.banner-dialog-shell{padding:28px}.banner-form{grid-template-columns:1fr 1fr}.banner-form label{display:grid;gap:7px;font-size:13px;font-weight:750;color:#4d4553}.banner-form input,.banner-form textarea,.banner-form select{font:inherit;border:1px solid #ded5e3;border-radius:10px;padding:12px 13px;outline:none;background:#fff;color:var(--ink);width:100%}.banner-form textarea{resize:vertical}.banner-form .full-field{grid-column:1/-1}.banner-form .check-field{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:12px 14px;background:#faf7fb;border-radius:12px}.banner-form .check-field input{width:auto}.banner-image-preview{display:none;width:100%;max-height:220px;object-fit:cover;border:1px solid var(--line);border-radius:14px;margin-top:8px}.banner-image-preview.visible{display:block}.banner-help{font-size:11px;color:#8a7d90;margin-top:2px}.banner-form-actions{display:flex;justify-content:flex-end;gap:10px}.banner-admin-warning{padding:13px 15px;border-radius:12px;background:#fff8e8;border:1px solid #f1dfb8;color:#725b2d;font-size:12px;margin:0 0 18px}
@media(max-width:900px){.home-banner-slide{grid-template-columns:1fr}.home-banner-copy{padding:38px 45px 26px}.home-banner-image{min-height:300px;max-height:360px}.banner-admin-item{grid-template-columns:90px minmax(0,1fr) 110px}.banner-admin-item>.banner-admin-meta:nth-of-type(2){display:none}.banner-admin-actions{grid-column:2/-1;justify-content:flex-start}}
@media(max-width:650px){.home-banners{padding-top:20px}.banner-carousel{border-radius:20px}.home-banner-copy{padding:32px 25px 22px}.home-banner-copy h2{font-size:32px}.home-banner-copy p{font-size:14px}.home-banner-image{min-height:220px;max-height:260px}.banner-carousel-arrow{width:36px;height:36px}.banner-carousel-arrow.prev{left:8px}.banner-carousel-arrow.next{right:8px}.banner-detail-hero{padding:35px 0 60px}.banner-detail-shell{border-radius:20px}.banner-detail-copy{padding:28px 22px}.banner-admin-item{grid-template-columns:72px 1fr;padding:12px}.banner-admin-thumb{width:72px;height:58px}.banner-admin-item>.banner-admin-meta{grid-column:2}.banner-admin-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.banner-admin-actions button{width:100%}.banner-form{grid-template-columns:1fr}.banner-form .full-field{grid-column:auto}.banner-dialog-shell{padding:20px}.banner-form-actions{flex-direction:column-reverse}.banner-form-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.banner-carousel-track{transition:none}}
