/* The error route uses the same navigation, typography and controls as the site. */
/* Plain product and policy pages need enough contrast before the first scroll. */
body.single-rilinkt_product .rln-site-header:not(.is-scrolled),
body.page-privacy-policy .rln-site-header:not(.is-scrolled) { background: rgba(9,20,29,.92); }
.rln-error-page { color: #fff; background: #101d26; }
.rln-error-section { position: relative; min-height: 86svh; display: grid; align-items: center; padding: 160px 0 100px; overflow: hidden; background: radial-gradient(ellipse at 100% 75%, rgba(8,127,185,.2), transparent 65%); }
.rln-error-layout { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 60px; align-items: center; }
.rln-error-copy { min-width: 0; }
.rln-error-copy h1 { max-width: 780px; margin: 0; color: #fff; font-size: clamp(38px,5.2vw,76px); line-height: 1.05; font-weight: 400; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: balance; }
.rln-error-intro { max-width: 570px; margin: 28px 0 0; color: rgba(255,255,255,.74); font-size: 16px; line-height: 1.7; }
.rln-error-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.rln-error-actions .rln-button { letter-spacing: .02em; }
body.rln-home-body .rln-error-actions .rln-button-light { color: var(--rln-ink); }
.rln-error-contact { display: inline-flex; align-items: center; gap: 16px; margin-top: 32px; color: #c9ee64 !important; font-size: 14px; text-underline-offset: 5px; }
.rln-error-number { position: relative; display: block; color: transparent; -webkit-text-stroke: 1px rgba(201,238,100,.46); font-size: clamp(140px,22vw,310px); font-weight: 300; line-height: 1; letter-spacing: -.07em; user-select: none; }
.rln-error-number > span { position: absolute; width: 12px; height: 12px; top: 19%; right: 8%; border-radius: 50%; background: #c9ee64; box-shadow: 0 0 35px rgba(201,238,100,.4); }

/* Full readable messages. The preferences dialog scrolls as one panel. */
body.rln-home-body .cmplz-cookiebanner .cmplz-message { max-height: none !important; overflow: visible !important; height: auto !important; -webkit-line-clamp: unset !important; }
body.rln-home-body .cmplz-cookiebanner .cmplz-body { max-height: none !important; min-width: 0 !important; overflow: visible !important; }
body.rln-home-body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { height: auto !important; min-height: 44px !important; white-space: normal !important; overflow-wrap: anywhere; }
/* The persistent footer control replaces the plugin's overlapping floating tab. */
body.rln-home-body #cmplz-manage-consent { display: none !important; }
body.rln-home-body .rln-site-footer .rln-cookie-settings { position: static !important; display: inline-flex !important; align-items: center; min-height: 44px; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: rgba(255,255,255,.67); font: inherit; font-size: 13px; text-align: left; text-transform: none; cursor: pointer; }
body.rln-home-body .rln-site-footer .rln-cookie-settings:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
body.rln-home-body .cmplz-cookiebanner .cmplz-category-header { color: #fff !important; background: rgba(255,255,255,.07) !important; }
body.rln-home-body .cmplz-cookiebanner .cmplz-categories .cmplz-category { background: rgba(255,255,255,.04) !important; }
body.rln-home-body .cmplz-cookiebanner .cmplz-category-title,
body.rln-home-body .cmplz-cookiebanner .cmplz-category-toggle { color: #fff !important; }
body.rln-home-body .cmplz-cookiebanner .cmplz-category-toggle svg { fill: currentColor; }
body.rln-home-body .cmplz-cookiebanner .cmplz-always-active { color: var(--rln-lime) !important; }
body.rln-home-body .cmplz-cookiebanner .cmplz-description { color: rgba(255,255,255,.78) !important; font-size: 12px; line-height: 1.6; }

@media (max-width: 760px) {
  .rln-error-section { padding: 128px 0 72px; }
  .rln-error-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .rln-error-number { grid-row: 1; font-size: 116px; max-width: 230px; }
  .rln-error-copy h1 { font-size: clamp(36px,9vw,58px); }
  .rln-error-intro { margin-top: 22px; font-size: 15px; }
  .rln-error-actions { flex-direction: column; }
}
@media (max-width: 600px) {
  body.rln-home-body .cmplz-cookiebanner { position: fixed !important; top: auto !important; bottom: max(12px, env(safe-area-inset-bottom)) !important; transform: none !important; overflow-y: auto !important; width: calc(100% - 24px) !important; right: 12px !important; left: 12px !important; padding: 14px !important; max-height: calc(100dvh - 24px) !important; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: auto !important; gap: 10px !important; border-radius: 12px !important; zoom: 1 !important; }
  body.rln-home-body .cmplz-cookiebanner > * { grid-column: 1 / -1 !important; min-width: 0 !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-header { min-height: 28px; max-height: none !important; margin: 0 !important; grid-template-columns: minmax(0,1fr) auto !important; gap: 8px; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-logo { display: none !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-title { display: block !important; grid-column: 1 !important; grid-row: 1 !important; justify-self: start !important; text-align: left; font-size: 14px !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-close { grid-column: 2 !important; grid-row: 1 !important; width: 28px !important; height: 28px !important; zoom: 1 !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-message { font-size: 12px !important; line-height: 1.55 !important; margin: 0 !important; padding: 0 !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-divider { display: none !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-buttons { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { font-size: 11px !important; letter-spacing: 0; line-height: 1.3 !important; padding: 8px 10px !important; border-radius: 6px !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-view-preferences { grid-column: 1 / -1; min-height: 28px !important; padding: 3px 8px !important; border-color: transparent !important; background: transparent !important; text-decoration: underline; text-underline-offset: 3px; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-documents { margin: 0 !important; font-size: 11px !important; line-height: 1.4 !important; }
  body.rln-home-body .cmplz-cookiebanner .cmplz-documents ul { margin: 0 !important; padding: 0 !important; }
  body.rln-home-body .cmplz-cookiebanner.cmplz-categories-visible { position: fixed !important; top: auto !important; bottom: max(12px, env(safe-area-inset-bottom)) !important; transform: none !important; overflow-y: auto !important; overscroll-behavior: contain; scroll-padding: 14px; }
  body.rln-home-body .cmplz-cookiebanner.cmplz-categories-visible .cmplz-save-preferences { grid-column: 1 / -1; }
}
