/* Cookie notice (D-056). Shown only when a tracking code is set in the CMS (Site settings → Integrations). */
.np-consent {
  position: fixed;
  inset-inline: 16px;
  bottom: 16px;
  z-index: 2000;
  max-width: 560px;
  padding: 22px 24px;
  background: #faf8f2;
  color: #1d2117;
  border: 1px solid rgb(29 33 23 / 0.14);
  box-shadow: 0 18px 40px -24px rgb(29 33 23 / 0.45);
  font-size: 14px;
  line-height: 1.55;
}
.np-consent[hidden] { display: none; }
.np-consent p { margin: 0 0 16px; }
.np-consent__actions { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.np-consent__decline { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font: inherit; }
@media (min-width: 768px) { .np-consent { inset-inline: 24px auto; bottom: 24px; } }

/* D-075: shown to every visitor; Reject and Accept equally easy. Square corners (owner). */
.np-consent { max-width: 520px; }
.np-consent__title { margin: 0 0 6px !important; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; font-size: 12px; }
.np-consent a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.np-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.np-consent__button { min-height: 46px; padding: 10px 18px; border: 1px solid #1d2117; border-radius: 0; background: #1d2117; color: #faf8f2; font: inherit; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; font-size: 12px; cursor: pointer; }
.np-consent__button:hover { background: transparent; color: #1d2117; }
.np-consent__button:focus-visible { outline: 2px solid #bd391a; outline-offset: 3px; }
@media (max-width: 767px) { .np-consent { bottom: 12px; inset-inline: 12px; padding: 18px; } }
/* On phones the notice spans the screen bottom; the WhatsApp button waits until the choice is made. */
@media (max-width: 767px) { body:has(.np-consent:not([hidden])) .np-float { visibility: hidden; } }
