/* Item 44 — carrossel de banners e edição administrativa */

/* Experiência pública — Item 44 explicitamente fora de qualquer contexto fixo/sticky. */
.rotating-banners{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;z-index:1;width:100%;overflow:hidden;background:#061b2d;border-bottom:4px solid #09253a;isolation:isolate}
.rotating-banners__viewport{position:relative;width:100%;min-height:clamp(540px,56vw,690px)}
.rotating-banner{position:absolute;inset:0;display:grid;align-items:center;visibility:hidden;opacity:0;transform:scale(1.035);transition:opacity .65s ease,transform 1.1s cubic-bezier(.2,.8,.2,1),visibility .65s;pointer-events:none}
.rotating-banner.is-active{visibility:visible;opacity:1;transform:scale(1);pointer-events:auto;z-index:2}
.rotating-banner__image,.rotating-banner__veil{position:absolute;inset:0;width:100%;height:100%}
.rotating-banner__image{object-fit:cover;filter:saturate(1.12) contrast(1.03)}
.rotating-banner__veil{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.91) 42%,rgba(255,255,255,.18) 72%,rgba(5,27,45,.22) 100%)}
.rotating-banner__content{position:relative;z-index:1;width:min(860px,88%);margin-left:clamp(4%,7vw,10%);padding:clamp(1.5rem,3.5vw,3.2rem);background:rgba(255,255,255,.9);border:2px solid rgba(9,37,58,.88);border-radius:38px 8px 38px 8px;box-shadow:14px 14px 0 rgba(9,37,58,.9),24px 24px 0 rgba(20,231,201,.62);backdrop-filter:blur(10px)}
.rotating-banner__number{display:inline-flex;padding:.35rem .7rem;background:#09253a;color:#fff;border-radius:999px;font-size:.75rem;font-weight:900;letter-spacing:.12em}
.rotating-banner h2{margin:.75rem 0 .55rem;color:#09253a;font:800 clamp(2.1rem,4.5vw,4.6rem)/.98 'Playfair Display',Georgia,serif;letter-spacing:-.035em}
.rotating-banner p{max-width:800px;margin:.4rem 0 1.25rem;color:#0057b8;font-size:18px;font-weight:800;line-height:1.42;text-wrap:pretty}
.rotating-banner__button{display:inline-flex;align-items:center;gap:.65rem;padding:.85rem 1.15rem;background:#119447;color:#fff!important;border:2px solid #073b22;border-radius:11px;box-shadow:5px 5px 0 #073b22;font-size:1rem;font-weight:900;text-decoration:none!important;transition:transform .2s,box-shadow .2s,background .2s}
.rotating-banner__button:hover,.rotating-banner__button:focus-visible{background:#087a39;transform:translate(-2px,-2px);box-shadow:7px 7px 0 #073b22}
.rotating-banner__button span{font-size:1.35rem;line-height:.7}

/* Controles */
.rotating-banners__controls{position:absolute;z-index:5;right:clamp(1rem,5vw,5rem);bottom:1.25rem;display:flex;align-items:center;gap:.65rem;padding:.55rem;background:rgba(9,37,58,.9);border:1px solid rgba(255,255,255,.35);border-radius:999px;box-shadow:0 9px 30px rgba(0,0,0,.28);backdrop-filter:blur(9px)}
.rotating-banners__controls>button{display:grid;place-items:center;min-width:40px;height:40px;padding:0 .75rem;background:#fff;color:#09253a;border:0;border-radius:999px;font-weight:900;cursor:pointer}
.rotating-banners__controls>button:hover,.rotating-banners__controls>button:focus-visible{background:#14e7c9;outline:2px solid #fff;outline-offset:2px}
.rotating-banners__status{display:flex;align-items:center;gap:.35rem;color:#fff;font-weight:800}
.rotating-banners__status strong{font-size:1.1rem}.rotating-banners__status span{color:#a9c2cf;font-size:.8rem}
.rotating-banners__status i{position:relative;display:block;width:70px;height:4px;margin-left:.35rem;overflow:hidden;background:rgba(255,255,255,.25);border-radius:99px}
.rotating-banners__status i b{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:#14e7c9}
.rotating-banners.is-running .rotating-banners__status i b{animation:banner-progress var(--banner-delay,7500ms) linear forwards}
.rotating-banners__controls .rotating-banners__pause{min-width:72px;background:#eaff96;font-size:.75rem}
@keyframes banner-progress{to{transform:scaleX(1)}}

/* Painel administrativo */
.banner-admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.2rem}.banner-admin-head h1{margin:.25rem 0}.banner-admin-head p{max-width:760px;color:var(--muted)}
.banner-admin-settings{border:2px solid var(--ink);box-shadow:7px 7px 0 var(--cyan)}
.banner-admin-list{display:grid;gap:.8rem;margin-top:1.6rem}
.banner-admin-card{overflow:hidden;background:#fff;border:2px solid var(--ink);border-radius:18px;box-shadow:4px 4px 0 #bfd9e5}
.banner-admin-card[open]{box-shadow:7px 7px 0 var(--cyan)}
.banner-admin-card summary{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:1rem;padding:.75rem;cursor:pointer;list-style:none}.banner-admin-card summary::-webkit-details-marker{display:none}
.banner-admin-card summary img{width:150px;height:72px;object-fit:cover;border:1px solid var(--ink);border-radius:10px}
.banner-admin-card summary span{display:grid}.banner-admin-card summary b{font-family:'Playfair Display',Georgia,serif;font-size:1.1rem}.banner-admin-card summary small{color:var(--muted)}.banner-admin-card summary em{color:var(--blue);font-style:normal;font-weight:900}
.banner-admin-form{padding:1.1rem;border-top:1px solid var(--line);background:#f6fbfc}.banner-admin-form textarea{min-height:180px;color:#0057b8;font-size:18px;font-weight:800}

/* Responsividade e acessibilidade */
@media(max-width:900px){.rotating-banners__viewport{min-height:700px}.rotating-banner__veil{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.68))}.rotating-banner__content{width:88%;margin:0 auto}.banner-admin-head{display:block}}
@media(max-width:620px){.rotating-banners__viewport{min-height:860px}.rotating-banner{align-items:start;padding-top:1.5rem}.rotating-banner__content{width:92%;padding:1.25rem;border-radius:24px 6px;box-shadow:8px 8px 0 rgba(9,37,58,.9),14px 14px 0 rgba(20,231,201,.62)}.rotating-banner h2{font-size:2.35rem}.rotating-banner p{font-size:18px;line-height:1.36}.rotating-banners__controls{left:50%;right:auto;bottom:.8rem;transform:translateX(-50%);white-space:nowrap}.rotating-banners__status i{width:35px}.rotating-banners__controls .rotating-banners__pause{display:none}.banner-admin-card summary{grid-template-columns:85px 1fr}.banner-admin-card summary img{width:85px;height:60px}.banner-admin-card summary em{display:none}}
@media(prefers-reduced-motion:reduce){.rotating-banner{transition:none}.rotating-banners__status i b{animation:none!important}}
