[hidden] { display: none !important; }
.ll-cookie-notice, .ll-cookie-dialog {
  background: #fff; color: #263f50; border: 1px solid #d8e1e7;
  box-shadow: 0 8px 35px rgba(25, 45, 60, .18); border-radius: 8px;
  font-family: Montserrat, Arial, sans-serif; font-size: 14px; line-height: 1.6;
}
.ll-cookie-notice { position: fixed; z-index: 2000; bottom: 20px; left: 20px; width: min(620px, calc(100% - 220px)); padding: 22px; }
.ll-cookie-notice h2, .ll-cookie-dialog h2 { color: #477291; font-size: 21px; line-height: 1.35; margin: 0 32px 12px 0; }
.ll-cookie-notice p, .ll-cookie-dialog p { margin: 0 0 14px; }
.ll-cookie-dialog h3 { color: #477291; font-size: 17px; margin: 24px 0 10px; }
.ll-cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ll-cookie-actions button { font: inherit; font-weight: 600; padding: 10px 16px; border: 1px solid #477291; background: #fff; color: #355972; border-radius: 5px; cursor: pointer; min-height: 44px; }
.ll-cookie-actions .ll-cookie-primary { background: #477291; color: #fff; }
.ll-cookie-actions a, .ll-cookie-dialog a { color: #355972; text-decoration: underline; }
.ll-cookie-modal { position: fixed; inset: 0; z-index: 100100; background: rgba(20, 35, 47, .65); display: flex; align-items: center; justify-content: center; padding: 20px; }
.ll-cookie-dialog { position: relative; width: 700px; max-width: 100%; max-height: 90vh; max-height: 90dvh; overflow-y: auto; overscroll-behavior: contain; padding: 28px; }
.ll-cookie-close { position: absolute; right: 10px; top: 10px; width: 44px; height: 44px; border: 0; border-radius: 4px; background: #edf2f5; color: #355972; font-size: 28px; cursor: pointer; }
.ll-cookie-notice button:focus-visible, .ll-cookie-dialog button:focus-visible, .ll-cookie-dialog a:focus-visible, [data-ll-cookie-open]:focus-visible { outline: 3px solid #263f50; outline-offset: 3px; }
.ll-legal { max-width: 1000px; margin: auto; }
.ll-legal h2 { margin-top: 32px; color: #477291; font-size: 24px; line-height: 1.4; }
.ll-legal h3 { margin-top: 24px; color: #477291; font-size: 19px; }
.ll-legal a { text-decoration: underline; overflow-wrap: anywhere; }
.ll-legal ul { padding-left: 23px; }
.ll-legal li { margin-bottom: 8px; }
.ll-legal-note { padding: 18px 20px; border-left: 4px solid #477291; background: #f0f4f7; margin: 22px 0; }
.ll-contact-form label { display: block; margin-bottom: 7px; font-weight: 600; }
.ll-contact-form .checkbox label { font-weight: 400; }
.ll-form-message { padding: 15px; margin: 16px 0; border-radius: 4px; }
.ll-form-error { background: #fff0ee; color: #8b2118; }
.ll-form-success { background: #eef6f0; color: #21532e; }
.ll-contact-form button[disabled] { cursor: wait; opacity: .7; }
.ll-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ll-form-note { font-size: 14px; line-height: 1.6; }
@media (max-width: 700px) {
  .ll-cookie-notice { left: 12px; bottom: 88px; width: calc(100% - 24px); padding: 17px; max-height: calc(100dvh - 110px); overflow-y: auto; }
  .ll-cookie-modal { padding: 12px; }
  .ll-cookie-dialog { padding: 24px 18px; max-height: calc(100dvh - 24px); }
  .ll-cookie-notice h2, .ll-cookie-dialog h2 { font-size: 19px; }
}
