
#glp-consent-banner, #glp-consent-modal { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important; box-sizing: border-box; }
#glp-consent-banner, #glp-consent-banner *, #glp-consent-modal, #glp-consent-modal * { box-sizing: border-box; }
#glp-consent-banner {
  position: fixed !important; left: 16px !important; right: 16px !important; bottom: 16px !important; top: auto !important;
  max-width: 640px !important; margin: 0 auto !important;
  background: #0d2343 !important; color: #fff !important; border-radius: 12px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.35) !important;
  padding: 18px 20px !important; z-index: 99998 !important;
  display: none !important;
}
#glp-consent-banner.open { display: block !important; }
#glp-consent-banner h3 { margin: 0 0 6px !important; font-size: 16px !important; font-weight: 700 !important; color: #fff !important; }
#glp-consent-banner p { margin: 0 0 12px !important; font-size: 13.5px !important; line-height: 1.5 !important; color: #e2e8f0 !important; }
#glp-consent-banner a { color: #ffb400 !important; text-decoration: underline !important; }
#glp-consent-banner .glp-consent-actions { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.glp-consent-btn {
  padding: 9px 16px !important; border-radius: 6px !important; font-size: 13px !important; font-weight: 600 !important;
  cursor: pointer !important; border: 0 !important; letter-spacing: .2px !important; line-height: 1.2 !important;
  display: inline-block !important; text-align: center !important;
}
.glp-consent-btn.primary { background: #a5cf39 !important; color: #fff !important; }
.glp-consent-btn.primary:hover { background: #7fa42a !important; }
.glp-consent-btn.ghost { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,.35) !important; }
.glp-consent-btn.ghost:hover { background: rgba(255,255,255,.08) !important; }

/* Preferences modal */
#glp-consent-modal {
  position: fixed !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  z-index: 99999 !important;
  background: rgba(13,35,67,.55) !important; display: none !important;
  align-items: center !important; justify-content: center !important; padding: 20px !important;
  margin: 0 !important;
}
#glp-consent-modal.open { display: flex !important; }
#glp-consent-modal .glp-consent-dialog {
  background: #fff !important; max-width: 560px !important; width: 100% !important; border-radius: 12px !important;
  max-height: 85vh !important; overflow: auto !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.35) !important;
  margin: 0 auto !important;
}
#glp-consent-modal .glp-consent-dialog > header { padding: 18px 22px !important; border-bottom: 1px solid #eee !important; display: block !important; }
#glp-consent-modal .glp-consent-dialog > header h3 { margin: 0 !important; font-size: 18px !important; color: #0d2343 !important; font-weight: 700 !important; }
#glp-consent-modal .glp-consent-dialog > header p { margin: 6px 0 0 !important; font-size: 13px !important; color: #475569 !important; line-height: 1.5 !important; }
#glp-consent-modal .glp-consent-body { padding: 6px 22px 10px !important; display: block !important; }
#glp-consent-modal .glp-consent-cat {
  padding: 14px 0 !important; border-bottom: 1px solid #f1f5f9 !important;
  display: flex !important; flex-direction: row !important; justify-content: space-between !important; gap: 14px !important; align-items: flex-start !important;
}
#glp-consent-modal .glp-consent-cat > div { flex: 1 1 auto !important; min-width: 0 !important; }
#glp-consent-modal .glp-consent-cat:last-child { border-bottom: 0 !important; }
#glp-consent-modal .glp-consent-cat h4 { margin: 0 0 4px !important; font-size: 14px !important; color: #0d2343 !important; font-weight: 700 !important; }
#glp-consent-modal .glp-consent-cat p { margin: 0 !important; font-size: 12.5px !important; color: #475569 !important; line-height: 1.45 !important; }
#glp-consent-modal .glp-consent-cat .glp-locked { font-size: 11px !important; color: #64748b !important; background: #f1f5f9 !important; padding: 4px 8px !important; border-radius: 4px !important; font-weight: 600 !important; flex: 0 0 auto !important; align-self: center !important; }
.glp-toggle { position: relative !important; width: 42px !important; height: 24px !important; flex: 0 0 42px !important; align-self: center !important; display: inline-block !important; }
.glp-toggle input { opacity: 0 !important; width: 0 !important; height: 0 !important; position: absolute !important; }
.glp-toggle span { position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; background: #cbd5e1 !important; border-radius: 999px !important; cursor: pointer !important; transition: 140ms !important; display: block !important; }
.glp-toggle span::before {
  content: '' !important; position: absolute !important; top: 3px !important; left: 3px !important; width: 18px !important; height: 18px !important;
  background: #fff !important; border-radius: 50% !important; transition: 140ms !important;
}
.glp-toggle input:checked + span { background: #a5cf39 !important; }
.glp-toggle input:checked + span::before { transform: translateX(18px) !important; }
.glp-toggle input:focus-visible + span { outline: 2px solid #ffb400 !important; outline-offset: 2px !important; }
#glp-consent-modal .glp-consent-dialog > footer {
  padding: 16px 22px !important; border-top: 1px solid #eee !important; display: flex !important; gap: 8px !important; justify-content: flex-end !important; flex-wrap: wrap !important;
}
#glp-consent-modal .glp-consent-dialog > footer .glp-consent-btn.ghost { color: #0d2343 !important; border-color: #cbd5e1 !important; }

/* Floating preferences reopen button — discreet circular cookie icon */
#glp-consent-fab {
  position: fixed; top: 14px; right: 14px; z-index: 99997;
  width: 34px; height: 34px; padding: 0;
  background: rgba(255,255,255,.92); color: #0d2343;
  border: 1px solid #cbd5e1; border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,.14);
  cursor: pointer; display: none;
  transition: background 140ms, box-shadow 140ms, transform 140ms;
}
#glp-consent-fab.show { display: inline-flex; align-items: center; justify-content: center; }
#glp-consent-fab:hover { background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.22); transform: scale(1.06); }
#glp-consent-fab:focus-visible { outline: 2px solid #a5cf39; outline-offset: 2px; }
#glp-consent-fab svg { width: 18px; height: 18px; display: block; }

@media (max-width: 640px) {
  #glp-consent-banner { left: 8px; right: 8px; bottom: 8px; padding: 14px 16px; }
  #glp-consent-banner h3 { font-size: 15px; }
  #glp-consent-banner p { font-size: 13px; }
  #glp-consent-fab { top: 10px; right: 10px; width: 32px; height: 32px; }
  #glp-consent-fab svg { width: 16px; height: 16px; }
}

