/* RWC POPIA Consent Popup Styles */
.rwc-popia-overlay { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.82); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); padding: 16px; overflow-y: auto; }
.rwc-popia-overlay.rwc-hidden { display: none !important; }
body.rwc-popia-locked { overflow: hidden !important; height: 100vh !important; }
.rwc-popia-modal { background: #ffffff; border-radius: 16px; width: 100%; max-width: 560px; box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08); animation: rwc-slideUp 0.45s cubic-bezier(0.16, 1, 0.3, 1); overflow: hidden; }
@keyframes rwc-slideUp { from { opacity: 0; transform: translateY(30px) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
.rwc-popia-header { display: flex; align-items: center; gap: 12px; padding: 24px 28px 16px; border-bottom: 1px solid #f0f0f0; }
.rwc-popia-icon { width: 28px; height: 28px; color: #1a6b3c; flex-shrink: 0; }
#rwc-popia-title { font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; font-size: 20px; font-weight: 700; color: #1a1a2e; margin: 0; line-height: 1.3; }
.rwc-popia-badge { display: inline-block; background: linear-gradient(135deg, #1a6b3c, #2e8b57); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: 0.8px; padding: 4px 10px; border-radius: 6px; flex-shrink: 0; }
.rwc-popia-body { padding: 24px 28px; }
.rwc-popia-officer { font-size: 14px; color: #555; margin: 0 0 16px; padding: 10px 14px; background: #f7faf8; border-left: 3px solid #1a6b3c; border-radius: 0 8px 8px 0; }
.rwc-popia-officer strong { color: #1a1a2e; }
.rwc-popia-policy-link { font-size: 14px; color: #444; margin: 0 0 24px; line-height: 1.6; }
.rwc-popia-policy-link a { color: #1a6b3c; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.rwc-popia-policy-link a:hover { color: #145530; }
.rwc-popia-checkbox-label { display: flex; align-items: flex-start; gap: 14px; cursor: pointer; padding: 16px; border: 2px solid #e0e0e0; border-radius: 12px; transition: border-color 0.25s, background 0.25s; position: relative; }
.rwc-popia-checkbox-label:hover { border-color: #1a6b3c; background: #f7faf8; }
.rwc-popia-checkbox-label input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.rwc-popia-checkmark { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; min-width: 24px; border: 2.5px solid #333; border-radius: 6px; background: #fff; transition: all 0.2s; margin-top: 1px; }
.rwc-popia-checkmark::after { content: ''; display: none; width: 6px; height: 11px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); margin-bottom: 2px; }
.rwc-popia-checkbox-label input:checked ~ .rwc-popia-checkmark { background: #1a6b3c; border-color: #1a6b3c; }
.rwc-popia-checkbox-label input:checked ~ .rwc-popia-checkmark::after { display: block; }
.rwc-popia-checkbox-label input:checked ~ .rwc-popia-consent-text { color: #1a1a2e; }
.rwc-popia-consent-text { font-size: 14px; line-height: 1.6; color: #444; }
.rwc-popia-consent-text a { color: #1a6b3c; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.rwc-popia-warning { display: none; margin-top: 20px; padding: 14px 16px; background: #fff5f5; border: 1px solid #e53e3e; border-radius: 10px; color: #c53030; font-size: 13px; line-height: 1.65; font-weight: 500; animation: rwc-flash 0.6s ease-in-out 3; }
.rwc-popia-warning.rwc-visible { display: block; }
@keyframes rwc-flash { 0%, 100% { opacity: 1; background: #fff5f5; } 50% { opacity: 0.5; background: #fed7d7; } }
.rwc-popia-warning.rwc-reflash { animation: none; }
.rwc-popia-footer { padding: 0 28px 24px; }
.rwc-popia-btn { display: block; width: 100%; padding: 14px 24px; background: linear-gradient(135deg, #1a6b3c, #2e8b57); color: #ffffff; font-size: 15px; font-weight: 700; letter-spacing: 0.3px; border: none; border-radius: 10px; cursor: pointer; transition: transform 0.15s, box-shadow 0.2s; box-shadow: 0 4px 14px rgba(26, 107, 60, 0.3); }
.rwc-popia-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(26, 107, 60, 0.4); }
.rwc-popia-btn:active { transform: translateY(0); }
@media (max-width: 480px) { .rwc-popia-modal { border-radius: 12px; } .rwc-popia-header { padding: 20px 20px 14px; flex-wrap: wrap; } #rwc-popia-title { font-size: 17px; } .rwc-popia-body { padding: 20px; } .rwc-popia-checkbox-label { padding: 12px; gap: 10px; } .rwc-popia-footer { padding: 0 20px 20px; } }
