/* Colaboração — proposta Apresentação + envio. Corpo fora dos resets comerciais. */
html.vcp-contribute-document { min-width:0; width:auto; max-width:100%; background:#fff; }
html body.vcp-template-contribute { box-sizing:border-box; min-width:0; width:auto; max-width:100%; margin:0; padding:0; background:#f5faff; }
.vcp-contribute-page { display:flex; flex-direction:column; min-height:100vh; min-height:100svh; min-width:0; width:100%; color:#112849; background:radial-gradient(ellipse at 20% 30%,#edf7ff,transparent 70%),#f6faff; font:400 17px/1.6 Barlow,Inter,system-ui,sans-serif; }
.vcp-contribute-page *, .vcp-contribute *, .vcp-contribute *::before, .vcp-contribute *::after { box-sizing:border-box; }
.vcp-contribute-page__header { flex:none; background:#fff; }
.vcp-contribute-page__main { flex:1 0 auto; width:calc(100% - 80px); max-width:1360px; min-width:0; margin:0 auto; padding:40px 0; }
.vcp-contribute { display:grid; grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr); align-items:start; gap:56px; color:#112849; font:400 17px/1.6 Barlow,Inter,system-ui,sans-serif; overflow-wrap:anywhere; }
.vcp-contribute > * { min-width:0; }
.vcp-contribute__intro { padding:24px 0 12px; }
.vcp-contribute__logo { margin:0 0 28px; }
.vcp-contribute .vcp-contribute__logo-image { display:block; width:210px; max-width:100%; height:auto; max-height:96px; object-fit:contain; object-position:left center; }
.vcp-contribute__logo-text { display:inline-flex; flex-direction:column; color:#00598d; line-height:1.2; }
.vcp-contribute__logo-text strong { font:800 48px/1 Barlow,Inter,system-ui,sans-serif; letter-spacing:2px; }
.vcp-contribute__logo-text > span { margin-top:6px; font:600 13px/1.3 Barlow,Inter,system-ui,sans-serif; }
.vcp-contribute h1 { font:700 clamp(34px,3.1vw,46px)/1.1 Barlow,Inter,system-ui,sans-serif; color:#0c2248; letter-spacing:-.025em; text-transform:none; margin:0 0 20px; padding:0; }
.vcp-contribute .vcp-contribute__lead { color:#536b8b; font:400 20px/1.5 Barlow,Inter,system-ui,sans-serif; margin:0; }
.vcp-contribute__guidance { display:grid; gap:24px; margin:28px 0 0; }
.vcp-contribute__info { display:flex; align-items:flex-start; gap:20px; border-left:4px solid #009df3; padding:5px 0 5px 18px; }
.vcp-contribute__info > div { min-width:0; flex:1; }
.vcp-contribute__icon { width:54px; height:54px; flex:none; border-radius:50%; padding:14px; color:#0086e6; background:#e2f2ff; }
.vcp-contribute__icon svg { width:100%; height:100%; display:block; }
.vcp-contribute__info h2 { color:#00558e; font:700 21px/1.25 Barlow,Inter,system-ui,sans-serif; margin:0 0 8px; padding:0; text-transform:none; letter-spacing:0; }
.vcp-contribute__info p { color:#536b8b; font:400 17px/1.5 Barlow,Inter,system-ui,sans-serif; margin:0; }
.vcp-contribute__back { display:inline-flex; align-items:center; gap:10px; margin:28px 0 0; min-height:44px; color:#0079d9; font-weight:500; text-decoration:none; }
.vcp-contribute__back:hover { color:#00569c; text-decoration:underline; }
.vcp-contribute__panel { border:1px solid #c3e0fc; border-radius:14px; padding:28px; background:#fff; box-shadow:0 10px 32px #2479ba06; }
.vcp-contribute__panel > h2 { margin:0 0 18px; color:#0c2248; font:700 32px/1.2 Barlow,Inter,system-ui,sans-serif; letter-spacing:-.02em; text-transform:none; }
.vcp-contribute .vcp-contribute__notice { display:flex; align-items:flex-start; gap:14px; background:#eef7ff; border:1px solid #c3e0fc; border-radius:10px; padding:14px 16px; color:#00518c; font:500 16px/1.45 Barlow,Inter,system-ui,sans-serif; margin:0 0 18px; }
.vcp-contribute__notice > span { width:22px; height:22px; flex:none; margin-top:1px; border-radius:50%; background:#0088e6; color:white; text-align:center; font:700 16px/22px Barlow,Inter,system-ui,sans-serif; }
.vcp-contribute__form { min-width:0; --gf-color-primary:#007fec; --gf-color-primary-rgb:0,127,236; --gf-color-in-ctrl-primary:#112849; --gf-color-in-ctrl-secondary:#657b96; --gf-color-in-ctrl-border:#cbd9ea; --gf-radius:9px; --gf-font-family:Barlow,Inter,system-ui,sans-serif; --gf-font-size-primary:16px; --gf-ctrl-size:48px; --gf-form-gap-y:18px; }
.vcp-contribute__form .gform_wrapper { margin:0; max-width:100%; }
.vcp-contribute__form .gform_wrapper form { margin:0; }
.vcp-contribute__form .gform_wrapper .gfield { min-width:0; }
.vcp-contribute__form .gform_wrapper .gfield_label { color:#122b4d; font:600 16px/1.4 Barlow,Inter,system-ui,sans-serif; margin-bottom:8px; }
.vcp-contribute__form .gform_wrapper :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],select,textarea) { box-sizing:border-box; max-width:100%; min-width:0; border:1px solid #cbd9ea; border-radius:9px; padding:12px 14px; background:#fff; color:#112849; font:400 16px/1.45 Barlow,Inter,system-ui,sans-serif; box-shadow:none; }
.vcp-contribute__form .gform_wrapper input:not([type=hidden])::placeholder, .vcp-contribute__form .gform_wrapper textarea::placeholder { color:#71849e; opacity:1; }
.vcp-contribute .vcp-contribute__panel .vcp-contribute__form .gform_wrapper .gfield textarea { height:80px; min-height:80px; resize:vertical; }
.vcp-contribute__form .gform_wrapper input[type=file] { max-width:100%; font:inherit; }
.vcp-contribute__form .gform_wrapper .gform_drop_area { background:#f7fbff; border:1px dashed #a9c9eb; border-radius:10px; padding:26px 16px; text-align:center; margin:0; }
.vcp-contribute__form .gform_wrapper .gform_drop_instructions { color:#123b66; font:600 17px/1.5 Barlow,Inter,system-ui,sans-serif; }
.vcp-contribute__form .gform_wrapper .gform_button_select_files { border:1px solid #007eea; border-radius:9px; background:#007eea; color:white; font:600 16px/1.4 Barlow,Inter,system-ui,sans-serif; padding:12px 18px; min-height:46px; cursor:pointer; }
.vcp-contribute__form .gform_wrapper :is(.gfield_description,.ginput_counter) { color:#627998; font:400 14px/1.5 Barlow,Inter,system-ui,sans-serif; }
/* Textos auxiliares menores; campos e mensagens de erro conservam sua hierarquia. */
.vcp-contribute__form .gform_wrapper .gform_fields { row-gap:18px; }
.vcp-contribute__form .gform_wrapper :is(.gform_required_legend,.gform_fileupload_rules,.ginput_counter) { color:#5f748f; font:400 13px/1.45 Barlow,Inter,system-ui,sans-serif; }
.vcp-contribute__form .gform_wrapper .gform_required_legend { margin:0 0 12px; }
.vcp-contribute__form .gform_wrapper .gform_fileupload_rules { margin:8px 0 0; padding-top:0; }
.vcp-contribute__form .gform_wrapper .ginput_counter { margin-top:0; padding-top:6px; }
.vcp-contribute__form .gform_wrapper .gfield_validation_message, .vcp-contribute__form .gform_wrapper .validation_message { color:#9b1c24; }
.vcp-contribute__form .gform_wrapper .gfield_error :is(input:not([type=hidden]),textarea,select) { border-color:#bf2633; }
.vcp-contribute__form .gform_wrapper .gform_footer { margin:16px 0 0; padding:0; }
.vcp-contribute__form .gform_wrapper .gform_footer :is(input[type=submit],button[type=submit]) { width:100%; min-height:50px; margin:0; border:1px solid #007eea; border-radius:9px; background:#007eea; color:#fff; padding:13px 20px; font:600 18px/1.35 Barlow,Inter,system-ui,sans-serif; cursor:pointer; }
.vcp-contribute__form .gform_wrapper .gform_footer :is(input[type=submit],button[type=submit]):hover, .vcp-contribute__form .gform_wrapper .gform_button_select_files:hover { background:#006bcb; border-color:#006bcb; }
.vcp-contribute__form .gform_wrapper .gform_footer :is(input[type=submit],button[type=submit]):disabled { opacity:.65; cursor:wait; }
.vcp-contribute__form :is(.gform_confirmation_message,.gform_validation_errors,.gform_fileupload_rules,.ginput_preview,.ginput_preview_list) { max-width:100%; overflow-wrap:anywhere; }
.vcp-contribute__unavailable { padding:20px; border:1px solid #d3e3f2; border-radius:10px; background:#f8fbff; color:#49627e; }
.vcp-contribute-page__footer { background:white; border-top:1px solid #e0e9f3; }
.vcp-contribute-page__footer-inner { display:flex; align-items:center; justify-content:space-between; gap:16px 28px; width:calc(100% - 80px); max-width:1360px; margin:0 auto; padding:24px 0; color:#5d7290; font:400 13px/1.6 Barlow,Inter,system-ui,sans-serif; }
.vcp-contribute-page__footer-inner > * { min-width:0; overflow-wrap:anywhere; }
.vcp-contribute-page__footer nav { display:flex; flex-wrap:wrap; gap:12px 22px; }
.vcp-contribute-page__footer a { color:inherit; text-decoration:none; }
.vcp-contribute-page__footer a:hover { text-decoration:underline; }
.vcp-contribute-page__footer p { margin:0; }
.vcp-contribute :is(a,button,input,textarea,select):focus-visible, .vcp-contribute-page__footer a:focus-visible { outline:3px solid #0074d5; outline-offset:3px; }
.vcp-contribute-page__skip { position:fixed; z-index:100001; top:8px; left:16px; transform:translateY(-200%); background:#072654; color:#fff; padding:12px 18px; }
.vcp-contribute-page__skip:focus { transform:none; color:#fff; }
@media (max-width:1100px) {
 .vcp-contribute-page__main { width:calc(100% - 48px); padding:36px 0; }
 .vcp-contribute { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:30px; }
 .vcp-contribute__panel { padding:24px; }
 .vcp-contribute__info { gap:12px; padding-left:12px; }
 .vcp-contribute__icon { width:42px; height:42px; padding:10px; }
}
@media (max-width:900px) {
 .vcp-contribute { grid-template-columns:minmax(0,1fr); gap:28px; max-width:760px; margin:0 auto; }
 .vcp-contribute__intro { padding:0; }
 .vcp-contribute__logo { margin-bottom:22px; }
 .vcp-contribute h1 { font-size:36px; margin-bottom:14px; }
 .vcp-contribute__guidance { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:24px; }
 .vcp-contribute__info h2 { font-size:19px; }
 .vcp-contribute__info p { font-size:16px; }
 .vcp-contribute__back { margin-top:14px; }
 .vcp-contribute-page__footer-inner { width:calc(100% - 48px); flex-direction:column; text-align:center; gap:10px; }
 .vcp-contribute-page__footer nav { justify-content:center; }
}
@media (max-width:600px) {
 .vcp-contribute-page__main { width:calc(100% - 32px); padding:24px 0 32px; }
 .vcp-contribute { gap:20px; }
 .vcp-contribute .vcp-contribute__logo-image { width:164px; max-height:76px; }
 .vcp-contribute__logo-text strong { font-size:38px; }
 .vcp-contribute h1 { font-size:32px; }
 .vcp-contribute .vcp-contribute__lead { font-size:18px; }
 .vcp-contribute__guidance { grid-template-columns:minmax(0,1fr); gap:16px; margin-top:22px; }
 .vcp-contribute__info { padding-top:0; padding-bottom:0; }
 .vcp-contribute__icon { width:36px; height:36px; padding:8px; }
 .vcp-contribute__info h2 { font-size:18px; margin-bottom:4px; }
 .vcp-contribute__info p { font-size:15px; }
 .vcp-contribute__panel { padding:20px 16px; border-radius:12px; }
 .vcp-contribute__panel > h2 { font-size:27px; }
 .vcp-contribute .vcp-contribute__notice { padding:12px; font-size:15px; gap:10px; }
 .vcp-contribute__form .gform_wrapper .gform_fields { column-gap:12px; }
 .vcp-contribute__form .gform_wrapper .gform_fields > .gfield { grid-column:1 / -1; }
 .vcp-contribute__form .gform_wrapper .gform_drop_area { padding:22px 12px; }
 .vcp-contribute-page__footer-inner { width:calc(100% - 32px); }
}
