/* WPG WPML language switcher 1.2.0 — compatibile con classi e typography Atomic V4. */
.wpg-wpml-switcher {
  --wpg-wpml-gap: 0.65em;
  --wpg-wpml-pill-padding: 0.45em 0.8em;
  --wpg-wpml-pill-radius: 999px;
  --wpg-wpml-dropdown-bg: #fff;
  --wpg-wpml-dropdown-text: #202020;
  --wpg-wpml-dropdown-radius: 12px;
  --wpg-wpml-dropdown-shadow: 0 8px 24px rgb(0 0 0 / 0.12);
  position: relative;
  align-items: center;
  max-width: 100%;
}

.wpg-wpml-switcher,
.wpg-wpml-switcher * { box-sizing: border-box; }

.wpg-wpml-switcher__list,
.wpg-wpml-switcher__menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wpg-wpml-switcher__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--wpg-wpml-gap);
}

.wpg-wpml-switcher__item {
  display: inline-flex;
  align-items: center;
  gap: var(--wpg-wpml-gap);
  margin: 0;
  padding: 0;
}

.wpg-wpml-switcher__link,
.wpg-wpml-switcher__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: inherit;
  text-decoration: none;
  text-transform: inherit;
  white-space: nowrap;
  vertical-align: middle;
}

.wpg-wpml-switcher__link:not(.is-active) { opacity: 0.72; }
.wpg-wpml-switcher__link[href]:hover { opacity: 1; }
.wpg-wpml-switcher__link[href]:focus-visible,
.wpg-wpml-switcher__trigger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.wpg-wpml-switcher__link.is-active { opacity: 1; cursor: default; }
.wpg-wpml-switcher--active-underline:not(.wpg-wpml-switcher--dropdown) .wpg-wpml-switcher__link.is-active {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}
.wpg-wpml-switcher--active-strong .wpg-wpml-switcher__link.is-active { font-weight: 700; }

.wpg-wpml-switcher--inline.wpg-wpml-switcher--separator-slash .wpg-wpml-switcher__item + .wpg-wpml-switcher__item::before { content: '/'; opacity: 0.5; }
.wpg-wpml-switcher--inline.wpg-wpml-switcher--separator-line .wpg-wpml-switcher__item + .wpg-wpml-switcher__item::before { content: '|'; opacity: 0.5; }
.wpg-wpml-switcher--inline.wpg-wpml-switcher--separator-dot .wpg-wpml-switcher__item + .wpg-wpml-switcher__item::before { content: '·'; opacity: 0.5; }

.wpg-wpml-switcher__flag {
  display: block;
  flex: 0 0 auto;
  width: 20px;
  height: 15px;
  object-fit: cover;
  border-radius: 2px;
}

/* Variante pulsanti; conserva colori e tipografia ereditati dall'elemento Atomic. */
.wpg-wpml-switcher--pills .wpg-wpml-switcher__list { gap: 0.3em; }
.wpg-wpml-switcher--pills .wpg-wpml-switcher__link {
  padding: var(--wpg-wpml-pill-padding);
  border: 1px solid transparent;
  border-radius: var(--wpg-wpml-pill-radius);
}
.wpg-wpml-switcher--pills .wpg-wpml-switcher__link.is-active { border-color: currentColor; }
.wpg-wpml-switcher--pills .wpg-wpml-switcher__link[href]:hover { border-color: currentColor; }

/* Variante dropdown: usa details/summary nativi (tastiera e touch, nessun JS). */
.wpg-wpml-switcher__dropdown { position: relative; min-width: 0; }
.wpg-wpml-switcher__trigger {
  gap: 0.65em;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.wpg-wpml-switcher__trigger::-webkit-details-marker { display: none; }
.wpg-wpml-switcher__chevron {
  display: inline-block;
  width: 0.42em;
  height: 0.42em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-25%) rotate(45deg);
  transition: transform 180ms ease;
}
.wpg-wpml-switcher__dropdown[open] .wpg-wpml-switcher__chevron { transform: translateY(12%) rotate(225deg); }
.wpg-wpml-switcher__menu {
  position: absolute;
  z-index: 99999;
  top: calc(100% + 0.65em);
  inset-inline-end: 0;
  min-width: max(100%, 130px);
  padding: 0.35em;
  overflow: hidden;
  border: 1px solid rgb(0 0 0 / 0.08);
  border-radius: var(--wpg-wpml-dropdown-radius);
  background: var(--wpg-wpml-dropdown-bg);
  box-shadow: var(--wpg-wpml-dropdown-shadow);
  color: var(--wpg-wpml-dropdown-text);
}
.wpg-wpml-switcher__menu-item { display: block; margin: 0; padding: 0; }
.wpg-wpml-switcher__menu .wpg-wpml-switcher__link {
  display: flex;
  width: 100%;
  padding: 0.55em 0.65em;
  border-radius: calc(var(--wpg-wpml-dropdown-radius) / 2);
  color: inherit;
  opacity: 1;
}
.wpg-wpml-switcher__menu .wpg-wpml-switcher__link[href]:hover { background: rgb(0 0 0 / 0.055); }

@media (prefers-reduced-motion: reduce) {
  .wpg-wpml-switcher__chevron { transition: none; }
}

/* v1.1.0 — two-language capsule, inspired by the supplied white toggle. */
.wpg-wpml-toggle {
  --_wpg-height: max(16px, var(--wpg-wpml-toggle-height, var(--wpg-legacy-toggle-height, 44px)));
  --_wpg-width: max(calc(var(--_wpg-height) * 1.7), var(--wpg-wpml-toggle-width, var(--wpg-legacy-toggle-width, 84px)));
  --_wpg-pad: clamp(0px, var(--wpg-wpml-toggle-padding, var(--wpg-legacy-toggle-padding, 3px)), calc(var(--_wpg-height) / 5));
  --_wpg-border: clamp(0px, var(--wpg-wpml-toggle-border-width, var(--wpg-legacy-toggle-border-width, 1px)), calc(var(--_wpg-height) / 8));
  --_wpg-knob-size: calc(var(--_wpg-height) - var(--_wpg-border) * 2 - var(--_wpg-pad) * 2);
  display: inline-flex;
  align-items: center;
  gap: var(--wpg-wpml-toggle-gap, var(--wpg-legacy-toggle-gap, 12px));
  flex-wrap: nowrap;
  direction: ltr;
  vertical-align: middle;
  isolation: isolate;
}
.wpg-wpml-toggle .wpg-wpml-toggle__label,
.wpg-wpml-toggle .wpg-wpml-toggle__track-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  text-decoration: none;
  box-shadow: none;
  font: inherit;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.wpg-wpml-toggle .wpg-wpml-toggle__label {
  min-width: 2ch;
  white-space: nowrap;
  color: var(--wpg-wpml-inactive-color, var(--wpg-legacy-inactive-color, #92929f));
  opacity: clamp(0, calc(var(--wpg-wpml-inactive-opacity, var(--wpg-legacy-inactive-opacity, 100)) / 100), 1);
  font-weight: var(--wpg-wpml-inactive-weight, var(--wpg-legacy-inactive-weight, 500));
  transition: color var(--wpg-wpml-toggle-duration, var(--wpg-legacy-toggle-duration, 180ms)) ease, opacity var(--wpg-wpml-toggle-duration, var(--wpg-legacy-toggle-duration, 180ms)) ease;
}
.wpg-wpml-toggle[data-wpg-state="left"] .wpg-wpml-toggle__label--left,
.wpg-wpml-toggle[data-wpg-state="right"] .wpg-wpml-toggle__label--right {
  color: var(--wpg-wpml-active-color, var(--wpg-legacy-active-color, #5d5d73));
  opacity: clamp(0, calc(var(--wpg-wpml-active-opacity, var(--wpg-legacy-active-opacity, 100)) / 100), 1);
  font-weight: var(--wpg-wpml-active-weight, var(--wpg-legacy-active-weight, 700));
}
.wpg-wpml-toggle span.wpg-wpml-toggle__label,
.wpg-wpml-toggle span.wpg-wpml-toggle__track-link { cursor: default; }
.wpg-wpml-toggle a.wpg-wpml-toggle__label:hover { color: var(--wpg-wpml-hover-color, var(--wpg-legacy-hover-color, #44445b)); opacity: 1; }
.wpg-wpml-toggle .wpg-wpml-toggle__track-link { flex: 0 0 auto; border-radius: 999px; }
.wpg-wpml-toggle a:focus-visible {
  outline: 2px solid var(--wpg-wpml-focus-color, var(--wpg-legacy-focus-color, #405ad6));
  outline-offset: 4px;
  border-radius: 999px;
}
.wpg-wpml-toggle__track {
  position: relative;
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
  width: var(--_wpg-width);
  height: var(--_wpg-height);
  border: var(--_wpg-border) solid var(--wpg-wpml-track-border, var(--wpg-legacy-track-border, #fff));
  border-radius: 999px;
  background: var(--wpg-wpml-track-color, var(--wpg-legacy-track-color, #e6e7ec));
  box-shadow: var(--wpg-wpml-track-shadow-mode, var(--wpg-wpml-track-shadow, 0 1px 5px rgb(31 36 55 / 0.16), 0 -1px 1px rgb(255 255 255 / 0.9)));
}
.wpg-wpml-toggle__flag {
  position: absolute;
  display: block;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
  opacity: 0;
  transition: opacity var(--wpg-wpml-toggle-duration, var(--wpg-legacy-toggle-duration, 180ms)) ease;
  pointer-events: none;
}
.wpg-wpml-toggle__flag img,
.wpg-wpml-toggle__flag svg {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  border: 0;
  border-radius: 0;
  object-fit: var(--wpg-wpml-flag-fit, var(--wpg-legacy-flag-fit, cover));
  object-position: center;
}
.wpg-wpml-toggle[data-wpg-state="left"] .wpg-wpml-toggle__flag--left,
.wpg-wpml-toggle[data-wpg-state="right"] .wpg-wpml-toggle__flag--right { opacity: 1; }
.wpg-wpml-toggle__flag-placeholder {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  color: #5d5d73;
  font-size: 0.7em;
}
.wpg-wpml-toggle__sheen {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgb(0 0 0 / 0.12), transparent 35%, transparent 65%, rgb(255 255 255 / 0.12));
  box-shadow: inset 0 2px 4px rgb(25 30 48 / 0.24);
  opacity: clamp(0, calc(var(--wpg-wpml-sheen-opacity, 100) / 100), 1);
}
.wpg-wpml-toggle__knob {
  position: absolute;
  z-index: 2;
  left: var(--_wpg-pad);
  top: var(--_wpg-pad);
  display: block;
  width: var(--_wpg-knob-size);
  height: var(--_wpg-knob-size);
  border: 1px solid var(--wpg-wpml-knob-border, rgb(255 255 255 / 0.8));
  border-radius: 50%;
  background-color: var(--wpg-wpml-knob-color, var(--wpg-legacy-knob-color, #f8f8fb));
  background-image: linear-gradient(145deg, rgb(255 255 255 / 0.18), rgb(0 0 0 / 0.035));
  box-shadow: var(--wpg-wpml-knob-shadow-mode, var(--wpg-wpml-knob-shadow, 0 2px 5px rgb(21 27 48 / 0.28), inset 0 1px 2px rgb(255 255 255 / 0.9)));
  transform: translateX(0);
  transition: transform var(--wpg-wpml-toggle-duration, var(--wpg-legacy-toggle-duration, 180ms)) cubic-bezier(.22,.7,.25,1);
  pointer-events: none;
}
.wpg-wpml-toggle[data-wpg-state="right"] .wpg-wpml-toggle__knob {
  transform: translateX(calc(var(--_wpg-width) - var(--_wpg-height)));
}
.wpg-wpml-toggle[data-wpg-shadow="strong"] .wpg-wpml-toggle__track { box-shadow: var(--wpg-wpml-track-shadow-mode, var(--wpg-wpml-track-shadow, 0 3px 10px rgb(31 36 55 / 0.25), 0 -2px 4px #fff)); }
.wpg-wpml-toggle[data-wpg-shadow="strong"] .wpg-wpml-toggle__knob { box-shadow: var(--wpg-wpml-knob-shadow-mode, var(--wpg-wpml-knob-shadow, 0 3px 9px rgb(21 27 48 / 0.4), inset 0 2px 3px #fff)); }
.wpg-wpml-toggle[data-wpg-shadow="none"] .wpg-wpml-toggle__track { box-shadow: var(--wpg-wpml-track-shadow-mode, var(--wpg-wpml-track-shadow, none)); }
.wpg-wpml-toggle[data-wpg-shadow="none"] .wpg-wpml-toggle__knob { box-shadow: var(--wpg-wpml-knob-shadow-mode, var(--wpg-wpml-knob-shadow, none)); }
.wpg-wpml-toggle[data-wpg-shadow="none"] .wpg-wpml-toggle__sheen { opacity: clamp(0, calc(var(--wpg-wpml-sheen-opacity, 0) / 100), 1); }
.wpg-wpml-toggle__notice { padding: 12px; border: 1px dashed #92929f; font-size: 13px; }
@media (prefers-reduced-motion: reduce) {
  .wpg-wpml-toggle__flag, .wpg-wpml-toggle__knob,
  .wpg-wpml-toggle .wpg-wpml-toggle__label { transition: none; }
}
@media (forced-colors: active) {
  .wpg-wpml-toggle__track { border: 2px solid CanvasText; }
  .wpg-wpml-toggle__knob { background: CanvasText; border-color: Canvas; }
}
