/* =====================================================================
   Ragazzo Control Panel® · Widget de consentimento de cookies/LGPD (skin própria)
   Banner inferior, agnóstico a tema (escopo .wc-consent). Usa a paleta do
   site (--bs-primary) quando disponível, com fallback seguro.
   ===================================================================== */
.wc-consent {
    --wcc-accent: var(--wc-widget-accent, var(--bs-primary, #0fac81));
    --wcc-accent-rgb: var(--wc-widget-accent-rgb, var(--bs-primary-rgb, 15, 172, 129));
    --wcc-surface: #ffffff;
    --wcc-text: #2c3a4b;
    --wcc-muted: #6b7a8d;
    --wcc-border: #e5e9f2;
    position: fixed;
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%) translateY(12px);
    width: min(960px, calc(100vw - 24px));
    z-index: 11500;
    opacity: 0;
    transition: opacity .22s ease, transform .22s ease;
    pointer-events: none;
}
.wc-consent.is-open {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}
.wc-consent[hidden] { display: none; }

.wc-consent-card {
    background: var(--wcc-surface);
    color: var(--wcc-text);
    border: 1px solid var(--wcc-border);
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .22);
    padding: 20px 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    align-items: center;
}
.wc-consent-body { flex: 1 1 360px; min-width: 260px; }

.wc-consent-head { display: flex; align-items: center; gap: 9px; margin-bottom: 6px; }
.wc-consent-ic { font-size: 1.25rem; line-height: 1; }
.wc-consent-title { margin: 0; font-size: 1.02rem; font-weight: 700; color: var(--wcc-text); }
.wc-consent-text { margin: 0; font-size: .86rem; line-height: 1.5; color: var(--wcc-muted); }
.wc-consent-policy { color: var(--wcc-accent); text-decoration: underline; white-space: nowrap; }

/* Preferências (toggles) */
.wc-consent-prefs { width: 100%; margin-top: 14px; display: grid; gap: 8px; }
.wc-consent-prefs[hidden] { display: none; }
.wc-consent-opt {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    border: 1px solid var(--wcc-border); border-radius: 10px;
    padding: 10px 14px; margin: 0; cursor: pointer; background: #fbfcfe;
}
.wc-consent-opt.is-locked { opacity: .85; cursor: not-allowed; }
.wc-consent-opt-txt { display: flex; flex-direction: column; }
.wc-consent-opt-txt b { font-size: .86rem; color: var(--wcc-text); font-weight: 600; }
.wc-consent-opt-txt small { font-size: .76rem; color: var(--wcc-muted); }
.wc-consent-opt input { width: 20px; height: 20px; accent-color: var(--wcc-accent); flex: 0 0 auto; cursor: inherit; }

/* Ações */
.wc-consent-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; flex: 0 0 auto; }
.wc-consent-btn {
    font: inherit; font-size: .84rem; font-weight: 600; line-height: 1;
    border-radius: 8px; padding: 11px 16px; cursor: pointer; border: 1px solid transparent;
    transition: filter .15s ease, background .15s ease, color .15s ease; white-space: nowrap;
}
.wc-consent-btn:hover { filter: brightness(.97); }
.wc-consent-btn-primary { background: var(--wcc-accent); color: #fff; }
.wc-consent-btn-soft { background: rgba(var(--wcc-accent-rgb), .10); color: var(--wcc-accent); }
.wc-consent-btn-ghost { background: transparent; color: var(--wcc-muted); border-color: var(--wcc-border); }
.wc-consent-btn[hidden] { display: none; }

@media (max-width: 575px) {
    .wc-consent { bottom: 0; width: 100vw; }
    .wc-consent-card { border-radius: 14px 14px 0 0; padding: 16px; }
    .wc-consent-actions { width: 100%; }
    .wc-consent-actions .wc-consent-btn { flex: 1 1 auto; text-align: center; }
}
