/* ---------------------------------------------------------------------
   Cookie consent banner (js/consent.js) and the "Cookie settings" button.
   Loaded on every page from includes/gtm.php, including pages that don't
   load site.css, so it carries its own values (site.css tokens as
   fallbacks: --pc-navy #012640, --pc-pandan-hi #a3dc4c).
   --------------------------------------------------------------------- */
.pc-consent {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  z-index: 1080; /* above the mobile action bar (1030) and Bootstrap modals (1055) */
  max-width: 980px;
  margin: 0 auto;
  padding: 16px;
  border-radius: 16px;
  background: var(--pc-navy, #012640);
  color: #ffffff;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 18px 40px -12px rgba(1, 38, 64, 0.6);
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 0.95rem;
  line-height: 1.5;
  text-align: left;
}
.pc-consent[hidden] { display: none; }

.pc-consent__inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pc-consent__text { margin: 0; color: #ffffff; }
.pc-consent__link {
  color: var(--pc-pandan-hi, #a3dc4c);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pc-consent__link:hover,
.pc-consent__link:focus-visible { color: #ffffff; }

.pc-consent__actions {
  display: flex;
  gap: 10px;
}
/* Reject and Accept are the same size and weight: refusing must be as easy as accepting. */
.pc-consent__btn {
  flex: 1 1 0;
  min-height: 44px;
  padding: 0 20px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.1;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.pc-consent__btn--reject { background: transparent; color: #ffffff; }
.pc-consent__btn--reject:hover { background: rgba(255, 255, 255, 0.14); }
.pc-consent__btn--accept { background: #ffffff; color: var(--pc-navy, #012640); }
.pc-consent__btn--accept:hover { background: #e8eef2; }
.pc-consent__btn:focus-visible,
.pc-consent__link:focus-visible {
  outline: 3px solid var(--pc-pandan-hi, #a3dc4c);
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .pc-consent { padding: 18px 22px; }
  .pc-consent__inner {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }
  .pc-consent__text { flex: 1 1 auto; }
  .pc-consent__actions { flex: 0 0 auto; }
  .pc-consent__btn { flex: 0 0 auto; min-width: 124px; }
}

@media (prefers-reduced-motion: no-preference) {
  .pc-consent { animation: pc-consent-in 0.25s ease-out; }
  @keyframes pc-consent-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
  }
}

/* "Cookie settings": a button that reads like the links around it. */
.pc-consent-open {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.pc-consent-open:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
/* In the footer, match the footer links (white, underline on hover). */
.pc-footer .pc-consent-open { color: #ffffff; text-decoration: none; }
.pc-footer .pc-consent-open:hover { color: var(--pc-pandan-hi, #a3dc4c); text-decoration: underline; }
