:root {
  --gc-green: #0f2b26;
  --gc-gold: #d2a34a;
  --gc-ivory: #f5f1e8;
  --gc-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.gc-cookie {
  align-items: center;
  backdrop-filter: blur(22px) saturate(145%);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  background: linear-gradient(135deg, rgba(15, 43, 38, 0.86), rgba(21, 58, 50, 0.72));
  border: 1px solid rgba(210, 163, 74, 0.55);
  border-radius: 18px;
  bottom: clamp(14px, 2.5vw, 30px);
  box-shadow: 0 24px 70px rgba(4, 14, 12, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  box-sizing: border-box;
  color: var(--gc-ivory);
  display: grid;
  gap: clamp(16px, 2.4vw, 30px);
  grid-template-columns: auto minmax(0, 1fr) auto;
  left: 50%;
  max-width: min(980px, calc(100vw - 32px));
  opacity: 0;
  overflow: hidden;
  padding: clamp(18px, 2.2vw, 26px);
  pointer-events: none;
  position: fixed;
  transform: translate(-50%, 24px) scale(0.985);
  transition: opacity 0.45s ease, transform 0.55s var(--gc-ease), visibility 0s linear 0.55s;
  visibility: hidden;
  width: 100%;
  z-index: 100010;
}

.gc-cookie::before {
  background: radial-gradient(circle at 15% 30%, rgba(210, 163, 74, 0.16), transparent 36%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.gc-cookie.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0) scale(1);
  transition: opacity 0.45s ease 0.35s, transform 0.55s var(--gc-ease) 0.35s, visibility 0s;
  visibility: visible;
}

.gc-cookie > * { position: relative; }

.gc-cookie__mark {
  align-items: center;
  border: 1px solid rgba(210, 163, 74, 0.65);
  border-radius: 50%;
  color: var(--gc-gold);
  display: flex;
  font: 500 10px/1 Poppins, Arial, sans-serif;
  height: 42px;
  justify-content: center;
  letter-spacing: 0.08em;
  width: 42px;
}

.gc-cookie__copy { min-width: 0; }
.gc-cookie__copy p { margin: 0; }
.gc-cookie__eyebrow { color: var(--gc-gold); font: 600 9px/1.3 Poppins, Arial, sans-serif; letter-spacing: 0.18em; margin-bottom: 7px !important; text-transform: uppercase; }
.gc-cookie__copy > p:not(.gc-cookie__eyebrow) { color: rgba(245, 241, 232, 0.88); font: 300 13px/1.55 Poppins, Arial, sans-serif; }
.gc-cookie__copy a { color: var(--gc-ivory); display: inline-block; font: 500 11px/1.4 Poppins, Arial, sans-serif; margin-top: 7px; text-decoration-color: rgba(210, 163, 74, 0.7); text-underline-offset: 3px; }
.gc-cookie__copy a:hover,
.gc-cookie__copy a:focus-visible { color: var(--gc-gold); }

.gc-cookie__actions { display: flex; gap: 10px; }

.gc-cookie__actions button {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(245, 241, 232, 0.5);
  border-radius: 999px;
  color: var(--gc-ivory);
  cursor: pointer;
  font: 600 9px/1 Poppins, Arial, sans-serif;
  letter-spacing: 0.12em;
  min-height: 44px;
  padding: 0 20px;
  text-transform: uppercase;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
  white-space: nowrap;
}

.gc-cookie__actions button:hover,
.gc-cookie__actions button:focus-visible { border-color: var(--gc-gold); transform: translateY(-1px); }
.gc-cookie__actions .gc-cookie__accept { background: var(--gc-gold); border-color: var(--gc-gold); color: var(--gc-green); }
.gc-cookie__actions .gc-cookie__accept:hover,
.gc-cookie__actions .gc-cookie__accept:focus-visible { background: #e0b55f; }

@media (max-width: 760px) {
  .gc-cookie { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
  .gc-cookie__actions { grid-column: 1 / -1; justify-self: stretch; }
  .gc-cookie__actions button { flex: 1; }
}

@media (max-width: 460px) {
  .gc-cookie { border-radius: 15px; bottom: 10px; gap: 14px; max-width: calc(100vw - 20px); padding: 17px; }
  .gc-cookie__mark { height: 36px; width: 36px; }
  .gc-cookie__copy > p:not(.gc-cookie__eyebrow) { font-size: 12px; }
  .gc-cookie__actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .gc-cookie__actions button { min-width: 0; padding: 0 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .gc-cookie,
  .gc-cookie__actions button { transition-delay: 0s !important; transition-duration: 0.01ms !important; }
}
