/* =====================================================================
   Pug IT Solution — cookie notice
   ---------------------------------------------------------------------
   The bar of shared/partials/cookie_notice.html, fixed to the bottom of
   the viewport while the visitor has not closed it. It never covers the
   end of the page: while it shows, <body> carries .has-cookie-notice and
   gets a bottom padding as tall as the bar. The heights below are the
   fallback for a browser that runs no script; cookie_notice.js measures
   the bar and writes its real height into --cookie-notice-height, which
   the padding, the scroll padding below and the mobile drawer of
   header.css read.
   ===================================================================== */
.cookie-notice {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  padding: 14px 0 calc(14px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--line-strong);
  background: rgba(5, 5, 7, 0.96);
  color: var(--text-soft);
  box-shadow: 0 -18px 40px -24px rgba(0, 0, 0, 0.9);
}
.cookie-notice__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 28px;
}
.cookie-notice__text {
  flex: 1 1 320px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-soft);
}
.cookie-notice__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 22px;
}
.cookie-notice__link {
  font-size: 15px;
  color: var(--gold-bright);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* The room the bar takes at the end of the page */
.has-cookie-notice { padding-bottom: var(--cookie-notice-height, 96px); }

/* Scrolling to a focused element or an anchor stops above the bar, with
   the same fallback height as the padding while no script measured it. */
html:has(.has-cookie-notice) { scroll-padding-bottom: var(--cookie-notice-height, 96px); }


/* ---------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------ */
@media (max-width: 640px) {
  .cookie-notice__actions { width: 100%; }
  .has-cookie-notice { padding-bottom: var(--cookie-notice-height, 200px); }
  html:has(.has-cookie-notice) { scroll-padding-bottom: var(--cookie-notice-height, 200px); }
}


/* ---------------------------------------------------------------------
   Print: the bar is no part of the printed page.
   ------------------------------------------------------------------ */
@media print {
  .cookie-notice { display: none; }
  .has-cookie-notice { padding-bottom: 0; }
}
