@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: hsla(195.00000000000043, 27%, 85%, 1);
}
@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: hsla(40, 53%, 92%, 1);
}
@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: hsla(100.00000000000013, 27%, 77%, 1);
}
@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.00000000000013, 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: hsla(195.00000000000043, 27%, 85%, 1);
}
@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: hsla(40, 53%, 92%, 1);
}
@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) {
    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;

    .sitewrapper {
      --sitescale: 0.88;
      transform: scale(var(--sitescale));
      transform-origin: 50% 100vh;
      overflow: clip;
      border-radius: 10px;
      box-shadow: 0px -50px 75px 0 hsla(216, 5%, 64%, 1);
    }

    .pageloader {
      position: fixed;
      z-index: 1000;
      inset: 0;
      display: grid;
      place-content: center;
      background: hsl(217, 47%, 93%);

      svg {
        margin: auto;
        inline-size: max(80%, 500px);
      }
    }
  }
  /*
[data-loaded="1"] {
    body {
        --sitescale: 1;
    }
}*/
}

:root:has(.header__actions:empty) {
  --offsettopcontent: 18.1rem;
}

@font-face {
  font-family: "Fontello";
  src:
    url(/bootstrap/fonts/fontello.woff2) format("woff2"),
    url(/bootstrap/fonts/fontello.woff) format("woff");
}

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;
}

.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;

  &.trasp {
    @media (width >= 64rem) {
      background: transparent;
    }
  }

  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;
      &.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%;

  :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) {
    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;

  > * {
    position: absolute;
  }

  [role="status"] {
    top: -22%;
  }
}

.header__profile .header__userlogo {
  inline-size: 8rem;
  align-self: center;
  overflow: hidden;
  border-radius: 5px;
  img {
    margin-inline-start: auto;
    display: block;
    max-inline-size: 100%;
    max-block-size: 3rem;

    &[src$="_std.gif"] {
      visibility: hidden;
    }
  }

  @media (width < 640px) {
    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: #d12420dd;
  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);

  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) {
    padding: 1.5rem var(--space-l);
  }

  &:has(.nav__navlist) {
    padding: 1.5rem var(--space-l);

    @media (width >= 64rem) {
      .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) {
    background: var(--color-white);
  }
}

.nav li {
  /* padding-inline: var(--space-s); */
  /* padding-block: var(--space-xs); */
  color: var(--color-darkblue);

  @media (width >= 64rem) {
    [aria-expanded="true"] {
      position: relative;
    }

    [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%);
    }

    /* &: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 hsla(220, 15%, 40%, 1);
    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;

  ul {
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem;
    /* text-transform: uppercase; */
  }

  a:any-link {
    padding-block: 0;
    font-weight: 400;
    padding: var(--space-xs);
  }

  @media (width >= 64rem) {
    li.logout a {
      padding-inline-end: 0;
    }

    &:not(:empty) {
      display: flex;
    }

    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;

    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;
            } */
    }

    li {
      padding-block-end: 1.25rem;
      padding-inline: 0.5rem;

      &.logout {
        @media (width >= 64rem) {
          padding-inline-end: 0;
        }
      }
    }

    li:has([aria-current]) {
      background: var(--color-bg-menu);
      border-start-start-radius: 5px;
      border-start-end-radius: 5px;

      a:any-link {
        cursor: default;
        color: var(--color-lightblue);
        text-shadow: 0 0 1px currentColor;
      }

      a:hover {
        background: inherit;
      }
    }
  }

  @media (width < 64rem) {
    margin-block-start: var(--space-l);
    ul {
      display: block;
    }
    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) {
    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%;

    &:is(:focus) {
      outline: 2px solid var(--color-lightblue);
      outline-offset: -0.5rem;
    }

    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) {
    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, calc(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) {
    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) {
    padding: 2rem;
  }
  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) {
    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) {
    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;

  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));

  &:is(:last-of-type) {
    /* padding-block-end: calc(2.5 * var(--space-l)); */
    margin-block-end: 0;
  }
  --cntpadding: 1rem;

  a.visually-hidden {
    text-decoration: none;
    background: var(--color-white);
    padding: 0.5rem 1rem;
    color: var(--color-lightblue);
  }

  a.visually-hidden:focus {
    top: 0;
    right: 0;
    z-index: 100;
    clip: auto;
    clip-path: none;
    inline-size: auto;
    block-size: auto;
    --oo: -2px;
  }

  &[id="in-evidenza"] a.visually-hidden:focus {
    top: 1.5rem;
  }

  &:is(:target) {
    outline: none;
    scroll-margin-block-start: 5rem;
    @media (width >= 64rem) {
      scroll-margin-block-start: 2rem;
    }
  }

  &:has(.pro) {
    --padding: var(--cntpadding);
    padding: 3rem var(--padding) var(--padding);
    /* background: url(data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 130"><circle cx="50" cy="50" r="35" stroke="%23526790" stroke-width="30" fill="none" /><path d="M0 50 L30 50 L30 130 L0 130z" fill="%23404648" stroke="none" /></svg>)
            no-repeat bottom left var(--padding) / min(50%, 300px) auto; */
    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;
  }

  &:has(.sponsored) {
    --padding: var(--cntpadding);
    /* margin-block-start: 3.5rem; */
    border-radius: 10px;
    outline: 0px solid var(--color-border);
    outline-offset: 0rem;
  }

  &:has(:is(.products:not(.products--cart):not(.products--category))) {
    --padding: var(--cntpadding);
    padding: 3rem var(--padding) var(--padding);
    margin-block-start: 6.5rem;
  }

  &:has(:is(.products--category)) {
    --padding: var(--cntpadding);
    padding: 3rem 0 var(--padding);
    margin-block-start: 0;
  }

  &:has(.accordion) {
    a.visually-hidden {
      top: 2.5rem;
    }
  }

  &: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%);
    }
  }

  &:has(:is(.launch)) {
    box-shadow: var(--shadow);
  }

  &:has(:is(.launch, .products, .sponsored)) {
    border-radius: 10px;

    a.visually-hidden {
      top: -4rem;
    }

    &:is(:target) {
      scroll-margin-block-start: 10rem;
      @media (width >= 64rem) {
        scroll-margin-block-start: 3rem;
      }
    }
  }

  /* nascondo sezione se hubspot non caricato */
  &:has(.hubspot) {
    &:not(:has([data-hubspot-rendered])) {
      display: none;
    }
    &:has([data-hubspot-rendered]) {
      opacity: 0;
      animation: reveal var(--time-m) linear 0s forwards;
    }
  }

  @media (width >= 48rem) {
    &:has(.visually-hidden:focus) .offers__gift {
      opacity: 0;
    }
  }
}

.hp .cnt {
  --spacer: 5;
}

.cnt__actions {
  display: flex;
  gap: 1rem;

  &:is(.cnt__action--left) {
    justify-content: left;
  }
  &:is(.cnt__action--center) {
    justify-content: center;
  }
  &: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;

  &:is(.cta--white) {
    --background: var(--color-white);
    --foreground: var(--color-lightblue);
    --background-mix: var(--color-border-dark);
    --foreground-mix: var(--color-darkblue);
  }

  &:is(.cta--blue) {
    --foreground: var(--color-white);
    --background: var(--color-lightblue);
    --background-mix: var(--color-darkblue);
    --foreground-mix: var(--color-white);

    &:is([aria-current]) {
      --background: var(--color-white);
      --foreground: var(--color-lightblue);
      --foreground-mix: var(--color-darkblue);
      --background-mix: var(--color-white);
      border: 1px solid;
    }
  }

  &:is(.cta--darkblue) {
    --background: var(--color-darkblue);
    --foreground: var(--color-white);
    --background-mix: var(--color-lightblue);
    --foreground-mix: var(--color-white);
  }

  &:is(.cta--brown) {
    --background: var(--color-brown);
    --foreground: var(--color-white);
    --background-mix: var(--color-omaggi);
    --foreground-mix: var(--color-white);
  }

  &: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%);

    &:is(.cta--white) {
      background: color-mix(
        in hsl,
        var(--background),
        var(--background-mix) 15%
      );
    }
  }

  &:where(:focus) {
    outline: 2px solid var(--background);
    outline-offset: 2px;

    &:is(.cta--white) {
      outline-color: var(--foreground);
    }
  }

  &:is(.cta--warning) {
    color: var(--color-error);
    background: var(--color-paleorange);
    border: 1px solid;

    &:is(:hover, :focus) {
      color: var(--color-error);
      background: var(--color-white);
      outline-color: currentColor;
    }
  }

  &:is(.cta--confirm) {
    color: var(--color-palegreen);
    background: var(--color-pass);
    border: 1px solid;

    &: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) {
    padding: 1rem 1.5rem;
    padding-block-end: 3.5rem;
  }

  img {
    max-inline-size: 12rem;
    /* filter: drop-shadow(2px 2px 4px var(--color-darkblue)); */
  }

  .footer__info {
    display: flex;
    justify-content: space-between;
    margin-block-end: 0.5rem;
  }

  .footer__infocontacts svg {
    block-size: 3rem;
    aspect-ratio: 1;
    margin-block: 0.25rem;
    @media (width <= 36rem) {
      display: none;
    }
  }

  ul {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 2;
  }

  .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__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__nav div {
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
  }

  :any-link {
    color: var(--color-bg-menu);
  }

  a:hover {
    color: var(--color-white);
    text-decoration: none;
  }

  .companyinfo {
    @media (width >= 54rem) {
      display: flex;
      gap: 5rem;
      align-items: flex-end;
      justify-content: space-between;

      > div {
        flex: 1;
      }
    }

    .address {
      @media (width > 42rem) {
        br.mobile {
          display: none;
        }
      }
    }
  }

  #carbonfootprint {
    font-size: 1rem;
    line-height: 1.66;
    inline-size: fit-content;
    text-align: right;

    img {
      display: block;
      inline-size: 5rem;
      margin: 0 0 1.5rem auto;
    }
    b {
      font-weight: 600;
      color: var(--color-palegreen);
    }

    @media (width < 54rem) {
      text-align: center;
      inline-size: 100%;
      margin-block-end: 3rem;
      img {
        margin: 0 auto 1.5rem auto;
      }
    }

    @media (width >= 32rem) {
      br {
        display: none;
      }
    }

    &:empty {
      inline-size: auto;
      &::before {
        content: "Calcolo dell'impatto ambientale in corso";
      }
      &::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__info ul,
  .footer__info ~ ul {
    display: flex;
    gap: 0.75rem;
    inline-size: fit-content;
  }

  .footer__info ~ ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 1.5rem;
  }

  @media (width <= 36rem) {
    .footer__info {
      flex-direction: column;
      align-items: center;
    }

    .footer__info img,
    .footer__info ul,
    .footer__info ~ ul {
      margin-block-end: 0.5rem;
      margin-inline: auto;
    }
  }

  .footer__infocontacts ul {
    margin-block: 1rem 0;
    gap: 1.5rem;
  }

  .footer__infosocial svg {
    display: block;
    inline-size: 2rem;
    aspect-ratio: 1;
    fill: var(--color-bg-menu);
    transition: all var(--time-xs) 0s;
  }

  .footer__infosocial a:hover svg {
    transform: scale(1.2);
  }

  .footer__infosocial {
    transform: translateX(var(--space-s));
    --oo: 0;
  }

  .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 - calc(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;

    &:is(:first-child) .homeslider__content {
      border-start-start-radius: 10px 10px;
      border-end-start-radius: 10px 10px;
    }
    &: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, #0000, #0006, #0000);
  }

  /* .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, #000b, #000a, #0006, #0000);
    transition: opacity 0.66s var(--time-s);
    opacity: 1;
    inline-size: min(calc(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, #000c, #000a, #000a, #0008, #0000);
    transition: opacity var(--time-m) var(--time-s);
    opacity: 1;
  }
}

.sponsored {
  display: grid;
  gap: 2rem;

  grid-template-columns: 1fr;
  @media (width >= 24rem) {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  }

  /* &:has(.sponsored__item:is(:hover, :focus-within))
        .sponsored__item:not(:is(:hover, :focus-within)) {
        opacity: 0.7;
    } */

  .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) {
      &:is(:hover, :focus-within) {
        transform: scale(1.015);
      }
    }

    :any-link {
      color: var(--color-lightblue);
    }

    a {
      font-weight: bolder;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-size: 1rem;
      --oo: var(--space-xs);

      &::before {
        content: "";
        position: absolute;
        z-index: 1;
        inset: 0;
      }

      &:is(:hover, :focus) {
        text-decoration: none;
      }
    }

    p {
      padding: 0 1.5rem var(--space-m) 1.5rem;
      inline-size: 100%;
      text-align: center;

      &:last-child {
        margin-block-end: 1rem;
      }
    }
  }

  .sponsored__image {
    background: var(--color-white);
    inline-size: 100%;
    padding: 3.5rem 1.5rem 1.5rem 1.5rem;

    img {
      display: block;
      inline-size: min(75%, 10rem);
      margin: 0 auto;
    }
  }

  .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);

    img {
      inline-size: 100%;
    }
  }
}

.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\0A\0A Codice Proced: [" attr(data-id)
    "]\0APosizione listino [" attr(data-posizione) "]";
}

.tooltip {
  position: relative;
  z-index: 1;
  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;

    b {
      font-weight: 600;
      display: block;
      margin-block-end: 0.5rem;
    }
  }

  em {
    font-style: normal;
  }

  span svg {
    display: block;
    inline-size: 2.25rem !important;
    aspect-ratio: 1;
    margin-block-end: 0.5rem;
  }

  &.tooltip--left {
    span {
      right: calc(100% + 0.75rem);
      top: 0.25rem;
      bottom: auto;
      left: auto;
    }
  }

  &.tooltip--topleft {
    span {
      right: calc(100% - 3rem);
      top: auto;
      bottom: 100%;
      left: auto;
    }
  }

  &.tooltip--right {
    span {
      top: 0.25rem;
      bottom: auto;
      left: calc(100% + 0.75rem);
    }
  }

  &.products__package {
    position: static;
  }
  &.products__package span {
    color: var(--color-darkblue);
    background-color: var(--color-palegreen);
    white-space: normal;
    right: 0;

    text-align: left;
  }

  &: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) {
    grid-template-columns: repeat(auto-fit, minmax(21rem, 1fr));
  }

  &.products--category {
    @media (min-width: 76rem) {
      grid-template-columns: repeat(2, 1fr);
    }
    @media (min-width: 90rem) {
      grid-template-columns: repeat(3, 1fr);
    }
    @media (min-width: 120rem) {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .cnt:has(&: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: hsla(358.0000000000001, 0%, 100%, 1);
    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__body__art {
    font-weight: 400;
    font-size: 0.92rem;
    color: var(--color-lightblue);
  }

  .products__body__desc {
    margin-block: 1rem;
    font-size: 0.92rem;
  }

  [itemprop="name"] {
    font-size: 1rem;
    letter-spacing: 1px;
    padding: 0;
    margin-block-start: 0;
  }

  .products__item--category {
    [itemprop="name"] {
      margin-block-end: 0;
    }
  }

  img {
    max-inline-size: 75%;
    aspect-ratio: 1;
    margin: 0 auto;
    display: block;
  }

  [itemprop="name"] a {
    display: block;
    color: var(--color-lightblue);
    --oo: var(--space-xs);
    font-weight: 600;
    text-decoration: none;

    &::before {
      content: "";
      position: absolute;
      z-index: 1;
      block-size: 17rem;
      inset: 4.5rem var(--padding) auto var(--padding);
    }

    &:is(:focus, :hover) {
      text-decoration: underline;
    }
  }

  p {
    padding: 0;

    &:is(.products__pricenotenable) {
      font-size: 0.92rem;
      color: var(--color-gray);
      span {
        display: none;
      }
    }
  }

  b {
    font-weight: bolder;
  }

  .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);

    &[data-hasomaggi="true"] {
      outline: 2px solid var(--color-omaggi);
    }

    --scale: 1;
    --rotate: 0deg;

    &.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;
      }

      img {
        display: none;
      }
    }

    &:has(a:hover) .products__suggested {
      animation: rotate var(--time-s) linear 0s;
    }
  }

  @media (min-width: 64rem) {
    .products__item:hover,
    .products__item:focus-within {
      --scale: 1.015;
      --rotate: 0deg;
    }
  }

  .products__topicon {
    position: absolute;
    z-index: 5;
    top: 1rem;
    right: var(--padding);
    inline-size: 2.75rem;
    display: block;
    /*  display: none; */
    svg {
      pointer-events: none;
      fill: var(--color-lightblue);
      display: block;
      inline-size: 100%;
      aspect-ratio: 669/773;
      block-size: auto;
    }

    @media (min-width: 30rem) {
      transform: rotateZ(0deg);
      display: block;
    }
  }

  .products__body {
    padding: var(--padding);
    display: grid;
    gap: 0;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }

  .products__photo {
    position: relative;
    padding: 4rem 0 1rem 0;
    inline-size: 100%;
    background: var(--color-white);
  }

  .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;
  }

  fieldset {
    border: 0;
    padding: 0;
    margin: 0;
  }

  .products__price {
    line-height: 1.5;
    font-size: 1.4rem;

    .info__riacquisto {
      font-size: 0.86rem;
      font-weight: 300;
    }

    small {
      font-size: 62%;
    }
  }

  .products__actions {
    margin-block-start: 0.75rem;

    form {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    .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;

      &.addtocart {
        color: var(--color-white);
      }

      &.askinfo {
        border: 1px solid var(--color-lightblue);
        padding-block: 0;
        stroke: var(--color-lightblue);
        stroke-width: 3px;
        svg {
          inline-size: 2.125rem;
          fill: none;
        }
      }

      svg {
        inline-size: 1.5rem;
        aspect-ratio: 1;
        pointer-events: none;
      }

      &:is(:focus, :hover) {
        background: var(--color-white);
        color: var(--color-lightblue);
        outline: 2px solid currentColor;
        --oo: 2px;
      }
    }
  }

  svg {
    fill: currentColor;
  }

  :is(.products__price, .products__actions) {
    position: relative;
    z-index: 2;
  }

  /* variante omaggi */
  &:is(.products--offers) {
    .products__avl,
    .products__topicon {
      display: none;
    }

    .products__photo {
      padding: 1rem 0;
    }

    .products__item {
      @media (min-width: 36rem) {
        grid-template-columns: 1fr 3fr;
        grid-row: span 3;

        .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;

  label {
    position: absolute !important;
    bottom: 100%;
    left: 0;
    inline-size: 100%;
    transform: translateY(-0.25rem);
  }

  > 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;

    svg {
      inline-size: 1.25rem;
      pointer-events: none;
    }

    &.products__package {
      position: static !important;

      > 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;
      }
      &[aria-pressed="true"] {
        background: var(--color-palegreen);
        > svg {
          --close: block;
          --open: none;
        }
      }
    }
  }

  .products__quantity {
    block-size: calc(3rem - 3px);
    overflow: hidden;
  }

  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;
  }

  :is(input, button) {
    block-size: calc(3rem - 3px);
    --oo: -3px;
    &:focus {
      position: relative;
    }

    &[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%;

  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;
  }

  :any-link {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    padding: 0.5rem 1rem;
    line-height: 2;
    display: inline-block;

    &:focus {
      outline-color: var(--color-lightblue);
      outline-offset: -0.5rem;
    }
  }

  .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;

    &:not([aria-current]) {
      background: var(--color-palegreen);

      &::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.79);

        clip-path: polygon(6% 0, 100% 94%, 100% 0);
        background: url(data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x="2" width="46" height="46" rx="5" fill="none" stroke="%236b6886aa" stroke-width="3"/></svg>);
        background-color: var(--color-palegreen);
      }
    }

    &:not(:first-child) {
      padding-inline-start: 1rem;
    }

    &[aria-current] {
      font-weight: bolder;
      text-align: center;
      background-color: var(--color-white);
      :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) {
      grid-template-columns: 3fr 2fr;
    }

    > :not(.brand__cnt) {
      grid-column: 1;
    }
  }

  .brand__cnt {
    grid-column: 2;
    position: sticky;
    top: 0;
    align-self: start;
    padding-block: 1.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 3rem;

    svg {
      inline-size: min(95%, 16rem);
      display: block;
      margin: 0 auto;
    }

    @media (width < 96rem) {
      display: none;
    }
  }
  #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) {
      animation-range: exit-crossing 35% exit-crossing 60%;
    }
  }
  #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) {
      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;

  label[for] {
    cursor: pointer;
    padding-inline-end: 1.5rem;
    position: relative;
    line-height: 1.4;

    &:has(+ textarea) {
      align-self: start;
    }

    small {
      position: absolute;
      font-size: 0.75em;
    }
  }

  textarea {
    resize: vertical;
    min-block-size: 8rem;
  }

  select,
  input,
  textarea {
    border: 1px solid var(--color-border-dark);
    font-weight: 400;
  }

  [readonly] {
    opacity: 0.75;
    box-shadow: inset 0 0 0 100vw #f6f6f6 !important;
  }

  textarea,
  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);
  }

  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;
  }

  textarea,
  input,
  select,
  .btn-select-a11y {
    box-shadow: inset 0 0 0 100vw #fff;
  }

  .selectwrapper {
    position: relative;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid var(--color-border-dark);

    &:focus-within {
      outline: 2px solid var(--color-lightblue);
      outline-offset: var(--oo, 2px);
    }

    &::after {
      content: "";
      display: block;
      position: absolute;
      z-index: 1;
      inset: 0;
      pointer-events: none;
      background-image:
            
                /* linear-gradient(45deg, transparent 50%, var(--color-border-dark) 50%),
                linear-gradient(135deg, var(--color-border-dark) 50%, transparent 50%), */
        url(data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 12" aria-hidden="true" focusable="false" class="svg__downarrow"><path d="M2 2L 10 10L18 2" stroke="%23353641" stroke-width="1" fill="none" /></svg>),
        linear-gradient(to left, var(--bgcolor-button), var(--bgcolor-button)),
        linear-gradient(to left, #fff 0, #fff 3.5em, #fff0 5em, #fff0 100%);
      background-position:
                /* calc(100% - 20px) calc(1em + 2px),
                calc(100% - 15px) calc(1em + 2px), */
        calc(100% - 0.875rem) 50%,
        100% 0,
        100% 0;
      background-size:
                
                /* 5px 5px,
                5px 5px, */
        1.25rem auto,
        3em 100%,
        100% 100%;
      background-repeat: no-repeat;
    }
  }

  [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;

    &:has(.ok) {
      background: var(--color-palegreen);
      color: var(--color-pass);
      margin-block-end: 0;
    }
  }

  [role="status"]:has(.ok) ~ .fld {
    display: none;
  }

  .fld {
    position: relative;
    &:not(:last-child) {
      margin: 0 0 4rem 0;
    }

    :any-link:not(.cta) {
      color: var(--color-text);
    }

    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);

      em {
        font-weight: lighter;
        padding-inline-start: 0.5rem;
      }
    }

    ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      gap: 2.5rem 5rem;
      align-items: start;

      ul:not(.combina11y__listbox) {
        padding-block: 1.5rem !important;
        grid-column: 1/-1;
      }
    }

    ul + ul {
      margin-block-start: 2.5rem;
      padding-block-start: 2.5rem;
      border-top: 1px dotted var(--color-border);
    }

    li {
      display: grid;
      align-items: center;

      /* &:is(.formgen__half) { */
      grid-template: repeat(2, auto) / 120px minmax(0, 1fr);

      @media (width >= 48rem) {
        grid-template: repeat(2, auto) / 150px minmax(0, 1fr);
      }
      p {
        grid-area: 2 / 1 / 2 / 3;
        text-align: end;
      }

      /* } */

      &:is(.formgen__choice) {
        --row: 2;
        grid-template: repeat(var(--row), auto) / auto 4rem 4rem;
        gap: 0.5rem 2rem;

        p[id^="desc"] {
          grid-area: 1 / 1 / 2 / 4;
        }

        p[id^="info"] {
          color: var(--color-gray);
          font-size: 92%;
          grid-area: 3 / 1 / 4 / 4;
        }

        label:first-of-type {
          grid-area: var(--row) / 2;
        }
        label:last-of-type {
          grid-area: var(--row) / 3;
        }

        @media (width >= 40rem) {
          --row: 1;
          gap: 0.5rem 2.5rem;
          align-items: end;

          p[id^="desc"] {
            grid-area: 1 / 1 / 1 / 2;
            padding-inline-end: 2rem;
          }

          p[id^="info"] {
            grid-area: 2 / 1 / 3 / 4;
          }
        }
      }

      &:has([id^="fld-emailauth"]) {
        grid-template: repeat(3, auto) / 1fr;
        @media (width >= 48rem) {
          grid-template: repeat(2, auto) / 1fr 1fr;
        }
      }
    }
  }

  .fld:has(> a.cta),
  .fld:has(> button) {
    display: flex;
    justify-content: center;
    gap: 1rem;

    button {
      min-inline-size: min(12rem, 100%);
    }

    @media (width > 48rem) {
      justify-content: flex-end;
    }
  }

  &:not(.sending) li:has([role]:not(:empty):not(.quantitygroup)) input {
    border-color: var(--color-error);
    outline-color: var(--color-error);
  }

  &.sending {
    li {
      input {
        border-color: var(--color-border-dark);
        outline-color: currentColor;
      }
    }
  }

  [type="submit"] {
    display: grid;
    place-content: center;
    grid-template-columns: 1fr;

    span,
    svg {
      grid-row-start: 1;
      grid-column-start: 1;
    }
    svg {
      display: none;
      inline-size: 3rem;
      aspect-ratio: 52 / 12;
      margin: auto;
    }
  }

  [id^="desc"] {
    flex: 1 0 100%;
  }

  &.sending:not(.sent) {
    [type="submit"] {
      span {
        visibility: hidden;
      }
      svg {
        display: block;
      }
    }
  }

  .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;
    }

    label:focus-within::before,
    &:is(:focus) + label::before {
      border-color: var(--color-border-dark);
      outline: 2px solid var(--color-lightblue);
      outline-offset: 2px;
    }

    label {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      justify-content: start;
      padding-inline-end: 0;
      padding-block: 0.75rem;
      position: relative;
      cursor: pointer;
    }

    label::before {
      content: "";
      flex: 0 0 1rem;
      padding: 3px;
      inline-size: 1rem;
      block-size: 1rem;
      border: 1px solid var(--color-lightblue);
    }

    label:has([type="radio"])::before,
    [type="radio"] + label::before {
      border-radius: 50%;
    }

    label:has(:checked)::before,
    [type="radio"]:checked + label::before {
      background: var(--color-lightblue);
      background-clip: content-box;
    }

    p {
      padding: 0 0 0.5rem 0 !important;
      margin-block: 0 !important;
    }
  }

  .formgen__choice p:is([id^="desc"], [id^="info"]) {
    text-align: start !important;
  }

  p.visually-hidden {
    grid-area: 2 / 2 / 3 / 3 !important;
    text-align: start !important;
  }

  .formgen__choice p.visually-hidden {
    grid-area: 3 / 1 / 4 / 3 !important;
    @media (width >= 40rem) {
      grid-area: 2 / 1 / 3 / 3 !important;
    }
  }

  .formgen--invalid p.visually-hidden,
  [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--invalid p.visually-hidden {
    font-weight: bolder;
    color: var(--color-error);
  }

  .formgen--invalid :focus {
    outline-color: var(--color-error) !important;
  }

  .formgen__centerbtt {
    justify-content: center;
  }

  li:has(#fld-tutti_prodotti-1:checked) + li,
  li:has(#fld-invio_ordini-1:checked) + li,
  li:has(#fld-destinazione > option:not([value=""]):not(:checked)) + li {
    display: none;
  }

  li:has(#desc-ascensore),
  .fld ul ul {
    background: var(--color-white);
    padding: 1rem 1.5rem;
    border: 1px var(--color-border) solid;
    border-radius: 10px;
    display: none;
  }

  li:has(#fld-tutti_prodotti-2:checked) + li ul,
  li:has(#fld-invio_ordini-2:checked) + li ul,
  li:has(#fld-destinazione > option:not([value=""]):checked) + li ul,
  li:has(#fld-piano optgroup option:checked) + li {
    display: grid;
  }

  #nuovo-utente-group li {
    grid-template-columns: auto 3rem;
    input {
      text-align: center;
    }
  }

  #fld-authgroup {
    inline-size: 3rem;
  }

  .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);

    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));
      }
      li:not(.formgen__half):not(.combina11y) {
        grid-column: 1 / 3;
      }
    }

    p.visually-hidden {
      grid-area: 2 / 1 / 3 / 3 !important;
    }
  }
}

body[class^="e4"],
body[class^="e5"] {
  #carbonfootprint {
    display: none;
  }

  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) {
    --gappag: 1rem;
    --gapjump: 1.5rem;
  }

  &:not(:last-of-type) {
    padding-block-end: 0;
    margin-block-end: 0;
  }

  /*
    @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%;
    }
*/
  &.stuck {
    @media (width > 64rem) {
      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);
    }
  }

  ol,
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
    inline-size: fit-content;
    display: inherit;
    gap: inherit;
    justify-content: inherit;
    flex-wrap: inherit;

    li {
      block-size: 3rem;
    }

    a {
      display: block;
      padding-inline: 0;
      inline-size: 3rem;
      text-align: center;
    }
  }

  .cta[aria-current]:focus {
    outline-color: var(--color-lightblue);
  }

  :any-link:has(svg) {
    border-radius: 5px;
    color: var(--color-lightblue);
    display: none;

    @media (width > 40rem) {
      display: block;
    }
  }

  svg {
    inline-size: 1.5rem;
    aspect-ratio: 1;
    margin: 0.75rem;
    display: block;
  }

  .paginazione__collapsed {
    li:first-child:has(+ :not([data-second])) {
      display: flex;
      flex-wrap: nowrap;
      &::after {
        margin-inline: var(--gapjump) calc(var(--gapjump) - var(--gappag));
        align-self: center;
        font-family: "Courier new";
        content: "..." / "";
        font-size: 1.25rem;
      }
    }
    li:not([data-secondlast]) + li:last-child {
      display: flex;
      flex-wrap: nowrap;
      &::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;

    &:has([aria-expanded]:hover:not(:focus)) {
      border-color: var(--color-lightblue);
    }
  }

  .accordioncnt__title {
    inline-size: 100%;
  }

  .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);

    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;
    }

    svg {
      inline-size: 3rem;
      border: 0.875rem solid transparent;
      aspect-ratio: 1;
      fill: none;
      stroke: currentColor;
      pointer-events: none;
      transition: transform 0.5s 0s;
    }

    &:is([aria-expanded="true"]) {
      svg {
        transform: rotateZ(180deg);
      }
    }

    &:focus {
      outline: 2px var(--color-lightblue) solid;
      --oo: -3px;
      span {
        font-weight: 400;
        color: var(--color-lightblue);
      }
    }
  }

  .accordioncnt__panel {
    overflow: hidden;
    display: grid;
    transition: grid-template-rows 0.5s 0s;
    grid-template-rows: 1fr;
    box-sizing: content-box;

    > * {
      min-height: 0;
      opacity: 1;
      transition: opacity 0.5s 0.25s;
    }

    &:is([aria-hidden="true"]) {
      grid-template-rows: 0fr;

      > * {
        opacity: 0;
      }
    }
  }

  .accordioncnt__content {
    padding-inline: 0.75rem;
    padding-block: 1.5rem;
    /* background: var(--color-white); */

    p {
      margin: 0 0 2rem 0 !important;
    }
  }

  .accordioncnt__title {
    padding: 0;
    margin: 0;
  }
}

.loginpage {
  #content-area {
    position: relative;

    &::before {
      content: "";
      position: absolute;
      inset: 0;
      background: url(/images/login/proced.jpg);
      background-size: cover;
      opacity: 0.15;
    }
  }

  #main-title {
    margin: 0 auto;
  }
}

.tagsfilter {
  &.tagsfilter--category {
    li {
      margin-block: 0;
      padding-block: 0.5rem;
    }
  }

  > p {
    margin: 1.5rem 0;
    font-size: 0.83rem;
    font-style: italic;
    color: #707070;
  }

  &#tagsfilter {
    label {
      text-transform: capitalize;
      font-size: 92%;
    }
  }

  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;

    &:focus {
      outline-offset: -2px;
    }

    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;
    }

    svg {
      inline-size: 2rem;

      aspect-ratio: 1;
      fill: none;
      stroke: currentColor;
      pointer-events: none;
      transform: rotateZ(-90deg);
      transition: all 0.33s 0s;
    }
  }

  summary::-webkit-details-marker {
    display: none;
  }

  fieldset {
    padding-block: 0;
    -padding-inline-start: 1rem;
    background: var(--color-white);
  }

  .cta {
    inline-size: 100%;
    margin-block: 1.5rem;
  }

  details {
    &:not([open]) {
      border-bottom: 1px var(--color-border) solid;
    }
  }

  details[open] {
    margin-block-end: 3rem;
    summary {
      color: var(--color-pass);
      background: var(--color-palegreen);
      svg {
        transform: rotateZ(0deg);
      }
    }
  }

  details:has(li:only-child) {
    &:has(input[aria-disabled="true"]) {
      display: none;
    }
  }

  li {
    display: flex;
    position: relative;
    line-height: 2;
    margin-block: 0.5rem;
    text-indent: 1rem;

    &:focus-within {
      label {
        outline: 2px solid var(--color-lightblue);
        outline-offset: 0;
        * {
          outline: none;
        }
      }
    }

    border-bottom: 1px dotted var(--color-border);
    &:last-child {
      padding-block-end: 0.5rem;
      margin-block-end: 0;
      border-bottom: 3px solid var(--color-border);
    }

    &:not(:last-child) {
      label[for^="inp"] {
        margin-block-end: 0.5rem;
      }
    }

    label {
      padding: 0.25rem 0.5rem 0.25rem 0.25rem;
      flex: 1;
      align-items: center;
      display: flex;
      cursor: pointer;

      span {
        flex: 1;
        line-height: 1.33;
        white-space: normal;
        display: inline-block;
        vertical-align: middle;
        padding-inline-end: 1rem;
      }

      &::after {
        content: "";
        border: 1px solid var(--color-border-dark);
        inline-size: 2rem;
        block-size: 2rem;
        padding: 3px;
        border-radius: 3px;
        box-sizing: border-box;
      }
    }

    &:has(:checked) {
      label::after {
        /* background: var(--color-lightblue);
                background-clip: content-box; */
        background-image: url(data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 45.701 45.7"><path d="M20.687 38.332a5.308 5.308 0 0 1-7.505 0L1.554 26.704A5.306 5.306 0 1 1 9.059 19.2l6.928 6.927a1.344 1.344 0 0 0 1.896 0L36.642 7.368a5.308 5.308 0 0 1 7.505 7.504l-23.46 23.46z" fill="%231b335f"/></svg>);
        background-repeat: no-repeat;
        background-size: 80% auto;
        background-position: center;
      }
    }

    &:has(input[disabled]) {
      pointer-events: none;
      opacity: 0.5;
    }

    input {
      right: 0;

      position: absolute;
      inline-size: 2rem;
      block-size: 2rem;
      inset: 0.25rem 0.25rem auto auto;
      opacity: 0;
      cursor: pointer;
    }
  }

  &.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);

    p {
      max-inline-size: 100%;
      display: block;
      padding: 0;
      margin: 0;
      overflow: hidden;
      border-radius: 0.5rem;
    }

    img {
      display: block;
      max-inline-size: inherit;
      inline-size: 100%;
      border-radius: 0.5rem;
    }

    + #activeFilters[data-show="1"] {
      border-top-left-radius: 0;
      border-top-right-radius: 0;
      margin-block-start: -5px;
    }
  }

  .cnt:has(> .launch--registrazione) {
    position: relative;
    margin-block-start: 5rem;

    &::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);

    &:focus {
      outline: 2px solid var(--color-lightblue);
      outline-offset: 4px;
    }

    svg {
      transition: all 0.25s;
      fill: var(--fill);
      stroke: var(--stroke);
      stroke-linecap: square;
      stroke-width: 1.2rem;
      aspect-ratio: 1;
    }

    &[data-favourite="true"] {
      --fill: var(--color-lightblue);
      --stroke: color-mix(in srgb, var(--color-lightblue) 0%, transparent 100%);
    }
  }

  .products__omaggio {
    position: absolute;
    bottom: 0.25rem;
    right: 0.25rem;
    color: var(--color-white);

    p {
      background: var(--color-omaggi);
      padding: 0.25rem 0.5rem;
      font-weight: 500;
      display: flex;
      gap: 0.5rem;
    }

    svg {
      inline-size: 1.5rem;
      aspect-ratio: 1;
      fill: none;
      stroke: currentColor;
    }
  }

  .products__iconlist {
    position: absolute;
    z-index: 2;
    top: 4rem;
    left: 1.5rem;

    ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      /* align-items: center; */
      flex-direction: column;
      gap: 1rem;
    }

    li {
      display: flex;
      align-items: start;
    }
  }

  .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);
        }*/

    text {
      font: 700 30cqi "Plus Jakarta Sans";
      stroke: inherit;
      stroke: none;
      stroke-width: 4px;
      fill: currentColor;
    }
    &:has([href$="ecofriendly"]),
    &:has([href$="madeinitaly"]) {
      border-radius: 50%;
    }

    &:has([href$="madeinitaly"]) {
      stroke: #1b335f76;
    }

    &:has([href$="pallet"]) {
      inline-size: 2.1rem;
      margin-inline: auto;
    }
    &:has([href$="truck"]) {
      inline-size: 2.1rem;
      margin-inline: auto;
    }
    &:has([href$="forklift"]) {
      inline-size: 2.2rem;
      margin-inline: auto;
    }

    &:has([href$="new"]) {
      fill: currentColor;
      transform: rotateZ(-15deg);

      text {
        fill: #fff;
        font-size: 25cqi;
      }
    }

    &:has([href$="ecofriendly"]) {
      color: #49a010;

      path {
        fill: currentColor;
      }
      text {
        font-size: 25cqi;
      }
    }

    &:has([href*="truck"]) {
      text {
        font-size: 12cqi;
      }
    }
  }

  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);
    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;
    }
    small {
      display: block;
      font-weight: 300;
      margin-block-start: 0.5rem;
      font-size: 1.125rem;

      b {
        font-weight: 500;
      }

      &:nth-of-type(2) {
        display: none;
      }
    }
  }

  .brandimage {
    margin-block: 0;
    margin-inline: auto;
    inline-size: 10rem;
    display: grid;
    place-content: center;
    padding-inline: 1.5rem;

    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 #76798899;

  div {
    color: var(--color-text);
    padding-block: 0.125rem;
    &:not(:only-child):has([data-type=""]) {
      border-bottom: 1px dotted var(--color-border);
      padding-bottom: 0.25rem;
      margin-bottom: 0.25rem;
    }
    &:has([data-type="category"]) {
      font-weight: 500;
      text-transform: uppercase;
      color: var(--color-lightblue);
    }
    &:has([data-type="subcategory"]) a {
      text-indent: 0.5rem;
      font-size: 92%;
      &::before {
        content: ">" / "";
        margin-inline-end: 0.25rem;
      }
    }

    &:has([data-type="subcategory"]) + div:has([data-type="category"]) {
      margin-top: 0.25rem;
      border-top: 1px dotted var(--color-border);
    }
  }

  :any-link {
    color: inherit;
    display: block;
    &:is(:focus, :hover) {
      background-color: var(--color-lightblue);
      color: var(--color-white);
    }
  }

  /* [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;
  }
  button {
    border-bottom-right-radius: 0;
  }

  #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;

  &[open] {
    animation: fadeIn 0.5s forwards;

    &::backdrop {
      animation: backdropFadeIn 0.5s forwards;
    }
  }

  &::backdrop {
    background: rgba(25, 25, 30, 0.75);
    animation: backdropFadeOut 0.5s forwards;
  }

  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);
  }

  p {
    color: var(--color-text);
    padding-block-end: 0 !important;
    align-self: center;
    font-weight: 300;
    margin-block: 0 3rem;
  }

  .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(75%, 62rem);
  overflow: visible;

  section {
    position: relative;
    display: grid;
    grid-template: 1fr / 1fr 1fr;
    gap: 1.5rem;

    @media (width < 48rem) {
      grid-template: 1fr 20rem / 1fr;

      div:has(p) {
        padding-block-end: 0;
      }
    }
  }

  div:has(#dialog__popup__message) {
    padding: 1.5rem;
    p {
      letter-spacing: 0.015rem;
      word-spacing: 0.1rem;
      margin-block-end: 0;
    }
  }

  &:has(div.visually-hidden) {
    inline-size: min(75%, 40rem);

    section {
      grid-gap: 0;
      grid-template: 1fr / 1fr;
    }

    div:has(p) {
      padding: 0;
      inline-size: 0;
    }

    div:has(img) {
      grid-area: 1 / 1 / 2 / 2;
    }
  }

  &:has(:not(div.visually-hidden)) {
    @media (width < 60rem), (height < 54rem) {
      section {
        grid-template: auto / auto;
      }

      div:has(img),
      div:has(.login__logo) {
        display: none;
      }

      div:has(#dialog__popup__message) {
        padding-block-end: 1.5rem;
      }
    }
  }

  div:has(.login__logo) {
    background: linear-gradient(
      135deg,
      var(--color-darkblue),
      var(--color-lightblue)
    );
    block-size: 100%;
    display: flex;
    align-items: center;
  }

  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) {
      padding-inline-end: 5rem;
    }
  }

  img {
    inline-size: 100%;
    display: block;
    object-fit: cover;
    block-size: 100%;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;

    @media (width < 48rem) {
      border-top-right-radius: 0;
      border-bottom-left-radius: 0.25rem;
    }
  }

  .login__logo {
    transform: 0;
  }

  button {
    position: absolute;
    right: 0rem;
    top: 0;
    transform: translateY(calc(-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;

    &:focus {
      outline-offset: -0.75rem;
    }
  }

  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(calc(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);

  &::after {
    content: "";
    display: block;
    inline-size: 0;
    block-size: 0.25rem;
    background: var(--color-pass);
    animation: progress 2.5s linear 0s forwards;
  }

  &:hover::after {
    animation-play-state: paused;
  }

  &.err {
    background-color: var(--color-paleorange);
    &::after {
      background: var(--color-error);
    }
  }

  p {
    margin: 0;
    padding: 1rem 1.5rem;
    color: var(--color-darkblue) !important;
  }

  &.hidden {
    opacity: 0;
    block-size: 0;

    &::after {
      animation: none;
    }
  }
}

@keyframes progress {
  from {
    inline-size: 0;
  }
  to {
    inline-size: 100%;
  }
}

#toast-cart {
  --toastsize: 36rem;

  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;

    svg {
      inline-size: 1.5rem;
      aspect-ratio: 1;
    }
  }

  > div {
    display: flex;
    flex-wrap: nowrap;
    margin: 0.5rem;
    gap: 1rem;
    align-items: start;

    p {
      color: var(--color-border-dark) !important;
      font-size: 0.88rem;
      cursor: pointer;
      padding-inline-end: 4rem;

      &::after {
        content: "Vai al carrello" / "";
        text-decoration: underline;
        display: block;
        margin-block-start: 0.75rem;
        color: var(--color-text) !important;
      }
    }

    b {
      text-transform: uppercase;
      color: var(--color-lightblue);
      font-size: 0.92rem;
    }
    img {
      inline-size: 8rem;

      @media (width < 36rem) {
        display: none;
      }
    }
  }
}

table.list-items-data {
  table-layout: fixed;
  inline-size: 100%;
  border-collapse: collapse;
  line-height: inherit;

  th,
  td {
    padding: 0.25rem 0.5rem;

    &:first-child {
      padding-inline-start: 0;
    }

    &:not(:first-child) {
      text-align: right;
    }

    &:last-child {
      font-weight: 500;
      color: var(--color-lightblue);
    }
  }

  td {
    border-top: 1px solid var(--color-border);
    background: var(--color-paleblue);
    &:first-child {
      color: var(--color-lightblue);
    }

    small {
      font-variant-numeric: tabular-nums;
      font-weight: 600;
      color: var(--color-border-dark);
    }
  }

  td:not(:first-child) {
    font-size: 92%;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  th {
    &:first-child {
      text-align: left;
    }
    padding-block: 1rem;
    font-weight: 500;
    color: var(--color-text);
  }

  tbody tr:nth-child(2n) {
    td {
      background: var(--color-white);
    }
  }

  @media only screen and (width < 48rem) {
    thead {
      position: absolute;
      clip-path: inset(50%);
      inline-size: 1px;
      block-size: 1px;
    }

    col {
      display: none;
    }

    tr {
      display: block;
      border-bottom: 1px solid var(--color-border);
      &:not(:last-child) {
        margin-block-end: 2rem;
      }
    }

    td {
      padding: 0.25rem 0.5rem 0.25rem 0;
      text-align: right;
      small,
      br {
        display: none;
      }
      display: grid;
      gap: 1.5rem;
      border-top: 1px dotted var(--color-border);
      grid-template-columns: 8rem 1fr;

      &::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;
  h1 {
    margin-block-end: 0;
  }
}
.search_suggest {
  color: var(--color-lightblue);
  font-size: 1.125rem;

  :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) {
    li b {
      display: none;
    }
  }

  &:has(ul:empty) {
    display: none;
  }

  h2 {
    padding: 0;
    margin: 0;
    background: none;
    font-weight: 400;
  }

  ul {
    list-style-type: "";
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 1.5rem 0 0 0;
    padding: 0;
  }

  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;

    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;
    }

    &:focus {
      outline-color: var(--color-lightblue);
    }

    b {
      position: relative;
      color: var(--color-lightblue);
      padding-inline-end: 2rem;
    }

    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(data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"><rect x="2" y="2" width="44" height="44" rx="3" fill="none" stroke="%236b6886aa" stroke-width="1"/></svg>);
    }
  }
}

/* launch */

.launch {
  display: flex;
  flex-direction: column-reverse;
  border-radius: 10px;
  overflow: hidden;
  --padding: var(--cntpadding);
  @media (width >= 48rem) {
    max-block-size: 26rem;
    flex-direction: row-reverse;
  }

  &:is(.launch--inverted) {
    flex-direction: column;

    @media (min-width: 48rem) {
      flex-direction: row;
    }
  }

  &.launch--registrazione {
    background: var(--color-paleorange);
    color: var(--color-brown);
    position: relative;
    z-index: 2;

    @media (width >= 80rem) {
      max-block-size: 20rem;
    }

    &::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;
    }

    figure {
      @media (width > 140rem) {
        -background: #d6b59c;
      }
    }

    .under {
      max-inline-size: 100%;
      object-position: 50% 50%;

      @media (width > 140rem) {
        -object-position: 0% 50%;
        -object-fit: contain;
      }
    }

    .over {
      position: absolute;
      top: 0;
      left: 0;
      inline-size: clamp(6rem, 15cqi, 12rem);
      block-size: clamp(6rem, 15cqi, 12rem);
    }

    figure {
      margin: 0;
      position: relative;
      z-index: 1;
    }

    figcaption {
      position: absolute;
      text-align: right;
      inset: 1rem 1rem auto 25%;
      font-size: 76%;
      color: var(--color-white);
    }
  }

  :is(.launch__content, .launch__image) {
    flex: 1 1 50%;
  }

  /* a.visually-hidden {
        top: -3.5rem;
    } */

  .launch__content {
    padding: var(--padding);
    display: flex;
    flex-direction: column;
  }

  h2 {
    background: none;
    color: inherit;
    padding: 0;
    font-size: 2rem;
  }

  p {
    font-size: 1.25rem;
    padding: 0;
    margin-block: 0.5rem 3rem;
  }

  .cta {
    align-self: flex-end;
    margin-block: auto 0;
  }

  img {
    inline-size: 100%;
    block-size: 100%;
    display: block;
    object-fit: cover;
  }

  &: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) {
      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;

  * {
    text-align: left !important;
    box-sizing: border-box;
    font-family: "Plus Jakarta Sans", system-ui, sans-serif;
    background: inherit !important;
    font-weight: 300 !important;
  }

  b,
  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);

  a {
    color: var(--color-lightblue);
    display: block;
  }

  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;
}
