﻿/* Cookie banner */
.cookieBar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 9999; padding: 16px; background: rgba(18, 24, 33, .97); color: #fff; box-shadow: 0 -4px 18px rgba(0, 0, 0, .24); }
.cookieBar[hidden] { display: none !important; }
.cookieBar-content { width: min(1180px, 100%); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cookieBar-copy { max-width: 720px; }
.cookieBar-copy strong { display: block; margin-bottom: 5px; font-size: 18px; }
.cookieBar p { margin: 0; color: #fff; font-size: 15px; line-height: 1.5; }
.cookie-buttons, .bottom-container { display: flex; align-items: center; gap: 10px; }

.cookie-btn { box-sizing: border-box; min-height: 42px; padding: 10px 18px; border: 2px solid transparent; border-radius: 3px; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: background-color .15s ease-out, border-color .15s ease-out, color .15s ease-out; }
.cookie-btn.accept, .cookie-btn.save-settings { background: #ee1c25; color: #fff; }
.cookie-btn.reject { background: #fff; color: #222; border-color: #fff; }
input.cookie-btn.reject { color: #222 !important; border: 2px solid #fff !important; }
.cookie-btn.manage { background: transparent; color: #fff; border-color: #fff; }
.cookie-btn:hover, .cookie-btn:focus-visible { background: #555; border-color: #fff; color: #fff; outline: 3px solid rgba(255, 255, 255, .45); outline-offset: 2px; }

body.cookie-preferences-open { overflow: hidden; }
.cookie-popup-outer { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(0, 20, 56, .62); opacity: 0; visibility: hidden; transition: opacity .15s ease-out, visibility .15s ease-out; }
.cookie-popup-outer.active { opacity: 1; visibility: visible; }
.cookie-popup-container { display: flex; flex-direction: column; width: min(820px, 100%); max-height: min(680px, calc(100vh - 48px)); overflow: hidden; background: #fff; color: #333; border: 1px solid #d7d7d7; border-radius: 4px; box-shadow: 0 12px 40px rgba(0, 0, 0, .3); }
.cookie-popup-container-top { position: relative; display: flex; align-items: center; min-height: 68px; padding: 18px 64px 18px 22px; border-bottom: 1px solid #d8d8d8; }
.cookie-popup-container-top h2 { margin: 0; font-size: 24px; }
.close-cookies { position: absolute; top: 18px; right: 20px; width: 32px; height: 32px; padding: 5px; border: 0; background: transparent; cursor: pointer; }
.close-cookies img { width: 100%; height: 100%; }
.close-cookies:focus-visible { outline: 3px solid #ee1c25; outline-offset: 2px; }
.cookie-summary { margin: 0; padding: 16px 22px; color: #333; border-bottom: 1px solid #d8d8d8; font-size: 14px; line-height: 1.5; }
.cookie-middle-container { display: flex; min-height: 0; flex: 1 1 auto; overflow: hidden; }
.cookie-tabs { flex: 0 0 210px; background: #f4f4f4; border-right: 1px solid #d7d7d7; }
.cookie-tab-btn { width: 100%; padding: 16px 14px; border: 0; border-bottom: 1px solid #d7d7d7; border-left: 8px solid transparent; background: #f4f4f4; color: #333; font: inherit; font-weight: 700; line-height: 1.3; text-align: left; cursor: pointer; }
.cookie-tab-btn.active { background: #fff; border-left-color: #ee1c25; }
.cookie-tab-btn:focus-visible { position: relative; outline: 3px solid #ee1c25; outline-offset: -4px; }
.cookie-panels { flex: 1 1 auto; min-width: 0; overflow-y: auto; }
.cookie-text-box { padding: 24px; }
.cookie-text-box[hidden] { display: none; }
.cookie-text-box h3 { margin: 0 0 15px; font-size: 18px; }
.cookie-text-box p { margin: 0 0 15px; font-size: 14px; line-height: 1.55; }
.cookie-text-box a { color: #9f1117; font-weight: 700; }
.cookie-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.bottom-container { flex: 0 0 auto; justify-content: flex-end; padding: 18px 22px; border-top: 1px solid #d8d8d8; background: #fff; }
.bottom-container .cookie-btn.reject { border-color: #555; }
.bottom-container input.cookie-btn.reject { border-color: #555 !important; }

.switch { position: relative; display: inline-block; flex: 0 0 46px; width: 46px; height: 28px; }
.switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.slider { position: absolute; inset: 0; border-radius: 28px; background: #777; cursor: pointer; transition: background-color .2s; }
.slider:before { position: absolute; bottom: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #fff; content: ""; transition: transform .2s; }
.switch input:checked + .slider { background: #168449; }
.switch input:checked + .slider:before { transform: translateX(18px); }
.switch input:focus-visible + .slider { outline: 3px solid #ee1c25; outline-offset: 3px; }

.cookie-settings-footer { margin: 8px 0 0; padding: 0; list-style: none; }
.cookie-settings-link { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.cookie-settings-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

@media (max-width: 760px) {
   .cookieBar { padding: 14px; }
   .cookieBar-content { align-items: stretch; flex-direction: column; gap: 14px; }
   .cookie-buttons { display: grid; grid-template-columns: 1fr 1fr; }
   .cookie-buttons .manage { grid-column: 1 / -1; }
   .cookie-btn { width: 100%; }
   .cookie-popup-outer { padding: 0; }
   .cookie-popup-container { width: 100%; height: 100%; max-height: none; border: 0; border-radius: 0; }
   .cookie-popup-container-top h2 { font-size: 21px; }
   .cookie-middle-container { flex-direction: column; }
   .cookie-tabs { display: grid; grid-template-columns: 1fr 1fr; flex: 0 0 auto; border-right: 0; border-bottom: 1px solid #d7d7d7; }
   .cookie-tab-btn { border-left: 0; border-bottom: 4px solid transparent; text-align: center; }
   .cookie-tab-btn.active { border-bottom-color: #ee1c25; }
   .cookie-text-box { padding: 20px; }
   .bottom-container { display: grid; grid-template-columns: 1fr 1fr; padding: 14px; }
   .bottom-container .save-settings { grid-column: 1 / -1; grid-row: 1; }
}

@media (max-width: 420px) {
   .cookie-buttons, .bottom-container { grid-template-columns: 1fr; }
   .cookie-buttons .manage, .bottom-container .save-settings { grid-column: 1; }
   .cookie-summary { padding: 12px 16px; }
   .cookie-tab-btn { padding: 12px 8px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
   .cookie-popup-outer, .cookie-btn, .slider, .slider:before { transition: none; }
}
