/* Cookie banner (templates/base.html) + footer "Cookie settings" button.
   Bottom-left so it never covers the WhatsApp button (bottom-right). Both choices
   are the same size — "Only necessary" must be as easy as "Accept all". */
.pd-consent {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 1000;
  width: min(400px, calc(100vw - 48px));
  padding: 18px 20px;
  background: var(--color-white, #fff);
  color: var(--color-text-dark, #032440);
  border: 1px solid var(--color-border, #e4dccd);
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(3, 36, 64, 0.18);
  font-family: var(--font-sans, system-ui, sans-serif);
}
.pd-consent[hidden] { display: none; }
.pd-consent__title { margin: 0 0 6px; font-weight: 800; font-size: 1rem; }
.pd-consent__text { margin: 0 0 14px; font-size: 0.875rem; line-height: 1.5; color: var(--color-text-light, #4f6370); }
.pd-consent__text a { color: var(--color-ocean, #0d5c72); font-weight: 700; text-decoration: underline; }
.pd-consent__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pd-consent__btn {
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1.5px solid var(--color-primary-dark, #032440);
  background: transparent;
  color: var(--color-primary-dark, #032440);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
}
.pd-consent__btn--accept { background: var(--color-primary-dark, #032440); color: #fff; }
.pd-consent__btn:hover { filter: brightness(1.12); }
.pd-consent__btn:focus-visible { outline: 3px solid var(--color-teal, #1f9a99); outline-offset: 2px; }

@media (max-width: 520px) {
  .pd-consent { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 16px; }
}

.footer-cookie-btn {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  cursor: pointer;
}

/* Privacy & cookies page */
.pd-legal { max-width: 760px; padding-top: clamp(2rem, 5vw, 3.5rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.pd-legal h2 { margin: 2rem 0 0.5rem; font-size: 1.25rem; }
.pd-legal p { line-height: 1.65; color: var(--color-text-light, #4f6370); }
.pd-legal a { color: var(--color-ocean, #0d5c72); text-decoration: underline; }
.pd-legal__table { width: 100%; border-collapse: collapse; font-size: 0.9rem; margin: 0.75rem 0; }
.pd-legal__table th, .pd-legal__table td { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid var(--color-border, #e4dccd); }
.pd-legal__table code { font-size: 0.85em; word-break: break-all; }
.pd-legal__updated { margin-top: 2.5rem; font-size: 0.85rem; }
@media (max-width: 560px) {
  .pd-legal__table thead { display: none; }
  .pd-legal__table tr { display: grid; padding: 8px 0; border-bottom: 1px solid var(--color-border, #e4dccd); }
  .pd-legal__table td { border: 0; padding: 2px 0; }
}
