.collab-central { background: #f4f7fb; color: #071b3a; }
.collab-hero { position: relative; overflow: hidden; background: linear-gradient(125deg, #071b3a 0%, #102f68 68%, #244786 100%); color: #fff; }
.collab-hero::after { content: "11555"; position: absolute; right: -1rem; bottom: -4rem; color: rgba(255,255,255,.08); font-size: clamp(10rem, 28vw, 24rem); font-weight: 950; line-height: .8; pointer-events: none; }
.collab-hero__inner, .collab-section__inner, .collab-final__inner { position: relative; z-index: 1; width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.collab-hero__inner { padding: clamp(4rem, 10vw, 8rem) 0; }
.collab-hero h1 { max-width: 720px; margin: .5rem 0 1rem; font-size: clamp(2.7rem, 7vw, 5.8rem); line-height: .95; letter-spacing: -.05em; }
.collab-hero p:not(.section-kicker) { max-width: 650px; margin: 0 0 2rem; color: rgba(255,255,255,.84); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.collab-section { padding: clamp(3.5rem, 8vw, 6rem) 0; }
.collab-section h2, .collab-final h2 { margin: .4rem 0 2rem; font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1; letter-spacing: -.04em; }
.collab-participation { background: #fff; }
.collab-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.collab-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 290px; padding: clamp(1.35rem, 3vw, 2rem); border: 1px solid rgba(7,27,58,.1); border-radius: 28px; background: #fff; box-shadow: 0 14px 36px rgba(7,27,58,.08); transition: transform .2s ease, box-shadow .2s ease; }
.collab-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(7,27,58,.14); }
.collab-card__icon { display: grid; width: 58px; height: 58px; place-items: center; margin-bottom: 1.25rem; border-radius: 18px; background: #f8ca3d; color: #071b3a; }
.collab-card__icon svg { width: 30px; height: 30px; }
.collab-card h3 { margin: 0 0 .65rem; font-size: 1.35rem; }
.collab-card p { margin: 0 0 1.5rem; color: #52647d; line-height: 1.55; }
.collab-card .button { margin-top: auto; }
.collab-card .button--secondary, .collab-final .button--secondary { background: #f8ca3d; color: #071b3a; border-color: #f8ca3d; }
.collab-card .button--secondary:hover, .collab-card .button--secondary:focus-visible, .collab-final .button--secondary:hover, .collab-final .button--secondary:focus-visible { background: #e7b62b; border-color: #e7b62b; }
.collab-materials { background: #f4f7fb; }
.collab-material-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.collab-material-link { display: grid; min-height: 130px; place-items: center; border: 1px solid rgba(7,27,58,.1); border-radius: 22px; background: #fff; color: #173b78; font-weight: 900; text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.collab-material-link:hover { transform: translateY(-4px); border-color: #f8ca3d; }
.collab-final { background: #f8ca3d; }
.collab-final__inner { padding: clamp(3rem, 7vw, 5rem) 0; }
.collab-final p { max-width: 560px; margin: 0 0 1.5rem; color: #17304e; font-size: 1.15rem; }
.collab-muted { color: #52647d; }
@media (max-width: 700px) { .collab-cards { grid-template-columns: 1fr; } .collab-card { min-height: 0; } .collab-material-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .collab-hero::after { right: -2rem; bottom: -1rem; font-size: 11rem; } }

/* Central de materiais */
.materials-page { overflow-x: hidden; }
.materials-hero { position: relative; overflow: hidden; background: linear-gradient(120deg, #071b3a 0%, #0d2d63 62%, #174a82 100%); color: var(--white); }
.materials-hero::before { content: ""; position: absolute; width: 34rem; height: 34rem; right: -12rem; top: -13rem; border: 2rem solid rgba(248,202,61,.82); border-radius: 50%; transform: rotate(-18deg); }
.materials-hero::after { content: "11555"; position: absolute; right: -1rem; bottom: -4rem; color: rgba(255,255,255,.08); font-size: clamp(10rem, 28vw, 24rem); font-weight: 950; line-height: .8; pointer-events: none; }
.materials-hero__inner { padding: clamp(4rem, 10vw, 8rem) 0 clamp(4rem, 9vw, 7rem); }
.materials-hero h1 { max-width: 850px; font-size: clamp(2.65rem, 7vw, 6rem); line-height: .82; text-transform: none; }
.materials-participation { background: #fff; }
.materials-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.materials-card { display: flex; flex-direction: column; min-height: 370px; padding: 1.15rem; border: 1px solid rgba(7,27,58,.1); border-radius: 28px; background: #fff; color: #071b3a; text-align: left; text-decoration: none; cursor: pointer; box-shadow: 0 14px 34px rgba(7,27,58,.08); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.materials-card:hover, .materials-card:focus-visible { transform: translateY(-6px); border-color: #f8ca3d; box-shadow: 0 22px 44px rgba(7,27,58,.15); outline: none; }
.material-visual { position: relative; display: block; height: 150px; margin-bottom: 1.2rem; overflow: hidden; border-radius: 20px; background: #edf2f7; }
.material-visual::after { content: ""; position: absolute; inset: auto -18% -48% 18%; height: 130%; border-radius: 50%; background: rgba(248,202,61,.8); transform: rotate(-10deg); }
.material-visual--photo { background: linear-gradient(145deg, #0d2d63, #1d5c7e); }
.visual-photo-frame { position: absolute; z-index: 1; left: 18%; top: 18%; width: 58%; height: 72%; border: 8px solid #fff; border-radius: 16px; background: linear-gradient(145deg,#e0f0f5 0 45%,#4f8067 46% 100%); transform: rotate(-7deg); }
.visual-photo-frame::after { content: ""; position: absolute; width: 34px; height: 34px; left: 50%; top: 28%; border-radius: 50%; background: #f1ba91; box-shadow: 0 35px 0 12px #173b78; transform: translateX(-50%); }
.visual-photo-sun { position: absolute; z-index: 1; right: 14%; top: 18%; width: 34px; height: 34px; border-radius: 50%; background: #f8ca3d; }
.material-visual--post { padding: 1.2rem 1.5rem; background: #f8ca3d; }
.visual-post-bar { display: block; width: 76%; height: 26px; border-radius: 6px; background: #071b3a; }
.visual-post-line { display: block; width: 86%; height: 15px; margin-top: 18px; border-radius: 99px; background: #fff; }
.visual-post-line.short { width: 58%; margin-top: 10px; }
.material-visual--stories { display: grid; place-items: center; background: #e5edf6; }
.visual-phone { position: relative; z-index: 1; display: block; width: 78px; height: 128px; border: 6px solid #071b3a; border-radius: 15px; background: linear-gradient(160deg,#f8ca3d 0 42%,#fff 43% 100%); box-shadow: 0 10px 22px rgba(7,27,58,.2); }
.visual-phone::before { content: ""; position: absolute; top: 6px; left: 50%; width: 24px; height: 4px; border-radius: 4px; background: #071b3a; transform: translateX(-50%); }
.visual-phone i { position: absolute; left: 12px; bottom: 18px; width: 50px; height: 10px; border-radius: 99px; background: #173b78; }
.visual-phone b { position: absolute; left: 12px; bottom: 36px; width: 35px; height: 8px; border-radius: 99px; background: #0d8b4b; }
.material-visual--facebook { padding: 1.25rem; background: #eef2f8; }
.visual-cover { display: block; height: 56px; border-radius: 10px 10px 3px 3px; background: linear-gradient(120deg,#0d2d63,#f8ca3d); }
.visual-avatar { position: absolute; z-index: 1; left: 1.7rem; top: 3.7rem; width: 50px; height: 50px; border: 5px solid #fff; border-radius: 50%; background: #f1ba91; }
.visual-profile-line { display: block; width: 55%; height: 12px; margin: 26px 0 0 76px; border-radius: 99px; background: #173b78; }
.material-visual--whatsapp { padding: 1.25rem 1.5rem; background: #e4f5eb; }
.visual-chat { display: block; width: 72%; height: 28px; margin: 7px 0; border-radius: 8px 8px 8px 2px; background: #fff; box-shadow: 0 2px 5px rgba(7,27,58,.07); }
.visual-chat.short { width: 52%; margin-left: auto; border-radius: 8px 8px 2px 8px; background: #bde4c9; }
.visual-chat.green { width: 64%; }
.material-visual--print { background: #f3f5f8; }
.visual-paper { position: absolute; z-index: 1; left: 29%; top: 13%; width: 42%; height: 78%; padding: 15px 12px; background: #fff; box-shadow: 8px 9px 0 #d6deea; transform: rotate(4deg); }
.visual-paper i, .visual-paper b, .visual-paper em { display: block; height: 10px; margin-bottom: 9px; border-radius: 99px; background: #173b78; }
.visual-paper b { width: 72%; background: #f8ca3d; }
.visual-paper em { width: 88%; height: 42px; border-radius: 4px; background: #dce8f0; }
.visual-print-shadow { position: absolute; right: 12%; bottom: 8%; width: 45%; height: 15px; border-radius: 50%; background: rgba(7,27,58,.16); filter: blur(6px); }
.materials-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.materials-card__body strong { margin-bottom: .55rem; font-size: 1.15rem; line-height: 1.15; }
.materials-card__body > span:not(.materials-card__action) { color: #52647d; line-height: 1.5; }
.materials-card__action { margin-top: auto; padding-top: 1.2rem; color: #173b78; font-weight: 900; }
.materials-news { background: #f8ca3d; color: #071b3a; }
.materials-news__inner { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2.2rem, 5vw, 3.5rem) 0; }
.materials-news .section-kicker { color: #071b3a; }
.materials-news h2 { margin: .35rem 0 .55rem; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1; }
.materials-news p:last-child { max-width: 620px; margin: 0; font-size: 1.1rem; }
.materials-panels { background: #f4f7fb; }
.posts-gallery { padding-top: 1.2rem; }
.materials-panel-list { display: grid; gap: .8rem; max-width: 900px; }
.materials-panel { overflow: hidden; border: 1px solid rgba(7,27,58,.1); border-radius: 20px; background: #fff; }
.materials-panel__toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.35rem; border: 0; background: transparent; color: #071b3a; font: inherit; font-weight: 900; text-align: left; cursor: pointer; }
.materials-panel__toggle span:last-child { color: #e7ad00; font-size: 1.6rem; line-height: 1; }
.materials-panel__toggle:focus-visible { outline: 3px solid rgba(248,202,61,.8); outline-offset: -3px; }
.materials-panel__content { padding: 0 1.35rem 1.35rem; }
.materials-empty { padding: 1.5rem; border-radius: 14px; background: #f4f7fb; color: #52647d; text-align: center; }
.campaign-materials-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; width: 100%; }
.campaign-material-card { min-width: 0; overflow: hidden; border: 1px solid rgba(7,27,58,.1); border-radius: 18px; background: #f4f7fb; }
.campaign-material-card img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
.campaign-material-card__actions { display: flex; align-items: stretch; gap: clamp(.4rem, 1vw, .5rem); padding: .6rem .65rem .65rem; }
.campaign-material-action { display: inline-flex; min-width: 0; height: 45px; align-items: center; justify-content: center; gap: clamp(.25rem, .55vw, .35rem); padding: 0 clamp(.25rem, .6vw, .5rem); box-sizing: border-box; border: 1px solid #173b78; border-radius: 11px; font: inherit; font-size: clamp(.875rem, .8vw, .9375rem); font-weight: 600; line-height: 1; white-space: nowrap; text-align: center; text-decoration: none; cursor: pointer; }
.campaign-material-action--download { flex: 0 1 37%; background: #173b78; color: #fff; }
.campaign-material-action--share { flex: 1 1 63%; background: #fff; color: #173b78; }
.campaign-material-action__icon { flex: 0 0 auto; width: clamp(.875rem, 1.1vw, 1rem); height: clamp(.875rem, 1.1vw, 1rem); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.campaign-material-action--share.is-preparing .campaign-material-action__icon { display: none; }
.campaign-material-action--share.is-preparing::before { content: ""; flex: 0 0 auto; width: .75rem; height: .75rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: material-share-loading .75s linear infinite; }
.campaign-material-action--share:disabled { cursor: wait; opacity: .72; }
@keyframes material-share-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .campaign-material-action--share.is-preparing::before { animation-duration: 1.5s; } }
.campaign-material-action:hover, .campaign-material-action:focus-visible { border-color: #e7ad00; outline: 3px solid rgba(248,202,61,.45); outline-offset: 2px; }
.campaign-materials-status { min-height: 1.3em; margin: .8rem 0 0; color: #52647d; font-size: .82rem; }
.materials-modal[hidden] { display: none; }
.materials-modal-open { overflow: hidden; }
.materials-modal { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; padding: 1rem; }
.materials-modal__backdrop { position: absolute; inset: 0; background: rgba(7,27,58,.78); }
.materials-modal__dialog { position: relative; z-index: 1; width: min(100%, 720px); max-height: calc(100vh - 2rem); overflow: auto; padding: 1.3rem; border-radius: 24px; background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.3); }
.materials-modal__close { position: absolute; right: .7rem; top: .55rem; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #071b3a; color: #fff; font-size: 1.6rem; cursor: pointer; }
.materials-modal__preview { display: grid; min-height: 180px; place-items: center; border-radius: 16px; background: #f4f7fb; }
.materials-modal__preview img { max-height: 58vh; object-fit: contain; }
.materials-modal h2 { margin: 1rem 0; color: #071b3a; }
.materials-modal .button { display: inline-flex; }
@media (max-width: 900px) { .materials-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .materials-cards { grid-template-columns: 1fr; } .materials-card { min-height: 0; } .material-visual { height: 138px; } .materials-hero::before { width: 22rem; height: 22rem; right: -11rem; top: -8rem; border-width: 1.1rem; } .materials-hero::after { right: -2rem; bottom: -1rem; font-size: 11rem; } .materials-news__inner { padding-right: .5rem; padding-left: .5rem; } .materials-panel__content { padding-right: .75rem; padding-left: .75rem; } .campaign-materials-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; } .campaign-material-card__actions { flex-direction: column; gap: .375rem; padding: .5rem; } .campaign-material-action { flex-basis: auto; width: 100%; height: 44px; gap: .3rem; padding: 0 .35rem; font-size: .875rem; } .campaign-material-action__icon { width: .875rem; height: .875rem; } }
@media (prefers-reduced-motion: reduce) { .materials-card { transition: none; } }
