/*
 * ========================================================================
 * Copyright Universidade Federal do Espirito Santo (Ufes)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see https://www.gnu.org/licenses/.
 *
 * This program is released under license GNU GPL v3+ license.
 *
 * ========================================================================
 */

:root { --primary-color: #5d058b; --accent-color: #f47920; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .6; }
:focus-visible { outline: 2px solid color-mix(in srgb, var(--primary-color) 4%, #868686); outline-offset: 2px; }
input:focus-visible, textarea:focus-visible { outline: 1px solid color-mix(in srgb, var(--primary-color) 4%, #9a9a9a); outline-offset: 0; }
.logos { display: flex; justify-content: center; gap: 24px; }
.logos img { max-width: 180px; max-height: 80px; object-fit: contain; }
button.enviar { background: var(--primary-color); color: white; }

.privacy-notice { font-size: 11px; color: color-mix(in srgb, var(--primary-color) 4%, #5e5e5e); margin: 6px auto; max-width: 540px; }
.privacy-notice summary { cursor: pointer; }
.privacy-notice p { margin: 6px 0; }

.privacy-banner { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 12px; background: #f4f6f5; color: #303a35; border-radius: 8px; font: 12px/1.4 system-ui, sans-serif; text-align: left; }
.privacy-banner p { flex: 1; margin: 0; min-width: 160px; }
.privacy-banner > button { padding: 8px 12px; border: 0; border-radius: 6px; background: #305b46; color: white; min-height: 40px; }
.privacy-more { padding: 0; background: transparent; color: inherit; border: 0; text-decoration: underline; }
.privacy-dialog { width: min(520px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid #c9cfcc; border-radius: 16px; background: #fff; color: #303a35; font: 14px/1.5 system-ui, sans-serif; }
.privacy-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.privacy-dialog h2 { margin: 0 0 12px; font-size: 20px; }
.privacy-dialog a { color: inherit; text-decoration: underline; }
.privacy-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.privacy-actions button { background: #305b46; color: white; border: 1px solid #305b46; border-radius: 8px; padding: 10px 16px; min-height: 44px; }
.privacy-actions .privacy-close { background: transparent; color: inherit; border-color: #a5b1aa; }
.privacy-settings { background: transparent; border: 0; color: color-mix(in srgb, var(--primary-color) 6%, #525252); font-size: 11px; text-decoration: underline; padding: 4px 8px; }
.privacy-error { color: #963a23; flex-basis: 100%; }
[data-theme="dark"] .privacy-banner, [data-theme="dark"] .privacy-dialog { background: #29332e; color: #e5ece8; }
@media (max-width: 600px) { .privacy-dialog { padding: 16px; } }
