.privacy-links { display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 13px; }
.cookie-settings { padding: 0; border: 0; background: none; font: inherit; text-decoration: underline; cursor: pointer; }
.cookie-notice[hidden] { display: none; }
.cookie-notice { position: fixed; z-index: 1100; left: 20px; right: 20px; bottom: 20px; margin: auto; max-width: 1140px; max-height: calc(100vh - 40px); overflow: auto; display: flex; align-items: center; gap: 24px; padding: 24px; background: #fff; color: #343b43; border: 1px solid #dce2e7; border-radius: 6px; box-shadow: 0 8px 40px rgba(0,0,0,.22); }
.cookie-notice h2 { font-size: 19px; margin: 0 0 8px; }
.cookie-notice p { font-size: 14px; line-height: 1.6; margin: 0; }
.cookie-notice__actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
.cookie-notice__actions .btn { margin: 0; white-space: normal; }
.cookie-notice button:focus-visible, .cookie-settings:focus-visible { outline: 3px solid #337ab7; outline-offset: 4px; }
.cookie-map-placeholder { padding: 32px; text-align: center; background: #f3f5f7; color: #343b43; }
.error-page { padding: 64px 20px; text-align: center; }
.error-page__code { font-size: clamp(80px, 18vw, 160px); line-height: 1; font-weight: 700; color: #e9b351; }
@media (max-width: 767px) { .cookie-notice { left: 12px; right: 12px; bottom: 12px; padding: 18px; flex-direction: column; align-items: stretch; gap: 16px; } .cookie-notice__actions .btn { flex: 1; } }

.page-title.error-page-title { min-height: 340px; margin-bottom: 0; padding-top: 220px; padding-bottom: 40px; }
@media (max-width: 767px) { .page-title.error-page-title { min-height: 230px; padding-top: 150px; } }

/* Quiet original artwork stays behind a light layer so the form remains readable. */
.consultation-section {
  background: linear-gradient(rgba(225,228,231,.78), rgba(225,228,231,.78)), url("../img/consultation-bg-grey.1c37860bfaba.jpg") center / cover no-repeat;
  color: #263746;
}
.consultation-section .block-title,
.consultation-section .block-title small { color: #263746; }
.consultation-section .form-control { background-color: #fff; border-color: #71808e; color: #263746; }
.consultation-section .form-control::placeholder { color: #526170; opacity: 1; }
.consent-control { padding-left: 32px; min-height: 24px; }
.consent-control .custom-control-label { color: #263746; font-size: 14px; line-height: 1.65; cursor: pointer; }
.consent-control .custom-control-label::before,
.consent-control .custom-control-label::after { left: -32px; top: 1px; width: 22px; height: 22px; }
.consent-control .custom-control-label::before { background: #fff; border: 2px solid #344b5e; border-radius: 3px; }
.consent-control .custom-control-label::after { background-size: 70% 70%; }
.consent-control .custom-control-input:checked ~ .custom-control-label::before { background: #164b70; border-color: #164b70; }
.consent-control .custom-control-input:focus ~ .custom-control-label::before { outline: 3px solid #164b70; outline-offset: 3px; }
.consent-control .custom-control-label a { color: #164b70; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.consent-control .custom-control-label a:hover,
.consent-control .custom-control-label a:focus { color: #092c46; text-decoration-thickness: 2px; }
.consultation-section .consent-control, .consent-control--panel { padding: 16px 18px 16px 50px; background: #fff; border: 1px solid #9ba9b4; border-radius: 4px; }

.site-footer-bottom { display: grid; grid-template-columns: minmax(160px, 230px) minmax(0, 1fr) 90px; align-items: center; gap: 28px; padding: 24px 0; }
.site-footer-copyright { opacity: .8; }
.site-footer-links { min-width: 0; text-align: center; }
.site-footer-navigation { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; margin-bottom: 12px; }
.site-footer-navigation .footer-link { margin-left: 0 !important; }
.site-footer-links .privacy-links { justify-content: center; gap: 8px 16px; }
.developer-credit { display: inline-flex; align-items: center; justify-self: end; color: #fff; }
.developer-credit img { display: block; width: 90px; height: auto; }
.developer-credit:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
@media (max-width: 991px) {
  .site-footer-bottom { grid-template-columns: 1fr; justify-items: center; gap: 20px; text-align: center; }
  .developer-credit { justify-self: center; }
}
