/* GG Cookie Consent Banner */
.gg-cookie-banner { position: fixed; z-index: 999999; background: var(--gg-cookie-bg, #fff); color: var(--gg-cookie-text, #1e293b); box-shadow: 0 -4px 20px rgba(0,0,0,0.1); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 14px; line-height: 1.5; transition: transform 0.3s ease, opacity 0.3s ease; }
.gg-cookie-banner[style*="display:none"] { transform: translateY(100%); opacity: 0; }

/* Positions */
.gg-cookie-pos-bottom { bottom: 0; left: 0; right: 0; }
.gg-cookie-pos-top { top: 0; left: 0; right: 0; box-shadow: 0 4px 20px rgba(0,0,0,0.1); }
.gg-cookie-pos-bottom-left { bottom: 20px; left: 20px; max-width: 420px; border-radius: 12px; }
.gg-cookie-pos-bottom-right { bottom: 20px; right: 20px; max-width: 420px; border-radius: 12px; }

/* Layouts */
.gg-cookie-bar .gg-cookie-inner { display: flex; align-items: center; gap: 20px; padding: 16px 24px; max-width: 1200px; margin: 0 auto; }
.gg-cookie-box .gg-cookie-inner { padding: 24px; }
.gg-cookie-box .gg-cookie-actions { margin-top: 16px; }

/* Content */
.gg-cookie-title { margin: 0 0 4px; font-size: 16px; font-weight: 700; }
.gg-cookie-message { margin: 0; font-size: 13px; opacity: 0.85; }
.gg-cookie-message a { color: inherit; text-decoration: underline; }

/* Buttons */
.gg-cookie-actions { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.gg-cookie-btn { padding: 10px 20px; border: none; border-radius: 6px; font-size: 13px; font-weight: 600; cursor: pointer; transition: opacity 0.2s; white-space: nowrap; }
.gg-cookie-btn:hover { opacity: 0.85; }
.gg-cookie-accept { background: var(--gg-cookie-btn, #dc2626); color: var(--gg-cookie-btn-text, #fff); }
.gg-cookie-btn-secondary { background: transparent; border: 1px solid var(--gg-cookie-text, #1e293b); color: var(--gg-cookie-text, #1e293b); }
.gg-cookie-btn-link { background: transparent; color: var(--gg-cookie-text, #1e293b); text-decoration: underline; padding: 10px 8px; }

/* Preferences panel */
.gg-cookie-preferences { padding: 20px 24px; border-top: 1px solid rgba(0,0,0,0.1); }
.gg-cookie-preferences h3 { margin: 0 0 12px; font-size: 15px; }
.gg-cookie-category { margin-bottom: 12px; padding: 10px; background: rgba(0,0,0,0.03); border-radius: 6px; }
.gg-cookie-category label { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.gg-cookie-category p { margin: 4px 0 0 26px; font-size: 12px; opacity: 0.7; }
.gg-cookie-required { font-size: 11px; color: #64748b; font-weight: 400; }
.gg-cookie-save-prefs { margin-top: 12px; }

/* Mobile */
@media (max-width: 768px) {
    .gg-cookie-bar .gg-cookie-inner { flex-direction: column; align-items: stretch; }
    .gg-cookie-pos-bottom-left, .gg-cookie-pos-bottom-right { left: 10px; right: 10px; max-width: none; }
}
