/* Banner de consentimento de cookies (gp-consent.js). Cópia igual nos sites gestplus.pt e microplus.pt. */
.gpc {
    --gpc-bg: #ffffff; --gpc-fg: #1d2333; --gpc-muted: #5d667a; --gpc-line: #e1e5ee;
    --gpc-b1: #1f4fd6; --gpc-b1-fg: #ffffff; --gpc-sw: #c9cfdb;
    position: fixed; z-index: 2147483000; left: 0; right: 0; bottom: 0;
    padding: 0 max(12px, env(safe-area-inset-right, 0px)) max(12px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
    pointer-events: none; font-family: inherit;
}
@media (prefers-color-scheme: dark) {
    .gpc { --gpc-bg: #1b2030; --gpc-fg: #e8ebf3; --gpc-muted: #a3abbd; --gpc-line: #2d3447; --gpc-b1: #6f8fff; --gpc-b1-fg: #0e1220; --gpc-sw: #475069; }
}
[data-bs-theme="dark"] .gpc { --gpc-bg: #1b2030; --gpc-fg: #e8ebf3; --gpc-muted: #a3abbd; --gpc-line: #2d3447; --gpc-b1: #6f8fff; --gpc-b1-fg: #0e1220; --gpc-sw: #475069; }
.gpc-caixa {
    pointer-events: auto; max-width: 760px; margin: 0 auto; background: var(--gpc-bg); color: var(--gpc-fg);
    border: 1px solid var(--gpc-line); border-radius: 12px; box-shadow: 0 10px 40px rgba(15, 22, 40, .22);
    padding: 18px 20px 14px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.45;
}
.gpc-titulo { margin: 0; font-weight: 700; font-size: 15px; }
.gpc-texto { margin: 0; color: var(--gpc-muted); }
.gpc-detalhe { display: flex; flex-direction: column; border-top: 1px solid var(--gpc-line); }
.gpc-detalhe[hidden], .gpc-b[hidden] { display: none !important; }
.gpc-cat { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--gpc-line); cursor: default; }
label.gpc-cat { cursor: pointer; }
.gpc-cat div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gpc-cat span { color: var(--gpc-muted); font-size: 13px; }
.gpc-sempre { font-size: 12px !important; font-weight: 600; white-space: nowrap; }
.gpc-sw { appearance: none; -webkit-appearance: none; flex: none; width: 40px; height: 22px; border-radius: 999px; background: var(--gpc-sw); position: relative; cursor: pointer; transition: background .15s; margin: 0; }
.gpc-sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .15s; }
.gpc-sw:checked { background: var(--gpc-b1); }
.gpc-sw:checked::after { transform: translateX(18px); }
.gpc-acoes { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.gpc-b {
    font: inherit; font-weight: 600; font-size: 14px; padding: 8px 16px; border-radius: 8px; cursor: pointer;
    border: 1px solid var(--gpc-b1); background: transparent; color: var(--gpc-b1); min-width: 120px;
}
.gpc-b1 { background: var(--gpc-b1); color: var(--gpc-b1-fg); }
.gpc-b:focus-visible, .gpc-sw:focus-visible { outline: 2px solid var(--gpc-b1); outline-offset: 2px; }
.gpc-links { margin: 0; font-size: 12px; color: var(--gpc-muted); }
.gpc-links a { color: inherit; text-decoration: underline; }
@media (max-width: 520px) {
    .gpc-acoes { flex-direction: column-reverse; }
    .gpc-b { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .gpc-sw, .gpc-sw::after { transition: none; } }
