/* AnyHeater styling for ART Cookie Choices Pro. */
body > :is(#cookieChoiceInfo, #InformativaPreferencesModal) {
  --ah-cookie-ink: #f6f2ed;
  --ah-cookie-muted: #dce3e8;
  --ah-cookie-line: #465059;
  --ah-cookie-panel: linear-gradient(115deg, #11181e, #202a32);
  --ah-cookie-glow: radial-gradient(ellipse at top right, #53301f, transparent 65%);
  --ah-cookie-control: #392a22;
  --ah-cookie-control-line: #b07d5d;
  --ah-cookie-control-ink: #ffe1ce;
  --ah-cookie-hover: #51392b;
  --ah-cookie-accent: #ffad7e;
  --ah-cookie-accent-ink: #241a14;
  color-scheme: dark;
  font-family: var(--bs-body-font-family);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* Specificity and !important override the colors and position emitted by the module. */
body > #cookieChoiceInfo {
  --ah-cookie-inset: clamp(.75rem, 2vw, 1.5rem);
  inset: auto auto max(var(--ah-cookie-inset), env(safe-area-inset-bottom)) auto !important;
  inset-inline-end: var(--ah-cookie-inset) !important;
  transform: none !important;
  z-index: 1040;
  display: grid;
  grid-template-columns:
    [policy] minmax(0, max-content)
    [customize] minmax(0, max-content)
    [spacer] minmax(0, 1fr)
    [reject] minmax(3.5rem, max-content)
    [accept] minmax(3.5rem, max-content);
  gap: .25rem .625rem;
  width: min(27rem, calc(100% - 2 * var(--ah-cookie-inset))) !important;
  max-width: none !important;
  max-height: calc(100vh - 2 * var(--ah-cookie-inset));
  max-height: calc(100dvh - 2 * var(--ah-cookie-inset));
  overflow: auto;
  overscroll-behavior: contain;
  padding: .75rem .75rem .5rem;
  border: 1px solid var(--ah-cookie-line);
  border-radius: .75rem;
  background: var(--ah-cookie-glow), var(--ah-cookie-panel) !important;
  box-shadow: 0 6px 20px rgb(17 24 30 / 20%) !important;
  color: var(--ah-cookie-muted) !important;
  font-size: .8125rem;
  text-align: start;
}

/* Keep the trigger focusable so the module can restore focus as the dialog closes. */
body:has(> #InformativaPreferencesModal[aria-hidden="false"]) > #cookieChoiceInfo {
  opacity: 0;
  pointer-events: none;
}

#cookieChoiceInfo > #InformativaSpan {
  grid-column: 1 / -1;
  min-width: 0;
  max-width: none;
  margin: 0;
  line-height: 1.4;
  text-align: start;
}

#cookieChoiceInfo > #close_cookie_block {
  display: none;
}

/* The module sets action colors in its header and margins on individual links. */
body > #cookieChoiceInfo > :is(#InformativaClick, #InformativaCustomize, #InformativaReject, #InformativaAccetto),
body > #InformativaPreferencesModal :is(#InformativaCancelPreferences, #InformativaReject, #InformativaSavePreferences, #InformativaAccetto) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  min-width: 0;
  width: auto;
  margin: 0 !important;
  padding: .375rem .625rem;
  border: 1px solid var(--ah-cookie-control-line);
  border-radius: .5rem;
  background: var(--ah-cookie-control) !important;
  color: var(--ah-cookie-control-ink) !important;
  font: inherit;
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}

body > #cookieChoiceInfo > :is(#InformativaClick, #InformativaCustomize, #InformativaReject, #InformativaAccetto) {
  max-width: 100%;
  font-size: .75rem;
}

body > #cookieChoiceInfo > :is(#InformativaClick, #InformativaCustomize),
body > #InformativaPreferencesModal #InformativaCancelPreferences {
  border-color: transparent;
  background: transparent !important;
}

body > #cookieChoiceInfo > :is(#InformativaClick, #InformativaCustomize) {
  justify-content: flex-start;
  padding-inline: 0;
  border: 0;
  color: var(--ah-cookie-accent) !important;
  text-decoration: underline;
  text-decoration-color: var(--ah-cookie-control-line);
  text-align: start;
  text-underline-offset: .2em;
}

#cookieChoiceInfo > #InformativaClick {
  grid-column: policy;
}

#cookieChoiceInfo > #InformativaCustomize {
  grid-column: customize;
}

#cookieChoiceInfo > #InformativaReject {
  grid-column: reject;
}

#cookieChoiceInfo > #InformativaAccetto {
  grid-column: accept;
}

body > #cookieChoiceInfo > :is(#InformativaReject, #InformativaAccetto) {
  padding-inline: .375rem;
}

body > #InformativaPreferencesModal #InformativaSavePreferences {
  border-color: var(--ah-cookie-accent);
  background: var(--ah-cookie-accent) !important;
  color: var(--ah-cookie-accent-ink) !important;
}

body > #InformativaPreferencesModal #InformativaSavePreferences:hover {
  border-color: #ffc19e;
  background: #ffc19e !important;
}

body > #cookieChoiceInfo > :is(#InformativaReject, #InformativaAccetto):hover,
body > #InformativaPreferencesModal :is(#InformativaCancelPreferences, #InformativaReject, #InformativaAccetto):hover {
  background: var(--ah-cookie-hover) !important;
}

body > #cookieChoiceInfo > :is(#InformativaClick, #InformativaCustomize):hover {
  color: var(--ah-cookie-ink) !important;
  text-decoration: underline;
  text-decoration-color: currentColor;
}

body > :is(#cookieChoiceInfo, #InformativaPreferencesModal) :is(a, input, #InformativaSpan, .artcookie-preferences-dialog):focus-visible {
  outline: 2px solid var(--ah-cookie-accent);
  outline-offset: 2px;
}

#InformativaPreferencesOverlay {
  background: rgb(17 24 30 / 46%);
}

#InformativaPreferencesModal {
  padding: clamp(.75rem, 3vw, 1.5rem);
  pointer-events: none;
}

#InformativaPreferencesModal .artcookie-preferences-dialog {
  max-width: 36rem;
  max-height: calc(100vh - 2 * clamp(.75rem, 3vw, 1.5rem));
  max-height: calc(100dvh - 2 * clamp(.75rem, 3vw, 1.5rem));
  overflow: auto;
  border: 1px solid var(--ah-cookie-line);
  border-radius: .75rem;
  background: var(--ah-cookie-glow), var(--ah-cookie-panel);
  box-shadow: 0 12px 32px rgb(17 24 30 / 22%);
  pointer-events: auto;
}

body > #InformativaPreferencesModal .artcookie-preferences-header {
  padding: 1rem clamp(1rem, 4vw, 1.5rem);
  border-top: 0 !important;
  border-bottom-color: var(--ah-cookie-line);
  box-shadow: none;
}

#InformativaPreferencesModal .artcookie-preferences-title {
  color: var(--ah-cookie-ink);
  font-size: 1.125rem;
  line-height: 1.3;
  text-transform: none;
}

#InformativaPreferencesModal .artcookie-preferences-body {
  padding: .25rem clamp(1rem, 4vw, 1.5rem);
  overscroll-behavior: contain;
}

#InformativaPreferencesModal .artcookie-category {
  gap: .75rem;
  margin: 0;
  padding: .75rem 0;
  color: var(--ah-cookie-muted);
  font-size: .8125rem;
}

#InformativaPreferencesModal .artcookie-category + .artcookie-category {
  border-top: 1px solid var(--ah-cookie-line);
}

#InformativaPreferencesModal .artcookie-category strong {
  margin-bottom: .125rem;
  color: var(--ah-cookie-ink);
  font-size: .875rem;
}

#InformativaPreferencesModal .artcookie-category input {
  width: 1rem;
  height: 1rem;
  margin-top: .15rem;
  accent-color: var(--ah-cookie-accent);
}

#InformativaPreferencesModal .artcookie-preferences-footer {
  gap: .5rem;
  padding: .75rem clamp(1rem, 4vw, 1.5rem);
  border-top-color: var(--ah-cookie-line);
}

@media (max-width: 479.98px) {
  #cookieChoiceInfo > #InformativaSpan {
    max-block-size: 10rem;
    max-block-size: min(10rem, 27dvh);
    overflow-y: auto;
    scrollbar-width: thin;
  }

  #InformativaPreferencesModal .artcookie-preferences-footer-right {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
}

@media (max-width: 359.98px) {
  body > #cookieChoiceInfo {
    column-gap: .25rem;
  }
}

.ah-cookie-status {
  max-width: 36rem;
  margin: clamp(1rem, 5vw, 3rem) auto;
  overflow: hidden;
  border: 1px solid #dce4e9;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 4px 16px rgb(17 24 30 / 6%);
  overflow-wrap: anywhere;
}

.ah-cookie-status__header {
  display: flex;
  align-items: center;
  gap: .875rem;
  padding: clamp(1rem, 4vw, 1.5rem);
  color: #fff;
  background: radial-gradient(ellipse at 100% 100%, #53301f, transparent 65%),
    linear-gradient(115deg, #11181e, #202a32);
}

.ah-cookie-status__icon {
  display: grid;
  flex: 0 0 2.5rem;
  height: 2.5rem;
  place-items: center;
  border: 1px solid rgb(255 173 126 / 25%);
  border-radius: .625rem;
  color: #ffad7e;
  background: rgb(255 173 126 / 10%);
  font-size: 1.25rem;
}

.ah-cookie-status__header h1 {
  margin: 0;
  color: inherit;
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
}

.ah-cookie-status__body {
  padding: clamp(1rem, 4vw, 1.5rem);
  color: #4f616f;
}

.ah-cookie-status__body p {
  margin: 0 0 1rem;
}

.ah-cookie-status__home {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: .5rem .875rem;
  border-radius: .5rem;
  color: #fff;
  background: #17222a;
  font-size: .875rem;
  font-weight: 700;
  white-space: normal;
}

.ah-cookie-status__home:hover,
.ah-cookie-status__home:focus-visible {
  color: #fff;
  background: #283740;
}

.ah-cookie-status__home:focus-visible {
  outline: 2px solid #ad460f;
  outline-offset: 2px;
}
