.ll-cookie-banner,
.ll-cookie-dialog {
  --ll-consent-blue: #2546a8;
  --ll-consent-ink: #21334c;
  --ll-consent-yellow: #f6d96b;
  box-sizing: border-box;
  color: var(--ll-consent-ink);
  background: #fffef9;
  font-family: inherit;
  line-height: 1.5;
}

.ll-cookie-banner[hidden] { display: none; }
.ll-cookie-banner {
  position: fixed;
  z-index: 1000;
  right: 24px;
  bottom: 24px;
  left: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  max-width: 1260px;
  margin: 0 auto;
  padding: 24px 28px;
  border: 2px solid #2546a8;
  border-radius: 22px;
  box-shadow: 0 8px 48px #21334c24;
}
.ll-cookie-banner__copy { max-width: 690px; }
.ll-cookie-eyebrow { margin: 0 0 4px; color: #2546a8; font-size: 13px; font-weight: 800; }
.ll-cookie-banner h2,
.ll-cookie-dialog h2 { margin: 0 0 8px; color: #2546a8; font-size: clamp(20px, 2vw, 26px); line-height: 1.2; }
.ll-cookie-banner p:not(.ll-cookie-eyebrow) { margin: 0; font-size: 14px; }
.ll-cookie-banner a,
.ll-cookie-dialog a { color: #2546a8; text-decoration: underline; }
.ll-cookie-banner__actions { display: grid; grid-template-columns: 1fr 1fr; flex-shrink: 0; gap: 10px; min-width: 290px; }
.ll-cookie-choice,
.ll-cookie-preferences {
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 17px;
  border: 2px solid #2546a8;
  border-radius: 999px;
  color: #fffef9;
  background: #2546a8;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
}
.ll-cookie-choice:hover { color: #21334c; background: #f6d96b; }
.ll-cookie-preferences { grid-column: 1 / -1; min-height: 42px; color: #2546a8; background: transparent; }
.ll-cookie-preferences:hover { background: #dceef8; }
.ll-cookie-choice:focus-visible,
.ll-cookie-preferences:focus-visible,
.ll-cookie-close:focus-visible,
.ll-cookie-dialog input:focus-visible { outline: 3px solid #2546a8; outline-offset: 4px; }
.ll-cookie-dialog { width: min(620px, calc(100% - 32px)); max-height: calc(100dvh - 48px); padding: 28px; border: 2px solid #2546a8; border-radius: 24px; overflow-y: auto; }
.ll-cookie-dialog:not([open]) { display: none; }
.ll-cookie-dialog::backdrop { background: #17264780; }
.ll-cookie-dialog__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ll-cookie-dialog__header h2 { padding-top: 7px; }
.ll-cookie-close { flex: 0 0 42px; width: 42px; height: 42px; padding: 0; border: 1px solid #2546a8; border-radius: 50%; color: #2546a8; background: #dceef8; font: inherit; font-size: 27px; line-height: 1; cursor: pointer; }
.ll-cookie-dialog > p { margin: 12px 0 24px; font-size: 15px; }
.ll-cookie-category { display: flex; align-items: center; gap: 20px; justify-content: space-between; padding: 20px 0; border-top: 1px solid #21334c26; }
.ll-cookie-category > div { flex: 1; }
.ll-cookie-category h3 { margin: 0 0 6px; color: #2546a8; font-size: 18px; }
.ll-cookie-category p { margin: 0; font-size: 14px; }
.ll-cookie-category input { flex: 0 0 24px; width: 24px; height: 24px; margin: 0 4px; accent-color: #2546a8; cursor: pointer; }
.ll-cookie-required { flex: 0 0 auto; color: #2546a8; font-size: 12px; font-weight: 700; }
.ll-cookie-category .ll-cookie-local-note { margin-top: 8px; font-size: 12px; }
.ll-cookie-dialog__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.ll-consent-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ll-cookie-noscript { padding: 12px 24px; color: #21334c; background: #dceef8; text-align: center; font-size: 13px; }

.ll-contact { scroll-margin-top: 110px; }
.ll-contact__form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ll-contact__field { display: flex; flex-direction: column; gap: 7px; margin: 0; }
.ll-contact__field--wide { grid-column: 1 / -1; }
.ll-contact__field > label { font-size: 15px; font-weight: 700; }
.ll-contact__field > input,
.ll-contact__field > textarea { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 15px; border: 1px solid #21334c5c; border-radius: 12px; color: #21334c; background: #fffef9; font: inherit; }
.ll-contact__field > textarea { resize: vertical; }
.ll-contact__field input:focus-visible,
.ll-contact__field textarea:focus-visible,
.ll-contact__submit:focus-visible { outline: 3px solid #2546a8; outline-offset: 3px; }
.ll-contact__field [aria-invalid="true"] { border-color: #a12929; }
.ll-contact__field .ll-contact__consent { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; font-weight: 400; }
.ll-contact__consent input { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #2546a8; }
.ll-contact__submit { min-height: 48px; padding: 13px 25px; border: 2px solid #2546a8; border-radius: 999px; color: #fffef9; background: #2546a8; font: inherit; font-weight: 700; cursor: pointer; }
.ll-contact__submit:hover { color: #21334c; background: #f6d96b; }
.ll-contact__notice { margin: 20px 0; padding: 18px 20px; border: 1px solid #2546a8; border-radius: 12px; color: #21334c; background: #dceef8; }
.ll-contact__notice p { margin: 0; }
.ll-contact__notice p + p { margin-top: 8px; }
.ll-contact__notice--error { border-color: #a12929; background: #fff2ed; }
.ll-contact__error { color: #922525; font-size: 13px; }
.ll-contact__local-note { margin-bottom: 24px; font-size: 14px; }
.ll-contact__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.ll-company-details { font-style: normal; line-height: 1.8; }
.ll-shipment { margin: 28px 0; padding: 20px; border: 1px solid #2546a8; border-radius: 16px; }
.ll-shipment h2 { margin-top: 0; }
.ll-shipment p:last-child { margin-bottom: 0; }

@media (max-width: 820px) {
  .ll-cookie-banner { right: 12px; bottom: 12px; left: 12px; align-items: stretch; flex-direction: column; gap: 18px; max-height: calc(100dvh - 24px); padding: 20px; overflow-y: auto; }
  .ll-cookie-banner__actions { min-width: 0; }
}
@media (max-width: 480px) {
  .ll-cookie-banner { padding: 17px; border-radius: 18px; }
  .ll-cookie-choice { padding: 12px 10px; font-size: 13px; }
  .ll-cookie-dialog { padding: 20px; }
  .ll-cookie-dialog__actions { grid-template-columns: 1fr; }
  .ll-cookie-category { gap: 12px; }
  .ll-cookie-required { max-width: 65px; text-align: right; }
  .ll-contact__form { grid-template-columns: 1fr; }
}
