#cookie-consent {
  --cookie-green: #9ed551;
  position: fixed;
  inset: 0;
  margin: auto;
  padding: 0;
  width: min(1420px, calc(100% - 64px));
  max-width: none;
  max-height: calc(100dvh - 64px);
  overflow: auto;
  border: 1px solid #dce1e4;
  border-radius: 18px;
  background: #fafbfc;
  color: #1b2e3b;
  box-shadow: 0 24px 90px #0004;
  font-family: "Poppins", ui-sans-serif, system-ui, sans-serif;
  animation: cookie-enter .22s ease-out;
}
#cookie-consent[hidden], #cookie-consent [hidden] { display: none; }
#cookie-consent::backdrop { background: #101b20c9; backdrop-filter: blur(5px); }
html:has(#cookie-consent[open]) { overflow: hidden; }
.cookie-panel { position: relative; z-index: 1; width: 78%; padding: 32px 40px; }
.cookie-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 32px; color: #88b922; font-size: clamp(25px, 2.6vw, 36px); font-weight: 700; }
.cookie-brand img { width: 62px; height: 62px; }
.cookie-body { display: grid; grid-template-columns: 1.35fr 1fr; gap: 28px; }
.cookie-copy h2 { margin: 0 0 16px; font-size: clamp(26px, 2.7vw, 40px); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.cookie-copy p { margin: 0 0 16px; font-size: 15px; line-height: 1.75; }
.cookie-copy a { color: #567d10; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.cookie-preferences { padding-left: 26px; border-left: 1px solid #d8dfe3; }
.cookie-category { display: grid; grid-template-columns: 26px 1fr 44px; align-items: start; gap: 12px; padding: 16px 0 24px; cursor: pointer; }
.cookie-category + .cookie-category { border-top: 1px solid #d8dfe3; padding-top: 24px; }
.cookie-category i { padding-top: 3px; font-size: 25px; }
.cookie-category:first-child i { color: #88b922; }
.cookie-category strong { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.cookie-category span span { display: block; font-size: 12px; line-height: 1.8; }
.cookie-category input { appearance: none; position: relative; width: 44px; height: 25px; margin: 2px 0 0; border: 0; border-radius: 30px; background: #cbd0d3; cursor: pointer; transition: background .18s; }
.cookie-category input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 19px; height: 19px; border-radius: 50%; background: #fff; transition: transform .18s; }
.cookie-category input:checked { background: #88b922; }
.cookie-category input:checked::after { transform: translateX(19px); }
.cookie-category input:disabled { cursor: default; }
.cookie-actions { display: grid; grid-template-columns: 1fr 1.12fr 1.16fr; gap: 16px; margin-top: 28px; padding-top: 24px; border-top: 1px solid #d8dfe3; }
.cookie-actions button { min-height: 52px; padding: 12px 14px; border: 1px solid #1b2e3b; border-radius: 6px; background: transparent; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .18s, transform .18s; }
.cookie-actions button:hover { background: #eaf0e4; transform: translateY(-1px); }
.cookie-actions .cookie-accept { border-color: var(--cookie-green); background: var(--cookie-green); color: #142008; }
.cookie-actions .cookie-accept:hover { background: #b2e46a; }
#cookie-consent :focus-visible { outline: 3px solid #527b0a; outline-offset: 4px; }
.cookie-note { margin: 18px 0 0; font-size: 11px; line-height: 1.7; }
#cookie-consent-close { margin-top: 12px; font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; }
#cookie-storage-error { margin-top: 12px; font-size: 13px; color: #943323; }
.cookie-visual { position: absolute; inset: 0 0 0 auto; width: 25%; overflow: hidden; background: #293840; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 30% 72%, 30% 28%); }
.cookie-visual::after { content: ""; position: absolute; inset: 0; background: var(--cookie-green); clip-path: polygon(0 0, 30% 0, 50% 22%); }
.cookie-visual img { position: absolute; inset: 22% 0 0; width: 100%; height: 78%; object-fit: cover; object-position: 78% center; border-bottom: 12px solid var(--cookie-green); }
.cookie-motto { position: absolute; top: 24px; right: 26px; z-index: 1; color: white; font-size: 18px; font-weight: 600; line-height: 1.15; }
.cookie-motto span { color: var(--cookie-green); font-weight: 400; }
@keyframes cookie-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) {
  .cookie-panel { width: 100%; padding: 32px; }
  .cookie-visual { display: none; }
}
@media (max-width: 640px) {
  #cookie-consent { width: calc(100% - 24px); max-height: calc(100dvh - 24px); border-radius: 14px; }
  .cookie-panel { padding: 24px 20px; }
  .cookie-brand { margin-bottom: 18px; font-size: 26px; }
  .cookie-brand img { width: 44px; height: 44px; }
  .cookie-body { grid-template-columns: 1fr; gap: 8px; }
  .cookie-copy p { margin-bottom: 12px; font-size: 13px; line-height: 1.65; }
  .cookie-preferences { padding-left: 0; border-left: 0; }
  .cookie-category { padding: 16px 0; }
  .cookie-category + .cookie-category { padding-top: 16px; }
  .cookie-actions { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 8px; padding-top: 16px; }
  .cookie-actions button { padding-inline: 8px; font-size: 13px; }
  .cookie-actions .cookie-accept { grid-column: 1 / -1; }
  .cookie-note { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  #cookie-consent { animation: none; }
  #cookie-consent * { transition: none; }
}
