/* Shared consent styling; Osano retains all consent controls and behavior. */
body .osano-cm-window { font-family: "Poppins", Arial, sans-serif !important; font-size: 14px !important; line-height: 1.5 !important; }
body .osano-cm-dialog,
body .osano-cm-info { background: #fff !important; color: #171717 !important; box-sizing: border-box !important; box-shadow: 0 8px 36px #0003 !important; }
body .osano-cm-dialog {
  top: auto !important; bottom: 20px !important; right: 20px !important; left: auto !important;
  width: 440px !important; max-width: calc(100vw - 40px) !important;
  max-height: calc(100dvh - 40px) !important; padding: 24px !important; border-radius: 8px !important;
  overflow-y: auto !important;
}
body .osano-cm-window :is(.osano-cm-message,.osano-cm-description,.osano-cm-usage-list,.osano-cm-list-item,.osano-cm-description p) {
  color: #171717 !important; font-size: 14px !important; line-height: 1.5 !important;
}
body .osano-cm-window p { margin: 0 0 12px !important; }
body .osano-cm-window .osano-cm-usage-list__list { padding-left: 18px !important; margin: 8px 0 14px !important; }
body .osano-cm-window .osano-cm-link,
body .osano-cm-window .osano-cm-disclosure__toggle { color: #21317f !important; font-size: 13px !important; text-decoration: underline !important; }
body .osano-cm-dialog__buttons { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 16px !important; }
body .osano-cm-window .osano-cm-button {
  background: #21317f !important; color: #fff !important; border: 0 !important;
  border-radius: 24px !important; padding: 12px 16px !important;
  font: 600 13px/1.4 "Poppins",Arial,sans-serif !important; margin: 0 !important;
}
body .osano-cm-window .osano-cm-button:hover { background: #e74011 !important; }
body .osano-cm-window .osano-cm-button:focus-visible { outline: 2px solid #e74011 !important; outline-offset: 3px !important; }
body .osano-cm-info {
  left: auto !important; right: 0 !important; width: 440px !important; max-width: 100vw !important;
  height: 100dvh !important; max-height: 100dvh !important;
}
body .osano-cm-info:not(.osano-cm-info--open) { transform: translateX(100%) !important; }
body .osano-cm-info.osano-cm-info--open { transform: translateX(0) !important; }
body .osano-cm-window :is(.osano-cm-header,.osano-cm-label) { color: #e74011 !important; font-weight: 600 !important; }
body .osano-cm-window .osano-cm-label { font-size: 16px !important; }
body .osano-cm-window .osano-cm-info-dialog-header,
body .osano-cm-window .osano-cm-info-dialog-header__header {
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}
html:has(.osano-cm-info--open),
body:has(.osano-cm-info--open) {
  overflow: hidden !important;
  overscroll-behavior: none;
}
body .osano-cm-info { overscroll-behavior: contain; }
body .osano-cm-window .osano-cm-info-dialog-header::before,
body .osano-cm-window .osano-cm-info-dialog-header::after {
  background: none !important;
  box-shadow: none !important;
}
body .osano-cm-window .osano-cm-header { font-size: 18px !important; line-height: 1.3 !important; }
body .osano-cm-window .osano-cm-close { color: #21317f !important; stroke: #21317f !important; }
body .osano-cm-window :is(button,a,input):focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}
body .osano-cm-window :is(button,a,input):focus-visible {
  outline: 2px solid #e74011 !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}
@media (hover: none) and (pointer: coarse) {
  body .osano-cm-window .osano-cm-close:focus {
    outline: none !important;
    box-shadow: none !important;
  }
  body .osano-cm-window .osano-cm-close:focus-visible {
    outline: 2px solid #e74011 !important;
  }
}
body .osano-cm-toggle--checked .osano-cm-switch { background-color: #21317f !important; border-color: #21317f !important; }
@media (max-width: 600px) {
  body .osano-cm-dialog { right: 12px !important; bottom: 12px !important; max-width: calc(100vw - 24px) !important; max-height: calc(100dvh - 24px) !important; padding: 18px !important; }
}
