/* ==========================================================
   BANNER — INFORMATION ICON BEFORE TEXT
   Scoped to the bottom banner, not the preferences drawer.
   ========================================================== */
/*
.osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
> .osano-cm-dialog__content {
  position: relative !important;
  box-sizing: border-box !important;
  padding-left: 32px !important;
}*/
/* Decorative information icon */
/*.osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
> .osano-cm-dialog__content::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;

  top: 50% !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;

  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;

  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='9' stroke='%23003652' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='7.5' r='1' fill='%23003652'/%3E%3Cpath d='M12 11v6' stroke='%23003652' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;

  box-shadow: none !important;
  transform: translateY(-50%) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}*/
@media (min-width: 767px) {
  .osano-cm-window .osano-cm-dialog__close.osano-cm-close {
  position: absolute;
  top: 25%!important;
  transform: translateY(-40%);
}
}
.osano-cm-dialog{
  padding: 16px!important;
 gap: var(--hspace-2xl, 32px);
}
.osano-cm-dialog__content.osano-cm-content {
  line-height: 24px!important;
    font-family: 'Inter'!important;
}
.osano-cm-content__message.osano-cm-message {
/* Body/B2 */
font-size:16px!important;
font-style: normal!important;
font-weight: 400!important;
/* 150% */
letter-spacing: var(--typography-body-ls, 0);
}
/* ==========================================================
   BANNER — COOKIE POLICY LINK
   ========================================================== */

.osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
> .osano-cm-dialog__content
> a.osano-cm-storage-policy {
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-family: var(--typography-body-family, Inter);
font-size: var(--typography-body-b2-base, 16px);
font-style: normal;
font-weight: var(--typography-body-weight-semibold, 600);
line-height: var(--typography-body-lh-2, 24px);
text-decoration-line: underline;
text-decoration-style: solid;
text-decoration-skip-ink: none;
text-decoration-thickness: auto;
text-underline-offset: auto;
text-underline-position: from-font;
}
.osano-cm-button{
  line-height: 24px!important;
    font-family: 'Inter'!important;
  height: 48px !important;
   font-weight: 600 !important;
   border-radius: 4px !important;
}


.osano-cm-button--type_deny{
  border-width: 2px !important;
}
.osano-cm-dialog button.osano-cm-deny:hover,
.osano-cm-dialog button.osano-cm-denyAll:hover {
  color: #FFFFFF !important;
}
/* ==========================================================
   WIDGET AND DRAWER HEADING
   ========================================================== */
/* Manage Preferences: text-link appearance
button.osano-cm-manage.osano-cm-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #003b50 !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  padding: 8px 12px !important;
  height: auto !important;
  min-height: 24px !important;
  cursor: pointer !important;
}

/* Underline when hovering over it 
button.osano-cm-manage.osano-cm-button:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

/* Keep keyboard focus visible 
button.osano-cm-manage.osano-cm-button:focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 3px;
}*/
@media (max-width: 767px) {
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 767px !important;
    min-height: 56px !important;
  }

  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__content.osano-cm-content {
    order: 1 !important;
    flex: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
  }

  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    box-sizing: border-box !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-button {
    box-sizing: border-box !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    text-align: center !important;
    white-space: normal !important;
  }}
/*
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-accept {
    order: 1 !important;
  }

  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-deny,
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-denyAll {
    order: 2 !important;
  }

  /* Text-link appearance; overrides the desktop Manage CTA on mobile.
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-manage.osano-cm-button {
    order: 3 !important;
    min-height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #003652 !important;
  }
*/
  /* Figma mobile hover/tap states. */
  /*
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-accept:hover,
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-accept:active {
    background: #226587 !important;
    border-color: #226587 !important;
    color: #fff !important;
  }

  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-deny:hover,
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-deny:active,
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-denyAll:hover,
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-denyAll:active {
    background: #003652 !important;
    border-color: #003652 !important;
    color: #fff !important;
  }

  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-manage.osano-cm-button:hover,
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__buttons > button.osano-cm-manage.osano-cm-button:active {
    background: transparent !important;
    color: #003652 !important;
    text-decoration: underline !important;
  }*/

  /* Keep the close button usable without placing it below the CTAs.
  .osano-cm-dialog--type_bar.osano-cm-dialog--position_bottom
  > .osano-cm-dialog__close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
  }
}*/

button.osano-cm-window__widget > svg > path:nth-child(1) {
  stroke: #003652 !important;
}
button.osano-cm-window__widget > svg > path:nth-child(2) {
stroke: #003652 !important; / needs to match stroke color from outline */
fill: white !important;
}
button.osano-cm-window__widget > svg > g {
  fill: #003652 !important;
}

.osano-cm-info-dialog-header__header {
  color: #003652 !important;
  flex: 1 0 0;
  font-family: Inter!important;
font-size:18px!important;
font-style: normal!important;
font-weight: 400 !important;
line-height: 27px !important;
letter-spacing: var(--typography-body-ls, 0);
}
.osano-cm-info.osano-cm-info--position_right
> .osano-cm-info__info-dialog-header {
  isolation: isolate !important;
  z-index: 10 !important;
  background: #ffffff !important;
}
.osano-cm-view__description.osano-cm-description{

font-family: Inter!important;
font-size: 12px!important;
font-style: normal!important;
font-weight: 400!important;
line-height: 18px!important;
letter-spacing: var(--typography-body-ls, 0);
}

/* Contain ALL category and toggle layers below the header.
   Preserve existing scrolling and positioning rules. */
.osano-cm-info.osano-cm-info--position_right
> .osano-cm-info__info-views {
  isolation: isolate !important;
  z-index: 0 !important;
}
/* Essential, Targeted Advertising, Personalization, Analytics */
.osano-cm-info.osano-cm-info--position_right
.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__label {
  color: #111111 !important;
  font-family: Inter !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 24px !important;
  letter-spacing: normal !important;
}
/* Category descriptions — target the paragraph as well
   so its native font styles do not override the container. */
.osano-cm-info.osano-cm-info--position_right
.osano-cm-view--type_consent
.osano-cm-list-item__description,
.osano-cm-info.osano-cm-info--position_right
.osano-cm-view--type_consent
.osano-cm-list-item__description > p {
  color: #111111 !important;
  font-family: Inter !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 18px !important;
  letter-spacing: normal !important;
}
/* View Disclosures */
.osano-cm-info.osano-cm-info--position_right
.osano-cm-view--type_consent
.osano-cm-disclosure__toggle {
  color: #003652 !important;
  font-family: Inter !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 21px !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  gap: var(--vspace-xl, 24px);
}

/* Save CTA — full content width.
   Minimum height rather than fixed height allows text to grow. 
.osano-cm-info.osano-cm-info--position_right
.osano-cm-view--type_consent
> button.osano-cm-save.osano-cm-view__button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;

  margin: 32px 0 0 !important;
  padding: 12px 20px !important;

  border: 1px solid #003652 !important;
  border-radius: 4px !important;
  background: #003652 !important;
  box-shadow: none !important;

  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 22px !important;
  letter-spacing: normal !important;

  text-align: center !important;
  text-transform: none !important;
  white-space: normal !important;
}*/

/* Save CTA — keyboard focus 
.osano-cm-info.osano-cm-info--position_right
.osano-cm-view--type_consent
> button.osano-cm-save.osano-cm-view__button:focus-visible {
  outline: 2px solid #003652 !important;
  outline-offset: 3px !important;
}*/
/* ==========================================================
   CATEGORY ROW
   Scope to the consent drawer, not disclosure buttons.
   Keep Osano's input and consent behavior unchanged.
   ========================================================== */

.osano-cm-view--type_consent .osano-cm-list-item__toggle {
  display: flex !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: space-between !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  opacity: 1 !important;
}

.osano-cm-view--type_consent
.osano-cm-list-item__toggle > .osano-cm-toggle__label {
  flex: 1 1 auto !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  text-align: left !important;
  opacity: 1 !important;
}

/* ==========================================================
   TRACK — DEFAULT OFF STATE
   Use an inset outline so the border does not shift the thumb.
   ========================================================== */

.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input
+ .osano-cm-toggle__switch.osano-cm-switch {
  --gds-track: #ffffff;
  --gds-edge: #c4beb5;
  --gds-thumb: #c4beb5;
  --gds-thumb-left: 4px;
  --gds-text: "OFF";
  --gds-text-color: #2d2d2d;
  --gds-text-left: 32px;
  --gds-icon: none;

  position: relative !important;
  inset: auto !important;

  display: block !important;
  flex: 0 0 64px !important;

  width: 64px !important;
  min-width: 64px !important;
  max-width: 64px !important;

  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;

  margin: 0 0 0 16px !important;
  padding: 0 !important;

  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 999px !important;

  background: var(--gds-track) !important;
  box-shadow: inset 0 0 0 1px var(--gds-edge) !important;

  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
  cursor: pointer !important;
}

/* ==========================================================
   CHECKED STATE
   Applies to Essential, Marketing, Personalization, Analytics.
   State follows the real checkbox, not hard-coded categories.
   ========================================================== */

.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input:checked
+ .osano-cm-toggle__switch.osano-cm-switch {
  --gds-track: #226587;
  --gds-edge: #226587;
  --gds-thumb: #ffffff;
  --gds-thumb-left: 36px;
  --gds-text: "ON";
  --gds-text-color: #ffffff;
  --gds-text-left: 4px;
}

/* ==========================================================
   ESSENTIAL — LOCKED APPEARANCE
   The ON/OFF text and thumb position still follow :checked.
   The SVG is applied to the thumb itself below.
   ========================================================== */

.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input[data-category="ESSENTIAL"]:disabled
+ .osano-cm-toggle__switch.osano-cm-switch {
  --gds-track: #eae7e1;
  --gds-edge: #eae7e1;
  --gds-thumb: #ffffff;
  --gds-text-color: #2d2d2d;

  --gds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 13' fill='none'%3E%3Cpath d='M2.5 5V3.5a2.5 2.5 0 0 1 5 0V5' stroke='%232D2D2D' stroke-width='1.2' stroke-linecap='round'/%3E%3Crect x='.8' y='5' width='8.4' height='7.2' rx='1.2' stroke='%232D2D2D' stroke-width='1.2'/%3E%3Ccircle cx='5' cy='8' r='.8' fill='%232D2D2D'/%3E%3Cpath d='M5 8.5V10' stroke='%232D2D2D' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E");

  cursor: not-allowed !important;
}

/* ==========================================================
   RESET BOTH NATIVE PSEUDO-ELEMENTS
   ::before = circular thumb, including the Essential lock
   ::after  = ON / OFF text

   These selectors deliberately include the input and both
   switch classes to override native checked-state styling.
   ========================================================== */

.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input
+ .osano-cm-toggle__switch.osano-cm-switch::before,
.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input
+ .osano-cm-toggle__switch.osano-cm-switch::after {
  all: unset !important;

  box-sizing: border-box !important;
  position: absolute !important;
  display: block !important;

  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

/* ==========================================================
   THUMB
   Background image is ON TOP of the white thumb background.
   ========================================================== */

.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input
+ .osano-cm-toggle__switch.osano-cm-switch::before {
  content: "" !important;

  top: 4px !important;
  left: var(--gds-thumb-left) !important;

  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;

  background-color: var(--gds-thumb) !important;
  background-image: var(--gds-icon) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 9.83px 12.8px !important;

  transition: left 160ms ease !important;
  z-index: 1 !important;
}

/* ==========================================================
   ON / OFF TEXT
   Vertically centered without relying on font-specific offsets.
   ========================================================== */

.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input
+ .osano-cm-toggle__switch.osano-cm-switch::after {
  content: var(--gds-text) !important;

  top: 0 !important;
  left: var(--gds-text-left) !important;

  display: grid !important;
  place-items: center !important;

  width: 28px !important;
  height: 32px !important;

  background: none !important;
  color: var(--gds-text-color) !important;

  font-family: inherit !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1 !important;

  letter-spacing: normal !important;
  text-align: center !important;
  text-indent: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  z-index: 2 !important;
}

/* ==========================================================
   KEYBOARD FOCUS
   ========================================================== */

.osano-cm-view--type_consent
.osano-cm-list-item__toggle
> .osano-cm-toggle__input:focus-visible
+ .osano-cm-toggle__switch.osano-cm-switch {
  outline: 2px solid #003652 !important;
  outline-offset: 3px !important;
}

/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
  .osano-cm-view--type_consent
  .osano-cm-list-item__toggle
  > .osano-cm-toggle__input
  + .osano-cm-toggle__switch.osano-cm-switch::before {
    transition: none !important;
  }
}