.cescond-consent-panel[hidden],
.cescond-consent-trigger[hidden],
.cescond-consent-actions [hidden],
.cescond-consent-preferences[hidden] { display: none !important; }

.cescond-consent-panel {
  position: fixed;
  z-index: 2147483000;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  box-sizing: border-box;
  width: min(420px, calc(100vw - 32px));
  padding: 22px;
  color: #fff;
  background: #061a2a;
  border: 1px solid rgba(255, 190, 52, .68);
  border-radius: 16px;
  box-shadow: 0 12px 38px rgba(0, 12, 24, .3);
  font: 15px/1.5 Arial, sans-serif;
}
.cescond-consent-panel h2 {
  margin: 0 32px 8px 0;
  color: #ffd064;
  font: 700 19px/1.25 Arial, sans-serif;
}
.cescond-consent-panel p { margin: 0 0 16px; color: #f5f7fa; font: inherit; }
.cescond-consent-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  color: #fff;
  background: transparent;
  font: 28px/1 Arial, sans-serif;
  cursor: pointer;
}
.cescond-consent-preferences label {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 8px;
  color: #fff;
  font-weight: 600;
}
.cescond-consent-preferences input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #ffb51b; }
.cescond-consent-preferences p { margin: 0 0 16px; color: #d8e1eb; font-size: 13px; }
.cescond-consent-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cescond-consent-actions button,
.cescond-consent-trigger {
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 9px;
  font: 700 14px/1.2 Arial, sans-serif;
  cursor: pointer;
}
.cescond-consent-primary { border: 1px solid #ffbd35; color: #061a2a; background: linear-gradient(110deg, #ffda6d, #ffae13); }
.cescond-consent-secondary { border: 1px solid #bcc9d5; color: #fff; background: transparent; }
.cescond-consent-link { border: 0; color: #ffd064; background: transparent; text-decoration: underline; }
.cescond-consent-trigger {
  position: fixed;
  z-index: 2147482999;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  border: 1px solid #d49a20;
  color: #fff;
  background: #061a2a;
  box-shadow: 0 4px 16px rgba(0, 12, 24, .22);
}
.cescond-consent-panel button:focus-visible,
.cescond-consent-trigger:focus-visible,
.cescond-consent-preferences input:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@media (max-width: 520px) {
  .cescond-consent-panel { right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); width: calc(100vw - 20px); padding: 18px; }
  .cescond-consent-panel h2 { font-size: 18px; }
  .cescond-consent-actions button { flex: 1 1 calc(50% - 8px); }
  .cescond-consent-actions .cescond-consent-link { flex-basis: 100%; }
  .cescond-consent-trigger { right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: no-preference) {
  .cescond-consent-panel { animation: cescond-consent-in .16s ease-out; }
  @keyframes cescond-consent-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
}
