@font-face {
  font-family: "Fontello";
  src:
    url(/bootstrap/fonts/fontello.woff2) format("woff2"),
    url(/bootstrap/fonts/fontello.woff) format("woff");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src:
    url(/fonts/PlusJakartaSans-VariableFont_wght.woff2) format("woff2"),
    url(/fonts/PlusJakartaSans-VariableFont_wght.ttf) format("ttf");
}
@font-face {
  font-family: "Plus Jakarta Sans";
  src:
    url(/fonts/PlusJakartaSans-Italic-VariableFont_wght.woff2) format("woff2"),
    url(/fonts/PlusJakartaSans-Italic-VariableFont_wght.ttf) format("ttf");
  font-style: italic;
}
@keyframes hero-gradient-animation {
  0% {
    --x-0: 85%;
    --c-0: hsla(195.00000000000043, 27%, 85%, 1);
    --y-0: 80%;
    --s-start-0: 9%;
    --s-end-0: 55%;
    --c-1: hsla(40, 53%, 92%, 1);
    --x-1: 60%;
    --y-1: 24%;
    --s-start-1: 5%;
    --s-end-1: 72%;
    --x-2: 13%;
    --c-2: hsla(100.00000000000013, 27%, 77%, 1);
    --y-2: 82%;
    --s-start-2: 5%;
    --s-end-2: 52%;
  }
  100% {
    --x-0: 31%;
    --c-0: hsla(195.00000000000006, 40%, 94%, 1);
    --y-0: 94%;
    --s-start-0: 9%;
    --s-end-0: 55%;
    --c-1: hsla(40, 53%, 92%, 1);
    --x-1: 2%;
    --y-1: 25%;
    --s-start-1: 5%;
    --s-end-1: 72%;
    --x-2: 98%;
    --c-2: hsla(99.99999999999994, 40%, 94%, 1);
    --y-2: 20%;
    --s-start-2: 5%;
    --s-end-2: 52%;
  }
}
@property --x-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 85%;
}
@property --c-0 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsl(195, 27%, 85%);
}
@property --y-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 80%;
}
@property --s-start-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 9%;
}
@property --s-end-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 55%;
}
@property --c-1 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsl(40, 53%, 92%);
}
@property --x-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 60%;
}
@property --y-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 24%;
}
@property --s-start-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 5%;
}
@property --s-end-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 72%;
}
@property --x-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 13%;
}
@property --c-2 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsl(100, 27%, 77%);
}
@property --y-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 82%;
}
@property --s-start-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 5%;
}
@property --s-end-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 52%;
}
@keyframes hero-gradient-animation2 {
  0% {
    --x-0: 13%;
    --c-0: hsla(100.00000000000013, 27%, 77%, 0.4);
    --y-0: 82%;
    --s-start-0: 5%;
    --s-end-0: 52%;
    --x-1: 85%;
    --c-1: hsla(195.00000000000043, 27%, 85%, 1);
    --y-1: 80%;
    --s-start-1: 9%;
    --s-end-1: 55%;
    --c-2: hsla(40, 53%, 92%, 1);
    --x-2: 60%;
    --y-2: 24%;
    --s-start-2: 5%;
    --s-end-2: 72%;
  }
  100% {
    --x-0: 98%;
    --c-0: hsla(99.99999999999994, 40%, 94%, 1);
    --y-0: 20%;
    --s-start-0: 5%;
    --s-end-0: 52%;
    --x-1: 31%;
    --c-1: hsla(195.00000000000006, 40%, 94%, 1);
    --y-1: 94%;
    --s-start-1: 9%;
    --s-end-1: 55%;
    --c-2: hsla(40, 53%, 92%, 1);
    --x-2: 2%;
    --y-2: 25%;
    --s-start-2: 5%;
    --s-end-2: 72%;
  }
}
@property --x-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 13%;
}
@property --c-0 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsla(100, 27%, 77%, 0.4);
}
@property --y-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 82%;
}
@property --s-start-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 5%;
}
@property --s-end-0 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 52%;
}
@property --x-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 85%;
}
@property --c-1 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsl(195, 27%, 85%);
}
@property --y-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 80%;
}
@property --s-start-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 9%;
}
@property --s-end-1 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 55%;
}
@property --c-2 {
  syntax: "<color>";
  inherits: false;
  initial-value: hsl(40, 53%, 92%);
}
@property --x-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 60%;
}
@property --y-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 24%;
}
@property --s-start-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 5%;
}
@property --s-end-2 {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 72%;
}
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  block-size: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  inline-size: 1px;
}

hr {
  visibility: hidden;
}

[id]:target {
  scroll-margin-block-start: 5.5rem;
}
@media (width > 64rem) {
  [id]:target {
    scroll-margin-block-start: 1rem;
  }
}

:root {
  --scrolltop: 0;
  --offsettopcontent: 17.2rem;
  --menu-inline-size: 20rem;
  --layoutgap: 0.5rem;
  --color-white: hsl(0, 0%, 100%);
  --color-bg-menu: hsl(230, 50%, 98%);
  --color-backdrop: rgba(25, 25, 30, 0.75);
  --color-promo: linear-gradient(135deg, #fa9f2020, #fa9f2050);
  --color-bluproced: #1066c6; /* corretto */
  --color-bluproced: #3e66b7;
  --color-bluproced: #4265ac;
  --color-border: hsl(0, 0%, 85%);
  --color-border-dark: hsl(231, 9%, 57%);
  --color-paleblue: hsl(195, 40%, 94%);
  --color-paleblue: hsl(195, 43%, 98%);
  --color-palegreen: hsl(100, 40%, 94%);
  --color-palegreen: hsl(105, 40%, 98%);
  --color-paleorange: hsl(25, 40%, 94%);
  --color-paleorange: hsl(16, 43%, 98%);
  --color-lightblue: hsl(218, 30%, 49%);
  --color-lightblue: #5773a2; /* originale nuovo */
  --color-lightblue: #3e66b7;
  --color-lightblue: #4265ac;
  --color-darkblue: #082d58;
  --color-darkblue: #1b335f;
  --color-text: rgb(35, 36, 41);
  --color-pass: hsl(145, 39%, 33%);
  --color-warning: hsl(60, 70%, 26%);
  --color-error: hsl(13, 90%, 33%);
  --color-green-orig: #89cc37;
  --color-gray: hsl(231, 0%, 40%);
  --color-omaggi: #9a9c8b;
  --color-brown: #706a66;
  --bgcolor-button: hsl(220, 7%, 92%);
  --space-xs: calc(0.25rem * 1);
  --space-s: calc(0.5rem * 1);
  --space-m: calc(0.75rem * 1);
  --space-l: calc(1rem * 1);
  --time-xs: 0.2s;
  --time-s: 0.33s;
  --time-m: 0.66s;
  --time-l: 1s;
  --shadow: 2px 6px 5px -2px hsl(216, 5%, 64%);
  --shadow-light: 2px 6px 5px -2px hsla(220, 5%, 64%, 0.3);
  --shadow-small: 1px 3px 3px -1px hsl(220, 5%, 64%);
  --shadow-tooltip: 0 0 10rem 1rem hsla(216, 0%, 0%, 1);
  font-size: 1rem;
  scroll-behavior: smooth;
  font-variant-ligatures: no-common-ligatures;
  accent-color: var(--color-darkblue);
}

@keyframes rotate {
  to {
    transform: rotateZ(360deg);
  }
}
@keyframes reveal {
  to {
    opacity: 1;
  }
}
@media (width >= 48rem) {
  body:has(#dialog__popup) .sitewrapper {
    transition: transform 0.66s 0s;
    transform-origin: 50% 100vh;
    box-shadow: 0px -50px 75px 0 hsla(216, 5%, 64%, 0);
  }
  body:has(#dialog__popup[open]) {
    background: hsl(217, 47%, 93%);
    position: fixed;
    inline-size: 100%;
    overflow-y: scroll;
  }
  body:has(#dialog__popup[open]) .sitewrapper {
    --sitescale: 0.88;
    transform: scale(var(--sitescale));
    transform-origin: 50% 100vh;
    overflow: clip;
    border-radius: 10px;
    box-shadow: 0px -50px 75px 0 hsl(216, 5%, 64%);
  }
  body:has(#dialog__popup[open]) .pageloader {
    position: fixed;
    z-index: 1000;
    inset: 0;
    display: grid;
    place-content: center;
    background: hsl(217, 47%, 93%);
  }
  body:has(#dialog__popup[open]) .pageloader svg {
    margin: auto;
    inline-size: max(80%, 500px);
  }
  /*
  [data-loaded="1"] {
      body {
          --sitescale: 1;
      }
  }*/
}
:root:has(.header__actions:empty) {
  --offsettopcontent: 18.1rem;
}

html,
body,
.nav__submenu {
  scroll-behavior: smooth;
}

@media (width < 64rem) {
  html,
  body {
    overscroll-behavior: auto;
  }
}
.nav__submenu {
  overflow-x: hidden;
}

@media (width >= 64rem) {
  html,
  body,
  #sitewrapper {
    overscroll-behavior: none;
    min-block-size: 100dvb;
  }
  :is(html, body):has(main[inert]) {
    background: linear-gradient(
      to right,
      var(--color-white),
      var(--color-bg-menu) calc(var(--menu-inline-size) - 1rem)
    );
  }
}
body {
  margin: 0;
  color: var(--color-text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.lnk:any-link {
  color: var(--color-lightblue);
}

:is(h3, [itemprop="name"], .nav h4) {
  font-weight: 500;
}

:is(h1, h2, h3, .nav h4) {
  word-spacing: 0.25rem;
  line-height: 1.33;
  margin: 1.5rem 0;
}
@media (width >= 64rem) {
  :is(h1, h2, h3, .nav h4).trasp {
    background: transparent;
  }
}
:is(h1, h2, h3, .nav h4) a {
  word-spacing: 0;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
}

:is(h1, h2) {
  font-weight: 600;
}

h1 {
  font-size: clamp(1.875rem, 7vw, 2.4rem);
}

h2 {
  font-size: clamp(1.375rem, 4vw, 1.5rem);
}

h3,
h2[itemprop="name"] {
  font-size: 1.25rem;
}

* {
  box-sizing: border-box;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
}

b,
strong {
  font-weight: 500;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

:is([role="status"], [role="alert"]) p {
  color: var(--color-error) !important;
  font-weight: bolder;
  padding-block-start: 0;
}

:root #iubenda-cs-banner .iubenda-cs-content [class^="iub"] {
  font:
    300 1rem/1.5 "Plus Jakarta Sans",
    system-ui,
    sans-serif !important;
}
:root
  #iubenda-cs-banner
  .iubenda-cs-content
  [class^="iub"].iubenda-cs-close-btn {
  font-size: 3rem !important;
}

#iubenda-iframe-popup #iubenda-iframe-content [class^="iub"],
#iubenda-iframe-popup
  #iubenda-iframe-content
  .purposes-content
  [class^="purpose"] {
  font-weight: 300 !important;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif !important;
}

/* skiplink */
.skiplink {
  position: fixed;
  display: block;
  z-index: 102;
  top: 0;
  left: 0;
  padding-block: var(--space-m);
  inline-size: 100%;
  white-space: nowrap;
  text-align: center;
  text-decoration: none;
  background: var(--color-white);
  color: var(--color-lightblue);
  transform: translateY(-100%);
  transition: transform 1s 0s;
}

.skiplink:focus {
  outline-color: currentColor;
  outline-offset: calc(-1 * var(--space-xs));
  transform: translateY(0);
}

:is(.header, .nav) * {
  border: 0;
  padding: 0;
  margin: 0;
}

:is(.header, .nav) ul {
  list-style: none;
  white-space: nowrap;
}

:is(.header, .nav) svg {
  display: inline-block;
  vertical-align: middle;
  inline-size: 1.6rem;
  aspect-ratio: 1;
  stroke: currentColor;
}

:is(.header, .nav) .header__buttons svg {
  fill: currentColor;
}

:is(.header, .nav) a {
  color: var(--color-white);
  text-decoration: none;
}

:is(.header, .nav) :is(a, input, button, label) {
  cursor: pointer;
}

:where(a, input, button, textarea, label, select, h3[tabindex], summary):focus {
  outline: 2px solid currentColor;
  outline-offset: var(--oo, 2px);
}

/* Pre header */
.preheader {
  display: none;
  padding: var(--space-l);
  background: var(--color-darkblue);
  color: var(--color-white);
  font-weight: 300;
  font-size: 0.9rem;
  justify-content: space-between;
}

.preheader b {
  font-weight: 500;
}

.preheader p {
  margin: 0;
  padding: 0;
  flex: 1 1 33.33%;
}
.preheader p :any-link {
  color: inherit;
  text-decoration: none;
  border-radius: 0.125rem;
  outline-offset: 0.5rem;
}

.preheader p:nth-child(1) {
  text-align: left;
}

.preheader p:nth-child(2) {
  text-align: center;
}

.preheader p:nth-child(3) {
  text-align: right;
}

@media (width >= 64rem) {
  .preheader {
    display: flex;
    block-size: 3rem;
  }
}
/* header */
.header {
  padding: 4.5rem 0 0 0;
  background: linear-gradient(
    to bottom,
    var(--color-darkblue),
    var(--color-darkblue) 4.5rem,
    var(--color-bluproced)
  );
  position: relative;
}

@media (width >= 64rem) {
  .header {
    min-block-size: 14.12rem;
    background: linear-gradient(
      to bottom,
      var(--color-darkblue),
      var(--color-bluproced)
    );
    padding: 0 var(--space-l);
  }
}
@media (width < 64rem) {
  /* .header:has(#navbutton[aria-expanded="true"]) .header__search form, */
  .header:not(.header--hidden):has(#navbutton[aria-expanded="true"])
    .header__logo
    a,
  .header.header--hidden .header__logo a {
    position: fixed;
    z-index: 103;
    left: 50%;
    top: 0;
    inline-size: 100px;
    aspect-ratio: inherit;
    transform: translate(-50%, -100%);
    animation: logoAppears var(--time-s) linear 0s forwards;
  }
  /* .header:has(#navbutton[aria-expanded="true"]) .header__search form {
        inline-size: min(50vw, 30rem);
    }*/
}
.header__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-l);
}

@media (width >= 64rem) {
  .header__content {
    padding: var(--space-l) 0;
  }
}
.header__logo {
  --margin-inline: auto;
  margin-inline: var(--margin-inline);
  aspect-ratio: 23/9;
  color: var(--color-white);
  inline-size: min(450px, 62vw);
}

@media (width >= 40rem) {
  .header__logo {
    --margin-inline: 0;
    inline-size: min(380px, 40%);
  }
}
.header__logo a {
  display: block;
  border-radius: 0.25rem;
}

/* .header__logo a:focus {
    outline: none;
} */
.header__logo a:focus-visible {
  --oo: var(--space-s);
  outline: 2px solid currentColor;
  outline-offset: var(--oo, 0);
}

.header__logo svg {
  display: block;
  inline-size: 100%;
  aspect-ratio: 308/122;
  /* filter: drop-shadow(2px 2px 4px var(--color-darkblue)); */
}

.header__funcs {
  --margin-block-start: 1.5rem;
  --margin-inline: auto;
  font-weight: 300;
  margin-block-start: var(--margin-block-start);
  margin-inline: var(--margin-inline);
  flex-basis: calc(100% - var(--space-l));
}

@media (width >= 40rem) {
  .header__funcs {
    --margin-block-start: 0;
    --margin-inline: 0;
    flex-basis: min(500px, 50%);
    /* align-self: stretch; */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
.header__buttons {
  backface-visibility: hidden;
  position: fixed;
  top: env(safe-area-inset-top, 0);
  left: 0;
  right: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  max-inline-size: 100vw;
  background: var(--color-darkblue);
  color: var(--color-white);
  padding: var(--space-m);
}

@media (width < 64rem) {
  .header__buttons {
    z-index: 101;
  }
}
@media (width >= 64rem) {
  .header__buttons {
    position: static;
    background: none;
    padding: 0 0 1rem 0;
  }
}
.header__buttons a,
.header__buttons button {
  color: var(--color-white);
  min-inline-size: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header__buttons a {
  position: relative;
}

.header__buttons button {
  aspect-ratio: 1;
  background: none;
}

.header__buttons button svg {
  stroke-width: 3px;
}

@media (width >= 64rem) {
  .header__buttons button {
    display: none;
  }
}
.header__profile {
  margin-inline-start: auto;
  display: flex;
  gap: var(--space-s);
}
@media (width < 64rem) {
  .header__profile {
    gap: var(--space-l);
  }
}

.header__profile a {
  color: var(--color-white);
  border-radius: 0.25rem;
}

.header__profile .header__user {
  display: none;
  line-height: 1.3;
}

@media (width >= 64rem) {
  .header__profile .header__user {
    display: flex;
    /* gap: var(--space-l); */
  }
  .header__profile span.header__user {
    display: block;
    text-align: right;
  }
}
.header__profile .header__user span {
  text-align: right;
  padding-inline: var(--space-m);
}

.header__profile .header__user em {
  font-style: normal;
  font-weight: 400;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  max-inline-size: 18rem;
  display: block;
}

.header__profile .header__user svg {
  fill: var(--color-white);
  margin-inline-end: var(--space-s);
}

.header__profile .header__cart {
  aspect-ratio: 1;
  border-radius: 0.25rem;
}
.header__profile .header__cart > * {
  position: absolute;
}
.header__profile .header__cart [role="status"] {
  top: -22%;
}

.header__profile .header__userlogo {
  inline-size: 8rem;
  align-self: center;
  overflow: hidden;
  border-radius: 5px;
}
.header__profile .header__userlogo img {
  margin-inline-start: auto;
  display: block;
  max-inline-size: 100%;
  max-block-size: 3rem;
}
.header__profile .header__userlogo img[src$="_std.gif"] {
  visibility: hidden;
}
@media (width < 640px) {
  .header__profile .header__userlogo {
    display: none;
  }
}

@media (width >= 64rem) {
  .header__profile .header__cart:has(em) {
    /* transform: translateX(calc(-1 * var(--space-s))); */
  }
}
.header__profile .header__cart b:has(:empty) {
  display: none;
}

.header__profile .header__cart em {
  position: absolute;
  z-index: 3;
  background: rgba(209, 36, 32, 0.8666666667);
  font-size: 0.76rem;
  padding: var(--space-xs);
  border-radius: 50%;
  line-height: 2;
  inline-size: 2rem;
  text-align: center;
  font-style: normal;
  color: #fff;
  font-weight: 500;
  top: -75%;
  left: 100%;
  overflow: hidden;
  transform: translate(0, 0);
  block-size: 2rem;
  display: block;
}

.header__profile .header__cart em:empty {
  display: none;
}

.header__submenu {
  display: flex;
  justify-content: space-between;
  padding: 0 var(--space-l) 1.25rem;
}

@media (width >= 64rem) {
  .header__submenu {
    padding: 0 0 1.25rem 0;
  }
}
.header__search {
  block-size: 2.6rem;
}

.header__search fieldset {
  display: flex;
  flex-wrap: nowrap;
  position: relative;
  z-index: 100;
}

.header__search :is(input, button) {
  min-block-size: 3rem;
  line-height: 1.5;
  border-radius: 8px;
  color: var(--color-darkblue);
}

.header__search :is(input, button):focus {
  --oo: -4px;
  outline-color: var(--color-lightblue);
}

.header__search input {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
  padding-inline: var(--space-s);
  font-size: var(--space-l);
  font-family: inherit;
  inline-size: calc(100% - 3rem);
}

.header__search input::placeholder {
  color: #767676;
}

.header__search button {
  inline-size: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  background-color: var(--bgcolor-button);
}

.header__subsearch {
  --margin-block: 1.5rem var(--space-s);
  --justify-content: center;
  display: flex;
  gap: calc(var(--space-l) * 1.75);
  justify-content: var(--justify-content);
  margin-block: var(--margin-block);
  font-weight: 300;
  inline-size: 100%;
}

.header__subsearch a {
  padding: 0;
  display: flex;
  gap: 0.5rem;
  padding: var(--space-xs);
}
.header__subsearch a svg {
  fill: currentColor;
}

.header__subsearch li {
  text-align: center;
}

@media (width >= 64rem) {
  .header__subsearch {
    --margin-block: 0;
    inline-size: fit-content;
    --justify-content: flex-start;
  }
}
@media (width >= 64rem) {
  .header__subsearch {
    --margin-block: 0;
    transform: translateY(0.5rem);
  }
}
/* navigation */
.nav {
  z-index: 100;
  top: 4.5rem;
  bottom: 0;
  position: fixed;
  background: inherit;
  transform: translate(-100%, 0);
  display: none;
  inline-size: auto;
  left: 0;
  right: 0;
  /*
    padding: 1.5rem var(--space-l); */
  color: var(--color-darkblue);
  font-weight: 400;
}
@media (width < 64rem) {
  .nav {
    padding: 1.5rem var(--space-l);
  }
}
.nav:has(.nav__navlist) {
  padding: 1.5rem var(--space-l);
}
@media (width >= 64rem) {
  .nav:has(.nav__navlist) .nav__userlinks {
    --offset: 1.5rem !important;
  }
}

.nav > *:not(:is(:last-child, h2)) {
  margin-block-end: var(--space-l);
  padding-block-end: var(--space-l);
}

.nav > .nav__user:has(+ .nav__userlinks) {
  padding-block-end: 0;
}

.nav h2 {
  margin: 0;
  /* padding-block-end: var(--space-s); */
  padding: 0.75rem 1.5rem 0.75rem 0;
  background: linear-gradient(to right, transparent, var(--color-white));
  color: var(--color-lightblue);
}
@media (width > 64rem) {
  .nav h2 {
    background: var(--color-white);
  }
}

.nav li {
  /* padding-inline: var(--space-s); */
  /* padding-block: var(--space-xs); */
  color: var(--color-darkblue);
}
@media (width >= 64rem) {
  .nav li [aria-expanded="true"] {
    position: relative;
  }
  .nav li [aria-expanded="true"]::after {
    content: "";
    inline-size: 1rem;
    block-size: 100%;
    position: absolute;
    right: -1rem;
    background: inherit;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
  }
  .nav li {
    /* &:last-child [aria-expanded="true"]::after {
        background: #667da4;
    } */
  }
}

.nav li:hover > button {
  color: var(--color-lightblue);
}

.nav ul :is(a, button) {
  display: block;
  font-size: 1rem;
  background: none;
  padding: var(--space-s) 0;
  margin-inline-start: 0;
  inline-size: 100%;
  color: inherit;
  font-weight: inherit;
}

@media (width >= 64rem) {
  .nav {
    display: block;
    transform: none;
    position: static;
    top: 0;
    inline-size: 100%;
  }
}
.nav__user {
  color: var(--color-darkblue);
}

.nav--fullwidth {
  padding: 0;
}

.nav__user a {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-l);
  padding: var(--space-l) var(--space-s);
  color: var(--color-darkblue);
}

.nav__user a:hover {
  color: var(--color-lightblue);
}

@media (width >= 64rem) {
  .nav__user {
    display: none;
  }
}
.nav__user em {
  font-weight: 300;
  white-space: nowrap;
}

.nav__navlist {
  padding-block-start: var(--space-s);
}

.nav__submenu {
  position: absolute;
  z-index: 20;
  display: none;
  overflow: scroll;
  inset: 0;
}

@media (width >= 64rem) {
  .nav__submenu {
    position: absolute;
    left: var(--menu-inline-size);
    right: 0.75rem;
    border-radius: 10px;
    bottom: 4rem;
    overflow: auto;
    box-shadow: -1rem 1rem 8rem -2rem hsl(220, 15%, 40%);
    min-block-size: calc(100dvb - var(--offsettopcontent) - 6rem);
    top: 1.5rem;
  }
}
@media (width < 64rem) {
  .nav__submenu section {
    --visible: 0;
    opacity: 0;
    transform: translateX(-100%);
    min-block-size: calc(100dvb - 8rem);
  }
  [aria-expanded="true"] + .nav__submenu section {
    display: block;
    animation: revealSubMenu 0.2s linear 0s forwards;
  }
}
@keyframes revealSubMenu {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.nav__submenu h3 {
  font-size: 1.15rem;
  color: var(--color-lightblue);
  white-space: normal;
  font-weight: 600;
}

.nav__submenu h3:focus {
  --oo: 2px;
}

.nav__submenu h3::first-letter {
  text-transform: uppercase;
}

.nav__filters {
  /* padding-block-start: var(--space-s); */
}

.nav__userlinks {
  --offset: 0rem;
}
.nav__userlinks ul {
  list-style: none;
  display: flex;
  flex-wrap: nowrap;
  gap: 0.75rem;
  /* text-transform: uppercase; */
}
.nav__userlinks a:any-link {
  padding-block: 0;
  font-weight: 400;
  padding: var(--space-xs);
}
@media (width >= 64rem) {
  .nav__userlinks li.logout a {
    padding-inline-end: 0;
  }
  .nav__userlinks:not(:empty) {
    display: flex;
  }
  .nav__userlinks {
    align-items: center;
    inline-size: fit-content;
    position: absolute;
    border: 0 !important;
    right: var(--space-l);
    top: 0;
    /* transform: translate(0.5rem, calc(-100% - var(--offset))); */
    transform: translate(0, -100%);
    margin-block-end: 0 !important;
    padding-block-end: 0 !important;
  }
  .nav__userlinks a:any-link {
    color: var(--color-white);
    font-weight: 300;
    transform: translateY(calc(0.5rem - 2px));
    /* &:hover {
              background-color: var(--color-white);
              color: var(--color-lightblue);
              text-shadow: 0 0 1px currentColor;
          } */
  }
  .nav__userlinks li {
    padding-block-end: 1.25rem;
    padding-inline: 0.5rem;
  }
}
@media (width >= 64rem) and (width >= 64rem) {
  .nav__userlinks li.logout {
    padding-inline-end: 0;
  }
}
@media (width >= 64rem) {
  .nav__userlinks li:has([aria-current]) {
    background: var(--color-bg-menu);
    border-start-start-radius: 5px;
    border-start-end-radius: 5px;
  }
  .nav__userlinks li:has([aria-current]) a:any-link {
    cursor: default;
    color: var(--color-lightblue);
    text-shadow: 0 0 1px currentColor;
  }
  .nav__userlinks li:has([aria-current]) a:hover {
    background: inherit;
  }
}
@media (width < 64rem) {
  .nav__userlinks {
    margin-block-start: var(--space-l);
  }
  .nav__userlinks ul {
    display: block;
  }
  .nav__userlinks li {
    /*flex: 1 0 33.3%;*/
    padding-inline-end: 1rem;
    padding-block: 0.5rem;
    border-bottom: 1px solid var(--color-border);
  }
}

.nav--fullwidth .nav__userlinks {
  --offset: 0rem;
}

.nav__filters ul {
  padding: 0;
}

.nav__filters li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-s);
}

body:has(#navbutton[aria-expanded="true"]) .nav {
  display: block;
  opacity: 0;
  animation: showmenu 0.25s linear 0s forwards;
}

@media (width < 64rem) {
  body:has(#navbutton[aria-expanded="true"]) {
    overflow: hidden;
  }
  body:has(#navbutton[aria-expanded="true"])
    .nav:not(:has([aria-expanded="true"])) {
    overflow: scroll;
    overscroll-behavior: contain;
  }
  #navbutton[aria-expanded="true"] .header__toggle--open,
  #navbutton[aria-expanded="false"] .header__toggle--close {
    display: none;
  }
  body:has(#navbutton[aria-expanded="true"]) {
    inline-size: 100%;
    position: fixed;
  }
}
@keyframes logoAppears {
  100% {
    opacity: 1;
    transform: translate(-50%, var(--space-l));
  }
}
@keyframes showmenu {
  50%,
  100% {
    opacity: 1;
  }
  100% {
    transform: translate(0, 0);
  }
}
aside {
  background: var(--color-bg-menu);
  line-height: 1.4;
}

@media (width >= 64rem) {
  aside {
    background: transparent;
  }
}
@font-face {
  font-family: "cat_proced";
  src:
    url(../fonts/cat_proced.woff2?27691144) format("woff2"),
    url(../fonts/cat_proced.woff?27691144) format("woff"),
    url(../fonts/cat_proced.svg?27691144#cat_proced) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.nav [data-iconid] {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--space-s);
  align-items: center;
}

.nav [data-iconid] span {
  display: block;
  pointer-events: none;
  text-align: left;
}

.nav [data-iconid][aria-expanded="true"] {
  background-color: var(--color-lightblue);
  color: var(--color-white);
}

.nav .nav__submenu {
  display: none;
  background: var(--color-bg-menu);
  font-weight: 300;
}
@media (width >= 64rem) {
  .nav .nav__submenu {
    background: var(--color-white);
  }
}

.nav [aria-expanded="true"] + .nav__submenu {
  display: block;
}

@media (width >= 64rem) {
  :is(body, html):has([data-iconid][aria-expanded="true"]) {
    /* max-block-size: 99.8vh;
        overflow: hidden; */
  }
}
/* prevent double scrollbar */
.nav [data-iconid] span::first-letter {
  text-transform: uppercase;
}

[data-iconid]:before {
  font-family: "cat_proced";
  font-size: inherit;
  inline-size: 1.75rem;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[data-iconid="pr_igiene"]:before {
  content: "\e800";
}

[data-iconid="pr_accessori"]:before {
  content: "\e801";
}

[data-iconid="pr_archiviazione"]:before {
  content: "\e802";
}

[data-iconid="pr_arredamento"]:before {
  content: "\e803";
}

[data-iconid="pr_blocchi"]:before {
  content: "\e804";
}

[data-iconid="pr_buste"]:before {
  content: "\e805";
}

[data-iconid="pr_cancelleria"]:before {
  content: "\e806";
}

[data-iconid="pr_carta"]:before {
  content: "\e807";
}

[data-iconid="pr_categorie"]:before {
  content: "\e808";
}

[data-iconid="pr_disegno"]:before {
  content: "\e80a";
}

[data-iconid="pr_sicurezza"]:before {
  content: "\e80b";
}

[data-iconid="pr_informatica"]:before {
  content: "\e80c";
}

[data-iconid="pr_macchine"]:before {
  content: "\e80d";
}

[data-iconid="pr_modulistica"]:before {
  content: "\e80e";
}

[data-iconid="pr_regalo"]:before {
  content: "\e80f";
}

[data-iconid="pr_ristoro"]:before {
  content: "\e810";
}

[data-iconid="pr_scrittura"]:before {
  content: "\e811";
}

[data-iconid="pr_scuola"]:before {
  content: "\e812";
}

[data-iconid="pr_servizi"]:before {
  content: "\e813";
}

[data-iconid="pr_consumabili"]:before {
  content: "\e814";
}

[data-iconid="pr_comunicazione"]:before {
  content: "\e815";
}

[data-iconid="pr_twitter"]:before {
  content: "\f099";
}

[data-iconid="pr_linkedin"]:before {
  content: "\f0e1";
}

[data-iconid="pr_youtube"]:before {
  content: "\f16a";
}

[data-iconid="pr_instagram"]:before {
  content: "\f16d";
}

[data-iconid="pr_facebook-official"]:before {
  content: "\f230";
}

[data-iconid="pr_whatsapp"]:before {
  content: "\f232";
}

[data-iconid="pr_twitter-squared"]:before {
  content: "\f304";
}

[data-iconid="pr_linkedin-squared"]:before {
  content: "\f30c";
}

/** submenu **/
.nav__navlist section {
  padding: 0 var(--space-l) var(--space-l);
  position: relative;
  background: var(--color-bg-menu);
}

@media (width >= 64rem) {
  .nav__navlist section {
    background: var(--color-white);
    min-block-size: 100%;
  }
  .nav__navlist section:is(:focus) {
    outline: 2px solid var(--color-lightblue);
    outline-offset: -0.5rem;
  }
  .nav__navlist section h3:focus {
    outline: 2px solid var(--color-lightblue);
  }
}
@media (width < 64rem) {
  .nav__navlist section img {
    border: 1px #cacaca solid;
  }
}
.nav__subcategories {
  --gap: 2rem;
  position: relative;
  display: grid;
  background-color: inherit;
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  gap: var(--gap);
  padding-block: 0 calc(2 * var(--gap));
}

.nav__subcategories::after {
  content: "";
  position: absolute;
  z-index: 10;
  bottom: calc(2 * var(--gap) - 1px);
  block-size: 2px;
  background: inherit;
  inline-size: 100%;
}

.nav__subcategoriesheader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-block-end: 2rem;
  padding-block: var(--space-l);
  background: inherit;
  gap: 2rem;
  border-bottom: 1px #e6e6e6 solid;
}

.nav__subcategory {
  display: flex;
  align-items: flex-start;
  font-size: 1rem;
  gap: 1rem;
  padding-block-end: 2rem;
  border-bottom: 1px #e6e6e6 solid;
}

.nav__subcategory ul a {
  padding: calc(var(--space-m) / 2) var(--space-s) calc(var(--space-m) / 2) 0 !important;
}

.nav__subcategory h4 {
  margin-block: 0 1rem;
  font-size: 1rem;
}

.nav__subcategory h4 :any-link {
  color: var(--color-darkblue);
  -background-color: var(--color-bg-menu);
}

@media (width < 64rem) {
  .nav__subcategory h4 :any-link {
    background: var(--color-white);
  }
}
.nav__subcategory img {
  inline-size: 4rem;
}

.nav__subcategory div {
  flex: 1;
}

.nav__subcategory :is(div, ul) {
  white-space: normal;
}

.nav__subcategory h4::first-letter {
  text-transform: uppercase;
}

.nav .nav__button {
  position: relative;
  inline-size: 3rem;
  border-radius: 50%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    color,
    background-color var(--time-s);
  color: var(--color-white);
  background-color: var(--color-darkblue);
  padding: 0;
  margin-inline-start: 0;
  border: 0.25rem solid transparent;
  background-clip: padding-box;
}

.nav .nav__button svg {
  inline-size: 1.5rem;
}

.nav .nav__button--up {
  margin-inline-start: auto;
  position: absolute;
  z-index: 20;
  bottom: 0.5rem;
  left: 1rem;
}
@media (width >= 64rem) {
  .nav .nav__button--up {
    bottom: 1rem;
    right: 1rem;
    left: auto;
  }
}

.nav .nav__button * {
  pointer-events: none !important;
}

.nav .nav__button:is(:focus, :hover) {
  outline: 2px solid currentColor;
  background-color: var(--color-white);
  color: var(--color-darkblue);
}

/* fancybox */
.fancybox__backdrop {
  background: var(--color-backdrop);
}

.fancybox__content {
  border-radius: 10px;
  border: 5px solid var(--color-lightblue);
  margin-block: 0.5rem;
  max-inline-size: min(60rem, 100% - 1rem) !important;
  padding: 0 !important;
  color: var(--color-text);
}

.is-compact .fancybox__content > .f-button.is-close-btn,
.fancybox__content > .f-button.is-close-btn {
  --f-button-width: 3rem;
  --f-button-height: 3rem;
  --f-button-border-radius: 5px;
  --f-button-bg: var(--color-lightblue);
  --f-button-hover-bg: var(--color-lightblue);
  --f-button-active-bg: var(--color-lightblue);
  --fancybox-color: var(--color-white);
  opacity: 1;
}

.fancybox__content > .f-button.is-close-btn {
  top: -3rem;
}

/** login **/
.login {
  /* inline-size: min(60rem, calc(100% - 3rem)); */
  padding: 0;
}

.login__logo {
  max-inline-size: max(200px, 50%);
  margin: auto;
  transform: translateX(-1rem);
  color: var(--color-white);
}

.login h2 {
  color: var(--color-lightblue);
  margin-block-start: 2rem;
}

.login p {
  margin-block-start: 0;
}

#login__desc {
  text-wrap: balance;
}
@media (width < 30rem) {
  #login__desc {
    overflow: hidden;
    clip-path: inset(50%);
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
  }
}

.login div > p:last-child {
  margin-block-end: 0;
}

.login > div {
  padding: 2rem 1rem;
}
@media (width > 48rem) {
  .login > div {
    padding: 2rem;
  }
}
.login > div {
  text-align: center;
  /* min-block-size: min(30rem, calc(100dvb - 4rem)); */
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: 300;
}

.login > div:first-child {
  background: linear-gradient(
    135deg,
    var(--color-darkblue),
    var(--color-lightblue)
  );
  display: none;
}

.login fieldset {
  text-align: left;
  border: 0;
  padding: 0;
  inline-size: 100%;
}
@media (width >= 60rem) {
  .login fieldset {
    margin: 0 auto;
    inline-size: fit-content;
  }
}

.login ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-block: 1.25rem 2rem;
}

.login li {
  position: relative;
}

.login input {
  block-size: 3rem;
  font-size: 1rem;
  font-weight: 300;
  border: 1px solid var(--color-border);
  padding: 0 var(--space-s);
  background: none;
  outline-color: var(--color-lightblue);
  inline-size: 100%;
  border-radius: 5px;
  box-shadow: 0 0 100vmax var(--color-white) inset;
  outline-offset: 3px;
}

.login label {
  position: absolute;
  z-index: 1;
  color: #686868;
  padding-inline: 0.35rem;
  display: block;
  top: 50%;
  transform: translateY(-50%);
  left: 0.25rem;
  font-size: 1rem;
  transition: all var(--time-s) 0s;
}

.login li:has(input:autofill) label,
.login li:not(:has(:placeholder-shown)) label {
  top: 0;
  left: 0.5rem;
  font-size: 0.8rem;
  color: #969696;
  background: var(--color-white);
}

.login form button {
  margin-block: 1rem 1.5rem;
  border-radius: 5px;
  padding: 1rem 3rem;
  inline-size: 100%;
  cursor: pointer;
  border: 0;
}

.login fieldset {
  opacity: 1;
  transition: opacity var(--time-s) 0s;
}

form.request__pending [type="submit"] {
  background-image: url(/images/loader-transp.png);
  background-position: center;
  background-size: auto 80%;
  background-repeat: no-repeat;
}

form.request__pending :is(fieldset, .fld) {
  opacity: 0.4;
  pointer-events: none;
}

form.request__pending button span {
  visibility: hidden;
}

.login form.invalid input {
  border-color: var(--color-error);
}

.login form.invalid label {
  color: var(--color-error);
}

.login :any-link {
  color: var(--color-lightblue);
  outline-offset: 3px;
  font-weight: 500;
}

#login-status {
  max-block-size: 4rem;
  transition: all var(--time-s) 0s;
  padding: 1rem 0;
  color: var(--color-error);
  position: absolute;
  top: 0;
  left: 0;
  inline-size: 100%;
  text-align: center;
}

#login-status:empty {
  max-height: 0;
  padding: 0;
}

.login form {
  position: relative;
  margin-block-end: 1.5rem;
  padding-block-start: 2.5rem;
}
@media (width > 30rem) {
  .login form {
    padding-block-start: 3.5rem;
  }
}

@media (width >= 32rem) {
  .login > div:first-child {
    display: flex;
  }
  .login h2 {
    margin-block-start: 0;
    inline-size: 100%;
  }
}
@media (width >= 56rem) {
  .login {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .login__logo {
    max-inline-size: 80%;
  }
  .login ul {
    flex-direction: row;
  }
}
.cnt > .login > div:first-child {
  display: none;
}

.cnt > .login {
  display: flex;
  justify-content: center;
  margin-block-start: 3rem;
}

.cnt > .login > div:last-child {
  border: 2px solid var(--color-lightblue);
  border-radius: 10px;
  background: var(--color-white);
  inline-size: min(100%, 50rem);
}

/* main area */
#content-area {
  margin: 0;
  font-size: 1rem;
  border-top: 1px transparent solid;
  block-size: auto;
  background: var(--color-bg-menu);
  container: content/inline-size;
}
#content-area main:only-child h1 {
  margin-inline: auto;
}

@media (width >= 64rem) {
  #content-area {
    position: relative;
  }
  #content-area:not(:has(main:only-child)):not(:has(.nav--fw)) {
    display: grid;
    gap: var(--layoutgap);
    grid-template-columns: var(--menu-inline-size) 1fr;
    background: linear-gradient(
      to right,
      var(--color-white),
      var(--color-bg-menu) calc(var(--menu-inline-size) - 1rem)
    );
  }
  main:not(:only-child) {
    max-inline-size: calc(100vw - var(--menu-inline-size));
  }
  #content-area:has(.nav--fw) main {
    max-inline-size: initial;
  }
}
#contents:target {
  outline: none;
}

@media (width < 64rem) {
  #contents:target {
    scroll-margin-block: 5rem;
  }
}
main {
  position: relative;
  container: main/inline-size;
  font-weight: 300;
  padding-block-end: 3rem;
}

main[inert] {
  block-size: 0;
  padding: 0;
  overflow: hidden;
}

@media (width < 64rem) {
  main {
    padding-inline: 0;
    font-weight: 300;
  }
}
main p {
  margin: 0;
  padding: var(--space-m) 0 var(--space-m) 0;
}

main .cnt > p {
  max-inline-size: 80ch;
}

main :is(h1, h2, h3) {
  /* background: var(--color-bg-menu); */
  color: var(--color-lightblue);
  padding: 0.75rem 1rem;
  inline-size: fit-content;
}

main h1 {
  margin: 1rem 0;
  line-height: 1.5;
  padding: 0;
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

main > *:not(h1):first-child {
  margin-block-start: 0;
}

.cnt {
  --spacer: 2;
  position: relative;
  margin-block: 0 1.5rem;
  --inline-margin: var(--space-s);
  margin-inline: var(--inline-margin);
  margin-block-end: calc(var(--spacer) * var(--space-l));
}
.cnt:is(:last-of-type) {
  /* padding-block-end: calc(2.5 * var(--space-l)); */
  margin-block-end: 0;
}
.cnt {
  --cntpadding: 1rem;
}
.cnt a.visually-hidden {
  text-decoration: none;
  background: var(--color-white);
  padding: 0.5rem 1rem;
  color: var(--color-lightblue);
}
.cnt a.visually-hidden:focus {
  top: 0;
  right: 0;
  z-index: 100;
  clip: auto;
  clip-path: none;
  inline-size: auto;
  block-size: auto;
  --oo: -2px;
}
.cnt[id="in-evidenza"] a.visually-hidden:focus {
  top: 1.5rem;
}
.cnt:is(:target) {
  outline: none;
  scroll-margin-block-start: 5rem;
}
@media (width >= 64rem) {
  .cnt:is(:target) {
    scroll-margin-block-start: 2rem;
  }
}
.cnt:has(.pro) {
  --padding: var(--cntpadding);
  padding: 3rem var(--padding) var(--padding);
  margin-block-start: 3.5rem;
  background-color: var(--color-bluproced);
  border-radius: 10px;
  box-shadow: var(--shadow);
  outline: 1px solid var(--color-bg-menu);
  outline-offset: -0.5rem;
}
.cnt:has(.sponsored) {
  --padding: var(--cntpadding);
  /* margin-block-start: 3.5rem; */
  border-radius: 10px;
  outline: 0px solid var(--color-border);
  outline-offset: 0rem;
}
.cnt:has(:is(.products:not(.products--cart):not(.products--category))) {
  --padding: var(--cntpadding);
  padding: 3rem var(--padding) var(--padding);
  margin-block-start: 6.5rem;
}
.cnt:has(:is(.products--category)) {
  --padding: var(--cntpadding);
  padding: 3rem 0 var(--padding);
  margin-block-start: 0;
}
.cnt:has(.accordion) a.visually-hidden {
  top: 2.5rem;
}
.cnt:has(
    :is(.pro, .products:not(.products--cart):not(.products--stamp), .-sponsored)
  )
  h2:not([itemprop="name"]) {
  position: absolute;
  left: var(--cntpadding);
  top: 0;
  margin-block-start: 0;
  max-inline-size: calc(100% - var(--cntpadding) * 2);
  transform: translateY(-50%);
}
.cnt:has(:is(.launch)) {
  box-shadow: var(--shadow);
}
.cnt:has(:is(.launch, .products, .sponsored)) {
  border-radius: 10px;
}
.cnt:has(:is(.launch, .products, .sponsored)) a.visually-hidden {
  top: -4rem;
}
.cnt:has(:is(.launch, .products, .sponsored)):is(:target) {
  scroll-margin-block-start: 10rem;
}
@media (width >= 64rem) {
  .cnt:has(:is(.launch, .products, .sponsored)):is(:target) {
    scroll-margin-block-start: 3rem;
  }
}
.cnt {
  /* nascondo sezione se hubspot non caricato */
}
.cnt:has(.hubspot):not(:has([data-hubspot-rendered])) {
  display: none;
}
.cnt:has(.hubspot):has([data-hubspot-rendered]) {
  opacity: 0;
  animation: reveal var(--time-m) linear 0s forwards;
}
@media (width >= 48rem) {
  .cnt:has(.visually-hidden:focus) .offers__gift {
    opacity: 0;
  }
}

.hp .cnt {
  --spacer: 5;
}

.cnt__actions {
  display: flex;
  gap: 1rem;
}
.cnt__actions:is(.cnt__action--left) {
  justify-content: left;
}
.cnt__actions:is(.cnt__action--center) {
  justify-content: center;
}
.cnt__actions:is(.cnt__action--right) {
  justify-content: right;
}

@media (width >= 30rem) {
  .cnt {
    /*--inline-margin: var(--space-l); */
    --cntpadding: 1.25rem;
  }
}
@media (width >= 64rem) {
  .cnt {
    --cntpadding: 1.25rem;
  }
}
.cnt > h2 {
  margin-block-end: 2rem;
  background: var(--color-white);
}

.liveregion:empty {
  display: none;
}

.cta {
  --background: var(--color-white);
  --foreground: var(--color-lightblue);
  background: var(--background);
  color: var(--foreground);
  border: 0;
  border-radius: 5px;
  padding: 0.75rem 1.5rem;
  transition:
    color,
    background-color var(--time-s) 0s;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 500;
  font-size: inherit;
  /* line-height: inherit; */
  display: block;
  inline-size: fit-content;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.cta:is(.cta--white) {
  --background: var(--color-white);
  --foreground: var(--color-lightblue);
  --background-mix: var(--color-border-dark);
  --foreground-mix: var(--color-darkblue);
}
.cta:is(.cta--blue) {
  --foreground: var(--color-white);
  --background: var(--color-lightblue);
  --background-mix: var(--color-darkblue);
  --foreground-mix: var(--color-white);
}
.cta:is(.cta--blue):is([aria-current]) {
  --background: var(--color-white);
  --foreground: var(--color-lightblue);
  --foreground-mix: var(--color-darkblue);
  --background-mix: var(--color-white);
  border: 1px solid;
}
.cta:is(.cta--darkblue) {
  --background: var(--color-darkblue);
  --foreground: var(--color-white);
  --background-mix: var(--color-lightblue);
  --foreground-mix: var(--color-white);
}
.cta:is(.cta--brown) {
  --background: var(--color-brown);
  --foreground: var(--color-white);
  --background-mix: var(--color-omaggi);
  --foreground-mix: var(--color-white);
}
.cta:is(:hover, :focus) {
  background: color-mix(in hsl, var(--background), var(--background-mix) 40%);
  color: color-mix(in hsl, var(--foreground), var(--foreground-mix) 40%);
}
.cta:is(:hover, :focus):is(.cta--white) {
  background: color-mix(in hsl, var(--background), var(--background-mix) 15%);
}
.cta:where(:focus) {
  outline: 2px solid var(--background);
  outline-offset: 2px;
}
.cta:where(:focus):is(.cta--white) {
  outline-color: var(--foreground);
}
.cta:is(.cta--warning) {
  color: var(--color-error);
  background: var(--color-paleorange);
  border: 1px solid;
}
.cta:is(.cta--warning):is(:hover, :focus) {
  color: var(--color-error);
  background: var(--color-white);
  outline-color: currentColor;
}
.cta:is(.cta--confirm) {
  color: var(--color-palegreen);
  background: var(--color-pass);
  border: 1px solid;
}
.cta:is(.cta--confirm):is(:hover, :focus) {
  color: var(--color-pass);
  background: var(--color-palegreen);
  outline-color: currentColor;
}

.footer {
  background: var(--color-lightblue);
  color: var(--color-white);
  padding: 3rem 1.25rem;
  font-size: 0.9rem;
  --oo: 0.25rem;
  background: linear-gradient(
    180deg,
    var(--color-lightblue),
    var(--color-darkblue) calc(100% - 2rem),
    var(--color-darkblue)
  );
}
@media (width >= 48rem) {
  .footer {
    padding: 1rem 1.5rem;
    padding-block-end: 3.5rem;
  }
}
.footer img {
  max-inline-size: 12rem;
  /* filter: drop-shadow(2px 2px 4px var(--color-darkblue)); */
}
.footer .footer__info {
  display: flex;
  justify-content: space-between;
  margin-block-end: 0.5rem;
}
.footer .footer__infocontacts svg {
  block-size: 3rem;
  aspect-ratio: 1;
  margin-block: 0.25rem;
}
@media (width <= 36rem) {
  .footer .footer__infocontacts svg {
    display: none;
  }
}
.footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 2;
}
.footer .footer__nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.5rem 4rem;
  padding-block-end: 1.5rem;
  margin-block: 2rem;
}
.footer .footer__nav .title {
  color: var(--color-bg-menu);
  text-transform: uppercase;
  padding: 0.25rem 0.25rem 0.5rem 0.25rem;
  border-bottom: 1px solid var(--color-paleblue);
  font-size: 1.1rem;
}
.footer .footer__nav div {
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
}
.footer :any-link {
  color: var(--color-bg-menu);
}
.footer a:hover {
  color: var(--color-white);
  text-decoration: none;
}
@media (width >= 54rem) {
  .footer .companyinfo {
    display: flex;
    gap: 5rem;
    align-items: flex-end;
    justify-content: space-between;
  }
  .footer .companyinfo > div {
    flex: 1;
  }
}
@media (width > 42rem) {
  .footer .companyinfo .address br.mobile {
    display: none;
  }
}
.footer #carbonfootprint {
  font-size: 1rem;
  line-height: 1.66;
  inline-size: fit-content;
  text-align: right;
}
.footer #carbonfootprint img {
  display: block;
  inline-size: 5rem;
  margin: 0 0 1.5rem auto;
}
.footer #carbonfootprint b {
  font-weight: 600;
  color: var(--color-palegreen);
}
@media (width < 54rem) {
  .footer #carbonfootprint {
    text-align: center;
    inline-size: 100%;
    margin-block-end: 3rem;
  }
  .footer #carbonfootprint img {
    margin: 0 auto 1.5rem auto;
  }
}
@media (width >= 32rem) {
  .footer #carbonfootprint br {
    display: none;
  }
}
.footer #carbonfootprint:empty {
  inline-size: auto;
}
.footer #carbonfootprint:empty::before {
  content: "Calcolo dell'impatto ambientale in corso";
}
.footer #carbonfootprint:empty::after {
  display: inline-block;
  vertical-align: text-bottom;
  margin-inline-start: 0.5rem;
  content: "";
  background: url(/images/loader-transp.png) 0 50% no-repeat;
  background-size: 100% auto;
  inline-size: 4rem;
  block-size: 1rem;
}
.footer .footer__info ul,
.footer .footer__info ~ ul {
  display: flex;
  gap: 0.75rem;
  inline-size: fit-content;
}
.footer .footer__info ~ ul {
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.5rem;
}
@media (width <= 36rem) {
  .footer .footer__info {
    flex-direction: column;
    align-items: center;
  }
  .footer .footer__info img,
  .footer .footer__info ul,
  .footer .footer__info ~ ul {
    margin-block-end: 0.5rem;
    margin-inline: auto;
  }
}
.footer .footer__infocontacts ul {
  margin-block: 1rem 0;
  gap: 1.5rem;
}
.footer .footer__infosocial svg {
  display: block;
  inline-size: 2rem;
  aspect-ratio: 1;
  fill: var(--color-bg-menu);
  transition: all var(--time-xs) 0s;
}
.footer .footer__infosocial a:hover svg {
  transform: scale(1.2);
}
.footer .footer__infosocial {
  transform: translateX(var(--space-s));
  --oo: 0;
}
.footer .footer__infosocial a {
  padding: var(--space-s);
  inline-size: 3rem;
  aspect-ratio: 1;
  display: block;
}

@media (width >= 64rem) {
  body:has([data-filterid][aria-expanded="true"]) footer {
    display: none;
  }
}
.cnt:has(.homeslider) {
  container: accordion-hp/inline-size;
}

.homeslider {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

.homeslider__panel {
  flex: 0;
  min-inline-size: 5rem;
  position: relative;
  transition: flex-grow var(--time-m) 0s;
  flex-basis: 100%;
}

.homeslider:has([aria-expanded="true"])
  .homeslider__panel:is(:focus-within, :hover):has([aria-expanded="false"]) {
  flex-grow: 1;
}

.homeslider__panel button[aria-expanded="true"] {
  display: none;
}

.homeslider__panel:first-child button {
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}

.homeslider__panel:last-child button {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.homeslider button[aria-expanded="false"] {
  outline-offset: -12px;
  transition: outline-offset var(--time-s) 0s;
}

.homeslider button[aria-expanded="false"]:is(:hover, :focus) {
  outline: 2px solid var(--color-white);
  outline-offset: -6px;
  cursor: pointer;
}

.homeslider__content {
  inline-size: 100%;
}

.homeslider__content div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--color-darkblue);
}

.homeslider__content div p {
  font-size: 1.5rem;
  line-height: 1.2;
  max-inline-size: 30rem;
  margin-block-end: 1rem;
}

.homeslider__content div small {
  font-size: 1rem;
  line-height: 1.5;
  display: block;
  margin-block-start: 1rem;
}

.homeslider__content .cta {
  align-self: flex-end;
  cursor: pointer;
}

@container accordion-hp (width < 56rem) {
  @supports (animation-timeline: view()) {
    .homeslider {
      --start: 0.1rem;
      --start: 5rem;
      --numcards: 5;
      view-timeline-name: --cards-element-scrolls-in-body;
      /* Make place at bottom, as items will slide to that position*/
      padding-bottom: calc(var(--numcards) * var(--card-top-offset));
      /* Don't include the --card-margin in padding, as that will affect the scroll-timeline*/
      margin-bottom: 2rem;
    }
    @media (width < 48rem) {
      .homeslider {
        --start: 5rem;
      }
    }
    .homeslider__panel {
      background: var(--color-bg-menu);
      --card-top-offset: 1.25rem;
      --index0: calc(var(--index) - 1); /* 0-based index */
      --reverse-index: calc(
        var(--numcards) - var(--index0)
      ); /* reverse index */
      --reverse-index0: calc(
        var(--reverse-index) - 1
      ); /* 0-based reverse index */
      --start-range: calc(var(--index0) / var(--numcards) * 100%);
      --end-range: calc((var(--index)) / var(--numcards) * 100%);
      animation: linear scale forwards;
      animation-timeline: --cards-element-scrolls-in-body;
      animation-range: exit-crossing var(--start-range) exit-crossing
        var(--end-range);
    }
    .homeslider__panel:nth-child(1) {
      --index: 1;
    }
    .homeslider__panel:nth-child(2) {
      --index: 2;
    }
    .homeslider__panel:nth-child(3) {
      --index: 3;
    }
    .homeslider__panel:nth-child(4) {
      --index: 4;
    }
    .homeslider__panel:nth-child(5) {
      --index: 5;
    }
    .homeslider__panel {
      position: sticky;
      z-index: var(--index);
      top: calc(var(--start) + var(--index) * var(--card-top-offset));
      transform-origin: 50% 0%;
      will-change: transform;
    }
  }
  @keyframes scale {
    to {
      transform: scale(calc(1.05 - 0.05 * var(--reverse-index)));
    }
  }
  .homeslider__content:focus {
    outline: none;
  }
  .homeslider {
    gap: 1rem;
  }
  .homeslider__panel {
    border: 1px solid var(--color-border);
    padding: 1rem;
    border-radius: 5px;
  }
  .homeslider__content img {
    inline-size: 100%;
    aspect-ratio: 2/1;
    block-size: auto;
    max-block-size: 360px;
    display: block;
    object-fit: cover;
    object-position: center;
  }
  .homeslider__panel button {
    display: none;
  }
}
@container accordion-hp (width >= 56rem) {
  .homeslider {
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 2px;
  }
  .homeslider__content img {
    aspect-ratio: 2/1;
    block-size: auto;
  }
  .homeslider__panel {
    block-size: 30rem;
    flex: 1;
  }
  .homeslider__panel:is(:first-child) .homeslider__content {
    border-start-start-radius: 10px 10px;
    border-end-start-radius: 10px 10px;
  }
  .homeslider__panel:is(:last-child) .homeslider__content {
    border-start-end-radius: 10px 10px;
    border-end-end-radius: 10px 10px;
  }
  .homeslider__panel button {
    position: absolute;
    z-index: 5;
    inline-size: 100%;
    block-size: 100%;
    border: 0;
    padding: 0;
    font-size: 1.2rem;
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0),
      rgba(0, 0, 0, 0.4),
      rgba(0, 0, 0, 0)
    );
  }
  /* .accordion__panel button span {
        color: transparent;
        pointer-events: none;
    } */
  .homeslider__panel button span {
    /* content: attr(data-label); */
    position: absolute;
    z-index: 3;
    right: 0;
    left: 0;
    bottom: -0.5rem;
    text-align: right;
    padding: var(--space-xs);
    display: block;
    transform: translateY(100%);
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 0.75rem;
    color: var(--color-lightblue);
    background: var(--color-bg-menu);
  }
  .homeslider__panel button:is(:focus, :hover)::after {
    background: var(--color-lightblue);
    color: var(--color-bg-menu);
  }
  .homeslider__panel img {
    transition: all var(--time-m) 0s;
    filter: sepia(0%) brightness(1);
  }
  .homeslider__panel:has([aria-expanded="true"]) img {
    filter: sepia(40%) brightness(0.7);
  }
  .homeslider__panel:focus-within:has([aria-expanded="false"]) img {
    filter: sepia(40%) brightness(0.4);
  }
  .homeslider__panel:has([aria-expanded="true"]),
  .homeslider__panel:is(:focus-within, :hover) {
    flex-grow: 6;
    filter: drop-shadow(2px 4px 3px hsl(220, 5%, 64%));
  }
  .homeslider__content {
    overflow: hidden;
  }
  .homeslider__content div {
    position: absolute;
    z-index: 3;
    inset: 0;
    opacity: 0;
    font-size: 1rem;
    padding: 2rem;
    color: var(--color-white);
    background: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.7333333333),
      rgba(0, 0, 0, 0.6666666667),
      rgba(0, 0, 0, 0.4),
      rgba(0, 0, 0, 0)
    );
    transition: opacity 0.66s var(--time-s);
    opacity: 1;
    inline-size: min(66cqi - 0px, 100%);
  }
  .homeslider__content {
    position: absolute;
    z-index: 2;
    block-size: 30rem;
  }
  .homeslider__panel:has([aria-expanded="false"]) .homeslider__content div {
    display: none;
  }
  .homeslider__content img {
    top: 0;
    bottom: 0;
    position: absolute;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    object-position: 50% 0;
  }
  .homeslider__content div p {
    inline-size: min(45cqi, 75vw);
    transition: transform var(--time-m) var(--time-s);
    transform: translateX(2rem);
    font-size: 3em;
    margin-block-end: 0;
    font-weight: 200;
  }
  .homeslider__panel:has([aria-expanded="true"]) .homeslider__content p {
    transform: translateX(0);
  }
  .homeslider__content div small {
    margin-block: 2rem 0;
    font-size: 0.4em;
    font-weight: 300;
  }
  /* .homeslider__content .cta:is(:focus, :hover) {
        background: var(--foreground);
        color: var(--background);
    } */
  .homeslider__panel:has([aria-expanded="true"]) .homeslider__content div {
    background: linear-gradient(
      to right,
      rgba(0, 0, 0, 0.8),
      rgba(0, 0, 0, 0.6666666667),
      rgba(0, 0, 0, 0.6666666667),
      rgba(0, 0, 0, 0.5333333333),
      rgba(0, 0, 0, 0)
    );
    transition: opacity var(--time-m) var(--time-s);
    opacity: 1;
  }
}
#sponsorizzati {
  margin-block-start: -2rem;
}

.sponsored {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}
@container (width >= 56rem) {
  .sponsored {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  }
}
.sponsored {
  /* &:has(.sponsored__item:is(:hover, :focus-within))
        .sponsored__item:not(:is(:hover, :focus-within)) {
        opacity: 0.7;
    } */
}
.sponsored .sponsored__item {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 1rem;
  position: relative;
  border-radius: 5px;
  box-shadow: var(--shadow);
  overflow: clip;
  transition: all var(--time-s) 0s;
  will-change: opacity, transform;
  background: var(--color-bg-menu);
}
@media (width >= 48rem) {
  .sponsored .sponsored__item:is(:hover, :focus-within) {
    transform: scale(1.015);
  }
}
.sponsored .sponsored__item :any-link {
  color: var(--color-lightblue);
}
.sponsored .sponsored__item a {
  font-weight: bolder;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1rem;
  --oo: var(--space-xs);
}
.sponsored .sponsored__item a::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
}
.sponsored .sponsored__item a:is(:hover, :focus) {
  text-decoration: none;
}
.sponsored .sponsored__item p {
  padding: 0 1.5rem var(--space-m) 1.5rem;
  inline-size: 100%;
  text-align: center;
}
.sponsored .sponsored__item p:last-child {
  margin-block-end: 1rem;
}
.sponsored .sponsored__image {
  background: var(--color-white);
  inline-size: 100%;
  padding: 3.5rem 1.5rem 1.5rem 1.5rem;
}
.sponsored .sponsored__image img {
  display: block;
  inline-size: min(75%, 10rem);
  margin: 0 auto;
}
.sponsored .sponsored__icon {
  inline-size: 6rem;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 0.25rem;
  background: var(--color-white);
  transform: translate(0.5rem, 0.5rem);
}
.sponsored .sponsored__icon img {
  inline-size: 100%;
}
.sponsored .sponsored__image {
  padding: 0.5rem;
  display: block;
}
.sponsored .sponsored__image img {
  inline-size: 100%;
  display: block;
  margin-block-end: 0;
}
.sponsored .sponsored__item {
  grid-row: unset;
}

.banneromaggio {
  background: var(--bgcolor);
  position: relative;
  border: 1px solid var(--color-paleblue);
  padding: 1rem 1.5rem;
}

.banneromaggio p {
  text-align: left;
  font-size: 1.25rem;
  margin: 0 0 2rem 0;
  padding: 0;
  inline-size: 50%;
}

.banneromaggio h2 {
  margin-block-end: 0;
}

.banneromaggio div {
  flex: 0 1 33.33%;
  background: red;
}

.banneromaggio em {
  font-style: normal;
}

.banneromaggio img {
  inline-size: 100%;
  block-size: 100%;
  object-position: 50%;
  object-fit: cover;
  display: block;
}

[data-devmode="1"] .products__item:hover::before {
  position: absolute;
  z-index: 50;
  opacity: 0.75;
  white-space: pre;
  pointer-events: none;
  background: var(--color-lightblue);
  color: var(--color-white);
  font-family: monospace;
  font-weight: 300;
  padding: 0.5rem;
  font-size: 0.9rem;
  letter-spacing: 0;
  line-height: 1.5;
  content: "Debug Mode\a\a Codice Proced: [" attr(data-id)
    "]\aPosizione listino [" attr(data-posizione) "]";
}

.tooltip {
  position: relative;
  z-index: 1;
}
.tooltip span {
  box-shadow: var(--shadow);
  font-size: 0.83rem;
  color: var(--color-white);
  background-color: var(--color-lightblue);
  white-space: nowrap;
  position: absolute;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25em;
  border: 1px solid;
  left: 0;
  bottom: calc(100% + 0.5rem);
  text-transform: none;
  letter-spacing: 0;
  pointer-events: none;
  font-weight: 400;
}
.tooltip span b {
  font-weight: 600;
  display: block;
  margin-block-end: 0.5rem;
}
.tooltip em {
  font-style: normal;
}
.tooltip span svg {
  display: block;
  inline-size: 2.25rem !important;
  aspect-ratio: 1;
  margin-block-end: 0.5rem;
}
.tooltip.tooltip--left span {
  right: calc(100% + 0.75rem);
  top: 0.25rem;
  bottom: auto;
  left: auto;
}
.tooltip.tooltip--topleft span {
  right: calc(100% - 3rem);
  top: auto;
  bottom: 100%;
  left: auto;
}
.tooltip.tooltip--right span {
  top: 0.25rem;
  bottom: auto;
  left: calc(100% + 0.75rem);
}
.tooltip.products__package {
  position: static;
}
.tooltip.products__package span {
  color: var(--color-darkblue);
  background-color: var(--color-palegreen);
  white-space: normal;
  right: 0;
  text-align: left;
}
.tooltip:not(:is(:hover)) span {
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: clip;
  padding: 0;
  border: 0;
}

.products {
  display: grid;
  gap: var(--padding);
  grid-template-columns: 1fr;
}
@media (min-width: 24rem) {
  .products {
    grid-template-columns: repeat(auto-fit, minmax(21rem, 1fr));
  }
}
@media (min-width: 76rem) {
  .products.products--category {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 90rem) {
  .products.products--category {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 120rem) {
  .products.products--category {
    grid-template-columns: repeat(4, 1fr);
  }
}
.cnt:has(.products:is(.products--suggested)) {
  --x-0: 85%;
  --c-0: hsla(195.00000000000043, 27%, 85%, 1);
  --y-0: 80%;
  --c-1: hsla(40, 53%, 92%, 1);
  --x-1: 60%;
  --y-1: 24%;
  --x-2: 13%;
  --c-2: hsla(100.00000000000013, 27%, 77%, 1);
  --y-2: 82%;
  background-color: hsl(358, 0%, 100%);
  background-image:
    radial-gradient(
      circle at var(--x-0) var(--y-0),
      var(--c-0) var(--s-start-0),
      transparent var(--s-end-0)
    ),
    radial-gradient(
      circle at var(--x-1) var(--y-1),
      var(--c-1) var(--s-start-1),
      transparent var(--s-end-1)
    ),
    radial-gradient(
      circle at var(--x-2) var(--y-2),
      var(--c-2) var(--s-start-2),
      transparent var(--s-end-2)
    );
  animation: hero-gradient-animation 10s linear infinite alternate;
  background-blend-mode: normal, normal, normal;
  -background: var(--color-promo);
}
.products .products__body__art {
  font-weight: 400;
  font-size: 0.92rem;
  color: var(--color-lightblue);
}
.products .products__body__desc {
  margin-block: 1rem;
  font-size: 0.92rem;
}
.products [itemprop="name"] {
  font-size: 1rem;
  letter-spacing: 1px;
  padding: 0;
  margin-block-start: 0;
}
.products .products__item--category [itemprop="name"] {
  margin-block-end: 0;
}
.products img {
  max-inline-size: 75%;
  aspect-ratio: 1;
  margin: 0 auto;
  display: block;
}
.products [itemprop="name"] a {
  display: block;
  color: var(--color-lightblue);
  --oo: var(--space-xs);
  font-weight: 600;
  text-decoration: none;
}
.products [itemprop="name"] a::before {
  content: "";
  position: absolute;
  z-index: 1;
  block-size: 17rem;
  inset: 4.5rem var(--padding) auto var(--padding);
}
.products [itemprop="name"] a:is(:focus, :hover) {
  text-decoration: underline;
}
.products p {
  padding: 0;
}
.products p:is(.products__pricenotenable) {
  font-size: 0.92rem;
  color: var(--color-gray);
}
.products p:is(.products__pricenotenable) span {
  display: none;
}
.products b {
  font-weight: bolder;
}
.products .products__item {
  border-radius: 5px;
  overflow: hidden;
  box-shadow: var(--shadow);
  background: var(--color-bg-menu);
  position: relative;
  opacity: 1;
  will-change: opacity, transform;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  flex-direction: column;
  flex-wrap: nowrap;
  backface-visibility: hidden;
  transition: all var(--time-s) 0s;
  transform: scale(var(--scale)) perspective(1px) translateZ(0);
}
.products .products__item[data-hasomaggi="true"] {
  outline: 2px solid var(--color-omaggi);
}
.products .products__item {
  --scale: 1;
  --rotate: 0deg;
}
.products .products__item.imgerror .products__photo {
  background: var(--color-white) url(/icon-proced-192.png) 50% 50% no-repeat;
  background-size: min(128px, 50%) auto;
  min-block-size: 16.5rem;
}
.products .products__item.imgerror img {
  display: none;
}
.products .products__item:has(a:hover) .products__suggested {
  animation: rotate var(--time-s) linear 0s;
}
@media (min-width: 64rem) {
  .products .products__item:hover,
  .products .products__item:focus-within {
    --scale: 1.015;
    --rotate: 0deg;
  }
}
.products .products__topicon {
  position: absolute;
  z-index: 5;
  top: 1rem;
  right: var(--padding);
  inline-size: 2.75rem;
  display: block;
  /*  display: none; */
}
.products .products__topicon svg {
  pointer-events: none;
  fill: var(--color-lightblue);
  display: block;
  inline-size: 100%;
  aspect-ratio: 669/773;
  block-size: auto;
}
@media (min-width: 30rem) {
  .products .products__topicon {
    transform: rotateZ(0deg);
    display: block;
  }
}
.products .products__body {
  padding: var(--padding);
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.products .products__photo {
  position: relative;
  padding: 4rem 0 1rem 0;
  inline-size: 100%;
  background: var(--color-white);
}
.products .products__avl {
  position: absolute;
  top: 1.5rem;
  left: var(--padding);
  padding: 0.25rem;
  font-size: 0.8rem;
  font-weight: 400;
  background: var(--color-bg-menu);
  transform: rotateZ(var(--rotate));
  will-change: transform;
  transition: transform var(--time-s) 0s;
  text-transform: uppercase;
  border-radius: 1px;
}
.products fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}
.products .products__price {
  line-height: 1.5;
  font-size: 1.4rem;
}
.products .products__price .info__riacquisto {
  font-size: 0.86rem;
  font-weight: 300;
}
.products .products__price small {
  font-size: 62%;
}
.products .products__actions {
  margin-block-start: 0.75rem;
}
.products .products__actions form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.products .products__actions .cta {
  block-size: calc(3rem - 1px);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  color: var(--color-white);
  cursor: pointer;
  padding-inline: 0;
  transition:
    color,
    background var(--time-s) 0s;
}
.products .products__actions .cta.addtocart {
  color: var(--color-white);
}
.products .products__actions .cta.askinfo {
  border: 1px solid var(--color-lightblue);
  padding-block: 0;
  stroke: var(--color-lightblue);
  stroke-width: 3px;
}
.products .products__actions .cta.askinfo svg {
  inline-size: 2.125rem;
  fill: none;
}
.products .products__actions .cta svg {
  inline-size: 1.5rem;
  aspect-ratio: 1;
  pointer-events: none;
}
.products .products__actions .cta:is(:focus, :hover) {
  background: var(--color-white);
  color: var(--color-lightblue);
  outline: 2px solid currentColor;
  --oo: 2px;
}
.products svg {
  fill: currentColor;
}
.products :is(.products__price, .products__actions) {
  position: relative;
  z-index: 2;
}
.products {
  /* variante omaggi */
}
.products:is(.products--offers) .products__avl,
.products:is(.products--offers) .products__topicon {
  display: none;
}
.products:is(.products--offers) .products__photo {
  padding: 1rem 0;
}
@media (min-width: 36rem) {
  .products:is(.products--offers) .products__item {
    grid-template-columns: 1fr 3fr;
    grid-row: span 3;
  }
  .products:is(.products--offers) .products__item .products__photo {
    grid-area: 1/1/-1/2;
    place-content: center;
  }
}

.quantitygroup[role="group"] {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  border: 1px solid var(--color-border-dark);
  border-radius: 5px;
}
.quantitygroup[role="group"] label {
  position: absolute !important;
  bottom: 100%;
  left: 0;
  inline-size: 100%;
  transform: translateY(-0.25rem);
}
.quantitygroup[role="group"] > button {
  inline-size: calc(3rem - 3px);
  aspect-ratio: 1;
  background: none;
  border: 0;
  color: var(--color-lightblue);
  cursor: pointer;
  display: grid;
  place-content: center;
  border-radius: 5px;
}
.quantitygroup[role="group"] > button svg {
  inline-size: 1.25rem;
  pointer-events: none;
}
.quantitygroup[role="group"] > button.products__package {
  position: static !important;
}
.quantitygroup[role="group"] > button.products__package > svg {
  --open: block;
  --close: none;
  inline-size: 2.25rem;
  aspect-ratio: 1;
  transition: opacity 0.25s;
  stroke-linejoin: round;
  stroke-linecap: round;
  stroke-width: 5;
  transition: color 0.2s 0s;
}
.quantitygroup[role="group"] > button.products__package[aria-pressed="true"] {
  background: var(--color-palegreen);
}
.quantitygroup[role="group"]
  > button.products__package[aria-pressed="true"]
  > svg {
  --close: block;
  --open: none;
}
.quantitygroup[role="group"] .products__quantity {
  block-size: calc(3rem - 3px);
  overflow: hidden;
}
.quantitygroup[role="group"] input {
  inline-size: 3.85rem;
  border: 0;
  padding: var(--space-xs);
  color: var(--color-lightblue);
  font-size: 1.2rem;
  text-align: center;
  caret-color: #86899e;
}
.quantitygroup[role="group"] :is(input, button) {
  block-size: calc(3rem - 3px);
  --oo: -3px;
}
.quantitygroup[role="group"] :is(input, button):focus {
  position: relative;
}
.quantitygroup[role="group"] :is(input, button)[aria-disabled="true"] {
  cursor: default;
  opacity: 0.5;
}

.products__avl--instock {
  color: var(--color-backdrop);
}

.products__avl--soon {
  /* color: var(--color-warning);*/
  color: var(--color-backdrop);
}

.products__avl--outofstock {
  /*color: var(--color-error);*/
  color: var(--color-backdrop);
}

.products__avl--changed span {
  animation: 0.4s highlight 0s 3;
}

@keyframes highlight {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
/* breadcrumbs */
[aria-label="breadcrumbs"] {
  margin-block: 1.5rem 3rem;
  inline-size: fit-content;
  font-size: 0.8rem;
  max-inline-size: 100%;
}
[aria-label="breadcrumbs"] ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  line-height: 1;
  color: inherit;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  border-radius: 5px;
  overflow: hidden;
}
[aria-label="breadcrumbs"] :any-link {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.5rem 1rem;
  line-height: 2;
  display: inline-block;
}
[aria-label="breadcrumbs"] :any-link:focus {
  outline-color: var(--color-lightblue);
  outline-offset: -0.5rem;
}
[aria-label="breadcrumbs"] .breadcrumb__item {
  color: inherit;
  position: relative;
  flex: 999 1 0;
  color: var(--color-text);
  text-align: center;
  border-top: 1px solid var(--color-gray);
  margin-block-start: -1px;
}
[aria-label="breadcrumbs"] .breadcrumb__item:not([aria-current]) {
  background: var(--color-palegreen);
}
[aria-label="breadcrumbs"] .breadcrumb__item:not([aria-current])::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0 0 0 auto;
  overflow: hidden;
  block-size: 100%;
  aspect-ratio: 1;
  border-radius: 5px;
  transform: translate(44%, -1px) rotate(45deg) scale(0.8);
  clip-path: polygon(6% 0, 100% 94%, 100% 0);
  background: url(/images/bg/breadcrumb.svg);
  background-color: var(--color-palegreen);
}
[aria-label="breadcrumbs"] .breadcrumb__item:not(:first-child) {
  padding-inline-start: 1rem;
}
[aria-label="breadcrumbs"] .breadcrumb__item[aria-current] {
  font-weight: bolder;
  text-align: center;
  background-color: var(--color-white);
}
[aria-label="breadcrumbs"] .breadcrumb__item[aria-current] :any-link {
  max-inline-size: 90vw;
  text-overflow: ellipsis;
  overflow: hidden;
}

.brand .brand__cols {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  gap: 2rem;
  view-timeline: --brand block;
}
@media (width >= 96rem) {
  .brand .brand__cols {
    grid-template-columns: 3fr 2fr;
  }
}
.brand .brand__cols > :not(.brand__cnt) {
  grid-column: 1;
}
.brand .brand__cnt {
  grid-column: 2;
  position: sticky;
  top: 0;
  align-self: start;
  padding-block: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.brand .brand__cnt svg {
  inline-size: min(95%, 16rem);
  display: block;
  margin: 0 auto;
}
@media (width < 96rem) {
  .brand .brand__cnt {
    display: none;
  }
}
.brand #claim-mask {
  inline-size: 0;
  animation: linear progress-mask 1 forwards;
  animation-timeline: --brand;
  animation-range: exit-crossing 5% exit-crossing 20%;
}
@media (width <= 110.625rem) {
  .brand #claim-mask {
    animation-range: exit-crossing 35% exit-crossing 60%;
  }
}
.brand #progress-stroke {
  stroke-dasharray: 342;
  stroke-dashoffset: -342;
  animation: auto linear progress-stroke forwards;
  animation-timeline: --brand;
  animation-range: entry 95% exit-crossing 5%;
}
@media (width <= 110.625rem) {
  .brand #progress-stroke {
    animation-range: entry 80% exit-crossing 35%;
  }
}

@supports not (animation-timeline: view()) {
  #progress-stroke {
    stroke-dashoffset: 342 !important;
  }
  #claim-mask {
    inline-size: 0 !important;
  }
}
@keyframes progress-stroke {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes progress-mask {
  to {
    inline-size: 100%;
  }
}
/* form generico */
.formgen {
  /* border: 1px solid var(--color-border);
    padding: 1.5rem; */
  border-radius: 10px;
  container: formgen/inline-size;
}
.formgen label[for] {
  cursor: pointer;
  padding-inline-end: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.formgen label[for]:has(+ textarea) {
  align-self: start;
}
.formgen label[for] small {
  position: absolute;
  font-size: 0.75em;
}
.formgen textarea {
  resize: vertical;
  min-block-size: 8rem;
}
.formgen select,
.formgen input,
.formgen textarea {
  border: 1px solid var(--color-border-dark);
  font-weight: 400;
}
.formgen [readonly] {
  opacity: 0.75;
  box-shadow: inset 0 0 0 100vw #f6f6f6 !important;
}
.formgen textarea,
.formgen input:is([type="text"], [type="password"], [type="date"], [list]) {
  border-radius: 5px;
  padding: 0.75rem var(--space-s);
  font-size: inherit;
  font-family: inherit;
  color: var(--color-lightblue);
}
.formgen select {
  /* block-size: calc(2.4rem - 2px); */
  padding-block: 0.75rem;
  font-size: inherit;
  font-family: inherit;
  color: var(--color-lightblue);
  padding-inline: var(--space-s);
  appearance: none;
  cursor: pointer;
  inline-size: calc(100% - 2px);
  border: 0;
}
.formgen textarea,
.formgen input,
.formgen select,
.formgen .btn-select-a11y {
  box-shadow: inset 0 0 0 100vw #fff;
}
.formgen .selectwrapper {
  position: relative;
  overflow: hidden;
  border-radius: 5px;
  border: 1px solid var(--color-border-dark);
}
.formgen .selectwrapper:focus-within {
  outline: 2px solid var(--color-lightblue);
  outline-offset: var(--oo, 2px);
}
.formgen .selectwrapper::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background-image:
    url(/images/bg/downarrow.svg),
    linear-gradient(to left, var(--bgcolor-button), var(--bgcolor-button)),
    linear-gradient(
      to left,
      #fff 0,
      #fff 3.5em,
      rgba(255, 255, 255, 0) 5em,
      rgba(255, 255, 255, 0) 100%
    );
  background-position:
    calc(100% - 0.875rem) 50%,
    100% 0,
    100% 0;
  background-size:
    1.25rem auto,
    3em 100%,
    100% 100%;
  background-repeat: no-repeat;
}
.formgen [role="status"]:not(:empty) {
  flex: 1 1 100%;
  padding: 1.5rem;
  border-radius: 10px;
  background: var(--color-paleorange);
  color: var(--color-warning);
  margin-block-end: 1.5rem;
}
.formgen [role="status"]:not(:empty):has(.ok) {
  background: var(--color-palegreen);
  color: var(--color-pass);
  margin-block-end: 0;
}
.formgen [role="status"]:has(.ok) ~ .fld {
  display: none;
}
.formgen .fld {
  position: relative;
}
.formgen .fld:not(:last-child) {
  margin: 0 0 4rem 0;
}
.formgen .fld :any-link:not(.cta) {
  color: var(--color-text);
}
.formgen .fld legend {
  border: 2px dotted var(--color-border);
  display: block;
  margin-block-end: 2rem;
  padding: 1rem;
  border-radius: 10px;
  inline-size: 100%;
  font-weight: bolder;
  background: var(--color-palegreen);
}
.formgen .fld legend em {
  font-weight: lighter;
  padding-inline-start: 0.5rem;
}
.formgen .fld ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.5rem 5rem;
  align-items: start;
}
.formgen .fld ul ul:not(.combina11y__listbox) {
  padding-block: 1.5rem !important;
  grid-column: 1/-1;
}
.formgen .fld ul + ul {
  margin-block-start: 2.5rem;
  padding-block-start: 2.5rem;
  border-top: 1px dotted var(--color-border);
}
.formgen .fld li {
  display: grid;
  align-items: center;
  /* &:is(.formgen__half) { */
  grid-template: repeat(2, auto) / 120px minmax(0, 1fr);
}
@media (width >= 48rem) {
  .formgen .fld li {
    grid-template: repeat(2, auto) / 150px minmax(0, 1fr);
  }
}
.formgen .fld li p {
  grid-area: 2/1/2/3;
  text-align: end;
}
.formgen .fld li {
  /* } */
}
.formgen .fld li:is(.formgen__choice) {
  --row: 2;
  grid-template: repeat(var(--row), auto) / auto 4rem 4rem;
  gap: 0.5rem 2rem;
}
.formgen .fld li:is(.formgen__choice) p[id^="desc"] {
  grid-area: 1/1/2/4;
}
.formgen .fld li:is(.formgen__choice) p[id^="info"] {
  color: var(--color-gray);
  font-size: 92%;
  grid-area: 3/1/4/4;
}
.formgen .fld li:is(.formgen__choice) label:first-of-type {
  grid-area: var(--row) / 2;
}
.formgen .fld li:is(.formgen__choice) label:last-of-type {
  grid-area: var(--row) / 3;
}
@media (width >= 40rem) {
  .formgen .fld li:is(.formgen__choice) {
    --row: 1;
    gap: 0.5rem 2.5rem;
    align-items: end;
  }
  .formgen .fld li:is(.formgen__choice) p[id^="desc"] {
    grid-area: 1/1/1/2;
    padding-inline-end: 2rem;
  }
  .formgen .fld li:is(.formgen__choice) p[id^="info"] {
    grid-area: 2/1/3/4;
  }
}
.formgen .fld li:has([id^="fld-emailauth"]) {
  grid-template: repeat(3, auto) / 1fr;
}
@media (width >= 48rem) {
  .formgen .fld li:has([id^="fld-emailauth"]) {
    grid-template: repeat(2, auto) / 1fr 1fr;
  }
}
.formgen .fld:has(> a.cta),
.formgen .fld:has(> button) {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.formgen .fld:has(> a.cta) button,
.formgen .fld:has(> button) button {
  min-inline-size: min(12rem, 100%);
}
@media (width > 48rem) {
  .formgen .fld:has(> a.cta),
  .formgen .fld:has(> button) {
    justify-content: flex-end;
  }
}
.formgen:not(.sending) li:has([role]:not(:empty):not(.quantitygroup)) input {
  border-color: var(--color-error);
  outline-color: var(--color-error);
}
.formgen.sending li input {
  border-color: var(--color-border-dark);
  outline-color: currentColor;
}
.formgen [type="submit"] {
  display: grid;
  place-content: center;
  grid-template-columns: 1fr;
}
.formgen [type="submit"] span,
.formgen [type="submit"] svg {
  grid-row-start: 1;
  grid-column-start: 1;
}
.formgen [type="submit"] svg {
  display: none;
  inline-size: 3rem;
  aspect-ratio: 52/12;
  margin: auto;
}
.formgen [id^="desc"] {
  flex: 1 0 100%;
}
.formgen.sending:not(.sent) [type="submit"] span {
  visibility: hidden;
}
.formgen.sending:not(.sent) [type="submit"] svg {
  display: block;
}
.formgen .formgen__choice :is([type="radio"], [type="checkbox"]) {
  position: absolute;
  left: 0;
  top: 0.75rem;
  inline-size: 1.5rem;
  block-size: 1.5rem;
  box-shadow: none;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.formgen .formgen__choice label:focus-within::before,
.formgen .formgen__choice:is(:focus) + label::before {
  border-color: var(--color-border-dark);
  outline: 2px solid var(--color-lightblue);
  outline-offset: 2px;
}
.formgen .formgen__choice label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: start;
  padding-inline-end: 0;
  padding-block: 0.75rem;
  position: relative;
  cursor: pointer;
}
.formgen .formgen__choice label::before {
  content: "";
  flex: 0 0 1rem;
  padding: 3px;
  inline-size: 1rem;
  block-size: 1rem;
  border: 1px solid var(--color-lightblue);
}
.formgen .formgen__choice label:has([type="radio"])::before,
.formgen .formgen__choice [type="radio"] + label::before {
  border-radius: 50%;
}
.formgen .formgen__choice label:has(:checked)::before,
.formgen .formgen__choice [type="radio"]:checked + label::before {
  background: var(--color-lightblue);
  background-clip: content-box;
}
.formgen .formgen__choice p {
  padding: 0 0 0.5rem 0 !important;
  margin-block: 0 !important;
}
.formgen .formgen__choice p:is([id^="desc"], [id^="info"]) {
  text-align: start !important;
}
.formgen p.visually-hidden {
  grid-area: 2/2/3/3 !important;
  text-align: start !important;
}
.formgen .formgen__choice p.visually-hidden {
  grid-area: 3/1/4/3 !important;
}
@media (width >= 40rem) {
  .formgen .formgen__choice p.visually-hidden {
    grid-area: 2/1/3/3 !important;
  }
}
.formgen .formgen--invalid p.visually-hidden,
.formgen [data-label="Password" i] + p.visually-hidden {
  padding: var(--space-m) 0 var(--space-m) 0;
  margin: 0;
  clip: auto;
  clip-path: none;
  position: static;
  inline-size: auto;
  block-size: auto;
  overflow: auto;
  white-space: wrap;
  font-size: 0.85rem;
}
.formgen .formgen--invalid p.visually-hidden {
  font-weight: bolder;
  color: var(--color-error);
}
.formgen .formgen--invalid :focus {
  outline-color: var(--color-error) !important;
}
.formgen .formgen__centerbtt {
  justify-content: center;
}
.formgen li:has(#fld-tutti_prodotti-1:checked) + li,
.formgen li:has(#fld-invio_ordini-1:checked) + li,
.formgen li:has(#fld-destinazione > option:not([value=""]):not(:checked)) + li {
  display: none;
}
.formgen li:has(#desc-ascensore),
.formgen .fld ul ul {
  background: var(--color-white);
  padding: 1rem 1.5rem;
  border: 1px var(--color-border) solid;
  border-radius: 10px;
  display: none;
}
.formgen li:has(#fld-tutti_prodotti-2:checked) + li ul,
.formgen li:has(#fld-invio_ordini-2:checked) + li ul,
.formgen li:has(#fld-destinazione > option:not([value=""]):checked) + li ul,
.formgen li:has(#fld-piano optgroup option:checked) + li {
  display: grid;
}
.formgen #nuovo-utente-group li {
  grid-template-columns: auto 3rem;
}
.formgen #nuovo-utente-group li input {
  text-align: center;
}
.formgen #fld-authgroup {
  inline-size: 3rem;
}
.formgen .liveregion {
  font-weight: 300;
  padding: 1.5rem;
  margin-block-end: 1.5rem;
  border-radius: 10px;
  background: var(--color-white);
  border: 1px var(--color-border) solid;
  background: var(--color-paleorange);
}
.formgen .liveregion ul {
  padding-inline-start: 0;
  list-style-position: inside;
}

@container formgen (width >= 48rem) {
  .formgen .fld:not(.ricerca) ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .formgen .fld:not(.ricerca) li:not(.formgen__half):not(.combina11y) {
    grid-column: 1/3;
  }
  .formgen p.visually-hidden {
    grid-area: 2/1/3/3 !important;
  }
}
body[class^="e4"] #carbonfootprint,
body[class^="e5"] #carbonfootprint {
  display: none;
}
body[class^="e4"] main p,
body[class^="e5"] main p {
  font-size: 1rem;
  line-height: 1.6;
  margin-block: 0 1.75rem;
}

.paginazione {
  display: flex;
  --gappag: 0.5rem;
  --gapjump: 1rem;
  gap: var(--gappag);
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding-block: 5rem 2.5rem;
  --alpha: 0;
  background: hsla(230, 50%, 98%, var(--alpha));
}
@media (width > 48rem) {
  .paginazione {
    --gappag: 1rem;
    --gapjump: 1.5rem;
  }
}
.paginazione:not(:last-of-type) {
  padding-block-end: 0;
  margin-block-end: 0;
}
.paginazione {
  /*
      @media (width > 64rem) {
          position: sticky;
          z-index: 30;
          top: -1px;
          transition: box-shadow, background .5s 0s;
          box-shadow: 0 0 0 0 transparent;
          box-sizing: content-box;
          inline-size: 100%;
      }
  */
}
@media (width > 64rem) {
  .paginazione.stuck {
    transform: translateX(
      calc(var(--menu-inline-size) * -1 - var(--layoutgap))
    );
    padding-inline-start: calc(var(--menu-inline-size) + var(--layoutgap));
    --alpha: 0.95;
    box-shadow: var(--shadow-light);
  }
}
.paginazione ol,
.paginazione ul {
  list-style: none;
  margin: 0;
  padding: 0;
  inline-size: fit-content;
  display: inherit;
  gap: inherit;
  justify-content: inherit;
  flex-wrap: inherit;
}
.paginazione ol li,
.paginazione ul li {
  block-size: 3rem;
}
.paginazione ol a,
.paginazione ul a {
  display: block;
  padding-inline: 0;
  inline-size: 3rem;
  text-align: center;
}
.paginazione .cta[aria-current]:focus {
  outline-color: var(--color-lightblue);
}
.paginazione :any-link:has(svg) {
  border-radius: 5px;
  color: var(--color-lightblue);
  display: none;
}
@media (width > 40rem) {
  .paginazione :any-link:has(svg) {
    display: block;
  }
}
.paginazione svg {
  inline-size: 1.5rem;
  aspect-ratio: 1;
  margin: 0.75rem;
  display: block;
}
.paginazione .paginazione__collapsed li:first-child:has(+ :not([data-second])) {
  display: flex;
  flex-wrap: nowrap;
}
.paginazione
  .paginazione__collapsed
  li:first-child:has(+ :not([data-second]))::after {
  margin-inline: var(--gapjump) calc(var(--gapjump) - var(--gappag));
  align-self: center;
  font-family: "Courier new";
  content: "..."/"";
  font-size: 1.25rem;
}
.paginazione .paginazione__collapsed li:not([data-secondlast]) + li:last-child {
  display: flex;
  flex-wrap: nowrap;
}
.paginazione
  .paginazione__collapsed
  li:not([data-secondlast])
  + li:last-child::before {
  margin-inline: calc(var(--gapjump) - var(--gappag)) var(--gapjump);
  align-self: center;
  font-family: "Courier new";
  content: "..."/"";
  font-size: 1.25rem;
}

.accordioncnt .accordioncnt__element {
  border: 1px var(--color-border) solid;
  margin: 0.25rem 0;
  overflow: hidden;
}
.accordioncnt .accordioncnt__element:has([aria-expanded]:hover:not(:focus)) {
  border-color: var(--color-lightblue);
}
.accordioncnt .accordioncnt__title {
  inline-size: 100%;
}
.accordioncnt .accordioncnt__button {
  display: flex;
  border: 0;
  background: var(--color-white);
  font-weight: 300;
  text-align: left;
  padding: 0;
  inline-size: 100%;
  cursor: pointer;
  color: var(--color-text);
}
.accordioncnt .accordioncnt__button span {
  font-size: 1rem;
  min-block-size: 3rem;
  line-height: 1.66;
  padding: 0.75rem 2rem 0.75rem 0.75rem;
  pointer-events: none;
  flex: 1;
}
.accordioncnt .accordioncnt__button svg {
  inline-size: 3rem;
  border: 0.875rem solid transparent;
  aspect-ratio: 1;
  fill: none;
  stroke: currentColor;
  pointer-events: none;
  transition: transform 0.5s 0s;
}
.accordioncnt .accordioncnt__button:is([aria-expanded="true"]) svg {
  transform: rotateZ(180deg);
}
.accordioncnt .accordioncnt__button:focus {
  outline: 2px var(--color-lightblue) solid;
  --oo: -3px;
}
.accordioncnt .accordioncnt__button:focus span {
  font-weight: 400;
  color: var(--color-lightblue);
}
.accordioncnt .accordioncnt__panel {
  overflow: hidden;
  display: grid;
  transition: grid-template-rows 0.5s 0s;
  grid-template-rows: 1fr;
  box-sizing: content-box;
}
.accordioncnt .accordioncnt__panel > * {
  min-height: 0;
  opacity: 1;
  transition: opacity 0.5s 0.25s;
}
.accordioncnt .accordioncnt__panel:is([aria-hidden="true"]) {
  grid-template-rows: 0fr;
}
.accordioncnt .accordioncnt__panel:is([aria-hidden="true"]) > * {
  opacity: 0;
}
.accordioncnt .accordioncnt__content {
  padding-inline: 0.75rem;
  padding-block: 1.5rem;
  /* background: var(--color-white); */
}
.accordioncnt .accordioncnt__content p {
  margin: 0 0 2rem 0 !important;
}
.accordioncnt .accordioncnt__title {
  padding: 0;
  margin: 0;
}

.loginpage #content-area {
  position: relative;
}
.loginpage #content-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(/images/login/proced.jpg);
  background-size: cover;
  opacity: 0.15;
}
.loginpage #main-title {
  margin: 0 auto;
}

.tagsfilter.tagsfilter--category li {
  margin-block: 0;
  padding-block: 0.5rem;
}
.tagsfilter > p {
  margin: 1.5rem 0;
  font-size: 0.83rem;
  font-style: italic;
  color: #707070;
}
.tagsfilter#tagsfilter label {
  text-transform: capitalize;
  font-size: 92%;
}
.tagsfilter summary {
  list-style: none;
  display: flex;
  padding-inline: 0.25rem 0.5rem;
  cursor: pointer;
  letter-spacing: 1px;
  overflow: hidden;
  text-transform: uppercase;
  transition: all 0.33s 0s;
}
.tagsfilter summary:focus {
  outline-offset: -2px;
}
.tagsfilter summary span {
  font-size: 1rem;
  min-block-size: 3rem;
  line-height: 1.66;
  padding: 0.75rem 2rem 0.75rem 0.75rem;
  pointer-events: none;
  flex: 1;
}
.tagsfilter summary svg {
  inline-size: 2rem;
  aspect-ratio: 1;
  fill: none;
  stroke: currentColor;
  pointer-events: none;
  transform: rotateZ(-90deg);
  transition: all 0.33s 0s;
}
.tagsfilter summary::-webkit-details-marker {
  display: none;
}
.tagsfilter fieldset {
  padding-block: 0;
  -padding-inline-start: 1rem;
  background: var(--color-white);
}
.tagsfilter .cta {
  inline-size: 100%;
  margin-block: 1.5rem;
}
.tagsfilter details:not([open]) {
  border-bottom: 1px var(--color-border) solid;
}
.tagsfilter details[open] {
  margin-block-end: 3rem;
}
.tagsfilter details[open] summary {
  color: var(--color-pass);
  background: var(--color-palegreen);
}
.tagsfilter details[open] summary svg {
  transform: rotateZ(0deg);
}
.tagsfilter details:has(li:only-child):has(input[aria-disabled="true"]) {
  display: none;
}
.tagsfilter li {
  display: flex;
  position: relative;
  line-height: 2;
  margin-block: 0.5rem;
  text-indent: 1rem;
}
.tagsfilter li:focus-within label {
  outline: 2px solid var(--color-lightblue);
  outline-offset: 0;
}
.tagsfilter li:focus-within label * {
  outline: none;
}
.tagsfilter li {
  border-bottom: 1px dotted var(--color-border);
}
.tagsfilter li:last-child {
  padding-block-end: 0.5rem;
  margin-block-end: 0;
  border-bottom: 3px solid var(--color-border);
}
.tagsfilter li:not(:last-child) label[for^="inp"] {
  margin-block-end: 0.5rem;
}
.tagsfilter li label {
  padding: 0.25rem 0.5rem 0.25rem 0.25rem;
  flex: 1;
  align-items: center;
  display: flex;
  cursor: pointer;
}
.tagsfilter li label span {
  flex: 1;
  line-height: 1.33;
  white-space: normal;
  display: inline-block;
  vertical-align: middle;
  padding-inline-end: 1rem;
}
.tagsfilter li label::after {
  content: "";
  border: 1px solid var(--color-border-dark);
  inline-size: 2rem;
  block-size: 2rem;
  padding: 3px;
  border-radius: 3px;
  box-sizing: border-box;
}
.tagsfilter li:has(:checked) label::after {
  background-image: url(/images/checkmark.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: calc(100% - 4px) calc(100% - 4px);
  /*
  background-size: 80% auto;
  background-image: linear-gradient(
    var(--color-lightblue),
    var(--color-lightblue)
  );
  background-origin: padding-box;*/
}
.tagsfilter li:has(input[disabled]) {
  pointer-events: none;
  opacity: 0.5;
}
.tagsfilter li input {
  right: 0;
  position: absolute;
  inline-size: 2rem;
  block-size: 2rem;
  inset: 0.25rem 0.25rem auto auto;
  opacity: 0;
  cursor: pointer;
}
.tagsfilter.tagsfilter--category li input {
  inset: 0.75rem 0.5rem auto auto;
}

.category .banner__category {
  border: 0.5rem var(--color-white) solid;
  box-shadow: var(--shadow-small);
  border-radius: 1rem;
  margin-block-end: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background: var(--color-white);
}
.category .banner__category p {
  max-inline-size: 100%;
  display: block;
  padding: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 0.5rem;
}
.category .banner__category img {
  display: block;
  max-inline-size: inherit;
  inline-size: 100%;
  border-radius: 0.5rem;
}
.category .banner__category + #activeFilters[data-show="1"] {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-block-start: -5px;
}
.category .cnt:has(> .launch--registrazione) {
  position: relative;
  margin-block-start: 5rem;
}
.category .cnt:has(> .launch--registrazione)::before {
  position: absolute;
  content: "";
  border-top: 2px dotted var(--color-border);
  block-size: 2px;
  inline-size: 100%;
  display: block;
  top: -2.5rem;
}

.products--category .products__favorite {
  cursor: pointer;
  border: 0;
  background: none;
  padding: 0.25rem;
  transform: translate(0.25rem);
  border-radius: 0.25rem;
  --fill: color-mix(in srgb, var(--color-lightblue) 0%, transparent 100%);
  --stroke: var(--color-lightblue);
}
.products--category .products__favorite:focus {
  outline: 2px solid var(--color-lightblue);
  outline-offset: 4px;
}
.products--category .products__favorite svg {
  transition: all 0.25s;
  fill: var(--fill);
  stroke: var(--stroke);
  stroke-linecap: square;
  stroke-width: 1.2rem;
  aspect-ratio: 1;
}
.products--category .products__favorite[data-favourite="true"] {
  --fill: var(--color-lightblue);
  --stroke: color-mix(in srgb, var(--color-lightblue) 0%, transparent 100%);
}
.products--category .products__omaggio {
  position: absolute;
  bottom: 0.25rem;
  right: 0.25rem;
  color: var(--color-white);
}
.products--category .products__omaggio p {
  background: var(--color-omaggi);
  padding: 0.25rem 0.5rem;
  font-weight: 500;
  display: flex;
  gap: 0.5rem;
}
.products--category .products__omaggio svg {
  inline-size: 1.5rem;
  aspect-ratio: 1;
  fill: none;
  stroke: currentColor;
}
.products--category .products__iconlist {
  position: absolute;
  z-index: 2;
  top: 4rem;
  left: 1.5rem;
}
.products--category .products__iconlist ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  /* align-items: center; */
  flex-direction: column;
  gap: 1rem;
}
.products--category .products__iconlist li {
  display: flex;
  align-items: start;
}
.products--category .products__iconlist svg {
  inline-size: 2.75rem;
  aspect-ratio: 1;
  display: block;
  color: var(--color-lightblue);
  cursor: help;
  display: block;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linejoin: round;
  stroke-linecap: round;
  container-type: inline-size;
  /*
      &:has(use[href="#icon-paper"]) {
          transform: translateX(-5px);
      }*/
}
.products--category .products__iconlist svg text {
  font: 700 30cqi "Plus Jakarta Sans";
  stroke: inherit;
  stroke: none;
  stroke-width: 4px;
  fill: currentColor;
}
.products--category .products__iconlist svg:has([href$="ecofriendly"]),
.products--category .products__iconlist svg:has([href$="madeinitaly"]) {
  border-radius: 50%;
}
.products--category .products__iconlist svg:has([href$="madeinitaly"]) {
  stroke: rgba(27, 51, 95, 0.462745098);
}
.products--category .products__iconlist svg:has([href$="pallet"]) {
  inline-size: 2.1rem;
  margin-inline: auto;
}
.products--category .products__iconlist svg:has([href$="truck"]) {
  inline-size: 2.1rem;
  margin-inline: auto;
}
.products--category .products__iconlist svg:has([href$="forklift"]) {
  inline-size: 2.2rem;
  margin-inline: auto;
}
.products--category .products__iconlist svg:has([href$="new"]) {
  fill: currentColor;
  transform: rotateZ(-15deg);
}
.products--category .products__iconlist svg:has([href$="new"]) text {
  fill: #fff;
  font-size: 25cqi;
}
.products--category .products__iconlist svg:has([href$="ecofriendly"]) {
  color: #49a010;
}
.products--category .products__iconlist svg:has([href$="ecofriendly"]) path {
  fill: currentColor;
}
.products--category .products__iconlist svg:has([href$="ecofriendly"]) text {
  font-size: 25cqi;
}
.products--category .products__iconlist svg:has([href*="truck"]) text {
  font-size: 12cqi;
}
.products--category a:has([href$="customstamp"]) {
  inline-size: 3rem;
  padding: 0.25rem;
  position: absolute;
  top: 1rem;
  border-radius: 0.25rem;
  color: var(--color-lightblue);
  aspect-ratio: 1;
  transform: translateX(calc(-100% - 0rem));
  right: var(--padding);
}
.products--category a:has([href$="customstamp"]) svg {
  display: block;
  inline-size: 100%;
  aspect-ratio: 1;
  fill: none;
  color: var(--color-lightblue);
  stroke-linejoin: initial;
  stroke-linecap: initial;
  transform: rotateZ(0deg);
}

.category h1 br {
  display: none;
}
.category h1 small {
  display: block;
  font-weight: 300;
  margin-block-start: 0.5rem;
  font-size: 1.125rem;
}
.category h1 small b {
  font-weight: 500;
}
.category h1 small:nth-of-type(2) {
  display: none;
}
.category .brandimage {
  margin-block: 0;
  margin-inline: auto;
  inline-size: 10rem;
  display: grid;
  place-content: center;
  padding-inline: 1.5rem;
}
.category .brandimage img {
  inline-size: 100%;
  display: block;
}

#ricerca-risultati {
  display: none;
  position: absolute;
  top: 100%;
  background: #fff;
  border-radius: 0.5rem;
  inline-size: 100%;
  padding: 0.5rem;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border: 1px #ccc solid;
  max-block-size: 60dvb;
  overflow: auto;
  box-shadow: 0px 15px 15px 5px rgba(118, 121, 136, 0.6);
}
#ricerca-risultati div {
  color: var(--color-text);
  padding-block: 0.125rem;
}
#ricerca-risultati div:not(:only-child):has([data-type=""]) {
  border-bottom: 1px dotted var(--color-border);
  padding-bottom: 0.25rem;
  margin-bottom: 0.25rem;
}
#ricerca-risultati div:has([data-type="category"]) {
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-lightblue);
}
#ricerca-risultati div:has([data-type="subcategory"]) a {
  text-indent: 0.5rem;
  font-size: 92%;
}
#ricerca-risultati div:has([data-type="subcategory"]) a::before {
  content: ">"/"";
  margin-inline-end: 0.25rem;
}
#ricerca-risultati
  div:has([data-type="subcategory"])
  + div:has([data-type="category"]) {
  margin-top: 0.25rem;
  border-top: 1px dotted var(--color-border);
}
#ricerca-risultati :any-link {
  color: inherit;
  display: block;
}
#ricerca-risultati :any-link:is(:focus, :hover) {
  background-color: var(--color-lightblue);
  color: var(--color-white);
}
#ricerca-risultati {
  /* [data-type="subcategory"] {
        transition: transform .25s 0s;
        &:is(:focus, :hover) {
            transform: translateX(.125rem);
        }
    } */
}

.header__search:has(input[aria-expanded="true"]) input {
  border-bottom-left-radius: 0;
}
.header__search:has(input[aria-expanded="true"]) button {
  border-bottom-right-radius: 0;
}
.header__search:has(input[aria-expanded="true"]) #ricerca-risultati {
  display: block;
}

#dialog__warning,
#dialog__popup,
dialog.image-overlay {
  padding: 0;
  background: var(--color-paleblue);
  inline-size: min(96%, 40rem);
  border-radius: 0.5rem;
  overflow: hidden;
  border: 2px solid var(--color-lightblue);
  animation: fadeOut 0.5s forwards;
  transition:
    display 0.5s allow-discrete,
    overlay 0.5s allow-discrete;
}
#dialog__warning[open],
#dialog__popup[open],
dialog.image-overlay[open] {
  animation: fadeIn 0.5s forwards;
}
#dialog__warning[open]::backdrop,
#dialog__popup[open]::backdrop,
dialog.image-overlay[open]::backdrop {
  animation: backdropFadeIn 0.5s forwards;
}
#dialog__warning::backdrop,
#dialog__popup::backdrop,
dialog.image-overlay::backdrop {
  background: rgba(25, 25, 30, 0.75);
  animation: backdropFadeOut 0.5s forwards;
}
#dialog__warning h3,
#dialog__popup h3,
dialog.image-overlay h3 {
  margin-block-start: 0;
  display: block;
  padding: 1.5rem;
  inline-size: 100%;
  font-size: 1.25rem;
  border-bottom: 1px solid var(--color-border);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  word-spacing: 0.25rem;
  line-height: 1.33;
  color: var(--color-lightblue);
}
#dialog__warning p,
#dialog__popup p,
dialog.image-overlay p {
  color: var(--color-text);
  padding-block-end: 0 !important;
  align-self: center;
  font-weight: 300;
  margin-block: 0 3rem;
}
#dialog__warning .formgen,
#dialog__popup .formgen,
dialog.image-overlay .formgen {
  padding: 0.5rem 1.5rem 2rem;
}

#dialog__popup {
  position: fixed;
  z-index: 8478;
  left: 0;
  top: 0;
  border: 0.25rem solid var(--color-lightblue);
  padding: 0;
  inline-size: min(92%, 62rem);
  overflow: visible;
}
#dialog__popup section {
  position: relative;
  display: grid;
  grid-template: 1fr/1fr 1fr;
  gap: 1.5rem;
}
@media (width < 48rem) {
  #dialog__popup section {
    grid-template: 1fr 20rem/1fr;
  }
  #dialog__popup section div:has(p) {
    padding-block-end: 0;
  }
}
#dialog__popup div:has(#dialog__popup__message) {
  padding: 1.5rem;
}
#dialog__popup div:has(#dialog__popup__message) p {
  letter-spacing: 0.015rem;
  word-spacing: 0.1rem;
  margin-block-end: 0;
}
#dialog__popup div:has(> div.visually-hidden) {
  padding: 0 !important;
}
#dialog__popup:has(div.visually-hidden) {
  inline-size: min(75%, 40rem);
}
#dialog__popup:has(div.visually-hidden) section {
  grid-gap: 0;
  grid-template: 1fr/1fr;
}
#dialog__popup:has(div.visually-hidden) div:has(p) {
  padding: 0;
  inline-size: 0;
}
#dialog__popup:has(div.visually-hidden) div:has(img) {
  grid-area: 1/1/2/2;
}
@media (width < 80rem), (height < 54rem) {
  #dialog__popup:has(:not(div.visually-hidden)) section {
    grid-template: auto/auto;
  }
  #dialog__popup:has(:not(div.visually-hidden)) div:has(img),
  #dialog__popup:has(:not(div.visually-hidden)) div:has(.login__logo) {
    display: none;
  }
  #dialog__popup:has(:not(div.visually-hidden))
    div:has(#dialog__popup__message) {
    padding-block-end: 1.5rem;
  }
}
#dialog__popup div:has(.login__logo) {
  background: linear-gradient(
    135deg,
    var(--color-darkblue),
    var(--color-lightblue)
  );
  block-size: 100%;
  display: flex;
  align-items: center;
}
#dialog__popup h3 {
  padding: 0 0 1.5rem 0;
  margin-block-start: 0;
  font-size: 1.5rem;
  border-bottom: 0;
  letter-spacing: 0.05rem;
}
@media (width < 48rem) {
  #dialog__popup h3 {
    padding-inline-end: 5rem;
  }
}
#dialog__popup img {
  inline-size: calc(100% - 0.5rem);
  display: block;
  object-fit: cover;
  block-size: calc(100% - 0.5rem);
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  transform: translate(0.25rem, 0.25rem);
}
@media (width < 48rem) {
  #dialog__popup img {
    border-top-right-radius: 0;
    border-bottom-left-radius: 0.25rem;
  }
}
#dialog__popup .login__logo {
  transform: 0;
}
#dialog__popup button {
  position: absolute;
  right: 0rem;
  top: 0;
  transform: translateY(-100%);
  inline-size: 3rem;
  aspect-ratio: 1;
  border-radius: 0.5rem;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  color: var(--color-white);
  background-color: var(--color-lightblue);
  padding: 0.75rem;
  border: 0;
  cursor: pointer;
}
#dialog__popup button:focus {
  outline-offset: -0.75rem;
}
#dialog__popup svg {
  stroke: #fff;
  stroke-width: 2;
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    translate: 0 -2rem;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
    translate: 0 0;
  }
  to {
    opacity: 0;
    translate: 0 3rem;
  }
}
@keyframes backdropFadeIn {
  from {
    background: rgba(25, 25, 30, 0);
  }
  to {
    background: rgba(25, 25, 30, 0.75);
  }
}
@keyframes backdropFadeOut {
  from {
    background: rgba(25, 25, 30, 0.75);
  }
  to {
    background: rgba(25, 25, 30, 0);
  }
}
.removefavorite {
  animation: 10s removefav 0s linear forwards;
}

@keyframes removefav {
  to {
    opacity: 0;
    inline-size: 0;
  }
}
.liveregion.functioncart {
  position: fixed;
  z-index: 106;
  top: 1rem;
  right: 1rem;
  box-shadow: var(--shadow-tooltip);
  inline-size: min(100% - 2rem, var(--toastsize, 40rem));
  background-color: var(--color-white);
  font-size: 1rem;
  margin: 0 auto 1rem;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  overflow: hidden;
  opacity: 1;
  transition:
    opacity 0.5s,
    block-size 1s;
  block-size: auto;
  block-size: calc-size(auto, size);
}
.liveregion.functioncart::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 0.25rem;
  background: var(--color-pass);
  animation: progress 2.5s linear 0s forwards;
}
.liveregion.functioncart:hover::after {
  animation-play-state: paused;
}
.liveregion.functioncart.err {
  background-color: var(--color-paleorange);
}
.liveregion.functioncart.err::after {
  background: var(--color-error);
}
.liveregion.functioncart p {
  margin: 0;
  padding: 1rem 1.5rem;
  color: var(--color-darkblue) !important;
}
.liveregion.functioncart.hidden {
  opacity: 0;
  block-size: 0;
}
.liveregion.functioncart.hidden::after {
  animation: none;
}

@keyframes progress {
  from {
    inline-size: 0;
  }
  to {
    inline-size: 100%;
  }
}
#toast-cart {
  --toastsize: 36rem;
}
#toast-cart button {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
  inline-size: 3rem;
  border-radius: 50%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition:
    color,
    background-color var(--time-s);
  color: var(--color-white);
  background-color: var(--color-darkblue);
  padding: 0;
  margin-inline-start: 0;
  border: 0.25rem solid transparent;
  background-clip: padding-box;
  cursor: pointer;
}
#toast-cart button svg {
  inline-size: 1.5rem;
  aspect-ratio: 1;
}
#toast-cart > div {
  display: flex;
  flex-wrap: nowrap;
  margin: 0.5rem;
  gap: 1rem;
  align-items: start;
}
#toast-cart > div p {
  color: var(--color-border-dark) !important;
  font-size: 0.88rem;
  cursor: pointer;
  padding-inline-end: 4rem;
}
#toast-cart > div p::after {
  content: "Vai al carrello"/"";
  text-decoration: underline;
  display: block;
  margin-block-start: 0.75rem;
  color: var(--color-text) !important;
}
#toast-cart > div b {
  text-transform: uppercase;
  color: var(--color-lightblue);
  font-size: 0.92rem;
}
#toast-cart > div img {
  inline-size: 8rem;
}
@media (width < 36rem) {
  #toast-cart > div img {
    display: none;
  }
}

table.list-items-data {
  table-layout: fixed;
  inline-size: 100%;
  border-collapse: collapse;
  line-height: inherit;
}
table.list-items-data th,
table.list-items-data td {
  padding: 0.25rem 0.5rem;
}
table.list-items-data th:first-child,
table.list-items-data td:first-child {
  padding-inline-start: 0;
}
table.list-items-data th:not(:first-child),
table.list-items-data td:not(:first-child) {
  text-align: right;
}
table.list-items-data th:last-child,
table.list-items-data td:last-child {
  font-weight: 500;
  color: var(--color-lightblue);
}
table.list-items-data td {
  border-top: 1px solid var(--color-border);
  background: var(--color-paleblue);
}
table.list-items-data td:first-child {
  color: var(--color-lightblue);
}
table.list-items-data td small {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--color-border-dark);
}
table.list-items-data td:not(:first-child) {
  font-size: 92%;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
table.list-items-data th:first-child {
  text-align: left;
}
table.list-items-data th {
  padding-block: 1rem;
  font-weight: 500;
  color: var(--color-text);
}
table.list-items-data tbody tr:nth-child(2n) td {
  background: var(--color-white);
}
@media only screen and (width < 48rem) {
  table.list-items-data thead {
    position: absolute;
    clip-path: inset(50%);
    inline-size: 1px;
    block-size: 1px;
  }
  table.list-items-data col {
    display: none;
  }
  table.list-items-data tr {
    display: block;
    border-bottom: 1px solid var(--color-border);
  }
  table.list-items-data tr:not(:last-child) {
    margin-block-end: 2rem;
  }
  table.list-items-data td {
    padding: 0.25rem 0.5rem 0.25rem 0;
    text-align: right;
  }
  table.list-items-data td small,
  table.list-items-data td br {
    display: none;
  }
  table.list-items-data td {
    display: grid;
    gap: 1.5rem;
    border-top: 1px dotted var(--color-border);
    grid-template-columns: 8rem 1fr;
  }
  table.list-items-data td::before {
    flex: 1;
    color: var(--color-text);
    content: attr(data-label);
    text-align: left;
    padding-inline-start: 0.5rem;
    border-right: 1px dotted var(--color-border);
  }
}

.cnt:has(#main-title):has(~ .search_suggest) {
  margin-block-end: 0;
}
.cnt:has(#main-title):has(~ .search_suggest) h1 {
  margin-block-end: 0;
}

.search_suggest {
  color: var(--color-lightblue);
  font-size: 1.125rem;
}
.search_suggest :any-link {
  color: inherit;
  font-weight: 500;
}

#activeFilters {
  -border: 1px solid var(--color-border);
  border-radius: 1rem;
  padding: 1.5rem;
  background: var(--color-white);
  margin-block: 1.5rem 3rem;
  box-shadow: var(--shadow);
}
@media (width < 36rem) {
  #activeFilters li b {
    display: none;
  }
}
#activeFilters:has(ul:empty) {
  display: none;
}
#activeFilters h2 {
  padding: 0;
  margin: 0;
  background: none;
  font-weight: 400;
}
#activeFilters ul {
  list-style-type: "";
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 1.5rem 0 0 0;
  padding: 0;
}
#activeFilters button {
  white-space: nowrap;
  border-radius: 0.25rem;
  background: var(--color-palegreen);
  padding: 0.25rem 0.5rem;
  display: flex;
  align-items: center;
  border: 1px solid var(--color-border);
  cursor: pointer;
  overflow: hidden;
  text-transform: capitalize;
}
#activeFilters button svg {
  inline-size: 1.5rem;
  line-height: 1.5rem;
  block-size: 1.5rem;
  color: var(--color-white);
  border-radius: 50%;
  padding: 0.25rem;
  background-color: var(--color-darkblue);
  margin-inline-start: 0.75rem;
}
#activeFilters button:focus {
  outline-color: var(--color-lightblue);
}
#activeFilters button b {
  position: relative;
  color: var(--color-lightblue);
  padding-inline-end: 2rem;
}
#activeFilters button b::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 50% 0 0 auto;
  overflow: hidden;
  block-size: 200%;
  aspect-ratio: 1;
  border-radius: 5px;
  transform: translate(-0.5rem, -50%) rotate(45deg) scale(0.8);
  clip-path: polygon(6% 0, 100% 94%, 100% 0);
  background: url(/images/bg/square.svg);
}

/* launch */
.launch {
  display: flex;
  flex-direction: column-reverse;
  border-radius: 10px;
  overflow: hidden;
  --padding: var(--cntpadding);
}
@media (width >= 48rem) {
  .launch {
    max-block-size: 26rem;
    flex-direction: row-reverse;
  }
}
.launch:is(.launch--inverted) {
  flex-direction: column;
}
@media (min-width: 48rem) {
  .launch:is(.launch--inverted) {
    flex-direction: row;
  }
}
.launch.launch--registrazione {
  background: var(--color-paleorange);
  color: var(--color-brown);
  position: relative;
  z-index: 2;
}
@media (width >= 80rem) {
  .launch.launch--registrazione {
    max-block-size: 23rem;
  }
}
.launch.launch--registrazione::after {
  content: "";
  z-index: 1;
  inset: 0;
  position: absolute;
  border-radius: inherit;
  outline: 1px var(--color-darkblue) solid;
  outline-offset: -0.5rem;
  pointer-events: none;
}
@media (width > 140rem) {
  .launch.launch--registrazione figure {
    -background: #d6b59c;
  }
}
.launch.launch--registrazione .under {
  max-inline-size: 100%;
  object-position: 50% 50%;
}
@media (width > 140rem) {
  .launch.launch--registrazione .under {
    -object-position: 0% 50%;
    -object-fit: contain;
  }
}
.launch.launch--registrazione .over {
  position: absolute;
  top: 0;
  left: 0;
  inline-size: clamp(6rem, 15cqi, 12rem);
  block-size: clamp(6rem, 15cqi, 12rem);
}
.launch.launch--registrazione figure {
  margin: 0;
  position: relative;
  z-index: 1;
}
.launch.launch--registrazione figcaption {
  position: absolute;
  text-align: right;
  inset: 1rem 1rem auto 25%;
  font-size: 76%;
  color: var(--color-white);
}
.launch :is(.launch__content, .launch__image) {
  flex: 1 1 50%;
}
.launch {
  /* a.visually-hidden {
        top: -3.5rem;
    } */
}
.launch .launch__content {
  padding: var(--padding);
  display: flex;
  flex-direction: column;
}
.launch h2 {
  background: none;
  color: inherit;
  padding: 0;
  font-size: 2rem;
}
.launch p {
  font-size: 1.25rem;
  padding: 0;
  margin-block: 0.5rem 3rem;
}
.launch .cta {
  align-self: flex-end;
  margin-block: auto 0;
}
.launch img {
  inline-size: 100%;
  block-size: 100%;
  display: block;
  object-fit: cover;
}
.launch:is(.launch--green) {
  /* background: var(--color-pass);
      color: var(--color-white); */
  background: var(--color-green-orig);
  color: var(--color-darkblue);
  outline: 1px var(--color-darkblue) solid;
  outline-offset: -0.5rem;
}
@media (width >= 80rem) {
  .launch:is(.launch--green) {
    max-block-size: 25rem;
  }
}

.dialog-back {
  display: none;
}

.contenitore-omaggi {
  all: initial !important;
  line-height: 1.65 !important;
  background: var(--color-white) !important;
  display: block !important;
  padding: 1.5rem !important;
  margin-block-start: -0.5rem !important;
  border-radius: 1rem !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border: 2px dotted var(--color-border) !important;
  border-top: 0 !important;
}
.contenitore-omaggi * {
  text-align: left !important;
  box-sizing: border-box;
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  background: inherit !important;
  font-weight: 300 !important;
}
.contenitore-omaggi b,
.contenitore-omaggi strong {
  font-weight: 400 !important;
  color: var(--color-lightblue);
}

#omaggi-e-promozioni {
  box-shadow: var(--shadow);
}

.header__profile a svg,
#nav .nav__user a svg {
  inline-size: 1.6rem !important;
}

.productpage #mnglink {
  inline-size: 4rem;
  aspect-ratio: 1;
  margin-block: 0;
  padding: 0.5rem;
  border: 1px dotted var(--color-border);
  border-bottom: 1px #fcfcfe solid;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  background: #fcfcfe;
  position: relative;
  z-index: 3;
  transform: translateY(1px);
}
.productpage #mnglink a {
  color: var(--color-lightblue);
  display: block;
}
.productpage #mnglink svg {
  display: block;
}

body:has(#omaggio) #mnglink {
  border: 1px solid var(--color-omaggi);
  border-bottom: 1px #fcfcfe solid;
}

.productpage:has(#mnglink) .detailprod {
  border-top-left-radius: 0;
}

[data-old-browser] #content-area {
  display: grid;
  gap: var(--layoutgap);
  grid-template-columns: var(--menu-inline-size) 1fr;
}
